/* Production skin: restrained ink / paper, existing gameplay DOM and supplied portraits. */
:root{--paper:#f4ebd7;--ink:#20272b;--coral:#ef786f;--mint:#8bcfba;--muted:#a6afb0;--safe:clamp(12px,2.2vw,32px)}
body{font-family:'Arial',sans-serif;color:var(--paper)}header,footer,#status,.tag,.menu-note,.layout-link,.combat-help,.setup-detail,.screen-kicker,#credits-dialog{display:none!important}
button,select{font:inherit}button{font-weight:800;letter-spacing:.045em;border:0;border-radius:0;box-shadow:none}button:disabled{cursor:not-allowed}button img{width:26px;height:26px;object-fit:contain;vertical-align:middle;margin-right:10px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:5px}
#menu{background-image:url('assets/runtime/d3d72c30-main-menu-v3-clean.webp');background-position:center;background-color:var(--ink)}#menu::before{background:linear-gradient(90deg,transparent 48%,#171b2020 68%,#171b2040)}.menu-nav{right:7%;top:50%;width:clamp(270px,26vw,380px);transform:translateY(-50%)}.menu-brand{width:100%;max-height:190px;object-fit:contain;margin-bottom:25px}.menu-nav button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:62px;margin:10px 0 0;padding:15px 25px;background:transparent url('assets/ui/button-cream.svg') center/100% 100% no-repeat;color:var(--ink);font-size:18px;border:0;border-radius:0}.menu-nav button img{filter:brightness(.18)}.menu-nav #play{background:transparent url('assets/ui/button-coral.svg') center/100% 100% no-repeat;font-size:23px;min-height:75px;padding:17px 25px}.menu-nav #friends{background-image:url('assets/ui/button-ink.svg');color:#a6afb0;opacity:.8;flex-wrap:wrap;font-size:16px}.menu-nav #friends img{filter:none;opacity:.55}.menu-nav #friends small{display:block;font-size:9px;letter-spacing:1px;margin-left:auto;color:#aaa}.menu-nav #settings{background:none;color:var(--paper);font-size:11px;min-height:38px;justify-content:center;opacity:.75}.menu-nav #settings img{width:17px;height:17px;filter:none}
#game-flow{background:#1d2529;padding:max(24px,5vh) var(--safe);overflow-y:auto}.flow-shell{max-width:1060px}.flow-heading{border-bottom:1px solid #f4ebd730;padding:0 0 22px}.flow-heading h1{font-size:clamp(23px,3.5vw,38px);font-weight:900;letter-spacing:-1px}.flow-heading>img{width:80px}.flow-heading>button{color:var(--paper);font-size:12px;background:none;width:auto}.flow-content{max-width:940px;margin:6vh auto 0}.mode-cards:has(#mode-bank){grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mode-card{position:relative;min-height:320px;border:2px solid #f4ebd757;border-radius:2px;background:#273135;padding:30px 20px 28px;box-shadow:6px 7px 0 #11191c;transition:transform .16s,border-color .16s}.mode-card:hover,.mode-card:focus-visible{border-color:var(--mint);transform:translateY(-5px)}.mode-card>img{width:66px;height:66px;object-fit:contain;margin:10px 0 28px}.mode-card strong{font-size:clamp(19px,2vw,27px);letter-spacing:-.5px}.mode-card small{font-size:13px;line-height:1.7;margin:15px 0 0;color:#c3c9c7}.mode-label{position:absolute;top:-13px;right:12px;background:var(--mint);color:var(--ink);font-size:9px;letter-spacing:.8px;padding:7px 12px;transform:rotate(3deg)}#mode-bank{border-color:var(--mint)}.mode-links{margin-top:35px}.friends-coming{display:flex;align-items:center;justify-content:center;gap:10px;background:none;border:1px dashed #a6afb052;padding:15px 25px;color:#a6afb0;width:auto;font-size:12px}.friends-coming img{height:17px;width:17px;opacity:.55}.friends-coming span{font-size:9px;color:#7e8d91;margin-left:14px}
.character-cards{gap:24px}.character-card{height:370px;border:2px solid #f4ebd743;border-radius:2px;box-shadow:5px 6px 0 #11191c}.character-card.instigator{background:#a65958}.character-card.wildcard{background:#517c73}.character-card>img{transform:scale(1.25);object-fit:contain;object-position:50% 0}.character-card strong{font-size:27px;background:linear-gradient(transparent,#20272bf0 70%);padding-top:90px}.character-card[aria-pressed=true]{border-color:var(--mint);box-shadow:0 0 0 2px var(--mint),5px 6px 0 #11191c}.selection-tick{border-radius:2px;background:var(--mint);font-size:15px}.character-note{font-size:12px;color:#a6afb0;margin:20px 0}.primary-button,#start-match{background:transparent url('assets/ui/button-coral.svg') center/100% 100%;color:var(--ink);min-height:65px;max-width:400px;margin:22px auto 0;font-size:20px;border:0;border-radius:0}.difficulty-row{display:flex;align-items:center;justify-content:center;gap:18px;font-size:10px;letter-spacing:1px;color:#b6c0bc}.difficulty-row select{padding:10px 22px;background:#29373b;border:1px solid #74827d;color:var(--paper);font-weight:800;font-size:12px}
#loading-screen{background:#20272b url('assets/runtime/9dc65821-menu-rooftop-v1.webp') 15% center/cover;min-height:min(62vh,520px);border:2px solid #f4ebd766;border-radius:0;isolation:isolate}.loading-logo{max-width:300px;width:55%}#loading-screen::before{background:#14191ab3;z-index:-1}#loading-progress{max-width:380px;width:75%;height:9px;appearance:none;border:1px solid var(--paper);background:#11191b}#loading-progress::-webkit-progress-bar{background:#11191b}#loading-progress::-webkit-progress-value{background:var(--mint)}#loading-label{font-size:11px;letter-spacing:1px;color:var(--paper)}#flow-back[disabled]{opacity:.3}
dialog{background:#202b2f;border:2px solid var(--paper);border-radius:2px;box-shadow:10px 12px 0 #11191bb3;padding:28px;max-width:calc(100vw - 36px)}dialog::backdrop{background:#101719b8;backdrop-filter:blur(3px)}dialog h2{font-weight:900;font-size:27px;letter-spacing:-.7px}dialog button{background:transparent url('assets/ui/button-cream.svg') center/100% 100%;color:var(--ink);min-height:52px;border:0;border-radius:0;padding:14px 20px;font-size:13px}.pause-actions{padding:10px 0}#pause-resume{background-image:url('assets/ui/button-coral.svg')}#pause-leave{background:none;color:#ee9b92;box-shadow:none;font-size:11px}.audio-settings label,#settings-dialog label{font-size:12px;margin:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}#settings-dialog{width:min(430px,90vw)}#settings-dialog p{color:#a6afb0;line-height:1.8;font-size:11px}#settings-dialog select{max-width:200px;background:#2c3b3d;border:1px solid #74827d;color:var(--paper);padding:9px;font-size:12px}input[type=range]{accent-color:var(--mint)}#settings-dialog button{margin-top:20px;width:100%}
.menu-return{position:absolute;top:var(--safe);left:var(--safe);right:auto;width:38px;height:38px;min-height:0;padding:8px;background:#20272bba;border:1px solid #f4ebd74d;border-radius:4px;font-size:0}.menu-return img{margin:0;width:20px;height:20px}body.menu-open .menu-return{display:none}.target-health{top:var(--safe);right:var(--safe);left:auto;transform:none;width:230px;border-radius:2px;background:#20272bdd;padding:10px 15px}.target-health small{display:none}.target-health span{font-size:10px}
.duel-score{top:max(12px,env(safe-area-inset-top));left:50%;width:210px;min-width:0;display:flex;flex-direction:column;gap:3px;align-items:center;background:#20272bdd;border:1px solid #f4ebd750;border-radius:3px;padding:9px 15px}.duel-score b{order:2;font-size:15px;font-weight:800;letter-spacing:2px}.duel-score span{order:1;font-size:27px;font-weight:900;line-height:1.1}.duel-score small{order:0;font-size:8px;letter-spacing:1.6px;color:#b6c4bf}.player-hearts{display:none}.opponent-hearts{top:var(--safe);right:var(--safe);gap:5px;font-size:18px;color:#ef9c91}.opponent-hearts .portrait{width:42px;height:42px;border:2px solid #ef9c91}.opponent-hearts span.empty{color:#596266}.duel-health{left:var(--safe);bottom:max(22px,env(safe-area-inset-bottom));width:185px;min-width:0;border:1px solid #f4ebd759;border-radius:3px;background:#20272bd9;padding:10px 12px 10px 61px}.duel-health .portrait{left:8px;top:9px;width:42px;height:42px;border-width:2px}.duel-health b{font-size:22px}.duel-health>span{display:none}.duel-health i{height:7px;margin:7px 0 0}.duel-health small{font-size:8px}.loadout{bottom:max(18px,env(safe-area-inset-bottom));gap:7px}.loadout button{width:66px;height:67px;padding:4px;border:1px solid #f4ebd768;background:#20272bd6;border-radius:3px;transform:none;margin:0}.loadout button.selected{border:2px solid var(--mint);background:#34574edc;transform:translateY(-5px)}.loadout img{height:43px;border-radius:0}.loadout span{font-size:0;margin-top:3px}.loadout b{font-size:10px;margin:0;min-width:17px;padding:2px 5px;border-radius:2px;color:var(--ink);background:var(--paper)}.ammo{right:var(--safe);bottom:max(22px,env(safe-area-inset-bottom));min-width:0;width:170px;border-radius:3px;padding:11px 15px;background:#20272bd9;border-color:#f4ebd759}.ammo span{font-size:10px;font-weight:800;letter-spacing:.4px}.ammo strong{font-size:28px;margin:3px 0 0}.ammo small{display:none}#duel-feed{top:110px;right:var(--safe);font-size:10px;color:#d0d9d4;max-width:210px}#damage-direction{display:none}#duel-message{font-size:clamp(24px,4vw,50px);text-shadow:3px 4px 0 #20272b}#bot-warning{font-size:11px;color:#f2c27a;background:#20272bb8;border-radius:3px}#bot-objective{display:none}
#bank-guidance{top:120px;max-width:min(75vw,440px);font-size:12px;background:#20272bd1;border:1px solid #b59add66;border-radius:3px;padding:9px 15px;gap:7px}#bank-tutorial{font-size:11px;color:#c5d3cd}#bank-skip{font-size:8px;color:#a6b7b1;border:0;padding:3px 9px;background:none;min-height:0}#bank-progress{width:100%;height:6px;accent-color:var(--mint)}#bank-marker{padding:4px 8px;font-size:10px;background:#292330a6;border:0;color:#e4c6ff;border-radius:3px}#utility-status{font-size:11px;background:#20272bb0;padding:6px 10px;top:60%;border-radius:3px}#toast{font-size:12px;background:#20272be8;color:var(--paper);border:1px solid #f4ebd746;border-radius:3px;top:auto;bottom:115px;left:50%;transform:translateX(-50%);width:max-content;max-width:75vw;pointer-events:none}
#duel-result{width:min(780px,94vw);height:460px;padding:65px 32px 25px min(49vw,390px);border-radius:2px;background:#202b2f;text-align:center}.result-kicker{font-size:9px;letter-spacing:2px;color:#b2c1b9}.result-crown{color:#e6bd71;font-size:40px;margin:9px 0}#duel-result h2{font-size:clamp(25px,3vw,38px);color:var(--paper);transform:rotate(-3deg);margin:6px 0 18px;white-space:normal;line-height:1.1}#duel-result p{font-size:12px;color:#bfccc5;line-height:1.7}.result-stats{display:none}#duel-result button{font-size:12px;margin-top:12px}#duel-result #duel-rematch{background-image:url('assets/ui/button-coral.svg');font-size:16px}#duel-result #duel-menu{background:none;color:#a8bab0;font-size:10px}#result-character{width:52%;height:470px;bottom:-35px;left:0;object-fit:contain;object-position:center bottom}
@media(max-width:900px){.menu-nav{right:5%;width:300px}.mode-card{padding:25px 12px;min-height:290px}.mode-card small{font-size:12px}.duel-health{width:158px}.ammo{width:145px}.loadout button{width:59px}.loadout{gap:5px}}
@media(max-width:700px){#menu{background-position:25% center}#menu::before{background:linear-gradient(transparent 0%,#171d1d38 27%,#171d1dee 65%)}.menu-nav{left:50%;right:auto;top:auto;bottom:4vh;transform:translateX(-50%);width:min(78vw,340px)}.menu-brand{max-height:115px;margin-bottom:8px}.menu-nav button{min-height:50px;font-size:15px;margin-top:7px;padding:12px 25px}.menu-nav #play{min-height:59px;font-size:20px}.menu-nav #settings{min-height:29px;padding:5px}.menu-nav #friends small{font-size:8px}.flow-heading h1{font-size:25px}.flow-heading>img{width:60px}.flow-content{margin-top:30px}.mode-cards:has(#mode-bank){grid-template-columns:1fr;gap:16px}.mode-card,#mode-bank{min-height:130px;display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;column-gap:20px;align-items:center;text-align:left;padding:24px;grid-column:auto}.mode-card>img{width:45px;height:45px;margin:0;grid-row:1/3}.mode-card strong{font-size:21px}.mode-card small{font-size:11px;margin:4px 0 0}.mode-label{font-size:8px;top:-10px;right:10px;padding:5px 8px}.mode-links{margin-top:25px}.friends-coming{font-size:10px;padding:12px}.friends-coming span{font-size:8px}.character-cards{gap:14px}.character-card{height:310px}.character-card strong{font-size:21px}.character-note{font-size:11px}.difficulty-row{font-size:9px;gap:10px}#start-match{width:100%;font-size:18px}.opponent-hearts{font-size:14px;top:15px;gap:3px}.opponent-hearts .portrait{width:32px;height:32px}.duel-score{top:12px;width:130px;padding:7px 8px}.duel-score span{font-size:24px}.duel-score b{font-size:12px;letter-spacing:1px}.duel-score small{font-size:7px}.duel-health{bottom:103px;left:12px;width:135px;padding:9px 9px 9px 49px}.duel-health .portrait{left:7px;top:8px;width:33px;height:33px}.duel-health b{font-size:18px}.ammo{bottom:103px;right:12px;width:121px;padding:9px 12px}.ammo strong{font-size:23px}.ammo span{font-size:9px}.loadout{bottom:max(16px,env(safe-area-inset-bottom))}.loadout button{width:56px;height:62px}.loadout img{height:39px}#bank-guidance{top:108px;width:77vw;font-size:10px;max-width:360px}#bank-tutorial{font-size:10px}#duel-feed{display:none}.menu-return{top:63px;left:12px;width:30px;height:30px;padding:6px}#bot-warning{font-size:10px}#duel-result{height:410px;padding:60px 20px 20px 47%}#duel-result h2{font-size:25px}#duel-result p{font-size:10px}#result-character{height:390px;width:52%;bottom:-20px}.result-crown{font-size:30px}.result-kicker{font-size:8px}#duel-result button{font-size:10px;padding:10px;min-height:45px}#duel-result #duel-rematch{font-size:13px}#toast{bottom:185px;font-size:11px}}
@media(max-height:600px) and (min-width:701px){.menu-brand{max-height:100px;margin-bottom:8px}.menu-nav button{min-height:43px;padding:10px 25px;margin-top:6px}.menu-nav #play{min-height:54px;font-size:20px}.menu-nav #settings{min-height:28px}.menu-nav{width:280px}.flow-content{margin-top:25px}.character-card{height:240px}.character-note{margin:10px 0}#bank-guidance{top:105px;font-size:10px}}
@media(prefers-reduced-motion:reduce){button,.mode-card,.loadout button{transition:none}}

@media(max-width:600px){.flow-heading>img{display:none}.flow-heading h1{font-size:22px}.duel-top{width:120px}.opponent-hearts{font-size:12px}}

.menu-nav button:hover{background-color:transparent}.menu-nav #friends{background-size:100% 100%;background-repeat:no-repeat}.menu-nav button img{flex-shrink:0}
