:root{--ink: #f4f7ff;--ink-soft: #b9c6e4;--ink-mute: #9fb0d0;--bg: #05070f;--glass: rgba(10, 15, 30, .84);--glass-hi: rgba(24, 33, 60, .88);--edge: rgba(150, 180, 255, .18);--edge-hi: rgba(180, 210, 255, .4);--a: #4fd1ff;--t: #ffd23f;--g: #63e6a4;--c: #ff7ab8;--accent: #ffd23f;--accent-ink: #241a00;--good: #63e6a4;--warn: #ffa25c;--bad: #ff7a7a;--r-sm: 10px;--r: 16px;--r-lg: 26px;--r-pill: 999px;--shadow: 0 18px 50px rgba(0, 0, 0, .55), 0 2px 0 rgba(255, 255, 255, .05) inset;--font: ui-rounded, "SF Pro Rounded", "Nunito", "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, monospace;--story-h: 170px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{touch-action:none;user-select:none}#app{position:fixed;inset:0}#stage-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#stage-canvas.grabbing{cursor:grabbing}#stage-canvas.pointing{cursor:pointer}#ui-root{position:absolute;inset:0;pointer-events:none}#ui-root>*{pointer-events:none}.ui-interactive,button,input,.clickable{pointer-events:auto}.noscript{position:fixed;inset:0;display:grid;place-content:center;text-align:center;padding:8vw;gap:12px;font-family:var(--font);color:#f4f7ff;background:#05070f}.boot{position:absolute;inset:0;z-index:90;display:grid;place-items:center;gap:0;background:radial-gradient(120% 90% at 50% 42%,#0d1730,#05070f 68%);transition:opacity .7s ease,visibility .7s;pointer-events:auto}.boot.gone{opacity:0;visibility:hidden;pointer-events:none}.boot__inner{display:grid;justify-items:center;gap:22px;text-align:center;padding:24px}.boot__helix{width:96px;height:128px}.boot__helix circle{animation:bootpulse 1.6s ease-in-out infinite}@keyframes bootpulse{0%,to{opacity:.35}50%{opacity:1}}.boot__title{font-size:clamp(20px,4.4vw,30px);font-weight:800;letter-spacing:-.01em;margin:0}.boot__sub{color:var(--ink-soft);font-size:clamp(14px,2.6vw,17px);margin:0;max-width:34ch;line-height:1.5}.boot__bar{width:min(280px,70vw);height:8px;border-radius:var(--r-pill);background:#ffffff17;overflow:hidden}.boot__fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--a),var(--g),var(--t));transition:width .4s ease}.fatal{position:absolute;inset:0;z-index:120;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#16203c,#05070f 70%);padding:6vw;pointer-events:auto}.fatal__card{max-width:46ch;background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-lg);padding:clamp(22px,5vw,38px);box-shadow:var(--shadow);display:grid;gap:14px;text-align:center}.fatal__card h1{margin:0;font-size:clamp(21px,4.5vw,28px)}.fatal__card p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:clamp(15px,2.6vw,17px)}.fatal__card ul{margin:0;padding-left:1.2em;text-align:left;color:var(--ink-soft);line-height:1.7}.rail{position:absolute;top:calc(12px + var(--safe-t));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:5px;flex-wrap:nowrap;min-width:0;padding:7px 12px;background:var(--glass);border:1px solid var(--edge);border-radius:var(--r-pill);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);pointer-events:auto;max-width:calc(100vw - 24px);transition:opacity .4s ease,transform .4s ease;z-index:40}.rail.hidden{opacity:0;transform:translate(-50%) translateY(-18px);pointer-events:none;visibility:hidden}.rail__group{display:flex;align-items:center;gap:4px;padding:0 4px}.rail__label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);font-weight:800;padding-right:4px;white-space:nowrap}.rail__dot{width:44px;height:44px;border:0;padding:0;border-radius:50%;cursor:pointer;background:transparent;display:grid;place-items:center;position:relative;transition:transform .2s ease}.rail__dot i{display:block;width:12px;height:12px;border-radius:50%;background:#ffffff38;transition:all .3s cubic-bezier(.2,.9,.3,1)}.rail__dot:hover:not(:disabled){transform:scale(1.25)}.rail__dot:hover:not(:disabled) i{background:#ffffff80}.rail__dot:disabled{cursor:default}.rail__dot.visited i{background:var(--ink-soft)}.rail__dot.current i{background:var(--accent);width:15px;height:15px;box-shadow:0 0 0 4px #ffd23f33,0 0 16px #ffd23fb3}.rail__sep{width:1px;height:16px;background:var(--edge);margin:0 2px}.rail__tip{position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%) translateY(4px);background:#0d1428;border:1px solid var(--edge);color:var(--ink);padding:5px 10px;border-radius:var(--r-sm);font-size:12.5px;font-weight:700;white-space:nowrap;opacity:0;transition:all .18s ease;pointer-events:none}.rail__dot:hover .rail__tip{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:1460px){.rail__label{display:none}.rail{gap:1px;padding:4px 7px}.rail__dot{width:40px;height:40px}}@media(max-width:1120px){.rail__dot{width:34px;height:34px}}.tools{position:absolute;top:calc(12px + var(--safe-t));right:calc(12px + var(--safe-r));display:flex;gap:8px;z-index:41}.tool{width:48px;height:48px;border-radius:50%;border:1px solid var(--edge);background:var(--glass);color:var(--ink);cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow);transition:transform .18s cubic-bezier(.2,.9,.3,1),background .2s ease,border-color .2s ease;pointer-events:auto}.tool:hover{transform:translateY(-2px) scale(1.06);background:var(--glass-hi);border-color:var(--edge-hi)}.tool:active{transform:translateY(0) scale(.95)}.tool svg{width:22px;height:22px}.tool.off{color:var(--ink-mute)}.tools.hidden{display:none}.rail__compact{display:none;width:100%;gap:4px;padding:4px 6px}.rail__chapter{flex:1;position:relative;min-height:44px;border:1px solid var(--edge);background:#ffffff0d;color:var(--ink-soft);border-radius:var(--r-sm);font-family:var(--font);font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;overflow:hidden;padding:0 6px;display:grid;place-items:center}.rail__chapter:disabled{opacity:.45;cursor:default}.rail__chapter.current{color:var(--accent-ink);border-color:transparent}.rail__chapterFill{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,#ffd23f73,#ffd23fe6);transition:width .45s cubic-bezier(.2,.9,.3,1)}.rail__chapter.current .rail__chapterFill{background:linear-gradient(90deg,#ffe071,var(--accent))}.rail__chapterName{position:relative;z-index:1}.titlecard{position:absolute;top:calc(74px + var(--safe-t));left:calc(12px + var(--safe-l));max-width:min(34ch,40vw);display:grid;gap:3px;z-index:30;transition:opacity .45s ease,transform .45s ease;background:#070b16b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(150,180,255,.12);border-radius:var(--r);padding:10px 14px 11px;justify-items:start}.titlecard.hidden{display:none}.titlecard__eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);opacity:.9}.titlecard__title{font-size:clamp(17px,3.1vw,25px);font-weight:800;line-height:1.15;margin:0;text-shadow:0 2px 18px rgba(0,0,0,.7)}.titlecard__term{font-size:12.5px;color:var(--ink-soft);font-family:var(--mono);letter-spacing:.02em;margin-top:3px}.titlecard__term b{color:var(--ink-soft);font-weight:700}.scalechip[hidden]{display:none}.scalechip{margin-top:8px;display:inline-grid;gap:1px;justify-items:start;padding:7px 12px;border-radius:var(--r);background:var(--glass);border:1px solid var(--edge);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow);justify-self:start}.scalechip__size{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.scalechip__zoom{font-size:13px;color:var(--accent);font-weight:750;letter-spacing:.01em}.story{position:absolute;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);width:min(760px,calc(100vw - 24px));z-index:35;display:flex;align-items:flex-end;gap:12px;transition:opacity .45s ease,transform .45s ease}.story.hidden{display:none}.story__card{flex:1;background:#080c18e6;border:1px solid var(--edge);border-radius:var(--r-lg);padding:15px 20px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);display:grid;gap:7px;pointer-events:auto;min-height:0}.story__text{margin:0;font-size:clamp(15px,2.5vw,18px);line-height:1.5;color:var(--ink);font-weight:500;letter-spacing:.002em}.story__text b{color:var(--accent);font-weight:800}.story__text .term{color:var(--ink);font-weight:800;border-bottom:2px dotted rgba(255,210,63,.55);cursor:help}.story__hint{margin:0;font-size:clamp(12.5px,2vw,14px);color:var(--ink-soft);display:flex;align-items:center;gap:7px;font-weight:600}.story__scale{display:none;font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);padding-top:5px;border-top:1px solid var(--edge);margin-top:1px}.story__scale b{color:var(--ink)}@media(max-width:900px){.story__scale{display:block}}@media(max-height:560px)and (orientation:landscape){.story__scale{display:none}}.story__hint:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;animation:hintpulse 1.9s ease-in-out infinite}@keyframes hintpulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.nextbtn{flex:none;display:inline-flex;align-items:center;gap:9px;padding:15px 22px;border-radius:var(--r-pill);border:0;cursor:pointer;background:linear-gradient(180deg,#ffe071,var(--accent));color:var(--accent-ink);font-family:var(--font);font-weight:850;font-size:clamp(15px,2.4vw,17px);box-shadow:0 10px 28px #ffc83c4d,0 2px #ffffff73 inset;transition:transform .2s cubic-bezier(.2,.9,.3,1),box-shadow .2s ease,filter .2s ease;pointer-events:auto;white-space:nowrap}.nextbtn:hover:not(:disabled){transform:translateY(-3px) scale(1.03);box-shadow:0 16px 36px #ffc83c6b,0 2px #ffffff80 inset}.nextbtn:active:not(:disabled){transform:translateY(0) scale(.97)}.nextbtn:disabled{background:#ffffff12;color:var(--ink-mute);cursor:not-allowed;box-shadow:none;border:1px solid var(--edge)}.nextbtn svg{width:17px;height:17px}.nextbtn.ready{animation:readybob 2.6s ease-in-out infinite}@keyframes readybob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.tip{position:absolute;z-index:60;padding:9px 13px;border-radius:var(--r);background:#080c1af0;border:1px solid var(--edge-hi);box-shadow:var(--shadow);max-width:30ch;opacity:0;transform:translate(-50%,-130%) scale(.94);transition:opacity .15s ease,transform .2s cubic-bezier(.2,.9,.3,1);pointer-events:none;backdrop-filter:blur(10px)}.tip.on{opacity:1;transform:translate(-50%,-118%) scale(1)}.tip.below{transform:translate(-50%,18%) scale(.94)}.tip.below.on{transform:translate(-50%,6%) scale(1)}.tip__title{font-weight:800;font-size:15.5px;display:flex;align-items:center;gap:7px}.tip__swatch{width:11px;height:11px;border-radius:50%;flex:none}.tip__body{font-size:13.8px;color:var(--ink-soft);margin-top:3px;line-height:1.45}.toasts{position:absolute;left:50%;top:calc(64px + var(--safe-t));transform:translate(-50%);display:grid;gap:8px;justify-items:center;z-index:55;width:min(90vw,460px)}.toast{padding:11px 18px;border-radius:var(--r-pill);font-weight:750;font-size:15px;background:var(--glass-hi);border:1px solid var(--edge-hi);box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:toastin .4s cubic-bezier(.2,.9,.3,1) both;text-align:center;display:flex;align-items:center;gap:9px;max-width:100%}.toast.good{border-color:#63e6a48c;color:#ccffe6;background:#103428db}.toast.bad{border-color:#ff8c8c80;color:#ffdede;background:#3a161adb}.toast.fact{border-color:#78beff73;color:#dceeff;background:#10223ee0}.toast.out{animation:toastout .35s ease forwards}@keyframes toastin{0%{opacity:0;transform:translateY(-14px) scale(.92)}to{opacity:1;transform:none}}@keyframes toastout{to{opacity:0;transform:translateY(-12px) scale(.94)}}.panel{position:absolute;right:calc(12px + var(--safe-r));top:calc(74px + var(--safe-t));transform:none;width:min(280px,34vw);background:#080c18e6;border:1px solid var(--edge);border-radius:var(--r-lg);padding:16px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow);display:grid;gap:13px;pointer-events:auto;z-index:34;transition:opacity .4s ease,transform .4s ease}.panel.hidden{display:none}.panel{max-height:calc(100vh - 74px - 190px - var(--safe-t) - var(--safe-b));overflow-y:auto}.panel__title{font-size:13.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.panel__collapse{display:none}.panel__body{display:grid;gap:inherit}@media(max-width:900px),(max-height:620px){.panel__collapse{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:0 4px;border:0;background:transparent;color:var(--ink-soft);font-family:var(--font);font-weight:750;font-size:13px;cursor:pointer;border-bottom:1px solid var(--edge)}.panel__collapse svg{width:18px;height:18px;transition:transform .25s ease}.panel.collapsed .panel__collapse svg{transform:rotate(-90deg)}.panel.collapsed .panel__body{display:none}.panel.collapsed{max-height:60px}}.panel__row{display:grid;gap:7px}.panel__label{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:700}.panel__label span:last-child{font-family:var(--mono);color:var(--accent);font-size:15px}.panel__note{font-size:13px;color:var(--ink-soft);line-height:1.5}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer;margin:-6px 0}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--bad) 0%,var(--warn) 26%,var(--good) 62%,var(--a) 100%);border:1px solid rgba(255,255,255,.14)}input[type=range]::-moz-range-track{height:8px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--bad) 0%,var(--warn) 26%,var(--good) 62%,var(--a) 100%);border:1px solid rgba(255,255,255,.14)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;margin-top:-11px;background:#fff;border:3px solid #0b1020;box-shadow:0 4px 14px #0009;transition:transform .15s ease}input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid #0b1020;box-shadow:0 4px 14px #0009}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.14)}.panel__pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.panel__pair .pillbtn{padding:11px 8px;font-size:13px}.stat{display:grid;gap:3px}.stat__bar{height:9px;border-radius:var(--r-pill);background:#ffffff17;overflow:hidden}.stat__fill{height:100%;border-radius:inherit;transition:width .5s cubic-bezier(.2,.9,.3,1),background .4s ease}.stat__row{display:flex;justify-content:space-between;font-size:12.5px;font-weight:700;color:var(--ink-soft)}.stat__row b{color:var(--ink);font-family:var(--mono)}.pillbtn{border:1px solid var(--edge);background:#ffffff0f;color:var(--ink);font-family:var(--font);font-weight:750;font-size:15px;padding:13px 18px;min-height:46px;border-radius:var(--r-pill);cursor:pointer;transition:all .18s cubic-bezier(.2,.9,.3,1);pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px}.pillbtn:hover:not(:disabled){background:#ffffff24;border-color:var(--edge-hi);transform:translateY(-2px)}.pillbtn:active:not(:disabled){transform:translateY(0) scale(.97)}.pillbtn:disabled{opacity:.4;cursor:not-allowed}.pillbtn.accent{background:linear-gradient(180deg,#ffe071,var(--accent));color:var(--accent-ink);border-color:transparent;font-weight:850}.pillbtn.danger{border-color:#ff8c8c66;color:#ffd6d6}.seqstrip{font-family:var(--mono);font-size:14px;letter-spacing:.06em;line-height:1.7;word-break:break-all;background:#00000052;border-radius:var(--r-sm);padding:9px 11px;border:1px solid var(--edge);overflow-wrap:anywhere}.seqstrip .bA{color:var(--a)}.seqstrip .bT{color:var(--t)}.seqstrip .bG{color:var(--g)}.seqstrip .bC{color:var(--c)}.seqstrip .bN{color:#5a6480;background:#ffffff0d}.seqstrip .hit{background:#ffd23f47;border-radius:3px}.seqstrip .mut{background:#ff7a7a66;border-radius:3px;outline:1px solid rgba(255,140,140,.8)}.chooser{position:absolute;inset:0;z-index:45;padding:calc(66px + var(--safe-t)) 16px calc(18px + var(--safe-b));pointer-events:none;transition:opacity .5s ease;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.chooser.hidden{opacity:0;pointer-events:none;visibility:hidden}.chooser__inner{display:contents}.chooser__head{display:grid;gap:8px;justify-items:center;max-width:820px;width:100%}.chooser__kicker{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.chooser__title{margin:0;text-align:center;font-size:clamp(22px,4vw,38px);font-weight:850;line-height:1.12;text-shadow:0 4px 30px rgba(0,0,0,.8);letter-spacing:-.015em}.chooser__sub{margin:0;text-align:center;color:var(--ink-soft);font-size:clamp(14px,2.6vw,18px);max-width:46ch;line-height:1.55}.chooser__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.6vw,16px);width:100%;max-width:900px}.pick{pointer-events:auto;cursor:pointer;border:1px solid var(--edge);border-radius:var(--r-lg);background:var(--glass);padding:clamp(12px,2.4vw,20px) 10px;display:grid;gap:6px;justify-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);transition:transform .24s cubic-bezier(.2,.9,.3,1),border-color .24s ease,background .24s ease;color:var(--ink);font-family:var(--font)}.pick:hover{transform:translateY(-7px) scale(1.035);border-color:var(--edge-hi);background:var(--glass-hi)}.pick:active{transform:translateY(-2px) scale(.99)}.pick__emoji{font-size:clamp(30px,6.4vw,48px);line-height:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}.pick__name{font-weight:800;font-size:clamp(14px,2.5vw,17px)}.pick__meta{font-size:clamp(10.5px,1.9vw,12.5px);color:var(--ink-mute);text-align:center;line-height:1.35}.sheet{position:absolute;inset:0;z-index:70;display:grid;place-items:center;background:#03050cb8;backdrop-filter:blur(8px);padding:5vw;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;pointer-events:auto}.sheet.on{opacity:1;visibility:visible}.sheet__card{background:var(--glass-hi);border:1px solid var(--edge-hi);border-radius:var(--r-lg);padding:clamp(20px,4vw,32px);max-width:52ch;width:100%;box-shadow:var(--shadow);display:grid;gap:14px;transform:translateY(14px) scale(.97);transition:transform .35s cubic-bezier(.2,.9,.3,1);max-height:84vh;overflow-y:auto}.sheet.on .sheet__card{transform:none}.sheet__card h2{margin:0;font-size:clamp(19px,3.6vw,25px)}.sheet__card p{margin:0;color:var(--ink-soft);line-height:1.6;font-size:clamp(15px,2.4vw,17px)}.sheet__list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.sheet__list li{display:flex;gap:11px;align-items:flex-start;font-size:clamp(15px,2.3vw,16.5px);line-height:1.55;color:var(--ink-soft)}.sheet__list b{color:var(--ink)}.sheet__ico{flex:none;width:30px;height:30px;border-radius:9px;background:#ffffff14;display:grid;place-items:center;font-size:15px}.sheet__foot{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.celebrate{position:absolute;inset:0;z-index:65;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .6s ease}.celebrate.on{opacity:1}.celebrate__word{font-size:clamp(34px,9vw,92px);font-weight:900;letter-spacing:-.03em;background:linear-gradient(105deg,var(--a),var(--g) 34%,var(--t) 66%,var(--c));-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;filter:drop-shadow(0 8px 40px rgba(0,0,0,.7));animation:pop .9s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop{0%{transform:scale(.5) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}.dragring{position:absolute;width:74px;height:74px;border-radius:50%;z-index:25;border:2px dashed rgba(255,210,63,.55);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.7);transition:opacity .4s ease,transform .4s ease}.dragring.on{opacity:1;transform:translate(-50%,-50%) scale(1);animation:ringspin 9s linear infinite}@keyframes ringspin{to{transform:translate(-50%,-50%) rotate(360deg)}}.legend{position:absolute;left:calc(12px + var(--safe-l));bottom:calc(14px + var(--safe-b));display:grid;gap:6px;z-index:32;pointer-events:none;transition:opacity .4s ease,transform .4s ease}.legend.hidden{display:none}.legend__row{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--ink-soft)}.legend__chip{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-family:var(--mono);font-weight:800;font-size:12px;color:#06101c;box-shadow:0 3px 10px #00000080}@media(max-width:1180px){.legend{display:none}}@media(max-width:860px){.panel{top:auto;bottom:calc(150px + var(--safe-b));right:calc(10px + var(--safe-r));left:calc(10px + var(--safe-l));width:auto;transform:none;padding:13px;max-height:min(46vh,calc(100vh - 300px))}.panel.hidden{transform:translateY(20px)}.titlecard{max-width:min(30ch,60vw);top:calc(70px + var(--safe-t))}.legend{display:none}}@media(max-width:900px){.story{width:calc(100vw - 16px);bottom:calc(8px + var(--safe-b));flex-direction:column;align-items:stretch;gap:7px}.story__card{padding:10px 13px;gap:5px}.story__text{font-size:15px;line-height:1.42}.story__hint{font-size:12.5px}.nextbtn{width:100%;justify-content:center;padding:12px 16px}.rail{top:0;left:0;right:0;transform:none;width:100%;max-width:none;border-radius:0;border:0;border-bottom:1px solid var(--edge);padding:0;gap:0;background:#060a14eb}.rail.hidden{transform:translateY(-30px)}.rail__group,.rail__label,.rail__sep,.rail__tip{display:none}.rail__compact{display:flex}.tools{top:calc(60px + var(--safe-t));right:calc(8px + var(--safe-r));gap:5px}.tool{width:44px;height:44px}.titlecard{max-width:calc(100vw - 168px);top:calc(60px + var(--safe-t));left:calc(8px + var(--safe-l));padding:7px 11px 8px;gap:1px}.titlecard__term,.titlecard .scalechip{display:none}.titlecard__title{font-size:15.5px;line-height:1.2}.titlecard__eyebrow{font-size:10.5px}.chooser__grid{grid-template-columns:repeat(2,1fr)}.chooser{padding-top:calc(40px + var(--safe-t))}.chooser__sub{display:none}.panel{bottom:calc(var(--story-h) + 14px + var(--safe-b));max-height:min(34vh,calc(100vh - var(--story-h) - 190px - var(--safe-t) - var(--safe-b)));overflow-y:auto;padding:10px 11px;gap:8px}.panel__row{gap:5px}.panel__note{font-size:12.5px;line-height:1.4}.stat__row{font-size:12px}.pillbtn{padding:11px 14px;min-height:44px;font-size:14px}.chooser__grid{gap:8px}.pick{padding:10px 8px}.toasts{top:calc(90px + var(--safe-t))}}@media(max-width:900px)and (max-height:700px){.titlecard__title{font-size:15px}.panel{max-height:40vh}}@media(max-height:560px)and (orientation:landscape){.story{width:min(540px,calc(100vw - 300px));bottom:calc(6px + var(--safe-b));flex-direction:row;align-items:center}.story__card{padding:8px 12px;gap:2px;max-height:108px;overflow-y:auto}.story__text{font-size:13.5px;line-height:1.38}.story__hint{font-size:11.5px}.nextbtn{width:auto;padding:10px 14px;font-size:13.5px;flex:none}.chooser__grid{grid-template-columns:repeat(4,1fr)}.chooser__sub{display:none}.chooser{padding-top:calc(34px + var(--safe-t));padding-bottom:calc(8px + var(--safe-b))}.pick{padding:7px 6px;gap:1px}.pick__meta{display:none}.titlecard{top:calc(34px + var(--safe-t))}.tools{top:calc(30px + var(--safe-t))}.panel{top:calc(84px + var(--safe-t));bottom:auto;left:auto;right:calc(10px + var(--safe-r));width:min(230px,30vw);max-height:calc(100vh - 84px - 152px - var(--safe-t) - var(--safe-b));padding:10px;gap:8px}.panel__note{font-size:12px}.toasts{top:calc(34px + var(--safe-t))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1ms!important}}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
