/* ── Mudhal.ai — styles ─────────────────────────────────────────────────── */
:root {
  --bg: #0a1124; --bg2: #0f1830; --panel: #141f3d; --panel2: #1a2747;
  --line: #28365f; --text: #eef2ff; --muted: #93a3cc; --muted2: #6b7aa3;
  --accent: #6ea8fe; --accent2: #4d82e6; --good: #4ade80; --bad: #f87171;
  --ai: #b07cff; --on-accent: #fff;
  --bg-grad: radial-gradient(circle at 25% 0%, #16223f, var(--bg));
  --chart-tick:#93a3cc; --chart-label:#cdd7f5; --chart-title:#eef2ff; --chart-grid:rgba(255,255,255,.05);
  color-scheme: dark;
}
[data-theme="light"] {
  --bg:#f1ead9; --bg2:#faf6ec; --panel:#fffdf7; --panel2:#f3ecdb;
  --line:#e3dac4; --text:#241d0e; --muted:#7a7056; --muted2:#a89c80;
  --accent:#c8a230; --accent2:#c8a230; --good:#3f9b54; --bad:#c0492f;
  --ai:#b8901f; --on-accent:#241500;
  --bg-grad: radial-gradient(circle at 50% 0%, #fbf7ec, #f1ead9);
  --chart-tick:#6b6450; --chart-label:#3a3220; --chart-title:#241d0e; --chart-grid:rgba(0,0,0,.07);
  color-scheme: light;
}
[data-theme="gold"] {
  --bg:#0a0a0b; --bg2:#141312; --panel:#161412; --panel2:#1f1b15;
  --line:#3a3324; --text:#f6efdf; --muted:#bcab83; --muted2:#8a7c5a;
  --accent:#d4af37; --accent2:#c8a230; --good:#86c06c; --bad:#e57373;
  --ai:#d4af37; --on-accent:#1a1500;
  --bg-grad: radial-gradient(circle at 25% 0%, #1c1810, #0a0a0b);
}
[data-theme="royal"] {
  --bg:#0b0a1a; --bg2:#120f24; --panel:#171232; --panel2:#1f1942;
  --line:#352c5e; --text:#efeaff; --muted:#a99fd0; --muted2:#7a6fa8;
  --accent:#a78bfa; --accent2:#7c5cff; --good:#4ade80; --bad:#f87171;
  --ai:#c4b5fd; --on-accent:#fff;
  --bg-grad: radial-gradient(circle at 25% 0%, #221a44, #0b0a1a);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: var(--bg-grad);
  color: var(--text); min-height: 100vh; -webkit-font-smoothing: antialiased;
}
.hidden { display: none !important; }
.muted { color: var(--muted); }
.small { font-size: .85rem; }
.mt { margin-top: 14px; display:block; }

/* Buttons */
.btn {
  font: inherit; font-weight: 600; border: 1px solid var(--line);
  background: var(--panel2); color: var(--text); padding: 10px 16px;
  border-radius: 10px; cursor: pointer; transition: .15s; min-height: 40px;
}
.btn:hover { border-color: var(--accent2); }
.btn.primary { background: var(--accent2); border-color: var(--accent2); color: var(--on-accent); }
.btn.primary:hover { background: var(--accent); }
.btn.ghost { background: transparent; }
.btn.small { padding: 7px 12px; min-height: 34px; font-size: .9rem; }
.btn.tiny { padding: 6px 11px; min-height: 30px; font-size: .82rem; }
.btn.ai { background: linear-gradient(90deg, #7c4dff, #b07cff); border-color: transparent; }
.btn.ai:hover { filter: brightness(1.1); }
.btn.google { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:#fff; color:#1a1a1a; border-color:#fff; }
.btn.google:hover { filter: brightness(.95); }
.btn:disabled { opacity:.5; cursor: default; }

/* Screen layout */
.screen { min-height: 100vh; }

/* Login */
#screen-login { display: grid; place-items: center; padding: 24px; }
.auth-card {
  width: 100%; max-width: 380px; background: var(--panel);
  border: 1px solid var(--line); border-radius: 18px; padding: 32px 28px;
}
.logo { font-size: 2rem; letter-spacing: -.02em; text-align:center; }
.logo span, .brand span { color: var(--accent); }
.tagline { color: var(--muted); text-align: center; margin: 10px 0 22px; line-height: 1.5; font-size:.95rem; }
.auth-card input { width: 100%; margin-bottom: 10px; }
.auth-actions { display: flex; gap: 10px; margin-top: 4px; }
.auth-actions .btn { flex: 1; }
.divider { display:flex; align-items:center; gap:12px; color: var(--muted2); margin: 18px 0; font-size:.8rem; }
.divider::before, .divider::after { content:""; flex:1; height:1px; background: var(--line); }
.login-foot { text-align:center; color: var(--muted2); font-size:.8rem; margin-top:18px; }
.demo-btn { width:100%; margin-top:12px; }
.demo-banner { position:fixed; bottom:0; left:0; right:0; z-index:50; display:flex; gap:14px;
  align-items:center; justify-content:center; flex-wrap:wrap; padding:10px 16px;
  background:var(--panel2); border-top:1px solid var(--line); font-size:.9rem; color:var(--text); }
.demo-banner b { color: var(--accent); }
.error { background: #3a1620; border:1px solid #6b2433; color:#ffb4b4; padding:10px 12px; border-radius:10px; margin-bottom:14px; font-size:.88rem; }
.login-foot a, .modal-body a { color: var(--accent); }

/* Modal */
.modal { position:fixed; inset:0; background:rgba(0,0,0,.6); display:grid; place-items:center; z-index:100; padding:20px; }
.modal-card { background:var(--panel); border:1px solid var(--line); border-radius:16px; max-width:560px; max-height:85vh; overflow:auto; padding:26px; }
.modal-card h3 { color:var(--accent); margin-bottom:12px; }
.modal-body { font-size:.9rem; line-height:1.6; color:var(--muted); }
.modal-body h4 { color:var(--text); margin:14px 0 4px; font-size:.95rem; }
.modal-card .btn { margin-top:18px; width:100%; }
.modal-card label { display:block; margin-bottom:10px; }
.modal-foot { margin-top:14px; font-size:.85rem; color:var(--muted2); text-align:center; }
.modal-foot a { color:var(--accent); }

.btn.ms { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; background:#fff; color:#1a1a1a; border-color:#fff; margin-top:10px; }
.btn.ms:hover { filter:brightness(.95); }
.signup-extra { margin:4px 0; border:1px solid var(--line); border-radius:9px; padding:8px 12px; background:var(--bg2); }
.signup-extra summary { cursor:pointer; font-size:.85rem; color:var(--muted); font-weight:600; }
.signup-extra label { margin-top:8px; }
.forgot-row { text-align:right; margin:-2px 0 10px; font-size:.82rem; }
.forgot-row a { color:var(--accent); }

/* Inputs */
input, textarea, select {
  font: inherit; background: var(--bg2); color: var(--text);
  border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; width: 100%;
}
input:focus, textarea:focus { outline: none; border-color: var(--accent); }
label { display:block; font-size:.82rem; color: var(--muted); font-weight:600; }
label input, label textarea, label select { margin-top: 5px; color: var(--text); }
textarea { resize: vertical; }

/* Topbar */
.topbar {
  display:flex; align-items:center; gap:10px; padding: 12px 104px 12px 20px;
  background: var(--bg2); backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line); position: sticky; top:0; z-index: 10;
}
.brand { font-weight: 800; font-size:1.05rem; }
.spacer { flex: 1; }
.user-label { color: var(--muted); font-size:.85rem; }
.model-name-input { max-width: 280px; font-weight:600; }

/* Page */
.page { max-width: 1480px; margin: 0 auto; padding: 24px 24px 80px; }
/* keep the form + document narrower than the wide dashboard for readability */
.page.editor { max-width: 1100px; }
.page.onepager { max-width: 1000px; }
.page-head { display:flex; align-items:center; justify-content:space-between; margin-bottom: 18px; }
.page-head h2 { font-size: 1.4rem; }

/* Model list */
.model-list { display:grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 14px; }
.model-card {
  background: var(--panel); border:1px solid var(--line); border-radius: 14px;
  padding: 16px; cursor: pointer; transition:.15s;
}
.model-card:hover { border-color: var(--accent2); transform: translateY(-2px); }
.model-card h4 { font-size:1.05rem; margin-bottom:6px; }
.model-card .meta { color: var(--muted2); font-size:.78rem; }
.model-card .row-actions { display:flex; gap:8px; margin-top:14px; }
.empty { text-align:center; padding: 60px 20px; color: var(--muted); }

/* Cards / editor */
.card { background: var(--panel); border:1px solid var(--line); border-radius:14px; padding: 20px; margin-bottom: 18px; }
.card h3 { font-size: 1.05rem; margin-bottom: 6px; color: var(--accent); }
.editor .grid2 { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 12px; }
.editor .grid3 { display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.editor label { margin-bottom: 4px; }

/* dynamic rows */
.rows { display:flex; flex-direction: column; gap: 10px; margin: 10px 0; }
.line-row { display:grid; gap:8px; align-items:end; }
.rev-row { grid-template-columns: 1.3fr .9fr 2.4fr .8fr .85fr 36px; }
.rev-valcell { position: relative; }
.rev-valcell .ufields { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
@media (max-width:720px) { .rev-valcell .ufields { grid-template-columns:1fr; } }
.rev-annual { position:absolute; top:100%; left:0; margin-top:3px; white-space:nowrap; color: var(--accent); font-size:.72rem; }
.rev-row:has(.rev-units:not([hidden])) { margin-bottom:16px; }
.gs-result { margin-top:12px; line-height:1.5; }
.gs-result:empty { display:none; }
.help-note { margin:8px 0 4px; }
.help-note summary { cursor:pointer; }
.help-note p { line-height:1.55; }
.opex-row { grid-template-columns: 1.7fr 1fr 1fr .9fr .9fr 34px; }
.hire-row { grid-template-columns: 1.7fr .8fr 1.2fr .9fr .9fr 34px; }
.line-row .x { background:transparent; border:1px solid var(--line); color:var(--bad); border-radius:8px; height:40px; cursor:pointer; }
.line-row .x:hover { border-color: var(--bad); }
.col-label { font-size:.72rem; color: var(--muted2); margin-bottom:3px; }

.ai-row { display:flex; align-items:center; gap:14px; margin-top:14px; }
.ai-status { font-size:.85rem; color: var(--muted); }
.ai-insights { margin-top:14px; padding:14px; background: var(--bg2); border:1px solid var(--line); border-left:3px solid var(--ai); border-radius:10px; font-size:.88rem; line-height:1.55; }
.ai-insights h5 { color: var(--ai); margin-bottom:6px; }
.ai-insights ul { margin:6px 0 0 18px; color: var(--muted); }

/* Results */
.charts { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.chart-card { height: 280px; }
.badge { font-size:.8rem; padding:5px 11px; border-radius:999px; font-weight:600; }
.badge.ok { background: rgba(74,222,128,.12); color: var(--good); border:1px solid rgba(74,222,128,.3); }
.badge.off { background: rgba(248,113,113,.12); color: var(--bad); border:1px solid rgba(248,113,113,.3); }
.tabs { display:flex; gap:8px; margin-bottom: 14px; flex-wrap: wrap; }
.tab { background: var(--panel); border:1px solid var(--line); color: var(--muted); padding:8px 14px; border-radius:9px; cursor:pointer; font:inherit; font-weight:600; font-size:.9rem; }
.tab.active { background: var(--accent2); color: var(--on-accent); border-color: var(--accent2); }
.table-card { padding: 8px; overflow-x:auto; }

/* Metrics bar */
.metrics-bar { display:grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 12px; margin-bottom: 18px; }
.metric { background: var(--panel); border:1px solid var(--line); border-radius:12px; padding: 12px 14px; }
.metric .m-label { font-size:.7rem; color: var(--muted2); text-transform:uppercase; letter-spacing:.04em; }
.metric .m-value { font-size:1.15rem; font-weight:700; margin-top:4px; }
.metric.good { border-color: rgba(74,222,128,.4); }
.metric.good .m-value { color: var(--good); }
.metric.bad { border-color: rgba(248,113,113,.4); }
.metric.bad .m-value { color: var(--bad); }
.scenario-table td:first-child { color: var(--muted); }
#scenarios-card h3 { color: var(--accent); }
.runway-banner { padding: 12px 14px; border-radius: 10px; font-size: .92rem; }
.runway-banner.good { background: rgba(74,222,128,.1); border: 1px solid rgba(74,222,128,.3); color: var(--good); }
.runway-banner.bad { background: rgba(248,113,113,.1); border: 1px solid rgba(248,113,113,.3); color: #ffc1c1; }
.runway-banner.warn { background: rgba(251,191,36,.1); border: 1px solid rgba(251,191,36,.35); color: #fcd9a0; }

/* Investor one-pager */
.onepager .op-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:18px; }
.onepager .op-head h1 { font-size:1.8rem; letter-spacing:-.02em; }
.op-brand { font-weight:800; font-size:1.1rem; opacity:.85; white-space:nowrap; }
.op-brand span { color: var(--accent); }
.op-cols { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:18px; }
@media (max-width:720px) { .op-cols { grid-template-columns:1fr; } }

/* Statement tables */
table.stmt-table { width:100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
table.stmt-table th, table.stmt-table td { padding: 9px 12px; text-align: right; font-size:.88rem; white-space:nowrap; }
table.stmt-table th:first-child, table.stmt-table td:first-child { text-align: left; }
table.stmt-table thead th { color: var(--accent); border-bottom: 2px solid var(--line); font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; }
table.stmt-table tbody tr:nth-child(even) { background: rgba(255,255,255,.015); }
table.stmt-table tr.total td { border-top: 1px solid var(--line); font-weight: 700; }
table.stmt-table tr.major td:first-child { color: var(--text); font-weight:600; }
table.stmt-table tr.sub td:first-child { color: var(--muted); padding-left: 24px; }
table.stmt-table td.neg { color: var(--bad); }
table.stmt-table tr.spacer td { padding: 4px; }

@media (max-width: 720px) {
  .editor .grid2, .editor .grid3, .charts { grid-template-columns: 1fr; }
  .rev-row, .opex-row, .hire-row { grid-template-columns: 1fr 1fr; }
}

/* Print / PDF — light, clean, statements only */
@media print {
  body { background: #fff; color: #111; }
  .topbar, .tabs, .charts, .no-print, .ai-insights { display: none !important; }
  .page { padding: 0; max-width: none; }
  .card { background: #fff; border: 1px solid #ccc; break-inside: avoid; }
  .metrics-bar { display: grid; }
  .metric { background: #fff; border: 1px solid #ccc; }
  .metric .m-label { color: #555; }
  .metric .m-value, #scenarios-card h3, .card h3 { color: #111 !important; }
  .stmt.hidden { display: block !important; }
  .stmt { break-inside: avoid; margin-bottom: 10px; }
  table.stmt-table th { color: #111; border-bottom-color: #999; }
  table.stmt-table td, table.stmt-table tr.sub td:first-child { color: #222; }
  table.stmt-table td.neg { color: #b00020; }
}

/* Theme switcher */
.theme-switch { position:fixed; top:11px; right:14px; z-index:60; display:flex; gap:7px;
  background:rgba(0,0,0,.45); padding:6px 8px; border-radius:999px; border:1px solid var(--line); }
.theme-switch .sw { width:18px; height:18px; border-radius:50%; border:2px solid rgba(255,255,255,.3);
  cursor:pointer; padding:0; }
.theme-switch .sw:hover, .theme-switch .sw.active { border-color:#fff; }
.sw-light { background:linear-gradient(135deg,#c8a230,#fbf7ec); border-color:rgba(0,0,0,.25); }
.sw-gold { background:linear-gradient(135deg,#d4af37,#0a0a0b); }
.sw-royal { background:linear-gradient(135deg,#a78bfa,#0b0a1a); }

/* Live what-if controls */
.whatif-head { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.whatif-head b { color:var(--accent); }
.scn-btns { display:flex; gap:6px; margin-left:auto; flex-wrap:wrap; }
.scn-btns button { font:inherit; font-weight:600; font-size:.82rem; padding:6px 12px; border-radius:8px;
  border:1px solid var(--line); background:var(--panel2); color:var(--muted); cursor:pointer; }
.scn-btns button.active { background:var(--accent2); color:var(--on-accent); border-color:var(--accent2); }
.scn-btns button.ghost { background:transparent; color:var(--muted2); }
.sliders { display:grid; grid-template-columns:repeat(4,1fr); gap:16px 20px; }
.sliders label { display:block; font-size:.8rem; color:var(--muted); font-weight:600; }
.sliders label span { color:var(--text); float:right; }
.sliders input[type=range] { width:100%; margin-top:10px; accent-color:var(--accent); cursor:pointer; }
.sliders label span.small { float:none; color:var(--muted); font-weight:500; }
.whatif-streams { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.whatif-streams[hidden] { display:none; }
.whatif-streams-head { margin-bottom:12px; }
.whatif-streams-head b { color:var(--accent); }
@media (max-width:720px) { .sliders { grid-template-columns:1fr 1fr; } }

/* ── Pitch deck — 16:9 presentation slides ─────────────────────────────── */
.deck { max-width:1000px; margin:0 auto; }
.deck .slide {
  position:relative; background:var(--panel); border:1px solid var(--line);
  border-radius:18px; padding:54px 60px 60px; margin:0 auto 26px;
  aspect-ratio:16/9; width:100%; display:flex; flex-direction:column;
  overflow:hidden; box-shadow:0 10px 34px rgba(0,0,0,.28);
}
/* thin gold spine down the left edge of every content slide */
.deck .slide::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:6px;
  background:linear-gradient(180deg,var(--accent),var(--accent2));
}
.deck .slide-title::before { display:none; }
.slide-kicker { font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent2); margin-bottom:10px; }
.deck .slide h2 { color:var(--text); font-size:2rem; line-height:1.15; margin:0 0 6px; letter-spacing:-.01em; }
.deck .slide h2 + .rule { width:54px; height:4px; border-radius:3px;
  background:linear-gradient(90deg,var(--accent),var(--accent2)); margin:0 0 22px; }
.deck .slide .body { flex:1; min-height:0; display:flex; flex-direction:column; justify-content:center; }
.deck .slide .big { font-size:1.5rem; line-height:1.4; margin-bottom:14px; color:var(--text); }
.deck .slide .lead { font-size:1.05rem; color:var(--muted); }
.slide-foot { position:absolute; left:60px; right:60px; bottom:22px; display:flex;
  justify-content:space-between; align-items:center; font-size:.74rem; color:var(--muted2);
  border-top:1px solid var(--line); padding-top:10px; }
.slide-foot b { color:var(--accent); font-weight:700; }

/* cover slide */
.slide-title { text-align:center; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 16%, var(--panel)), var(--panel)); }
.slide-title .op-brand { font-size:1.05rem; font-weight:700; letter-spacing:.02em; }
.slide-title .op-brand span { color:var(--accent); }
.slide-title h1 { font-size:3rem; letter-spacing:-.02em; margin:16px 0 8px; }
.slide-title .slide-sub { color:var(--muted); font-size:1.2rem; }
.slide-title .cover-tag { margin-top:20px; font-size:1rem; color:var(--text); max-width:80%; }

/* big metric strip inside slides */
.deck .metrics-bar { gap:16px; }
.deck .metric { background:var(--bg2); border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.deck .metric .m-value { font-size:1.7rem; }

.deck-list { list-style:none; font-size:1.15rem; display:flex; flex-direction:column; gap:2px; }
.deck-list li { border-bottom:1px solid var(--line); padding:13px 0; }
.deck-list li:last-child { border-bottom:none; }
.deck-list li b { color:var(--accent); }
.deck-cols { display:grid; grid-template-columns:1fr 1.15fr; gap:30px; align-items:center; height:100%; }
.deck-cols .metrics-bar { grid-template-columns:1fr; margin-bottom:0; }
.deck-chart { position:relative; height:100%; min-height:200px; }

.deck-scns { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.deck-scn { background:var(--bg2); border:1px solid var(--line); border-radius:14px; padding:22px; text-align:center; }
.deck-scn.base { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset; }
.deck-scn .m-value { font-size:1.6rem; font-weight:700; margin:8px 0; color:var(--text); }

.uof { margin-top:6px; }
.uof-row { display:flex; align-items:center; gap:14px; margin:11px 0; font-size:1rem; }
.uof-row > span:first-child { width:200px; color:var(--muted); }
.uof-bar { flex:1; height:14px; background:var(--bg2); border-radius:7px; overflow:hidden; }
.uof-bar > div { height:100%; background:linear-gradient(90deg,var(--accent),var(--accent2)); }
.uof-pct { width:46px; text-align:right; color:var(--text); font-weight:600; }
.ask-big { font-size:2.6rem; font-weight:800; color:var(--accent); margin:4px 0 18px; }

/* editorial flourishes */
.deck .slide .bignum { position:absolute; top:18px; right:40px; font-size:7.5rem; font-weight:800;
  line-height:1; color:var(--accent); opacity:.09; letter-spacing:-.04em; pointer-events:none; }
.deck .slide-stmt .body { justify-content:center; }
.statement { font-size:2.6rem; line-height:1.18; font-weight:700; letter-spacing:-.015em; color:var(--text); max-width:14ch; }
.slide-stmt .statement { max-width:20ch; }
.sub-quote { margin-top:20px; font-size:1.2rem; color:var(--accent); font-style:italic; }
.tam-rows { display:flex; flex-direction:column; gap:14px; }
.tam-row { display:flex; align-items:center; gap:18px; }
.tam-bar { height:54px; min-width:120px; border-radius:12px; display:flex; align-items:center; padding:0 22px;
  color:var(--on-accent); font-weight:800; font-size:1.4rem; background:linear-gradient(90deg,var(--accent),var(--accent2)); }
.tam-row.sam .tam-bar { opacity:.82; } .tam-row.som .tam-bar { opacity:.64; }
.tam-meta { color:var(--muted); font-size:1rem; font-weight:600; }

/* deck toolbar buttons */
.deck-tools { display:flex; gap:8px; align-items:center; }

/* ── Present mode — fullscreen one-slide-at-a-time ─────────────────────── */
#screen-pitch.presenting { position:fixed; inset:0; z-index:200; background:var(--bg); }
.presenting .topbar { display:none; }
.presenting .deck { max-width:none; margin:0; height:100vh; display:flex; align-items:center; justify-content:center; }
.presenting .deck .slide { display:none; margin:0; border:none; border-radius:0; box-shadow:none;
  width:min(96vw, 170.6vh); /* 16:9 within viewport height */ aspect-ratio:16/9; padding:5vh 6vw; }
.presenting .deck .slide.active { display:flex; }
.presenting .deck .slide h2 { font-size:3vw; }
.presenting .deck .slide .big { font-size:2.1vw; }
.presenting .deck .slide .statement { font-size:3.4vw; }
.presenting .deck .slide .bignum { font-size:12vw; }
.presenting .deck .slide .ask-big { font-size:4vw; }
.presenting .slide-title h1 { font-size:5vw; }
.present-nav { display:none; }
.presenting .present-nav { display:flex; position:fixed; bottom:18px; left:50%; transform:translateX(-50%);
  gap:14px; align-items:center; z-index:210; background:rgba(0,0,0,.5); border:1px solid var(--line);
  border-radius:999px; padding:8px 16px; backdrop-filter:blur(6px); }
.present-nav button { font:inherit; font-weight:700; background:var(--accent); color:var(--on-accent);
  border:none; border-radius:50%; width:38px; height:38px; cursor:pointer; font-size:1.1rem; }
.present-nav button.exit { background:transparent; color:var(--muted); border:1px solid var(--line);
  border-radius:999px; width:auto; padding:0 14px; height:38px; }
.present-nav .pg { color:var(--text); font-weight:600; min-width:54px; text-align:center; }

/* ── Landscape PDF: one slide per page, 16:9 ───────────────────────────── */
@media print {
  body.printing-deck { background:#fff; }
  body.printing-deck .deck { max-width:none; }
  body.printing-deck .deck .slide { break-after:page; border:none; border-radius:0; box-shadow:none;
    aspect-ratio:auto; height:100vh; width:100%; margin:0; page-break-inside:avoid; }
  body.printing-deck .deck .slide:last-child { break-after:auto; }
}

@media (max-width:720px){
  .deck .slide { aspect-ratio:auto; min-height:300px; padding:34px 26px 50px; }
  .deck-cols, .deck-scns { grid-template-columns:1fr; }
  .deck .slide h2 { font-size:1.6rem; }
  .slide-foot { left:26px; right:26px; }
  .uof-row>span:first-child{width:120px;}
}

