:root{--ground:#0a0e12;--ground-deep:#06090c;--surface:#131b21;--surface-raised:#1b262d;--hairline:#27343c;--hairline-soft:#1c272e;--text:#e8eef1;--muted:#9aa9b2;--faint:#6d7f88;--brass:#c9a227;--brass-soft:#8d7220;--amber:#e0a44b;--parchment:#efe7d6;--parchment-ink:#1c1812;--parchment-muted:#5c5140;--parchment-rule:#d8cdb6;--cited:#7fb2a8;--uncertain:#d9a44e;--advisory:#a79ad1;--danger:#d98b7a;--step--2:0.78rem;--step--1:0.86rem;--step-0:1rem;--step-1:1.22rem;--step-2:1.62rem;--step-3:clamp(2rem,1.4rem + 3vw,3rem);--sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;--serif:"Spectral",ui-serif,Georgia,"Times New Roman",serif;--mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--ease:cubic-bezier(0.22,0.61,0.24,1)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:radial-gradient(1200px 700px at 50% -10%,#16222b 0,transparent 60%),var(--ground);color:var(--text);font-family:var(--sans);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:0;background-image:radial-gradient(currentColor .5px,transparent 0);background-size:3px 3px}main{position:relative;z-index:1}.shell{max-width:44rem;margin:0 auto;padding:calc(1.25rem + env(safe-area-inset-top)) calc(1.15rem + env(safe-area-inset-right)) calc(5rem + env(safe-area-inset-bottom)) calc(1.15rem + env(safe-area-inset-left));display:flex;flex-direction:column;gap:1.6rem}.wordmark{font-family:var(--serif);font-size:var(--step-0);font-weight:600;letter-spacing:.01em;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding-right:.5rem}.wordmark .ius{color:var(--brass)}.topbar{justify-content:space-between;gap:1rem;padding:.9rem 0 .6rem;border-bottom:1px solid var(--hairline-soft)}.topbar,.topbar nav{display:flex;align-items:center}.topbar nav{gap:.9rem}.eyebrow{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0}h1{font-size:var(--step-3);line-height:1.05;letter-spacing:-.015em}h1,h2{font-family:var(--serif);font-weight:600;margin:0;text-wrap:balance}h2{font-size:var(--step-2);line-height:1.15}h3{font-family:var(--sans);font-size:var(--step-0);font-weight:600}h3,p{margin:0}.lede{font-size:var(--step-1);line-height:1.5;color:var(--text);max-width:34ch}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:var(--step--1)}.stack{gap:1.1rem}.stack,.stack-tight{display:flex;flex-direction:column}.stack-tight{gap:.6rem}.row-between{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--brass-soft);background:linear-gradient(180deg,#1d2830,#162026);color:var(--text);font-family:var(--sans);font-size:var(--step-0);font-weight:500;padding:.85rem 1.35rem;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color .24s var(--ease),transform .24s var(--ease),background .24s var(--ease)}@media (hover:hover){.btn:hover:not(:disabled){border-color:var(--brass);transform:translateY(-1px)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#e2ba3a,#c0961d)}.btn-quiet:hover:not(:disabled),.chip:hover{border-color:var(--faint);color:var(--text)}.option:hover{border-color:var(--brass-soft);background:var(--surface-raised)}}.btn:active:not(:disabled){transform:scale(.985);border-color:var(--brass)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#d7ae2c,#b58c19);border-color:#e2bd44;color:#17130a;font-weight:600}.btn-quiet{border-color:var(--hairline);background:transparent;color:var(--muted)}.btn-block{width:100%}.btn-compact{padding:.5rem .8rem;font-size:var(--step--1);min-height:44px}.chipset{display:flex;flex-wrap:wrap;gap:.5rem}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--sans);font-size:var(--step-0);border:1px solid var(--hairline);background:var(--surface);color:var(--muted);padding:.6rem 1rem;min-height:44px;border-radius:999px;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .2s var(--ease)}.chip:active{transform:scale(.97)}.chip[aria-pressed=true]{border-color:var(--brass);color:#17130a;background:linear-gradient(180deg,#dcb436,#bd941d);font-weight:600}input[type=email],input[type=text]{width:100%;font-family:var(--sans);font-size:var(--step-0);padding:.85rem 1rem;background:var(--ground-deep);border:1px solid var(--hairline);border-radius:2px;color:var(--text)}.btn:focus-visible,.chip:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.code-input{font-family:var(--mono);font-size:1.6rem;letter-spacing:.5em;text-align:center}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:3px;padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.7rem}.notice{border:1px solid var(--brass-soft);border-left-width:3px;background:rgba(201,162,39,.07);padding:.75rem .95rem;line-height:1.5;color:var(--amber)}.error,.notice{border-radius:2px;font-size:var(--step--1)}.error{border-left:3px solid var(--danger);background:rgba(217,139,122,.09);padding:.7rem .9rem;color:#f0c4ba}.suggestion{background:var(--surface);border:1px solid var(--hairline);border-left:3px solid var(--brass-soft);border-radius:3px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.55rem;text-align:left;width:100%;cursor:pointer;font-family:inherit;color:inherit;transition:border-color .22s var(--ease),transform .22s var(--ease)}.suggestion:hover{border-left-color:var(--brass);transform:translateX(2px)}.suggestion h3{font-family:var(--serif);font-size:var(--step-1);font-weight:600}.suggestion .tagline{font-family:var(--serif);font-style:italic;color:var(--muted);font-size:var(--step--1)}.suggestion ul{margin:0;padding-left:1.05rem;display:flex;flex-direction:column;gap:.25rem}.suggestion li{font-size:var(--step--1);color:var(--muted);line-height:1.45}.badge{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hairline);color:var(--faint);padding:.12rem .45rem;border-radius:2px;white-space:nowrap}.badge-explore{border-color:var(--advisory);color:var(--advisory)}.badge-cited{border-color:var(--cited);color:var(--cited)}.badge-uncertain{border-color:var(--uncertain);color:var(--uncertain)}.confidence{display:flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:var(--step--1);color:var(--faint)}.meter{height:3px;flex:1 1;background:var(--hairline);border-radius:2px;overflow:hidden}.meter span{display:block;height:100%;background:var(--brass)}.parchment{background-color:var(--parchment);background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,0) 14%);border-radius:3px;padding:1.6rem 1.35rem 1.9rem;font-family:var(--serif);font-size:1.06rem;line-height:1.72;display:flex;flex-direction:column;gap:1.1rem;box-shadow:0 18px 40px rgba(0,0,0,.4)}.parchment,.parchment h2{color:var(--parchment-ink)}.parchment .definition{border-left:3px solid var(--brass-soft);padding-left:.9rem}.parchment .definition strong{font-feature-settings:"smcp";font-variant:small-caps;letter-spacing:.04em}.parchment .example{color:var(--parchment-muted);font-size:1.02rem}.parchment ul{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.45rem}.parchment .keypoints{border-top:1px solid var(--parchment-rule);padding-top:.9rem}.parchment .placeholder{font-family:var(--sans);font-size:1rem;line-height:1.45;color:var(--parchment-muted);border:1px dashed var(--parchment-rule);padding:.6rem .75rem;border-radius:2px}.scene{border:1px solid var(--hairline);border-radius:3px;background:linear-gradient(180deg,#16212a,#101820);padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.6rem}.scene .setting{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.06em;color:var(--amber)}.scene .brief{font-family:var(--serif);font-size:var(--step-1);line-height:1.5}.option{width:100%;text-align:left;font-family:var(--sans);font-size:var(--step-0);line-height:1.5;color:var(--text);background:var(--surface);border:1px solid var(--hairline);border-radius:3px;padding:.9rem 1rem;min-height:48px;cursor:pointer;touch-action:manipulation;transition:border-color .2s var(--ease),background .2s var(--ease)}.option:active{border-color:var(--brass-soft);background:var(--surface-raised)}.option[aria-pressed=true]{border-color:var(--brass);background:var(--surface-raised)}.consequence{border-left:3px solid var(--amber);padding:.75rem 0 .75rem .95rem;display:flex;flex-direction:column;gap:.5rem}.consequence .what{font-family:var(--serif);font-size:1.05rem;line-height:1.55}.consequence .why{font-size:var(--step--1);color:var(--muted);line-height:1.55}.citation{font-family:var(--mono);font-size:var(--step--2);color:var(--cited);letter-spacing:.03em;word-break:break-all}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.4rem,1fr));grid-gap:.5rem;gap:.5rem}.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:3px;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.2rem}.tile .value{font-family:var(--serif);font-size:clamp(1.15rem,5.2vw,1.7rem);font-weight:600;line-height:1.05;color:var(--brass);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tile .label{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.06em;overflow-wrap:anywhere;text-transform:uppercase;color:var(--faint)}.award-list{display:flex;flex-direction:column;gap:.4rem}.award{display:grid;grid-template-columns:minmax(0,6.3rem) 1fr;grid-gap:.7rem;gap:.7rem;align-items:baseline;font-size:var(--step--1);border-bottom:1px solid var(--hairline-soft);padding-bottom:.4rem}.award .kind{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.05em;overflow-wrap:anywhere;color:var(--brass)}.award .text{color:var(--muted);line-height:1.45}.award.record{align-items:start;padding-bottom:.55rem}.award.record .text{display:block;color:var(--text)}.award.record .stamp{display:block;margin-top:.2rem;font-family:var(--mono);font-size:var(--step--2);letter-spacing:.06em;color:var(--faint)}.record-counts{display:flex;flex-wrap:wrap;gap:.35rem}.record-counts .chip{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.08em;padding:.3rem .5rem;border:1px solid var(--hairline);border-radius:2px;color:var(--faint)}.record-counts .chip.on{border-color:var(--brass-soft);color:var(--brass)}.unlock{border:1px solid var(--brass);background:linear-gradient(180deg,rgba(201,162,39,.14),rgba(201,162,39,.04));border-radius:3px;padding:1.5rem 1.2rem;text-align:center;display:flex;flex-direction:column;gap:.4rem}.unlock .label{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.24em;text-transform:uppercase;color:var(--amber)}.unlock .title{font-family:var(--serif);font-size:var(--step-2);font-weight:600}.course-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--hairline-soft)}.course-row .name{font-family:var(--serif);font-size:var(--step-1)}.state-open{color:var(--cited)}.state-locked,.state-open{font-family:var(--mono);font-size:var(--step--1)}.state-locked{color:var(--faint)}.progress-dots{display:flex;gap:.35rem;align-items:center}.progress-dots i{width:6px;height:6px;border-radius:999px;background:var(--hairline);display:block}.progress-dots i.done{background:var(--brass-soft)}.progress-dots i.now{background:var(--brass);transform:scale(1.5)}@media (prefers-reduced-motion:no-preference){.enter{animation:enter .52s var(--ease) backwards}.enter-1{animation-delay:70ms}.enter-2{animation-delay:.14s}.enter-3{animation-delay:.21s}@keyframes enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.speaker-fab{position:fixed;right:calc(.9rem + env(safe-area-inset-right));bottom:calc(.9rem + env(safe-area-inset-bottom));z-index:40;width:56px;height:56px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--brass-soft);background:linear-gradient(180deg,#1d2830,#10181d);color:var(--brass);box-shadow:0 10px 24px rgba(0,0,0,.55);cursor:pointer;touch-action:manipulation;transition:transform .2s var(--ease),border-color .2s var(--ease)}.speaker-fab:active{transform:scale(.94)}.speaker-fab.open{border-color:var(--brass);color:var(--amber)}.speaker-panel{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:82dvh;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.8rem;padding:1rem 1.05rem calc(5.5rem + env(safe-area-inset-bottom));background:var(--ground-deep);border-top:1px solid var(--brass-soft);box-shadow:0 -20px 50px rgba(0,0,0,.6)}@media (min-width:46rem){.speaker-panel{left:auto;right:1rem;bottom:5.5rem;width:27rem;border:1px solid var(--brass-soft);border-radius:4px}}.speaker-controls{display:flex;gap:.4rem}.speaker-controls .btn{flex:0 0 auto;padding:.7rem .9rem}.speaker-controls .btn-primary{flex:1 1 auto}.transcript{display:flex;flex-direction:column;gap:.5rem;flex:0 0 auto;min-height:11rem;max-height:34dvh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--hairline);border-radius:3px;padding:.7rem .75rem;background:var(--surface)}.transcript .line{display:grid;grid-template-columns:minmax(0,4.6rem) 1fr;grid-gap:.6rem;gap:.6rem;align-items:start;font-size:var(--step--1);line-height:1.5;color:var(--muted);cursor:pointer;padding:.25rem .2rem;border-radius:2px}.transcript .line .reg{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.05em;color:var(--faint);overflow-wrap:anywhere}.transcript .line.now{background:rgba(201,162,39,.12);color:var(--text)}.transcript .line.now .reg{color:var(--brass)}.speaker-mic{gap:.5rem}.say-line,.speaker-mic{display:flex;flex-direction:column}.say-line{gap:.1rem;font-size:var(--step--1)}.say-line .phrase{font-family:var(--mono);color:var(--brass);font-size:var(--step--1)}textarea{width:100%;font-family:var(--sans);font-size:var(--step-0);line-height:1.55;padding:.85rem 1rem;background:var(--ground-deep);border:1px solid var(--hairline);border-radius:2px;color:var(--text);resize:vertical;min-height:8rem}