*{box-sizing:border-box}
html,body{margin:0}
body.is-agent .contrib-only{display:none!important}
/* Layout: navy agent console in the deck's brand; presentation view = slide stage (left) + client / numbers / script panel (right) */
:root{
  color-scheme: dark;
  --ink:#061A30; --panel:#0B2341; --panel-2:#112F55; --line:#1E416C; --fg:#EEF2F8; --muted:#9AABC4;
  --accent:#FFCB05; --accent-ink:#00274C; --good:#85BB65;
  /* deck palette */
  --navy:#00274C; --navy-2:#0B3A66; --slate:#3A5878; --yellow:#FFCB05; --green:#85BB65; --deep-green:#1E3A34;
  --teal:#2F6B5E; --sage:#7FB3A3; --red:#D61F1F; --bright-green:#00B050; --paper:#F4F6FA; --paper-line:#C9D3E0; --paper-muted:#5A6B82;
  --f-display:"Caladea", Cambria, Georgia, serif;
  --f-body:"Carlito", Calibri, "Segoe UI", system-ui, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
}
[hidden]{display:none!important}
html,body{height:100%}
body{background:var(--ink);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.5}
*{box-sizing:border-box}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.4;cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.app{display:flex;flex-direction:column;min-height:100%}
.top{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:10px;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));
  border-bottom:1px solid var(--line);background:var(--panel)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px}
.mark{height:28px;padding:0 8px;border-radius:6px;background:var(--accent);display:grid;place-items:center;color:var(--accent-ink);font-weight:700;letter-spacing:.06em;font-size:13px}
.nav{display:flex;gap:4px}
.nav button{background:none;border:0;padding:7px 12px;border-radius:8px;color:var(--muted);font-weight:700}
.nav button[aria-current="true"]{background:var(--panel-2);color:var(--fg)}
.spacer{flex:1}
.agent{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
select,input[type=text],input[type=password],input[type=email],input[type=date],textarea{background:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%;min-width:0}
.agent select{width:auto}
.btn{white-space:nowrap;border:1px solid var(--line);background:var(--panel-2);border-radius:9px;padding:8px 14px;font-weight:700}
.btn:hover:not(:disabled){border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.ghost{background:none}
.btn.sm{padding:5px 10px;font-size:13px}

/* Dashboard */
.dash{padding-block:28px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));max-width:1180px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dash-head h1{font-family:var(--f-display);font-weight:700;font-size:34px;margin:0;line-height:1.1;text-wrap:balance}
.dash-head p{margin:6px 0 0;color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
.kpi .lbl{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.kpi .val{font-size:32px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}
.card h2{font-size:16px;margin:0 0 12px;font-weight:700}
.tbl-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right}
.chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--muted);border:1px solid var(--line)}
.chip.live{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}
.chip.practice{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.note{color:var(--muted);font-size:12px;margin:10px 0 0}
.empty{color:var(--muted);padding:14px 0}

/* Presentation view */
.present{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 420px;min-height:0}
.stage{display:flex;flex-direction:column;gap:14px;padding:18px;min-width:0}
.stage-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.stage-bar .title{font-weight:700}
.stage-bar .count{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.slide-frame{position:relative;width:100%;max-width:100%;aspect-ratio:16/9;background:var(--navy);border-radius:8px;overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);container-type:inline-size}
.slide-frame:fullscreen{border-radius:0;width:100vw;height:auto;max-height:100vh;margin:auto}
.build-hint{font-size:12px;color:var(--accent);font-weight:700}
.controls{display:flex;align-items:center;gap:10px}
.thumbs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;flex:1}
.thumb{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:6px 10px;font-size:12px;color:var(--muted);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thumb[aria-current="true"]{border-color:var(--accent);color:var(--fg)}
.thumb .i{font-family:var(--f-mono);margin-right:6px;color:var(--accent)}

.side{border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-height:0;min-width:0}
.tabs{display:flex;border-bottom:1px solid var(--line)}
.tabs button{flex:1;background:none;border:0;padding:13px 8px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent}
.tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent)}
.pane{padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;flex:1;max-height:calc(100vh - 110px)}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-size:12px;color:var(--muted);font-weight:700}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.toggle-row b{display:block;font-size:15px}
.toggle-row span{font-size:12px;color:var(--muted)}
.switch{position:relative;width:42px;height:24px;flex:0 0 auto}
.switch input{opacity:0;width:100%;height:100%;margin:0;position:absolute;cursor:pointer}
.switch .track{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .2s;pointer-events:none}
.switch .track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--fg);transition:transform .2s}
.switch input:checked + .track{background:var(--accent)}
.switch input:checked + .track::after{transform:translateX(18px);background:var(--accent-ink)}
.switch input:focus-visible + .track{outline:2px solid var(--accent);outline-offset:2px}
.sub{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px dashed var(--line);border-radius:10px;margin-top:-6px}
.kid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}
.icon-btn{background:none;border:1px solid var(--line);border-radius:8px;width:36px;height:38px;color:var(--muted)}
.section-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-top:6px}
.section-lbl:first-child{margin-top:0}
.calc{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);padding:8px 12px;border-radius:8px;background:var(--panel-2);font-variant-numeric:tabular-nums}
.calc b{color:var(--fg)}
.liab{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr) auto;gap:6px;align-items:center}
.liab-head{font-size:11px;color:var(--muted);font-weight:700}
.opt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.opt-lbl{font-size:13px;font-weight:700}
.script-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.script-head h3{margin:0;font-size:16px;flex:1;min-width:0}
.script-text{font-size:16px;line-height:1.65;white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:16px}
.script-text .tok{color:var(--accent);font-weight:700}
textarea{min-height:280px;line-height:1.6;resize:vertical}
.hint{font-size:12px;color:var(--muted);margin:0}
.hint code{font-family:var(--f-mono);color:var(--accent);font-size:11px}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--ink);padding:9px 16px;border-radius:9px;font-weight:700;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.4);z-index:10}

@media (max-width:980px){
  .present{grid-template-columns:1fr}
  .lb-top{grid-template-columns:1fr}
  .side{border-left:0;border-top:1px solid var(--line)}
  .pane{max-height:none}
  .grid2{grid-template-columns:1fr}
}

/* ================= SLIDES (deck styling, sized in container units) ================= */
.slide{position:absolute;inset:0;color:#fff;font-family:var(--f-body);padding:4.4cqw 4.6cqw 3.4cqw;display:flex;flex-direction:column;gap:1.6cqw;background:var(--navy);animation:fadein .3s ease}
@keyframes fadein{from{opacity:.5}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.slide{animation:none}.slide [data-b]{transition:none!important}}
.slide [data-b]{transition:opacity .35s ease, transform .35s ease}
.slide .off{opacity:0;transform:translateY(.6cqw)}
.slide.img{padding:0}
.slide.img img{width:100%;height:100%;object-fit:cover;display:block}
.sl-title{font-family:var(--f-display);font-weight:700;font-size:4.2cqw;line-height:1.05;margin:0}
.sl-sub{font-size:1.65cqw;margin:-.6cqw 0 0;color:#fff}
.disc{margin-top:auto;font-size:1.05cqw;font-style:italic;color:#C9D3E0}
.money{font-variant-numeric:tabular-nums}
.ph{color:#9AABC4;font-style:italic}
.fill{color:var(--yellow)}

/* section / cover slides */
.sec{padding-left:8cqw;justify-content:center;gap:1.8cqw}
.sec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:1cqw;background:var(--yellow)}
.sec .eyebrow{color:var(--yellow);font-weight:700;font-size:1.45cqw;letter-spacing:.05em;text-transform:uppercase}
.sec h1{font-family:var(--f-display);font-weight:700;font-size:7.6cqw;line-height:1;margin:0}
.sec .rule{width:5cqw;height:.3cqw;background:var(--yellow)}
.sec p{font-size:2cqw;margin:0;max-width:62cqw}
.sec .prepared{margin-top:3cqw;font-size:1.5cqw;color:#C9D3E0}

/* mission */
.center{align-items:center;text-align:center}
.mission-cards{display:flex;gap:2.4cqw;justify-content:center;margin-top:1.4cqw}
.mcard{width:28cqw;border-radius:1.2cqw;padding:3cqw 2.6cqw;text-align:left;color:var(--navy)}
.mcard .big{font-family:var(--f-display);font-weight:700;font-size:5.4cqw;line-height:1}
.mcard .lead{font-weight:700;font-size:2cqw;margin-top:1.4cqw;line-height:1.25}
.mcard .small{font-size:1.6cqw;margin-top:1.2cqw;color:var(--paper-muted)}
.mcard.light{background:var(--paper)}
.mcard.yel{background:var(--yellow)}
.mcard.yel .small{color:var(--navy-2)}

/* diversification */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;flex:1}
.col-h .k{color:var(--yellow);font-weight:700;font-size:1.3cqw;text-transform:uppercase}
.col-h .t{font-weight:700;font-size:1.9cqw}
.gcards{display:flex;flex-direction:column;gap:1.4cqw;margin-top:1.4cqw}
.gcard{background:var(--green);color:var(--navy);border-radius:.6cqw;padding:1.3cqw 1.8cqw}
.gcard b{display:block;font-size:2cqw}
.gcard span{font-size:1.55cqw}

/* 8 categories */
.light-slide{background:#fff;color:var(--navy)}
.light-slide .sl-title{font-family:var(--f-body);font-size:3.8cqw}
.cat-table{width:100%;border-collapse:collapse;font-size:1.55cqw;margin-top:1cqw}
.cat-table th{font-size:1.5cqw;color:var(--navy);text-transform:none;letter-spacing:0;text-align:center;padding:1cqw .6cqw;border-bottom:.15cqw solid var(--paper-line)}
.cat-table td{padding:.9cqw .6cqw;text-align:center;border-bottom:1px solid #E3E8F0;color:#8D99AB}
.cat-table td:first-child{text-align:left;color:var(--navy);font-weight:700}
.cat-table tr:nth-child(odd) td{background:#F3F6FA}
.cat-table .iul{background:#EAF4E3!important}
.check{display:inline-grid;place-items:center;width:2.2cqw;height:2.2cqw;border-radius:50%;background:var(--green);color:#fff;font-size:1.3cqw;font-weight:700}
.gfi-tag{position:absolute;right:0;top:0;background:var(--navy);color:#fff;font-weight:700;font-size:1.5cqw;padding:.8cqw 1.1cqw;letter-spacing:.05em}

/* family path */
.path{display:grid;grid-template-columns:1fr 1.05fr;gap:3cqw;flex:1;margin-top:1cqw}
.src-list{display:flex;flex-direction:column;gap:1.4cqw}
.src{display:flex;align-items:center;gap:1.4cqw;border-radius:.6cqw;padding:1.4cqw 1.8cqw;background:var(--green);color:var(--navy)}
.src .dot{width:1.8cqw;height:1.8cqw;border-radius:50%;border:.25cqw solid #fff;flex:0 0 auto}
.src .nm{font-weight:700;font-size:1.9cqw}
.src .meta{font-size:1.2cqw;color:var(--deep-green)}
.src .amt{margin-left:auto;font-family:var(--f-display);font-weight:700;font-size:2.8cqw}
.src .amt small,.big-amt small{font-family:var(--f-body);font-weight:400;font-size:1.3cqw}
.bars{display:flex;flex-direction:column;gap:1.6cqw}
.bar-lbl{font-size:1.4cqw}
.bar-lbl b{font-family:var(--f-display);font-size:2cqw;margin-left:.6cqw}
.bar{display:flex;height:4cqw;margin-top:.6cqw;background:rgba(255,255,255,.06)}
.bar .seg{height:100%}
.bar .gapseg{background:#FDECEC;border:.15cqw dashed var(--red);color:var(--red);display:grid;place-items:center;font-weight:700;font-size:1.4cqw}
.bar .need{background:#9AA5A2;width:100%}
.gapbox{display:flex;align-items:center;justify-content:space-between;background:var(--red);border-radius:.6cqw;padding:1.8cqw 2cqw;margin-top:.6cqw}
.gapbox span{font-weight:700;font-size:1.9cqw}
.gapbox b{font-family:var(--f-display);font-size:3.8cqw}

/* rollover chart */
.roll{display:grid;grid-template-columns:1fr 23cqw;gap:3cqw;flex:1;min-height:0}
.chart{display:flex;flex-direction:column;min-height:0}
.chart .cap{font-size:1.3cqw;margin-bottom:1cqw}
.plot{flex:1;display:flex;align-items:flex-end;gap:1.6cqw;border-bottom:.2cqw solid #fff;padding-top:3cqw;min-height:0}
.col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}
.col .v{font-weight:700;font-size:1.4cqw;margin-bottom:.4cqw}
.col .b{width:100%;background:var(--green)}
.col .bonus{position:absolute;font-size:1cqw;font-weight:700;white-space:nowrap;text-align:center;line-height:1.2}
.xl{display:flex;gap:1.6cqw;margin-top:.6cqw}
.xl span{flex:1;text-align:center;font-weight:700;font-size:1.3cqw}
.rcards{display:flex;flex-direction:column;gap:1.6cqw}
.rcard{border-radius:.6cqw;padding:1.8cqw}
.rcard .k{font-weight:700;font-size:1.4cqw}
.rcard .big-amt{font-family:var(--f-display);font-weight:700;font-size:4cqw;line-height:1.1}
.rcard .s{font-size:1.2cqw;font-weight:700}
.rcard.g{background:var(--green)}
.rcard.n{background:var(--navy-2)}

/* 7702 options */
.opts{display:flex;flex-direction:column;gap:1.4cqw;margin-top:.8cqw}
.orow{display:grid;grid-template-columns:7cqw 1fr 2cqw 1fr 2cqw 15cqw;gap:1cqw;align-items:center}
.orow .on{color:var(--yellow);font-weight:700;font-size:1.7cqw}
.orow .os{font-size:1.4cqw}
.obox{border-radius:.8cqw;padding:1.1cqw 1.4cqw;line-height:1.15}
.obox .k{font-weight:700;font-size:1.3cqw}
.obox .a{font-family:var(--f-display);font-weight:700;font-size:2.8cqw}
.obox .a small{font-family:var(--f-body);font-weight:400;font-size:1.3cqw}
.obox .m{font-size:1.05cqw}
.obox .m b{color:var(--yellow)}
.obox.c{background:var(--navy-2)}
.obox.p{background:var(--green);color:var(--navy)}
.arrow{color:var(--yellow);font-size:2cqw;text-align:center}
.cov{border-radius:.8cqw;padding:1.1cqw 1.4cqw;color:var(--navy)}
.cov .k{font-weight:700;font-size:1.3cqw}
.cov .a{font-family:var(--f-display);font-weight:700;font-size:2.8cqw}
.cov.r1{background:#00C853}.cov.r2{background:var(--yellow)}.cov.r3{background:var(--red);color:#fff}
.orow.rec .obox.c{outline:.25cqw solid var(--yellow)}

/* current position */
.pos{display:grid;grid-template-columns:1fr 1.05fr;gap:3cqw;flex:1;margin-top:1cqw}
.pos .h{font-size:1.4cqw;margin-bottom:1cqw}
.th{display:flex;align-items:center;gap:1.4cqw;background:var(--paper);color:var(--navy);border-radius:.6cqw;padding:1.3cqw 1.8cqw;margin-bottom:1.2cqw}
.th .dot{width:1.8cqw;height:1.8cqw;border-radius:50%}
.th .nm{font-weight:700;font-size:1.8cqw}
.th .meta{font-size:1.1cqw;color:var(--paper-muted)}
.th .amt{margin-left:auto;font-family:var(--f-display);font-weight:700;font-size:2.6cqw}
.th .amt small{font-family:var(--f-body);font-weight:400;font-size:1.2cqw}
.th.total{background:var(--navy-2);color:#fff}
.th.total .amt{font-size:3.2cqw}
.ltable{width:100%;border-collapse:collapse;font-size:1.4cqw}
.ltable th{color:#fff;text-transform:none;letter-spacing:0;font-size:1.3cqw;font-weight:400;padding:.5cqw .4cqw;border-bottom:1px solid #5A6B82}
.ltable td{padding:.6cqw .4cqw;border-bottom:1px solid #3A5878;white-space:normal}
.ltable td:nth-child(2),.ltable th:nth-child(2){text-align:right}
.ltable td:nth-child(3),.ltable th:nth-child(3){text-align:right;font-weight:700}
.ltotal{display:flex;justify-content:space-between;align-items:center;background:var(--red);padding:1cqw 1.6cqw;margin-top:1cqw;font-weight:700;font-size:1.6cqw}
.ltotal b{font-family:var(--f-display);font-size:2.6cqw}

/* next generation */
.kids-cards{display:flex;gap:2.4cqw;justify-content:center;flex-wrap:wrap;margin-top:1.4cqw}
.kcard{background:var(--paper);color:var(--navy);border-radius:1.2cqw;padding:2.6cqw;width:24cqw;text-align:left}
.kcard .k{font-weight:700;font-size:1.3cqw;color:var(--paper-muted);text-transform:uppercase}
.kcard .a{font-family:var(--f-display);font-weight:700;font-size:4.4cqw;margin-top:1.2cqw}
.kcard .a small{font-family:var(--f-body);font-weight:400;font-size:1.6cqw}
.kcard .l{font-weight:700;font-size:1.6cqw;margin-top:.8cqw}
.kcard .s{font-size:1.4cqw;color:var(--paper-muted);margin-top:1.2cqw}
.sub-y{color:var(--yellow);font-weight:700;font-size:2.1cqw;margin-top:-.8cqw}

/* conclusion */
.concl{display:flex;gap:2.4cqw;margin-top:2cqw}
.ccard{flex:1;border-radius:2cqw;padding:2.6cqw 2.2cqw}
.ccard .k{font-weight:700;font-size:1.4cqw;text-transform:uppercase}
.ccard .a{font-family:var(--f-display);font-weight:700;font-size:3.8cqw;margin-top:1.2cqw}
.ccard .a small{font-family:var(--f-body);font-weight:400;font-size:1.5cqw}
.ccard p{font-size:1.5cqw;margin:.8cqw 0 0}
.ccard .hl{background:var(--navy);color:var(--yellow);padding:0 .4cqw;font-weight:700}
.ccard.red{background:var(--red)}
.ccard.grn{background:var(--green);color:var(--navy)}
.ccard.bgr{background:#00B050;color:var(--navy)}
.vid-btn{position:absolute;right:2cqw;bottom:2cqw;z-index:3;display:flex;align-items:center;gap:.8cqw;background:var(--yellow);color:var(--navy);border:0;border-radius:99px;padding:1cqw 2cqw;font-weight:700;font-size:1.5cqw;box-shadow:0 .6cqw 2cqw rgba(0,0,0,.35)}
.vid-layer{position:absolute;inset:0;z-index:4;background:rgba(0,10,25,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4cqw;padding:3cqw}
.vid-layer video{max-width:100%;max-height:85%;border-radius:.6cqw;background:#000}
.vid-close{position:absolute;right:2cqw;top:2cqw;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:99px;padding:.6cqw 1.6cqw;font-size:1.4cqw;font-weight:700}
.thumb .v{color:var(--accent);margin-left:4px}
.shell{flex:1;display:flex;min-height:0}
.sidebar{width:220px;flex:0 0 auto;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:10px 8px;transition:width .2s}
.side-link{display:flex;align-items:center;gap:12px;background:none;border:0;border-radius:8px;padding:9px 10px;color:var(--muted);font-weight:700;text-align:left;white-space:nowrap;overflow:hidden}
.side-link svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.side-link:hover{color:var(--fg);background:var(--panel-2)}
.side-link[aria-current="true"]{background:var(--slate);color:#fff}
.sidebar .grow{flex:1}
.sidebar.collapsed{width:58px}
.sidebar.collapsed .side-link span{display:none}
.sidebar.collapsed #collapse-btn svg{transform:rotate(180deg)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.chip.shared{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}
.seg-ctl{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:3px}
.seg-ctl button{background:none;border:0;border-radius:7px;padding:6px 14px;font-weight:700;color:var(--muted)}
.seg-ctl button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink)}
.lb-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px}
.champ{background:linear-gradient(135deg,var(--navy-2),var(--panel));border:1px solid color-mix(in srgb,var(--accent) 50%,var(--line));border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.champ .k{color:var(--accent);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.champ .nm{font-family:var(--f-display);font-weight:700;font-size:30px;line-height:1.1}
.champ .ap{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
.champ .s{color:var(--muted);font-size:13px}
.rank-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.rank-row:last-child{border-bottom:0}
.rank-row .r{font-family:var(--f-mono);font-size:13px;color:var(--muted);text-align:center}
.rank-row.first .r{background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:2px 0;font-weight:700}
.rank-row.me .who{color:var(--accent)}
.rank-row .who{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-row .amt{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.rank-row .track{grid-column:2/4;height:6px;background:var(--panel-2);border-radius:99px;overflow:hidden}
.rank-row .track i{display:block;height:100%;background:var(--green);border-radius:99px}
.rank-row.first .track i{background:var(--accent)}
.rank-row .cnt{grid-column:2/4;font-size:12px;color:var(--muted);margin-top:-2px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form-grid .full{grid-column:1/-1}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stat{background:var(--panel-2);border-radius:10px;padding:12px}
.stat .l{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.stat .v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.stat .d{font-size:12px;color:var(--muted)}
.weeks{display:flex;align-items:flex-end;gap:8px;height:120px;margin-top:16px;border-bottom:1px solid var(--line)}
.weeks .wk{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;min-width:0}
.weeks .wk i{display:block;width:100%;background:var(--slate);border-radius:4px 4px 0 0;min-height:2px}
.weeks .wk.now i{background:var(--accent)}
.weeks .wk b{font-size:10px;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.wk-labels{display:flex;gap:8px;margin-top:4px}
.wk-labels span{flex:1;text-align:center;font-size:10px;color:var(--muted);min-width:0;white-space:nowrap;overflow:hidden}
.team-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.team-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:99px;padding:4px 6px 4px 12px;font-weight:700}
.team-chip button{background:none;border:0;color:var(--muted);padding:0 4px}
.inline-form{display:flex;gap:8px}
.del{background:none;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:12px;padding:2px 8px}
.del.armed{border-color:var(--red);color:#fff;background:var(--red)}
.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.link-card{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--fg);text-decoration:none;min-width:0}
.link-card:hover{border-color:var(--accent)}
.link-card .mono{width:40px;height:40px;border-radius:9px;background:var(--paper);color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:14px;flex:0 0 auto}
.link-card .txt{min-width:0;flex:1}
.link-card .nm{font-weight:700}
.link-card .host{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.link-card .go{color:var(--accent)}
.link-edit-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr) auto;gap:8px;align-items:center}
.uw-item{border-bottom:1px solid var(--line);padding:12px 0;display:flex;flex-direction:column;gap:4px}
.uw-item:last-child{border-bottom:0}
.uw-item .h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.uw-item .h b{font-size:15px}
.uw-item p{margin:0;white-space:pre-wrap;color:var(--fg)}
.uw-item .meta{font-size:12px;color:var(--muted)}
.train-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.train-cards .card p{color:var(--muted);margin:0 0 14px}
@media (max-width:760px){
  .shell{flex-direction:column}
  .sidebar{width:auto!important;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:6px max(16px,env(safe-area-inset-left,0px))}
  .sidebar .side-link span{display:inline!important}
  .sidebar .grow,#collapse-btn{display:none}
  .lb-top,.form-grid,.stats{grid-template-columns:1fr}
  .link-edit-row{grid-template-columns:1fr 1fr}
}
.quote-card{position:relative;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;padding:22px 24px 18px 24px;display:flex;flex-direction:column;gap:10px}
.quote-card .k{color:var(--accent);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.quote-card blockquote{margin:0;font-family:var(--f-display);font-size:24px;line-height:1.3;text-wrap:balance;max-width:60ch}
.quote-card .d{color:var(--muted);font-size:12px}
.quote-card.loading blockquote{opacity:.5}
.welcome-sub{color:var(--muted);margin:6px 0 0}
.resume{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--accent);border-radius:12px;padding:14px 16px}
.resume b{flex:1;min-width:0}
.scripts-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:color-mix(in srgb,var(--red) 22%,var(--panel));border:1px solid color-mix(in srgb,var(--red) 60%,transparent);border-radius:10px;padding:10px 14px;font-weight:700}
.scripts-banner .tag{background:var(--red);color:#fff;border-radius:6px;padding:2px 8px;font-size:12px;letter-spacing:.08em}
.scripts-banner span.t{flex:1;min-width:0;font-weight:400;color:var(--fg)}
.open-pres{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--accent);border-radius:12px;padding:14px 16px}
.open-pres .txt{flex:1;min-width:220px}
.open-pres .txt b{display:block;font-size:15px}
.open-pres .txt span{color:var(--muted);font-size:13px}
a.btn{text-decoration:none;display:inline-block}
.conn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}
.conn i{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.conn.on{color:var(--good)}.conn.on i{background:var(--good)}
/* Presentation window */
#pres-root{display:none}
body.pres-mode{background:#000;overflow:hidden}
body.pres-mode .app,body.pres-mode .toast{display:none!important}
body.pres-mode #pres-root{display:grid;place-items:center;position:fixed;inset:0;background:#000}
body.pres-mode #slide-frame{width:min(100vw,calc(100vh * 16 / 9));border-radius:0;box-shadow:none}
.prepare{position:absolute;inset:0;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6cqw;text-align:center;font-family:var(--f-body)}
.prepare .h{position:absolute;top:0;left:0;right:0;padding:3cqw;font-family:var(--f-display);font-size:3cqw;letter-spacing:.2em;border-bottom:.3cqw solid var(--yellow)}
.prepare p{margin:0;font-size:2.2cqw}
.prepare p.s{font-size:1.6cqw;color:#C9D3E0}
.pres-tools{position:fixed;top:12px;right:12px;display:flex;gap:8px;transition:opacity .4s;z-index:5}
.pres-tools.hide{opacity:0;pointer-events:none}
.ps-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.ps-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ps-cats button{background:var(--panel-2);border:1px solid var(--line);border-radius:99px;padding:4px 12px;font-size:13px;font-weight:700;color:var(--muted)}
.ps-cats button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.ps-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 6px;color:var(--fg)}
.ps-item:last-child{border-bottom:0}
.ps-item b{display:block;font-size:15px}
.ps-item span{font-size:12px;color:var(--muted)}
.ps-item[aria-current="true"]{background:var(--panel-2);border-radius:8px}
.ps-item[aria-current="true"] b{color:var(--accent)}
.ps-body{font-size:17px;line-height:1.7;white-space:pre-wrap;max-width:70ch}
.ps-body .cue{color:var(--accent);font-weight:700}
.ps-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.ps-head h2{flex:1;min-width:0;margin:0;font-family:var(--f-display);font-size:26px;line-height:1.15}
.practice-overlay{position:fixed;inset:0;z-index:20;background:var(--ink);display:flex;flex-direction:column;padding-block:20px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.practice-overlay .bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.practice-overlay .bar b{flex:1;min-width:0}
.practice-overlay .clock{font-family:var(--f-mono);color:var(--accent);font-size:14px}
.practice-overlay .para{flex:1;display:grid;place-items:center;overflow:auto}
.practice-overlay .para p{font-family:var(--f-display);font-size:clamp(22px,3.4vw,40px);line-height:1.35;max-width:32ch;text-align:center;margin:0;white-space:pre-wrap;text-wrap:balance}
.practice-overlay .para p .cue{color:var(--accent);font-family:var(--f-body);font-weight:700;font-size:.7em}
.practice-overlay .prog{height:4px;background:var(--panel-2);border-radius:99px;overflow:hidden}
.practice-overlay .prog i{display:block;height:100%;background:var(--accent)}
.practice-overlay .nav2{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
@media (max-width:860px){.ps-layout{grid-template-columns:1fr}}
.yrule{width:8cqw;height:.35cqw;background:var(--yellow);margin-top:-.4cqw}

/* ================= Website additions ================= */
.login{min-height:100%;display:grid;place-items:center;padding-block:40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.login-card{width:100%;max-width:420px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px}
.login-card .mark{width:max-content}
.login-card h1{font-family:var(--f-display);font-size:30px;margin:0;line-height:1.1}
.login-card p{margin:0;color:var(--muted)}
.demo-user{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.demo-user:hover{border-color:var(--accent)}
.demo-user b{display:block}
.demo-user span{font-size:12px;color:var(--muted)}
.user-chip{display:flex;align-items:center;gap:8px;font-weight:700}
.role-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.role-chip.contributor{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.live-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--accent);border-radius:12px;padding:14px 16px}
.live-bar b{flex:1;min-width:0}
.blocked{background:color-mix(in srgb,var(--red) 18%,var(--panel));border:1px solid color-mix(in srgb,var(--red) 55%,transparent);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.blocked b{font-size:15px}
.blocked p{margin:0;color:var(--fg)}
.section-h{margin:6px 0 -10px;font-size:16px}

/* Scripts window */
body.scripts-win{height:100%}
.sw{display:flex;flex-direction:column;height:100%;min-height:0}
.sw-top{display:flex;align-items:center;gap:10px;padding-block:10px;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}
.sw-top h1{font-family:var(--f-display);font-size:22px;margin:0}
.sw-top .tag{background:var(--red);color:#fff;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.08em}
.sw-note{padding:8px 14px;background:color-mix(in srgb,var(--red) 18%,var(--panel));border-bottom:1px solid color-mix(in srgb,var(--red) 45%,transparent);font-size:13px}
.sw-preview{padding:10px 14px 0;display:flex;gap:12px;align-items:flex-start}
.sw-preview .slide-frame{width:46%;max-width:300px;flex:0 0 auto;cursor:default;box-shadow:none;border:1px solid var(--line)}
.sw-preview .meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.sw-preview .meta b{font-size:15px}
.sw .tabs{margin-top:10px}
.sw .pane{max-height:none;flex:1;min-height:0}
.sw-foot{border-top:1px solid var(--line);background:var(--panel);padding-block:10px;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:8px}
.sw-foot .next{width:100%;padding:12px;font-size:16px}
.sw-foot .row2{display:flex;gap:8px;align-items:center}
.sw-foot select{flex:1}
.sw-panes{flex:1;min-height:0;display:flex;flex-direction:column}

/* Outcome step (Scripts window, last slide) */
.outcome{margin:10px 14px 0;background:var(--panel-2);border:1px solid var(--accent);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.outcome h2{margin:0;font-family:var(--f-display);font-size:22px}
.oc-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.oc-choice button{border:1px solid var(--line);background:var(--ink);border-radius:10px;padding:12px;font-weight:700;font-size:16px}
.oc-choice button[aria-pressed="true"][data-oc="sale"]{background:var(--good);border-color:var(--good);color:var(--navy)}
.oc-choice button[aria-pressed="true"][data-oc="no_sale"]{background:var(--slate);border-color:var(--slate);color:#fff}
.oc-done .big{font-family:var(--f-display);font-size:28px;line-height:1.1}
.oc-done .stats{grid-template-columns:1fr 1fr}
.res-sale{color:var(--good);font-weight:700}
.res-no{color:var(--muted)}

/* Quotes tab (Scripts window) */
.quotes-pane{padding:12px 14px;gap:10px}
.quotes-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.quotes-head .hint{flex:1;min-width:0}
#quotes-frame{flex:1;width:100%;min-height:560px;border:1px solid var(--line);border-radius:10px;background:#fff}
/* Life Insurance slides */
.agenda{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4cqw;margin-top:3cqw}
.ag{border-top:.35cqw solid var(--yellow);padding-top:1.4cqw}
.ag .n{font-family:var(--f-display);font-weight:700;font-size:3.6cqw;color:var(--yellow);line-height:1}
.ag b{display:block;font-size:2cqw;margin-top:.8cqw}
.ag span{display:block;font-size:1.5cqw;color:#C9D3E0;margin-top:.4cqw}
.cov4{display:grid;grid-template-columns:1fr 1fr;gap:1.6cqw;margin-top:1.4cqw}
.fam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(24cqw,1fr));gap:1.8cqw;margin-top:1.4cqw}
.need{display:grid;grid-template-columns:1.35fr 1fr;gap:3cqw;margin-top:1cqw;align-items:start}
.src.minus{background:var(--slate);color:#fff}
.src.minus .meta{color:#C9D3E0}
.need-total{background:var(--navy-2);border:.25cqw solid var(--yellow);border-radius:.8cqw;padding:2.4cqw;display:flex;flex-direction:column;gap:.8cqw}
.need-total .k{font-weight:700;font-size:1.5cqw;text-transform:uppercase;color:#C9D3E0}
.need-total .a{font-family:var(--f-display);font-weight:700;font-size:5cqw;color:var(--yellow);line-height:1.05}
.need-total .s{font-size:1.3cqw;color:#C9D3E0}
.points{display:flex;flex-direction:column;gap:2cqw;margin-top:2cqw;max-width:70cqw}
.pt{display:flex;gap:1.8cqw;align-items:flex-start}
.pt .n{width:4.2cqw;height:4.2cqw;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:2cqw;flex:0 0 auto}
.pt b{display:block;font-size:2.2cqw}
.pt span{display:block;font-size:1.6cqw;color:#C9D3E0;margin-top:.3cqw}
.chips{display:flex;gap:1.6cqw;flex-wrap:wrap;margin-top:2cqw}
.bigchip{background:var(--navy-2);border-radius:.8cqw;padding:1.6cqw 2.2cqw;min-width:20cqw}
.bigchip .k{font-size:1.3cqw;color:#C9D3E0;font-weight:700;text-transform:uppercase}
.bigchip .v{font-family:var(--f-display);font-weight:700;font-size:3.4cqw;margin-top:.4cqw}
.opt3{display:grid;grid-template-columns:repeat(3,1fr);gap:2cqw;margin-top:2cqw}
.lopt{background:var(--paper);color:var(--navy);border-radius:1.2cqw;padding:2.2cqw;display:flex;flex-direction:column;gap:.6cqw;border:.4cqw solid transparent}
.lopt.rec{border-color:var(--yellow)}
.lopt .tag{align-self:flex-start;background:var(--yellow);color:var(--navy);font-weight:700;font-size:1.2cqw;padding:.3cqw 1cqw;border-radius:99px}
.lopt .car{font-weight:700;font-size:2.2cqw}
.lopt .plan{font-size:1.5cqw;color:var(--paper-muted)}
.lopt .prem{font-family:var(--f-display);font-weight:700;font-size:4.2cqw;margin-top:.6cqw}
.lopt .prem small{font-family:var(--f-body);font-weight:400;font-size:1.5cqw}
.lopt .lcov{font-size:1.6cqw;font-weight:700}
/* Life inputs */
.cond-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cond{display:flex;align-items:center;gap:8px;font-size:13px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:7px 9px}
.type-row{background:var(--panel-2);border:1px solid var(--accent);border-radius:10px;padding:12px 14px}
.type-row label{color:var(--accent)!important}
.kind{font-size:12px;color:var(--muted);margin-left:6px}
.need .src-list{gap:1cqw}
.need .src{padding:.9cqw 1.6cqw}
.need .src .amt{font-size:2.4cqw}
/* Answer boxes inside the Life script */
.script-text .sf{white-space:normal;margin:8px 0 14px;padding:10px 12px;background:var(--ink);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:9px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.4}
.script-text .sf .field label{color:var(--accent)}
.sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sf-kid{grid-template-columns:1fr 1fr auto;align-items:end}
.sf-opt{grid-template-columns:1.3fr 1.1fr 1fr .8fr}
.sf-toggle{display:flex;align-items:center;gap:8px;font-weight:700}
.sf-frame{width:100%;min-height:520px;border:1px solid var(--line);border-radius:8px;background:#fff}
.sf-quotes{align-items:flex-start}
@media (max-width:520px){.sf-opt{grid-template-columns:1fr 1fr}}

/* Medications by condition */
.med-group{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--panel)}
.med-h{font-weight:700;color:var(--accent);font-size:14px}
.med-row{display:flex;gap:8px;align-items:center}
.med-row input{flex:1;min-width:0}
.med-row .icon-btn{flex:0 0 auto;height:36px}
.med-group .btn{align-self:flex-start}

/* Money rain behind the #1 agent */
.champ-wrap{position:relative;overflow:hidden;padding:0;min-height:210px}
.money-rain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.champ-body{position:relative;z-index:1;padding:20px;display:flex;flex-direction:column;gap:6px;height:100%}
.champ-wrap.raining .champ-body{background:radial-gradient(ellipse 70% 60% at 0% 0%,color-mix(in srgb,var(--navy-2) 80%,transparent) 0%,transparent 100%)}
.champ-wrap.raining .nm,.champ-wrap.raining .ap{text-shadow:0 2px 10px rgba(0,0,0,.6)}

/* Rebuttal Academy */
.acad-card{border-color:var(--line);display:flex;flex-direction:column}
.acad-card p{flex:1}
.acad-card.done{border-color:color-mix(in srgb,var(--good) 55%,var(--line))}
.acad-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.cert-banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--panel);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;padding:16px 18px}
.cert-banner.ok{border-color:var(--good);background:color-mix(in srgb,var(--good) 14%,var(--panel))}
.cert-banner>div:nth-child(2){flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px}
.cert-banner b{font-size:16px}
.cert-banner span{color:var(--muted);font-size:13px}
.cert-ic{font-size:30px}
.cert-dots{display:flex;gap:6px}
.cert-dots i{width:28px;height:10px;border-radius:99px;background:var(--panel-2);border:1px solid var(--line)}
.cert-dots i.on{background:var(--good);border-color:var(--good)}
.cert-lock{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:12px;padding:14px 16px}
.cert-lock>div{flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px}
.cert-lock span{color:var(--muted);font-size:13px}
#new-btn:disabled{opacity:.55;cursor:not-allowed}
.ac-title{font-weight:700;font-size:14px;color:var(--muted);white-space:nowrap}
.ac-bubble.sit{background:var(--panel);border:2px dashed var(--accent);font-size:20px;align-self:flex-start}
.acad-top{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.acad-icon{width:46px;height:46px;border-radius:12px;background:var(--accent);display:grid;place-items:center;font-size:24px;flex:0 0 auto}
.academy{position:fixed;inset:0;z-index:30;background:var(--ink);display:flex;flex-direction:column;padding-block:18px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.ac-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.ac-top{display:flex;align-items:center;gap:14px;max-width:760px;width:100%;margin:0 auto}
.ac-x{background:none;border:0;color:var(--muted);font-size:22px;padding:4px 8px}
.ac-bar{flex:1;height:16px;border-radius:99px;background:var(--panel-2);overflow:hidden}
.ac-bar i{display:block;height:100%;background:var(--good);border-radius:99px;transition:width .35s ease;box-shadow:inset 0 -4px 0 rgba(0,0,0,.12)}
.ac-hearts{display:flex;gap:3px;font-size:20px}
.heart{color:#ff5a5f}.heart.lost{color:var(--panel-2)}
.ac-xp{font-weight:700;color:var(--accent);font-size:14px;min-width:56px;text-align:right}
.ac-body{flex:1;overflow:auto;max-width:760px;width:100%;margin:0 auto;padding:28px 2px;display:flex;flex-direction:column;gap:14px}
.ac-kicker{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ac-bubble{border-radius:16px;padding:18px 20px;font-size:20px;line-height:1.45;max-width:640px}
.ac-bubble.client{background:var(--panel-2);border:2px solid var(--line);font-family:var(--f-display);font-size:26px;align-self:flex-start}
.ac-bubble.agent{background:color-mix(in srgb,var(--good) 18%,var(--panel));border:2px solid color-mix(in srgb,var(--good) 55%,transparent);align-self:flex-end;font-size:18px}
.ac-why{color:var(--muted);font-size:15px;max-width:640px;align-self:flex-end}
.ac-why b{color:var(--fg)}
.ac-reveal{align-self:flex-end;border:2px dashed var(--accent);background:none;color:var(--accent);border-radius:16px;padding:18px 22px;font-weight:700;font-size:16px}
.ac-opts{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.ac-opt{display:flex;gap:12px;align-items:flex-start;text-align:left;background:var(--panel);border:2px solid var(--line);border-bottom-width:4px;border-radius:14px;padding:14px 16px;font-size:16px;line-height:1.45;transition:transform .08s}
.ac-opt:hover:not(:disabled){border-color:var(--accent)}
.ac-opt:active:not(:disabled){transform:translateY(2px)}
.ac-key{flex:0 0 auto;width:26px;height:26px;border-radius:7px;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--muted)}
.ac-opt.right{border-color:var(--good);background:color-mix(in srgb,var(--good) 18%,var(--panel))}
.ac-opt.right .ac-key{border-color:var(--good);color:var(--good)}
.ac-opt.wrong{border-color:#ff5a5f;background:color-mix(in srgb,#ff5a5f 15%,var(--panel))}
.ac-opt.wrong .ac-key{border-color:#ff5a5f;color:#ff5a5f}
.ac-opt.dim{opacity:.45}
.ac-foot{max-width:760px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:16px;border-radius:16px;min-height:76px}
.ac-foot.good{background:color-mix(in srgb,var(--good) 20%,var(--panel))}
.ac-foot.bad{background:color-mix(in srgb,#ff5a5f 16%,var(--panel))}
.ac-verdict{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}
.ac-foot.good .ac-verdict b{color:var(--good);font-size:20px}
.ac-foot.bad .ac-verdict b{color:#ff7a7e;font-size:20px}
.ac-verdict span{font-size:14px;color:var(--fg)}
.ac-btn{min-width:150px;padding:13px 20px;font-size:16px;border-radius:12px;border-bottom-width:4px}
.ac-btn.primary{border-bottom-color:color-mix(in srgb,var(--accent) 60%,#000)}
.ac-btn.danger{background:#ff5a5f;border-color:#ff5a5f;color:#fff}
.ac-end{margin:auto;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.ac-end h2{font-family:var(--f-display);font-size:34px;margin:0}
.ac-end p{color:var(--muted);font-size:17px;margin:0;max-width:44ch}
.ac-medal{font-size:64px}
@media (prefers-reduced-motion:reduce){.ac-bar i{transition:none}}

.script-text .tok[data-tok^="recap"]{color:inherit;font-weight:inherit}

/* Forgot-password links */
.link-btn{background:none;border:0;padding:0;color:inherit;font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.link-btn:hover{opacity:.85}

/* Neselia logo */
.brand-logo{height:26px;width:auto;display:block}
.login-logo{width:52px;height:52px;display:block}
.login-wordmark{height:40px;width:auto;display:block;align-self:flex-start}
