:root{--bio-bg: #050d1c;--bio-text: #eef5ff;--bio-muted: #9db6d6;--bio-accent: #7cc0ff;--bio-gold: #ffc23d;--bio-panel: rgba(8, 22, 48, .82);--bio-panel-solid: #0a1c3c;--bio-border: rgba(110, 170, 255, .42);--bio-border-soft: rgba(110, 170, 255, .2);--radius: 10px;color:var(--bio-text);background:var(--bio-bg);font-family:IBM Plex Sans,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{overflow:hidden;background:var(--bio-bg)}button,p,h1,h2,ul,ol{font:inherit}button{cursor:pointer}canvas{display:block}.welcome,.stage{position:relative;height:100%}.welcome canvas,.stage canvas{position:absolute;inset:0;width:100%;height:100%}.welcome:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#040b1af0,#040b1ab8 34%,#040b1a00 62%)}.welcome-card{position:absolute;z-index:2;left:5vw;top:50%;transform:translateY(-50%);width:min(40rem,48vw);animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.eyebrow{margin:0 0 .9rem;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:600;color:var(--bio-accent)}.welcome-card h1{margin:0 0 1rem;font-size:clamp(2.1rem,3.9vw,3.7rem);line-height:1.06;font-weight:700;letter-spacing:-.015em}.welcome-card h1 em,.brand em{font-style:normal;color:var(--bio-gold)}.welcome-card p{margin:0 0 .8rem;line-height:1.5;font-size:1.08rem;color:#d3e2f6}.quiet{color:var(--bio-muted)!important;font-size:.95rem!important}.fine{margin-top:1.2rem!important;font-size:.8rem!important;color:#86a0c2!important;max-width:34rem}button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--bio-border);background:linear-gradient(180deg,#12305f,#0b2148);color:var(--bio-text);border-radius:8px;padding:.42rem .85rem;font-weight:600;font-size:.86rem;transition:background .18s ease,border-color .18s ease,transform .18s ease}button:hover:not(:disabled){border-color:#96c8ffd9;background:linear-gradient(180deg,#18407c,#0e2a5a)}button:focus-visible{outline:2px solid var(--bio-gold);outline-offset:2px}button:disabled{opacity:.38;cursor:default}button.on{background:linear-gradient(180deg,#dcebff,#b5d2f7);color:#0a2040;border-color:#dcebff}button.primary{border-color:#a0cdffe6;background:linear-gradient(180deg,#2f7fe6,#1b55b8);color:#fff}button.primary:hover:not(:disabled){background:linear-gradient(180deg,#4592f2,#2163cc)}button.large{margin-top:.5rem;padding:.85rem 1.5rem;font-size:1.05rem;border-radius:10px}.masthead,.chevrons,.dock{position:absolute;left:1rem;right:1rem;z-index:20}.masthead{top:.6rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;pointer-events:none}.brand{grid-column:2;text-align:center;padding:.4rem 1.6rem .45rem;border:1px solid var(--bio-border);border-radius:14px;background:linear-gradient(180deg,#0c224ce6,#07142edb);backdrop-filter:blur(10px)}.brand strong{display:block;font-size:clamp(1.05rem,1.75vw,1.7rem);font-weight:700;letter-spacing:-.005em;line-height:1.2}.brand span{display:block;margin-top:.1rem;font-size:clamp(.78rem,1vw,1rem);color:#cfe0f7;font-style:italic}.counter{grid-column:3;justify-self:end;min-width:9.5rem;padding:.4rem .8rem .45rem;border:1px solid var(--bio-border);border-radius:14px;background:var(--bio-panel);backdrop-filter:blur(10px);font-size:.8rem;font-weight:600;text-align:center}.counter span{display:block}.counter-bar{display:flex;align-items:center;margin-top:.3rem}.counter-bar i{display:block;height:5px;border-radius:99px;background:linear-gradient(90deg,#4c9bf0,#b9dcff);transition:width .4s ease}.counter-bar{position:relative}.counter-bar:before{content:"";position:absolute;left:0;right:2.6rem;height:5px;border-radius:99px;background:#ffffff24}.counter-bar i{position:relative;flex:none;max-width:calc(100% - 2.6rem)}.counter-bar b{margin-left:auto;font-weight:600;font-size:.74rem;color:#cfe0f7;white-space:nowrap}.chevrons{top:4.75rem;display:flex;gap:0;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}.chevron{--notch: 1.05rem;flex:1 1 0;min-width:0;height:2.7rem;margin-left:calc(var(--notch) * -.55);padding:0 1.5rem 0 1.9rem;border:0;border-radius:0;gap:.55rem;color:#fff;background:color-mix(in srgb,var(--c) 30%,#0a1a36);clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% 50%,calc(100% - var(--notch)) 100%,0 100%,var(--notch) 50%);transition:background .3s ease,color .3s ease}.chevron:first-child{margin-left:0;clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% 50%,calc(100% - var(--notch)) 100%,0 100%);border-radius:8px 0 0 8px;padding-left:1.1rem}.chevron:hover:not(:disabled){background:color-mix(in srgb,var(--c) 55%,#0a1a36)}.chevron.done{background:color-mix(in srgb,var(--c) 62%,#0a1a36)}.chevron.on,.chevron.on:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--c) 82%,#fff),var(--c))}.chevron b{flex:none;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:#fff3;font-size:.8rem}.chevron.on b{background:#fff;color:var(--c)}.chevron span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.72rem,.95vw,.95rem);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.35)}.chevron small{flex:none;font-size:.72rem;font-weight:500;opacity:.9}.dock{bottom:.6rem;display:grid;gap:.4rem;pointer-events:none}.dock>*{pointer-events:auto}.dock-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-bottom:-.4rem;pointer-events:none}.dock-head>*{pointer-events:auto}.keys-tab{position:relative;z-index:1;margin-left:.9rem;padding:.28rem 1rem .3rem;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#1f5fc0,#143f8c);border:1px solid var(--bio-border);border-bottom:0;font-weight:700;font-size:.9rem}.tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.3rem;padding-bottom:.35rem}.tools button{padding:.24rem .6rem;font-size:.74rem;font-weight:500;border-color:var(--bio-border-soft);background:#081630c7}.tools button.on{background:#bedaffe6;color:#0a2040}.keys{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:.3rem 1.6rem;align-items:center;padding:.65rem 1.1rem .7rem;border:1px solid var(--bio-border);border-radius:var(--radius);background:linear-gradient(180deg,#0a1c3ee6,#061128e6);backdrop-filter:blur(12px);box-shadow:0 -8px 30px #00000047}.keys-lead{animation:rise .45s ease both}.keys h1{margin:0;font-size:1.22rem;font-weight:700;line-height:1.2}.keys h1:before{content:"";display:inline-block;width:.6rem;height:.6rem;margin-right:.55rem;border-radius:50%;background:var(--c);vertical-align:.08em}.keys-lead p{margin:.22rem 0 0;color:#d3e2f6;line-height:1.38;font-size:.95rem}.keys-msg{margin:0;padding-left:1.1rem;border-left:3px solid var(--c);font-weight:600;font-size:.98rem;line-height:1.4;color:#fff}.keys-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);margin:.35rem 0 0;padding:.5rem 0 0;list-style:none;border-top:1px solid var(--bio-border-soft)}.keys-grid li{padding:0 1rem;font-size:.86rem;font-weight:600;line-height:1.35;border-left:1px solid var(--bio-border-soft)}.keys-grid li:first-child{padding-left:0;border-left:0}.navbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;padding:.38rem .5rem;border:1px solid var(--bio-border-soft);border-radius:var(--radius);background:#050e22db;backdrop-filter:blur(12px)}.nav-side,.nav-main{display:flex;align-items:center;gap:.5rem}.nav-side.end{justify-content:flex-end}.nav-main>button{min-width:7.6rem}.hint{color:var(--bio-muted);font-size:.72rem;white-space:nowrap}.dots{display:flex;align-items:center;gap:3px;padding:0 .5rem}.dots button{width:clamp(8px,.95vw,15px);height:7px;padding:0;border:0;border-radius:99px;background:color-mix(in srgb,var(--c) 28%,#101f3c)}.dots button.done{background:color-mix(in srgb,var(--c) 80%,#101f3c)}.dots button.on{height:13px;background:#fff;box-shadow:0 0 0 2px var(--c)}.dots button:hover{background:var(--c)}.legend,.notes,.drawer{position:absolute;z-index:22;border:1px solid var(--bio-border);border-radius:var(--radius);background:var(--bio-panel);backdrop-filter:blur(12px)}.legend{z-index:18;right:1rem;top:8.4rem;width:13.2rem;padding:.55rem .8rem .6rem;pointer-events:none;animation:rise .4s ease both}.legend h2{margin:.35rem 0 .25rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bio-accent)}.legend h2:first-child{margin-top:0}.legend ul{margin:0;padding:0;list-style:none}.legend li{display:flex;align-items:center;gap:.55rem;margin:.3rem 0;font-size:.8rem;font-weight:500}.legend p{margin:.45rem 0 0;font-size:.66rem;color:var(--bio-muted)}.swatch{flex:none;display:inline-block;width:.95rem;height:.95rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 55%,#fff),var(--c) 62%,color-mix(in srgb,var(--c) 60%,#000))}.swatch.bar{height:.42rem;border-radius:99px;background:var(--c)}.swatch.fiber{height:.3rem;border-radius:99px;background:var(--c);transform:rotate(-24deg)}.swatch.cluster{width:.5rem;height:.5rem;margin:0 .22rem;background:var(--c);box-shadow:.34rem -.2rem 0 -.04rem var(--c),-.3rem .24rem 0 -.06rem var(--c)}.notes,.drawer{top:8.2rem;bottom:11.5rem;width:min(28rem,40vw);overflow:auto;padding:.9rem 1rem 1.2rem;background:#061026f2}.notes{left:1rem}.drawer{right:1rem}.notes header,.drawer header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.notes h2,.drawer h2{margin:.9rem 0 .25rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bio-accent)}.notes p,.refs p{margin:.25rem 0;line-height:1.45;color:#d5e4f5;font-size:.92rem}.note-time{color:var(--bio-muted)!important;font-size:.8rem!important}.notes ul{margin:.2rem 0 0;padding-left:1.1rem}.toc h2{display:flex;align-items:center;gap:.5rem;color:#fff;text-transform:none;letter-spacing:0;font-size:.92rem}.toc h2 b{display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--c);font-size:.78rem}.toc ol{margin:0;padding:0;list-style:none;border-left:2px solid var(--c);margin-left:.65rem}.toc li button{width:100%;justify-content:flex-start;padding:.3rem .6rem;border:0;border-radius:0 6px 6px 0;background:none;font-weight:500;text-align:left}.toc li button span{flex:none;width:1.5rem;color:var(--bio-muted);font-size:.76rem}.toc li button:hover:not(:disabled){background:#78aaff24}.toc li button.on{background:color-mix(in srgb,var(--c) 45%,transparent);color:#fff}.tag{display:inline-block;padding:.22rem .7rem;border-radius:999px;background:linear-gradient(180deg,#0e2044eb,#061028f0);border:1px solid rgba(160,210,255,.42);color:#f4f8ff;font:600 12px/1.3 IBM Plex Sans,sans-serif;white-space:nowrap;transform:translate(-50%,-50%);box-shadow:0 1px #ffffff14 inset,0 6px 18px #00000061;letter-spacing:.015em;text-shadow:0 1px 2px rgba(0,0,0,.35)}.tag.tone{border-color:color-mix(in srgb,var(--tag) 70%,rgba(255,255,255,.25));background:linear-gradient(180deg,color-mix(in srgb,var(--tag) 28%,#0e2044),color-mix(in srgb,var(--tag) 18%,#061028));box-shadow:0 0 0 1px color-mix(in srgb,var(--tag) 35%,transparent),0 6px 16px #00000059}.badge{position:absolute;left:1.2rem;top:8.1rem;margin:0;z-index:4;font-size:.7rem;letter-spacing:.04em;color:#c6d8f0b3;pointer-events:none;text-shadow:0 1px 8px rgba(0,0,0,.45)}.fade{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 40%,rgba(10,26,58,.42),var(--bio-bg) 74%);opacity:0;pointer-events:none;transition:opacity .85s ease;z-index:3}.fade.on{opacity:.72}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.welcome-card{animation-name:rise-center}@keyframes rise-center{0%{opacity:0;transform:translateY(calc(-50% + 14px))}to{opacity:1;transform:translateY(-50%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1180px){.hint,.chevron small{display:none}.legend{width:11.4rem}.keys{grid-template-columns:1fr}.keys-grid{grid-template-columns:1fr 1fr;gap:.35rem 0}.keys-grid li:nth-child(odd){padding-left:0;border-left:0}}@media(max-width:900px){.welcome:after{background:linear-gradient(0deg,#040b1af2,#040b1a99 55%,#040b1a00 85%)}.welcome-card{width:auto;left:5vw;right:5vw;top:auto;bottom:2rem;transform:none;animation-name:rise}.masthead{grid-template-columns:1fr auto;gap:.5rem}.brand{grid-column:1;text-align:left;padding:.35rem .8rem}.brand span{display:none}.counter{grid-column:2;min-width:0}.chevrons{top:3.7rem}.chevron{height:2.1rem;padding:0 .9rem 0 1.25rem;--notch: .7rem}.chevron span{display:none}.chevron.on span{display:block}.chevron:not(.on){flex:0 0 3rem}.legend{display:none}.badge{top:6.1rem}.tools button:nth-child(n+4){display:none}.keys h1{font-size:1rem}.keys-lead p{font-size:.84rem}.keys-msg,.keys-grid{display:none}.navbar{grid-template-columns:auto 1fr auto;gap:.3rem;padding:.3rem}.navbar button{padding:.42rem .55rem;font-size:0;gap:0}.nav-main{justify-content:center}.nav-main>button{min-width:0}.dots{display:none}.notes,.drawer{width:auto;inset:6.2rem .6rem 9.5rem}}@media(max-height:820px){.masthead{top:.4rem}.brand{padding:.28rem 1.2rem .3rem}.chevrons{top:3.95rem}.chevron{height:2.25rem}.legend{top:6.9rem}.badge{top:6.6rem;font-size:.66rem}.keys{padding:.45rem .9rem .5rem}.keys h1{font-size:1.05rem}.keys-lead p,.keys-msg{font-size:.86rem}.keys-grid li{font-size:.78rem}.navbar{padding:.28rem .4rem}.notes,.drawer{top:6.8rem;bottom:10.2rem}}.legend.paths{width:17.5rem}.path{margin:.4rem 0 0;padding:.4rem .5rem .45rem;border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-radius:9px;background:color-mix(in srgb,var(--c) 12%,transparent);opacity:.5;transition:opacity .35s ease,background .35s ease}.path.on{opacity:1;background:color-mix(in srgb,var(--c) 22%,transparent)}.path strong{display:block;font-size:.74rem;font-weight:700;color:color-mix(in srgb,var(--c) 70%,#fff)}.path div{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem;margin-top:.3rem}.path div span{padding:.12rem .5rem;border-radius:99px;background:var(--c);color:#fff;font-size:.72rem;font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.35)}.path div i{font-style:normal;font-size:.8rem;color:color-mix(in srgb,var(--c) 70%,#fff)}.path small{display:block;margin-top:.28rem;font-size:.66rem;color:#cfe0f7}@media(max-width:1180px){.legend.paths{width:14.5rem}}.path small.src{display:block;margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.12);font-size:10px;line-height:1.35;opacity:.72}.welcome-card .credit,.byline,.scene-card{user-select:none}.welcome-card .credit{display:flex;flex-direction:column;gap:.45rem;margin:0 0 1.6rem;font-size:.95rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#fff}.welcome-card .credit span{font-size:.66rem;font-weight:400;letter-spacing:.34em;color:#cfe0f7b8}.welcome-card .credit:after{content:"";width:3.2rem;height:1px;margin-top:.5rem;background:var(--bio-gold)}.byline{grid-column:1;justify-self:start;align-self:center;margin:0;padding-left:.85rem;border-left:1px solid var(--bio-gold);line-height:1.35;text-shadow:0 1px 10px rgba(2,6,16,.9)}.byline span{display:block;font-size:.58rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:#cfe0f7b8}.byline strong{display:block;font-size:.76rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:#fff;white-space:nowrap}.drawer-credit{margin:1.1rem 0 0;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.14);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#cfe0f7cc}.stage:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#03081480,#03081400 17% 66%,#0308148c),radial-gradient(ellipse at 50% 46%,#02061000 52%,#02061080)}.scene-card{position:absolute;left:50%;top:44%;z-index:19;display:flex;flex-direction:column;align-items:center;gap:.5rem;transform:translate(-50%,-50%);pointer-events:none;text-align:center;opacity:0;text-shadow:0 4px 30px rgba(0,0,0,.75);animation:scene-card 2.3s cubic-bezier(.2,.7,.2,1) both}.scene-card small{font-size:.82rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--accent, var(--bio-gold))}.scene-card strong{font-size:clamp(1.8rem,3.6vw,3.4rem);font-weight:700;letter-spacing:-.01em;line-height:1.1;color:#fff;white-space:nowrap}.scene-card i{display:block;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--accent, var(--bio-gold)),transparent);transform-origin:center;animation:scene-rule 2.3s ease both}@keyframes scene-card{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px));letter-spacing:.04em}18%{opacity:1;transform:translate(-50%,-50%);letter-spacing:0}72%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,calc(-50% - 10px))}}@keyframes scene-rule{0%{transform:scaleX(0)}35%{transform:scaleX(1)}to{transform:scaleX(1)}}.keys>*{animation:rise .55s cubic-bezier(.2,.7,.2,1) both}.keys>*:nth-child(2){animation-delay:.08s}button{transition:transform .12s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}button:hover:not(:disabled){box-shadow:0 0 0 1px #8ec5ff59,0 6px 18px #0000004d}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid #8ec5ff;outline-offset:2px}@media(max-width:900px){.byline{display:none}.scene-card strong{white-space:normal}}.facts{display:flex;gap:2.2rem;margin:1.9rem 0 0;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.14);list-style:none}.facts li{display:flex;flex-direction:column;gap:.2rem}.facts b{font-size:1.3rem;font-weight:600;line-height:1;color:#fff}.facts span{white-space:nowrap;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#cfe0f7b8}body.idle,body.idle *{cursor:none!important}.scene-card.s1{--accent: #6cb2ff}.scene-card.s2{--accent: #ffa53d}.scene-card.s3{--accent: #b79dff}.scene-card.s4{--accent: #3ddc9f}.scene-card.s5{--accent: #ff7f96}.wipe{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none}.wipe:before,.wipe:after{content:"";position:absolute}.wipe.s1:before{left:0;right:0;bottom:-24vh;height:24vh;background:linear-gradient(to top,transparent 0%,rgba(90,167,255,.2) 88%,rgba(205,232,255,.95) 98%,transparent 100%);animation:wipe-scan 2.3s cubic-bezier(.4,0,.2,1) both}@keyframes wipe-scan{0%{transform:none;opacity:1}80%{opacity:1}to{transform:translateY(-128vh);opacity:0}}.wipe.s2:before{inset:-12%;background:radial-gradient(circle at 42% 50%,rgba(255,150,40,.5),rgba(255,90,20,.16) 45%,transparent 70%);animation:wipe-flush 2.1s ease-out both}@keyframes wipe-flush{0%{opacity:0;transform:scale(.6)}22%{opacity:1}to{opacity:0;transform:scale(1.5)}}.wipe.s3:before,.wipe.s3:after{top:0;bottom:0;right:-26vw;width:26vw;background:linear-gradient(to left,transparent 0%,rgba(167,139,250,.18) 86%,rgba(228,218,255,.95) 98%,transparent 100%);animation:wipe-signal 1.7s cubic-bezier(.4,0,.2,1) both}.wipe.s3:after{opacity:.5;animation-delay:.32s}@keyframes wipe-signal{to{transform:translate(-130vw)}}.wipe.s4:before{left:0;top:63%;width:100%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,#3ddc9f 30%,#eafff6);box-shadow:0 0 26px 6px #3ddc9f66;transform-origin:left center;animation:wipe-grow 2.3s cubic-bezier(.4,0,.2,1) both}@keyframes wipe-grow{0%{transform:scaleX(0);opacity:1}65%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}.wipe.s5:before,.wipe.s5:after{left:50%;top:46%;width:30vmin;height:30vmin;margin:-15vmin 0 0 -15vmin;border-radius:50%;border:2px solid rgba(255,127,150,.9);box-shadow:0 0 44px 8px #e11d4861,inset 0 0 44px 8px #e11d4838;animation:wipe-spread 2.1s ease-out both}.wipe.s5:after{animation-delay:.35s}@keyframes wipe-spread{0%{transform:scale(.2);opacity:0}15%{opacity:1}to{transform:scale(6);opacity:0}}.brand,.counter,.keys,.navbar,.legend,.help-card{border:1px solid rgba(140,190,255,.26);background:linear-gradient(180deg,#112652bd,#061026d1);backdrop-filter:blur(18px) saturate(1.35);box-shadow:0 14px 44px #00000061,inset 0 1px #ffffff17}.notes,.drawer{border:1px solid rgba(140,190,255,.26);background:linear-gradient(180deg,#0c1c3ef2,#050d20f7);box-shadow:0 18px 50px #00000080,inset 0 1px #ffffff14;scrollbar-width:thin;scrollbar-color:rgba(140,190,255,.4) transparent}.brand span{margin-top:.22rem;font-style:normal;font-size:clamp(.62rem,.8vw,.76rem);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 62%,#fff)}.welcome-card h1 em{background:linear-gradient(90deg,#ffd76a,#ffab1f);-webkit-background-clip:text;background-clip:text;color:transparent}button.large{box-shadow:0 0 0 1px #a0cdff66,0 12px 34px #256edc80}.counter{position:relative;display:flex;align-items:center;gap:.6rem;min-width:0;padding:.3rem .95rem .3rem .4rem}.counter svg{flex:none;width:2.5rem;height:2.5rem;transform:rotate(-90deg)}.counter circle{fill:none;stroke:#ffffff24;stroke-width:3}.counter circle.ring{stroke:var(--c);stroke-linecap:round;filter:drop-shadow(0 0 3px var(--c));transition:stroke-dasharray .5s ease,stroke .4s ease}.counter b{position:absolute;left:.4rem;width:2.5rem;text-align:center;font-size:.66rem;font-weight:700;color:#fff}.counter span{white-space:nowrap;font-size:.84rem}.chevron.on b{box-shadow:0 0 0 3px #ffffff3d}.scene-pop{position:absolute;top:calc(100% - 1px);z-index:30;width:max(20%,17rem);padding:.6rem .5rem .5rem;border:1px solid rgba(140,190,255,.26);border-top:2px solid var(--c);border-radius:0 0 12px 12px;background:#07122af7;animation:rise .2s ease both}.scene-pop strong{display:block;padding:0 .5rem .35rem;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--c) 62%,#fff)}.scene-pop ol{margin:0;padding:0;list-style:none}.scene-pop li button{width:100%;justify-content:flex-start;gap:.6rem;padding:.34rem .5rem;border:0;border-radius:7px;background:none;font-weight:500;font-size:.84rem;text-align:left}.scene-pop li button span{flex:none;width:1.4rem;color:var(--bio-muted);font-size:.74rem}.scene-pop li button:hover:not(:disabled){background:color-mix(in srgb,var(--c) 26%,transparent);box-shadow:none}.scene-pop li button.on{background:color-mix(in srgb,var(--c) 48%,transparent)}.keys{position:relative;overflow:hidden}.keys:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--c),color-mix(in srgb,var(--c) 30%,transparent) 45%,transparent 80%);animation:none}.keys h1{font-size:1.3rem;letter-spacing:-.01em}.keys h1:before{box-shadow:0 0 10px var(--c)}.keys-tab{border-color:color-mix(in srgb,var(--c) 70%,#fff);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 80%,#0a1a36),color-mix(in srgb,var(--c) 46%,#0a1a36));font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}.keys-side{display:grid;gap:.45rem;min-width:0}.notions{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0 0 0 1.25rem;list-style:none}.notions li{padding:.14rem .62rem;border:1px solid color-mix(in srgb,var(--c) 55%,transparent);border-radius:99px;background:color-mix(in srgb,var(--c) 16%,transparent);font-size:.72rem;font-weight:500;color:#e6f0ff}.tools{gap:2px;margin-bottom:.35rem;padding:3px;border:1px solid rgba(140,190,255,.2);border-radius:11px;background:#050e22a8;backdrop-filter:blur(14px)}.tools button{border:0;border-radius:8px;padding:.3rem .7rem;background:transparent;color:#cfe0f7}.tools button:hover:not(:disabled){background:#78aaff29;color:#fff;box-shadow:none}.tools button.on{background:linear-gradient(180deg,#e4efff,#bcd6f8);color:#0a2040}button.primary{position:relative;overflow:hidden;box-shadow:0 0 0 1px #a0cdff59,0 8px 24px #256edc73}button.primary:after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);transform:translate(-160%) skew(-18deg);animation:sheen 5.5s ease-in-out infinite;pointer-events:none}@keyframes sheen{0%,72%{transform:translate(-160%) skew(-18deg)}to{transform:translate(360%) skew(-18deg)}}.dots button{position:relative}.dots button:hover:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);z-index:30;transform:translate(-50%);padding:.32rem .65rem;border:1px solid var(--c);border-radius:7px;background:#061026f7;box-shadow:0 8px 22px #00000073;color:#fff;font-size:.74rem;font-weight:600;white-space:nowrap;pointer-events:none}.tag:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--tag, #7cc0ff);box-shadow:0 0 10px var(--tag, #7cc0ff);vertical-align:1px}.help{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#0206108c;backdrop-filter:blur(4px);animation:fade-in .2s ease both}.help-card{width:min(46rem,92vw);padding:1.3rem 1.6rem 1.5rem;border-radius:16px}.help-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.help-card header strong{font-size:1.1rem}.help-card dl{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:.6rem 1rem;margin:0}.help-card dt{display:flex;justify-content:flex-end;gap:.25rem}.help-card dd{margin:0;font-size:.9rem;color:#d5e4f5}kbd{display:inline-block;min-width:1.7rem;padding:.16rem .45rem;border:1px solid rgba(160,205,255,.45);border-bottom-width:2px;border-radius:6px;background:#142e60cc;font:600 .76rem/1.2 IBM Plex Sans,Segoe UI,sans-serif;text-align:center;color:#fff;white-space:nowrap}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.laser{position:fixed;left:0;top:0;z-index:60;pointer-events:none;will-change:transform}.laser i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#ff5a5a 38%,rgba(255,40,40,.55) 62%,transparent 72%);box-shadow:0 0 18px 6px #ff2d2d8c,0 0 46px 14px #ff2d2d40}body.laser-on,body.laser-on *{cursor:none!important}@media(max-width:900px){.notions,.scene-pop{display:none}.help-card dl{grid-template-columns:auto 1fr}}@media(max-height:820px){.keys h1{font-size:1.1rem}.notions li{font-size:.66rem;padding:.08rem .5rem}}.welcome-glow{position:absolute;inset:-8%;z-index:1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(42vw 30vw at 70% 30%,rgba(255,80,120,.2),transparent 70%),radial-gradient(34vw 26vw at 36% 66%,rgba(255,186,60,.14),transparent 70%),radial-gradient(52vw 36vw at 90% 84%,rgba(60,130,255,.24),transparent 70%);animation:aurora 16s ease-in-out infinite alternate}@keyframes aurora{0%{transform:translate3d(-2%,-1%,0) scale(1);opacity:.75}to{transform:translate3d(3%,2%,0) scale(1.12);opacity:1}}.welcome:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 60% 48%,#02061000 48%,#0206109e),linear-gradient(180deg,#0206108c,#02061000 16% 78%,#020610b3)}.welcome-card>*{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}.welcome-card>*:nth-child(2){animation-delay:.12s}.welcome-card>*:nth-child(3){animation-delay:.24s}.welcome-card>*:nth-child(4){animation-delay:.36s}.welcome-card>*:nth-child(5){animation-delay:.5s}.welcome-card h1{text-shadow:0 6px 40px rgba(0,0,0,.55)}.welcome-card p{text-shadow:0 2px 14px rgba(0,0,0,.6)}.welcome-actions{display:flex;align-items:center;gap:1.2rem;margin-top:1.4rem}.welcome-actions button.large{margin-top:0;padding:.95rem 1.7rem;border-radius:12px;animation:cta-pulse 2.8s ease-out infinite}@keyframes cta-pulse{0%{box-shadow:0 12px 34px #256edc80,0 0 #5aa0ff8c}70%,to{box-shadow:0 12px 34px #256edc80,0 0 0 18px #5aa0ff00}}.enter-hint{font-size:.78rem;color:#cfe0f7bf}.enter-hint kbd{margin-right:.35rem}.facts{gap:.6rem;margin-top:2rem;padding-top:0;border-top:0}.facts li{padding:.6rem .95rem .62rem;border:1px solid rgba(140,190,255,.22);border-radius:12px;background:linear-gradient(180deg,#10244e80,#06102680);backdrop-filter:blur(10px);box-shadow:inset 0 1px #ffffff14}.facts b{font-size:1.35rem;background:linear-gradient(180deg,#fff,#b9d6ff);-webkit-background-clip:text;background-clip:text;color:transparent}.welcome-full{position:absolute;right:1.4rem;top:1.2rem;z-index:3;padding:.4rem .9rem;border-color:#8cbeff4d;background:#0610268c;backdrop-filter:blur(10px);font-size:.78rem;font-weight:500}.legend{width:15.8rem;padding:.7rem .75rem .75rem;border-radius:14px;overflow:hidden}.legend:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--c),transparent 85%)}.legend h2{display:flex;align-items:center;gap:.5rem;margin:.7rem .2rem .3rem;font-size:.6rem;letter-spacing:.2em;color:#cfe0f7c7}.legend h2:after{content:"";flex:1;height:1px;background:#8cbeff33}.legend h2:first-child{margin-top:.1rem}.legend li{gap:.7rem;margin:0;padding:.3rem .45rem;border-radius:9px;transition:opacity .35s ease,background .35s ease,box-shadow .35s ease}.legend li>i{flex:none}.legend li span{display:grid;min-width:0;line-height:1.2}.legend li b{font-size:.82rem;font-weight:600;color:#fff}.legend li small{font-size:.66rem;font-weight:400;color:var(--bio-muted)}.legend .swatch.dot{width:1.1rem;height:1.1rem;box-shadow:0 0 0 1px #ffffff1f,0 2px 8px #0006}.legend .swatch.bar,.legend .swatch.fiber{width:1.1rem}.legend.has-hot li:not(.hot){opacity:.5}.legend li.hot{background:color-mix(in srgb,var(--c) 15%,transparent);box-shadow:inset 2px 0 0 var(--c)}.legend.paths{width:19rem}.path{position:relative;overflow:hidden;margin:.45rem 0 0;padding:.5rem .6rem .55rem .8rem;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);border-radius:11px;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,transparent),#06102633);opacity:.45;transition:opacity .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease}.path:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c);opacity:.5}.path.idle{opacity:.96}.path.on{opacity:1;border-color:color-mix(in srgb,var(--c) 85%,#fff);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 30%,transparent),color-mix(in srgb,var(--c) 8%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent),0 8px 26px color-mix(in srgb,var(--c) 28%,transparent)}.path.on:before{opacity:1;box-shadow:0 0 10px var(--c)}.path strong{font-size:.78rem;color:color-mix(in srgb,var(--c) 55%,#fff)}.path .chain{flex-wrap:nowrap;gap:0;margin-top:.42rem}.path .chain span{padding:.16rem .55rem;transition:opacity .35s ease,box-shadow .35s ease}.path.on .chain span:not(.lit){opacity:.5}.path .chain span.lit{box-shadow:0 0 0 1px #ffffff59,0 0 14px var(--c)}.path .chain .link{position:relative;flex:1 1 1rem;min-width:.8rem;max-width:1.7rem;height:9px;margin:0 2px;overflow:hidden;background:color-mix(in srgb,var(--c) 60%,transparent);clip-path:polygon(0 36%,66% 36%,66% 0,100% 50%,66% 100%,66% 64%,0 64%)}.path.on .chain .link:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);transform:translate(-100%);animation:path-flow 1.5s linear infinite}.path.on .chain .link:nth-of-type(2):after{animation-delay:.25s}.path.on .chain .link:nth-of-type(3):after{animation-delay:.5s}@keyframes path-flow{to{transform:translate(100%)}}.path:not(.on):not(.idle) small{display:none}@media(max-width:1180px){.legend{width:13.4rem}.legend.paths{width:15.5rem}}@media(max-height:760px){.legend li small{display:none}}@media(max-width:900px){.enter-hint,.welcome-full{display:none}.facts{flex-wrap:wrap}}.masthead{animation:hud-top .7s cubic-bezier(.2,.7,.2,1) backwards}.chevrons{animation:hud-top .7s .08s cubic-bezier(.2,.7,.2,1) backwards}.dock{animation:hud-bottom .7s .12s cubic-bezier(.2,.7,.2,1) backwards}.legend{animation-fill-mode:backwards}@keyframes hud-top{0%{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}@keyframes hud-bottom{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}.chevron{position:relative}.chevron u{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#ffffff73,#fff);transition:width .5s ease}.chevron.done u{opacity:.35}.keys-lead{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem}.keys-num{font-size:2.7rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--c) 70%,#fff);font-variant-numeric:tabular-nums}.keys h1:before{display:none}.dots button.first{margin-left:7px}.next{min-width:12rem;max-width:15.5rem;justify-content:space-between;gap:.8rem;padding:.3rem .75rem .34rem 1rem;text-align:left}.next-text{display:grid;min-width:0;line-height:1.18}.next-text small{font-size:.56rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.82}.next-text b{overflow:hidden;font-size:.86rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.toast{position:absolute;left:50%;top:8.6rem;z-index:35;margin:0;padding:.42rem 1.1rem;border:1px solid rgba(140,190,255,.35);border-radius:99px;background:#07122ae6;backdrop-filter:blur(12px);box-shadow:0 10px 30px #0006;font-size:.82rem;font-weight:600;white-space:nowrap;pointer-events:none;animation:toast 1.7s ease both}@keyframes toast{0%{opacity:0;transform:translate(-50%,-8px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.brand,.counter,.chevrons,.legend,.tools,.keys-tab,.navbar{transition:opacity .45s ease}body.clean .brand,body.clean .counter,body.clean .chevrons,body.clean .legend,body.clean .tools,body.clean .keys-tab{opacity:0;pointer-events:none}body.clean .navbar{opacity:0}body.clean .dock:hover .navbar,body.clean .navbar:focus-within{opacity:1}.clean-exit{position:absolute;right:1rem;top:.7rem;z-index:25;padding:.32rem .8rem;border-color:#8cbeff40;background:#06102680;backdrop-filter:blur(10px);font-size:.74rem;font-weight:500;opacity:.35;transition:opacity .3s ease}.clean-exit:hover{opacity:1}.drawer{animation:drawer-in .28s cubic-bezier(.2,.7,.2,1) both}.notes{animation:notes-in .28s cubic-bezier(.2,.7,.2,1) both}@keyframes drawer-in{0%{opacity:0;translate:24px 0}to{opacity:1;translate:0 0}}@keyframes notes-in{0%{opacity:0;translate:-24px 0}to{opacity:1;translate:0 0}}.notes header,.drawer header{position:sticky;top:0;z-index:1;margin:-.9rem -1rem .4rem;padding:.8rem 1rem .6rem;border-bottom:1px solid rgba(140,190,255,.18);background:#091632f5}.notes header strong,.drawer header strong{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}@media(max-width:1500px){.hint{display:none}}@media(max-width:1180px){.next{min-width:9rem;max-width:11rem}.keys-num{font-size:2.1rem}}@media(max-width:900px){.next{min-width:0}.next-text,.keys-num{display:none}.keys-lead{display:block}}@media(max-height:820px){.keys-num{font-size:2.2rem}.toast{top:7rem}}.legend .axis{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .15rem;margin:0 0 .55rem;padding:.45rem .5rem;border:1px solid rgba(255,168,70,.45);border-radius:10px;background:linear-gradient(135deg,#ff9a2e2e,#f2c48c14);box-shadow:inset 0 0 0 1px #ffffff0a;font-size:.66rem;font-weight:600;line-height:1.2;color:#ffe4c0}.legend .axis b{color:#fff}.legend .axis i{display:inline-block;width:.7rem;height:2px;margin:0 .1rem;background:linear-gradient(90deg,#ffb35a,#fff);border-radius:2px}.legend .axis span{margin-left:.15rem;padding:.08rem .4rem;border-radius:99px;background:#ffc23d38;color:#ffd76a;font-size:.62rem;letter-spacing:.04em}.legend .axis.synthesis-note{margin-top:.65rem;border-color:#94a3b873;background:linear-gradient(180deg,#1e304ed9,#0c1830e6)}.legend .axis.synthesis-note span{background:#94a3b838;color:#cbd5e1}.legend{pointer-events:auto}.legend li{padding:0}.legend-item{width:100%;justify-content:flex-start;gap:.7rem;margin:0;padding:.34rem .45rem;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;font:inherit;box-shadow:none}.legend-item:hover:not(:disabled){background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:inset 2px 0 0 var(--c)}.legend-item:focus-visible{outline:2px solid var(--c);outline-offset:1px}.legend.has-hot li:not(.hot) .legend-item{opacity:.55}.legend li.hot .legend-item{background:color-mix(in srgb,var(--c) 15%,transparent);box-shadow:inset 2px 0 0 var(--c)}.legend li.hot .swatch{filter:drop-shadow(0 0 5px var(--c))}button.path{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}button.path:hover:not(:disabled){opacity:1;border-color:color-mix(in srgb,var(--c) 80%,#fff)}.control-canvas{position:fixed;top:5.6rem;left:.85rem;z-index:36;width:min(22rem,calc(100vw - 1.6rem));max-height:min(70vh,34rem);display:flex;flex-direction:column;border:1px solid rgba(140,190,255,.28);border-radius:14px;background:#061026f0;color:#e8f0ff;overflow:hidden;animation:fade-in .2s ease both}.control-canvas:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--c, #3b8fe0),transparent 85%)}.control-canvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .8rem .55rem;border-bottom:1px solid rgba(140,190,255,.14)}.control-canvas-head strong{display:block;font-size:.92rem;font-weight:650;color:#fff}.control-canvas-head span{display:block;margin-top:.15rem;font-size:.7rem;color:var(--bio-muted, #9bb4d4)}.control-canvas-head button{flex:none;padding:.28rem .55rem;font-size:.72rem;border-radius:8px;border:1px solid rgba(140,190,255,.25);background:#14284eb3;color:#d7e6ff}.control-canvas-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:.45rem .5rem;border-bottom:1px solid rgba(140,190,255,.12)}.control-canvas-tabs button{border:0;border-radius:8px;padding:.38rem .4rem;font-size:.74rem;font-weight:600;background:transparent;color:#b7ccea}.control-canvas-tabs button.on{background:color-mix(in srgb,var(--c, #3b8fe0) 28%,transparent);color:#fff}.control-canvas-body{padding:.65rem .7rem .8rem;overflow:auto}.control-hint{margin:0 0 .65rem;font-size:.68rem;line-height:1.35;color:var(--bio-muted, #9bb4d4)}.control-scene-grid{display:grid;gap:.35rem;margin-bottom:.65rem}.control-scene-grid button{display:grid;grid-template-columns:1.4rem 1fr;gap:.55rem;align-items:start;width:100%;text-align:left;padding:.45rem .5rem;border-radius:10px;border:1px solid rgba(140,190,255,.16);background:#0a1834bf;color:#dce8ff}.control-scene-grid button b{color:var(--c, #3b8fe0);font-size:.9rem}.control-scene-grid button span{font-size:.72rem;line-height:1.25}.control-scene-grid button.on{border-color:color-mix(in srgb,var(--c) 70%,#fff);background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:inset 2px 0 0 var(--c)}.control-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.control-row button{flex:1 1 auto;min-width:5.5rem;padding:.4rem .55rem;border-radius:8px;border:1px solid rgba(140,190,255,.2);background:#0c1c3ad9;color:#d7e6ff;font-size:.72rem;font-weight:600}.control-row button.primary{background:color-mix(in srgb,var(--c, #3b8fe0) 55%,#0b1c3a);border-color:color-mix(in srgb,var(--c) 60%,#fff);color:#fff}.control-row button:disabled{opacity:.35;cursor:default}.control-toggles{display:grid;gap:.35rem;margin-bottom:.7rem}.control-toggles label{display:flex;align-items:center;gap:.55rem;padding:.35rem .4rem;border-radius:8px;font-size:.78rem;background:#0a18348c}.control-toggles input{accent-color:var(--c, #3b8fe0)}.control-step-list{margin:0 0 .55rem;padding:0;list-style:none;display:grid;gap:.25rem;max-height:22rem;overflow:auto}.control-step-list button{display:grid;grid-template-columns:1.6rem 1fr;gap:.5rem;width:100%;text-align:left;padding:.38rem .4rem;border:0;border-radius:8px;background:transparent;color:#d7e6ff}.control-step-list button i{font-style:normal;font-size:.72rem;font-weight:700;color:var(--c, #3b8fe0);padding-top:.1rem}.control-step-list button span{display:grid;min-width:0;gap:.08rem}.control-step-list button b{font-size:.76rem;font-weight:600;color:#fff}.control-step-list button small{font-size:.62rem;color:var(--bio-muted, #9bb4d4)}.control-step-list button.on{background:color-mix(in srgb,var(--c) 18%,transparent);box-shadow:inset 2px 0 0 var(--c)}.control-step-list button:hover:not(.on){background:#78aaff1a}body.clean .control-canvas{display:none}@media(max-width:900px){.control-canvas{top:auto;bottom:7.5rem;left:.5rem;right:.5rem;width:auto;max-height:42vh}}
