.camera-settings{margin:28px auto 0;max-width:1100px;border-top:1px solid #c7a6e533;border-bottom:1px solid #c7a6e533;color:#b7a7c3}.camera-settings>summary{padding:14px 4px;cursor:pointer;list-style:none;font-size:10px;font-weight:800;letter-spacing:1.1px;color:#d3ff55}.camera-settings>summary::-webkit-details-marker{display:none}.camera-settings>summary:after{content:"＋";float:right;color:#d3ff55}.camera-settings[open]>summary:after{content:"−"}.camera-settings>summary span{font-weight:500;letter-spacing:.3px;color:#a99bb5}.camera-settings .camera-consent{margin:0 0 16px;padding:14px;background:#15121d99;border:1px solid #d3ff552a}.camera-settings .camera-choice{display:flex;align-items:center;justify-content:space-between;gap:12px}.camera-settings .camera-choice strong{font-size:10px;letter-spacing:.3px;color:#f1edf5}.camera-settings .camera-disclosure{font-size:10px;line-height:1.55;color:#a99bb5;margin:8px 0 0}.camera-settings .camera-archive{margin:0 auto 16px;max-width:none;width:100%}.camera-settings .camera-consent.camera-compact{margin-top:0}.camera-settings .camera-compact .camera-actions{margin-top:8px}.camera-settings summary:focus-visible{outline:2px solid #d3ff55;outline-offset:3px}
.burst-battle{max-width:1100px;margin:auto}.burst-hud{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;gap:24px;margin:0 0 18px}.burst-player{display:flex;align-items:center;gap:12px;min-width:0}.burst-player img{width:54px;height:54px;object-fit:cover;object-position:center 20%;border:1px solid #d3ff5577;background:#242130}.burst-player>div{min-width:0}.burst-player span{display:block;font-size:8px;letter-spacing:2px;color:#b4a9c4;margin-bottom:5px}.burst-player strong{font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.burst-player>b{font-size:48px;line-height:1;font-weight:800;color:#d3ff55;margin-left:auto}.burst-player.opponent>b{margin-left:0;margin-right:auto;color:#ff6eaa}.burst-player.opponent>div{text-align:right}.burst-vs{text-align:center;font-style:italic;font-weight:800;font-size:24px;color:#f2eaf6}.burst-vs small{display:block;font-size:7px;font-style:normal;letter-spacing:1px;color:#b6a7c4;margin-top:6px}.cinema-stage{position:relative;aspect-ratio:25/14;width:100%;overflow:hidden;background:#151020;border:1px solid #c7a6e544;border-radius:4px;isolation:isolate}.cinema-stage canvas{display:block;width:100%;height:100%}.fight-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;background:#100918b0;pointer-events:none}.fight-overlay>span{font-size:11px;letter-spacing:4px;color:#d3ff55;font-weight:800}.fight-overlay h2{font-size:clamp(28px,4vw,60px);font-weight:800;letter-spacing:-2px;line-height:1.05;max-width:800px;margin:16px 0;color:#fff;text-wrap:balance}.fight-overlay p{font-size:16px;letter-spacing:3px;font-weight:800;margin:0;color:#d3ff55}.fight-overlay>strong{font-size:64px;font-weight:800;margin-top:8px;line-height:1}.stage-corner{position:absolute;left:16px;bottom:12px;font-size:7px;letter-spacing:2px;color:#d9c6e6;pointer-events:none}.stage-event{position:absolute;right:16px;bottom:10px;font-size:11px;font-weight:800;font-style:italic;letter-spacing:1px;color:#d3ff55;text-shadow:0 2px 6px #000;pointer-events:none}.burst-controls{border:1px solid #c7a6e533;padding:20px 24px;margin-top:16px;background:#181421}.burst-control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.burst-control-heading h2{font-size:18px;font-weight:800;letter-spacing:-.6px;margin:0}.burst-timer{display:flex;align-items:baseline;gap:5px;min-width:80px;justify-content:flex-end}.burst-timer strong{font-size:30px;line-height:1;font-weight:800;color:#d3ff55}.burst-timer span{font-size:8px;color:#b7a7c3}.burst-time{height:3px;background:#39303f;margin-bottom:16px;overflow:hidden}.burst-time i{display:block;width:100%;height:100%;background:#d3ff55;transform-origin:left center;transform:scaleX(1)}.combo-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}.combo-slot{height:50px;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #4c405b;background:#211a2b;min-width:0}.combo-slot>small{font-size:8px;color:#9787a5}.combo-slot>b{font-size:24px;color:#54495d;margin:auto}.combo-slot>span{font-size:9px;font-weight:700;white-space:nowrap}.combo-slot.filled{border-color:#d3ff5566;background:#d3ff5512}.combo-slot.filled>b{color:#d3ff55;margin:0}.combo-slot[data-zone=mid].filled>b{color:#ff9bc9}.combo-slot[data-zone=low].filled>b{color:#8ae2ef}.combo-slot.pending{border-style:dashed}.combo-slot.pop{animation:slot-pop .22s cubic-bezier(.22,1,.36,1)}.strike-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.strike-buttons button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:82px;padding:12px;background:#292032;color:#fff;border:1px solid #9e83b455;border-radius:3px;transition:transform .18s cubic-bezier(.22,1,.36,1),background .18s}.strike-buttons button>b{font-size:36px;color:#d3ff55;font-weight:600;line-height:1}.strike-buttons button>span{font-size:13px;font-weight:800;letter-spacing:1px;text-align:left}.strike-buttons button small{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:#c4b6ce;margin-top:4px}.strike-buttons button kbd{position:absolute;top:6px;right:8px;border:1px solid #6d5c7c;padding:2px 4px;font-size:8px;color:#cabbda}.strike-buttons button:nth-child(2)>b{color:#ff9bc9}.strike-buttons button:nth-child(3)>b{color:#8ae2ef}.strike-buttons button:hover:not(:disabled){background:#40314c}.strike-buttons button:active:not(:disabled),.strike-buttons button.pressed{transform:scale(.96);background:#d3ff5527;border-color:#d3ff55}.strike-buttons button:disabled{opacity:.35;cursor:default}.strike-buttons button:focus-visible{outline:3px solid #d3ff55;outline-offset:4px}#combo-status{font-size:12px;font-weight:600;margin:16px 0 8px;color:#e0d2ee;min-height:18px}.counter-rule{font-size:10px;color:#a99ab9;line-height:1.6;margin:0}.counter-rule>span{padding:0 8px;color:#5f506a}.fight-log{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:16px 0;list-style:none}.fight-log li{min-height:78px;border:1px solid #44364f;background:#1b1524;padding:12px;opacity:.4}.fight-log li.seen{opacity:1}.fight-log li.win{border-color:#d3ff5577}.fight-log li.lose{border-color:#ed65ad77}.fight-log li>b{font-size:9px;letter-spacing:1px;display:block;color:#a994bc;margin-bottom:8px}.fight-log li>span{font-size:20px;letter-spacing:4px}.fight-log li>small{font-size:10px;display:block;margin-top:6px;color:#d5c3e2}.burst-battle .result{margin-top:16px}.burst-battle .result h2{font-size:42px}.burst-battle .result-actions .primary{font-size:12px}.wait-scene{display:flex;justify-content:center;align-items:center;gap:24px;margin:24px 0 8px;height:180px}.wait-scene>img{width:140px;height:180px;object-fit:contain;object-position:center bottom}.wait-scene>b{font-size:24px;font-style:italic;color:#d3ff55}.wait-unknown{width:140px;height:160px;display:flex;align-items:center;justify-content:center;border:1px dashed #9278ac66;font-size:72px;font-weight:800;color:#8e769e;background:#a38bba0a;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}.waiting{background:#17131fe8}.waiting #room-tools{padding:20px;border:1px solid #d3ff5544;background:#d3ff5509;margin:24px 0}.waiting #room-tools label{font-size:10px;color:#d3ff55;letter-spacing:1px}.waiting .link-row{margin-bottom:0}.waiting .link-row input{background:#0f0b16;font-size:13px;cursor:text}.waiting .link-row button{border-color:#d3ff5577;white-space:nowrap}.waiting .fine{font-size:10px;letter-spacing:0;line-height:1.6}.result-score{font-variant-numeric:tabular-nums}
@keyframes slot-pop{from{transform:scale(.88);opacity:.5}to{transform:scale(1);opacity:1}}
@media(max-width:760px){.burst-hud{gap:12px;grid-template-columns:1fr 50px 1fr}.burst-player{gap:8px}.burst-player img{width:38px;height:44px}.burst-player strong{font-size:11px;max-width:100px}.burst-player>b{font-size:34px}.burst-player span{font-size:6px;letter-spacing:1px}.burst-vs{font-size:20px}.burst-vs small{font-size:6px}.burst-controls{padding:16px}.strike-buttons button{min-height:72px;gap:8px}.strike-buttons button>span{font-size:11px}.fight-overlay h2{font-size:36px}.fight-overlay p{font-size:12px;letter-spacing:2px}.fight-overlay>strong{font-size:40px}.fight-log li{padding:8px}.fight-log li>span{font-size:16px}.fight-log li>small{font-size:8px}.combo-slot{padding:8px;gap:4px}.combo-slot>span{font-size:8px}.combo-slot>b{font-size:21px}}
@media(max-width:480px){.burst-battle .match-header{margin:12px 0}.burst-battle .match-header .eyebrow{font-size:7px;max-width:240px;line-height:1.5}.burst-battle .text-button{font-size:9px}.burst-hud{gap:8px;grid-template-columns:1fr 38px 1fr;margin-bottom:12px}.burst-player img{width:30px;height:38px}.burst-player strong{font-size:10px;max-width:70px}.burst-player>b{font-size:28px}.burst-player{gap:6px}.burst-player span{font-size:5px}.burst-vs{font-size:16px}.burst-vs small{font-size:5px;letter-spacing:.3px}.cinema-stage{aspect-ratio:25/16}.cinema-stage canvas{object-fit:cover}.fight-overlay{padding:16px}.fight-overlay h2{font-size:27px;letter-spacing:-1px;margin:12px 0}.fight-overlay p{font-size:10px;letter-spacing:1px}.fight-overlay>span{font-size:8px;letter-spacing:2px}.fight-overlay>strong{font-size:32px;margin-top:6px}.stage-corner{font-size:5px;left:10px;bottom:8px;letter-spacing:1px}.stage-event{font-size:8px;right:10px;bottom:7px;letter-spacing:.5px}.burst-controls{padding:12px;margin-top:12px}.burst-control-heading h2{font-size:12px;letter-spacing:-.2px}.burst-timer{min-width:62px}.burst-timer strong{font-size:25px}.burst-timer span{font-size:6px}.burst-time{margin-bottom:12px}.combo-slots{gap:5px;margin-bottom:12px}.combo-slot{height:43px;padding:5px;gap:3px;justify-content:center}.combo-slot>small{position:absolute;top:3px;left:4px;font-size:6px}.combo-slot{position:relative}.combo-slot>b{font-size:24px}.combo-slot>span{display:none}.strike-buttons{gap:8px}.strike-buttons button{min-height:72px;padding:10px 6px;gap:4px}.strike-buttons button>b{font-size:28px}.strike-buttons button>span{font-size:9px;letter-spacing:.5px}.strike-buttons button small{font-size:8px}.strike-buttons button kbd{font-size:6px;top:4px;right:5px}#combo-status{font-size:10px;margin:12px 0 8px;line-height:1.5}.counter-rule{font-size:8px}.counter-rule>span{padding:0 4px}.fight-log{gap:5px;margin:12px 0}.fight-log li{padding:6px 4px;min-height:65px}.fight-log li>b{font-size:6px;letter-spacing:.5px;margin-bottom:6px}.fight-log li>span{font-size:13px;letter-spacing:1px}.fight-log li>small{font-size:7px}.burst-battle .result h2{font-size:30px}.wait-scene{gap:12px;height:150px}.wait-scene>img{width:110px;height:150px}.wait-unknown{width:100px;height:140px;font-size:60px}.waiting #room-tools{padding:12px;margin:20px 0}.waiting #room-tools label{font-size:8px}.waiting .link-row input{font-size:12px}.waiting .fine{font-size:9px}.waiting h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.combo-slot.pop{animation:none}.strike-buttons button{transition:none!important}}
.retry-assets{position:absolute;z-index:3;left:50%;bottom:48px;transform:translateX(-50%);font-size:9px;white-space:nowrap;border-color:#d3ff5577;background:#111020ee;color:#fff}
.camera-consent{margin-top:22px;padding:16px;border:1px solid #d3ff552a;background:#15121cd9}.camera-kicker{font-size:8px;letter-spacing:1.7px;color:#d3ff55;font-weight:800}.camera-copy h2{font-size:17px;margin:7px 0 5px}.camera-copy p,.camera-status,.camera-archive .fine,.reaction-gallery .fine{font-size:10px;line-height:1.6;color:#b6a9c1;margin:0}.camera-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.camera-actions button{font-size:9px}.camera-status{margin-top:9px;min-height:16px}.camera-capture-source{display:none!important}.camera-archive{grid-column:1/-1;margin:20px auto;width:min(100%,1000px);padding:20px}.archive-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.archive-head h2{margin:5px 0 0;font-size:22px}.archive-head .text-button{font-size:9px;white-space:nowrap}.reaction-shots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.reaction-shot{position:relative;padding:0;min-width:0;overflow:hidden;aspect-ratio:4/3;border:1px solid #51465c;background:#0d0b12;cursor:pointer}.reaction-shot img{width:100%;height:100%;object-fit:cover;display:block}.reaction-shot span{position:absolute;left:0;right:0;bottom:0;padding:7px 5px;background:#09070dbf;color:#eee;font-size:8px;line-height:1.3;text-align:left}.reaction-shot[aria-pressed=true]{border:2px solid #d3ff55;box-shadow:0 0 0 2px #d3ff5533}.reaction-gallery{margin:16px 0;padding:18px 20px;border:1px solid #d3ff5533;background:#17131fe8}.reaction-gallery>button.primary{font-size:10px}.reaction-gallery[hidden],.camera-archive[hidden]{display:none!important}
@media(max-width:760px){.camera-consent{padding:12px;margin-top:16px}.camera-copy p{font-size:9px}.camera-actions{gap:7px;flex-wrap:wrap}.camera-actions button{font-size:8px;padding:9px}.camera-archive{padding:14px;margin:12px auto}.archive-head h2{font-size:18px}.reaction-shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.reaction-shot span{font-size:7px;padding:5px 4px}.reaction-gallery{padding:12px}.reaction-gallery>button.primary{width:100%}}
@media(max-width:390px){.reaction-shots{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-copy h2{font-size:15px}.camera-status{font-size:9px}}
.reaction-photo{min-width:0;overflow:hidden;border:1px solid #51465c;background:#0d0b12}.reaction-pick{display:block;width:100%;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:#eee;text-align:left;cursor:pointer}.reaction-pick img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.reaction-pick span{display:block;padding:7px 8px;color:#eee;font-size:9px;line-height:1.4}.reaction-pick[aria-pressed=true]{outline:2px solid #d3ff55;outline-offset:-2px}.reaction-photo>.text-button{display:block;width:100%;padding:6px 8px;text-align:left;font-size:8px}.reaction-photo .text-button{color:#bdb2c8}
.camera-consent.camera-compact{margin-top:12px;padding:0;border:0;background:transparent}.camera-compact .camera-disclosure,.camera-compact .camera-status{font-size:8px;line-height:1.5;color:#a99bb5;margin:0}.camera-compact .camera-actions{margin-top:5px;gap:10px}.camera-compact .camera-actions button{font-size:7px;padding:4px 0;border:0;min-height:20px;color:#d3ff55;background:transparent}
.camera-compact .camera-choice{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;color:#f5f1fa;font-size:10px;font-weight:800;letter-spacing:.2px;line-height:1.3}.camera-compact .camera-choice strong{flex:1;min-width:0}.camera-compact .camera-choice input{width:20px;height:20px;flex:none;margin:0;padding:0;accent-color:#d3ff55}.camera-compact .camera-disclosure,.camera-compact .camera-status{font-size:11px;line-height:1.5}
.camera-compact .camera-choice button{flex:none;min-height:44px;padding:7px 8px;border:1px solid #d3ff5555;background:#d3ff550d;color:#e5ff9b;font-size:8px;font-weight:800;cursor:pointer}.camera-compact .camera-choice button:hover{border-color:#d3ff55;background:#d3ff5518}.camera-compact .camera-choice button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.camera-compact .camera-actions:has(#open-archive[hidden]){display:none}.camera-compact .camera-actions button{min-height:44px;padding:8px 10px;border:1px solid #d3ff5555;background:#d3ff550d;color:#e5ff9b;font-size:9px;font-weight:800;cursor:pointer}.camera-compact .camera-actions button:hover{border-color:#d3ff55;background:#d3ff5518}.camera-compact .camera-actions button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.battle-camera-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:0;margin-bottom:8px}.battle-camera-status{margin:0;color:#eee4f5;font-size:10px;line-height:1.4;text-align:right}.battle-camera-status[hidden]{display:none}.battle-camera-disable{display:block;min-height:44px;margin:0;padding:8px 12px;border:1px solid #ff6688;background:#291622;color:#fff;font-size:10px;font-weight:800;letter-spacing:.3px}.battle-camera-disable[hidden]{display:none}
@media(max-width:760px){.camera-compact .camera-disclosure,.camera-compact .camera-status{font-size:11px}}
@media(max-width:480px){.camera-consent.camera-compact{margin-top:4px}.camera-compact .camera-disclosure{font-size:10px;line-height:1.35}}

/* Clear post-match controls and home navigation. */
.battle-home{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 16px;border:1px solid #d3ff5577;background:#d3ff5510;color:#eaff9b;font:800 10px/1 Manrope, sans-serif;letter-spacing:1px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.battle-home:hover{background:#d3ff5524;border-color:#d3ff55;transform:translateY(-1px)}
.battle-home:focus-visible,.result-actions a:focus-visible,.result-actions button:focus-visible,.invite-telegram:focus-visible{outline:3px solid #d3ff55;outline-offset:3px}
.result-banner{position:absolute;z-index:2;top:clamp(18px,4vw,48px);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);min-width:min(340px,calc(100% - 28px));padding:16px 24px 14px;text-align:center;background:linear-gradient(135deg,#100c1bed,#17111fe8);border:1px solid #d3ff5599;box-shadow:0 16px 55px #0009,0 0 35px #d3ff5514;backdrop-filter:blur(12px);color:#fff}
.result-banner:not([hidden]){animation:result-reveal .45s cubic-bezier(.2,.8,.2,1) both}
.result-banner[data-outcome=lose]{border-color:#ff668caa;box-shadow:0 16px 55px #0009,0 0 35px #ff668c18}
.result-banner[data-outcome=draw],.result-banner[data-outcome=neutral]{border-color:#71d7ffaa;box-shadow:0 16px 55px #0009,0 0 35px #71d7ff18}
.result-banner>span{display:block;color:#d3ff55;font-size:8px;font-weight:900;letter-spacing:2.4px}
.result-banner[data-outcome=lose]>span{color:#ff91aa}.result-banner[data-outcome=draw]>span,.result-banner[data-outcome=neutral]>span{color:#8de8ff}
.result-banner h2{margin:6px 0 0;font-size:clamp(22px,3.1vw,36px);line-height:1.05;font-weight:900;letter-spacing:-1px}
.result-banner>strong{display:block;margin-top:7px;color:#d3ff55;font-size:clamp(20px,3vw,32px);line-height:1;font-variant-numeric:tabular-nums}
.result-banner[data-outcome=lose]>strong{color:#ff668c}.result-banner[data-outcome=draw]>strong,.result-banner[data-outcome=neutral]>strong{color:#8de8ff}
.result-banner>p{margin:7px 0 0;color:#ded2e8;font-size:10px;font-weight:700;letter-spacing:.4px}
.burst-battle .result{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:12px;padding:17px 20px;border-color:#d3ff5544;background:linear-gradient(110deg,#1a1523,#16121d)}
.burst-battle .result h2{font-size:16px;letter-spacing:.4px;margin:6px 0 4px}
.burst-battle .result p{font-size:11px;line-height:1.45;margin:0;color:#c7b9d2}
.result-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.result-actions .primary,.result-actions .secondary,.result-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;white-space:nowrap;font:800 9px/1.2 Manrope,sans-serif;letter-spacing:.5px;text-decoration:none}
.result-actions .share-telegram,.invite-telegram{border:1px solid #5b9cff88;background:#2374d622;color:#d7e8ff}
.result-actions .share-telegram:hover,.invite-telegram:hover{background:#2374d644;border-color:#78b0ff}
.waiting .link-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:stretch}
.waiting .invite-telegram{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;font-size:9px;font-weight:800;letter-spacing:.4px;text-decoration:none;white-space:nowrap}
.waiting #cancel{display:block;margin:20px auto 0;min-height:48px;padding:0 24px;border-color:#d3ff5577;color:#eaff9b}
@keyframes result-reveal{from{opacity:0;transform:translate(-50%,-12px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(max-width:760px){.burst-battle .result{align-items:stretch;flex-direction:column;gap:14px}.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.result-actions>*{width:100%}.result-actions .primary{grid-column:1/-1}.waiting .link-row{grid-template-columns:1fr 1fr}.waiting .link-row input{grid-column:1/-1}.waiting .link-row #copy,.waiting .link-row .invite-telegram{width:100%;min-height:46px}}
@media(max-width:480px){.battle-home{min-height:44px;padding:0 12px;font-size:9px}.result-banner{top:10px;min-width:0;padding:12px 16px 11px}.result-banner h2{font-size:23px}.result-banner>p{font-size:9px}.burst-battle .result{padding:14px}.result-actions .primary,.result-actions .secondary,.result-actions a{min-height:46px;padding:0 8px;font-size:8px}.waiting .link-row{grid-template-columns:1fr}.waiting .link-row input{grid-column:auto}.waiting .link-row #copy,.waiting .link-row .invite-telegram{width:100%}}
.result-banner{position:relative;top:auto;left:auto;transform:none;width:min(100%,720px);max-width:100%;min-width:0;margin:0 auto 12px;backdrop-filter:blur(16px)}
.result-banner:not([hidden]){animation:result-reveal .4s cubic-bezier(.2,.8,.2,1) both}
@keyframes result-reveal{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:480px){.result-banner{width:100%;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.result-banner:not([hidden]){animation:none!important}}
/* Post-fight move log: two readable fighter rows with five clear exchanges. */
.fight-log{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.fight-log li{display:grid;grid-template-columns:minmax(66px,.8fr) repeat(5,minmax(0,1fr));align-items:center;gap:3px;min-width:0;min-height:56px;padding:8px;opacity:1}
.fight-log li>b{min-width:0;margin:0;font-size:8px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fight-log li>span{font-size:14px;letter-spacing:0;text-align:center;white-space:nowrap;color:#cabbd6}
.fight-log li>span.won{color:#d3ff55;font-weight:900}.fight-log li>span.lost{color:#ff8cab}.fight-log li>span.clash{color:#8de8ff}
.fight-log li.win{border-color:#d3ff5577}.fight-log li.lose{border-color:#ed65ad77}
@media(max-width:760px){.fight-log{grid-template-columns:1fr}.fight-log li{grid-template-columns:minmax(80px,1fr) repeat(5,minmax(0,44px));min-height:50px;padding:6px 8px}}
@media(max-width:360px){.fight-log li{grid-template-columns:minmax(62px,1fr) repeat(5,minmax(0,38px));gap:1px;padding:5px}.fight-log li>b{font-size:7px}.fight-log li>span{font-size:12px}}

/* Tactile on-screen arcade remote. All combat choices are explicit pointer/touch targets. */
.remote-hint{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;background:#0c0a13;border:1px solid #d9c8ec33;border-left:3px solid #d3ff55;color:#d8ccdf;font-size:11px;line-height:1.45}
.remote-hint b{color:#d3ff55;font-size:8px;letter-spacing:1.5px;white-space:nowrap}
.arcade-remote{display:grid;grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr);align-items:center;gap:22px;padding:18px 22px;border:1px solid #927ca555;border-radius:10px;background:linear-gradient(145deg,#262031,#17141f 60%,#211a29);box-shadow:inset 0 1px #ffffff12,0 12px 24px #0004;}
.remote-dpad{justify-self:center;display:grid;grid-template-columns:76px 92px 76px;grid-template-rows:58px 72px 58px;gap:5px;align-items:stretch;justify-items:stretch;padding:10px;border:1px solid #ffffff13;border-radius:12px;background:#100e17;box-shadow:inset 0 5px 14px #0008;}
.remote-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;padding:5px 3px;color:#fff;border:1px solid #ffffff35;border-radius:7px;background:linear-gradient(160deg,#50445d,#30283a 65%,#241e2d);box-shadow:inset 0 1px #ffffff24,0 4px 0 #100d15,0 5px 8px #0005;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:transform .1s,filter .12s,box-shadow .1s;}
.remote-button b{font-size:25px;line-height:1;color:#fff;font-weight:700}.remote-button span{font-size:8px;line-height:1.1;letter-spacing:.8px;font-weight:900;color:#ded4e6}
.remote-button:hover:not(:disabled){filter:brightness(1.25)}.remote-button:active:not(:disabled),.remote-button.pressed{transform:translateY(3px);box-shadow:inset 0 1px #ffffff24,0 1px 0 #100d15;background:#ffffff20}
.remote-button:disabled{opacity:.35;filter:saturate(.5)}.remote-button:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #d3ff5577}
.remote-up{grid-area:1/2/2/3;border-color:#d3ff5577}.remote-up b,.remote-up span{color:#d3ff55}
.remote-left{grid-area:2/1/3/2;border-color:#ed65ad77}.remote-left b,.remote-left span{color:#ff9bc9}
.remote-right{grid-area:2/3/3/4;border-color:#ed65ad77}.remote-right b,.remote-right span{color:#ff9bc9}
.remote-down{grid-area:3/2/4/3;border-color:#88e9ec77}.remote-down b,.remote-down span{color:#88e9ec}
.remote-mark{grid-area:2/2/3/3;display:grid;place-items:center;color:#81748d;font-size:11px;font-weight:900;font-style:italic;letter-spacing:-.5px;border:1px solid #ffffff12;border-radius:7px;background:radial-gradient(circle,#3b3148,#211c29 70%);}
.remote-output{min-width:0}.remote-output-label{display:block;margin-bottom:10px;color:#c0b4cc;font-size:8px;letter-spacing:1.5px;font-weight:800}.remote-output .combo-slots{margin:0 0 10px;gap:6px}.remote-output .combo-slot{height:58px;justify-content:center;padding:6px 4px;background:#100e17;border-radius:5px}.remote-output .combo-slot>small{font-size:8px}.remote-output .combo-slot>b{font-size:24px}.remote-output .combo-slot>span{display:none}.remote-output #combo-status{margin:8px 0 0;min-height:30px;color:#d8ccdf;font-size:10px;line-height:1.5}
.burst-controls .counter-rule{margin-top:12px}
@media(max-width:760px){.arcade-remote{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;padding:12px}.remote-dpad{grid-template-columns:minmax(46px,66px) minmax(52px,76px) minmax(46px,66px);grid-template-rows:52px 62px 52px;gap:4px;padding:7px}.remote-button b{font-size:22px}.remote-button span{font-size:7px;letter-spacing:.4px}.remote-output .combo-slots{gap:3px}.remote-output .combo-slot{height:48px}.remote-output .combo-slot>b{font-size:20px}.remote-output .combo-slot>small{font-size:7px}.remote-output #combo-status{font-size:9px}.remote-hint{font-size:10px;padding:8px 10px}}
@media(max-width:520px){.arcade-remote{grid-template-columns:1fr;gap:12px;padding:12px}.remote-dpad{grid-template-columns:72px 86px 72px;grid-template-rows:50px 60px 50px}.remote-output .combo-slots{gap:5px}.remote-output .combo-slot{height:43px}.remote-output .combo-slot>b{font-size:22px}.remote-hint{align-items:flex-start;flex-direction:column;gap:3px}.remote-output #combo-status{min-height:18px}}
@media(prefers-reduced-motion:reduce){.remote-button{transition:none!important}}

/* Compact fighting-game HUD integrated into the arena canvas. */
.burst-battle{max-width:1060px;padding-top:2px}
.cinema-stage{aspect-ratio:25/13.5;border-radius:8px}
.fight-hud{position:absolute;z-index:3;top:10px;left:12px;right:12px;display:grid;grid-template-columns:minmax(0,1fr) auto 56px auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:7px 12px;border:1px solid #ffffff24;border-radius:7px;background:linear-gradient(90deg,#100c19ed,#100c19d9 45%,#100c19ed);box-shadow:0 7px 24px #0007;backdrop-filter:blur(10px)}
.fight-player{display:flex;align-items:center;gap:9px;min-width:0}.fight-player img{display:block;width:42px;height:42px;flex:0 0 42px;object-fit:cover;object-position:center 19%;border:1px solid #d3ff55aa;border-radius:4px;background:#242130}.fight-player>div{min-width:0}.fight-player span{display:block;margin:0 0 3px;color:#bdb0ca;font-size:7px;letter-spacing:1.4px;font-weight:800}.fight-player strong{display:block;max-width:190px;overflow:hidden;color:#fff;font-size:12px;font-weight:900;white-space:nowrap;text-overflow:ellipsis}.fight-player.opponent{justify-content:flex-end;text-align:right}.fight-player.opponent img{border-color:#ff668caa}.fight-score{min-width:28px;text-align:center;color:#d3ff55;font-size:32px;line-height:1;font-weight:1000;font-variant-numeric:tabular-nums;text-shadow:0 0 16px #d3ff5540}.fight-score.opponent-score{color:#ff668c;text-shadow:0 0 16px #ff668c40}.fight-center{text-align:center;color:#fff;font-style:italic;font-weight:1000;line-height:1}.fight-center>b{display:block;font-size:18px}.fight-center small{display:block;margin-top:5px;color:#c9bbd5;font-size:7px;font-style:normal;font-weight:800;letter-spacing:1px;white-space:nowrap}
.fight-overlay{z-index:1;padding-top:88px}.stage-corner,.stage-event{z-index:2}.retry-assets{position:absolute;z-index:4;left:50%;bottom:44px;transform:translateX(-50%)}
.shell>header{height:76px;border-bottom:1px solid #ffffff20;position:relative;z-index:5}.shell>header .brand{font-size:36px;font-weight:800;letter-spacing:-4px}.shell>header .brand span{letter-spacing:3px;font-size:7px}.shell>header .header-right{gap:18px}.shell>header .tag{font-size:8px;color:#c8c2d5;letter-spacing:1.5px;display:flex;align-items:center;gap:8px}.shell>header .tag b{color:#d3ff55;font-size:7px;letter-spacing:1px}.shell>header .tag b:before{content:'';display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%;margin-right:5px}.shell>header .match-context{color:#d3ff55}.shell>header .icon{background:#17131f88;border-color:#e8d7ff40;border-radius:5px;padding:9px 13px;font-size:16px}.shell>header .icon span{font-size:8px}
@media(max-width:760px){.shell>header{height:68px}.shell>header .brand{font-size:32px}.shell>header .header-right{gap:10px}.shell>header .tag{font-size:7px;letter-spacing:.8px}.fight-hud{top:7px;left:7px;right:7px;grid-template-columns:minmax(0,1fr) auto 40px auto minmax(0,1fr);gap:6px;min-height:48px;padding:5px 7px}.fight-player{gap:6px}.fight-player img{width:34px;height:34px;flex-basis:34px}.fight-player span{font-size:5px;letter-spacing:.7px}.fight-player strong{max-width:115px;font-size:10px}.fight-score{font-size:26px}.fight-center>b{font-size:15px}.fight-center small{font-size:6px;margin-top:4px}.fight-overlay{padding-top:70px}}
@media(max-width:480px){.shell>header{height:62px}.shell>header .brand{font-size:29px}.shell>header .header-right{gap:7px}.shell>header .tag{font-size:6px;letter-spacing:.3px;gap:4px}.shell>header .tag b{display:none}.shell>header .icon{padding:7px 9px;font-size:14px}.shell>header .icon span{font-size:6px}.shell>header .battle-home{min-height:38px;padding:0 9px;font-size:8px;letter-spacing:.4px}.burst-battle{padding-top:0}.cinema-stage{aspect-ratio:25/15}.fight-hud{top:5px;left:5px;right:5px;grid-template-columns:minmax(0,1fr) auto 34px auto minmax(0,1fr);gap:4px;min-height:42px;padding:4px}.fight-player{gap:4px}.fight-player img{width:28px;height:30px;flex-basis:28px}.fight-player span{display:none}.fight-player strong{max-width:82px;font-size:9px}.fight-score{min-width:22px;font-size:22px}.fight-center>b{font-size:13px}.fight-center small{font-size:5px;letter-spacing:.3px;margin-top:3px}.fight-overlay{padding:55px 12px 12px}.fight-overlay h2{font-size:clamp(22px,7vw,30px)}}
@media(prefers-reduced-motion:reduce){.fight-hud{backdrop-filter:none}}

/* Three real attack targets: the center control is a button, not a decorative D-pad hub. */
.remote-dpad{grid-template-columns:minmax(84px,112px);grid-template-rows:repeat(3,minmax(52px,60px));gap:8px;padding:10px;justify-content:center;align-content:center}
.remote-up{grid-area:1/1/2/2}.remote-center{grid-area:2/1/3/2;border-color:#ed65ad99;background:linear-gradient(160deg,#68405a,#392638 70%,#241b29)}.remote-center b,.remote-center span{color:#ff9bc9}.remote-down{grid-area:3/1/4/2}.remote-mark{display:none}
.remote-button{min-height:48px;gap:4px}.remote-button span{font-size:9px;letter-spacing:.5px}
@media(max-width:760px){.remote-dpad{grid-template-columns:minmax(100px,132px);grid-template-rows:repeat(3,minmax(54px,64px));gap:8px;padding:8px}.remote-button span{font-size:9px}}
@media(max-width:520px){.remote-dpad{width:min(100%,240px);grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(54px,62px));gap:7px;margin-inline:auto}.remote-button{flex-direction:row;gap:10px}.remote-button b{font-size:20px}.remote-button span{font-size:10px;letter-spacing:.7px}}

/* Compact result stays inside the arena, below the match HUD. */
.cinema-stage .result-banner{position:absolute;z-index:3;top:54%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 24px);min-width:min(280px,calc(100% - 24px));margin:0;padding:12px 24px;pointer-events:none;backdrop-filter:blur(8px)}
.cinema-stage .result-banner:not([hidden]){animation:arena-result-reveal .35s ease-out both}
.cinema-stage .result-banner h2{font-size:clamp(20px,3vw,34px)}
.cinema-stage .result-banner>p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes arena-result-reveal{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:480px){.cinema-stage .result-banner{top:58%;min-width:min(220px,calc(100% - 20px));padding:8px 12px}.cinema-stage .result-banner>span{font-size:7px;letter-spacing:1px}.cinema-stage .result-banner h2{font-size:clamp(18px,5vw,23px);margin:4px 0 0}.cinema-stage .result-banner>strong{font-size:22px;margin-top:4px}.cinema-stage .result-banner>p{font-size:8px;margin-top:4px}}
@media(prefers-reduced-motion:reduce){.cinema-stage .result-banner:not([hidden]){animation:none}}

.exchange-cue{position:absolute;z-index:2;left:50%;top:35%;transform:translateX(-50%);max-width:90%;padding:5px 12px;text-align:center;white-space:nowrap;background:#120a1bd9;color:#d3ff55;font-size:clamp(13px,2.2vw,25px);font-weight:900;font-style:italic;letter-spacing:.5px;text-shadow:0 2px 6px #000;pointer-events:none}.exchange-cue[data-kind=lose],.exchange-cue[data-kind=miss]{color:#ff90ae}.exchange-cue[data-kind=clash]{color:#8de8ff}.exchange-cue[data-kind=final]{color:#fff;border-bottom:2px solid #d3ff55}@media(max-width:480px){.exchange-cue{top:33%;font-size:12px;padding:4px 8px}}
.exchange-cue[data-kind=finish]{top:auto;bottom:12%;color:#fff;border-bottom:2px solid #d3ff55;font-size:clamp(11px,1.8vw,20px)}

.fight-overlay p{max-width:750px;line-height:1.35;text-wrap:balance}@media(max-width:480px){.fight-overlay p{font-size:10px;letter-spacing:1px;max-width:310px}.fight-overlay h2{margin:8px 0}.fight-overlay>strong{margin-top:4px;font-size:30px}}

.unlock-card{display:flex;align-items:center;gap:14px;margin:12px 0;padding:12px 16px;border:1px solid #d3ff55;background:linear-gradient(110deg,#282a1c,#15121c);animation:unlock-reveal .45s ease-out both}.unlock-card img{width:78px;height:78px;object-fit:contain;background:#17121f}.unlock-card div{flex:1;min-width:0}.unlock-card span,.unlock-card small{display:block;color:#d3ff55;font-size:9px;font-weight:800;letter-spacing:1px}.unlock-card strong{display:block;color:white;font-size:16px;margin:5px 0}.unlock-card button{min-height:44px}.unlock-card .secondary{border:1px solid #81718e;padding:0 14px}.unlock-card[hidden]{display:none}@keyframes unlock-reveal{from{opacity:0;filter:brightness(2);transform:translateY(6px)}to{opacity:1;filter:brightness(1);transform:translateY(0)}}@media(max-width:600px){.unlock-card{display:grid;grid-template-columns:64px 1fr 1fr;gap:8px}.unlock-card img{width:64px;height:64px}.unlock-card div{grid-column:2/-1}.unlock-card button{font-size:9px}.unlock-card #unlock-select{grid-column:1/3}}@media(prefers-reduced-motion:reduce){.unlock-card{animation:none}}

.audio-settings{position:relative}.audio-settings summary{display:flex;align-items:center;justify-content:center;width:36px;height:38px;cursor:pointer;list-style:none;color:#fff;border:1px solid #74657e;border-radius:4px}.audio-settings summary::-webkit-details-marker{display:none}.audio-settings summary:focus-visible{outline:3px solid #d3ff55;outline-offset:2px}.audio-settings-panel{position:absolute;z-index:20;right:0;top:44px;width:220px;padding:14px;background:#17121f;border:1px solid #74657e;box-shadow:0 12px 30px #0009}.audio-settings-panel label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:8px;color:#fff;font-size:10px;font-weight:800;margin-bottom:12px}.audio-settings-panel input{width:100%;accent-color:#d3ff55}.audio-settings-panel small{color:#b9a8c7;font-size:10px}
@media(max-width:480px){.shell>header .brand{flex-shrink:0}.shell>header .brand span{white-space:nowrap}#match-label{display:none}}

.unlock-card:not([hidden]) img{animation:unlock-silhouette .7s ease-out both}@keyframes unlock-silhouette{0%{filter:brightness(0);opacity:.7}48%{filter:brightness(0);opacity:1}62%{filter:brightness(2);opacity:1}100%{filter:brightness(1);opacity:1}}@media(prefers-reduced-motion:reduce){.unlock-card:not([hidden]) img{animation:none}}

/* Mobile: keep the arena prominent and all three touch targets in one compact row. */
@media(max-width:600px){
  .burst-controls{margin-top:8px;padding:10px 12px}
  .burst-control-heading{margin-bottom:7px}
  .burst-control-heading h2{font-size:15px}
  .burst-timer strong{font-size:25px}
  .burst-time{margin-bottom:8px}
  .remote-hint{padding:7px 9px;margin-bottom:8px;gap:2px}
  .arcade-remote{grid-template-columns:1fr;gap:8px;padding:8px}
  .remote-dpad{width:100%;margin:0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:6px;background:none;border:0;box-shadow:none}
  .remote-up,.remote-center,.remote-down{grid-area:auto}
  .remote-button{min-width:0;min-height:60px;padding:6px 3px;gap:3px;flex-direction:column;justify-content:center}
  .remote-button b{font-size:22px;line-height:1}
  .remote-button span{font-size:8px;line-height:1.2;letter-spacing:0;white-space:normal;text-align:center}
  .remote-output-label{margin-bottom:5px}
  .remote-output .combo-slots{gap:4px;margin-bottom:4px}
  .remote-output .combo-slot{height:36px}
  .remote-output .combo-slot>b{font-size:19px}
  .remote-output #combo-status{min-height:0;margin:4px 0 0;line-height:1.35}
  .burst-controls .counter-rule{margin-top:7px}
}
@media(max-width:600px){
  .remote-hint{display:block;padding:5px 9px}
  .remote-hint b{display:none}
  .remote-hint span{font-size:10px;line-height:1.25}
  .arcade-remote{padding:0;border:0;background:none;box-shadow:none;gap:6px}
  .remote-output-label{display:none}
  .remote-output .combo-slot{height:31px}
}

.unlock-card .unlock-art{position:relative;flex:0 0 110px;width:110px;height:110px;min-width:0}.unlock-card .unlock-art img{width:100%;height:100%;object-fit:contain}.unlock-art span{position:absolute;inset:-15px;pointer-events:none;opacity:0;background:var(--unlock-impact,none) 0 0 / 800% 100% no-repeat;animation:unlock-spark .7s steps(8,end) both}@keyframes unlock-spark{0%{opacity:0;background-position:0 0}20%{opacity:.8}100%{opacity:0;background-position:100% 0}}@media(max-width:600px){.unlock-card .unlock-art{width:64px;height:80px;grid-column:1;grid-row:1}}@media(prefers-reduced-motion:reduce){.unlock-art span{animation:none;display:none}}
@media(max-width:600px){.unlock-card{grid-template-columns:84px 1fr 1fr}.unlock-card .unlock-art{width:84px;height:108px}}

.result-banner[data-clean=true]{border-color:#d3ff55;box-shadow:0 12px 45px #000b,0 0 28px #d3ff5544}
.result-banner[data-clean=true][data-outcome=lose]{border-color:#ff668c;box-shadow:0 12px 45px #000b,0 0 28px #ff668c44}

.rematch-status{margin:12px 0 0;padding:12px 14px;border-left:3px solid #a59bb5;background:#211b2c;color:#e7dff0;font-size:.82rem;font-weight:800;line-height:1.45}.rematch-status[data-state="offered"]{border-color:#d3ff55;color:#d3ff55;background:#242b1b}.rematch-status[data-state="left"]{border-color:#ff6eaa;color:#ffabc9}.rematch-status[hidden]{display:none}
/* Keep longer comeback messages inside the arena on narrow phones. */
.exchange-cue{white-space:normal;overflow-wrap:anywhere;line-height:1.15}
.next-goal{display:flex;align-items:center;gap:16px;margin:14px 0;padding:10px 16px;border:1px solid #736146;background:linear-gradient(120deg,#211a2d,#16141e);border-radius:12px;min-width:0}.next-goal[hidden]{display:none}.next-goal-art{width:112px;height:116px;flex:0 0 112px;position:relative;background:radial-gradient(ellipse at 50% 85%,#d3ff5526,transparent 65%)}.next-goal-art img,.next-goal-art canvas{width:100%;height:100%;object-fit:contain}.next-goal-art [hidden]{display:none}.next-goal span{display:block;color:#b5a7c7;font-size:10px;font-weight:800;letter-spacing:.06em}.next-goal strong{display:block;margin:6px 0;color:#fff;font-size:15px;overflow-wrap:anywhere}.next-goal p{margin:0;color:#d3ff55;font-size:11px;line-height:1.5;font-weight:800}.previous-series{margin:10px 0;padding:10px 14px;border:1px solid #736083;background:#201929;color:#e0c7f9;font-size:12px;font-weight:800;text-align:center;letter-spacing:.05em}.previous-series[hidden]{display:none}@media(max-width:420px){.next-goal{gap:10px;padding:8px 10px}.next-goal-art{width:88px;flex-basis:88px;height:104px}.next-goal strong{font-size:12px}.next-goal p,.next-goal span{font-size:9px}.previous-series{font-size:10px;letter-spacing:0}}

.exchange-cue[data-kind^="super-"]{top:auto;bottom:18%;width:max-content;max-width:88%;font-size:clamp(10px,1.8vw,21px);border:1px solid #d3ff5580;color:#d3ff55;background:#100c19e8}.exchange-cue[data-kind="super-lose"]{border-color:#ff90ae90;color:#ff90ae}.exchange-cue[data-kind="final"]{top:21%;width:max-content;max-width:88%;font-size:clamp(10px,1.7vw,20px)}

.exchange-cue[data-kind^="super-"]{color:var(--cue-color,#d3ff55);border-color:var(--cue-color,#d3ff55)}

/* The earned title remains legible on a narrow arena without covering faces. */
.exchange-cue[data-kind^="super-"]{bottom:10%;font-size:clamp(11px,1.85vw,22px);padding:6px 11px;border-width:2px;box-shadow:0 3px 14px #000a;font-style:normal}


/* A finite exhibition sits above the existing nameplate. */
#portrait-stage{display:flex;align-items:center;justify-content:center;padding-bottom:50px}
#portrait-stage>img{height:100%;align-self:flex-start}
#showcase-canvas{width:100%;height:auto;max-height:100%;aspect-ratio:1000/560;object-fit:contain;border:1px solid #a98bb155;border-radius:8px;box-shadow:0 8px 28px #0008}
#showcase-canvas[hidden],#fighter-preview[hidden]{display:none!important}
.showcase-controls{pointer-events:auto;position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:3px 0;min-height:48px;z-index:3}
.showcase-controls>span{flex:1;min-width:0;color:#eee4f5;font:800 10px Manrope,sans-serif;line-height:1.4;text-shadow:0 1px 4px #000}
.showcase-controls small{display:block;color:#b9a8c5;font-size:8px;letter-spacing:1.3px}
.showcase-controls button{flex:none;min-height:44px;padding:0 13px;border:1px solid #d3ff55;background:#171322eb;color:#d3ff55;font:900 10px Manrope,sans-serif;cursor:pointer}
.showcase-controls button:focus-visible{outline:3px solid white;outline-offset:2px}
@media(max-width:760px){.select-screen .fighter-showcase{height:380px}}
@media(max-width:480px){.select-screen .fighter-showcase{height:330px}.showcase-controls>span{font-size:9px}.showcase-controls small{font-size:7px}.showcase-controls button{font-size:9px;padding:0 10px}}

@media(max-width:480px){#portrait-stage{bottom:72px!important}.preview-locked #portrait-stage{bottom:96px!important}}

/* On short phone screens, keep the fighter, camera disclosure and bot start together. */
@media(max-width:360px) and (max-height:600px){
  .select-screen header{height:50px}
  .character-select.lobby{padding-top:8px}
  .lobby-kicker{display:none}
  .lobby-title h1{font-size:26px;letter-spacing:-1.5px}
  .lobby-subtitle{font-size:12px;margin:7px 0 8px}
  .select-screen .fighter-showcase{height:210px!important}
  #portrait-stage{inset:8px 0 42px!important}
  .showcase-controls>span{display:none}
  .select-entry{padding-top:8px}
  .mode-heading{margin-bottom:4px}
  #nickname{min-height:44px;height:44px}
  .camera-consent.camera-compact{margin-top:0}
  .camera-compact .camera-choice{min-height:40px}
  .camera-compact .camera-disclosure{font-size:8px;line-height:1.3}
  #train{min-height:48px!important;padding:6px 12px!important}
}

/* A clear replay affordance sits over the fighter, below the face and above the nameplate. */
.showcase-controls{z-index:3;pointer-events:none}
.showcase-play{pointer-events:auto;position:absolute;z-index:4;left:50%;top:57%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:9px;min-width:154px;min-height:58px;padding:8px 17px;border:1px solid #d3ff55;background:#11101ddd;color:#f7f3fb;border-radius:999px;box-shadow:0 5px 22px #0009,0 0 16px #d3ff5533;backdrop-filter:blur(5px);font:900 11px Manrope,sans-serif;letter-spacing:.08em;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.showcase-play:hover{background:#202315ed;box-shadow:0 6px 26px #000b,0 0 23px #d3ff5570;transform:translate(-50%,-50%) scale(1.04)}
.showcase-play:active{transform:translate(-50%,-50%) scale(.97)}
.showcase-play:focus-visible{outline:3px solid #fff;outline-offset:4px}
.showcase-play-icon{display:grid;place-items:center;width:30px;height:30px;padding-left:2px;border-radius:50%;background:#d3ff55;color:#171a0b;font-size:12px;letter-spacing:0}
.showcase-play-label{white-space:nowrap}
#portrait-stage[data-phase="strike"] .showcase-play,#portrait-stage[data-phase="super"] .showcase-play,#portrait-stage[data-phase="final"] .showcase-play{opacity:0;pointer-events:none}
#fighter-showcase[data-phase="loading"] .showcase-play{cursor:wait}
@media(max-width:480px){.showcase-play{top:53%;width:62px;min-width:62px;height:62px;min-height:62px;padding:0;border-radius:50%}.showcase-play-icon{width:38px;height:38px;font-size:15px}.showcase-play-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
@media(max-width:360px) and (max-height:600px){.showcase-play{width:54px;min-width:54px;height:54px;min-height:54px}.showcase-play-icon{width:30px;height:30px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.showcase-play{transition:none}}


.camera-settings.camera-settings-footer{max-width:none;width:100%;margin:12px 0 0;border-top-color:#cbb0e433;border-bottom:0}.camera-settings-footer>summary{padding:10px 2px;font-size:9px;letter-spacing:.9px}.camera-settings-footer>summary span{font-size:8px}.camera-settings-footer .camera-consent{max-width:none}.camera-settings-footer .camera-archive{max-width:none}

.camera-entry-note{margin:-4px 0 10px;color:#d6cddd;font-size:9px;line-height:1.45;max-width:62ch}.battle-camera-enable{display:block;min-height:44px;margin:0;padding:8px 12px;border:1px solid #d3ff55;background:#d3ff55;color:#151811;font-size:10px;font-weight:900;letter-spacing:.25px}.battle-camera-enable[hidden]{display:none}.battle-camera-enable:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:480px){.camera-entry-note{font-size:9px;line-height:1.4;margin:-2px 0 8px}.battle-camera-enable{min-height:48px}}
