:root{color-scheme:dark;--bg: #0b0c11;--bg-2: #11131a;--surface: #161922;--surface-2: #1e2230;--surface-3: #272c3c;--line: #2b3040;--line-strong: #454c62;--text: #f6f2ea;--muted: #a5acbd;--dim: #6f7689;--p1: #ff3d50;--p1-deep: #8e1420;--p2: #3d8bff;--p2-deep: #10357d;--gold: #ffc53d;--gold-soft: #ffe7a6;--good: #3fdc87;--danger: #ff5a4f;--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: Barlow, "Segoe UI", system-ui, sans-serif;--header-h: 60px;--gutter: max(16px, env(safe-area-inset-left));--gutter-r: max(16px, env(safe-area-inset-right));--cut: 10px;--slant: polygon(var(--cut) 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%);--ease-out: cubic-bezier(.2, .8, .2, 1);font-family:var(--body);color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}*,*:before,*:after{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--bg)}button,select,input{font:inherit;color:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:1px solid var(--line-strong);border-bottom-width:3px;border-radius:4px;background:var(--surface-2);color:var(--text);font:700 11px/1 var(--body),sans-serif;letter-spacing:.5px}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}#game{position:fixed;inset:0;display:block;width:100%;height:100%}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#05060ab8,transparent 24%,transparent 72%,#05060a80),radial-gradient(ellipse at 50% 50%,transparent 55%,#05060a66)}.btn-primary,#start{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 34px;border:0;clip-path:var(--slant);background:linear-gradient(100deg,var(--p1),#ff6a3d);color:#fff;font:italic 900 22px/1 var(--display),sans-serif;letter-spacing:1.5px;text-transform:uppercase;transition:filter .15s,transform .15s var(--ease-out)}.btn-primary:hover:not(:disabled),#start:hover:not(:disabled){filter:brightness(1.12)}.btn-primary:active:not(:disabled),#start:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn-primary:disabled,#start:disabled{background:var(--surface-3);color:var(--dim)}.btn-primary:focus-visible,#start:focus-visible{outline:none;filter:brightness(1.15) drop-shadow(0 0 0 var(--gold));box-shadow:inset 0 0 0 3px var(--gold)}.segmented{display:flex;padding:4px;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--bg-2)}.segmented button{flex:1;min-height:40px;padding:0 14px;border:0;border-radius:5px;background:none;color:var(--muted);font:800 15px/1 var(--display),sans-serif;letter-spacing:1px;white-space:nowrap;transition:background .15s,color .15s}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--text);color:var(--bg)}header{position:fixed;inset:0 0 auto;z-index:12;height:var(--header-h);padding:0 var(--gutter-r) 0 var(--gutter);display:flex;align-items:center;gap:18px;background:linear-gradient(180deg,#0b0c11,#0b0c11e6);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}.flag{width:20px;height:26px;flex:none;background:var(--p1);clip-path:polygon(0 0,100% 46%,42% 46%,100% 100%,0 100%);box-shadow:inset 0 0 0 2px var(--p2)}.brand-text{display:grid;font:italic 800 12px/1 var(--display),sans-serif;letter-spacing:3px;color:var(--muted)}.brand-text b{font-size:19px;font-weight:900;letter-spacing:1px;color:var(--text)}.header-tag{padding-left:18px;border-left:1px solid var(--line);color:var(--dim);font:italic 700 13px/1 var(--display),sans-serif;letter-spacing:2.5px}header nav{margin-left:auto;display:flex;gap:8px}header nav button{min-height:38px;padding:0 16px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--text);font:800 14px/1 var(--display),sans-serif;letter-spacing:1.2px;transition:border-color .15s,background .15s}header nav button:hover{border-color:var(--gold);background:var(--surface-2)}#pause,#select-menu{display:none}body.playing #pause,body.playing #select-menu{display:inline-flex}@media(max-width:640px){.header-tag{display:none}header nav button{padding:0 12px;font-size:13px}}body.playing:not(.game-menu-open) header{display:none}@media(pointer:coarse),(max-width:800px){body.playing:not(.game-menu-open) header{display:block;inset:calc(env(safe-area-inset-top) + 84px) auto auto 50%;width:44px;height:44px;padding:0;transform:translate(-50%);background:none;border:0}body.playing:not(.game-menu-open) header>:not(nav),body.playing:not(.game-menu-open) nav>:not(#pause){display:none!important}body.playing:not(.game-menu-open) header nav{margin:0}body.playing:not(.game-menu-open) #pause{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;border-color:#ffffff40;background:#0b0c11b0;font-size:0;backdrop-filter:blur(6px)}body.playing:not(.game-menu-open) #pause kbd{display:none}body.playing:not(.game-menu-open) #pause:before{content:"";width:12px;height:14px;border-inline:4px solid var(--text)}}body.train-cinematic header,body.train-cinematic .pause-hint{visibility:hidden}body.playing.game-menu-open header{inset:50% auto auto 50%;z-index:20;width:min(340px,calc(100vw - 32px));height:auto;padding:26px 22px 22px;transform:translate(-50%,-50%);flex-direction:column;align-items:stretch;gap:20px;border:1px solid var(--line-strong);border-top:3px solid var(--gold);border-radius:10px;background:var(--surface);box-shadow:0 0 0 100vmax #05060ad0,0 30px 80px #000;animation:menu-in .2s var(--ease-out)}body.playing.game-menu-open .brand{justify-content:center}body.playing.game-menu-open .header-tag{display:none}body.playing.game-menu-open header nav{margin:0;flex-direction:column;gap:10px}body.playing.game-menu-open header nav:before{content:"PAUSED";order:-2;margin-bottom:4px;text-align:center;font:italic 900 44px/1 var(--display),sans-serif;letter-spacing:2px;color:var(--gold)}body.playing.game-menu-open.online-mode header nav:before{content:"MATCH MENU";font-size:34px}body.playing.game-menu-open header nav button{min-height:50px;justify-content:center;font-size:18px}body.playing.game-menu-open #pause{order:-1;border:0;background:var(--gold);color:#1a1203}body.playing.game-menu-open #pause kbd{border-color:#1a120355;background:#1a120318;color:inherit}@media(pointer:coarse){body.playing.game-menu-open #pause kbd{display:none}}body.playing.game-menu-open #select-menu{border-color:#ff3d5066;color:#ff8a95}body.playing.game-menu-open #callout{visibility:hidden}@keyframes menu-in{0%{opacity:0;transform:translate(-50%,-46%)}}#callout{position:fixed;top:max(150px,24vh);left:0;right:0;z-index:5;padding:0 16px;text-align:center;pointer-events:none;font:italic 900 clamp(34px,6.4vw,88px)/1 var(--display),sans-serif;letter-spacing:2px;color:var(--gold-soft);background:linear-gradient(180deg,#fff6d6 20%,var(--gold) 60%,#ff8a2b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #2a1300) drop-shadow(0 8px 24px #000c);transform:skew(-8deg)}#callout.pop{animation:callout-pop .42s var(--ease-out)}@keyframes callout-pop{0%{opacity:0;transform:scale(1.6) skew(-8deg)}60%{opacity:1;transform:scale(.96) skew(-8deg)}to{transform:scale(1) skew(-8deg)}}@media(max-height:550px)and (min-width:600px){#callout{top:136px;font-size:clamp(28px,5vw,46px)}}@media(min-width:801px)and (pointer:fine){#callout{top:max(112px,13vh);font-size:clamp(30px,3.2vw,48px)}}@media(min-width:801px)and (pointer:fine)and (max-height:600px){#callout{top:92px;font-size:32px}}.pause-hint{display:none;position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;z-index:5;transform:translate(-50%);align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:#0b0c11a8;color:var(--muted);font:700 12px/1 var(--body),sans-serif;letter-spacing:1px}@media(pointer:fine)and (min-width:801px){body.playing:not(.game-menu-open):not(.train-cinematic) .pause-hint{display:inline-flex}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#overlay{position:fixed;inset:0;z-index:10;overflow:hidden auto;overscroll-behavior:contain;scroll-padding-block:calc(var(--header-h) + 12px) 120px;padding:calc(var(--header-h) + 22px) max(var(--gutter-r),calc((100vw - 1180px)/2)) 0 max(var(--gutter),calc((100vw - 1180px)/2));background:linear-gradient(115deg,#ff3d5014 0 18%,transparent 18.1% 81.9%,#3d8bff14 82%),repeating-linear-gradient(115deg,#ffffff05 0 2px,transparent 2px 14px),radial-gradient(ellipse at 20% 110%,#8e142040,transparent 55%),radial-gradient(ellipse at 80% 110%,#10357d40,transparent 55%),linear-gradient(180deg,#0b0c11f7,#0e1017f2)}.selection-toolbar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;margin-bottom:20px}.menu-kicker{margin:0 0 6px;color:var(--gold);font:italic 800 13px/1 var(--display),sans-serif;letter-spacing:3px}.menu-top h1{margin:0;font:italic 900 clamp(34px,4.2vw,58px)/.9 var(--display),sans-serif;letter-spacing:.5px;text-transform:uppercase}.menu-top h1 em{font-style:inherit;color:var(--p1)}.selection-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px}body:not(.online-mode) #cpu-mode,body.online-mode #online-mode{background:var(--text);color:var(--bg)}.nickname-row,.difficulty-label,.field{display:flex;flex-direction:column;gap:5px}.nickname-row>span,.difficulty-label>span,.field>span{color:var(--muted);font:700 11px/1 var(--body),sans-serif;letter-spacing:1.5px}.nickname-row input,.field input,.difficulty-label select{height:44px;min-width:0;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg-2);color:var(--text);font-size:16px;font-weight:600;transition:border-color .15s}.nickname-row{width:220px}.nickname-row input:focus,.field input:focus,.difficulty-label select:focus{border-color:var(--gold);outline:none}input::placeholder{color:var(--dim);font-weight:500}input:disabled,select:disabled{opacity:.55}#result{position:relative;margin:0 0 18px;padding:18px 16px;overflow:hidden;text-align:center;border-radius:10px;background:repeating-linear-gradient(115deg,#ffc53d10 0 10px,transparent 10px 20px),linear-gradient(90deg,#8e142080,#1e2230,#10357d80);border:1px solid #ffc53d55;font:italic 900 clamp(34px,5.5vw,64px)/1 var(--display),sans-serif;letter-spacing:2px;color:var(--gold);text-shadow:0 4px 20px #000;animation:result-in .5s var(--ease-out)}@keyframes result-in{0%{opacity:0;transform:scale(1.08);letter-spacing:12px}}.duel-select{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center}.selection{min-width:0;--side: var(--p1);--side-deep: var(--p1-deep)}.theirs{--side: var(--p2);--side-deep: var(--p2-deep)}.slot-label{display:flex;align-items:center;gap:10px;margin-bottom:8px}.slot-label b{padding:4px 12px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:var(--side);color:#fff;font:italic 900 15px/1 var(--display),sans-serif;letter-spacing:1px}.slot-label span{color:var(--muted);font:800 14px/1 var(--display),sans-serif;letter-spacing:2px}.slot-label small{margin-left:auto;padding:4px 8px;border:1px solid var(--side);border-radius:4px;color:var(--side);font:800 11px/1 var(--body),sans-serif;letter-spacing:1.5px}.theirs .slot-label{flex-direction:row-reverse}.theirs .slot-label small{margin:0 auto 0 0}.model-stage{position:relative;height:clamp(200px,calc(100dvh - 410px),520px);overflow:hidden;border:1px solid var(--line);border-top:3px solid var(--side);border-radius:10px;background:radial-gradient(ellipse 60% 22% at 50% 92%,color-mix(in srgb,var(--side) 45%,transparent),transparent),radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--side-deep) 55%,transparent),transparent 70%),linear-gradient(180deg,#161922,#0e1017)}.model-stage:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,#ffffff06 0 1px,transparent 1px 18px);pointer-events:none}.model-stage:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,#0b0c11e8);pointer-events:none}.model-stage canvas{position:absolute;inset:0;width:100%;height:100%}.preview-caption{position:absolute;left:18px;right:18px;bottom:14px;z-index:1;display:grid;justify-items:start;gap:6px;pointer-events:none}.theirs .preview-caption{justify-items:end;text-align:right}.preview-role{display:none}.preview-name{font:italic 900 clamp(38px,5vw,76px)/.85 var(--display),sans-serif;letter-spacing:1px;text-shadow:3px 3px 0 var(--side-deep),0 6px 24px #000}.preview-power{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.theirs .preview-power{justify-content:flex-end}.power-owner{color:var(--muted);font:700 11px/1 var(--body),sans-serif;letter-spacing:1.5px}.power-name{padding:4px 10px;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);background:linear-gradient(90deg,var(--gold),#ff9b3d);color:#1a1203;font:italic 900 15px/1 var(--display),sans-serif;letter-spacing:1px}.preview-loading{display:none;position:absolute;inset:0;z-index:1;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--gold);font:italic 800 14px/1 var(--display),sans-serif;letter-spacing:4px}.preview-loading:before{content:"";width:34px;height:34px;border:3px solid #ffc53d33;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.loading .preview-loading{display:flex}.loading canvas{opacity:.3}.model-stage.reveal .preview-caption{animation:reveal-name .5s var(--ease-out)}.theirs .model-stage.reveal .preview-caption{animation-name:reveal-name-right}@keyframes reveal-name{0%{opacity:0;transform:translate(-24px)}}@keyframes reveal-name-right{0%{opacity:0;transform:translate(24px)}}@keyframes spin{to{transform:rotate(360deg)}}.versus{display:grid;justify-items:center;gap:8px;font:italic 900 64px/.8 var(--display),sans-serif;background:linear-gradient(180deg,#fff6d6,var(--gold) 55%,#ff8a2b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 12px #000)}.versus span{padding:5px 8px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface);-webkit-text-fill-color:var(--muted);font:800 11px/1 var(--body),sans-serif;letter-spacing:1.5px;white-space:nowrap}.character-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.character{position:relative;height:84px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#232837,#141720);text-align:left;transition:transform .15s var(--ease-out),border-color .15s,opacity .15s}.character img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;transition:transform .25s var(--ease-out)}.character>div{position:absolute;inset:auto 0 0;padding:18px 8px 6px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 4px;background:linear-gradient(transparent,#0b0c11 70%)}.character strong{font:italic 900 19px/1 var(--display),sans-serif;letter-spacing:.5px}.pick-label{color:var(--dim);font:700 9px/1 var(--body),sans-serif;letter-spacing:1px}.character:hover:not(:disabled){transform:translateY(-2px);border-color:var(--line-strong)}.character:hover:not(:disabled) img{transform:scale(1.06)}.character.selected{border-color:var(--side);box-shadow:inset 0 0 0 1px var(--side),0 6px 20px color-mix(in srgb,var(--side) 35%,transparent)}.character.selected:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--side)}.character.selected .pick-label{color:var(--side)}.character.taken{opacity:.35;filter:grayscale(1)}.character:disabled:not(.selected):not(.taken){opacity:.6}.menu-bottom{position:sticky;bottom:max(12px,env(safe-area-inset-bottom));z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:16px;padding:12px 12px 12px 16px;border:1px solid var(--line-strong);border-radius:12px;background:#161922f2;box-shadow:0 -10px 40px #0b0c11;backdrop-filter:blur(10px)}.difficulty-label{flex-direction:row;align-items:center;gap:10px}.difficulty-label select{height:40px;font:800 15px/1 var(--display),sans-serif;letter-spacing:1px}body.online-mode .difficulty-label{visibility:hidden}#selection-status{margin:0;text-align:center;font:italic 900 26px/1 var(--display),sans-serif;letter-spacing:1px}#selection-status span{margin:0 6px;color:var(--gold);font-size:16px}#start{min-width:220px}.menu-foot{margin:0;padding:18px 0 max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 28px;text-align:center;color:var(--dim);font:700 11px/1 var(--body),sans-serif;letter-spacing:1.5px}.menu-foot-note{margin:0}.dev-credits{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px}.dev-label{margin-right:2px;color:var(--dim)}.dev-link{--in: #0a66c2;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 14px 0 12px;clip-path:var(--slant);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);font:700 13px/1 var(--display),sans-serif;letter-spacing:1.5px;text-decoration:none;transition:background .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out)}.dev-icon{width:14px;height:14px;flex:none;fill:#4d9be6;transition:fill .18s var(--ease-out)}.dev-link:hover,.dev-link:focus-visible{background:var(--in);box-shadow:inset 0 0 0 1px var(--in);color:#fff}.dev-link:hover .dev-icon,.dev-link:focus-visible .dev-icon{fill:#fff}@media(prefers-reduced-motion:reduce){.dev-link,.dev-icon{transition:none}}#view-disclaimer{margin-left:8px;padding:4px 2px;border:0;border-bottom:1px solid var(--dim);background:none;color:var(--muted);font-size:11px;letter-spacing:1.5px}#network-panel{margin-bottom:14px;padding:10px 12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;background:var(--surface)}.network-actions{display:flex;align-items:center;gap:8px}.room-label{color:var(--muted);font:700 11px/1 var(--body),sans-serif;letter-spacing:1.5px}#room-code{min-width:82px;padding:6px 10px;border:1px dashed #ffc53d88;border-radius:6px;color:var(--gold);text-align:center;font:italic 900 26px/1 var(--display),sans-serif;letter-spacing:5px}.network-actions button,.friends-room-actions button{min-height:38px;padding:0 14px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface-2);font:800 14px/1 var(--display),sans-serif;letter-spacing:1px}.network-actions button:hover,.friends-room-actions button:hover:not(:disabled){border-color:var(--gold)}#leave-room{color:#ff8a95}#network-status{margin:0;flex:1 1 220px;color:var(--muted);font-size:14px}@media(max-width:900px){.selection-toolbar{align-items:stretch;flex-direction:column}.selection-options{display:grid;grid-template-columns:1fr minmax(0,220px);align-items:end}.nickname-row{width:auto}.character{height:70px}}@media(max-width:720px){:root{--header-h: 54px}#overlay{padding-top:calc(var(--header-h) + 14px)}.selection-toolbar{gap:12px;margin-bottom:14px}.menu-kicker{display:none}.menu-top h1{font-size:32px}.selection-options{grid-template-columns:1fr;gap:8px}.nickname-row{flex-direction:row;align-items:center;gap:10px}.nickname-row input{flex:1;height:40px}.duel-select{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.versus{position:absolute;top:calc(30px + clamp(150px,calc(100dvh - 540px),300px)/2);left:50%;z-index:2;transform:translate(-50%,-50%);font-size:40px}.versus span{display:none}.slot-label span{font-size:12px;letter-spacing:1px}.slot-label small{display:none}.model-stage{height:clamp(150px,calc(100dvh - 540px),300px)}.preview-caption{left:10px;right:10px;bottom:10px;gap:4px}.preview-name{font-size:clamp(28px,9vw,40px)}.power-owner{display:none}.power-name{font-size:12px;padding:3px 7px}.character-grid{grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.character-grid>.character:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - 3px)}.character{height:50px}.character img{object-position:50% 14%}.character>div{padding:12px 6px 4px}.character strong{font-size:15px}.pick-label{display:none}.menu-bottom{grid-template-columns:auto 1fr;gap:10px;padding:10px;margin-top:12px}.difficulty-label>span{display:none}#selection-status{text-align:right;font-size:20px}#start{grid-column:1 / -1;width:100%;min-width:0}body.online-mode .difficulty-label{display:none}body.online-mode #selection-status{grid-column:1 / -1;text-align:center}#network-panel{padding:10px}#room-code{font-size:22px}}@media(max-width:360px){.character strong{font-size:13px}}@media(max-height:560px)and (min-width:600px){:root{--header-h: 52px}#overlay{padding-top:calc(var(--header-h) + 12px)}.menu-top{display:none}.selection-toolbar{flex-direction:row;justify-content:flex-start;align-items:center;margin-bottom:10px}.selection-options{display:flex;flex-wrap:nowrap;width:100%}.play-modes{flex:none}.nickname-row{flex:1;flex-direction:row;align-items:center;gap:10px}.nickname-row input{flex:1}.slot-label{margin-bottom:6px}.selection{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:8px}.slot-label{grid-column:1 / -1}.theirs{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.theirs .model-stage{order:2}.model-stage{height:clamp(130px,calc(100dvh - 240px),300px)}.preview-name{font-size:30px}.power-owner{display:none}.power-name{font-size:12px}.character-grid{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:6px;margin:0}.character-grid>.character:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - 3px)}.character{height:auto;min-height:44px}.character>div{padding:10px 6px 4px}.character strong{font-size:14px}.pick-label{display:none}.versus{font-size:40px}.versus span{display:none}.menu-bottom{margin-top:10px;padding:8px 8px 8px 12px}#start{min-height:44px}}body.online-mode .model-stage{height:clamp(170px,calc(100dvh - 600px),320px)}body.online-mode .theirs .character-grid{display:none}@media(max-width:720px){body.online-mode .model-stage{height:170px}body.online-mode .versus{top:115px}}@media(max-height:560px)and (min-width:600px){body.online-mode .model-stage{height:150px}body.online-mode .theirs{display:block}}.boot{position:fixed;inset:0;z-index:30;display:grid;place-items:center;overflow:hidden;padding:24px var(--gutter-r) 24px var(--gutter);background:radial-gradient(70vmax 60vmax at -10% 0%,#ff3d5040,transparent 70%),radial-gradient(70vmax 60vmax at 110% 100%,#3d8bff3d,transparent 70%),repeating-linear-gradient(-55deg,#ffffff05 0 2px,transparent 2px 14px),var(--bg)}.boot-stage{display:flex;flex-direction:column;align-items:center;width:min(560px,100%);animation:boot-in .35s .25s both}@keyframes boot-in{0%{opacity:0}}.boot-brand{display:flex;align-items:center;gap:10px;margin:0 0 clamp(18px,4vh,34px);color:var(--muted);font:800 clamp(15px,2.4vw,18px)/1 var(--display),sans-serif;letter-spacing:5px}.boot-brand b{color:var(--text)}.boot-faceoff{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.boot-fighter{position:relative;aspect-ratio:4 / 5;overflow:hidden;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);background:var(--surface)}.boot-fighter img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.boot-fighter span{position:absolute;inset:auto 0 0;padding:26px 0 10px;text-align:center;font:italic 900 clamp(22px,4.4vw,34px)/1 var(--display),sans-serif;letter-spacing:1px;background:linear-gradient(transparent,#000c)}.boot-fighter.p1{box-shadow:inset 0 -6px 0 var(--p1);animation:boot-from-left .55s .3s var(--ease-out) both}.boot-fighter.p2{box-shadow:inset 0 -6px 0 var(--p2);animation:boot-from-right .55s .3s var(--ease-out) both}.boot-fighter.p1 span{color:#ffd2d6}.boot-fighter.p2 span{color:#d3e4ff}@keyframes boot-from-left{0%{opacity:0;transform:translate(-60%) skew(-8deg)}}@keyframes boot-from-right{0%{opacity:0;transform:translate(60%) skew(8deg)}}.boot-vs{padding:0 clamp(10px,3vw,22px);color:var(--gold);font:italic 900 clamp(40px,9vw,72px)/1 var(--display),sans-serif;text-shadow:0 0 24px #ffc53d80,3px 3px 0 #7a4a00;animation:boot-slam .4s .8s cubic-bezier(.3,1.6,.5,1) both,boot-pulse 1.6s 1.4s ease-in-out infinite}@keyframes boot-slam{0%{opacity:0;transform:scale(2.6) rotate(-8deg)}}@keyframes boot-pulse{50%{transform:scale(1.08);text-shadow:0 0 40px #ffc53dcc,3px 3px 0 #7a4a00}}.boot-meter{display:grid;grid-template-columns:auto 1fr 4ch;align-items:center;gap:12px;width:100%;margin-top:clamp(20px,4vh,34px);color:var(--gold);font:800 15px/1 var(--display),sans-serif;letter-spacing:3px}.boot-percent{text-align:right;color:var(--text);letter-spacing:1px}.boot-track{position:relative;height:14px;overflow:hidden;background:#ffffff10;box-shadow:inset 0 0 0 1px #ffc53d44;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}.boot-track i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--boot-progress, 0));background:repeating-linear-gradient(90deg,transparent 0 calc(10% - 2px),#0b0c11aa calc(10% - 2px) 10%),linear-gradient(180deg,#fff6,transparent 55%),linear-gradient(90deg,#b8860b,var(--gold));animation:boot-creep 6s var(--ease-out) forwards;transition:transform .25s ease-out}.boot.live .boot-track i{animation:none}@keyframes boot-creep{0%{transform:scaleX(0)}to{transform:scaleX(.3)}}.boot.charged .boot-track{animation:boot-charged .3s 2}@keyframes boot-charged{50%{filter:brightness(1.8);box-shadow:inset 0 0 0 1px var(--gold),0 0 18px var(--gold)}}.boot-jokes{position:relative;width:100%;height:22px;margin:14px 0 0;color:var(--muted);font:600 15px/22px var(--body),sans-serif;text-align:center}.boot-jokes span{position:absolute;inset:0;opacity:0;animation:boot-joke 15s infinite}.boot-jokes span:nth-child(2){animation-delay:2.5s}.boot-jokes span:nth-child(3){animation-delay:5s}.boot-jokes span:nth-child(4){animation-delay:7.5s}.boot-jokes span:nth-child(5){animation-delay:10s}.boot-jokes span:nth-child(6){animation-delay:12.5s}@keyframes boot-joke{0%{opacity:0;transform:translateY(8px)}3%,14%{opacity:1;transform:none}17%,to{opacity:0;transform:translateY(-8px)}}.boot-slow{margin:18px 0 0;color:var(--dim);font:600 13px/1.4 var(--body),sans-serif;text-align:center;opacity:0;animation:boot-show .6s 20s forwards}@keyframes boot-show{to{opacity:1}}.boot-fight{position:absolute;inset:0;display:grid;place-items:center;margin:0;pointer-events:none;color:#fff6d6;font:italic 900 clamp(90px,22vw,220px)/1 var(--display),sans-serif;letter-spacing:2px;text-shadow:0 0 40px #ff3d50aa,6px 6px 0 var(--p1-deep);opacity:0}.boot.done{pointer-events:none}.boot.done .boot-fight{animation:boot-fight .5s cubic-bezier(.3,1.5,.5,1) forwards}.boot.done .boot-stage{animation:boot-out .25s forwards}@keyframes boot-fight{0%{opacity:0;transform:scale(3) rotate(-6deg)}to{opacity:1}}@keyframes boot-out{to{opacity:0;transform:scale(.94)}}.boot.wipe{animation:boot-wipe .42s cubic-bezier(.7,0,.3,1) forwards}@keyframes boot-wipe{0%{clip-path:polygon(0 0,130% 0,100% 100%,-30% 100%)}to{clip-path:polygon(130% 0,130% 0,100% 100%,100% 100%)}}.boot.quick{pointer-events:none;animation:boot-out .2s forwards}@media(max-height:500px){.boot-faceoff{width:min(420px,100%)}.boot-brand{margin-bottom:10px}.boot-meter{margin-top:12px}}@media(prefers-reduced-motion:reduce){.boot-jokes span:first-child{animation:none;opacity:1}.boot-slow{display:none}}#touch{--s: 1;display:none;position:fixed;left:var(--gutter);right:var(--gutter-r);bottom:max(18px,env(safe-area-inset-bottom));z-index:6;justify-content:space-between;align-items:flex-end;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(pointer:coarse),(max-width:800px){body.playing:not(.game-menu-open):not(.spectating) #touch{display:flex}}body.train-cinematic #touch{visibility:hidden}@media(max-width:420px){#touch{--s: .86}}@media(max-width:350px){#touch{--s: .74}}@media(max-height:430px){#touch{--s: .8;bottom:max(10px,env(safe-area-inset-bottom))}}#fight-stick{position:relative;width:calc(140px * var(--s));height:calc(140px * var(--s));border:2px solid #ffffff2e;border-radius:50%;background:radial-gradient(circle,transparent 0 30%,#ffffff0a 31% 32%,transparent 33%),radial-gradient(circle,#161922aa,#0b0c1188);box-shadow:inset 0 0 30px #0008,0 6px 24px #0006;backdrop-filter:blur(4px);touch-action:none;pointer-events:auto;transition:border-color .12s}#fight-stick.active{border-color:#ffc53d99}.stick-knob{position:absolute;top:calc(50% - 28px * var(--s));left:calc(50% - 28px * var(--s));width:calc(56px * var(--s));height:calc(56px * var(--s));border:2px solid #ffffff66;border-radius:50%;background:radial-gradient(circle at 38% 30%,#5b6378,#252a38 70%);box-shadow:0 6px 14px #000a;pointer-events:none}#fight-stick.active .stick-knob{border-color:var(--gold)}.stick-direction{position:absolute;color:#ffffff59;font-size:calc(11px * var(--s));line-height:1;pointer-events:none}.stick-up{top:10%;left:50%;transform:translate(-50%)}.stick-down{bottom:10%;left:50%;transform:translate(-50%)}.stick-left{left:10%;top:50%;transform:translateY(-50%)}.stick-right{right:10%;top:50%;transform:translateY(-50%)}.touch-actions{position:relative;width:calc(244px * var(--s));height:calc(204px * var(--s))}#touch [data-key]{--tone: #ffffff;position:absolute;display:grid;place-items:center;padding:0;overflow:hidden;border:2px solid var(--tone);border-radius:50%;background:radial-gradient(circle at 50% 30%,#2a2f3fcc,#0b0c11cc);color:var(--tone);font:italic 900 calc(17px * var(--s)) / 1 var(--display),sans-serif;letter-spacing:.5px;box-shadow:0 6px 18px #0008,inset 0 0 0 1px #ffffff14;backdrop-filter:blur(4px);touch-action:none;pointer-events:auto;transition:transform .06s,background .06s,opacity .15s}#touch [data-key].held{transform:scale(.92);background:var(--tone);color:#0b0c11}#touch [data-key]:disabled{opacity:.35}#touch .action-punch{--tone: #ff5b6b;right:calc(92px * var(--s));bottom:0;width:calc(86px * var(--s));height:calc(86px * var(--s));font-size:calc(20px * var(--s))}#touch .action-kick{--tone: #ffa43d;right:0;bottom:calc(46px * var(--s));width:calc(86px * var(--s));height:calc(86px * var(--s));font-size:calc(20px * var(--s))}#touch .action-guard{--tone: #59c8ff;right:calc(104px * var(--s));bottom:calc(100px * var(--s));width:calc(66px * var(--s));height:calc(66px * var(--s))}#touch .action-evade{--tone: #d6dbe6;right:calc(186px * var(--s));bottom:calc(14px * var(--s));width:calc(58px * var(--s));height:calc(58px * var(--s));font-size:calc(14px * var(--s))}#touch .action-super{--tone: var(--gold);right:calc(18px * var(--s));bottom:calc(142px * var(--s));width:calc(62px * var(--s));height:calc(62px * var(--s));font-size:calc(14px * var(--s))}.super-fill{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,#ffc53d99,#ffc53d33);transition:height .2s}.super-text{position:relative}.super-ready #touch .action-super{background:radial-gradient(circle at 50% 35%,#fff6d6,var(--gold));color:#1a1203;animation:super-button 1s ease-in-out infinite}.super-ready #touch .action-super .super-fill,.supers-disabled #touch .action-super{display:none}@keyframes super-button{50%{box-shadow:0 0 22px 6px #ffc53dcc,0 6px 18px #0008}}.touch-combo-hint{position:absolute;right:0;top:calc(-20px * var(--s));color:#ffffffa6;font:700 10px/1 var(--body),sans-serif;letter-spacing:.6px;white-space:nowrap;text-shadow:0 1px 4px #000;pointer-events:none}@media(max-height:430px),(max-width:350px){.touch-combo-hint{display:none}}dialog{width:min(560px,calc(100vw - 32px));max-height:min(88dvh,880px);padding:30px 28px 24px;overflow:hidden auto;overscroll-behavior:contain;border:1px solid var(--line-strong);border-top:3px solid var(--p1);border-radius:12px;background:repeating-linear-gradient(115deg,#ffffff04 0 1px,transparent 1px 18px),linear-gradient(180deg,#1a1d28,var(--surface));color:var(--text);box-shadow:0 40px 100px #000;font-size:15px;line-height:1.55}dialog[open]{animation:dialog-in .25s var(--ease-out)}dialog::backdrop{background:#05060acc;backdrop-filter:blur(4px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}dialog h2{margin:0 0 12px;font:italic 900 clamp(36px,6vw,50px)/.92 var(--display),sans-serif;letter-spacing:.5px;text-transform:uppercase}dialog h2 em{font-style:inherit;color:var(--gold)}dialog p{margin:0 0 12px;color:var(--muted)}dialog strong{color:var(--text)}.modal-eyebrow,.help-eyebrow,.settings-eyebrow{margin:0 0 8px!important;color:var(--gold)!important;font:italic 800 13px/1 var(--display),sans-serif;letter-spacing:3px}.dialog-close,.help-close,.settings-close{position:absolute;top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:24px;line-height:1}.dialog-close:hover,.help-close:hover,.settings-close:hover{border-color:var(--gold)}dialog .btn-primary{width:100%;margin-top:8px}.modal-foot{margin:14px 0 0!important;text-align:center;color:var(--dim)!important;font-size:12px}#disclaimer-dialog{width:min(520px,calc(100vw - 32px))}.invite-description{margin-bottom:18px!important}#invite-dialog .field{margin-bottom:14px}.invite-tabs{margin-bottom:18px}#invite-create-view,#invite-join-view{padding:16px;border:1px solid var(--line);border-radius:10px;background:#0b0c1166}.invite-label{display:block;margin:0 0 8px!important;color:var(--muted);font:700 11px/1 var(--body),sans-serif;letter-spacing:1.5px}.invite-code-row{display:flex;gap:10px}#invite-code{flex:1;padding:10px;border:2px dashed #ffc53d88;border-radius:8px;color:var(--gold);text-align:center;font:italic 900 46px/1 var(--display),sans-serif;letter-spacing:12px}#copy-room-code{min-width:86px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface-2);font:800 16px/1 var(--display),sans-serif;letter-spacing:1px}#copy-room-code:disabled{opacity:.45}.invite-hint{margin:10px 0 6px!important;font-size:13px}#join-code{width:100%;height:72px;margin-bottom:4px;border:2px solid var(--line-strong);border-radius:8px;background:var(--bg-2);color:var(--gold);text-align:center;text-transform:uppercase;font:italic 900 44px/1 var(--display),sans-serif;letter-spacing:14px}#join-code:focus{border-color:var(--gold);outline:none}#join-code::placeholder{color:var(--surface-3)}#room-dialog-status{min-height:1.5em;margin:12px 0 0!important;color:var(--text)!important;font-size:14px;text-align:center}@media(max-width:600px){dialog,#disclaimer-dialog{width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0;padding:26px 18px max(20px,env(safe-area-inset-bottom));border-radius:16px 16px 0 0;border-inline:0;border-bottom:0}dialog[open]{animation-name:sheet-in}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}#invite-code{font-size:38px;letter-spacing:8px}}#room-settings-dialog{width:min(760px,calc(100vw - 32px))}#settings-permission{margin-bottom:16px!important}.settings-presets{margin-bottom:16px}#settings-fields{margin:0;padding:0;border:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-grid label{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#0b0c1166}.settings-grid label>span{color:var(--text);font:italic 900 16px/1 var(--display),sans-serif;letter-spacing:.5px}.settings-grid select{height:42px;min-width:0;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg-2);color:var(--text);font-size:15px;font-weight:600}.settings-grid select:focus{border-color:var(--gold);outline:none}.settings-grid small{color:var(--dim);font-size:12px;line-height:1.4}.settings-preview{margin-top:14px;padding:14px;border:1px solid #ffc53d55;border-radius:8px;background:linear-gradient(90deg,#ffc53d14,transparent)}.settings-preview strong{color:var(--gold);font:italic 900 16px/1 var(--display),sans-serif;letter-spacing:1.5px}.settings-preview p{margin:6px 0 0;color:var(--text);font-size:14px}.settings-warning{margin:12px 0 0!important;font-size:12px}#save-room-settings{margin-top:16px}@media(max-width:600px){.settings-grid{grid-template-columns:1fr}.settings-presets button{padding:0 8px}}#league-panel{margin-bottom:16px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.friends-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-bottom:8px}#league-title{margin:0;font:italic 900 clamp(24px,3vw,32px)/1 var(--display),sans-serif;letter-spacing:.5px}.friends-room-actions{display:flex;flex-wrap:wrap;gap:8px}#host-start{border:0;background:var(--gold);color:#1a1203}#host-start:disabled{background:var(--surface-3);color:var(--dim)}#league-info,#room-rules-summary{margin:0 0 6px;color:var(--muted);font-size:14px}#room-rules-summary{color:var(--dim);font-size:13px}#room-rules-notice:empty{display:none}#room-rules-notice{margin:8px 0;padding:8px 12px;border-left:3px solid var(--gold);background:#ffc53d14;font-size:13px}.league-table{width:100%;margin-top:8px;border-collapse:separate;border-spacing:0 4px;font-size:14px}.league-table th{padding:4px 10px;color:var(--dim);text-align:left;font-size:11px;font-weight:700;letter-spacing:1.2px}.league-table td{padding:9px 10px;background:var(--surface-2);font-weight:600}.league-table td:first-child{border-radius:6px 0 0 6px;font-weight:700}.league-table td:last-child{border-radius:0 6px 6px 0}.league-table th:nth-child(n+4),.league-table td:nth-child(n+4){text-align:center;font-variant-numeric:tabular-nums}.league-table .ready-yes,.league-table .ready-no{font-size:12px;font-weight:800;letter-spacing:1px}.league-table .ready-yes{color:var(--good)}.league-table .ready-yes:before{content:"● "}.league-table .ready-no{color:var(--dim)}.league-champion td{background:linear-gradient(90deg,#ffc53d33,var(--surface-2));color:var(--gold)}#league-panel details{margin-top:10px}#league-panel summary,#league-live summary{cursor:pointer;color:var(--muted);font:800 14px/1 var(--display),sans-serif;letter-spacing:1.5px}#league-results p{margin:6px 0 0;padding:6px 10px;border-left:2px solid var(--line-strong);color:var(--muted);font-size:13px}body.online-mode .menu-foot-note{display:none}#league-live{display:none;position:fixed;left:var(--gutter);bottom:max(16px,env(safe-area-inset-bottom));z-index:6;width:min(380px,calc(100vw - 32px));max-height:50vh;overflow:auto;padding:10px 12px;border:1px solid var(--line-strong);border-left:3px solid var(--gold);border-radius:8px;background:#0b0c11e6;backdrop-filter:blur(8px)}body.playing #league-live{display:block}#league-current{margin:8px 0 0;font:italic 900 18px/1 var(--display),sans-serif}#league-live .league-table{font-size:12px}#league-live .league-table td{padding:6px 8px}@media(pointer:coarse),(max-width:800px){body.playing:not(.spectating) #league-live{top:calc(env(safe-area-inset-top) + 130px);bottom:auto;width:min(300px,calc(100vw - 32px))}}body.playing.game-menu-open #league-live{display:none}@media(max-width:600px){#league-panel{padding:12px}.league-table{font-size:12px}.league-table td{padding:7px 5px}.league-table th{padding:4px 5px}}#how-to-play-dialog{width:min(820px,calc(100vw - 32px))}.help-goal{max-width:60ch;margin-bottom:20px!important}.help-moves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.help-moves>div{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#0b0c1166}.help-keys{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.help-keys small{color:var(--dim);font-size:11px}.help-moves p{margin:0;display:grid;gap:2px;font-size:13px;line-height:1.45}.help-moves b{color:var(--text);font:italic 900 18px/1.1 var(--display),sans-serif;letter-spacing:.5px}.help-moves .help-super{grid-column:1 / -1;border-color:#ffc53d66;background:linear-gradient(90deg,#ffc53d1a,transparent)}.help-super b{color:var(--gold)}.help-guard{margin-top:22px}.help-guard h3{margin:0 0 10px;font:italic 900 22px/1 var(--display),sans-serif;letter-spacing:1px}.help-guard table{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:13px}.help-guard th,.help-guard td{padding:8px 10px;text-align:left;background:#0b0c1166}.help-guard thead th{background:none;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1px}.help-guard tbody th{border-radius:6px 0 0 6px}.help-guard tbody td:last-child{border-radius:0 6px 6px 0}.help-guard tbody th b{display:block;font:italic 900 16px/1 var(--display),sans-serif}.help-guard tbody th small{color:var(--dim);font-weight:500}.help-guard .safe{color:var(--good);font-weight:700}.help-guard .safe:before{content:"✓ "}.help-guard .hit{color:#ff8a95;font-weight:700}.help-guard .hit:before{content:"✕ "}.help-tip{margin:16px 0!important;padding:12px 14px;border-left:3px solid #4fd8ff;border-radius:0 8px 8px 0;background:#4fd8ff12;font-size:14px}.help-tip b{color:#9fe8ff}.help-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.help-extras p{margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:13px;line-height:1.45}.help-extras b{display:block;margin-bottom:4px;color:var(--text);font:italic 900 16px/1 var(--display),sans-serif;letter-spacing:1px}.help-done{margin-top:18px!important}@media(max-width:720px){.help-moves,.help-extras{grid-template-columns:1fr}.help-moves>div{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:10px}.help-guard table{font-size:12px}.help-guard th,.help-guard td{padding:7px 6px}.help-guard tbody th small{display:none}}.train-cinematic:before,.train-cinematic:after{content:"";position:fixed;left:0;right:0;z-index:7;height:8vh;background:#05060a;pointer-events:none;animation:letterbox-in .35s var(--ease-out)}.train-cinematic:before{top:0;--from: -100%}.train-cinematic:after{bottom:0;--from: 100%}@keyframes letterbox-in{0%{transform:translateY(var(--from))}}.train-cinematic #league-live{display:none!important}.special-banner{position:fixed;left:max(5%,env(safe-area-inset-left));bottom:calc(8vh + 5%);z-index:8;display:none;pointer-events:none;filter:drop-shadow(0 6px 18px #000)}.special-banner.visible{display:block;animation:banner-in .45s var(--ease-out)}.special-banner small{display:table;margin:0 0 8px;padding:6px 12px;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);background:#0b0c11d9;color:var(--gold);font:800 12px/1 var(--body),sans-serif;letter-spacing:2px}.special-banner strong{position:relative;display:block;padding:4px 28px 8px 14px;font:italic 900 clamp(40px,6vw,84px)/1 var(--display),sans-serif;letter-spacing:2px;color:#fff6d6;text-shadow:3px 3px 0 #8e1420}.special-banner strong:before{content:"";position:absolute;inset:22% 0 8%;z-index:-1;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);background:linear-gradient(90deg,var(--p1),#ff8a2b 70%,transparent);transform-origin:left;animation:banner-stripe .5s var(--ease-out)}#harka-super-banner small{color:#c8e39b}#ashika-super-banner small{color:#ffd6f0}#gagan-super-banner small{color:#bfeaff}#train-super-banner strong:before{background:linear-gradient(90deg,var(--p2),#5fb3ff 70%,transparent)}#harka-super-banner strong:before{background:linear-gradient(90deg,#3c8a2e,#9ccc4a 70%,transparent)}#ashika-super-banner strong:before{background:linear-gradient(90deg,#b0247c,#ff6fb5 70%,transparent)}#gagan-super-banner strong:before{background:linear-gradient(90deg,#1d5fd6,#4fd1ff 70%,transparent)}@keyframes banner-in{0%{transform:translate(-40px) skew(-10deg)}}@keyframes banner-stripe{0%{transform:scaleX(0)}}@media(max-height:500px){.special-banner{bottom:calc(8vh + 3%)}.special-banner strong{font-size:32px}.special-banner small{padding:4px 8px;font-size:10px}}.hud{position:fixed;top:max(14px,env(safe-area-inset-top));left:var(--gutter);right:var(--gutter-r);z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:14px;max-width:1280px;margin:0 auto;pointer-events:none;visibility:hidden}body.playing .hud{visibility:visible;animation:hud-in .4s var(--ease-out)}body.playing.game-menu-open .hud{opacity:.35}body.train-cinematic .hud{z-index:8}@keyframes hud-in{0%{opacity:0;transform:translateY(-12px)}}.player{--side: var(--p1);--side-deep: var(--p1-deep);display:flex;align-items:flex-start;gap:12px;min-width:0}.player.enemy{--side: var(--p2);--side-deep: var(--p2-deep);flex-direction:row-reverse}.hud-portrait{flex:none;width:64px;height:64px;border-bottom:3px solid var(--side);clip-path:polygon(0 0,100% 0,86% 100%,0 100%);background:no-repeat 50% 8% / 175% auto;background-color:var(--side-deep)}.enemy .hud-portrait{transform:scaleX(-1)}.hud-portrait[data-character=balen]{background-image:url(/portraits/balen.png),linear-gradient(160deg,var(--side),var(--side-deep))}.hud-portrait[data-character=kp]{background-image:url(/portraits/kp.png),linear-gradient(160deg,var(--side),var(--side-deep))}.hud-portrait[data-character=harka]{background-image:url(/portraits/harka.png),linear-gradient(160deg,var(--side),var(--side-deep))}.hud-portrait[data-character=ashika]{background-image:url(/portraits/ashika.png),linear-gradient(160deg,var(--side),var(--side-deep))}.hud-portrait[data-character=gagan]{background-image:url(/portraits/gagan.png),linear-gradient(160deg,var(--side),var(--side-deep))}.hud-side{flex:1;min-width:0}.hud .name{display:flex;align-items:center;gap:8px;margin-bottom:5px}.enemy .name{justify-content:flex-end}.hud .name strong{overflow:hidden;font:italic 900 24px/1 var(--display),sans-serif;letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 8px #000}.hud .role{flex:none;padding:3px 6px;border-radius:3px;background:var(--side);color:#fff;font:800 10px/1 var(--body),sans-serif;letter-spacing:1.2px}.health{position:relative;height:24px;overflow:hidden;background:#05060acc;border:1px solid #ffffff2e;clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);box-shadow:inset 0 2px 6px #000}.enemy .health{clip-path:polygon(0 0,100% 0,100% 100%,14px 100%)}.health i,.health .trail{position:absolute;top:0;bottom:0;left:0;width:100%}.enemy .health i,.enemy .health .trail{left:auto;right:0}.health i{background:linear-gradient(180deg,#ffffff55,transparent 45%),linear-gradient(90deg,var(--side-deep),var(--side));transition:width .12s}.enemy .health i{background:linear-gradient(180deg,#ffffff55,transparent 45%),linear-gradient(270deg,var(--side-deep),var(--side))}.health .trail{background:#fff1c2;transition:width .45s ease-in .45s}.health.low i{background:linear-gradient(180deg,#ffffff66,transparent 45%),linear-gradient(90deg,#ff6a00,var(--gold));animation:hud-blink .9s ease-in-out infinite}.enemy .health.low i{background:linear-gradient(180deg,#ffffff66,transparent 45%),linear-gradient(270deg,#ff6a00,var(--gold))}.hud-sub{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}.hud .guard{flex:0 1 48%;height:6px;overflow:hidden;border-radius:3px;background:#05060acc}.hud .guard i{display:block;width:100%;height:100%;margin-left:0;background:linear-gradient(90deg,#4fd8ff,#b8f1ff);transition:width .15s}.enemy .guard i{margin-left:auto}.hud .guard.low i{background:var(--danger);animation:hud-blink .6s steps(2) infinite}.pips{display:flex;gap:6px}.pips i{width:12px;height:12px;transform:rotate(45deg);border:2px solid #ffffff70;background:#05060a99}.pips i.won{border-color:var(--gold);background:var(--gold);box-shadow:0 0 10px var(--gold)}.super-gauge{display:flex;align-items:center;gap:10px;margin-top:8px}.hud .charge{position:relative;flex:0 1 62%;height:12px;overflow:hidden;background:#05060acc;border:1px solid #ffc53d55;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}.hud .charge:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 2px),#05060a 0 25%)}.hud .charge i{display:block;width:0;height:100%;background:linear-gradient(90deg,#ff8a2b,var(--gold));transition:width .15s}.label-super{color:var(--gold);font:italic 900 14px/1 var(--display),sans-serif;letter-spacing:1.5px;text-shadow:0 2px 6px #000;white-space:nowrap}.super-ready .hud .charge{border-color:var(--gold);box-shadow:0 0 14px var(--gold)}.super-ready .hud .charge i{background:linear-gradient(90deg,#ffe7a6,#fffaf0,#ffc53d,#ffe7a6) 0 0 / 200% 100%;animation:hud-shine 1.2s linear infinite}.super-ready .label-super{color:#fff6d6;animation:hud-pulse 1s ease-in-out infinite}.super-ready .label-super:after{content:" READY";color:var(--gold)}@media(pointer:fine)and (min-width:801px){.super-ready .label-super:after{content:" READY · PRESS L"}}.supers-disabled .super-gauge{display:none}.hud .clock{display:grid;justify-items:center;min-width:88px;padding:6px 10px 16px;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%);border-top:3px solid var(--gold);background:linear-gradient(180deg,#161922f2,#0b0c11e8)}.hud .clock strong{color:var(--text);font:italic 900 46px/.95 var(--display),sans-serif;font-variant-numeric:tabular-nums}.hud .clock>span{color:var(--muted);font:800 11px/1 var(--body),sans-serif;letter-spacing:1.5px}.hud .clock b{color:var(--gold)}.time-low .hud .clock{border-top-color:var(--danger)}.time-low .hud .clock strong{color:var(--danger);animation:hud-pulse 1s ease-in-out infinite}@keyframes hud-blink{50%{opacity:.4}}@keyframes hud-shine{to{background-position:-200% 0}}@keyframes hud-pulse{50%{transform:scale(1.1)}}@media(max-width:700px){.hud{top:max(10px,env(safe-area-inset-top));gap:8px}.hud-portrait{display:none}.hud .name{gap:6px;margin-bottom:4px}.hud .name strong{font-size:17px}.hud .role{padding:2px 4px;font-size:8px}.health{height:16px}.hud .guard{height:4px}.pips{gap:5px}.pips i{width:9px;height:9px}.super-gauge{margin-top:6px;gap:6px}.hud .charge{flex-basis:70%;height:9px}.label-super{font-size:11px}.super-ready .label-super:after{content:"!"}.hud .clock{min-width:60px;padding:4px 6px 13px}.hud .clock strong{font-size:32px}.hud .clock>span{font-size:8px;letter-spacing:1px}}@media(max-height:560px)and (min-width:600px){.hud{top:max(8px,env(safe-area-inset-top))}.hud-portrait{width:48px;height:48px}.hud .name strong{font-size:18px}.health{height:16px}.hud .clock strong{font-size:34px}}.boss-flash{position:fixed;inset:0;z-index:9;pointer-events:none;background:radial-gradient(circle at 60% 40%,#fff8e4,#ffd27a 60%,#ffb347);opacity:0;transition:opacity .9s var(--ease-out)}.boss-flash.visible{opacity:1;transition-duration:.08s}.boss-title{position:fixed;left:50%;top:calc(9vh + 4%);z-index:8;display:none;pointer-events:none;text-align:center;transform:translate(-50%);filter:drop-shadow(0 6px 18px #000)}.boss-title.visible{display:block;animation:boss-title-in .9s var(--ease-out)}.boss-title small{display:block;margin-bottom:6px;color:var(--gold-soft);font:800 13px/1 var(--body),sans-serif;letter-spacing:6px}.boss-title strong{display:block;white-space:nowrap;color:#fff6d6;font:italic 900 clamp(34px,6.5vw,92px)/1 var(--display),sans-serif;letter-spacing:2px;text-shadow:0 0 24px #ffb84d99,3px 3px 0 #7a4a00}@keyframes boss-title-in{0%{opacity:0;letter-spacing:18px}}.boss-choice{position:fixed;left:50%;bottom:max(6vh,env(safe-area-inset-bottom));z-index:11;display:none;width:min(640px,calc(100vw - 32px));padding:18px;text-align:center;transform:translate(-50%);border:1px solid #ffc53d66;border-radius:12px;background:repeating-linear-gradient(115deg,#ffc53d0d 0 10px,transparent 10px 20px),linear-gradient(180deg,#1e2230f2,#0b0c11f2);box-shadow:0 18px 50px #000c}.boss-choice.visible{display:block;animation:boss-choice-in .5s var(--ease-out)}.boss-choice small{color:var(--gold);font:800 11px/1 var(--body),sans-serif;letter-spacing:3px}.boss-choice h2{margin:8px 0 14px;font:italic 900 clamp(24px,4vw,36px)/1 var(--display),sans-serif;letter-spacing:1px}.boss-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.boss-choice button{display:grid;gap:6px;padding:14px 12px;text-align:left;color:var(--text);border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;clip-path:var(--slant);transition:transform .15s var(--ease-out),filter .15s}.boss-choice button b{font:italic 900 24px/1 var(--display),sans-serif;letter-spacing:1px}.boss-choice button span{color:#fffc;font:600 13px/1.3 var(--body),sans-serif}.boss-choice .respect{background:linear-gradient(135deg,#b8860b,#ffc53d);color:#1b1200}.boss-choice .respect span{color:#2b1d00}.boss-choice .fight{background:linear-gradient(135deg,var(--p1-deep),var(--p1))}.boss-choice button:hover,.boss-choice button:focus-visible{transform:translateY(-2px);filter:brightness(1.1)}.boss-choice button:focus-visible{outline:3px solid #fff;outline-offset:2px}@keyframes boss-choice-in{0%{opacity:0;transform:translate(-50%,24px)}}@media(max-width:520px),(max-height:500px){.boss-choice{padding:12px}.boss-choice h2{margin:6px 0 10px}.boss-choice button b{font-size:19px}.boss-choice button span{font-size:11px}}body.boss-fight .enemy .health i{background:linear-gradient(180deg,#ffffff66,transparent 45%),linear-gradient(90deg,#8a5a00,var(--gold))}body.boss-fight .enemy .health:after{content:"∞";position:absolute;inset:0 22px 0 auto;display:grid;place-items:center;color:#2b1d00;font:900 20px/1 var(--body),sans-serif}.hud-portrait[data-character=pnshah]{background-image:url(/portraits/pnshah.png),linear-gradient(160deg,#8a5a00,#3d2700)}#pnshah-super-banner small{color:var(--gold-soft)}#pnshah-super-banner strong:before{background:linear-gradient(90deg,#8a5a00,var(--gold) 70%,transparent)}body.boss-entry .hud{opacity:0;transition:opacity .4s}@media(max-height:500px){.boss-choice{bottom:max(2vh,env(safe-area-inset-bottom));width:min(560px,calc(100vw - 32px));padding:8px 10px 10px}.boss-choice small{display:none}.boss-choice h2{margin:0 0 8px;font-size:20px}.boss-choice button{gap:3px;padding:8px 10px}}
