:root{font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;color:#171713;background:#f4f0e4;font-synthesis:none;--paper:#f4f0e4;--ink:#181813;--orange:#fb5733;--blue:#345ee4;--line:#1b1b17}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{opacity:.42;cursor:not-allowed}.hidden{display:none!important}#stage{position:fixed;inset:0;visibility:hidden}body[data-screen=fight]{background:#101621}body[data-screen=fight] #stage{visibility:visible}#stage canvas{display:block;width:100%;height:100%}.texture{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.19;background-image:radial-gradient(#3b3524 .55px,transparent .65px);background-size:4px 4px}body[data-screen=fight] .texture{display:none}.topbar{height:76px;position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;border-bottom:2px solid var(--ink)}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;font-size:16px;line-height:1.05;font-weight:1000;letter-spacing:.04em}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--ink);color:var(--paper);font-size:24px;transform:rotate(-5deg)}.brand small{display:block;font:700 8px/1.2 ui-monospace,monospace;letter-spacing:1.1px;margin-top:5px}.edition{font:700 10px ui-monospace,monospace;letter-spacing:2px}.edition b{color:var(--orange);margin:0 7px}.top-actions{display:flex;gap:8px}.icon{width:38px;height:38px;border:2px solid var(--ink);background:transparent;font-weight:900;font-size:17px}.icon:hover{background:var(--ink);color:var(--paper)}.screen{position:relative;z-index:1}.home{height:calc(100vh - 76px);display:grid;grid-template-columns:47% 53%;padding:0 4.5vw}.home-copy{align-self:center;position:relative;z-index:2;padding-bottom:4vh}.kicker{font:800 10px/1.2 ui-monospace,monospace;letter-spacing:2px;text-transform:uppercase}.home-copy .kicker{display:flex;gap:25px;align-items:center;margin-bottom:26px}.home-copy .kicker span:first-child{color:var(--orange)}.title-stamp{display:inline-block;background:var(--orange);color:#fff;font:900 10px ui-monospace,monospace;letter-spacing:1.3px;padding:7px 10px;transform:rotate(-2deg)}h1{font-size:clamp(70px,8.3vw,132px);line-height:.93;letter-spacing:.03em;font-weight:1000;margin:25px 0 13px;white-space:nowrap}h1 span{color:var(--orange)}h1 i{font:800 12px ui-monospace,monospace;vertical-align:top;margin-left:9px}.subtitle{font:900 clamp(12px,1vw,16px) ui-monospace,monospace;letter-spacing:2px;margin:0 0 27px}.subtitle em{color:var(--orange);font-style:normal}.menu{width:min(390px,90%);display:grid;gap:8px}.menu button{border:2px solid var(--ink);background:#f8f5eb;min-height:69px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:23px;font-weight:950;transition:transform .15s,background .15s,color .15s}.menu button:first-child{background:var(--ink);color:var(--paper)}.menu button:hover{background:var(--orange);color:#fff;transform:translate(6px)}.menu button small{display:block;font:800 9px ui-monospace,monospace;letter-spacing:1.5px;margin-bottom:5px;opacity:.75}.menu button b{font-size:24px}.menu-foot{font:700 9px ui-monospace,monospace;letter-spacing:1.3px;margin-top:20px}.menu-foot span{color:var(--orange);margin:0 6px}.home-art{position:relative;min-width:0;overflow:hidden}.art-disc{position:absolute;width:min(63vw,800px);aspect-ratio:1;top:46%;left:53%;transform:translate(-50%,-50%);border-radius:50%;background:var(--orange);box-shadow:0 0 0 13px var(--paper),0 0 0 16px var(--ink)}.art-disc:after{content:"";position:absolute;inset:18px;border:2px dashed #ffffff80;border-radius:50%}.art-word{position:absolute;top:25%;left:5%;color:#ffffff40;font:1000 clamp(80px,12vw,190px)/.76 Impact,sans-serif;letter-spacing:-5px}.home-art img{position:absolute;object-fit:contain;filter:drop-shadow(0 20px 9px #5a280b66)}.hero-doge{height:70%;width:60%;left:0;top:14%;transform:rotate(-7deg)}.hero-roo{height:68%;width:58%;right:-2%;top:24%;transform:rotate(7deg)}.art-label{position:absolute;right:0;bottom:10%;background:var(--blue);color:#fff;padding:13px 16px;transform:rotate(4deg);box-shadow:5px 5px 0 var(--ink)}.art-label span,.art-label small{display:block;font:800 8px ui-monospace,monospace;letter-spacing:1px}.art-label strong{display:block;font-size:24px;line-height:1.05;margin:9px 0}.vertical{position:absolute;right:0;top:5%;writing-mode:vertical-rl;font:800 9px ui-monospace,monospace;letter-spacing:2px}.home-bottom{position:absolute;bottom:15px;left:4.5vw;right:4.5vw;display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:11px;font:800 9px ui-monospace,monospace;letter-spacing:1.4px}.select-screen,.online-screen{height:calc(100vh - 76px);padding:3vh 5vw;overflow:auto}.section-heading{display:flex;justify-content:space-between;align-items:end}.section-heading .kicker{color:var(--orange)}h2{font-size:clamp(32px,3.5vw,54px);line-height:1;margin:10px 0 0;letter-spacing:-1px}h2 span{color:var(--orange)}.text-button{border:0;background:none;text-decoration:underline;font-weight:800;padding:10px 0}.versus{height:39vh;max-height:360px;min-height:245px;display:grid;grid-template-columns:1fr 120px 1fr;gap:12px;margin-top:2vh}.selection{position:relative;overflow:hidden;border:2px solid var(--ink);background:#e7e3d6;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;padding:14px}.selection.p1{background:linear-gradient(135deg,#c4cff4,#e6eaf8)}.selection.p2{background:linear-gradient(225deg,#ffd1bd,#ffede4)}.selection.active{box-shadow:inset 0 0 0 5px var(--blue)}.selection.p2.active{box-shadow:inset 0 0 0 5px var(--orange)}.select-player{display:flex;justify-content:space-between;position:relative;z-index:2;font:900 10px ui-monospace,monospace;letter-spacing:1px}.select-player span{color:var(--blue)}.p2 .select-player span{color:#df492b}.selection img{position:absolute;object-fit:contain;width:63%;height:85%;left:30%;top:12%;filter:drop-shadow(0 8px 6px #0003)}.selection.p2 img{left:4%;transform:scaleX(-1)}.select-name{position:absolute;bottom:63px;left:15px;z-index:2}.p2 .select-name{left:auto;right:15px;text-align:right}.select-name b{display:block;font-size:clamp(24px,3vw,44px);font-weight:1000}.select-name small{font-size:11px;font-weight:800}.confirm{position:relative;z-index:3;align-self:start;border:2px solid var(--ink);background:var(--ink);color:#fff;font-size:11px;font-weight:900;padding:9px 12px}.p2 .confirm{align-self:end}.confirm:hover{background:var(--orange)}.versus-center{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.versus-center span,.versus-center i{font:800 8px ui-monospace,monospace;letter-spacing:1px}.versus-center strong{font:italic 1000 70px/1 Impact,sans-serif;color:var(--orange);text-shadow:3px 3px 0 var(--ink);margin:8px 0}.chooser{margin-top:2vh}.chooser-top{display:flex;justify-content:space-between;font:800 10px ui-monospace,monospace;letter-spacing:.5px;margin-bottom:8px}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.roster-card{height:12vh;min-height:90px;max-height:125px;position:relative;overflow:hidden;text-align:left;background:#e7e3d7;border:2px solid var(--ink);padding:10px}.roster-card:hover,.roster-card.chosen{background:#ffd069;box-shadow:inset 0 -5px 0 var(--orange)}.roster-card img{position:absolute;right:0;top:-8%;width:53%;height:116%;object-fit:contain}.roster-no{position:absolute;top:8px;left:10px;font:800 9px ui-monospace,monospace}.roster-name{position:absolute;bottom:9px;left:10px;font-size:16px;font-weight:1000}.roster-name small{display:block;font:800 8px ui-monospace,monospace;margin-top:3px}.roster-mark{position:absolute;right:8px;top:7px;color:var(--blue);font:900 10px ui-monospace,monospace}.select-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:13px;gap:10px}.select-bottom label{font-size:12px;font-weight:900}.select-bottom select{margin-left:7px}.select-bottom #selection-actions{margin-left:auto;display:flex;gap:8px}.primary,.outline{border:2px solid var(--ink);padding:13px 18px;min-height:44px;font-size:13px;font-weight:900}.primary{background:var(--orange);color:#fff;box-shadow:3px 3px 0 var(--ink)}.primary:hover{background:var(--ink)}.outline{background:transparent}.outline:hover{background:var(--ink);color:#fff}.select-tip{font-size:10px;margin:10px 0;color:#666052}.online-screen{max-width:1150px;margin:auto}.online-panel{border:2px solid var(--ink);background:#fbf8ef;padding:26px;margin-top:24px;max-width:700px;box-shadow:8px 8px 0 var(--ink)}.panel-label{font:800 10px ui-monospace,monospace;letter-spacing:2px;color:var(--orange)}.online-panel h3{font-size:30px;margin:12px 0}.online-panel p{font-size:13px;line-height:1.7;color:#555348}.online-fields{display:flex;gap:14px}.online-fields label{font-size:11px;font-weight:900;flex:1}.online-fields input{display:block;margin-top:6px;width:100%;border:2px solid var(--ink);background:#fff;padding:11px}.online-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.connect-status{font-size:11px!important}.room-code{font:1000 48px ui-monospace,monospace!important;letter-spacing:5px;color:var(--orange)}.room-slot{display:flex;align-items:center;gap:12px;border-top:1px solid #aaa;padding:12px 0;font-size:13px}.room-slot>b{color:var(--blue)}.room-slot span{flex:1;font-weight:900}.room-slot small{display:block;font-size:10px;font-weight:400;margin-top:4px}.room-slot strong{font-size:11px}.online-roster{display:flex;gap:7px}.online-choice{background:#eee8db;border:2px solid #777;width:100px;height:92px;position:relative;overflow:hidden;font-size:10px;font-weight:900}.online-choice.chosen{border-color:var(--orange);background:#ffd5a6}.online-choice img{height:70px;width:100%;object-fit:contain}.online-choice span{display:block}body[data-screen=fight] .topbar{color:#fff;border-color:#ffffff36;background:linear-gradient(#101522d9,transparent);height:62px}body[data-screen=fight] .brand-mark{background:var(--orange)}body[data-screen=fight] .icon{border-color:#fff8;color:#fff}#hud{position:absolute;z-index:4;top:70px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;pointer-events:none;color:#fff;text-shadow:2px 2px 2px #000}.hud-player{width:42%;max-width:600px;display:flex;align-items:flex-start;gap:14px}.hud-player.right{flex-direction:row-reverse}.hud-bars{flex:1;min-width:0}.hud-portrait{position:relative;flex:none;width:68px;height:68px;overflow:hidden;border:3px solid #fff;background:var(--paper);box-shadow:5px 5px 0 var(--blue),inset 0 -16px 0 var(--fighter,#ffd44e)}.right .hud-portrait{box-shadow:-5px 5px 0 var(--orange),inset 0 -16px 0 var(--fighter,#ffd44e)}.hud-portrait:before{content:"";position:absolute;inset:0;background:no-repeat 50% 2%/190% auto}.right .hud-portrait:before{transform:scaleX(-1)}.hud-portrait[data-id=doge]:before{background-image:url(/assets/fighters/doge.png);background-position:61% 2%}.hud-portrait[data-id=naiwa]:before{background-image:url(/assets/fighters/naiwa.png);background-position:27% 0}.hud-portrait[data-id=roo]:before{background-image:url(/assets/fighters/roo.png);background-position:67% 4%}.hud-portrait[data-id=kun]:before{background-image:url(/assets/fighters/kun.png);background-position:50% 5%;background-size:150% auto}.hp-label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.hp-label b{padding:3px 12px 4px;background:var(--paper);color:var(--ink);text-shadow:none;font-size:clamp(14px,1.3vw,19px);font-weight:1000;line-height:1.15;white-space:nowrap;transform:skew(-10deg);box-shadow:3px 3px 0 var(--blue)}.right .hp-label b{box-shadow:-3px 3px 0 var(--orange)}.hp-label span{color:#ffd44e;font-size:17px;letter-spacing:4px}.health{height:24px;background:#2a1820;border:2px solid #fff;transform:skew(-10deg);padding:2px;box-shadow:4px 4px #0009}.health>span{position:relative;display:block;height:100%;overflow:hidden}.health i{position:absolute;top:0;bottom:0;left:0;width:100%;background:linear-gradient(90deg,#4ec5ff,#6debe9)}.right .health i{left:auto;right:0;background:linear-gradient(90deg,#ffca59,#ff653f)}.health i.trail{background:#fff2c2;transition:width .45s cubic-bezier(.3,0,.2,1) .4s}.low .health{animation:hp-low .8s ease-in-out infinite}.low .health i:not(.trail){background:linear-gradient(90deg,#ff3b3b,#ff7759)}@keyframes hp-low{50%{border-color:#ff4b3e;box-shadow:4px 4px #0009,0 0 16px #ff3b30}}.meter-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px}.right .meter-row{flex-direction:row-reverse}.meter{position:relative;flex:0 0 56%;height:12px;border:2px solid #ffffffb0;background:#121827;transform:skew(-10deg)}.meter:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 2px),#121827 calc(25% - 2px) 25%)}.meter i{display:block;height:100%;background:#ffda43}.right .meter i{margin-left:auto}.hud-player small{display:block;font-size:12px;font-weight:800;margin-top:6px}.right small{text-align:right}.meter-row small{margin:0;white-space:nowrap}.ready .meter{border-color:#fff27a;box-shadow:0 0 12px #ffcf3a}.ready .meter i{background:linear-gradient(90deg,#ffb229,#fff48a,#ffb229) 0 0/200% 100%;animation:meter-ready 1s linear infinite}.ready .meter-text{color:#ffe04a;font-size:14px;font-weight:1000;animation:ready-blink .9s ease-in-out infinite}@keyframes meter-ready{to{background-position:-200% 0}}@keyframes ready-blink{50%{opacity:.55}}.timer{flex:none;text-align:center;min-width:84px;padding:6px 10px 8px;background:#181813e6;border:2px solid #fff;box-shadow:4px 4px 0 var(--orange)}.timer span{display:block;font:900 11px ui-monospace,monospace;color:#ffd44e;white-space:nowrap;letter-spacing:1px;margin-bottom:3px}.timer b{font:italic 1000 44px/.95 Impact,sans-serif}.announcement{position:absolute;z-index:6;top:36%;left:0;width:100%;padding:16px;text-align:center;color:#fff;font-size:clamp(36px,5vw,68px);font-weight:1000;text-shadow:3px 4px 0 var(--ink),0 0 30px #000;background:linear-gradient(90deg,transparent,#15131bd9,transparent);pointer-events:none}.announcement small{display:block;color:#ffd84e;font:900 13px ui-monospace,monospace;letter-spacing:4px;margin-bottom:10px}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:20px;pointer-events:auto}.result-actions .outline{background:#f4f0e4;color:#171713;text-shadow:none}.result-actions .primary{text-shadow:none}.result-panel{position:fixed;z-index:14;inset:0;display:grid;padding:16px;overflow:auto;background:radial-gradient(circle at 30% 50%,#080b1166,#080b11dd 70%)}.result-card{position:relative;margin:auto;display:grid;width:min(440px,100%);background:var(--paper);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--orange);animation:result-in .45s cubic-bezier(.2,.9,.3,1.15) both}.result-card.lost{box-shadow:10px 10px 0 var(--blue)}.result-body{display:flex;flex-direction:column;gap:12px;padding:26px 28px 22px;min-width:0}.result-body .kicker{color:var(--orange)}.lost .result-body .kicker{color:var(--blue)}.result-body h2{margin:0;font-size:clamp(34px,4vw,48px);line-height:1;font-weight:1000;letter-spacing:-1px}.result-quote{margin:0;font-size:14px;color:#4a463c}.result-quote b{color:var(--ink);margin-right:4px}.result-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.result-score strong{font:1000 40px/1 ui-monospace,monospace;white-space:nowrap}.result-score em{font-style:normal;color:var(--orange);margin:0 6px}.result-side{display:flex;align-items:center;gap:10px;min-width:0}.result-side.p2{flex-direction:row-reverse;text-align:right}.result-side:not(.won){opacity:.55}.result-side b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-side small{font:800 10px ui-monospace,monospace;letter-spacing:1px;color:#6b6658}.result-side .hud-portrait{width:46px;height:46px;border-color:var(--ink);box-shadow:3px 3px 0 var(--blue),inset 0 -10px 0 var(--fighter)}.result-side.p2 .hud-portrait{box-shadow:-3px 3px 0 var(--orange),inset 0 -10px 0 var(--fighter)}.result-side.p2 .hud-portrait:before{transform:scaleX(-1)}.result-rounds{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.result-rounds li{padding:4px 8px;border:2px solid var(--ink);background:#fff;font-size:12px;font-weight:800}.result-rounds b{margin-right:6px;font:900 10px ui-monospace,monospace;color:#6b6658}.result-rounds .p1{box-shadow:inset 4px 0 0 var(--blue)}.result-rounds .p2{box-shadow:inset 4px 0 0 var(--orange)}.result-stats{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px 14px}.result-stats span{font:900 18px ui-monospace,monospace}.result-stats span:nth-child(3n){text-align:right}.result-stats small{font-size:12px;color:#6b6658;text-align:center}.result-stats span:nth-child(3n+1).best{color:var(--blue)}.result-stats span:nth-child(3n).best{color:var(--orange)}.result-card .result-actions{justify-content:flex-start;margin-top:4px}.result-card .result-actions .primary{flex:1}.result-panel.staged{background:none;padding:16px max(16px,5vw)}.staged .result-card{z-index:1;margin:auto 0 auto auto;animation-delay:var(--card,0s)}.intro .result-card{pointer-events:none}.result-panel.skip{--t0:0s!important;--card:-60s!important}.skip .seq{animation-delay:-60s!important}.victory-stage{--fw:min(78vh,760px);--fl:4vw;--fy:1vh;position:fixed;inset:0;overflow:hidden;pointer-events:none;color:#fff}.v-dim{position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at calc(var(--fl) + var(--fw)/2) 70%,#141a30f7,#030509fd 72%);animation:v-fade .35s both}.v-marquee{position:absolute;left:-10%;right:-10%;top:40%;transform:rotate(-6deg);animation:v-fade .8s var(--walk) both}.v-marquee div{width:max-content;white-space:nowrap;font:1000 clamp(90px,15vw,230px)/1 Inter,system-ui,sans-serif;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:2px color-mix(in srgb,var(--fighter) 45%,transparent);animation:v-marquee 22s linear infinite}.v-beam{position:absolute;top:-6vh;bottom:var(--fy);left:calc(var(--fl) + var(--fw)/2);width:var(--fw);translate:-50% 0;transform-origin:50% 0;background:linear-gradient(#fff6d000,#fff2c438 60%,#fff2c47a);filter:blur(5px);clip-path:polygon(43% 0,57% 0,100% 100%,0 100%);mix-blend-mode:screen;animation:v-beam .45s cubic-bezier(.2,.9,.3,1) .15s both}.v-beam:after{content:"";position:absolute;left:8%;right:8%;bottom:-5%;height:14%;border-radius:50%;background:radial-gradient(closest-side,#fff6d0bb,#fff6d000)}.v-fx{position:absolute;inset:0;animation:v-fade .3s var(--t0) both}.v-fighter{position:absolute;left:var(--fl);bottom:var(--fy);width:var(--fw);aspect-ratio:1}.v-sprite{position:absolute;inset:0;background:no-repeat 0 0/200% 200%}.flip .v-sprite{transform:scaleX(-1)}.v-walker{position:absolute;inset:0;opacity:0;animation:v-walk-in .9s linear var(--walk) both,v-gone 1ms var(--t0) forwards}.v-walk{background-size:300% 200%;animation:v-cycle .66s steps(1,end) infinite}.v-pose{position:absolute;inset:0;transform:scale(var(--scale,1));transform-origin:50% 100%;animation:v-pop .5s cubic-bezier(.2,1.6,.4,1) var(--t0) both}.v-breathe{position:absolute;inset:0;transform-origin:50% 100%;animation:v-breathe 2.2s ease-in-out calc(var(--t0) + .5s) infinite}.v-burst{position:absolute;left:50%;top:44%;width:150%;aspect-ratio:1;translate:-50% -50%;opacity:.6;animation:v-burst .5s ease-out var(--t0) both}.v-burst i{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(color-mix(in srgb,var(--fighter) 75%,#fff) 0 5deg,#0000 5deg 15deg);-webkit-mask:radial-gradient(closest-side,#000 25%,#0000);mask:radial-gradient(closest-side,#000 25%,#0000);animation:v-spin 16s linear infinite}.v-title{position:absolute;left:calc(var(--fl) + 1vw);bottom:5vh;animation:v-title .5s cubic-bezier(.2,1.3,.4,1) calc(var(--t0) + .15s) both}.v-title small{display:inline-block;padding:4px 10px;background:var(--orange);border:2px solid #000;box-shadow:3px 3px #000;font:900 13px ui-monospace,monospace;letter-spacing:4px}.v-title b{display:block;margin-top:6px;font-size:clamp(52px,8vw,128px);font-weight:1000;line-height:.95;letter-spacing:-2px;transform:skew(-8deg);text-shadow:5px 5px 0 var(--fighter),10px 10px 0 #000}.v-title span{display:inline-block;margin-top:10px;padding:5px 10px;background:#000c;font-size:clamp(12px,1.2vw,15px);font-weight:800}.v-tag{position:absolute;left:50%;top:5vh;translate:-50% 0;padding:6px 14px;background:#fff;color:#000;border:3px solid #000;box-shadow:5px 5px 0 var(--orange);font:900 14px ui-monospace,monospace;letter-spacing:4px;white-space:nowrap;opacity:0;animation:v-tag calc(var(--exit) - .25s) linear .25s both}.v-panels{position:absolute;inset:0}.v-panel{--r:-5deg;position:absolute;left:34%;top:12%;width:clamp(220px,30vw,440px);aspect-ratio:16/9;margin:0;background:#000;border:4px solid #fff;outline:3px solid #000;box-shadow:12px 12px #000a;opacity:0;transform:rotate(var(--r));animation:v-slam .3s cubic-bezier(.2,1.5,.4,1) var(--d) both,v-exit .35s cubic-bezier(.5,0,.8,.3) var(--exit) forwards}.v-panel:nth-child(2){--r:4deg;left:57%;top:30%}.v-panel:nth-child(2) figcaption{inset:-18px -6px auto auto}.v-panel:nth-child(3){--r:-2deg;left:38%;top:52%;width:clamp(240px,34vw,500px)}.v-panel canvas{display:block;width:100%;height:100%;filter:contrast(1.08) saturate(1.15)}.v-panel:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(#0000 0 3px,#0000001f 3px 4px)}.v-panel figcaption{position:absolute;z-index:1;left:-6px;bottom:-18px;padding:5px 10px;background:#000;border:2px solid #fff;font-size:13px;font-weight:900;white-space:nowrap}.v-panel figcaption b{margin-right:8px;color:#ff5a4d;font:900 11px ui-monospace,monospace;letter-spacing:2px}.v-still{overflow:hidden;background:radial-gradient(circle,#0003 1.5px,#0000 2px) 0 0/10px 10px,var(--fighter)}.v-still .v-sprite{inset:4% 22% -4%}.v-still figcaption b{color:#ffd84e}.v-flash{position:absolute;inset:0;background:#fff;opacity:0;animation:v-flash .28s ease-out var(--s1) forwards,v-flash .28s ease-out var(--s2) forwards,v-flash .28s ease-out var(--s3) forwards,v-flash .45s ease-out var(--t0) forwards}.v-skip{position:absolute;right:16px;bottom:14px;font:700 12px ui-monospace,monospace;letter-spacing:1px;opacity:0;animation:v-show .3s var(--skippable) forwards}.result-panel:not(.intro) .v-skip{display:none}.v-spark{position:absolute;color:#ffe27a;font-size:clamp(18px,2.4vw,34px);font-style:normal;text-shadow:0 0 12px #ffd54a;animation:v-twinkle 1.6s ease-in-out calc(var(--t0) + var(--a)) infinite both}.v-bonk{position:absolute;padding:6px 14px;background:#ffd84e;color:#000;border:3px solid #000;box-shadow:5px 5px #000;font:1000 clamp(22px,3vw,44px)/1 Inter,system-ui,sans-serif;transform:rotate(var(--rot));animation:v-bonk 1.8s cubic-bezier(.2,1.6,.4,1) calc(var(--t0) + var(--a)) infinite both}.v-danmaku{position:absolute;left:100%;white-space:nowrap;font:900 clamp(18px,2.6vw,36px)/1.2 Inter,system-ui,sans-serif;text-shadow:2px 2px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;animation:v-danmaku var(--dur) linear calc(var(--t0) + var(--a)) infinite both}.v-danmaku.hot{color:#ffe14d;font-size:clamp(24px,3.4vw,48px)}.v-box{position:absolute;top:-12%;width:var(--s);aspect-ratio:1.15;background:linear-gradient(90deg,#0000 44%,#ecc77f 44% 56%,#0000 56%),#c8894a;border:3px solid #3a230f;border-radius:4px;box-shadow:inset 0 -6px #0002;animation:v-drop var(--dur) cubic-bezier(.5,0,.8,.6) calc(var(--t0) + var(--a)) infinite both}.v-stamp{position:absolute;left:calc(var(--fl) + var(--fw)*.56);top:16%;padding:8px 18px;border:6px double #ff4a3d;color:#ff4a3d;font:1000 clamp(30px,4.5vw,64px)/1 Inter,system-ui,sans-serif;letter-spacing:6px;white-space:nowrap;transform:rotate(var(--rot));animation:v-stamp .35s cubic-bezier(.3,1.6,.5,1) calc(var(--t0) + .3s) both}.v-light{position:absolute;top:-8%;width:26vw;height:125vh;transform-origin:50% 0;background:linear-gradient(color-mix(in srgb,var(--c) 70%,#0000),#0000 85%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);mix-blend-mode:screen;opacity:.55;animation:v-sweep var(--dur) ease-in-out calc(var(--t0) + var(--a)) infinite alternate both}.v-ball{position:absolute;bottom:3vh;width:clamp(34px,4vw,56px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffb36b,#e8651c 60%,#a83c0c);border:3px solid #3b1606;animation:v-bounce .9s cubic-bezier(.3,0,.7,1) calc(var(--t0) + var(--a)) infinite alternate both}.v-ball:before{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(90deg,#0000 46%,#3b1606 46% 54%,#0000 54%),linear-gradient(#0000 46%,#3b1606 46% 54%,#0000 54%)}.v-note{position:absolute;bottom:10%;font-size:clamp(24px,3vw,44px);text-shadow:3px 3px 0 var(--c);animation:v-rise 2.6s ease-out calc(var(--t0) + var(--a)) infinite both}.v-banner{top:12%;padding:8px 16px;border:3px solid #fff;background:#000;color:#fff;box-shadow:5px 5px #ff5fa2;font-size:clamp(20px,2.8vw,40px);letter-spacing:1px}@keyframes v-fade{0%{opacity:0}}@keyframes v-show{to{opacity:.75}}@keyframes v-gone{to{opacity:0}}@keyframes v-spin{to{transform:rotate(1turn)}}@keyframes v-marquee{to{transform:translate(-50%)}}@keyframes v-beam{0%{opacity:0;transform:scaleY(0)}}@keyframes v-walk-in{0%{opacity:1;transform:translate(calc(-1*(var(--fl) + var(--fw))))}to{opacity:1;transform:none}}@keyframes v-cycle{0%{background-position:0 0}16.66%{background-position:50% 0}33.33%{background-position:100% 0}50%{background-position:0 100%}66.66%{background-position:50% 100%}83.33%{background-position:100% 100%}}@keyframes v-pop{0%{opacity:0;transform:scale(calc(var(--scale,1)*.55))}}@keyframes v-breathe{50%{transform:scale(.99,1.025)}}@keyframes v-burst{0%{opacity:0;transform:scale(.3)}}@keyframes v-title{0%{opacity:0;transform:translate(-50px) skew(-12deg)}}@keyframes v-tag{0%{opacity:0;transform:translateY(-12px)}8%,92%{opacity:1;transform:none}to{opacity:0}}@keyframes v-slam{0%{opacity:0;transform:rotate(var(--r)) scale(1.8)}to{opacity:1;transform:rotate(var(--r))}}@keyframes v-exit{to{opacity:0;transform:rotate(var(--r)) translate(30vw,-6vh) scale(.8)}}@keyframes v-flash{0%{opacity:.7}to{opacity:0}}@keyframes v-twinkle{0%,to{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes v-bonk{0%{opacity:0;transform:rotate(var(--rot)) scale(.2)}12%{opacity:1;transform:rotate(var(--rot)) scale(1.12)}20%,70%{opacity:1;transform:rotate(var(--rot))}85%,to{opacity:0;transform:rotate(var(--rot))}}@keyframes v-danmaku{0%{transform:translate(0)}to{transform:translate(calc(-100vw - 100%))}}@keyframes v-drop{0%{transform:translateY(0) rotate(var(--rot0))}to{transform:translateY(130vh) rotate(var(--rot1))}}@keyframes v-stamp{0%{opacity:0;transform:rotate(var(--rot)) scale(3)}}@keyframes v-sweep{0%{transform:rotate(-24deg)}to{transform:rotate(24deg)}}@keyframes v-bounce{0%{transform:translateY(-26vh)}to{transform:translateY(0) scale(1.08,.9)}}@keyframes v-rise{0%{opacity:0;transform:none}20%{opacity:1}to{opacity:0;transform:translateY(-55vh) rotate(20deg)}}.result-hint{font:700 11px ui-monospace,monospace;letter-spacing:1px;color:#6b6658}@keyframes result-in{0%{opacity:0;transform:translateY(24px) scale(.96)}}.move-caption{position:absolute;z-index:6;bottom:175px;left:0;width:100%;text-align:center;color:#ffe46b;font-size:clamp(20px,3vw,36px);font-weight:1000;text-shadow:2px 3px 0 #000;pointer-events:none}.battle-tools{position:absolute;z-index:5;bottom:88px;left:4vw;right:4vw;display:flex;align-items:center;gap:10px;color:#fff;font-size:12px;text-shadow:1px 1px 2px #000}.battle-button{background:#171713dd;border:1px solid #fff9;color:#fff;padding:8px 12px;font-size:13px;font-weight:800}.battle-button:hover{background:var(--orange)}#train-tools{margin-left:auto;display:flex;align-items:center;gap:12px}#train-tools label{white-space:nowrap}input[type=checkbox]{accent-color:var(--orange)}select{background:#fff;border:2px solid var(--ink);color:var(--ink);padding:8px}.battle-tools select{font-size:11px;border-color:#aaa}.controls{position:absolute;z-index:4;bottom:0;width:100%;min-height:65px;padding:10px 4vw;background:#14151de8;border-top:2px solid #ffffff70;color:#fff;display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap;font-size:12px}.controls b{color:#ffd44e;margin-right:5px}.pause-panel{position:fixed;z-index:15;inset:0;background:#080b11bb;display:grid;place-items:center}.pause-panel>div{background:var(--paper);border:3px solid var(--ink);padding:28px;min-width:300px;box-shadow:8px 8px 0 var(--orange)}.pause-panel h2{margin:10px 0}.pause-panel p{font-size:13px}.pause-panel button{display:block;width:100%;margin-top:10px}.toast{position:fixed;z-index:30;bottom:25px;left:50%;transform:translate(-50%);max-width:90vw;padding:13px 18px;background:var(--blue);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:#fff;font-size:12px;font-weight:800}body[data-screen=fight] .toast{bottom:110px}dialog{width:min(640px,90vw);border:3px solid var(--ink);background:var(--paper);color:var(--ink);padding:30px;box-shadow:8px 8px 0 var(--orange)}dialog::backdrop{background:#0009}dialog h2{margin:12px 0 22px}dialog .close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px}.help-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.help-columns>div{padding:15px;background:#e4dece;border:1px solid #aaa}.help-columns h3{font:900 11px ui-monospace,monospace;letter-spacing:1px}.help-columns p{font-size:12px;line-height:2.2}.help-columns b{display:inline-block;min-width:80px}.help-note{font-size:11px;line-height:1.8;color:#5f5a50}#fatal{position:fixed;inset:25%;z-index:100;background:#fff;padding:30px;border:3px solid var(--ink)}@media(max-height:850px){.home-copy .kicker{margin-bottom:15px}h1{font-size:clamp(62px,7.5vw,100px);margin:15px 0 10px}.subtitle{margin-bottom:15px}.menu button{min-height:58px;font-size:19px}.menu-foot{margin-top:12px}.versus{height:34vh;min-height:205px}.select-screen{padding-top:2vh}.roster-card{min-height:78px}.select-tip{margin:5px 0}.select-bottom{margin-top:8px}}@media(max-width:800px){body{overflow:auto}.topbar{height:62px;padding:0 5vw}.edition{display:none}.home{height:auto;min-height:calc(100vh - 62px);grid-template-columns:1fr;padding:25px 5vw 70px}.home-copy{padding:0;z-index:2}.home-copy .kicker{gap:12px}h1{font-size:clamp(62px,15vw,100px)}.menu{width:min(370px,100%)}.home-art{position:absolute;top:8%;right:0;width:56%;height:50%;opacity:.25;pointer-events:none}.home-bottom{left:5vw;right:5vw}.home-bottom span:last-child{display:none}.select-screen,.online-screen{height:auto;min-height:calc(100vh - 62px);padding:25px 5vw 50px;overflow:visible}.versus{grid-template-columns:1fr 52px 1fr;height:245px;gap:4px}.versus-center strong{font-size:40px}.versus-center span,.versus-center i{font-size:6px}.selection{padding:8px}.selection img{width:90%;left:10%;opacity:.9}.selection.p2 img{left:0}.select-name b{font-size:25px}.select-player{font-size:8px}.roster{grid-template-columns:repeat(4,1fr);gap:4px}.roster-card{min-height:92px;padding:5px}.roster-card img{width:80%;top:-18%}.roster-name{font-size:12px;left:5px}.roster-name small{font-size:7px}.roster-no{left:5px}.roster-mark{right:3px}.select-bottom{align-items:stretch;flex-wrap:wrap}.select-bottom #selection-actions{width:100%;margin-left:0}.select-bottom #selection-actions button{flex:1}.select-tip{line-height:1.5}.online-panel{padding:18px}.online-fields{flex-direction:column}.online-choice{width:25%}#hud{top:75px;gap:5px}.timer{min-width:52px;padding:4px 6px}.timer b{font-size:36px}.hp-label b{font-size:12px;padding:2px 7px}.hud-player{gap:8px}.hud-portrait{width:40px;height:40px}.health{height:14px}.battle-tools{bottom:120px;flex-wrap:wrap}#train-tools{width:100%;margin:0;flex-wrap:wrap;gap:6px}.controls{min-height:100px;font-size:9px;gap:4px}.controls span{width:100%}.help-columns{grid-template-columns:1fr}.announcement{font-size:32px}.move-caption{bottom:190px}.topbar .brand{font-size:13px}}.move-panel{margin-top:9px;border:2px solid var(--ink);background:#faf7ee}.move-panel summary{cursor:pointer;padding:9px 12px;font-size:11px;line-height:1.4;font-weight:900}.move-panel summary:hover{color:var(--orange)}.move-content{border-top:1px solid #c8c1af;padding:12px}.move-title{font-size:14px;font-weight:1000;margin-bottom:9px}.move-title small{display:block;font-size:11px;font-weight:500;color:#5f594e;margin-top:4px;line-height:1.5}.move-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.move-grid>div{background:#eee8d9;padding:9px;min-width:0}.move-grid b{display:block;font-size:12px;color:#cf482e}.move-grid span{display:block;font-size:11px;line-height:1.5;margin-top:5px}.help-moves{border-top:2px solid var(--ink);padding-top:14px;margin-top:15px}.help-moves .move-title:not(:first-child){margin-top:15px}.graphics-settings{display:flex;align-items:center;gap:24px;border-top:1px solid #aaa;padding-top:14px;margin-top:16px;font-size:12px;font-weight:800}.graphics-settings select{margin-left:7px}dialog{max-height:min(90vh,1000px);overflow:auto}@media(max-width:800px){.move-grid{grid-template-columns:1fr}.graphics-settings{flex-wrap:wrap}.move-panel summary{font-size:10px}}.audio-settings{display:grid;grid-template-columns:auto 1fr 40px;gap:10px;align-items:center;margin-top:17px;border-top:1px solid #aaa;padding-top:14px;font-size:12px;font-weight:800}.audio-settings input{width:100%;min-width:0;accent-color:var(--orange)}.audio-settings p{grid-column:1/-1;margin:0;font-size:11px;font-weight:500;color:#5f594e}.audio-settings button{grid-column:1/-1;justify-self:start;padding:7px 12px;min-height:34px}.skill-state{opacity:.85;font-size:12px!important}.combo-readout{margin-top:8px;color:#ffdb60;font:900 italic 17px Impact,system-ui,sans-serif;letter-spacing:1px}.combo-readout>b{font-size:38px}.combo-readout small{display:inline-block!important;font:700 12px ui-monospace,monospace;margin-left:9px}.right .combo-readout{text-align:right}.controls>span{line-height:1.8}.controls strong{color:#ffdb60;font-weight:700}.combo-tip{color:#d3dae8}.move-grid{grid-template-columns:repeat(2,1fr)}.move-combos{font-size:11px;line-height:1.8;color:#5f594e;margin-bottom:0}.training-coach{position:absolute;top:187px;left:50%;transform:translate(-50%);z-index:5;width:min(530px,55vw);padding:9px 13px;color:#fff;border:1px solid #ffffff45;background:#101727dd;box-shadow:0 4px 16px #0003;border-radius:5px}.coach-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px}.coach-heading label{display:flex;align-items:center;gap:8px;white-space:nowrap}.coach-heading select{background:#1c293f;color:#fff;border:1px solid #7d8ba4;padding:5px 8px;font-size:11px;max-width:220px}.coach-heading button{font-size:10px;padding:5px 8px}.training-coach p{font-size:11px;line-height:1.6;margin:7px 0}.coach-steps{display:flex;align-items:center;gap:7px}.coach-steps>span{font:800 11px ui-monospace,monospace;padding:4px 8px;border:1px solid #8793a7;border-radius:3px;white-space:nowrap}.coach-steps>span.done{background:#ffdf68;color:#24251d;border-color:#ffdf68}.coach-steps>b{font-size:10px;color:#91a0b9}.coach-steps>small{font:700 9px ui-monospace,monospace;color:#b4c7df;margin-left:auto}.input-history{font:600 10px ui-monospace,monospace;color:#98b2d2;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:800px){.training-coach{top:174px;width:80vw}.coach-steps{gap:4px}.coach-steps>small{font-size:8px}.move-grid{grid-template-columns:1fr}.combo-tip{display:none}}@media(max-height:650px){.training-coach{top:186px;padding:6px 10px}.training-coach p{margin:4px 0}.input-history{margin-top:4px}}.voice-preview{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:7px;font-size:10px;color:#696251}.voice-preview button{background:#f9f5e9;border:1px solid #a89f88;border-radius:3px;padding:5px 9px;font-size:10px;font-weight:800}.voice-preview button:hover{background:#ffd86b;color:#171713}.voice-captions{position:absolute;z-index:5;bottom:143px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:end;gap:20px;pointer-events:none}.voice-captions span{max-width:45%;padding:6px 12px;border:1px solid #8bdeff88;border-radius:5px;background:#142638e8;color:#dcf6ff;font-size:12px;font-weight:800;line-height:1.4;text-shadow:1px 1px #000}.voice-captions span:last-child{margin-left:auto;border-color:#ffc17e88;background:#392619e8;color:#ffe4be}@media(max-width:800px){.voice-captions{bottom:196px}.voice-captions span{font-size:10px;padding:5px 8px}}@media(pointer:coarse){.result-hint{display:none}}@media(prefers-reduced-motion:reduce){.result-card{animation:none}}@media(max-height:650px){.result-body{gap:8px;padding:18px 22px}}@media(max-width:800px)and (min-height:451px){.result-card{width:100%;max-width:440px}.result-body{gap:10px;padding:18px 16px 16px}.result-score{gap:8px}.result-score strong{font-size:30px}.result-score em{margin:0 3px}.result-side{gap:6px}.result-side .hud-portrait{width:36px;height:36px}.result-side b{font-size:13px}}@media(max-height:450px){.result-body{gap:6px;padding:12px 18px}.result-body h2{font-size:28px}.result-quote{font-size:12px}.result-score{padding:6px 0}.result-score strong{font-size:28px}.result-side .hud-portrait{width:34px;height:34px}.result-rounds li{padding:2px 6px;font-size:11px}.result-stats{gap:2px 14px}.result-stats span{font-size:15px}.result-card .result-actions{margin-top:2px}.result-card .result-actions button{min-height:38px;padding:8px 14px}.result-hint{display:none}}@media(prefers-reduced-motion:reduce){.victory-stage *{animation:none!important}}@media(max-width:800px)and (min-height:451px){.victory-stage{--fw:min(88vw,42vh);--fl:calc(50vw - var(--fw)/2);--fy:calc(100vh - 52px - var(--fw))}.result-panel.staged{padding:16px}.staged .result-card{margin:auto auto 0}.v-dim{background:radial-gradient(ellipse 80% 45% at 50% 30%,#141a30f7,#030509fd 72%)}.v-marquee{top:18%}.v-title{left:16px;bottom:auto;top:calc(52px + var(--fw) - 76px)}.v-title b{font-size:44px}.v-title span{display:none}.v-panel,.v-panel:nth-child(3){left:10%;width:80vw;top:11%}.v-panel:nth-child(2){left:10%;top:36%}.v-panel:nth-child(3){top:61%}.v-panel:nth-child(1) figcaption{bottom:auto;top:-18px}.v-light{width:44vw}.v-stamp{top:10%;left:auto;right:6vw}}@media(max-height:450px){.victory-stage{--fw:min(86vh,36vw);--fl:3vw;--fy:0px}.v-title{bottom:3vh}.v-title b{font-size:40px}.v-title span{display:none}.v-panel{left:8%;top:14%;width:32vw}.v-panel:nth-child(2){left:54%;top:24%}.v-panel:nth-child(3){left:30%;top:50%;width:36vw}.v-panel:nth-child(1) figcaption{bottom:auto;top:-18px}.v-tag{top:3vh}}
