.broadcast-intro{z-index:12;pointer-events:none;position:absolute;inset:0;overflow:hidden}.broadcast-intro[hidden]{display:none!important}.broadcast-lower-third{color:#122439;background:#f4f6f8f5;border:1px solid #ffffff80;border-bottom:3px solid #9aadb9;border-radius:2px;width:min(560px,100% - 32px);padding:0 0 15px;position:absolute;bottom:clamp(24px,9%,72px);left:clamp(16px,4%,52px);box-shadow:0 8px 30px #0209113d}.broadcast-event{color:#f5f7fb;letter-spacing:.11em;background:#11243d;justify-content:space-between;align-items:center;gap:16px;padding:11px 18px;font-size:clamp(10px,1.2vw,12px);font-weight:800;line-height:1.35;display:flex}.broadcast-stage{color:#c4ceda;white-space:nowrap;font-size:.86em}.broadcast-players{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:14px 18px 5px;font-size:clamp(18px,2.7vw,30px);font-weight:850;line-height:1.18;display:block;overflow:hidden}.broadcast-routine{color:#445769;letter-spacing:.055em;text-transform:uppercase;margin:0 18px;font-size:clamp(11px,1.3vw,13px);font-weight:650;line-height:1.45}.broadcast-intro .broadcast-skip{color:#f4f7fa;min-height:40px;font:inherit;cursor:pointer;pointer-events:auto;background:#11243de8;border:1px solid #b0c0cf;border-radius:4px;padding:10px 15px;font-size:12px;font-weight:700;position:absolute;top:18px;right:18px}.broadcast-intro .broadcast-skip:hover{background:#253c56}.broadcast-intro .broadcast-skip:focus-visible{outline-offset:3px;outline:3px solid #fff}.venue-result-shot{background:#0d1c2c;border:1px solid #42576a;border-radius:5px;margin:20px 0 22px;overflow:hidden}.venue-result-shot img{object-fit:contain;width:100%;height:clamp(145px,21vw,220px);display:block}.venue-result-shot figcaption{color:#dce5ed;letter-spacing:.08em;background:#11243d;justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:11px;font-weight:650;line-height:1.35;display:flex}.venue-result-shot figcaption strong{color:#fff;white-space:nowrap}@media (width<=520px){.broadcast-event{letter-spacing:.06em;gap:8px;padding:9px 12px}.broadcast-players,.broadcast-routine{margin-inline:12px}}.bot-setup{background:linear-gradient(125deg,#163b44,#14242f);border:1px solid #6ce8d255;border-radius:16px;margin:1.5rem 0;padding:1.4rem}.bot-setup h2{margin:.4rem 0}.bot-setup p{max-width:60ch}.bot-options{flex-wrap:wrap;gap:1rem;margin:1rem 0;display:flex}.bot-options label{flex:140px;gap:.4rem;display:grid}.bot-options select{width:100%}.bot-badge{color:#a6f5de;background:#17333b;border-left:3px solid #78edce;border-radius:6px;padding:.7rem 1rem}.bot-badge small{color:#c2d4da;margin-top:.35rem;display:block}.doubles-entry{background:#142b37;border:1px solid #365360;border-radius:20px;max-width:760px;margin:70px auto;padding:36px}.doubles-entry h1{max-width:650px;font-size:clamp(32px,5vw,54px);line-height:1.1}.doubles-entry p{color:#b3c7d0;line-height:1.7}.join-room{align-items:end;gap:16px;margin:24px 0;display:flex}.join-room input{letter-spacing:.2em;text-transform:uppercase;color:#d4fff0;background:#0b202a;border:1px solid #48626d;border-radius:8px;width:200px;padding:12px;font-size:22px}.doubles label{color:#bad0d8;flex-direction:column;gap:8px;font-size:13px;display:flex}.doubles select{min-height:44px}.doubles button.primary{color:#10252b;background:#adf4d8;font-weight:800}.room-heading{justify-content:space-between;align-items:center;margin:24px 0;display:flex}.room-heading h1{margin:8px 0;font-size:32px}.room-heading [data-testid=room-code]{letter-spacing:.16em;color:#adf4d8}.room-lobby{background:#152a35;border:1px solid #354f5e;border-radius:16px;margin-bottom:18px;padding:22px}.player-cards{grid-template-columns:1fr 1fr;gap:20px;display:grid}.player-card{background:#102530;border-left:3px solid #36d8b6;border-radius:5px;padding:10px 20px}.player-card.player-1{border-color:#ff9387}.player-card h2{margin:12px 0;font-size:22px}.player-card p{letter-spacing:.06em;font-size:13px}.player-card .player-control{color:#8fb0bb;letter-spacing:.03em}.player-card label+label{margin-top:14px}.room-options{align-items:center;gap:28px;padding:22px 0;display:flex}.room-options>div{flex:1}.room-options>p{color:#8fb0bb;flex:1;margin:0;font-size:13px;line-height:1.6}.room-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pair-instructions{color:#bdd3da;margin-bottom:0;font-size:13px;line-height:1.6}.doubles-scene .start-marker{display:none!important}.pair-cue{z-index:6;color:#e6fff5;white-space:nowrap;pointer-events:none;background:#153648ee;border:1px solid #83e0cc;border-radius:12px;padding:12px 20px;font-size:clamp(14px,2vw,22px);font-weight:900;position:absolute;top:9%;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0004}.pair-feedback{z-index:7;color:#beffe2;text-align:center;pointer-events:none;background:#12252fea;border-radius:10px;max-width:80%;padding:12px 20px;font-size:clamp(13px,1.5vw,20px);font-weight:800;position:absolute;top:23%;left:50%;transform:translate(-50%)}.pair-feedback[data-quality=DISASTER]{color:#ffb6aa}.pair-hud{background:#1a3543;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:18px;font-size:13px;display:flex}.pair-hud>span:first-of-type{color:#b8fbe1;font-size:24px;font-weight:900}.pair-aborted,.pair-results{background:#172e3a;border:1px solid #39525f;border-radius:18px;margin:20px 0;padding:30px}.pair-aborted{border-color:#a57169}.pair-results>h2{color:#c5ffe9;margin:6px 0 22px;font-size:72px}.pair-score-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.pair-score-grid>div{border-top:1px solid #3b5866;flex-direction:column;gap:8px;padding:18px 0;display:flex}.pair-score-grid b{font-size:30px}.pair-score-grid span{color:#9dc0cc;letter-spacing:.08em;font-size:12px}.pair-moments{grid-template-columns:1fr 1fr;gap:22px;padding:16px 0;display:grid}.pair-feedback-form{flex-wrap:wrap;gap:18px;margin-top:24px;display:flex}.pair-feedback-form p{color:#a6c0cd;width:100%}.doubles details{margin-top:24px}.doubles summary{cursor:pointer;color:#bad7e1;padding:12px 0}.doubles table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.doubles td,.doubles th{border-bottom:1px solid #385561;padding:12px}.network-debug{max-height:260px;font-size:12px;overflow:auto}.pair-error{color:#ffe2da;z-index:8;background:#5b3335;border-radius:10px;padding:16px 20px;position:sticky;bottom:15px}.mode-tabs{gap:10px;margin:20px 0;display:flex}.mode-tabs button[aria-current=page]{color:#c3ffe4;background:#244538;border-color:#5f9e89}@media (width<=700px){.player-cards,.pair-moments{grid-template-columns:1fr}.room-options{flex-wrap:wrap}.room-options>div,.room-options>p{flex-basis:100%}.doubles-entry{margin:25px 0;padding:22px}.pair-hud{flex-wrap:wrap}.pair-score-grid{gap:10px}.pair-score-grid b{font-size:24px}.pair-cue{white-space:normal;text-align:center;max-width:94%;padding:8px;font-size:12px}.pair-feedback{top:27%}.pair-results{padding:20px}}.duel-entry{background:#142b37;border:1px solid #365360;border-radius:16px;max-width:880px;margin:35px auto;padding:30px}.duel-entry h1{margin-top:12px;font-size:clamp(28px,4vw,44px)}.duel-entry>.character-stats{margin:12px 0}.duel-character-select{max-width:300px;margin-top:20px}.duel-options{grid-template-columns:minmax(200px,1.5fr) minmax(120px,.8fr) 1fr;align-items:end;gap:20px;margin:20px 0;display:grid}.duel-options p{margin-bottom:5px;font-size:13px}.duel .character-stats.compact{background:0 0;border:0;padding:9px 0 0}.duel .character-stats.compact .character-identity strong{display:none}.duel .character-stats.compact .character-identity{flex-basis:100%}.duel .character-stats.compact dl{grid-template-columns:repeat(4,minmax(62px,1fr))}.duel .player-card h2{margin:8px 0}.duel-controls{color:#b7cdd5;margin:14px 0;font-size:12px}.duel-controls kbd{vertical-align:middle;min-width:25px;height:25px;font-size:12px}.duel-rink-wrap{border:1px solid #36505e;border-radius:12px;overflow:hidden}.duel-scene canvas{aspect-ratio:auto;cursor:crosshair;width:100%;height:clamp(220px,100dvh - 330px,750px)}.duel-scene .start-marker{display:none!important}.duel-hud{font-variant-numeric:tabular-nums;background:#152b36;border:1px solid #34505a;border-radius:10px;grid-template-columns:1fr 1fr minmax(205px,1fr);align-items:center;gap:20px;margin-bottom:12px;padding:14px 20px;display:grid}.duel-score-strip{border-left:3px solid #48d9b9;grid-template-columns:auto 1fr;gap:4px 12px;padding-left:12px;display:grid}.duel-score-strip.opponent{border-color:#ff9387}.duel-score-strip>span{letter-spacing:1px;font-size:11px;font-weight:750}.duel-score-strip>strong{text-align:right;grid-area:1/2/3;font-size:25px}.duel-score-strip>small{white-space:nowrap;color:#a7bfc9;font-size:11px}.duel-score-strip meter{background:#294551;border:0;border-radius:3px;grid-column:1/-1;width:100%;height:5px}.duel-score-strip meter::-webkit-meter-bar{background:#294551;border:0}.duel-score-strip meter::-webkit-meter-optimum-value{background:#69c7af}.duel-score-strip.opponent meter::-webkit-meter-optimum-value{background:#e99284}.duel-score-strip meter::-moz-meter-bar{background:#69c7af}.duel-score-strip[data-flow-tier=HOT],.duel-score-strip[data-flow-tier=LOCKED\ IN]{background:#294a3c66;border-radius:4px;box-shadow:0 0 18px #b3f0d412}.duel-score-strip.opponent[data-flow-tier=HOT],.duel-score-strip.opponent[data-flow-tier=LOCKED\ IN]{background:#59352f66;box-shadow:0 0 18px #ff938712}.duel-pressure{text-align:center;flex-direction:column;gap:5px;display:flex}.duel-pressure strong{color:#d3f7e5;font-size:13px}.duel-pressure span{color:#9fbac4;letter-spacing:.5px;font-size:10px}.duel-results{background:#152c36;border:1px solid #3d5b63;border-radius:16px;margin:20px 0;padding:28px}.duel-results>h2{margin:12px 0;font-size:clamp(28px,4vw,46px)}.duel-final-players{grid-template-columns:1fr 1fr;gap:20px;margin:22px 0;display:grid}.duel-final-players article{background:#122632;border:1px solid #3a5260;border-radius:10px;padding:20px}.duel-final-players article.winner{background:#193a38;border-color:#b3f0d4}.duel-final-players h3{margin:8px 0;font-size:18px}.duel-final-score{font-variant-numeric:tabular-nums;color:#d6f6e8;font-size:42px}.duel-final-players dl{grid-template-columns:1fr 1fr;gap:13px;margin:20px 0 0;display:grid}.duel-final-players dt{color:#a4bcc7;font-size:12px}.duel-final-players dd{margin:4px 0 0;font-size:22px;font-weight:750}@media (width<=900px){.duel-scene canvas{height:clamp(220px,100dvh - 380px,650px)}.duel-hud{grid-template-columns:1fr 1fr;gap:12px}.duel-pressure{flex-direction:row;grid-column:1/-1;justify-content:space-between}.duel-options{grid-template-columns:1fr 1fr}.duel-options p{grid-column:1/-1}.duel .player-cards{gap:10px}.duel .player-card{padding:10px 12px}.duel .character-stats.compact dl{gap:8px}}@media (width<=620px){.duel-entry{padding:20px}.duel-options,.duel-final-players{grid-template-columns:1fr}.duel-score-strip>strong{font-size:20px}.duel-pressure{flex-direction:column}.duel-results{padding:20px}.duel .player-cards{grid-template-columns:1fr}}.duel-routine-reveal{background:#102731;border:1px solid #395564;border-radius:12px;margin:22px 0;padding:20px}.duel-routine-reveal h2{margin:8px 0;font-size:28px}.duel-routine-reveal p{color:#b8cdd7}.duel-section-list{counter-reset:sections;grid-template-columns:repeat(3,1fr);gap:10px;padding:0;list-style:none;display:grid}.duel-section-list li{counter-increment:sections;background:#18333d;border-radius:6px;padding:12px}.duel-section-list li:before{content:"0" counter(sections);color:#94e7d4;margin-right:10px;font-size:12px}.duel-section-list small{color:#acc4cf;margin-top:6px;line-height:1.4;display:block}.risk-selection{border:0;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;padding:0;display:grid}.risk-selection legend{padding:8px 0 14px;font-weight:800}.risk-selection label{cursor:pointer;background:#172e39;border:1px solid #3b5b69;border-radius:10px;grid-template-columns:18px 1fr;gap:12px;padding:18px;display:grid}.risk-selection label.selected{border-color:#a6f4dd;box-shadow:inset 0 0 0 1px #a6f4dd}.risk-selection input{accent-color:#a6f4dd;width:auto;margin:0}.risk-selection span,.risk-selection small{grid-column:2;line-height:1.5}.risk-selection span{color:#bed0d8;font-size:14px}.risk-selection small{color:#a6f4dd}.risk-selection p{color:#bed0d8;grid-column:1/-1;font-size:13px}.risk-reveal{background:#153b3f;border:1px solid #a6f4dd;border-radius:12px;margin:20px 0;padding:24px}.risk-reveal>div{grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;display:grid}.risk-reveal article{gap:8px;display:grid}.risk-reveal strong{font-size:clamp(18px,2.5vw,30px)}.risk-reveal small,.risk-reveal p{color:#c0d8da}.depth-hud{background:#16303b;border:1px solid #375463;border-radius:10px;grid-template-columns:1.4fr 1fr 1fr;gap:20px;min-height:82px;margin:18px 0 12px;padding:15px 20px;display:grid;position:relative}.depth-current-section,.depth-pressure,.depth-flow{flex-direction:column;gap:5px;display:flex}.depth-current-section>strong{font-size:21px}.depth-current-section>small{color:#c1d6df}.depth-pressure{text-align:center}.depth-pressure strong{color:#a6f4dd;font-size:26px}.depth-pressure span,.depth-pressure small{letter-spacing:.06em;font-size:11px}.depth-flow{justify-content:center}.depth-flow meter{accent-color:#a6f4dd;width:100%;height:9px}.depth-flow small{color:#b1cad4;font-size:11px}.section-comparison{z-index:8;pointer-events:none;background:#112b35f2;border-left:3px solid #a6f4dd;border-radius:5px;gap:5px;max-width:320px;padding:13px 18px;display:grid;position:absolute;top:calc(100% + 18px);left:16px;box-shadow:0 4px 20px #0003}.section-comparison span{color:#a6f4dd;font-size:12px}.section-comparison small{color:#c5dbe4}.duel-section-feedback{pointer-events:none;color:#fff;background:#183e49e8;border-radius:6px;padding:10px 16px;font-size:18px;font-weight:800;position:absolute;top:45%;right:3%}.duel-section-feedback[hidden]{display:none}.result-risk{color:#a6f4dd;letter-spacing:.06em;font-size:12px}.duel-section-story{margin:24px 0}.duel-section-story>p{color:#bcd4dd}.duel-section-story table{border-collapse:collapse;width:100%;font-size:14px}.duel-section-story th,.duel-section-story td{text-align:left;border-bottom:1px solid #375463;padding:12px 8px}.duel-section-story td small{color:#acc5ce;margin-top:4px;font-size:11px;display:block}.duel-awards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:24px 0;display:grid}.duel-awards article{background:#203d45;border-top:2px solid #a6f4dd;border-radius:8px;padding:16px}.duel-awards h3{margin:10px 0;font-size:17px}.duel-awards p{color:#bbd2d9;font-size:13px;line-height:1.5}.duel-scene canvas{height:clamp(220px,100dvh - 350px,750px)}.series-standing{background:#143b40;border:1px solid #598783;border-radius:10px;margin:20px 0;padding:18px;line-height:1.6}.series-standing small,.series-standing li{color:#c0d8da;font-size:13px}.series-standing li{margin:10px 0}@media (width<=900px){.duel-section-list{grid-template-columns:repeat(2,1fr)}.risk-selection{grid-template-columns:1fr}.depth-hud{grid-template-columns:1.2fr 1fr;gap:10px}.depth-flow{display:none}.duel-scene canvas{height:clamp(220px,100dvh - 400px,650px)}}:root{color:#183e50;font-synthesis:none;background:#f5f9fb;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{color:#173e51;background:#fff;border:1px solid #bfd1db;border-radius:9px;padding:11px 18px;font-weight:650}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #ef6c3d}button:disabled{cursor:not-allowed;opacity:.45}main{max-width:1380px;margin:auto;padding:20px 40px}header{letter-spacing:1.5px;border-bottom:1px solid #d6e2e8;justify-content:space-between;align-items:center;padding-bottom:16px;font-size:12px;display:flex}.brand{letter-spacing:1px;font-size:18px;font-weight:850}.brand span{color:#688594;margin-left:16px;font-size:11px}.intro{justify-content:space-between;align-items:center;gap:20px;margin:20px 0;display:flex}h1{letter-spacing:-1.2px;margin:0 0 7px;font-size:32px}p{color:#526f7e;margin:0;line-height:1.6}label{font-size:14px;font-weight:600}select{color:#183e50;background:#fff;border:1px solid #bfd1db;border-radius:8px;padding:10px 30px 10px 12px}.rink{background:#e7f3f7;border:1px solid #afcdd8;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 8px 24px #183e5008}canvas{aspect-ratio:1200/675;touch-action:none;width:100%;display:block}footer{color:#587785;justify-content:space-between;gap:20px;padding:15px 0;font-size:14px;display:flex}footer i{color:#23a886;margin:0 8px;font-size:8px}.play{justify-content:space-between;min-width:145px;font-size:18px;display:flex}.setup{background:#fff;border:1px solid #d5e1e7;border-radius:12px;grid-template-columns:1fr 1fr 1fr;gap:25px;margin:0 0 20px;padding:17px 23px;display:grid}.setup label{color:#526f7e;flex-direction:column;gap:9px;display:flex}.segmented{border:1px solid #bfd1db;border-radius:8px;padding:3px;display:flex}.segmented button{border:0;flex:1;padding:7px}.rink-note{background:#eff8fbea;border-radius:16px;max-width:400px;padding:24px;position:absolute;top:26%;left:12%}.eyebrow{letter-spacing:1.8px;color:#417c8f;font-size:12px;font-weight:750}h2{letter-spacing:-.7px;margin:12px 0 20px;font-size:28px;line-height:1.2}.key-guide{gap:24px;margin-bottom:20px;font-size:15px;display:flex}.key-guide span{align-items:center;gap:10px;display:flex}kbd{background:#fff;border:1px solid #b3cdd7;border-bottom-width:3px;border-radius:7px;justify-content:center;align-items:center;min-width:35px;height:35px;padding:0 5px;font:750 18px system-ui;display:inline-flex}.rink-note p{max-width:285px;font-size:14px}.hud{color:#fff;background:#183e50;border-radius:12px;grid-template-columns:repeat(4,1fr);margin-bottom:14px;padding:13px 28px;display:grid}.hud div{border-right:1px solid #ffffff25;justify-content:center;align-items:center;gap:15px;display:flex}.hud div:last-child{border:0}.hud span{letter-spacing:1px;color:#b6d3df;font-size:11px;font-weight:650}.hud strong{font-variant-numeric:tabular-nums;font-size:24px}.hud small{color:#a5cddc;font-size:15px}.ready-hint{text-align:center;margin-top:8px;font-size:14px}.interrupted{background:#fffffff5;border:1px solid #b8d2df;border-radius:16px;width:min(560px,90%);padding:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 70px #173e5120}.actions{flex-wrap:wrap;gap:10px;margin:25px 0;display:flex}.notice{background:#fff0dc;border-radius:10px;margin-bottom:15px;padding:16px}.results{background:#fff;border:1px solid #d5e1e7;border-radius:18px;margin-top:24px;padding:32px 40px}.result-heading{justify-content:space-between;align-items:center;gap:30px;display:flex}.result-heading h1{margin:10px 0}.big-score{letter-spacing:-3px;color:#087f98;font-size:64px;font-weight:800}.big-score span{letter-spacing:0;text-align:right;color:#587785;font-size:14px;font-weight:550;display:block}.component-scores{grid-template-columns:1fr 1fr;gap:20px;margin:28px 0;display:grid}.component-scores>div{background:#f0f7fa;border:1px solid #dbeaf0;border-radius:12px;padding:22px}.component-scores strong{float:right;font-size:32px}.component-scores p{margin-top:14px;font-size:14px}.judgments{border-bottom:1px solid #dfebf0;grid-template-columns:repeat(5,1fr);padding-bottom:22px;display:grid}.judgments div,.result-details div{flex-direction:column;align-items:center;gap:7px;display:flex}.judgments b{font-size:26px}.judgments span,.result-details span{color:#587785;font-size:14px}.result-details{justify-content:space-around;padding-top:24px;display:flex}.result-details strong{font-size:22px}details{color:#587785;font-size:14px}summary{cursor:pointer}pre{white-space:pre-wrap;font-size:13px}canvas:focus{outline:none}@media (width>=1100px){.rink{min-width:740px;max-width:calc(177.78vh - 604.452px);margin-left:auto;margin-right:auto}.rink:has(.rink-note){max-width:calc(177.78vh - 675.564px)}}@media (width<=1050px){header>span{display:none}main{padding:20px}.setup{gap:12px}.hud{padding:12px}.hud div{flex-direction:column;gap:3px}.rink-note{padding:18px;top:18%;left:8%}h2{font-size:23px}}@media (width<=650px){main{padding:15px}.brand span{display:none}.setup{grid-template-columns:1fr}.intro{flex-direction:column;align-items:flex-start}h1{font-size:28px}.rink-note{background:#edf8fb;max-width:none;position:static}.rink canvas{min-height:220px}.component-scores{grid-template-columns:1fr}.results{padding:20px}.result-heading{display:block}.big-score,.big-score span{text-align:left}footer{flex-direction:column}.result-details{gap:10px}.result-details span{text-align:center}}:root{scrollbar-gutter:stable}.settings-button{letter-spacing:0;padding:8px 13px;font-size:14px}.control-choice{color:#526f7e;flex-direction:column;gap:9px;font-size:14px;font-weight:600;display:flex}.settings{color:#183e50;background:#fafdfe;border:0;border-left:1px solid #bdd4df;width:min(485px,100%);max-width:100%;height:100%;max-height:100%;margin:0;padding:28px;position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-10px 0 50px #173e5120}.settings::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102e4960}.drawer-heading{justify-content:space-between;align-items:flex-start;display:flex}.drawer-heading h2{margin-top:8px}.drawer-heading button{padding:5px 10px;font-size:24px;line-height:24px}.drawer-heading small{letter-spacing:0;color:#935629;vertical-align:middle;background:#fff1d9;border-radius:5px;padding:4px 8px;font-size:12px;font-weight:650}.drawer-intro{margin-bottom:18px;font-size:14px}.drawer-select{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.drawer-select select{min-width:160px;max-width:230px}.setting-row{border-top:1px solid #e0eaf0;margin-top:8px;padding:18px 0 8px}.setting-row>div:first-child{justify-content:space-between;display:flex}.setting-row output{color:#167f96;font-size:14px;font-weight:700}.range-line{align-items:center;gap:15px;margin:10px 0 3px;display:flex}.range-line input{accent-color:#138aa4;flex:1;min-width:0}.range-line button,.bindings>div>button+button,.effects-row button{padding:5px 9px;font-size:12px}.setting-row small{color:#69818e;font-size:12px}.irrelevant{opacity:.62}.settings fieldset{border:1px solid #d1e2e9;border-radius:10px;margin:22px 0;padding:15px}.settings legend{font-size:14px;font-weight:650}.settings fieldset p{margin-bottom:14px;font-size:13px}.bindings{gap:12px;margin-bottom:15px;display:flex}.bindings>div{flex-direction:column;gap:5px;display:flex}.bindings button{font-size:14px}.bindings kbd{min-width:30px;height:30px;margin-left:10px;font-size:16px}.binding-status{min-height:20px;margin:10px 0 0!important}.effects-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.effects-row input{accent-color:#138aa4}.feedback{background:#eaf4f8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:22px;margin-top:20px;padding:24px;display:flex}.feedback>div{flex:1;min-width:200px}.feedback p{margin-top:6px;font-size:13px}.feedback label{flex-direction:column;gap:7px;display:flex}.history{background:#fff;border:1px solid #d4e3eb;border-radius:10px;padding:18px}.history p{margin:16px 0;font-size:14px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}th,td{border-bottom:1px solid #e1ebef;padding:12px 10px}th{text-transform:uppercase;letter-spacing:.5px;font-size:12px}td details{margin-top:5px}td pre{max-width:300px}.settings .actions{margin-bottom:0}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}:root{color:#e9f1f4;background:#0d1923}main{max-width:1600px;padding:18px 30px}header{border-color:#29404f;padding-bottom:14px}.brand{color:#eef7fa;font-size:17px}.brand span{color:#75c5b7}button,select{color:#e4eef2;background:#1b2e3c;border-color:#3b5363}button:hover{background:#2c4556}.primary{color:#0d302b;background:#aff1d2;border-color:#aff1d2}.primary:hover{background:#c7ffe5}p,footer{color:#99aebc}.intro{margin:17px 0}h1{letter-spacing:-1.3px;font-size:clamp(24px,2.8vw,36px)}.intro p{font-size:14px}.setup{background:#12232f;border-color:#294252;grid-template-columns:1fr 1fr 1.25fr 1fr;gap:24px;margin-bottom:16px;padding:14px 20px}.setup label,.control-choice>span{color:#97acba;letter-spacing:.6px;text-transform:uppercase;font-size:11px}.setup select,.setup button{text-transform:none;letter-spacing:0;font-size:13px}.segmented{border-color:#3b5363}.segmented [aria-pressed=true]{color:#beffe5;background:#32524f}:is(.rink,.rink:has(.rink-note)){background:#142838;border-color:#36505e;border-radius:12px;min-width:0;max-width:none;margin:0;box-shadow:0 20px 70px #0004}.rink canvas{aspect-ratio:auto;cursor:crosshair;width:100%;height:clamp(370px,100dvh - 295px,750px)}.game-scene{position:relative}.scene-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 90px #08203150}.rink-note{pointer-events:none;background:#0b2029d9;border:1px solid #a7dccc30;border-radius:4px;max-width:320px;padding:25px;top:auto;bottom:32px;left:32px;box-shadow:0 12px 32px #0003}.rink-note h2{margin:12px 0 20px;font-size:36px;font-weight:850}.eyebrow{color:#8ad6c2;letter-spacing:2px;font-size:10px}.rink-note p{color:#b2c7cc;font-size:12px}.key-guide{gap:18px;font-size:13px}kbd{color:#e4f8f2;background:#2a464c;border-color:#5a7b81}.hud{background:#152b38;border:1px solid #35505c;border-radius:8px;margin-bottom:12px;padding:12px 20px}.hud strong{color:#b4f8d8}.hud span{color:#a9becb}.arena-caption{color:#e5fff4;letter-spacing:1.5px;pointer-events:none;background:#102c3cb8;border-left:2px solid #8de6c8;padding:9px 12px;font-size:11px;position:absolute;top:22px;left:24px}.arena-caption small{color:#9fb7c3;letter-spacing:2px;margin:5px 0 0 12px;font-size:8px;display:block}.live-dot{background:#9ef8cd;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.scene-player{letter-spacing:1px;pointer-events:none;background:#0b2431dd;border-left:3px solid #9be8ce;align-items:center;gap:12px;padding:10px 18px 10px 12px;font-size:13px;font-weight:750;display:flex;position:absolute;bottom:23px;left:24px}.scene-player b{color:#a5ebd6;font-size:29px}.scene-player small{color:#a4bac3;letter-spacing:1.4px;margin-top:6px;font-size:8px;display:block}.camera-switch{letter-spacing:.5px;background:#0c2634d9;border-radius:4px;padding:10px 12px;font-size:10px;position:absolute;bottom:23px;right:24px}.camera-status{color:#d5ecee;letter-spacing:1.4px;pointer-events:none;background:#0d293abb;padding:7px 10px;font-size:9px;position:absolute;top:29px;right:24px}.start-marker{color:#eafff4;letter-spacing:1px;white-space:nowrap;background:#165b4eea;border:2px solid #b2ffde;border-radius:30px;padding:16px 20px;font-size:11px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 9px #48d0a730,0 3px 20px #003d3440}.pace-marker{pointer-events:none;color:#0e826f;text-shadow:0 1px 2px #fff;font-size:18px;position:absolute;transform:translate(-50%,-50%)}.pace-marker[data-edge=true]{transform:translate(-50%, -50%) rotate(var(--direction));color:#fff;width:32px;height:32px;text-shadow:none;background:#0e826f;border:2px solid #9bffe4;border-radius:50%;place-items:center;display:grid}.next-cue{color:#fff0e6;letter-spacing:.7px;pointer-events:none;white-space:nowrap;background:#5e361cf2;border:1px solid #ffc193;border-radius:6px;padding:13px 22px;font-size:14px;font-weight:800;position:absolute;bottom:26px;left:50%;overflow:hidden;transform:translate(-50%)}.next-cue:after{content:"";height:3px;width:var(--cue-progress,0%);background:#ffc385;position:absolute;bottom:0;left:0}.next-cue[data-action=spin]{background:#392658ed;border-color:#c9b3ff}.next-cue[data-action=spin]:after{background:#b898ff}.judgment{color:#ffe7cb;text-shadow:0 2px 12px #1b374f;pointer-events:none;background:#5f291ac9;border-radius:6px;padding:9px 18px;font-size:24px;font-weight:900;position:absolute;top:27%;left:50%;transform:translate(-50%)}.judgment[data-success=true]{color:#d6ffeb;background:#0e5345dd}.countdown{color:#fff9dd;text-shadow:0 3px 30px #174351;pointer-events:none;font-size:clamp(60px,8vw,110px);font-weight:900;position:absolute;top:30%;left:50%;transform:translate(-50%)}.countdown[data-stage=intro]{text-align:center;white-space:nowrap;font-size:clamp(22px,4vw,42px)}.graphics-error,.preview-error{color:#fff;z-index:5;background:#123446;border:1px solid #78b5ba;border-radius:8px;padding:20px;position:absolute;inset:30%}[hidden]{display:none!important}.beat-pulse{pointer-events:none;gap:7px;display:flex;position:absolute;top:52px;right:28px}.beat-pulse i{opacity:.45;background:#7a9ca7;border-radius:50%;width:9px;height:9px}.beat-pulse[data-beat="0"] i:first-child,.beat-pulse[data-beat="1"] i:nth-child(2),.beat-pulse[data-beat="2"] i:nth-child(3),.beat-pulse[data-beat="3"] i:nth-child(4){opacity:1;background:#a1ffe0;box-shadow:0 0 9px #43bd99}.interrupted{color:#e0f0f8;background:#102838f5;border:1px solid #426675}.notice{color:#f6d3a9;background:#3a3027;border-color:#795c3b}.settings{color:#e6f1f6;background:#142a37}.settings fieldset{border-color:#3f5765}.setting-row{border-color:#354c5b}.setting-row output{color:#8be5ce}.settings small{color:#a2b6c2}.feedback,.history,.results{background:#152b38;border-color:#34505e}.component-scores>div{background:#1d3543;border-color:#3b5666}.component-scores strong,.big-score{color:#a6f1d3}.big-score span,.judgments span,.result-details span,details{color:#a2b9c7}.judgments,th,td{border-color:#37515e}footer{padding:13px 0;font-size:11px}.ready-hint{color:#a4c7c8;font-size:12px}@media (width<=900px){main{padding:12px 16px}.setup{grid-template-columns:1fr 1fr;gap:12px;padding:12px}.rink-note{max-width:250px;padding:18px;bottom:18px;left:18px}.rink-note h2{font-size:30px}.brand span{font-size:9px}.hud{padding:10px}.hud div{flex-direction:column;gap:5px}.scene-player{padding:8px;font-size:9px;bottom:12px;left:12px}.scene-player b{font-size:20px}.next-cue{font-size:12px;bottom:74px}.camera-switch{bottom:12px;right:12px}}@media (width<=540px){.brand span{display:none}.intro{align-items:flex-start}.play{min-width:84px}.rink-note{background:#102737c9;max-width:220px}.arena-caption{font-size:8px;top:12px;left:12px}.camera-status{top:70px;right:12px}.graphics-error,.preview-error{font-size:12px;inset:15%}}.song-selection{background:#15312f;border:1px solid #3d665f;border-radius:12px;align-items:center;gap:28px;margin:0 0 12px;padding:14px 20px;display:flex}.song-selection>label{color:#9ddac8;letter-spacing:1.4px;flex-direction:column;flex:0 330px;gap:7px;min-width:240px;font-size:10px;display:flex}.song-selection select{letter-spacing:0;background:#102823;border-color:#4b7468;width:100%;font-size:15px;font-weight:650}.song-details p{color:#c0d8d0;flex-wrap:wrap;gap:6px 18px;font-size:13px;display:flex}.song-details strong{color:#baffdb}.song-details small{color:#93b7ad;margin-top:7px;font-size:12px;line-height:1.5;display:block}.result-song{color:#b6f0da;margin-bottom:7px;font-weight:650}.result-song span{color:#a2b9c7;font-size:13px;font-weight:400}@media (width<=700px){.song-selection{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.song-selection>label{flex-basis:auto;min-width:0}}.character-stats{background:#12232f;border:1px solid #294252;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;margin:-4px 0 16px;padding:13px 20px;display:flex}.character-identity strong{color:#e4eef2;font-size:14px}.character-identity p{font-size:13px;line-height:1.5}.character-identity small{color:#96acb9;font-size:11px}.character-stats dl{grid-template-columns:repeat(4,minmax(72px,1fr));gap:24px;margin:0;display:grid}.character-stats dt{color:#b5c8d3;margin-bottom:7px;font-size:11px}.character-stats dd{gap:4px;margin:0;display:flex}.character-stats dd span{border:1px solid #547080;border-radius:3px;width:11px;height:5px}.character-stats dd span.filled{background:#b3f0d4;border-color:#b3f0d4}.character-stats.compact{flex-wrap:wrap;gap:12px;margin:10px 0}.character-stats.compact dl{flex:1;gap:12px}.rink-note .key-guide{flex-wrap:wrap;gap:12px 20px}.hud.flow-hud{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(155px,1.1fr)}.hud .flow-status{grid-template-columns:auto 1fr;gap:5px 10px;padding:0 0 0 18px;display:grid}.hud .flow-status strong{letter-spacing:.5px;text-align:right;color:#b5dace;white-space:nowrap;font-size:13px}.flow-status meter{background:#28414b;border:0;border-radius:4px;grid-column:1/-1;width:100%;height:7px}.flow-status meter::-webkit-meter-bar{background:#28414b;border:0;border-radius:4px}.flow-status meter::-webkit-meter-optimum-value{background:#8abdaf;border-radius:4px}.flow-status meter::-webkit-meter-suboptimum-value{background:#8abdaf;border-radius:4px}.flow-status meter::-webkit-meter-even-less-good-value{background:#8abdaf;border-radius:4px}.flow-status meter::-moz-meter-bar{background:#8abdaf;border-radius:4px}.hud .flow-status[data-flow-tier=HOT] strong,.hud .flow-status[data-flow-tier=LOCKED\ IN] strong{color:#cfffbc}.flow-status[data-flow-tier=HOT] meter::-webkit-meter-optimum-value{background:#cfffbc}.flow-status[data-flow-tier=LOCKED\ IN] meter::-webkit-meter-optimum-value{background:#cfffbc}.flow-results{background:#142a2a;border:1px solid #365249;border-radius:10px;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;padding:16px 20px;display:flex}.flow-results .eyebrow{color:#b5dace}.flow-results p{font-size:13px}.flow-results dl{gap:42px;margin:0;display:flex}.flow-results dt{color:#a6bab6;font-size:12px}.flow-results dd{color:#d5f2e6;font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:24px;font-weight:700}.flow-results small{color:#a6c9b8;font-size:11px;font-weight:500}.skate-debug{z-index:8;color:#e7f1f6;font-variant-numeric:tabular-nums;background:#10222cf2;border:1px solid #7194a3;border-radius:8px;width:min(320px,100% - 20px);max-height:calc(100% - 20px);padding:10px 12px;font-size:11px;position:absolute;top:10px;right:10px;overflow-y:auto}.skate-debug summary{cursor:pointer;font-weight:700}.skate-debug p{margin-top:8px;font-size:11px}.skate-debug dl{gap:5px;display:grid}.skate-debug dl>div,.skate-debug label>span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.skate-debug dd{margin:0}.skate-debug label{margin-top:9px;font-size:11px;display:block}.skate-debug output{color:#b3f0d4}.skate-debug input{accent-color:#b3f0d4;width:100%}.skate-debug button{margin-top:10px;padding:7px 10px;font-size:11px}@media (width<=950px){.character-stats{gap:16px}.character-stats dl{gap:12px}.hud.flow-hud{grid-template-columns:repeat(4,minmax(0,1fr))}.hud .flow-status{border-top:1px solid #ffffff25;grid-column:1/-1;grid-template-columns:auto auto 1fr;justify-content:start;margin-top:7px;padding:9px 0 0}.flow-status meter{grid-column:auto;max-width:260px;margin-left:4px}}@media (width<=640px){.character-stats{flex-direction:column;align-items:flex-start}.character-stats dl{width:100%}.flow-results{flex-direction:column;align-items:flex-start;gap:12px}.flow-results dl{flex-wrap:wrap;gap:15px 30px}}
