:root{--bg: #03050a;--ink: #e8f1ff;--dim: #8b9bb4;--faint: #4a5872;--line: rgba(140, 170, 220, .18);--panel: rgba(6, 10, 20, .72);--cyan: #3fd8ff;--gold: #ffc44d;--naive: #ff4fa3;--tuned: #3fffb0;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased}#stage,#labels{position:fixed;inset:0}#labels{pointer-events:none}#stage canvas{display:block}#whiteout{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fff,#d8f4ff 45%,#9fdcff);opacity:0}button{font:inherit;color:inherit;cursor:pointer;background:#ffffff0a;border:1px solid var(--line);border-radius:999px;padding:8px 16px;transition:background .2s,border-color .2s}button:hover{background:#ffffff1a;border-color:#a0c8ff66}button.primary{background:var(--cyan);color:#00131c;border-color:transparent;font-weight:600}button.primary:hover{background:#7fe6ff}#hud{position:fixed;inset:0;pointer-events:none;transition:opacity .4s}body.intro #hud,#hud.hidden{opacity:0}#hud.hidden *{pointer-events:none!important}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}#brand{position:absolute;top:22px;left:28px}.act-line{margin-top:6px;display:flex;gap:12px;align-items:baseline}#act-num{font-family:var(--mono);color:var(--cyan);font-size:15px}#act-title{font-size:26px;font-weight:300;letter-spacing:.01em}#act-nav{position:absolute;top:22px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto}.nav-dot{display:flex;gap:8px;align-items:center;padding:6px 12px;background:transparent;border-color:transparent;color:var(--faint);font-size:12px}.nav-dot .nav-n{font-family:var(--mono)}.nav-dot .nav-t{display:none}.nav-dot.current{color:var(--ink);border-color:var(--line);background:var(--panel)}.nav-dot.current .nav-t{display:inline}.nav-dot.past{color:var(--dim)}#readout{position:absolute;top:20px;right:28px;text-align:right;max-width:380px}#dilation{font-family:var(--mono);font-size:40px;font-weight:300;line-height:1;color:var(--ink)}#dilation-sub{margin-top:6px;font-size:13px;color:var(--dim)}#clock{margin-top:10px;font-family:var(--mono);font-size:13px;color:var(--cyan);letter-spacing:.04em}#stat{margin-top:10px;font-family:var(--mono);font-size:13px;color:var(--ink);line-height:1.5}#stat .k{color:var(--dim)}#badge{margin-top:10px;font-size:11px;color:var(--faint)}#caption{position:absolute;left:50%;bottom:150px;transform:translate(-50%) translateY(8px);width:min(880px,calc(100vw - 48px));text-align:center;font-size:21px;font-weight:300;line-height:1.45;text-shadow:0 2px 18px rgba(0,0,0,.9);opacity:0;transition:opacity .5s,transform .5s}#caption.show{opacity:1;transform:translate(-50%) translateY(0)}#caption b{font-weight:600;color:var(--gold)}#caption em{font-style:normal;color:var(--cyan)}#receipt{position:absolute;left:28px;right:28px;bottom:18px;display:flex;flex-direction:column;gap:6px}.receipt-row{display:flex;align-items:center;gap:12px}.receipt-lane{width:52px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.receipt-lane.lane-0{color:var(--naive)}.receipt-lane.lane-1{color:var(--tuned)}.receipt-bar{flex:1;display:flex;gap:2px;height:34px}.seg{position:relative;flex-basis:0;min-width:0;overflow:hidden;background:#ffffff09;border-radius:3px}.seg-track{position:absolute;inset:0 auto 0 0;background:#ffffff0f;border-right:1px solid rgba(255,255,255,.18)}.seg-fill{position:absolute;inset:0 auto 0 0;width:0;background:#3fd8ff8c}.legend-note{margin-left:8px}.seg.typical .seg-fill{background:repeating-linear-gradient(135deg,#3fd8ff80 0 5px,#3fd8ff38 5px 10px)}.seg.measured .seg-fill{background:#3fffb09e}.receipt-row.lane-0 .seg.measured .seg-fill{background:#ff4fa39e}.seg.queue .seg-fill{background:#ffc44d80}.seg.active{box-shadow:inset 0 0 0 1px #ffffff80}.seg-text{position:absolute;inset:0;padding:4px 6px;display:flex;flex-direction:column;justify-content:center;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden}.seg-name{color:var(--ink);opacity:.85}.seg-ns{font-family:var(--mono);color:var(--dim)}.receipt-total{width:86px;text-align:right;font-family:var(--mono);font-size:15px}.receipt-legend{display:flex;gap:14px;align-items:center;font-size:10px;color:var(--faint);margin-left:64px}.receipt-legend .key{display:inline-block;width:14px;height:8px;border-radius:2px;margin-right:-8px}.key.typical{background:repeating-linear-gradient(135deg,#3fd8ff99 0 3px,#3fd8ff40 3px 6px)}.key.measured{background:#3fffb0b3}.key.queue{background:#ffc44d99}.label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);white-space:nowrap;padding:2px 6px;text-shadow:0 0 12px #000}.label.big{font-size:13px;color:var(--ink)}.label.cyan{color:var(--cyan)}.label.gold{color:var(--gold)}.label.naive{color:var(--naive)}.label.tuned{color:var(--tuned)}.label.ghost{color:#8fa4c8;opacity:.8;text-transform:none;letter-spacing:.02em;font-size:12px}.label .ns{display:block;font-family:var(--mono);letter-spacing:0;text-transform:none;color:var(--ink);font-size:12px;margin-top:2px}.label.hero{color:#fff;font-size:10px;border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:2px 8px;background:#0006}.label.shell{font-family:var(--mono);text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink);background:#00000073;border:1px solid var(--line);border-radius:4px}.label.level{text-align:right}.label.level .ns{color:var(--dim)}#controls{position:absolute;right:28px;bottom:132px;width:340px;pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#controls h3{margin:0 0 10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:500}.ctl-row{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:12px;color:var(--dim)}.ctl-row label{width:64px}.ctl-row input[type=range]{flex:1;accent-color:var(--cyan)}.ctl-row .val{width:72px;text-align:right;font-family:var(--mono);color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;font-size:12px}.chip.on{background:#3fd8ff2e;border-color:#3fd8ff99;color:var(--ink)}.chip.lane-0.on{background:#ff4fa32e;border-color:#ff4fa3b3}.chip.lane-1.on{background:#3fffb024;border-color:#3fffb099}#inspector{position:absolute;left:28px;bottom:132px;width:330px;pointer-events:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#inspector .title{display:flex;justify-content:space-between;margin-bottom:8px}#inspector .type{font-weight:600}#inspector table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:11px}#inspector th{text-align:right;color:var(--dim);font-weight:400;padding:2px 4px}#inspector th:first-child,#inspector td:first-child{text-align:left}#inspector td{text-align:right;padding:2px 4px}#inspector .n{color:var(--naive)}#inspector .t{color:var(--tuned)}#inspector .miss{color:var(--faint)}#title{position:fixed;inset:0;display:grid;place-items:center;background:#03050a;transition:opacity .9s;z-index:5}#title.gone{opacity:0;pointer-events:none}.title-inner{max-width:760px;padding:24px}#title h1{font-size:clamp(44px,7vw,92px);font-weight:200;line-height:.98;margin:18px 0;letter-spacing:-.02em}.lede{font-size:19px;line-height:1.55;color:#c3d2ea;font-weight:300;max-width:620px}#title-meta{font-family:var(--mono);font-size:12px;color:var(--dim);margin:22px 0;line-height:1.7}.title-buttons{display:flex;gap:12px;flex-wrap:wrap}.title-buttons button{padding:12px 22px;font-size:15px}.keys{margin-top:26px;font-size:12px;color:var(--faint)}@media(max-width:760px){#act-nav{display:none}#readout{top:76px;left:16px;right:16px;text-align:left}#dilation{font-size:28px}#brand{left:16px}#caption{font-size:16px;bottom:120px}#receipt{left:12px;right:12px}.seg-text{display:none}#controls,#inspector{left:12px;right:12px;width:auto;bottom:110px}#inspector{display:none}}#code{position:absolute;left:28px;top:110px;width:min(700px,44vw);max-height:calc(100vh - 290px);display:flex;flex-direction:column;pointer-events:auto;background:#04070fd1;border:1px solid var(--line);border-radius:14px;padding:12px 14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#code[hidden]{display:none}.code-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.code-stage{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}.code-why{font-size:13px;line-height:1.45;color:#c3d2ea}.code-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:0;flex:1}.code-col{display:flex;flex-direction:column;min-width:0;min-height:0}.code-title{font-size:11px;margin-bottom:6px;font-family:var(--mono)}.code-col.lane-0 .code-title{color:var(--naive)}.code-col.lane-1 .code-title{color:var(--tuned)}.code-col pre{margin:0;overflow:auto;flex:1;max-height:420px;font-family:var(--mono);font-size:10.5px;line-height:1.5;color:#b9c6dc;background:#ffffff06;border-radius:8px;padding:8px 0}.code-col pre .ln{padding:0 10px;white-space:pre;border-left:2px solid transparent;transition:background .25s}.code-col pre .ln.lit{border-left-color:var(--lit);color:#fff;background:color-mix(in srgb,var(--lit) 22%,transparent)}.code-col pre .k{color:#8ab4ff}.code-col pre .s{color:#ffc98b}.code-col pre .n{color:#ff9fd0}.code-col pre .c{color:#5d6b85;font-style:italic}.code-foot{margin-top:8px;font-size:10px;color:var(--faint)}@media(max-width:760px){#code{display:none}}.label{background:#02040a8c;border-radius:4px}#caption{background:#02040a8c;border-radius:12px;padding:10px 18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#caption:empty{display:none}#caption.paused{background:#6e0e1ed1;box-shadow:0 0 0 1px #ff5a6ed9,0 0 28px #ff3c5a59}#pause-btn{position:absolute;top:64px;left:50%;transform:translate(-50%);pointer-events:auto;font-size:12px;padding:5px 14px;background:var(--panel)}#pause-btn.paused,.tp-play.paused{background:#6e0e1ed9;border-color:#ff5a6ed9}body.has-transport #pause-btn{display:none}#transport{position:absolute;left:28px;right:28px;bottom:122px;height:46px;pointer-events:auto;display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#transport[hidden]{display:none}.tp-play{min-width:92px;font-size:13px}.tp-timeline{position:relative;flex:1;height:34px;cursor:pointer;touch-action:none}.tp-timeline canvas{width:100%;height:100%;display:block}.tp-head{position:absolute;top:-2px;bottom:-2px;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 8px #fffc;pointer-events:none}.tp-head:before{content:"";position:absolute;top:-4px;left:-5px;width:12px;height:12px;border-radius:50%;background:#fff}.tp-hint{position:absolute;right:4px;top:-16px;font-size:10px;color:var(--faint);pointer-events:none}.tp-label{font-size:11px;color:var(--dim);white-space:nowrap}.tp-dil{width:140px;accent-color:var(--cyan)}.tp-dil-val{width:70px;font-family:var(--mono);font-size:12px}.tp-mode{font-size:12px;white-space:nowrap}body.has-transport #caption,body.has-transport #controls,body.has-transport #inspector{bottom:182px}body.has-transport #code{max-height:calc(100vh - 330px)}.label.marker{color:#fff;border:1px solid #fff;text-transform:none;letter-spacing:.02em;font-size:12px}@media(max-width:760px){#transport{bottom:100px;left:12px;right:12px}.tp-label,.tp-dil-val,.tp-hint{display:none}.tp-dil{width:70px}}.disclaimer{margin-top:22px;max-width:620px;font-size:12px;line-height:1.55;color:var(--faint);border-top:1px solid var(--line);padding-top:14px}.label.ring{text-transform:none;letter-spacing:.02em;font-size:11px;text-align:right}.label .meter{width:150px;height:6px;margin:4px 0 3px auto;background:#ffffff1f;border-radius:3px;overflow:hidden}.label .meter i{display:block;height:100%;background:currentColor}.label .meter.full i{background:#ff3b4f}.label .dropped{display:block;color:#ff6b7a;font-family:var(--mono);font-size:11px}#legend{position:absolute;top:96px;left:28px;display:flex;gap:14px;flex-wrap:wrap;max-width:520px;font-size:11px;color:var(--dim)}#legend[hidden]{display:none}#legend span{display:inline-flex;align-items:center;gap:6px}#legend i{display:inline-block;width:10px;height:10px;border-radius:50%}#legend i.wait{background:#5a6a80;width:7px;height:7px}#legend i.run{background:#3fd8ff;box-shadow:0 0 6px #3fd8ff}#legend i.done{background:#6f7d92;width:5px;height:5px}#legend i.order{background:#ffc44d;border-radius:1px;transform:rotate(45deg)}#legend i.drop{background:#ff3b4f}#ladder{position:absolute;left:50%;top:130px;transform:translate(-50%);width:min(1000px,calc(100vw - 48px));background:#04070fe6;border:1px solid var(--line);border-radius:14px;padding:16px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#ladder[hidden]{display:none}.ladder-title{font-size:13px;margin-bottom:12px}.ladder-title span{display:block;font-size:11px;color:var(--dim);margin-top:3px}.ladders{display:flex;align-items:center;gap:18px}.ladder{flex:1}.ladder h4{margin:0 0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-weight:500}.arrow{font-size:26px;color:var(--dim)}.lrow{display:grid;grid-template-columns:60px 1fr 54px 128px;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;padding:2px 4px;border-radius:4px;position:relative}.lrow .bar{height:10px;background:#ffffff0d;border-radius:2px;overflow:hidden}.lrow .bar i{display:block;height:100%}.lrow.bid .p{color:var(--tuned)}.lrow.bid .bar i{background:#3fffb0b3}.lrow.ask .p{color:#ff6b8a}.lrow.ask .bar i{background:#ff4f7ab3}.lrow .q{text-align:right;color:var(--dim)}.lrow.cleared{outline:1px solid #fff;background:#ffffff14}.lrow.cleared .p,.lrow.cleared .q{text-decoration:line-through}.lrow.ours{outline:1px solid var(--gold);background:#ffc44d1a}.lrow .note{font-family:var(--sans);font-size:11px;color:#fff;white-space:nowrap}.lrow .note.gold{color:var(--gold)}.spread{font-size:10px;color:var(--faint);text-align:center;letter-spacing:.2em;text-transform:uppercase;margin:4px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line)}.tp-zoom{display:flex;gap:4px}.tp-zoom .chip{font-size:11px;padding:3px 8px}#act-nav{width:min(760px,calc(100vw - 760px));min-width:420px;gap:4px}.story-act{flex-basis:0;cursor:pointer;min-width:0}.story-label{font-size:10px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.story-act.current .story-label{color:var(--ink)}.story-track{position:relative;height:4px;background:#ffffff1a;border-radius:2px}.story-track i{position:absolute;inset:0 auto 0 0;width:0;background:var(--cyan);border-radius:2px}.story-tick{position:absolute;top:-2px;width:1px;height:8px;background:#ffffff59}.story-act:hover .story-track{background:#fff3}#pause-btn{top:58px}body.act-code #receipt,body.act-code #caption{display:none}#walk{position:absolute;inset:96px 28px 24px;overflow:auto;z-index:2;background:#04070fe6;border:1px solid var(--line);border-radius:14px;padding:20px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#walk[hidden]{display:none}.walk-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.walk-head h2{margin:4px 0 12px;font-weight:300;font-size:26px;flex:1}.walk-nav{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--dim)}.primary-chip{background:var(--cyan);color:#00131c;border-color:transparent}.walk-body{display:grid;grid-template-columns:minmax(260px,1fr) 2.2fr;gap:22px}.walk-prose{font-size:14px;line-height:1.6;color:#c3d2ea}.walk-prose.wide{max-width:760px;font-size:16px}.walk-prose p{margin:0 0 12px}.walk-code{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.walk-col{min-width:0}.walk-col .title{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.walk-col.n .title{color:var(--naive)}.walk-col.t .title{color:var(--tuned)}.walk-col pre{margin:0;max-height:calc(100vh - 330px);overflow:auto;font-family:var(--mono);font-size:10.5px;line-height:1.5;color:#b9c6dc;background:#ffffff06;border-radius:8px;padding:8px 0}.walk-col .ln{padding:0 10px;white-space:pre;border-left:2px solid transparent}.walk-col .ln.lit{border-left-color:var(--lit);color:#fff;background:color-mix(in srgb,var(--lit) 18%,transparent)}.walk-col .k{color:#8ab4ff}.walk-col .ann{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center;padding:2px 10px 6px 12px;border-left:2px solid var(--lit);background:color-mix(in srgb,var(--lit) 8%,transparent);font-family:var(--sans);white-space:normal}.walk-col .ann .cost{position:relative;height:6px;background:#ffffff14;border-radius:3px}.walk-col .ann .cost i{position:absolute;top:0;bottom:0;background:var(--lit);border-radius:3px}.walk-col .ann .what{font-size:11px;color:#dbe6f7}.walk-col .ann .what b{color:var(--lit);font-weight:600}@media(max-width:1100px){.walk-body{grid-template-columns:1fr}}.walk-stats{border-collapse:collapse;margin:0 0 14px;font-size:13px}.walk-stats th{text-align:left;font-weight:400;font-size:11px;color:var(--dim);padding:0 18px 6px 0}.walk-stats td{padding:3px 18px 3px 0;color:#c3d2ea}.walk-stats td.n,.walk-stats td.t{font-family:var(--mono);text-align:right}.walk-stats th.n,.walk-stats td.n{color:var(--naive)}.walk-stats th.t,.walk-stats td.t{color:var(--tuned)}.walk-stats td.r{color:var(--ink);font-size:12px}.walk-warn{margin:-6px 0 14px;font-size:12px;color:#ffb02e}.ghost-chip{opacity:.7}.walk-end{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.walk-end button{padding:10px 18px}.walk-legend{margin-top:18px;font-size:11px;color:var(--dim)}.walk-legend .axis{position:relative;height:74px;margin:10px 8px 0}.walk-legend .line{position:absolute;left:0;right:0;top:30px;height:2px;background:linear-gradient(90deg,#3fd8ff,#4f9dff 22%,#8a6bff 41%,#ff4fd8 70%,#ff4fd8);border-radius:1px}.walk-legend .mark{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;line-height:1.2}.walk-legend .mark b{color:var(--c);font-size:11px}.walk-legend .mark span{font-family:var(--mono);font-size:10px}.walk-legend .mark:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);margin-top:3px}.walk-legend .band{position:absolute;top:38px;height:6px;background:#ffb02e8c;border-radius:3px}.walk-legend .band span{position:absolute;top:8px;left:0;white-space:nowrap;color:#ffb02e;font-size:10px}.walk-legend .ticks{position:absolute;left:0;right:0;top:62px}.walk-legend .ticks span{position:absolute;white-space:nowrap;transform:translate(-50%);font-family:var(--mono);font-size:9px;color:var(--faint)}.walk-legend .ticks span:first-child{transform:none}.walk-legend .ticks span:last-child{transform:translate(-100%)}.title-inner{max-width:880px}#title h1{margin:14px 0 16px}.lede{max-width:720px}.title-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.tcard{position:relative;background:#ffffff09;border:1px solid var(--line);border-radius:12px;padding:14px 14px 14px 46px;font-size:13px;line-height:1.5;color:#b7c6de}.tcard b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}.tcard em{font-style:normal;color:var(--gold);font-family:var(--mono)}.tcard .tn{position:absolute;left:14px;top:13px;width:22px;height:22px;border-radius:50%;border:1px solid var(--cyan);color:var(--cyan);font-size:12px;display:grid;place-items:center}#title-meta{margin:18px 0 0;font-size:11px}@media(max-width:760px){.title-cards{grid-template-columns:1fr}}.walk-replay-note{font-size:11px;color:var(--faint);margin:-6px 0 12px}.walk-col .title .run{font-family:var(--mono);text-transform:none;letter-spacing:0;color:var(--ink)}.walk-col.finished .title .run{color:var(--gold)}.walk-col pre{position:relative;scroll-behavior:auto}.walk-col .ln.ran{opacity:.55}.walk-col .ln.exec{opacity:1;background:#ffffff24;box-shadow:inset 3px 0 #fff;color:#fff}.walk-col .ln.lit.exec{background:color-mix(in srgb,var(--lit) 42%,transparent);animation:stall .6s ease-in-out infinite alternate}@keyframes stall{0%{box-shadow:inset 3px 0 #fff}to{box-shadow:inset 3px 0 #fff,0 0 14px color-mix(in srgb,var(--lit) 60%,transparent)}}.walk-col .ann .cost .wait{position:absolute;left:0;top:-1px;bottom:-1px;width:0;background:#fff;opacity:.85;border-radius:3px;z-index:1}.walk-col .ann .cost i{z-index:0}.ctl-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.ctl-caret:before{content:"▾"}#controls:not(.open) .ctl-caret:before{content:"▸"}@media(hover:none){.desktop-only{display:none}}@media(max-width:760px){html,body{height:100dvh}#title{place-items:start center;overflow-y:auto;-webkit-overflow-scrolling:touch;height:100dvh}.title-inner{padding:max(20px,env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom))}#title h1{font-size:40px;margin:10px 0 12px}.lede{font-size:15px}.title-cards{gap:8px;margin:16px 0}.tcard{padding:10px 12px 10px 40px;font-size:12px}.tcard .tn{left:10px;top:10px}.title-buttons{flex-direction:column}.title-buttons button{width:100%;padding:13px}#title-meta{font-size:10px;line-height:1.6}#brand{top:max(10px,env(safe-area-inset-top));left:12px}#brand .eyebrow{display:none}.act-line{margin-top:0;gap:8px}#act-title{font-size:17px}#act-num{font-size:12px}#readout{top:max(8px,env(safe-area-inset-top));left:auto;right:12px;max-width:55vw;text-align:right}#dilation{font-size:20px}#dilation-sub{font-size:10px;margin-top:2px}#clock,#stat,#badge{display:none}#act-nav{display:flex;top:calc(max(10px,env(safe-area-inset-top)) + 40px);left:12px;right:12px;width:auto;min-width:0;transform:none;gap:3px}.story-act{padding:6px 0}.story-label,.story-act.current .story-label{display:none}#pause-btn{top:calc(max(10px,env(safe-area-inset-top)) + 62px);left:auto;right:12px;transform:none;font-size:11px;padding:5px 12px}#caption{font-size:14px;line-height:1.45;bottom:calc(66px + env(safe-area-inset-bottom));width:calc(100vw - 20px);padding:8px 12px;max-height:34dvh;overflow-y:auto}body.has-transport #caption{bottom:calc(150px + env(safe-area-inset-bottom));max-height:26dvh}#receipt{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));gap:3px}.receipt-row{gap:6px}.receipt-lane{width:40px;font-size:9px;letter-spacing:.08em}.receipt-bar{height:16px;gap:1px}.receipt-total{width:58px;font-size:11px}.receipt-legend{display:none}#transport{left:8px;right:8px;bottom:calc(60px + env(safe-area-inset-bottom));height:auto;flex-wrap:wrap;gap:6px 8px;padding:8px}.tp-play{min-width:0;padding:6px 10px;font-size:12px}.tp-timeline{flex:1 1 60%;height:30px}.tp-label,.tp-hint,.tp-dil-val{display:none}.tp-zoom{order:3}.tp-zoom .chip{padding:3px 6px;font-size:10px}.tp-dil{order:4;flex:1;width:auto;min-width:70px}.tp-mode{order:5;font-size:10px;padding:4px 8px}.tp-dil{min-width:40px}#legend{top:calc(max(10px,env(safe-area-inset-top)) + 96px);left:12px;right:12px;gap:4px 10px;font-size:9px}#controls{left:auto;right:8px;width:auto;max-width:calc(100vw - 16px);bottom:calc(150px + env(safe-area-inset-bottom));padding:8px 12px;max-height:55dvh;overflow-y:auto}#controls h3{margin:0}#controls:not(.open)>:not(h3){display:none}#controls.open{left:8px}#controls.open h3{margin-bottom:8px}.ctl-row label{width:52px}.label{font-size:9px;letter-spacing:.1em;padding:1px 4px}.label .ns,.label.big{font-size:10px}.label .meter{width:90px}.label .dropped{font-size:9px}#ladder{top:calc(max(10px,env(safe-area-inset-top)) + 96px);width:calc(100vw - 16px);padding:10px 12px;max-height:calc(100dvh - 420px);overflow-y:auto}.ladders{flex-direction:column;gap:10px}.arrow{transform:rotate(90deg);font-size:18px;line-height:1}.ladder{width:100%}.lrow{grid-template-columns:46px 1fr 40px 96px;gap:5px;font-size:10px}.lrow .note{font-size:9px;white-space:normal;line-height:1.2}#walk{left:6px;right:6px;top:calc(max(10px,env(safe-area-inset-top)) + 58px);bottom:calc(6px + env(safe-area-inset-bottom));padding:12px;-webkit-overflow-scrolling:touch}.walk-head{gap:6px}.walk-head h2{font-size:18px;flex-basis:100%;margin:2px 0 6px}.walk-nav{flex-wrap:wrap}.walk-stats{font-size:11px;width:100%}.walk-stats th{padding-right:8px;font-size:10px}.walk-stats td{padding-right:8px}.walk-prose,.walk-prose.wide{font-size:13px}.walk-code{grid-template-columns:1fr}.walk-col pre{max-height:46dvh;font-size:9.5px}.walk-col .ann{grid-template-columns:56px 1fr}.walk-legend .mark span{font-size:9px}.walk-end button{width:100%}}@media(max-height:460px)and (orientation:landscape){#legend{display:none}#act-nav{top:34px}#pause-btn{top:46px}#dilation-sub{display:none}#caption{font-size:12px;max-height:24dvh;bottom:52px;padding:6px 10px}body.has-transport #caption{bottom:96px;max-height:24dvh}#transport{flex-wrap:nowrap;bottom:50px;padding:4px 8px}.tp-timeline{flex:1 1 auto;height:26px}.tp-zoom,.tp-label,.tp-hint,.tp-dil-val{display:none}.tp-dil{width:80px;flex:none}.receipt-bar{height:14px}#receipt{bottom:6px}#ladder{top:70px;max-height:calc(100dvh - 190px)}#controls{bottom:96px;max-height:calc(100dvh - 150px)}#walk{top:64px}}#title-bg{position:fixed;inset:0;width:100%;height:100%;display:block}#title-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#03050a8c,#03050ae6 22% 62%,#03050a40 80%,#03050a00),linear-gradient(0deg,rgba(3,5,10,.6),transparent 30%)}.title-inner{position:relative}@media(max-width:760px){#title-shade{background:linear-gradient(180deg,#03050aeb,#03050acc 55%,#03050a8c)}}#next-up{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));pointer-events:auto;z-index:3;background:#060a14f0;border:1px solid rgba(63,216,255,.5);border-radius:16px;padding:20px 22px;box-shadow:0 20px 60px #0009;animation:pop .4s ease-out}#next-up[hidden]{display:none}#next-up b{display:block;font-size:20px;font-weight:400;margin:6px 0 8px}#next-up p{font-size:14px;line-height:1.5;color:#c3d2ea;margin:0 0 16px}.next-buttons{display:flex;gap:10px;flex-wrap:wrap}.next-buttons button{padding:10px 16px}@keyframes pop{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}#orbit-hint{position:absolute;left:50%;top:92px;transform:translate(-50%);font-size:11px;color:var(--dim);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:5px 12px;white-space:nowrap;opacity:0;transition:opacity .6s}body.show-orbit-hint #orbit-hint{opacity:1}@media(max-width:760px){#orbit-hint{top:calc(max(10px,env(safe-area-inset-top)) + 128px);font-size:10px}}
