:root{--bg: #f6f7f9;--surface: #ffffff;--surface2: #f0f2f5;--surface3: #e3e7ed;--ink: #0a0d14;--ink2: #4b5363;--muted: #8a92a3;--line: #e4e7ec;--brand: #ff5a1f;--brand-ink: #c2410c;--brand-soft: #fff0e8;--gold: #f5a524;--gold-soft: #fff4dc;--violet: #2f6bff;--violet-soft: #e8efff;--ok: #12b76a;--ok-soft: #e3f6ec;--ok-ink: #067a46;--danger: #e5484d;--danger-soft: #fde8e8;--blue: #2f6bff;--cyan: #06b6d4;--hero1: #07101f;--hero2: #0b1f45;--shadow: 0 1px 2px rgba(10, 13, 20, .04), 0 6px 20px -12px rgba(10, 13, 20, .16);--shadow-lg: 0 28px 60px -28px rgba(10, 20, 45, .45);--r: 16px;--ease: cubic-bezier(.2, .8, .2, 1);--head: "Geist", "Inter", system-ui, sans-serif;--body: "Geist", "Inter", system-ui, -apple-system, sans-serif;--mono: "Geist Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:light}:root[data-theme=dark]{--bg: #07090e;--surface: #0e1118;--surface2: #151923;--surface3: #232836;--ink: #f1f3f7;--ink2: #a4acbd;--muted: #6b7386;--line: #1d2230;--brand: #ff6b2c;--brand-ink: #ffa070;--brand-soft: #2a160c;--gold: #f7b23d;--gold-soft: #2c2314;--violet: #5b8cff;--violet-soft: #101c3a;--ok: #22c983;--ok-soft: #0e2a22;--ok-ink: #4ade9a;--danger: #f2555a;--danger-soft: #3a1618;--blue: #5b8cff;--cyan: #22d3ee;--hero1: #050810;--hero2: #0b1a3a;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px -14px rgba(0, 0, 0, .7);--shadow-lg: 0 28px 60px -24px rgba(0, 0, 0, .8);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--head);letter-spacing:-.02em;margin:0}.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic-fill{fill:currentColor}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}[hidden]{display:none!important}#splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#12285a,#04070f 70%);color:#fff;transition:opacity .45s ease}#splash.out{opacity:0;pointer-events:none}.sp-in{text-align:center;animation:spIn .7s var(--ease) both}.sp-icon{border-radius:22px;box-shadow:0 20px 50px -10px #ff5a1f73}.sp-name{font:800 34px var(--head);margin-top:16px;letter-spacing:-.03em}.sp-sub{opacity:.7;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:11.5px}.sp-bar{width:120px;height:4px;border-radius:4px;background:#ffffff26;margin:22px auto 0;overflow:hidden}.sp-bar i{display:block;height:100%;width:40%;background:linear-gradient(90deg,#ff6b2c,#ffb26b);border-radius:4px;animation:spBar 1.1s ease-in-out infinite}@keyframes spIn{0%{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes spBar{0%{transform:translate(-100%)}to{transform:translate(260%)}}.tb{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:10px max(16px,env(safe-area-inset-left)) 10px;padding-top:max(10px,env(safe-area-inset-top));background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}.icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .15s,background .15s}.icon-btn:hover{background:var(--surface2)}.icon-btn:active{transform:scale(.94)}.tb-brand{display:flex;align-items:center;gap:10px}.logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#0a0d14;color:#ff6b2c;box-shadow:inset 0 0 0 1px #ffffff14,0 6px 16px -8px #ff5a1f99}:root[data-theme=dark] .logo{background:#ff5a1f;color:#0a0d14}.brand-txt{display:flex;flex-direction:column;line-height:1.05}.brand-txt b{font:800 17px var(--head);letter-spacing:-.02em}.brand-txt small{font-size:10.5px;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tabs{display:flex;gap:4px;margin:0 auto;padding:4px;border-radius:14px;background:var(--surface2);border:1px solid var(--line)}.tab{display:flex;align-items:center;gap:7px;padding:8px 14px;border:0;border-radius:10px;background:none;color:var(--ink2);font-weight:650;font-size:14px;transition:background .2s,color .2s}.tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.tab[aria-selected=true] .ic{color:var(--brand)}.tb-right{display:flex;align-items:center;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:99px;background:var(--gold-soft);color:#a8650a;font-weight:800;font-size:14px}:root[data-theme=dark] .chip{color:var(--gold)}.chip .ic{width:18px;height:18px}.chip.pop{animation:pop .5s var(--ease)}@keyframes pop{40%{transform:scale(1.18)}}.standalone .back{display:none}#view{max-width:1160px;margin:0 auto;padding:22px 16px 120px;outline:none}.view-in{animation:viewIn .4s var(--ease) both}.view-in.from-right{animation-name:viewInR}.view-in.from-left{animation-name:viewInL}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}}@keyframes viewInR{0%{opacity:0;transform:translate(24px)}}@keyframes viewInL{0%{opacity:0;transform:translate(-24px)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:13px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:15px;transition:transform .15s,filter .15s,background .15s;text-decoration:none;white-space:nowrap}.btn:hover{filter:brightness(1.04)}.btn:active{transform:translateY(1px) scale(.98)}.btn.primary{background:var(--brand);border-color:transparent;color:#fff;box-shadow:0 10px 22px -12px #ff5a1fe6,inset 0 1px #ffffff38,inset 0 -2px #0000001f}.btn.dark{background:var(--ink);color:var(--bg);border-color:transparent}.btn.ghost{background:transparent}.btn.sm{height:36px;padding:0 14px;font-size:13.5px;border-radius:10px}.btn.wide{width:100%}.btn[disabled]{opacity:.45;pointer-events:none}.section-h{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:34px 2px 14px}.section-h h2{font-size:22px}.section-h p{margin:4px 0 0;color:var(--ink2)}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:10px;align-items:center;border-radius:26px;padding:34px;overflow:hidden;color:#fff;background:radial-gradient(640px 360px at 100% 0%,rgba(255,107,44,.22),transparent 60%),radial-gradient(600px 320px at 0% 100%,rgba(47,107,255,.32),transparent 60%),linear-gradient(135deg,var(--hero1),var(--hero2));box-shadow:var(--shadow-lg);border:1px solid rgba(147,197,253,.12)}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(147,197,253,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(147,197,253,.06) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent 90%)}.hero>*{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#ffa070;font-family:var(--mono);font-weight:600;letter-spacing:.08em}.hero h1{font-size:clamp(28px,4vw,44px);line-height:1.07;margin:10px 0 12px}.hero h1 em{font-style:normal;background:linear-gradient(90deg,#ff8a3d,#ffd0a8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lead{color:#b9c4d8;max-width:520px;margin:0 0 20px;font-size:16px}.hero-cta{display:flex;gap:10px;flex-wrap:wrap}.hero .btn:not(.primary){background:#ffffff1a;border-color:#ffffff2e;color:#fff}.next-up{display:flex;align-items:center;gap:12px;margin-top:22px;padding:10px 14px 10px 10px;border-radius:14px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);width:fit-content;max-width:100%}.next-up b{display:block;font-size:14.5px}.next-up span{font-size:12.5px;color:#93a2bd}.ring{--p: 0;width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(#ff6b2c calc(var(--p) * 1%),#ffffff24 0)}.ring span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#0a1430;font-size:11.5px;font-weight:800}.hero-art{position:relative}.hero-stage{border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -20px #0009;border:1px solid rgba(147,197,253,.18);aspect-ratio:16 / 9;background:#0b1f45}.hero-stage svg{display:block;width:100%;height:100%}.coach{position:relative;margin:-26px 0 0 14px;display:flex;align-items:flex-start;gap:8px;border:0;background:none;padding:0;text-align:left;color:var(--ink)}.coach .av{border-radius:50%;box-shadow:0 8px 18px -6px #00000080;border:3px solid #fff;display:grid;background:#fff}.coach .bubble{max-width:260px;background:#fff;border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:13.5px;font-weight:600;box-shadow:0 12px 30px -10px #00000073;color:#0b0f1e}.coach .bubble small{display:flex;align-items:center;gap:4px;margin-top:4px;color:#c2410c;font-weight:800;font-size:11.5px}.coach .bubble small .ic{width:14px;height:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.stat{display:flex;align-items:center;gap:12px;padding:14px 16px}.stat b{font:800 20px var(--head);display:block;line-height:1.1}.stat span{font-size:12.5px;color:var(--muted);font-weight:600}.badge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}.b-green{background:var(--brand-soft);color:var(--brand-ink)}.b-violet{background:var(--violet-soft);color:var(--violet)}.b-gold{background:var(--gold-soft);color:#c27c0e}.b-blue{background:color-mix(in srgb,var(--blue) 14%,transparent);color:var(--blue)}.b-pink{background:color-mix(in srgb,#ec4899 14%,transparent);color:#ec4899}.path{display:grid;grid-template-columns:1fr 300px;gap:26px;align-items:start}.path-side{position:sticky;top:84px}.path-side .side-card{display:flex;flex-direction:column;max-height:calc(100vh - 104px);max-height:calc(100dvh - 104px)}.path-side .map{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.path-side .map::-webkit-scrollbar{display:none;width:0;height:0}.path-side .map li,.path-side .map-row{min-width:0;max-width:100%}.mod{position:relative;margin-bottom:26px}.mod-head{display:flex;gap:14px;align-items:center;padding:18px;border-radius:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.mod-head:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--c)}.mod-ic{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex:none;color:#fff;background:var(--c);box-shadow:0 10px 20px -10px var(--c)}.mod-ic .ic{width:26px;height:26px}.mod-head .txt{flex:1;min-width:0}.mod-head .k{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.mod-head .k i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}.mod-head .k .ic{width:13px;height:13px}.mod-head h3{font-size:19px;margin:3px 0 2px}.mod-head p{margin:0;color:var(--ink2);font-size:14px}.mod-prog{--p: 0;width:54px;height:54px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--surface3) 0)}.mod-prog span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-weight:800;font-size:15px}.mod-prog small{font-size:11px;color:var(--muted)}.mod.locked .mod-head{opacity:.85}.trail{position:relative;padding:26px 0 10px;--amp: min(130px, 18vw);overflow-x:clip;overflow-clip-margin:12px}.trail .chart{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.trail .chart .todo{stroke:var(--surface3);stroke-width:5;fill:none;stroke-dasharray:2 12;stroke-linecap:round}.trail .chart .done{stroke:var(--c);stroke-width:6;fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--c) 50%,transparent))}.trail .chart .area{fill:var(--c);opacity:.07}.node-wrap{position:relative;display:flex;justify-content:center;height:108px;transform:translate(calc(var(--o) * var(--amp)));z-index:1}.node{position:relative;width:70px;height:70px;border-radius:22px;display:grid;place-items:center;border:0;color:#fff;background:var(--c);box-shadow:inset 0 -6px #0000002e,0 12px 22px -12px var(--c);transition:transform .18s var(--ease)}.node .ic{width:28px;height:28px}.node:hover{transform:translateY(-2px)}.node:active{transform:translateY(2px);box-shadow:inset 0 -2px #0000002e}.node-wrap.locked .node{background:var(--surface3);color:var(--muted);box-shadow:inset 0 -6px #0000000f}.node-wrap.open .node{background:var(--surface);color:var(--c);box-shadow:inset 0 0 0 3px var(--c),inset 0 -6px color-mix(in srgb,var(--c) 30%,transparent)}.node-wrap.perfect .node{background:linear-gradient(140deg,#f7c948,#e59a0b);box-shadow:inset 0 -6px #00000029,0 12px 22px -10px #e59a0b}.node-wrap.current .node{width:80px;height:80px;border-radius:24px;animation:nodeBeat 2.4s ease-in-out infinite}.node-wrap.current .node:after{content:"";position:absolute;inset:-9px;border-radius:30px;border:3px solid var(--c);opacity:.35;animation:halo 2.4s ease-out infinite}@keyframes nodeBeat{50%{transform:translateY(-3px)}}@keyframes halo{0%{transform:scale(.92);opacity:.5}to{transform:scale(1.18);opacity:0}}.node-tip{position:absolute;top:-30px;left:50%;transform:translate(-50%);padding:4px 11px;border-radius:9px;background:var(--ink);color:var(--bg);font-size:12px;font-weight:800;white-space:nowrap;animation:tipBob 1.6s ease-in-out infinite;z-index:2}.node-tip:after{content:"";position:absolute;left:50%;bottom:-5px;margin-left:-5px;border:5px solid transparent;border-bottom:0;border-top-color:var(--ink)}@keyframes tipBob{50%{transform:translate(-50%,-3px)}}.node-label{position:absolute;top:14px;width:190px;font-size:13px;line-height:1.3;cursor:pointer}.node-label.l{right:calc(50% + 54px);text-align:right}.node-label.r{left:calc(50% + 54px)}.node-label small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.node-label b{font-weight:700}.node-wrap.locked .node-label{opacity:.6}.stars{display:inline-flex;gap:1px;color:var(--surface3);margin-top:2px}.stars .ic{width:14px;height:14px}.stars .on{color:var(--gold)}.pop{position:absolute;top:92px;left:50%;transform:translate(-50%);width:280px;z-index:5;padding:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);animation:popIn .25s var(--ease)}.pop:before{content:"";position:absolute;top:-8px;left:50%;margin-left:-8px;width:16px;height:16px;background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-6px) scale(.97)}}.pop-meta{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pop-meta i{width:3px;height:3px;border-radius:50%;background:currentColor}.pop h4{font-size:17px;margin:6px 0 4px}.pop p{margin:0 0 12px;color:var(--ink2);font-size:14px}.pop-note{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--ink2);background:var(--surface2);padding:10px;border-radius:12px}.pop-best{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:12.5px;color:var(--muted);font-weight:600}.node-wrap.popped{z-index:6}.mod-end{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;margin:4px auto 0;padding:10px 16px;border-radius:99px;border:2px dashed var(--line);color:var(--ink2);font-size:14px;background:var(--surface)}.mod-end .ic{color:var(--muted)}.mod-end.on{border-style:solid;border-color:var(--c);color:var(--ink)}.mod-end.on .ic{color:var(--c)}.side-card{padding:16px}.side-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.side-h b{font:800 16px var(--head)}.side-h span{font-size:12.5px;color:var(--muted);font-weight:600}.map{list-style:none;margin:0;padding:0;display:grid;gap:4px}.map-row{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:12px;background:none;text-align:left;overflow:hidden}.map-row:hover{background:var(--surface2)}.map-row .dot{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);flex:none}.map-row .dot .ic{width:17px;height:17px}.map-row.done .dot{background:var(--c);color:#fff}.map-row.cur{background:var(--surface2)}.map-row .t{flex:1;min-width:0;line-height:1.2}.map-row .t small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.map-row .t span{font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.map-row .v{font-size:12px;font-weight:700;color:var(--muted)}.map-row .mini{position:absolute;left:50px;right:10px;bottom:3px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--c) var(--p),transparent var(--p));opacity:.7}.install-card{display:flex;align-items:center;gap:14px;width:100%;margin-top:16px;padding:14px;text-align:left}.install-card span{flex:1}.install-card b{display:block}.install-card small{color:var(--ink2)}.watch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.wcard{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);transition:transform .2s var(--ease),box-shadow .2s}.wcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.wthumb{position:relative;aspect-ratio:16 / 9;background:#f6f8fc;overflow:hidden}.wthumb svg{width:100%;height:100%;display:block}.wthumb .play{position:absolute;inset:auto 10px 10px auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#0b1b33d9;color:#fff}.wthumb .play .ic{width:18px;height:18px;fill:currentColor}.wcard.locked .wthumb{filter:grayscale(1) blur(1px);opacity:.55}.wbody{padding:12px 14px 14px}.wbody small{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c)}.wbody b{display:block;font-size:15px;margin-top:2px}.wbody span{font-size:12.5px;color:var(--muted)}.mod-chip{display:inline-flex;align-items:center;gap:8px;margin:22px 0 10px;font:800 15px var(--head)}.mod-chip i{width:10px;height:10px;border-radius:3px;background:var(--c)}.search{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);margin-bottom:16px}.search input{flex:1;border:0;background:none;font:inherit;color:inherit;outline:none;font-size:15px}.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.term{padding:14px 16px;display:flex;gap:10px;align-items:flex-start}.term b{font:700 15.5px var(--head);display:block}.term p{margin:3px 0 0;color:var(--ink2);font-size:14px}.term small{display:block;margin-top:6px;font-size:11.5px;font-weight:700;color:var(--muted)}.term .hear{margin-left:auto;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);display:grid;place-items:center;flex:none}.term .hear .ic{width:16px;height:16px}.term.locked{opacity:.55}.empty{text-align:center;padding:50px 20px;color:var(--ink2)}.empty .ic{width:40px;height:40px;color:var(--muted)}#player{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--bg);animation:playerIn .35s var(--ease)}@keyframes playerIn{0%{opacity:0;transform:translateY(20px)}}.p-top{position:relative;display:flex;align-items:center;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--surface)}.p-title{flex:1;min-width:0}.p-title small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.p-title b{font:700 16px var(--head);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-segs{display:flex;gap:4px;flex:1.4;max-width:420px}.p-segs i{flex:1;height:6px;border-radius:6px;background:var(--surface3);overflow:hidden;position:relative}.p-segs i:after{content:"";position:absolute;inset:0;width:var(--f, 0%);background:var(--brand);border-radius:6px;transition:width .4s var(--ease)}.p-segs i.q:after{background:var(--gold)}.p-qn,.p-qbar{display:none}.p-qbar{position:absolute;left:0;right:0;bottom:-1px;height:4px;background:var(--surface3)}.p-qbar i{display:block;height:100%;width:var(--f, 0%);background:var(--c, var(--brand));border-radius:0 4px 4px 0;transition:width .45s var(--ease)}.p-qn{flex:none;padding:4px 10px;border-radius:99px;background:var(--surface2);color:var(--ink2);font-size:12.5px;font-weight:750;font-variant-numeric:tabular-nums}.p-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;padding:22px 16px 30px}.p-inner{width:100%;max-width:980px}.p-inner.w-mode{max-width:var(--fit-w, 980px)}.p-inner.q-mode{max-width:680px}.step-in{animation:stepIn .35s var(--ease) both}@keyframes stepIn{0%{opacity:0;transform:translateY(10px)}}.scene-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}.scene-h .n{white-space:nowrap;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink);background:var(--brand-soft);padding:4px 10px;border-radius:99px}.scene-h h2{font-size:20px}.stage-card{position:relative;border-radius:22px;overflow:hidden;background:#f6f8fc;box-shadow:var(--shadow-lg);border:1px solid var(--line);aspect-ratio:16 / 9}.stage-card svg.hw-stage{display:block;width:100%;height:100%}.stage-card .tap-play{position:absolute;inset:0;display:grid;place-items:center;border:0;background:#0b1b3347;color:#fff;opacity:0;pointer-events:none;transition:opacity .2s}.stage-card.paused .tap-play{opacity:1;pointer-events:auto}.tap-play span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#0b1b33cc;backdrop-filter:blur(6px)}.tap-play .ic{width:32px;height:32px;fill:currentColor}.cap{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 16px;min-height:76px;border-radius:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.cap .av{flex:none;border-radius:50%;overflow:hidden;display:grid}.cap p{margin:0;font-size:16.5px;line-height:1.5;font-weight:500}.cap p.swap{animation:capIn .35s var(--ease)}@keyframes capIn{0%{opacity:0;transform:translateY(5px)}}.cap.off p{display:none}.cap.off:after{content:"Captions off";color:var(--muted);font-size:13px;align-self:center}.talking .cap .av{animation:talk 1s ease-in-out infinite}@keyframes talk{50%{transform:scale(1.06)}}.ctrls{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.ctrls .grow{flex:1}.cbtn{height:44px;min-width:44px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:700;font-size:13.5px}.cbtn.main{background:var(--ink);color:var(--bg);border-color:transparent;min-width:52px}.cbtn.main .ic{fill:currentColor}.cbtn[aria-pressed=false]{color:var(--muted)}.cbtn[disabled]{opacity:.4;pointer-events:none}.beat-dots{display:flex;gap:5px;align-items:center}.beat-dots i{width:7px;height:7px;border-radius:50%;background:var(--surface3);transition:background .3s,transform .3s}.beat-dots i.on{background:var(--brand);transform:scale(1.25)}.beat-dots i.past{background:color-mix(in srgb,var(--brand) 55%,transparent)}.watch-end{margin-top:14px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);animation:stepIn .4s var(--ease)}.watch-end p{margin:0;flex:1;font-weight:600}@media (max-height: 760px){.p-body:has(>.w-mode){padding-top:12px;padding-bottom:14px}.w-mode .scene-h{margin-bottom:8px}.w-mode .cap{margin-top:10px;padding:10px 14px;min-height:0}.w-mode .ctrls,.w-mode .watch-end{margin-top:10px}.w-mode .watch-end{padding:10px 14px}}.q-kicker{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#b7790f}:root[data-theme=dark] .q-kicker{color:var(--gold)}.q-kicker .ic{width:16px;height:16px}.q-title{font-size:clamp(20px,3vw,26px);line-height:1.25;margin:8px 0 20px}.q-hear{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);vertical-align:middle;margin-left:6px}.q-hear .ic{width:16px;height:16px}.opts{display:grid;gap:10px}.opt{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:12px 16px;border-radius:16px;border:2px solid var(--line);background:var(--surface);text-align:left;font-size:15.5px;font-weight:600;transition:border-color .15s,background .15s,transform .12s;box-shadow:0 3px 0 var(--line)}.opt:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.opt .k{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface2);font-size:13px;font-weight:800;color:var(--ink2);flex:none}.opt.sel{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 8%,var(--surface))}.opt.sel .k{background:var(--blue);color:#fff}.opt.right{border-color:var(--ok);background:var(--ok-soft)}.opt.right .k{background:var(--ok);color:#fff}.opt.wrong{border-color:var(--danger);background:var(--danger-soft);animation:shake .4s}.opt.wrong .k{background:var(--danger);color:#fff}.opts.locked .opt{pointer-events:none}@keyframes shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.tf{grid-template-columns:1fr 1fr}.tf .opt{justify-content:center;font-size:17px;min-height:76px}.match{display:grid;grid-template-columns:1fr 1fr;gap:10px}.match .col{display:grid;gap:10px;align-content:start}.match .opt{min-height:54px;font-size:14.5px}.match .opt.done{opacity:.45;border-color:var(--ok);background:var(--ok-soft);pointer-events:none;box-shadow:none}.order-list{display:grid;gap:8px}.order-slot{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border-radius:14px;border:2px dashed var(--line);color:var(--muted);font-weight:600}.order-slot.filled{border-style:solid;border-color:var(--blue);color:var(--ink);background:var(--surface);cursor:pointer}.order-slot .n{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--surface2);font-size:12px;font-weight:800;flex:none}.order-slot.right{border-color:var(--ok);background:var(--ok-soft)}.order-slot.wrong{border-color:var(--danger);background:var(--danger-soft)}.order-pool{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.order-pool .opt{width:auto;min-height:46px;padding:8px 14px}.calc{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:18px;border:2px solid var(--line);background:var(--surface);max-width:360px}.calc.right{border-color:var(--ok);background:var(--ok-soft)}.calc.wrong{border-color:var(--danger);background:var(--danger-soft)}.calc span{font:800 28px var(--head);color:var(--muted)}.calc input{flex:1;min-width:0;border:0;background:none;outline:none;font:800 30px var(--head);color:var(--ink)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:360px;margin-top:12px}.keypad button{height:52px;border-radius:14px;border:1px solid var(--line);background:var(--surface);font:700 19px var(--head);box-shadow:0 3px 0 var(--line)}.keypad button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.fb{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:16px;animation:stepIn .3s var(--ease)}.fb.ok{background:var(--ok-soft)}.fb.no{background:var(--danger-soft)}.fb .ic{width:26px;height:26px;flex:none}.fb.ok .ic{color:var(--ok-ink)}.fb.no .ic{color:var(--danger)}.fb b{display:block;font:700 16px var(--head)}.fb p{margin:2px 0 0;color:var(--ink2)}.p-foot{padding:14px 16px;padding-bottom:max(14px,var(--safe-b));border-top:1px solid var(--line);background:var(--surface);display:flex;justify-content:center}.p-foot .in{width:100%;max-width:680px;display:flex;gap:10px}.p-foot .btn.primary{flex:1;height:52px;font-size:16px}.review-card{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;padding:14px 16px;text-align:left}.review-card>span:nth-child(2){flex:1}.review-card b{display:block;font-size:15.5px}.review-card small{color:var(--ink2)}.review-card.quiet{opacity:.85}.node-wrap.test .node{border-radius:50%}.node-wrap.test.open .node{background:var(--surface);color:var(--c);box-shadow:inset 0 0 0 3px var(--c),0 0 0 6px color-mix(in srgb,var(--c) 15%,transparent)}.score-ring{--p: 0;width:120px;height:120px;margin:16px auto 4px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p) * 1%),var(--surface3) 0)}.score-ring span{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font:800 28px var(--head)}.done-screen{text-align:center;padding-top:10px}.done-screen h2{font-size:30px;margin:10px 0 6px}.done-screen>p{color:var(--ink2);margin:0 auto 18px;max-width:420px}.big-stars{display:flex;justify-content:center;gap:8px;margin-top:16px}.big-stars .ic{width:54px;height:54px;color:var(--surface3);transform:scale(0);transition:transform .45s var(--ease)}.big-stars .ic.show{transform:scale(1)}.big-stars .ic.on{color:var(--gold);filter:drop-shadow(0 6px 10px rgba(245,165,36,.5))}.big-stars .ic:nth-child(2){width:66px;height:66px;margin-top:-10px}.done-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:460px;margin:0 auto}.done-stats div{padding:14px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}.done-stats b{display:block;font:800 22px var(--head)}.done-stats span{font-size:12.5px;color:var(--muted);font-weight:600}.term-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px auto 0;max-width:520px}.term-chips span{padding:6px 12px;border-radius:99px;background:var(--brand-soft);color:var(--brand-ink);font-weight:700;font-size:13px;animation:stepIn .4s var(--ease) both}.done-av{display:inline-grid;border-radius:50%;box-shadow:var(--shadow-lg)}.modal-bg{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:#050c188c;backdrop-filter:blur(4px);animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}}.modal{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;padding:22px;border-radius:22px;background:var(--surface);box-shadow:var(--shadow-lg);animation:stepIn .3s var(--ease)}.modal h3{font-size:21px;margin-bottom:6px}.modal>p{color:var(--ink2);margin:0 0 16px}.set-group{margin:16px 0 6px;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.set-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.set-row:last-child{border-bottom:0}.set-ic{width:36px;height:36px;border-radius:10px;background:var(--surface2);display:grid;place-items:center;flex:none}.set-ic .ic{width:18px;height:18px}.set-txt{flex:1}.set-txt b{display:block;font-size:14.5px}.set-txt small{color:var(--muted);font-size:12.5px}.switch{position:relative;width:46px;height:28px;flex:none}.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}.switch i{position:absolute;inset:0;border-radius:99px;background:var(--surface3);transition:background .2s}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s var(--ease)}.switch input:checked+i{background:var(--brand)}.switch input:checked+i:after{transform:translate(18px)}.seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--surface2)}.seg button{flex:1;padding:7px 10px;border:0;border-radius:9px;background:none;font-weight:700;font-size:13px;color:var(--ink2)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.accent-opts{display:grid;gap:8px}.accent-opt{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:14px;border:2px solid var(--line);background:var(--surface);text-align:left}.accent-opt b{display:block}.accent-opt small{color:var(--muted);font-size:12.5px}.accent-opt[aria-checked=true]{border-color:var(--brand);background:var(--brand-soft)}.modal-foot{display:flex;gap:10px;margin-top:18px}.modal-foot .btn{flex:1}#toasts{position:fixed;left:50%;bottom:calc(24px + var(--safe-b));transform:translate(-50%);z-index:80;display:grid;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:14px;background:var(--ink);color:var(--bg);font-weight:600;font-size:14px;box-shadow:var(--shadow-lg);animation:stepIn .3s var(--ease)}.toast .ic{width:18px;height:18px}#confetti{position:fixed;inset:0;z-index:90;pointer-events:none;width:100%;height:100%}.hw-stage .hw-bob{animation:mkBob 3.2s ease-in-out infinite}.hw-stage .hw-a:nth-child(2n) .hw-bob{animation-delay:-1.1s}.hw-stage .hw-a:nth-child(3n) .hw-bob{animation-delay:-2s}@keyframes mkBob{50%{transform:translateY(-1.6px)}}.hw-stage .hw-eyes{animation:mkBlink 4.6s infinite;transform-box:fill-box;transform-origin:center}@keyframes mkBlink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.hw-stage .hw-wave{animation:mkWave 1s ease-in-out infinite}@keyframes mkWave{0%,to{transform:translate(22px,-122px) rotate(-150deg)}50%{transform:translate(22px,-122px) rotate(-125deg)}}.hw-stage .mv .hw-leg-l{animation:mkStepL .5s ease-in-out infinite;transform-box:fill-box;transform-origin:top center}.hw-stage .mv .hw-leg-r{animation:mkStepR .5s ease-in-out infinite;transform-box:fill-box;transform-origin:top center}.hw-stage .mv .hw-bob{animation:mkWalk .25s ease-in-out infinite alternate}@keyframes mkStepL{50%{transform:rotate(16deg)}}@keyframes mkStepR{50%{transform:rotate(-16deg)}}@keyframes mkWalk{to{transform:translateY(-3px)}}.hw-stage .mv .hw-wheel{animation:mkSpin .45s linear infinite}.hw-stage .hw-spin{animation:mkSpin 6s linear infinite}.hw-stage .hw-spin-slow{animation:mkSpin 30s linear infinite}@keyframes mkSpin{to{transform:rotate(360deg)}}.hw-stage .hw-smoke circle{animation:mkSmoke 3s ease-out infinite;transform-box:fill-box;transform-origin:center}.hw-stage .hw-smoke circle:nth-child(2){animation-delay:-1s}.hw-stage .hw-smoke circle:nth-child(3){animation-delay:-2s}@keyframes mkSmoke{0%{opacity:0;transform:translateY(20px) scale(.5)}30%{opacity:.9}to{opacity:0;transform:translate(14px,-30px) scale(1.3)}}.hw-stage .hw-flame{animation:mkFlame .18s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:top center}@keyframes mkFlame{to{transform:scaleY(1.25)}}.hw-stage .hw-flicker{animation:mkFlame .3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:bottom center}.hw-stage .hw-glow{animation:mkGlow 2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes mkGlow{50%{transform:scale(1.15);opacity:.4}}.hw-stage .hw-flag{animation:mkFlag 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:left center}@keyframes mkFlag{50%{transform:skewY(-4deg) scaleX(.94)}}.hw-stage .hw-drift{animation:mkDrift 40s linear infinite alternate}@keyframes mkDrift{to{transform:translate(60px)}}.hw-stage .hw-tape{animation:mkTape 18s linear infinite}@keyframes mkTape{0%{transform:translate(0)}50%{transform:translate(-40px)}to{transform:translate(0)}}.hw-stage .hw-waves path{animation:mkWaves 1.2s ease-out infinite}.hw-stage .hw-waves path:nth-child(2){animation-delay:.3s}@keyframes mkWaves{0%{opacity:0}50%{opacity:1}to{opacity:0}}.hw-stage .hw-wobble{animation:mkWobble 3s ease-in-out infinite}@keyframes mkWobble{25%{transform:rotate(12deg)}75%{transform:rotate(-10deg)}}.hw-stage.hw-paused *,.hw-stage.hw-paused{animation-play-state:paused!important}@media (prefers-reduced-motion: reduce){.hw-stage *{animation:none!important}}#tool{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;background:var(--bg);animation:playerIn .3s var(--ease)}.tool-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-ink)}.tool-body{flex:1;overflow-y:auto;padding:20px 16px 40px}.tool-inner{max-width:1040px;margin:0 auto}.play-card{display:grid;grid-template-columns:1.1fr 1fr;gap:0;padding:0;overflow:hidden;text-align:left;width:100%}.play-art{aspect-ratio:16 / 9;background:#f6f8fc}.play-art svg{width:100%;height:100%;display:block}.play-txt{padding:22px;display:flex;flex-direction:column;gap:8px}.play-txt h3{font-size:22px}.play-txt p{margin:0;color:var(--ink2)}.eyebrow-s{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink)}.eyebrow-s .ic{width:16px;height:16px}.play-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;font-size:13px;color:var(--muted);font-weight:600}.play-meta span{display:inline-flex;align-items:center;gap:5px}.play-meta .btn{margin-left:auto}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.tool-grid.two{grid-template-columns:1fr 1fr}.tool-card{display:flex;flex-direction:column;gap:6px;padding:16px;text-align:left;border-top:4px solid var(--c);transition:transform .2s var(--ease)}.tool-card:hover{transform:translateY(-2px)}.tool-card b{font:700 15.5px var(--head)}.tool-card small{color:var(--ink2);font-size:13px}.tool-card.wide{flex-direction:row;align-items:center;gap:14px;width:100%}.tool-card.wide>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:3px}.tc-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--c);flex:none}.tc-meta{margin-top:4px;font-size:12.5px;font-weight:700;color:var(--c)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:12px}.kpi{padding:10px 12px;border-radius:14px;background:var(--surface2)}.kpi span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.kpi b{font:800 19px var(--head)}.kpi.good b{color:var(--ok-ink)}.kpi.bad b{color:var(--danger)}.rng{display:flex;flex-direction:column;gap:6px;font-weight:650}.rng>span{display:flex;justify-content:space-between}.rng small{color:var(--muted);font-weight:500}.rng input[type=range]{width:100%;accent-color:var(--brand);height:28px}.modal.wide{max-width:820px}.cert-modal h3{display:flex;align-items:center;gap:8px}.cert-modal h3 .ic{color:var(--gold);width:26px;height:26px}.cert-lock-bar{height:10px;border-radius:99px;background:var(--surface2);overflow:hidden;margin:12px 0}.cert-lock-bar i{display:block;height:100%;background:var(--gold);border-radius:inherit}.cert-lock-note{font-size:13px;color:var(--ink2);margin-top:10px}.cert-name input{font-size:18px}.cert-frame{margin-top:14px;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line)}.cert-frame canvas{width:100%;height:auto;display:block}.shake{animation:shake .4s}#cert-print{display:none}@media print{.print-cert body>*:not(#cert-print){display:none!important}.print-cert #cert-print{display:block!important}.print-cert #cert-print img{width:100%;height:auto}@page{size:landscape;margin:10mm}}@media (max-width: 960px){.path{grid-template-columns:1fr}.path-side{display:none}.hero{grid-template-columns:1fr;padding:26px 22px 30px}.hero-art{margin-top:18px}.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.tb{gap:10px;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}.brand-txt small{display:none}.tabs{position:fixed;left:12px;right:12px;bottom:calc(10px + var(--safe-b));z-index:30;margin:0;justify-content:space-around;border-radius:18px;padding:6px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}.tab{flex:1;min-width:0;flex-direction:column;gap:2px;padding:7px 4px;font-size:11.5px}.tb-right{margin-left:auto}.lp-floating-music-btn{bottom:calc(84px + var(--safe-b))!important}.chip{height:32px;padding:0 10px}.node-label{width:130px;font-size:12.5px}.node-label.l{right:calc(50% + 46px)}.node-label.r{left:calc(50% + 46px)}.trail{--amp: 64px}.node{width:62px;height:62px;border-radius:19px}.node-wrap.current .node{width:70px;height:70px}.mod-head{padding:14px;gap:12px}.mod-head p{font-size:13px}.mod-ic{width:44px;height:44px}.mod-prog{width:46px;height:46px}.mod-prog span{width:37px;height:37px;font-size:13px}.p-segs{display:none}#player.in-quiz .p-qn,#player.in-quiz .p-qbar{display:block}.p-body{padding:14px 12px 24px}.stage-card{border-radius:16px}.cap p{font-size:15px}.cbtn .lbl{display:none}.match{gap:8px}.match .opt{padding:10px;font-size:13.5px}.section-h h2{font-size:19px}}@media (max-width: 380px){.node-label{width:110px}.trail{--amp: 54px}}.mono,.ro b,.ctl-h output,.scene-h .n,.pop-meta,.mod-head .k,.node-label small,.map-row .t small,.p-title small,.q-kicker{font-family:var(--mono);letter-spacing:.04em}.scene-h .n{background:var(--ink);color:var(--bg)}.stage-card,.wthumb{background:#0b1f45}.hero-copy .age-chip{margin-top:18px;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 6px 0 12px;border-radius:99px;border:1px solid rgba(147,197,253,.2);background:#ffffff0f;color:#e2e8f0;font-weight:650;font-size:13px}.age-chip span{padding:4px 10px;border-radius:99px;background:#ffffff1a;font-size:12px}.age-chip .ic{width:16px;height:16px;color:#ffa070}.welcome-art{display:flex;align-items:center;gap:14px;margin-bottom:10px}.welcome-art small{font-family:var(--mono);color:var(--muted);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.age-opts{display:grid;gap:8px}.age-opt{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);text-align:left;transition:border-color .15s,background .15s}.age-opt b{display:block;font-size:15px}.age-opt small{color:var(--muted);font-size:12.5px}.age-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface2);flex:none}.age-tick{margin-left:auto;opacity:0;color:var(--brand)}.age-opt[aria-checked=true]{border-color:var(--brand);background:var(--brand-soft)}.age-opt[aria-checked=true] .age-ic{background:var(--brand);color:#fff}.age-opt[aria-checked=true] .age-tick{opacity:1}.set-note{margin:6px 0 0;font-size:12.5px;color:var(--muted)}.mod.planned .mod-head{border-style:dashed;background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 10px,var(--surface2) 10px,var(--surface2) 11px)}.mod.planned .mod-ic{background:var(--surface2);color:var(--c);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c) 40%,transparent)}.mod-prog.soon{background:var(--surface2)}.mod-prog.soon span{background:transparent;color:var(--muted)}.plan-list{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.plan-list li{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border-radius:12px;border:1px dashed var(--line);background:var(--surface)}.plan-list .n{font:600 11.5px var(--mono);color:var(--c)}.plan-list b{font-size:13.5px;font-weight:650;flex:1}.plan-list small{font:500 10.5px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.map-row.soon{opacity:.55}@media (max-width: 720px){.plan-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.ws-feature{display:grid;grid-template-columns:1.15fr 1fr;padding:0;overflow:hidden;text-align:left;width:100%;transition:transform .2s var(--ease),box-shadow .2s}.ws-feature:hover,.ws-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.ws-art{aspect-ratio:16 / 10;background:#0b1f45;position:relative}.ws-art canvas,.ws-thumb canvas,.ws-thumb svg{display:block;width:100%;height:100%}.ws-txt{padding:24px;display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--line)}.ws-txt h3{font-size:23px;line-height:1.15}.ws-txt p{margin:0;color:var(--ink2)}.ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:14px}.ws-card{display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;transition:transform .2s var(--ease),box-shadow .2s}.ws-thumb{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:#070b14;border-bottom:1px solid var(--line)}.ws-thumb>*,.ws-art>*{position:absolute;inset:0}.ws-art{overflow:hidden}.ws-b{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}.ws-b .tc-ic{width:34px;height:34px;border-radius:10px;margin-top:-32px;box-shadow:0 0 0 4px var(--surface)}.ws-b b{font:700 16px var(--head)}.ws-b small{color:var(--ink2);font-size:13px;line-height:1.45}.tc-meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em}#tool .tool-ic{background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}.tool-inner{max-width:1240px}.sim{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.sim-main{display:flex;flex-direction:column;gap:12px;min-width:0}.sim-view{position:relative;border-radius:18px;overflow:hidden;background:#070b14;border:1px solid #1e293b;box-shadow:var(--shadow-lg);touch-action:none}.sim-canvas{display:block;width:100%;cursor:crosshair}.ro-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.ro{position:relative;padding:10px 12px 11px;border-radius:12px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.ro:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--surface3);transition:background .3s}.ro span{display:block;font:600 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ro b{display:block;font-size:17px;font-weight:650;margin-top:3px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ro[data-s=good]:before{background:var(--ok)}.ro[data-s=good] b{color:var(--ok-ink)}.ro[data-s=bad]:before{background:var(--danger)}.ro[data-s=bad] b{color:var(--danger)}.ro[data-s=warn]:before{background:var(--gold)}.sim-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:8px}.ctl{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.ctl-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}.ctl-h b{font-size:13.5px;font-weight:650}.ctl-h output{font-size:12.5px;font-weight:600;color:var(--brand-ink);white-space:nowrap}.ctl-s{display:block}.ctl-s small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted)}.ctl-s input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer}.ctl-s input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--brand) var(--p, 0%),var(--surface3) var(--p, 0%))}.ctl-s input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--brand) var(--p, 0%),var(--surface3) var(--p, 0%))}.ctl-s input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:#fff;border:2px solid var(--brand);box-shadow:0 2px 6px #00000040}.ctl-s input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--brand)}.ctl-seg .seg button{font-size:12.5px;padding:7px 6px}.ctl-t{display:flex;align-items:center;gap:10px;cursor:pointer}.ctl-t .set-ic{width:32px;height:32px}.ctl-t .set-ic .ic{width:16px;height:16px}.ctl-t .set-txt b{font-size:13.5px}.ctl-t .set-txt small{font-size:11.5px}.chips-row{display:flex;flex-wrap:wrap;gap:6px}.sat-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;border:1px solid var(--line);background:var(--surface2);font:600 11.5px var(--mono);color:var(--muted)}.sat-chip i{width:8px;height:8px;border-radius:50%;background:var(--surface3)}.sat-chip[aria-pressed=true]{color:var(--ink);background:var(--surface);border-color:var(--sc)}.sat-chip[aria-pressed=true] i{background:var(--sc);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc) 25%,transparent)}.ms-card{padding:14px 16px}.ms-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ms-h b{display:inline-flex;align-items:center;gap:6px;font-size:14px}.ms-h b .ic{width:16px;height:16px;color:var(--brand)}.ms-h span{font:600 12px var(--mono);color:var(--muted)}.ms{list-style:none;margin:0;padding:0;display:grid;gap:6px}.ms li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;color:var(--ink2)}.ms li i{width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid var(--surface3);display:grid;place-items:center;color:transparent;margin-top:1px}.ms li i .ic{width:13px;height:13px;stroke-width:3}.ms li.done{color:var(--ink)}.ms li.done span{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--ok) 60%,transparent)}.ms li.done i{background:var(--ok);border-color:var(--ok);color:#fff}.ms li.flash{animation:msFlash .9s var(--ease)}@keyframes msFlash{30%{transform:translate(4px);background:var(--ok-soft)}}.ex{padding:14px 16px}.ex-h{display:flex;align-items:center;gap:6px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:6px}.ex-h .ic{width:15px;height:15px}.ex p{margin:0 0 8px;font-size:13.5px;line-height:1.55;color:var(--ink2)}.ex p:last-child{margin-bottom:0}.cam-view{display:grid;grid-template-columns:1fr 190px;gap:0;background:#05070c}.vf{position:relative;aspect-ratio:16 / 10;overflow:hidden}.vf svg{position:absolute;inset:0;width:100%;height:100%}.vf-grid{position:absolute;inset:0;background-image:linear-gradient(90deg,transparent 33.2%,rgba(255,255,255,.22) 33.3%,transparent 33.4%,transparent 66.6%,rgba(255,255,255,.22) 66.7%,transparent 66.8%),linear-gradient(transparent 33.2%,rgba(255,255,255,.22) 33.3%,transparent 33.4%,transparent 66.6%,rgba(255,255,255,.22) 66.7%,transparent 66.8%);pointer-events:none}.vf-top,.vf-bot{position:absolute;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 12px var(--mono);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}.vf-top{top:10px}.vf-bot{bottom:10px;flex-wrap:wrap}.vf-top span:first-child{padding:3px 8px;border:1px solid rgba(255,255,255,.6);border-radius:6px}.vf-rec{width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 3px #ef44444d}.meter{position:relative;display:flex;gap:10px;padding:4px 8px 10px;border-radius:8px;background:#00000073}.meter b{font:600 10px var(--mono);width:14px;text-align:center}.meter i{position:absolute;bottom:2px;width:2px;height:8px;background:#ff6b2c;transform:translate(-50%);transition:left .25s var(--ease);box-shadow:0 0 6px #ff6b2c}.flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.flash.on{animation:camFlash .5s ease-out}@keyframes camFlash{0%{opacity:.9}to{opacity:0}}.vf-side{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:14px;border-left:1px solid #1e293b}.vf-side svg{width:100%;height:auto}.vf-side canvas{width:100%;height:auto;border-radius:8px;border:1px solid #1e293b}.filmstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.filmstrip:empty{display:none}.shot{position:relative;border-radius:8px;overflow:hidden;border:2px solid var(--danger)}.shot.good{border-color:var(--ok)}.shot svg{display:block;width:100%;height:auto}.shot .ic{position:absolute;right:3px;bottom:3px;width:16px;height:16px;color:#fff;background:var(--danger);border-radius:50%}.shot.good .ic{background:var(--ok)}.bat-view{background:#0b1f45}.bat-top{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:8px;padding:10px 16px 0}.bat-top svg{width:100%;height:auto}.bat-phone{justify-self:center;width:118px;aspect-ratio:9 / 18;border-radius:22px;background:#0f172a;padding:7px;box-shadow:0 20px 40px -18px #000c,inset 0 0 0 1px #334155}.bp-scr{height:100%;border-radius:16px;background:linear-gradient(160deg,#111827,#0b1220);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff}.bp-scr b{font:700 28px var(--mono)}.bp-scr span{font:500 11px var(--mono);color:#94a3b8;text-align:center;padding:0 4px}.bp-bar{width:70%;height:8px;border-radius:8px;background:#1e293b;overflow:hidden;display:block}.bp-bar i{display:block;height:100%;border-radius:inherit;transition:width .3s,background .3s}.bat-chart{border-top:1px solid #1e293b}@media (max-width: 960px){.sim{grid-template-columns:1fr}.sim-side{position:static}.ws-feature{grid-template-columns:1fr}.ws-txt{border-left:0;border-top:1px solid var(--line)}}@media (max-width: 620px){.cam-view{grid-template-columns:1fr}.vf-side{flex-direction:row;border-left:0;border-top:1px solid #1e293b}.vf-side svg,.vf-side canvas{width:50%}.bat-top{grid-template-columns:1fr}.bat-phone{width:92px}.meter{gap:6px}.meter b{width:12px}.ro b{font-size:15px}.ro-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.ml-span{display:grid;grid-template-rows:auto 1fr auto auto;justify-items:center;gap:12px;padding:22px 16px 18px;min-height:380px;background:radial-gradient(500px 260px at 50% 30%,rgba(168,85,247,.18),transparent 70%),#070b14}.ml-level{font:600 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#a78bfa}.ml-show{display:grid;place-items:center;min-height:120px;font:700 clamp(56px,10vw,96px) var(--mono);color:#f8fafc;letter-spacing:.06em}.ml-show.pop{animation:mlPop .35s var(--ease)}.ml-show .ok,.ml-show .no{display:inline-flex;align-items:center;gap:10px;font:700 24px var(--head)}.ml-show .ok{color:#4ade80}.ml-show .no{color:#fca5a5}.ml-show .ic{width:28px;height:28px}@keyframes mlPop{0%{opacity:0;transform:scale(.7)}}.ml-typed{min-height:34px;font:700 26px var(--mono);color:#c4b5fd;letter-spacing:.12em}.ml-pad{display:grid;grid-template-columns:repeat(3,72px);gap:8px}.ml-pad button{height:54px;border-radius:14px;border:1px solid #1e293b;background:#0f172a;color:#e2e8f0;font:700 20px var(--mono);display:grid;place-items:center}.ml-pad button:active{transform:scale(.96);background:#1e293b}.ml-curve canvas{cursor:pointer}.ctl-seg .seg{flex-wrap:wrap}.ctl-seg .seg button{flex:1 1 28%;min-width:0}
