.schematic{--feed-normal:#1f7fd6;--feed-emergency:#e5262b;--feed-vdc:#f2b200;--feed-ground:#22a447;--ink:#111;--sheet:#fff;--label-normal:#0b72c4;--label-emergency:#f01418;--relay-on:#f0b4f0;--relay-off:#fff;--changed:#d23ad2;--w-light:2.2px;--w-heavy:3.6px;--fade:.6s;background:var(--sheet);width:100%;height:auto;color:var(--ink);shape-rendering:geometricprecision;-webkit-user-select:none;user-select:none;font-family:Arial,Helvetica,Liberation Sans,sans-serif;font-weight:700;display:block}.schematic .sheet{fill:var(--sheet)}.schematic .layer-trace{opacity:.35}.schematic .layer-trace.off{display:none}.schematic .wire{fill:none;stroke:var(--ink);stroke-width:var(--w-light);stroke-linejoin:miter;stroke-linecap:butt}.schematic .wire.heavy{stroke-width:var(--w-heavy)}.schematic .wire.dashed{stroke-dasharray:3 4;stroke-width:2.6px}.schematic .feed{--c:var(--ink);fill:none;stroke-linejoin:round;stroke-linecap:butt;opacity:0;pointer-events:none;transition:opacity var(--fade) ease}.schematic .feed[data-feed=normal]{--c:var(--feed-normal)}.schematic .feed[data-feed=emergency]{--c:var(--feed-emergency)}.schematic .feed[data-feed=vdc]{--c:var(--feed-vdc)}.schematic .feed[data-feed=ground]{--c:var(--feed-ground)}.schematic .feed:not([data-feed=dead]){opacity:1;transition-delay:var(--delay,0s)}.schematic .feed .halo,.schematic .feed .band,.schematic .feed .flow{fill:none;stroke:var(--c);transition:stroke var(--fade) ease}.schematic .feed .halo{stroke-width:11px;stroke-opacity:.25}.schematic .feed .band{stroke-width:6.4px}.schematic .feed.heavy .halo{stroke-width:13px}.schematic .feed.heavy .band{stroke-width:8px}.schematic .feed.dashed .halo{stroke-width:9px}.schematic .feed.dashed .band{stroke-width:5px}.schematic .feed .flow{stroke:color-mix(in srgb, var(--c) 35%, #fff);stroke-width:2.4px;stroke-dasharray:6 14;stroke-linecap:round;animation:1.8s linear infinite schematic-flow}.schematic .feed.rev .flow{animation-direction:reverse}.schematic .feed[data-feed=dead] .flow,.schematic .feed.dotfeed .band,.schematic .feed.chevfeed .flow,.schematic .feed.bridge .flow{animation:none}.schematic .feed.dotfeed .band{stroke:none;fill:var(--c)}@keyframes schematic-flow{to{stroke-dashoffset:-20px}}@media (prefers-reduced-motion:reduce){.schematic .feed .flow{animation:none}.schematic .feed,.schematic .feed .halo,.schematic .feed .band,.schematic .changed-ring,.schematic .changed-slash,.schematic .relay{transition:none}.schematic .contact.pulse-on .changed-ring,.schematic .contact.pulse-off .changed-ring,.schematic .contact.pulse-on .changed-slash,.schematic .contact.pulse-off .changed-slash,.schematic .relay.on[data-pulse],.schematic .relay.on{animation:none}}.schematic .contact .plate,.schematic .contact .slash,.schematic .contact .lead{fill:none;stroke:var(--ink);stroke-width:var(--w-light);stroke-linecap:butt}.schematic .contact.heavy .plate,.schematic .contact.heavy .slash{stroke-width:var(--w-heavy)}.schematic .changed-ring{fill:color-mix(in srgb, var(--changed) 10%, transparent);stroke:var(--changed);stroke-width:3px;opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .26s,transform .26s;transform:scale(.6)}.schematic .contact.changed .changed-ring{opacity:1;transform:scale(1)}.schematic .changed-slash{fill:none;stroke:var(--changed);stroke-width:4px;stroke-linecap:round;opacity:0;stroke-dasharray:80;stroke-dashoffset:80px;transition:opacity .2s,stroke-dashoffset .3s}.schematic .contact.changed .changed-slash{opacity:1;stroke-dashoffset:0}.schematic .contact.pulse-on .changed-ring,.schematic .contact.pulse-off .changed-ring{animation:.6s ease-in-out 3 mark-pulse-ring}.schematic .contact.pulse-on .changed-slash,.schematic .contact.pulse-off .changed-slash{animation:.6s ease-in-out 3 mark-pulse-slash}@keyframes mark-pulse-ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.15;transform:scale(1.35)}}@keyframes mark-pulse-slash{0%,to{opacity:1;stroke-dashoffset:0;stroke-width:4px}50%{opacity:.15;stroke-dashoffset:0;stroke-width:8px}}.schematic .dot{fill:var(--ink);stroke:none}.schematic .term{fill:var(--sheet);stroke:var(--ink);stroke-width:3px}.schematic .chev,.schematic .bar,.schematic .ln{fill:none;stroke:var(--ink);stroke-width:var(--w-light);stroke-linecap:butt;stroke-linejoin:miter}.schematic .chev.heavy{stroke-width:var(--w-heavy)}.schematic .bar{stroke-width:3.2px}.schematic .panel{fill:none;stroke:var(--ink);stroke-width:3.2px;stroke-linejoin:miter}.schematic path.fill{fill:var(--ink);stroke:var(--ink);stroke-width:.8px;stroke-linejoin:round}.schematic .relay{fill:var(--relay-off);stroke:var(--ink);stroke-width:3px;transition:fill var(--fade) ease}.schematic .relay.on{fill:var(--relay-on)}@keyframes schematic-pulse{0%,to{fill:var(--relay-on)}50%{fill:color-mix(in srgb, var(--relay-on) 55%, #fff)}}.schematic .relay.on[data-pulse]{animation:1.4s ease-in-out infinite schematic-pulse}.schematic .lbl{fill:var(--ink);pointer-events:none;font-family:inherit;font-weight:700}.schematic .lbl.label-normal{fill:var(--label-normal)}.schematic .lbl.label-emergency{fill:var(--label-emergency)}.schematic .inset{--w-light:1.7px;--w-heavy:2.4px}.schematic .inset .feed .halo{stroke-width:7px}.schematic .inset .feed .band{stroke-width:4.4px}.schematic .inset .feed .flow{stroke-width:1.7px;stroke-dasharray:4 10}.schematic .inset .term{stroke-width:2.3px}.schematic .inset .changed-ring{stroke-width:2.2px}.schematic .inset .changed-slash{stroke-width:3px}.schematic .inset .chev{stroke-width:1.9px}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#07090d;--bg-1:#0d1017;--bg-2:#151a24;--bg-3:#1e2532;--bg-4:#2a3346;--line:#2b3548;--line-soft:#1e2634;--text:#e9edf5;--text-dim:#a6b0c4;--text-faint:#7a859b;--normal:#3d97ff;--emergency:#ff5252;--vdc:#f7c325;--ground:#37c871;--purple:#b266ff;--purple-deep:#6a2fc2;--glow-red:#ff3b3b;--bar-on:#4ade80;--bar-off:#fb923c;--accent:#6aa8ff;--accent-deep:#2f6fe0;--focus:#9ccbff;--radius:14px;--radius-sm:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--topbar-h:52px;--legend-h:34px;--pad:12px;--shadow:0 10px 30px #00000073;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;height:100%}body{min-height:100%;font-family:var(--font);color:var(--text);background:radial-gradient(1200px 700px at 70% -10%, #19202f 0%, transparent 60%), linear-gradient(180deg, var(--bg-1), var(--bg-0));-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0;font-size:16px;line-height:1.45;overflow-x:hidden}#app{min-height:100dvh}h1,h2,h3,p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none}.btn{min-height:40px;font:600 .9rem/1 var(--font);color:var(--text);background:linear-gradient(180deg, var(--bg-3), var(--bg-2));border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;padding:0 14px;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){background:linear-gradient(#283145,#1d2433);border-color:#3b4862}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{color:#fff;background:linear-gradient(180deg, #3d86ff, var(--accent-deep));border-color:#6aa8ff;box-shadow:0 6px 22px #2f6fe059}.btn-primary:hover:not(:disabled){background:linear-gradient(#5a9bff,#3a7af0);border-color:#8dbcff}.btn-lg{border-radius:14px;min-height:54px;padding:0 34px;font-size:1.1rem}.btn-sm{min-height:32px;padding:0 10px;font-size:.8rem}.btn-quiet{color:var(--text-dim);background:0 0;border-color:#0000}.btn-icon{min-width:40px;padding:0}.btn-toggle[aria-pressed=true] .icon{color:var(--ground)}.btn-toggle[aria-pressed=false]{color:var(--text-dim)}.bar,.topbar{min-height:var(--topbar-h);padding:6px max(16px, env(safe-area-inset-right)) 6px max(16px, env(safe-area-inset-left));border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1017cc;align-items:center;gap:14px;display:flex}.brand{letter-spacing:.02em;white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:inline-flex}.brand-dot{background:conic-gradient(var(--normal) 0 50%, var(--emergency) 0);border-radius:50%;width:12px;height:12px;box-shadow:0 0 10px #6aa8ff80}.bar-title,.scn-name{min-width:0;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.scn-name{color:var(--text)}.bar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.screen{min-height:100dvh}.screen-enter{animation:screen-in .35s var(--ease) both}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen-center{place-items:center;padding:24px 16px;display:grid}.title{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(16px,4vw,64px);max-width:1280px;margin:0 auto;padding:clamp(16px,4vw,56px);display:grid}.title-hero{order:2}.title-copy{flex-direction:column;order:1;gap:16px;display:flex}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:700}.title-name{letter-spacing:-.03em;background:linear-gradient(90deg,#cfe3ff 0%,#fff 45%,#ffd0d0 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.4rem,6.5vw,4.6rem);font-weight:800;line-height:1.02}.title-sub{max-width:30ch;color:var(--text-dim);font-size:clamp(1.05rem,2vw,1.35rem)}.title-actions{align-items:center;gap:18px;margin-top:10px;display:flex}.version{color:var(--text-faint);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600}.hero{width:100%;height:auto;max-height:72dvh;display:block;overflow:visible}.hero-node circle{fill:#0f141d;stroke-width:3px}.hero-wave{fill:none;stroke-width:3.2px;stroke-linecap:round}.hero-node-normal circle,.hero-node-normal .hero-wave{stroke:var(--normal)}.hero-node-emergency circle,.hero-node-emergency .hero-wave{stroke:var(--emergency)}.hero-node-normal{animation:14s ease-in-out infinite hero-nsrc}.hero-node-emergency{opacity:.4;animation:14s ease-in-out infinite hero-esrc}.hero-label{font:700 12px var(--font);letter-spacing:.22em;text-anchor:middle;fill:var(--text-faint)}.hero-wire,.hero-flow{fill:none;stroke-linecap:round;stroke-linejoin:round}.hero-wire{stroke-width:4px}.hero-wire-normal{stroke:var(--normal);opacity:.25}.hero-wire-emergency{stroke:var(--emergency);opacity:.25}.hero-wire-load{stroke:var(--normal);opacity:.3}.hero-flow{stroke-width:5px;stroke-dasharray:.1 17}.hero-flow-normal{stroke:var(--normal);animation:.9s linear infinite hero-dash,14s ease-in-out infinite hero-nlive}.hero-flow-emergency{stroke:var(--emergency);opacity:0;animation:.9s linear infinite hero-dash,14s ease-in-out infinite hero-elive}.hero-flow-load{stroke:var(--normal);animation:.9s linear infinite hero-dash,14s ease-in-out infinite hero-load}.hero-term{fill:#0f141d;stroke:#8793ab;stroke-width:3px}.hero-blade{stroke:var(--normal);stroke-width:6px;stroke-linecap:round;transform-origin:280px 310px;animation:14s ease-in-out infinite hero-blade;transform:rotate(-36.3deg)}.hero-pivot{fill:#e9edf5}.hero-load rect{fill:#121722;stroke:#8793ab;stroke-width:3px}.hero-load path{fill:none;stroke:#8793ab;stroke-width:3px;stroke-linecap:round}@keyframes hero-dash{to{stroke-dashoffset:-17px}}@keyframes hero-nlive{0%,34%{opacity:1}40%,82%{opacity:0}88%,to{opacity:1}}@keyframes hero-elive{0%,44%{opacity:0}52%,82%{opacity:1}88%,to{opacity:0}}@keyframes hero-nsrc{0%,34%{opacity:1}40%,82%{opacity:.3}88%,to{opacity:1}}@keyframes hero-esrc{0%,44%{opacity:.35}52%,82%{opacity:1}88%,to{opacity:.35}}@keyframes hero-blade{0%,50%{stroke:var(--normal);transform:rotate(-36.3deg)}50.1%{stroke:var(--emergency)}58%,90%{stroke:var(--emergency);transform:rotate(36.3deg)}90.1%{stroke:var(--normal)}98%,to{stroke:var(--normal);transform:rotate(-36.3deg)}}@keyframes hero-load{0%,38%{stroke:var(--normal);opacity:1}42%,56%{stroke:var(--normal);opacity:.12}60%,86%{stroke:var(--emergency);opacity:1}90%{stroke:var(--emergency);opacity:.12}94%,to{stroke:var(--normal);opacity:1}}.notice-card{text-align:center;width:min(520px,100%);box-shadow:var(--shadow), 0 0 0 1px #f5b4001f inset, 0 0 60px #f5b40012;background:linear-gradient(#1a2030,#121722);border:1px solid #4a3d12;border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:clamp(24px,5vw,44px);display:flex}.notice-icon svg{filter:drop-shadow(0 4px 14px #f5b40059);display:block}.notice-card h1{letter-spacing:-.01em;color:#ffd45c;font-size:clamp(1.7rem,4vw,2.3rem);font-weight:800}.notice-text{max-width:32ch;color:var(--text-dim);margin-bottom:8px;font-size:1.1rem}.guide{flex-direction:column;display:flex}.sym-card{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(16px,4vw,56px);width:min(1040px,100%);margin:0 auto;padding:clamp(16px,3vw,40px) 20px;display:grid}.card-enter{animation:card-in .3s var(--ease) both}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sym-visual{place-items:center;min-height:0;display:grid}.sym-tile{aspect-ratio:1;width:min(320px,100%);box-shadow:var(--shadow);background:#fff;border-radius:20px;place-items:center;padding:18px;display:grid}.sym-svg{width:100%;height:100%;overflow:visible}.sym-text{align-items:flex-start;gap:12px;display:flex}.sym-caption{flex:1;font-size:clamp(1.3rem,2.6vw,2rem);font-weight:600;line-height:1.25}.sym-legend-wrap{width:min(380px,100%)}.sym-legend-title{letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:.8rem;font-weight:700}.legend-panel{background:var(--bg-2);border:1px solid var(--line);border-radius:18px;gap:12px;margin:0;padding:20px 22px;list-style:none;display:grid}.legend-row{align-items:center;gap:14px;font-size:1.05rem;font-weight:600;display:flex}.legend-line{background:currentColor;border-radius:3px;width:56px;height:6px}.legend-row.legend-normal .legend-line{color:var(--normal)}.legend-row.legend-emergency .legend-line{color:var(--emergency)}.legend-row.legend-vdc .legend-line{color:var(--vdc)}.legend-row.legend-ground .legend-line{color:var(--ground)}.sym-rules{justify-items:center;gap:18px;display:grid}.sym-sample{justify-items:center;gap:14px;width:min(300px,100%);margin:0;display:grid}.sym-sample figcaption{color:var(--text-dim);font-size:1rem}.tag-purple{color:var(--purple)}.tag-red{color:var(--glow-red)}.tag-on{color:var(--bar-on)}.tag-off{color:var(--bar-off)}.sym-sample--bars{gap:10px;width:min(360px,100%)}.lad-sample-bar{grid-template-columns:110px auto;align-items:center;display:grid}.lad-sample-bar .lad-act{grid-area:1/2;font-size:.75rem}.sym-dots{justify-content:center;gap:8px;margin:0;padding:0 16px;list-style:none;display:flex}.sym-dot{background:var(--bg-4);border-radius:50%;width:9px;height:9px;transition:background .2s,transform .2s}.sym-dot.is-past{background:#4b5a78}.sym-dot.is-active{background:var(--accent);transform:scale(1.35)}.guide-nav{width:min(1040px,100%);padding:18px 20px max(22px, env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.guide-nav .btn-quiet{margin-left:auto}.menu{flex-direction:column;display:flex}.menu-cards{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:clamp(14px,3vw,36px);width:min(1100px,100%);margin:0 auto;padding:clamp(16px,4vw,48px) 20px;display:grid}.scn-card{border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;background:linear-gradient(#1a2130,#121722);border-radius:22px;flex-direction:column;gap:18px;padding:clamp(18px,2.5vw,30px);text-decoration:none;display:flex;position:relative}.scn-card:hover{transform:translateY(-3px)}.scn-loss:hover,.scn-loss:focus-visible{border-color:var(--emergency);box-shadow:var(--shadow), 0 0 40px #ff52522e}.scn-return:hover,.scn-return:focus-visible{border-color:var(--normal);box-shadow:var(--shadow), 0 0 40px #3d97ff33}.scn-art{border:1px solid var(--line-soft);background:#0b0e14;border-radius:14px;place-items:center;padding:10px;display:grid}.mini{width:min(240px,100%);height:auto;max-height:24dvh}.mini circle,.mini rect{fill:#0f141d}.mini-src circle{stroke-width:2.5px}.mini-src path{fill:none;stroke-width:2.5px;stroke-linecap:round}.mini-src-normal circle,.mini-src-normal path:not(.mini-x){stroke:var(--normal)}.mini-src-emergency circle,.mini-src-emergency path{stroke:var(--emergency)}.mini-src.is-lost{opacity:.4}.mini-x{stroke-width:3px;opacity:.9;stroke:var(--emergency)!important}.mini-wire{fill:none;stroke-width:4px;stroke-linecap:round}.mini-wire-normal{stroke:var(--normal)}.mini-wire-emergency{stroke:var(--emergency)}.mini-wire.is-lost{opacity:.25}.mini-term{stroke:#8793ab;stroke-width:2.5px}.mini-blade{stroke-width:5px;stroke-linecap:round}.mini-blade-normal{stroke:var(--normal)}.mini-blade-emergency{stroke:var(--emergency)}.mini-pivot{fill:#e9edf5!important}.mini-load{stroke:#8793ab;stroke-width:2.5px}.scn-title{letter-spacing:-.01em;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:800}.scn-loss .scn-title{color:#ff8a8a}.scn-return .scn-title{color:#7db8ff}.scn-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-top:2px;font-size:.8rem;font-weight:700}.scn-desc{color:var(--text-dim);margin-top:10px;font-size:.95rem}.scn-go{color:#fff;background:var(--bg-4);border-radius:999px;align-self:flex-start;margin-top:auto;padding:8px 18px;font-size:.9rem;font-weight:700}.scn-loss .scn-go{background:linear-gradient(#e04848,#b02828)}.scn-return .scn-go{background:linear-gradient(#3d86ff,#2559c0)}.menu-hint{text-align:center;color:var(--text-faint);padding:0 20px 22px;font-size:.9rem}@media (width<=860px){.title{text-align:center;grid-template-columns:1fr;align-content:center}.title-hero{order:1;width:100%;max-width:460px;margin:0 auto}.title-copy{order:2;align-items:center}.title-sub{margin-inline:auto}.hero{max-height:38dvh}.sym-card{text-align:center;grid-template-columns:1fr}.sym-text{justify-content:center;align-items:center}.sym-tile{width:min(240px,60vw)}.menu-cards{grid-template-columns:1fr;align-content:start}}@media (height<=560px) and (orientation:landscape){.title{text-align:left;grid-template-columns:1fr 1fr;padding:12px 24px}.title-hero{order:2;max-width:none}.title-copy{order:1;align-items:flex-start;gap:8px}.title-sub{margin-inline:0}.hero{max-height:78dvh}.title-name{font-size:clamp(1.9rem,6vw,3rem)}.sym-card{text-align:left;grid-template-columns:1fr 1fr;padding-block:8px}.sym-text{justify-content:flex-start}.sym-tile{width:min(180px,40dvh)}.sym-caption{font-size:1.15rem}.guide-nav{padding-block:8px}.menu-cards{grid-template-columns:1fr 1fr;align-content:center;padding-block:8px}.scn-art,.scn-desc{display:none}}@media (width<=620px){.bar .btn .btn-label,.topbar .btn .btn-label{display:none}.bar .btn,.topbar .btn{padding:0 12px}.bar-title{display:none}.scn-name{font-size:.95rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hero-flow-emergency{opacity:0}.hero-node-emergency{opacity:.4}}.player{--chip-h:28px;--arrow-h:14px;--chip-fs:.82rem;--note-fs:.72rem;--chip-col:min(62%, 220px);--panel-min:290px;--panel-w:clamp(260px, 27vw, 410px);flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.rotate-hint{color:#ffd45c;background:#231d08;border-bottom:1px solid #4a3d12;justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;font-weight:600;display:none}.play-body{flex-direction:column;flex:1;min-height:0;display:flex}.stage-col{flex-direction:column;min-width:0;min-height:0;display:flex}.stage{min-height:0;padding:var(--pad);height:min(calc((100vw - 2 * var(--pad)) / var(--ratio) + 2 * var(--pad) + var(--legend-h)), calc(100dvh - var(--topbar-h) - var(--panel-min)));place-items:center;display:grid;container-type:size}.sheet-wrap{width:min(100cqw, calc((100cqh - var(--legend-h)) * var(--ratio)))}.paper{width:100%;aspect-ratio:var(--ratio);box-shadow:var(--shadow), 0 0 0 1px #ffffff0f;background:#fff;border-radius:10px;position:relative;overflow:hidden}.sheet-svg{position:absolute;inset:0}.sheet-svg>svg{width:100%;height:100%;display:block}.gen{pointer-events:none;opacity:0;width:16%;transition:opacity .4s var(--ease), transform .4s var(--ease);position:absolute;bottom:3%;right:1.2%;transform:translateY(6px)scale(.96)}.gen.is-on{opacity:1;transform:none}.gen-img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.gen.is-on .gen-img{animation:.16s ease-in-out infinite alternate gen-shake}.gen-tag{letter-spacing:.08em;text-transform:uppercase;color:#3a4556;justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:clamp(.55rem,.75vw,.78rem);font-weight:700;display:flex}.gen-led{background:#22a447;border-radius:50%;width:.6em;height:.6em;box-shadow:0 0 6px #22a447}.gen.is-on .gen-led{animation:1.2s ease-in-out infinite gen-led}@keyframes gen-shake{0%{transform:translateY(-.4px)}to{transform:translateY(.4px)}}@keyframes gen-led{50%{opacity:.35}}.legend{min-height:var(--legend-h);color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 22px;margin:0;padding:4px 12px;font-size:.82rem;font-weight:600;list-style:none;display:flex}.legend-item{align-items:center;gap:8px;display:inline-flex}.legend-swatch{background:currentColor;border-radius:3px;width:22px;height:5px}.legend-normal .legend-swatch{color:var(--normal)}.legend-emergency .legend-swatch{color:var(--emergency)}.legend-vdc .legend-swatch{color:var(--vdc)}.legend-ground .legend-swatch{color:var(--ground)}.panel{min-width:0;min-height:0;padding:var(--pad) max(var(--pad), env(safe-area-inset-right)) max(var(--pad), env(safe-area-inset-bottom));overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;display:grid;overflow-y:auto}.cap-stack{flex-direction:column;gap:10px;display:flex}.caption{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);min-height:84px;padding:12px 14px;font-size:.92rem;line-height:1.45;overflow-y:auto}.caption-text{color:var(--text)}.caption-enter{animation:card-in .3s var(--ease) both}.tap-play{color:#ffd45c;border-color:#6a5614;margin-top:10px}.is-done .caption{min-height:0;color:var(--text-dim);font-size:.85rem}.done-card{border-radius:var(--radius);animation:card-in .4s var(--ease) both;background:linear-gradient(#1b2a22,#131d19);border:1px solid #2a5a3c;gap:12px;padding:14px;display:grid}.done-msg{font-size:1.15rem;font-weight:800;line-height:1.25}.feed-normal{color:var(--normal)}.feed-emergency{color:var(--emergency)}.done-actions{flex-wrap:wrap;gap:8px;display:flex}.controls{z-index:2;background:linear-gradient(#0d101700, var(--bg-1) 14px);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:8px;display:grid;position:sticky;bottom:0}.controls .btn{gap:6px;padding:0 6px}.start-block{padding:4px 0 6px;display:grid}.start-btn{width:100%;min-height:72px;font:800 clamp(1rem, 1.5vw, 1.25rem)/1.25 var(--font);color:#fff;background:linear-gradient(180deg, #8a46e6, var(--purple-deep));border:2px solid var(--purple);cursor:pointer;touch-action:manipulation;border-radius:16px;padding:14px 18px;animation:1.5s ease-in-out infinite glow-purple}.start-btn:hover{background:linear-gradient(#9a5cf0,#7a3bd4)}.start-btn:focus-visible{outline-color:#fff}.ladder-wrap{min-width:0}.ladder-title{text-align:center;letter-spacing:.01em;margin-bottom:8px;font-size:1.15rem;font-weight:800}.ladder-title--emergency{color:var(--glow-red)}.ladder-title--normal{color:var(--normal)}.ladder{margin:0;padding:0;list-style:none}.lad-item{grid-template-columns:var(--chip-col) minmax(0, 1fr);display:grid;position:relative}.lad-node{flex-direction:column;grid-column:1;align-items:stretch;display:flex}.lad-bar{height:6px;margin:0 -5px;transition:opacity .25s;display:block}.lad-bar--above{background:var(--bar-on);box-shadow:0 -1px 8px color-mix(in srgb, var(--bar-on) 55%, transparent);border-radius:4px 4px 0 0}.lad-bar--below{background:var(--bar-off);box-shadow:0 1px 8px color-mix(in srgb, var(--bar-off) 55%, transparent);border-radius:0 0 4px 4px}.lad-node.has-bar-above .lad-chip{border-top-left-radius:2px;border-top-right-radius:2px}.lad-node.has-bar-below .lad-chip{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.lad-act{font-size:var(--note-fs);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;grid-area:1/2;place-self:center start;align-items:center;gap:5px;margin-left:10px;padding:2px 9px 2px 7px;font-weight:800;line-height:1.3;transition:opacity .25s;display:inline-flex}.lad-act-arrow{font-size:.8em}.lad-act--above{color:#dcfce7;background:color-mix(in srgb, var(--bar-on) 18%, transparent);border-color:color-mix(in srgb, var(--bar-on) 70%, transparent)}.lad-act--above .lad-act-arrow{color:var(--bar-on)}.lad-act--below{color:#ffedd5;background:color-mix(in srgb, var(--bar-off) 18%, transparent);border-color:color-mix(in srgb, var(--bar-off) 70%, transparent)}.lad-act--below .lad-act-arrow{color:var(--bar-off)}.lad-chip{min-height:var(--chip-h);font:700 var(--chip-fs)/1.15 var(--font);text-align:center;color:#f4f7fc;background:linear-gradient(#3c4456,#252b38);border:1px solid #596480;border-radius:8px;justify-content:center;align-items:center;padding:2px 8px;transition:opacity .25s,box-shadow .25s,border-color .25s;display:flex}button.lad-chip{cursor:pointer;touch-action:manipulation;width:100%}button.lad-chip:focus-visible{outline-offset:3px;outline:3px solid #fff}.lad-item.is-idle .lad-chip,.lad-item.is-idle .lad-bar,.lad-item.is-idle .lad-act{opacity:.45}.lad-item.is-done .lad-chip{opacity:1}.lad-item.is-current .lad-chip{border-color:#fff;box-shadow:0 0 0 1px #ffffff80}.lad-item.glow-purple .lad-chip,.lad-sample.glow-purple .lad-chip{opacity:1;color:#fff;background:linear-gradient(180deg, #8a46e6, var(--purple-deep));border-color:var(--purple);animation:1.5s ease-in-out infinite glow-purple}.lad-item.glow-red .lad-chip,.lad-sample.glow-red .lad-chip{opacity:1;color:#fff;border-color:var(--glow-red);background:linear-gradient(#d93b3b,#8f1d1d);animation:1.1s ease-in-out infinite glow-red}.lad-item.glow-purple .lad-bar,.lad-item.glow-red .lad-bar,.lad-item.glow-purple .lad-act,.lad-item.glow-red .lad-act{opacity:1}.lad-link{grid-column:1/-1;grid-template-columns:var(--chip-col) minmax(0, 1fr);grid-template-rows:var(--arrow-h);color:#9aa7c2;align-items:center;display:grid}.lad-item.is-idle .lad-arrow{opacity:.3}.lad-item.is-idle .lad-note{opacity:.75}.lad-arrow{background:currentColor;justify-self:center;width:2px;height:100%;position:relative}.lad-arrow:after{content:"";border:4.5px solid #0000;border-top:6px solid;border-bottom:0;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.lad-note{font-size:var(--note-fs);color:var(--text-dim);padding-left:10px;line-height:1.15}.lad-sample{width:100%}.lad-sample .lad-chip{min-height:40px;font-size:1rem}@keyframes glow-purple{0%,to{box-shadow:0 0 6px 1px #b266ff8c,0 0 #b266ff4d}50%{box-shadow:0 0 18px 4px #b266fff2,0 0 0 4px #b266ff40}}@keyframes glow-red{0%,to{box-shadow:0 0 6px 1px #ff3b3b8c,0 0 #ff3b3b4d}50%{box-shadow:0 0 18px 4px #ff3b3bf2,0 0 0 4px #ff3b3b40}}@media (width>=720px){.panel{grid-template:"lad cap""lad ctl"1fr/minmax(260px,.8fr) minmax(0,1fr);align-content:stretch;column-gap:18px}.start-block,.ladder-wrap{grid-area:lad}.cap-stack{grid-area:cap}.controls{grid-area:ctl;align-self:end}.start-block{align-content:center}}@media (aspect-ratio>=3/2){.play-body{grid-template-columns:minmax(0, 1fr) var(--panel-w);grid-template-rows:minmax(0,1fr);display:grid}.stage{flex:1;height:auto}.panel{border-left:1px solid var(--line-soft);background:#0d10178c;flex-direction:column;align-content:normal;display:flex}.start-block,.ladder-wrap,.cap-stack,.controls{grid-area:auto}.cap-stack{flex:0 auto;min-height:100px}.controls{align-self:auto;margin-top:auto}.player{--chip-h:clamp(24px, 4.2dvh, 40px);--arrow-h:clamp(10px, 2.3dvh, 24px);--chip-fs:clamp(.75rem, 1.7dvh, .95rem);--note-fs:clamp(.66rem, 1.5dvh, .8rem)}}@media (width<=719px){.player{--chip-h:30px;--arrow-h:14px}}@media (orientation:portrait) and (width<=640px){.rotate-hint{display:flex}}@media (aspect-ratio<=3/2) and (width>=720px) and (height<=860px){.player{--chip-h:23px;--arrow-h:10px;--chip-fs:.78rem;--note-fs:.68rem;--panel-min:300px}.ladder-title{margin-bottom:4px;font-size:1rem}.lad-bar{height:4px}.lad-act{padding:1px 7px 1px 5px}}@media (width<=719px){.controls .btn-label{font-size:.82rem}}@media (width<=560px){.player{--legend-h:52px}}@media (width<=480px){.topbar{gap:8px}.controls .btn-label{display:none}.controls .btn{min-height:44px}}@media (prefers-reduced-motion:reduce){.lad-item.glow-purple .lad-chip,.lad-sample.glow-purple .lad-chip,.start-btn{animation:none;box-shadow:0 0 14px 3px #b266ffe6}.lad-item.glow-red .lad-chip,.lad-sample.glow-red .lad-chip{animation:none;box-shadow:0 0 14px 3px #ff3b3be6}.gen.is-on .gen-img,.gen.is-on .gen-led{animation:none}}
