.cptoc-fab{position:fixed;right:1rem;bottom:1rem;z-index:40;display:inline-flex;align-items:center;gap:.45rem;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--dl-border);background:#111c2e;color:#cdd6ea;box-shadow:0 6px 20px #00000073}.cptoc-fab:hover{border-color:var(--dl-emerald);color:#fff}.cptoc-fab[hidden]{display:none}.cptoc-fab.is-tucked{opacity:0;pointer-events:none;transform:translateY(.5rem)}.cptoc-fab{transition:opacity .18s ease,transform .18s ease}@media(prefers-reduced-motion:reduce){.cptoc-fab{transition:none}.cptoc-fab.is-tucked{transform:none}}.cptoc-panel{position:fixed;right:1rem;left:1rem;bottom:3.9rem;z-index:41;width:auto;max-width:22rem;margin-left:auto;max-height:min(60vh,32rem);overflow-y:auto;padding:.9rem 1rem 1rem;border-radius:12px;border:1px solid var(--dl-border);background:#0e1526;box-shadow:0 14px 40px #0000008c}.cptoc-panel[hidden]{display:none}.cptoc-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cptoc-title{margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8fa2c4}.cptoc-close{font:inherit;font-size:.85rem;line-height:1;cursor:pointer;background:none;border:0;color:#8fa2c4;padding:.2rem .3rem}.cptoc-close:hover{color:#fff}.cptoc-note{margin:.35rem 0 .6rem;font-size:.76rem;color:#8fa2c4}.cptoc-panel nav{display:flex;flex-direction:column;gap:.1rem}.cptoc-link{display:block;padding:.3rem .55rem;border-radius:6px;font-size:.86rem;line-height:1.45;color:#cdd6ea;text-decoration:none;border-left:2px solid transparent}.cptoc-link:hover{background:#152036;color:#fff}.cptoc-link.is-here{border-left-color:var(--dl-emerald-bright);color:#fff;font-weight:600}.cptoc-link.is-masked{color:#7b8397;font-style:italic}@media(prefers-reduced-motion:reduce){.cptoc-fab,.cptoc-panel{transition:none}}.cp-kind{font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.6px;text-transform:uppercase;color:#0b1220;background:var(--dl-emerald-bright);border-radius:999px;padding:.12rem .5rem}.cp-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:-1.25rem 0 2rem;font-size:.76rem;color:var(--dl-muted)}.cp-diff{color:var(--dl-gold);letter-spacing:.1em}.cp-topic{font-family:JetBrains Mono,monospace;font-size:.66rem;border:1px solid var(--dl-border);border-radius:999px;padding:.12rem .55rem;color:var(--dl-emerald-bright)}.cp-dot:before{content:"·";margin-right:.5rem;color:var(--dl-border)}body .panel{max-width:46rem}body .panel figure.tbl figcaption,body .panel figure.diagram figcaption,body .panel .bookgame figcaption,body .panel .minegame figcaption,body .panel .puzzlegame figcaption,body .panel .rotgame figcaption,body .panel .cpgame figcaption,body .panel .glyphgame figcaption,body .panel .plategame figcaption{width:0;min-width:100%}@media(min-width:72rem){body .panel{width:fit-content}body .panel{max-width:min(71rem,calc(100vw - 4rem))}body .panel>p,body .panel>ul,body .panel>ol,body .panel>h2,body .panel>h3,body .panel>.callout,body .panel>details,body .panel .spoiler-body>p,body .panel .spoiler-body>ul,body .panel .spoiler-body>ol,body .panel .spoiler-body>h3,body .panel .spoiler-body>.callout,body .panel .spoiler-body>details{max-width:46rem;margin-left:auto;margin-right:auto}body .panel .mathblock.mathcode{background:#282a36;border-color:#3b3f57}body .panel .mathblock.mathcode .katex{color:#f8f8f2}body .panel figure.tbl,body .panel .dpsim,body .panel .mathblock,body .panel table.io,body .panel>p.io-note,body .panel .spoiler-body>p.io-note{max-width:66rem;margin-left:auto;margin-right:auto}body .panel>p.io-note,body .panel .spoiler-body>p.io-note{max-width:40rem;text-align:center}body .panel figure.tbl,body .panel .dpsim,body .panel .mathblock,body .panel .code-window{width:fit-content;max-width:min(66rem,100%)}body .panel .code-window{margin-left:auto;margin-right:auto}body .panel figure.tbl table.rec{width:auto}body .panel .dpsim table.rec{width:100%}body .panel .dpsim tbody tr.is-later{display:none}body .panel .dpsim tbody tr.is-now>td{background:#4ade8021;color:#eaf4ff}body .panel .dpsim tbody tr.is-now>td:first-child{box-shadow:inset 3px 0 0 var(--dl-emerald-bright)}body .panel table.io{width:100%;max-width:46rem;margin-left:auto;margin-right:auto}body .panel figure.diagram,body .panel .cpgame,body .panel .glyphgame,body .panel .bookgame{max-width:52rem;margin-left:auto;margin-right:auto}body .panel .rotgame,body .panel .puzzlegame,body .panel .minegame{max-width:46rem;margin-left:auto;margin-right:auto}body .panel .plategame{max-width:44rem;margin-left:auto;margin-right:auto}body .panel>.dl-nav,body .panel>h1,body .panel>.cp-meta{max-width:46rem;margin-left:auto;margin-right:auto}body .panel>p.tag{margin-left:max(0px,calc((100% - 46rem)/2))}body .panel>hr.divider,body .panel>hr.divider-solid,body .panel .spoiler-body>hr.divider,body .panel .spoiler-body>hr.divider-solid{max-width:46rem;margin-left:auto;margin-right:auto}}figure.tbl figcaption{max-width:40rem;margin-left:auto;margin-right:auto;text-align:center}.spec ul{margin:.4rem 0 0;padding-left:1.2rem}.spec li{font-size:.86rem;color:var(--dl-ink);margin:.35rem 0;line-height:1.5}.spec li strong{color:var(--dl-gold)}table.io{width:100%;border-collapse:separate;border-spacing:0;margin:1rem 0 .35rem;font-size:.86rem;background:#0b1220;border:1px solid var(--dl-border);border-radius:10px;overflow:hidden;box-shadow:0 4px 16px #0000004d}table.io caption{caption-side:top;text-align:left;font-family:Fira Code,Fira Mono,monospace;font-weight:700;letter-spacing:.2em;font-size:.7rem;color:var(--dl-gold);background:#070c17;padding:.5rem .85rem;border-bottom:1px solid var(--dl-border)}table.io th,table.io td{padding:.55rem .85rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--dl-border)}table.io th+th,table.io td+td{border-left:1px solid var(--dl-border)}table.io tbody tr:last-child td{border-bottom:none}table.io th{background:#141b2b;color:var(--dl-muted);font-weight:600;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;width:50%}table.io td{font-family:Fira Code,Fira Mono,monospace;color:#e7ecf6;line-height:1.75;letter-spacing:.12em}table.io td+td{color:var(--dl-emerald-bright);font-weight:700}.io-note{font-size:.78rem;color:var(--dl-muted);margin:.15rem 0 0}sup,sub{line-height:0;font-size:.72em}.cp-adj{display:flex;justify-content:space-between;gap:1rem;width:0;min-width:100%;margin-top:3rem;padding-top:1.25rem;border-top:1px dashed var(--dl-border)}.cp-adj a{display:flex;flex-direction:column;gap:.15rem;max-width:48%;font-size:.9rem;color:var(--dl-ink);text-decoration:none}.cp-adj a:hover{color:var(--dl-emerald-bright)}.cp-adj a span{font-family:JetBrains Mono,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.5px;color:var(--dl-muted)}.cp-adj-next{text-align:right;margin-left:auto}body .panel .cpgame{border:1px solid var(--dl-border);border-radius:14px;background:#0e1626;padding:1rem 1.1rem 1.15rem;box-shadow:0 10px 30px #00000059}body .panel .cpg-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}body .panel .cpg-tab{font:inherit;font-size:.82rem;cursor:pointer;padding:.32rem .7rem;border-radius:999px;border:1px solid var(--dl-border);background:#111c2e;color:#cdd6ea}body .panel .cpg-tab[aria-selected=true]{background:var(--dl-emerald-bright);border-color:var(--dl-emerald-bright);color:#0b1220;font-weight:700}body .panel .cpg-tease,body .panel .cpg-status,body .panel .cpg-score,body .panel .cpg-hint,body .panel .fg-sub{width:0;min-width:100%}body .panel .cpg-tease{margin:0 0 .8rem;font-size:.9rem;color:#cdd6ea}body .panel .cpg-status{margin:0 0 .35rem;font-size:.88rem;color:#cdd6ea;min-height:2.6em}body .panel .cpg-status.good{color:#4ade80}body .panel .cpg-status.bad{color:#f0a6a6}body .panel .cpg-score{margin:0;font-size:.88rem;color:#9aa7bd}body .panel .cpg-score b{color:#e6edfb}body .panel .cpg-hint{margin:.55rem 0 0;font-size:.82rem;color:#9aa7bd}body .panel .fg-sub{margin:.9rem 0 0;font-size:.85rem;color:#9aa7bd}body .panel .cpg-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.85rem 0 .9rem}body .panel .cpg-btn{font:inherit;font-size:.85rem;cursor:pointer;padding:.4rem .8rem;border-radius:8px;border:1px solid var(--dl-border);background:#111c2e;color:#cdd6ea}body .panel .cpg-btn:hover{border-color:var(--dl-emerald);color:#fff}body .panel .cpg-btn:disabled{opacity:.45;cursor:default}body .panel .cpg-btn.main{flex:1;font-weight:700;min-width:9rem}body .panel .cpg-scroll{overflow-x:auto;padding-bottom:.35rem}body .panel .cpg-cap{font-size:.82rem;color:#9aa7bd}body .panel .ps-strip{display:flex;gap:5px;width:max-content}body .panel .ps-strip>*{min-width:2.4rem;padding:.25rem .35rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;border:1px solid #2a3350;border-radius:6px;background:#101827}body .panel .ps-strip>* small{font-size:.65rem;color:#7b8397}body .panel .ps-strip>* b{font-family:var(--dl-mono,monospace);font-size:.9rem;color:#cdd6ea}body .panel .ps-strip>*.in{background:#14351f;border-color:#2f9e5c}body .panel .ps-strip>*.in b{color:#4ade80}body .panel .ps-strip>*.touched{background:#132235;border-color:#3d5a80}body .panel .cpg-controls .ps-key{min-width:2.1rem;font-family:var(--dl-mono,monospace)}body .panel .cpg-controls .tr-key{min-width:2.2rem;font-family:var(--dl-mono,monospace)}body .panel .gg2-goal{width:0;min-width:100%;margin:0 0 .8rem;font-size:.9rem;color:#cdd6ea}body .panel .gg2-goal b{color:#e6edfb}body .panel .ns-cue{color:var(--dl-muted);font-size:.86rem}body .panel .ns-cue-strong{color:var(--dl-emerald-bright)}
