/* Broadcast overlays share the game palette and use the existing art only. */
#quick-brief{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px}#quick-brief[hidden]{display:none}#quick-brief>.quick-sheet{flex:none;max-height:none;overflow:visible;transform:scale(var(--fit-scale,1));transform-origin:center}.quick-practice{display:none}
#settings-dialog{position:fixed;inset:auto;left:50%;top:50%;margin:0;width:440px;max-width:none;max-height:none;overflow:visible;padding:20px;transform:translate(-50%,-50%) scale(var(--fit-scale,1))}#settings-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}#settings-dialog h2{grid-column:1/-1;margin:0 0 4px;font-size:28px;transform:none}#settings-dialog .audio-settings{display:contents}#settings-dialog label{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;margin:0;font:700 12px Arial,sans-serif;min-width:0}#settings-dialog input,#settings-dialog select{width:100%;min-width:0;margin:0;height:28px;padding:3px;font-size:12px}#settings-dialog p{display:none}#settings-dialog button{grid-column:1/-1;margin:4px 0 0;min-height:40px;padding:8px;font-size:16px;box-shadow:3px 3px 0 #130c22}
#game-flow{transition:opacity .18s ease}#game-flow.loading-ready{opacity:0;pointer-events:none}
body[data-ui-screen=loading] #game-flow{z-index:90}
#loading-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;min-height:0;height:100%;padding:12px;overflow:hidden;background:linear-gradient(#22283cc9,#22283cf5),url('assets/runtime/9dc65821-menu-rooftop-v1.webp') center/cover}#loading-screen::before{display:none}.broadcast-loading-card{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;transform:scale(var(--fit-scale,1));transform-origin:center;padding:14px 24px;background:repeating-linear-gradient(125deg,transparent 0 100px,#faf2de04 100px 102px);color:#f7eedb}.broadcast-loading-card .loading-logo{position:static;transform:none;width:170px;height:70px;max-height:none;object-fit:contain;margin:0}.broadcast-meta{font:800 12px Arial,sans-serif;letter-spacing:2px}.broadcast-meta span{margin-left:16px;color:#b8bed0}
.broadcast-loading-card #loading-versus{position:relative;inset:auto;display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:12px;width:100%;height:270px;pointer-events:none}.broadcast-loading-card figure{height:100%;margin:0;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:flex-end}.broadcast-loading-card #loading-versus img{width:100%;height:calc(100% - 26px);object-fit:contain;filter:drop-shadow(5px 6px 0 #100c25);transform:rotate(-3deg);animation:broadcast-left .35s ease-out both}.broadcast-loading-card #loading-versus figure:last-child img{transform:rotate(3deg);animation-name:broadcast-right}.broadcast-loading-card #loading-versus b{font:italic 900 80px Impact,sans-serif;color:#ffc857;text-shadow:5px 5px 0 #100c25;transform:rotate(-8deg);animation:broadcast-pop .25s ease-out both}.broadcast-loading-card figcaption{font:900 15px Arial,sans-serif;letter-spacing:1px;border-bottom:3px solid #ff6b7e;padding:4px 12px}.broadcast-loading-card figure:last-child figcaption{border-color:#7adbc8}.broadcast-loading-card #loading-mode{font:italic 900 40px Impact,sans-serif;color:#ffc857;margin:8px 0 0}.loading-objective{color:#f7eedb;font-size:14px;margin:0}
#loading-coins{display:flex;gap:12px;margin:12px 0 6px}#loading-coins i{width:28px;height:28px;border:2px solid #b8bed055;border-radius:50%;display:grid;place-items:center;color:#b8bed055;font-size:13px;font-style:normal}#loading-coins i[data-state=filled]{background:#ffc857;color:#403044;border-color:#f7eedb;animation:broadcast-pop .18s ease-out}#loading-coins i[data-state=loading]{border-color:#8a78e6;animation:loading-edge 1.3s ease-in-out infinite}.broadcast-loading-card #loading-progress{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.broadcast-loading-card #loading-label{margin:0;min-height:18px;max-width:100%;text-align:center;font:800 11px Arial,sans-serif;letter-spacing:1px}.broadcast-loading-card #loading-tip{font-size:12px;color:#b8bed0}.broadcast-loading-card #loading-retry{width:auto;max-width:100%;margin-top:8px;padding:10px 24px;background:#ffc857;color:#22283c}
#duel-result{position:fixed;inset:auto;left:50%;top:50%;margin:0;width:960px;max-width:none;height:auto;min-height:0;max-height:none;overflow:visible;transform:translate(-50%,-50%) scale(var(--fit-scale,1));padding:24px 28px 24px 47%;background:repeating-linear-gradient(125deg,transparent 0 70px,#faf2de04 70px 72px),#22283c;border:3px solid #f7eedb;text-align:center;color:#f7eedb;isolation:isolate}#duel-result::backdrop{background:#101422bb;backdrop-filter:none}#duel-result #result-character{left:0;bottom:0;width:46%;height:96%;max-height:520px;object-fit:contain;object-position:center bottom;animation:broadcast-left .3s ease-out both;filter:drop-shadow(6px 5px 0 #100c25)}#duel-result .result-crown{position:absolute;left:14%;top:10%;font-size:45px;color:#ffc857;transform:rotate(-12deg);opacity:.85}#duel-result .result-kicker{font:800 11px Arial,sans-serif;letter-spacing:1px;transform:none;padding:5px 8px;background:#7adbc8;color:#22283c}#duel-result h2{font:italic 900 64px/.95 Impact,'Arial Black',sans-serif;margin:16px 0 8px;transform:rotate(-3deg);letter-spacing:0;color:#ffc857;-webkit-text-stroke:0;white-space:normal;text-shadow:3px 4px 0 #100c25;animation:broadcast-pop .25s ease-out both}#duel-result[data-winner=bot] h2{color:#ff8b9c}#result-outcome{display:block;color:#7adbc8;font:900 18px Arial,sans-serif}#duel-result[data-winner=bot] #result-outcome{color:#ff8b9c}#result-winner-name{display:block;font:800 11px Arial,sans-serif;letter-spacing:1px;margin:8px 0;color:#b8bed0}#duel-result #duel-result-score{display:flex;justify-content:center;align-items:center;gap:20px;margin:12px 0;color:#f7eedb}#duel-result-score span{display:flex;flex-direction:column;gap:2px}#duel-result-score b{font:900 46px Impact,sans-serif}#duel-result-score i{font:900 32px Arial,sans-serif;font-style:normal;color:#b8bed0}#duel-result-score small{font:800 11px Arial,sans-serif}#duel-result-score .winning b{color:#ffc857}
#duel-result .result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0;padding:0}#duel-result .result-stats span{display:flex;flex-direction:column;gap:4px;border-top:2px solid #8a78e6;padding:8px 2px;font:700 9px/1.3 Arial,sans-serif;color:#b8bed0}#duel-result .result-stats b{font:900 25px Arial,sans-serif;color:#f7eedb}#duel-result button{width:100%;margin:8px 0 0;padding:9px 12px;min-height:36px;font-size:14px;box-shadow:3px 3px 0 #100c25;transform:none}#duel-result #duel-rematch{font-size:24px;min-height:48px;background:#ffc857;color:#22283c}#duel-result #result-change-character{background:#f7eedb;color:#22283c}#duel-result #duel-menu{min-height:28px;padding:5px;background:none;color:#b8bed0;box-shadow:none}#duel-result button:focus-visible{outline:3px solid #7adbc8;outline-offset:3px}
#match-finish-cue{position:fixed;z-index:7;left:50%;top:32%;transform:translateX(-50%) rotate(-3deg);display:flex;flex-direction:column;align-items:center;gap:8px;min-width:min(360px,88vw);padding:16px 24px;background:#22283ce8;color:#ffc857;border:3px solid #f7eedb;box-shadow:6px 7px 0 #100c25;pointer-events:none;animation:broadcast-pop .2s ease-out}#match-finish-cue[hidden]{display:none}#match-finish-cue small{font:800 11px Arial,sans-serif;letter-spacing:2px;color:#f7eedb}#match-finish-cue b{font:italic 900 clamp(38px,6vw,64px)/1 Impact,sans-serif}#match-finish-cue span{font:900 18px Arial,sans-serif;color:#f7eedb}#match-finish-cue[data-winner=bot]{color:#ff8b9c}
@keyframes broadcast-left{from{opacity:0;translate:-20px 0}to{opacity:1;translate:0 0}}@keyframes broadcast-right{from{opacity:0;translate:20px 0}to{opacity:1;translate:0 0}}@keyframes broadcast-pop{from{opacity:0;scale:.94}to{opacity:1;scale:1}}@keyframes loading-edge{50%{border-color:#ffc857}}
@media(max-width:650px){#duel-result{padding:18px}#duel-result #result-character{position:relative;left:auto;bottom:auto;width:100%;height:180px;margin:8px 0 0;display:block;object-position:center}#duel-result .result-crown{left:16%;top:22%}#duel-result h2{font-size:42px;margin:12px 0 6px}#duel-result .result-stats{grid-template-columns:repeat(2,1fr);gap:4px;margin:10px 0}#duel-result #duel-result-score{margin:8px 0}#duel-result-score b{font-size:34px}#result-winner-name{margin:4px 0}.broadcast-loading-card{padding:10px 8px}.broadcast-loading-card #loading-versus{grid-template-columns:1fr 54px 1fr;height:190px;gap:2px}.broadcast-loading-card #loading-versus b{font-size:50px}.broadcast-loading-card figcaption{font-size:10px;padding:4px 1px}.broadcast-loading-card #loading-mode{font-size:32px}.broadcast-loading-card .loading-logo{height:56px;width:145px}.broadcast-meta{font-size:10px;letter-spacing:1px}.loading-objective{font-size:12px;text-align:center}.quick-sheet .quick-keys{margin-top:10px}.quick-sheet #quick-play{margin-top:10px}}
@media(max-height:520px) and (min-aspect-ratio:1.2){.quick-sheet{padding:12px 20px}.quick-sheet h1{font-size:28px;margin:6px 0 10px}.quick-sheet .quick-route svg{width:42px;height:42px}.quick-score strong{font-size:40px;line-height:42px}.quick-sheet .quick-rival{margin:8px 0;padding:6px}.quick-sheet .quick-weapons{grid-template-columns:repeat(4,1fr)}.quick-sheet .quick-weapons img{height:36px}.quick-sheet .quick-weapons>div{padding:6px 3px}.quick-sheet .quick-keys{margin-top:8px}.quick-sheet #quick-play{margin-top:8px;padding:8px;min-width:200px;font-size:16px}.broadcast-loading-card #loading-versus{height:150px}.broadcast-loading-card .loading-logo{height:45px}.broadcast-loading-card #loading-mode{font-size:28px}#loading-coins{margin:6px 0}#duel-result{padding:16px 20px 16px 43%}#duel-result #result-character{position:absolute;left:0;bottom:0;width:42%;height:95%}#duel-result h2{font-size:42px;margin:8px 0}#duel-result .result-stats{grid-template-columns:repeat(4,1fr);margin:8px 0}#duel-result #duel-result-score{margin:6px 0}#duel-result .result-stats b{font-size:20px}#duel-result button{margin-top:5px;min-height:30px}#duel-result #duel-rematch{min-height:40px}}
@media(prefers-reduced-motion:reduce){#game-flow{transition:none}.broadcast-loading-card *,#duel-result *,#match-finish-cue{animation:none!important}}
#quick-brief #quick-play{min-width:0;width:min(240px,100%)}.quick-weapons>div,.quick-route>div{min-width:0}
#duel-result .result-stats span{min-width:0;overflow-wrap:anywhere}#duel-result .result-kicker{max-width:100%;overflow-wrap:anywhere}
#duel-result{padding-left:calc(var(--card-width,960px)*.47)}#duel-result .result-stats span{letter-spacing:0}
#game-flow #loading-screen.broadcast-loading{flex-direction:row;align-items:center;justify-content:flex-end;padding-right:6vw;background:linear-gradient(90deg,transparent 35%,#17182533 58%,#17182588),url('assets/runtime/9dc65821-menu-rooftop-v1.webp') center/cover}#loading-screen.broadcast-loading .loading-logo{position:static;transform:none;width:200px;height:85px;max-height:none;margin:0}.broadcast-loading .broadcast-loading-card{padding:24px 18px;background:none}.broadcast-loading-card #loading-versus{height:auto;grid-template-columns:1fr 36px 1fr;gap:6px;margin:12px 0}.broadcast-loading-card #loading-versus figure{height:auto}.broadcast-loading-card #loading-versus img{display:none}.broadcast-loading-card #loading-versus b{font-size:30px}.broadcast-loading-card #loading-versus figcaption{font-size:11px;padding:5px 2px;white-space:nowrap}.broadcast-loading-card .broadcast-meta{font-size:10px}.broadcast-loading-card #loading-mode{margin-top:12px}
@media(max-width:650px){#game-flow #loading-screen.broadcast-loading{flex-direction:column;align-items:center;justify-content:flex-end;padding:12px;background:linear-gradient(0deg,#171825 5%,#171825ee 28%,transparent 65%),url('assets/runtime/9dc65821-menu-rooftop-v1.webp') 10% top/auto 60% no-repeat,#171825}.broadcast-loading .broadcast-loading-card{padding:12px 10px;gap:3px}.broadcast-loading-card #loading-versus{margin:5px 0}.broadcast-loading-card #loading-mode{font-size:32px;margin:4px 0}.broadcast-loading-card .loading-objective{font-size:12px}.broadcast-loading-card #loading-coins{margin:8px 0}}
@media(max-width:650px){#duel-result{padding-left:18px}#loading-screen.broadcast-loading .loading-logo{height:56px;width:145px}}
@media(max-height:520px) and (min-aspect-ratio:1.2){#duel-result{padding-left:calc(var(--card-width,960px)*.43)}#loading-screen.broadcast-loading .loading-logo{height:45px}}
#tutorial[data-course=micro]{top:72px;right:12px;max-width:45vw;max-height:none;overflow:visible;padding:12px;transform:scale(var(--fit-scale,1));transform-origin:top right}#tutorial[data-course=micro] h2{font-size:22px;margin:8px 0}#tutorial[data-course=micro] p{font-size:13px;line-height:1.35;margin-bottom:10px}#tutorial[data-course=micro] #tutorial-controls{font-size:11px;padding:8px}#tutorial[data-course=micro] #tutorial-check{font-size:10px;margin:10px 0}#tutorial[data-course=micro] button{font-size:11px;margin-top:0}
@media(max-height:400px) and (max-width:600px){.quick-sheet{padding:10px}.quick-sheet h1{font-size:24px;margin:5px 0 8px}.quick-kicker{font-size:9px}.quick-route svg{width:30px;height:30px}.quick-route b{font-size:9px}.quick-route small{font-size:8px}.quick-score strong{font-size:30px;line-height:30px}.quick-sheet .quick-rival{margin:6px 0;padding:5px;font-size:9px;gap:3px}.quick-sheet .quick-weapons{grid-template-columns:repeat(4,1fr);gap:4px}.quick-weapons img{height:26px}.quick-weapons b,.quick-weapons span{font-size:8px}.quick-weapons>div{padding:5px 2px;gap:3px}.quick-weapons kbd{font-size:8px;left:3px;top:3px;padding:1px 3px}.quick-sheet .quick-keys{font-size:8px;line-height:1.3;margin-top:6px}#quick-brief #quick-play{font-size:13px;padding:7px;margin-top:7px}.quick-route{gap:2px}.quick-route>i{font-size:15px}#duel-result #result-character{height:85px}#duel-result h2{font-size:30px;margin:7px 0}#duel-result .result-stats{grid-template-columns:repeat(4,1fr)}#duel-result .result-stats span{font-size:8px}#duel-result .result-stats b{font-size:18px}#duel-result #duel-rematch{min-height:32px;font-size:20px}#duel-result button{min-height:26px;padding:5px;font-size:11px}}
