:root{--night:#13101a;--night-2:#1b1723;--iron:#221e2b;--iron-2:#2d2838;--iron-3:#3a3447;--iron-line:#463f55;--steel:#9aa0b3;--bone:#f2e9d8;--ash:#b9ae9f;--dim:#7e7589;--gold:#e2b458;--gold-hi:#ffe7a6;--gold-lo:#8f6223;--gold-ink:#2a1a08;--parch:#ece0c3;--ink:#2e2318;--ink-2:#6b5538;--ink-red:#96281d;--p1:#d24a3f;--p1-hi:#f07a6c;--p2:#3f78d4;--p2-hi:#7aa6f0;--good:#7fcf5c;--display:"Grenze", Georgia, serif;--ui:"Alegreya Sans", system-ui, sans-serif;--kana:"Shippori Mincho B1", serif;--ease:cubic-bezier(.2, .8, .2, 1);--shadow-deep:0 28px 60px -28px #000000e6;--stones:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='192' height='112' viewBox='0 0 192 112'><g fill='none' stroke='rgba(0,0,0,0.3)' stroke-width='2'><path d='M0 1H192M0 57H192M1 1V57M97 1V57M49 57V113M145 57V113'/></g><g fill='none' stroke='rgba(255,255,255,0.035)' stroke-width='1'><path d='M0 3.5H192M0 59.5H192'/></g></svg>");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}a,button,input,label,.tile{touch-action:manipulation}html{-webkit-text-size-adjust:100%;font-size:16px}html,body{background:var(--night);min-height:100%;color:var(--bone);font-family:var(--ui);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;margin:0;font-weight:400;line-height:1.45}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}img,canvas{image-rendering:pixelated}::selection{background:var(--gold);color:var(--gold-ink)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.muted{color:var(--ash)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gilt{font-family:var(--display);color:var(--gold);text-shadow:0 2px #3a2410,0 10px 24px #00000080;font-weight:800}.panel{box-shadow:inset 0 1px 0 #ffffff0d, 0 0 0 1px #0000008c, var(--shadow-deep);background:linear-gradient(#ffffff0a,#0000 38%),linear-gradient(#24202ef7,#191620f7);border:1px solid #3b3547;border-radius:4px;padding:22px 24px;position:relative}.panel:before,.panel:after{content:"";pointer-events:none;border-radius:2px;position:absolute;inset:5px}.panel:before{border:1px solid #e2b45829}.panel:after{--c:#e2b458d9;--l:16px;--t:2px;background:linear-gradient(var(--c) 0 0) top left / var(--l) var(--t), linear-gradient(var(--c) 0 0) top left / var(--t) var(--l), linear-gradient(var(--c) 0 0) top right / var(--l) var(--t), linear-gradient(var(--c) 0 0) top right / var(--t) var(--l), linear-gradient(var(--c) 0 0) bottom left / var(--l) var(--t), linear-gradient(var(--c) 0 0) bottom left / var(--t) var(--l), linear-gradient(var(--c) 0 0) bottom right / var(--l) var(--t), linear-gradient(var(--c) 0 0) bottom right / var(--t) var(--l);background-repeat:no-repeat}.panel>*{z-index:1;position:relative}.parchment{color:var(--ink);background:radial-gradient(120% 70% at 30% 0%, #fff6, transparent 60%), radial-gradient(140% 120% at 50% 50%, transparent 55%, #96692d47), var(--parch);box-shadow:inset 0 0 0 1px #6e502873, inset 0 0 0 5px var(--parch), inset 0 0 0 6px #6e502847, 0 0 0 1px #00000080, var(--shadow-deep);border-radius:3px;padding:18px 20px;position:relative}.parchment .muted{color:var(--ink-2)}.btn{--b-top:#f7d78d;--b-mid:#e2b458;--b-bot:#b8842e;--b-edge:#6a4614;--b-ink:var(--gold-ink);border:1px solid var(--b-edge);background:linear-gradient(180deg, var(--b-top), var(--b-mid) 52%, var(--b-bot));min-height:46px;color:var(--b-ink);font:800 1rem/1 var(--ui);letter-spacing:.01em;white-space:nowrap;transition:transform .12s var(--ease), filter .12s, border-color .12s;border-radius:3px;justify-content:center;align-items:center;gap:10px;padding:0 22px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #00000029,0 2px #00000080,0 12px 22px -14px #000000e6}.btn:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffffff6b 50%,#0000 65%);position:absolute;inset:0;transform:translate(-130%)}.btn:hover:not(:disabled):after{transition:transform .55s var(--ease);transform:translate(130%)}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 6px #00000047,0 1px #00000080}.btn:disabled{filter:grayscale(.7)brightness(.7);cursor:not-allowed}.btn.ghost{--b-top:#3b3548;--b-mid:#2d2839;--b-bot:#231f2c;--b-edge:#514a63;--b-ink:var(--bone);box-shadow:inset 0 1px #ffffff12,0 2px #00000080,0 12px 22px -14px #000000e6}.btn.ghost:after{background:linear-gradient(110deg,#0000 35%,#ffe7a624 50%,#0000 65%)}.btn.ghost:hover:not(:disabled){border-color:#e2b458b3}.btn.p1{--b-top:#ee7f71;--b-mid:var(--p1);--b-bot:#9c2e27;--b-edge:#561611;--b-ink:#fff}.btn.p2{--b-top:#80aaf0;--b-mid:var(--p2);--b-bot:#2a529d;--b-edge:#132a56;--b-ink:#fff}.btn.p1,.btn.p2{text-shadow:0 1px #00000059}.btn.small{min-height:36px;padding:0 14px;font-size:.9375rem}.back{border:1px solid var(--iron-line);height:40px;color:var(--bone);font:700 .9375rem var(--ui);background:linear-gradient(#332e40,#252130);border-radius:3px;align-items:center;gap:10px;padding:0 16px 0 12px;text-decoration:none;transition:border-color .12s;display:inline-flex;box-shadow:0 2px #00000080}.back:before{content:"";border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);width:8px;height:8px;transform:translate(2px)rotate(45deg)}.back:hover{border-color:#e2b458b3}.back:active{transform:translateY(1px)}.field{width:100%;height:46px;color:var(--bone);font:500 1rem var(--ui);background:#110e17;border:1px solid #4a4357;border-radius:3px;padding:0 14px;transition:border-color .12s,box-shadow .12s;box-shadow:inset 0 2px 8px #0000008c}.field:focus{border-color:var(--gold);outline:none;box-shadow:inset 0 2px 8px #0000008c,0 0 0 3px #e2b45840}.field::placeholder{color:var(--dim)}.field.code{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;font-size:1.25rem;font-weight:700}.parchment .field{color:var(--ink);background:#f8f1df;border-color:#b39a6c;box-shadow:inset 0 2px 4px #5a3c1429}.parchment .field::placeholder{color:#a08b69}.parchment .field:focus{border-color:var(--ink-red);box-shadow:inset 0 2px 4px #5a3c1429,0 0 0 3px #96281d2e}.kbd{color:#2b2433;min-width:26px;height:26px;font:800 .8125rem/1 var(--ui);vertical-align:middle;background:linear-gradient(#fffaf0,#e3d8c1);border-radius:4px;place-items:center;padding:0 7px;display:inline-grid;box-shadow:inset 0 -2px #c1b397,0 0 0 1px #8b7d64,0 2px #00000059}.kbd.dark{color:var(--bone);background:linear-gradient(#3c3649,#2a2535);box-shadow:inset 0 -2px #1a1722,0 0 0 1px #575068,0 2px #00000059}.notice{border-left:3px solid var(--gold);color:var(--bone);background:#e2b4581a;border-radius:3px;padding:12px 16px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--iron-line);min-height:36px;color:var(--ash);font:700 .9375rem var(--ui);background:#1a1722;border-radius:999px;padding:0 14px;transition:border-color .12s,color .12s,background .12s}.chip:hover{color:var(--bone);border-color:#e2b45899}.chip[aria-pressed=true]{border-color:var(--gold);background:linear-gradient(180deg, #f2cf80, var(--gold));color:var(--gold-ink)}input[type=range]{accent-color:var(--gold)}.screen{min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) max(clamp(16px, 3vw, 40px), env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(clamp(16px, 3vw, 40px), env(safe-area-inset-left));background:radial-gradient(70% 45% at 50% -8%, #ff8c3c29, transparent 70%), radial-gradient(60% 40% at 50% 108%, #5a46a029, transparent 70%), radial-gradient(130% 100% at 50% 40%, transparent 50%, #040308d9), var(--stones) 0 0 / 192px 112px, var(--night);position:relative}.topbar{grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin-bottom:12px;display:grid;position:relative}.topbar-title{flex-direction:column;min-width:0;display:flex}.topbar-title h1{font:800 clamp(2rem, 3.2vw, 2.75rem) / 1 var(--display);color:var(--gold);text-shadow:0 2px #3a2410,0 10px 24px #00000080;margin:0}.topbar-title small{color:var(--ash);font:500 .9375rem var(--ui);order:2;margin-top:2px}.brand{color:var(--bone);font:800 1.5rem/1 var(--display);align-items:center;gap:10px;text-decoration:none;display:flex}.brand:before{content:"";background:url(/ui/crest.svg) 50%/contain no-repeat;width:34px;height:34px}.steps{justify-content:center;align-items:center;margin:0 0 18px;padding:0;list-style:none;display:flex}.steps li{color:var(--dim);font:700 .9375rem var(--ui);align-items:center;gap:8px;display:flex}.steps li+li:before{content:"";background:linear-gradient(90deg,#0000,#e2b45880,#0000);width:clamp(18px,4vw,56px);height:1px;margin:0 14px}.steps .num{border:1px solid var(--iron-line);width:26px;height:26px;color:var(--ash);font:800 .8125rem/1 var(--ui);background:#1a1722;border-radius:50%;place-items:center;display:grid}.steps li[data-on=true]{color:var(--bone)}.steps li[data-on=true] .num{border-color:var(--gold);background:var(--gold);color:var(--gold-ink);box-shadow:0 0 0 4px #e2b45829}.steps li[data-done=true]{color:var(--ash)}.steps li[data-done=true] .num{color:var(--gold);border-color:#e2b4588c}.title{background:var(--night);height:100dvh;min-height:620px;position:relative;overflow:hidden}.title-scene{position:absolute;inset:0}.title-scene canvas{width:100%;height:100%;position:absolute;inset:0}.title-shade{pointer-events:none;background:linear-gradient(#0c09118c 0%,#0000 30%),radial-gradient(130% 110% at 60% 40%,#0000 55%,#04030899);position:absolute;inset:0}.title-shade:before{content:"";background:linear-gradient(90deg,#0c0911f0 0%,#0c0911cc 30%,#0c091133 58%,#0000 72%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 58%,#0000 80%);mask-image:linear-gradient(#000 0% 58%,#0000 80%)}.title-inner{z-index:2;flex-direction:column;align-items:flex-start;gap:clamp(14px,3vh,28px);height:100%;padding:clamp(24px,6vh,64px) clamp(20px,5vw,72px) 0;display:flex;position:relative}.title-head{animation:rise .7s var(--ease) both;justify-items:start;display:grid}.logo{font:900 clamp(4rem, min(8.4vw, 13vh), 7.5rem) / .9 var(--display);letter-spacing:.005em;color:#0000;background:linear-gradient(180deg, #fff3cc 0%, #f1cd78 38%, var(--gold) 55%, #a8742a 100%);filter:drop-shadow(0 2px #4a2e0e)drop-shadow(0 12px 22px #000000a6);-webkit-background-clip:text;background-clip:text;align-items:center;gap:.18em;margin:0;display:flex}.logo:before{content:"";background:url(/ui/crest.svg) 50%/contain no-repeat;flex:none;width:.92em;height:.92em}.logo-kana{font-family:var(--kana);letter-spacing:.6em;color:#f2e9d88c;margin:8px 0 0 .25em;font-size:1rem;font-weight:800}.tagline{max-width:44ch;color:var(--bone);text-shadow:0 2px 12px #000c;margin:12px 0 0;font-size:1.125rem;line-height:1.5}.title-panels{animation:rise .7s .12s var(--ease) both;grid-template-columns:minmax(270px,320px) minmax(300px,380px);align-items:start;gap:18px;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.title-menu{padding:10px 8px}.title-menu ul{margin:0;padding:0;list-style:none;display:grid}.menu-item{color:var(--bone);outline-offset:-2px;border-radius:2px;grid-template-columns:1fr auto;align-items:center;padding:6px 16px 8px 18px;text-decoration:none;transition:background .15s;display:grid;position:relative}.menu-item+.menu-item,li+li .menu-item{border-top:1px solid #e2b4581a}.menu-item:before{content:"";background:var(--gold);width:3px;transition:transform .18s var(--ease);border-radius:2px;position:absolute;top:10px;bottom:10px;left:4px;transform:scaleY(0)}.menu-item:after{content:"";border-top:2px solid var(--dim);border-right:2px solid var(--dim);width:8px;height:8px;transition:transform .18s var(--ease), border-color .15s;grid-area:1/2/3;transform:rotate(45deg)}.menu-item:hover,.menu-item:focus-visible{background:linear-gradient(90deg,#e2b45824,#e2b45805)}.menu-item:hover:before,.menu-item:focus-visible:before{transform:scaleY(1)}.menu-item:hover:after,.menu-item:focus-visible:after{border-color:var(--gold);transform:translate(3px)rotate(45deg)}.menu-item:focus-visible{outline:none}.menu-item .name{font:700 1.375rem/1.1 var(--display);transition:color .15s}.menu-item:hover .name,.menu-item:focus-visible .name{color:var(--gold-hi)}.menu-item .hint{color:var(--ash);grid-column:1;font-size:.875rem;line-height:1.2}.challenge{gap:10px;padding:20px 22px 22px;display:grid}.challenge h2{font:800 1.875rem/1 var(--display);color:var(--ink);margin:0}.challenge label{color:var(--ink-2);font-size:.875rem;font-weight:700}.challenge .row{gap:8px;display:flex}.challenge .row .field{flex:1;min-width:0}.title-error{color:var(--ink-red);margin:0;font-size:.9375rem;font-weight:700}.title-foot{z-index:3;text-align:right;color:#f2e9d8b3;text-shadow:0 1px 8px #000000e6;max-width:34ch;margin:0;font-size:.8125rem;position:absolute;top:14px;right:18px}.title-foot a,.screen .muted a{color:inherit;text-underline-offset:3px;text-decoration:underline}.lineup{z-index:3;pointer-events:none;position:absolute;inset:0}.lineup a{pointer-events:auto;border-radius:4px;text-decoration:none;position:absolute;transform:translate(-50%)}.lineup .tag{background:var(--parch);color:var(--ink);font:800 1rem/1.1 var(--display);white-space:nowrap;opacity:0;transition:opacity .15s, transform .2s var(--ease);border-radius:3px;padding:3px 10px 4px;position:absolute;top:-30px;left:50%;transform:translate(-50%,6px);box-shadow:inset 0 0 0 1px #6e502880,0 6px 16px #00000080}.lineup a:hover .tag,.lineup a:focus-visible .tag{opacity:1;transform:translate(-50%)}.lineup a:focus-visible{outline-offset:-2px}.select{grid-template-columns:minmax(0,1fr) minmax(420px,600px) minmax(0,1fr);align-items:stretch;gap:22px;max-width:1500px;margin:0 auto;display:grid;position:relative}.side{--banner:var(--p1);--banner-hi:var(--p1-hi);flex-direction:column;gap:12px;height:clamp(440px,100dvh - 170px,760px);min-height:0;display:flex;position:relative}.side.p2{--banner:var(--p2);--banner-hi:var(--p2-hi);text-align:right}.side-label{background:linear-gradient(180deg, var(--banner-hi), var(--banner));color:#fff;font:800 .875rem/1 var(--ui);letter-spacing:.02em;text-shadow:0 1px #00000059;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 50%,100% 100%,0 100%);align-self:flex-start;padding:5px 20px 6px 12px}.side.p2 .side-label{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,9px 50%);align-self:flex-end;padding:5px 12px 6px 20px}.niche{background:radial-gradient(70% 50% at 50% 100%, color-mix(in srgb, var(--hero,#ff9a4a) 38%, transparent), transparent 75%), radial-gradient(90% 60% at 50% 0%, #ffffff0a, transparent 70%), linear-gradient(180deg, #1d1926, #15121c);min-height:240px;box-shadow:inset 0 0 0 5px #0d0b12e6, inset 0 0 0 6px #e2b45838, inset 0 -40px 80px -40px #000000e6, 0 0 0 1px #0000008c, var(--shadow-deep);border:1px solid #3b3547;border-radius:50% 50% 6px 6px/120px 120px 6px 6px;flex:1;position:relative;overflow:hidden}.side.p1 .niche{border-color:color-mix(in srgb, var(--p1) 45%, #3b3547)}.side.p2 .niche{border-color:color-mix(in srgb, var(--p2) 45%, #3b3547)}.niche:after{content:"";width:min(72%,240px);height:26px;box-shadow:0 0 0 1px #0009, 0 0 30px color-mix(in srgb, var(--hero,#ff9a4a) 40%, transparent);background:radial-gradient(50% 50% at 50% 40%,#4a4357,#2a2533 70%,#15121c);border-radius:50%;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.niche canvas{z-index:1;width:100%;height:100%;position:absolute;inset:0}.niche .empty{z-index:1;font:800 7rem/1 var(--display);color:#f2e9d814;place-items:center;display:grid;position:absolute;inset:0}.kana-mark{z-index:0;writing-mode:vertical-rl;font-family:var(--kana);letter-spacing:.08em;color:color-mix(in srgb, var(--hero,#fff) 26%, transparent);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(2rem,3.6vw,3.25rem);font-weight:800;line-height:1;position:absolute;top:40px}.side.p1 .kana-mark{left:22px}.side.p2 .kana-mark{right:22px}.side .preview-note{z-index:2;color:var(--ash);font-size:.8125rem;position:absolute;top:10px;left:50%;transform:translate(-50%)}.side-name{font:900 clamp(2.6rem, 3.6vw, 3.6rem) / .95 var(--display);color:var(--gold);text-shadow:0 2px #3a2410,0 10px 24px #00000080;margin:0}.side-title{color:var(--hero,var(--gold));font:700 1.125rem/1.2 var(--display);margin:4px 0 0}.side-meta{color:var(--ash);margin:2px 0 0;font-size:.9375rem}.stats{gap:5px;margin:10px 0 0;display:grid}.stat{color:var(--ash);grid-template-columns:72px 1fr;align-items:center;gap:10px;font-size:.875rem;display:grid}.side.p2 .stat{grid-template-columns:1fr 72px}.side.p2 .stat dt{order:2}.stat dd{gap:3px;margin:0;display:flex}.side.p2 .stat dd{justify-content:flex-end}.stat i{background:#2a2533;border-radius:2px;width:22px;height:7px;box-shadow:inset 0 1px 2px #0009}.stat i.on{background:linear-gradient(180deg, var(--banner-hi), var(--banner));box-shadow:0 0 8px color-mix(in srgb, var(--banner) 45%, transparent)}.seal{z-index:3;background:radial-gradient(circle at 35% 30%, #ffffff59, transparent 35%), radial-gradient(circle at 50% 50%, var(--banner) 0 52%, color-mix(in srgb, var(--banner) 65%, #000) 53% 60%, var(--banner) 61%);width:64px;height:64px;box-shadow:0 0 0 3px color-mix(in srgb, var(--banner) 80%, #000), 0 6px 14px #0009;color:#ffffffeb;font:900 1.5rem/1 var(--display);text-shadow:0 -1px #00000073;animation:stamp .46s var(--ease) both;border-radius:46% 54% 50% 50%/52% 48% 54% 46%;place-items:center;display:grid;position:absolute;top:34px;transform:rotate(-10deg)}.side.p1 .seal{right:16px}.side.p2 .seal{left:16px}@keyframes stamp{0%{opacity:0;transform:scale(1.9)rotate(-24deg)}55%{opacity:1;transform:scale(.92)rotate(-8deg)}to{transform:scale(1)rotate(-10deg)}}.ready-flag{color:var(--good);font:800 .875rem/1.2 var(--ui);background:#7fcf5c29;border-radius:999px;margin-top:10px;padding:4px 12px;display:inline-block;box-shadow:inset 0 0 0 1px #7fcf5c80}.picker{flex-direction:column;gap:12px;min-width:0;display:flex}.picker-head{justify-content:space-between;align-items:baseline;gap:12px;min-height:34px;display:flex}.picker-head .who{font:800 2rem/1 var(--display);text-shadow:0 2px 12px #0009}.picker-head .muted{font-size:.875rem}.tiles{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.tile{aspect-ratio:1;background:radial-gradient(circle at 50% 75%, color-mix(in srgb, var(--hero) 42%, #15121c), #15121c 78%);transition:transform .15s var(--ease), border-color .15s, box-shadow .15s;border:1px solid #3b3547;border-radius:4px;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0d0b12d9,0 2px #00000080}.tile img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tile .tile-name{z-index:1;color:var(--bone);font:700 .875rem/1 var(--display);text-align:center;background:linear-gradient(#0000,#0a080eeb);padding:14px 4px 4px;position:absolute;inset:auto 0 0}.tile:hover:not(:disabled),.tile:focus-visible{z-index:2;border-color:var(--gold);box-shadow:inset 0 0 0 2px #0d0b12d9, 0 0 0 1px var(--gold), 0 10px 20px -8px #000c, 0 0 18px #e2b4584d;outline:none;transform:translateY(-2px)}.tile[data-p1=true]{border-color:var(--p1);box-shadow:inset 0 0 0 2px #0d0b12d9, 0 0 0 1px var(--p1)}.tile[data-p2=true]{border-color:var(--p2);box-shadow:inset 0 0 0 2px #0d0b12d9, 0 0 0 1px var(--p2)}.tile[data-p1=true][data-p2=true]{border-color:var(--p1) var(--p2) var(--p2) var(--p1)}.tile .tag{z-index:2;color:#fff;font:800 .75rem/1 var(--ui);padding:3px 7px 4px;position:absolute;top:0}.tile .tag.p1{background:var(--p1);border-radius:0 0 4px;left:0}.tile .tag.p2{background:var(--p2);border-radius:0 0 0 4px;right:0}.tile:disabled{cursor:default}.tile.random{font:800 2.5rem/1 var(--display);color:var(--dim);place-items:center;display:grid}.hero-detail{padding:16px 20px 18px}.hero-detail h3{font:800 2.125rem/1 var(--display);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;display:flex}.hero-detail h3 span{font:700 1.125rem/1 var(--display)}.hero-detail .role{color:var(--ink-2);border-bottom:1px solid #6e502840;flex-wrap:wrap;gap:4px 16px;margin:6px 0 12px;padding-bottom:10px;font-size:.875rem;font-weight:700;display:flex}.dots{letter-spacing:2px;color:var(--ink-red)}.skill-list{grid-template-columns:1fr 1fr;gap:12px 18px;margin:0;padding:0;list-style:none;display:grid}.skill-list li{grid-template-columns:auto 1fr;align-items:start;gap:10px;display:grid}.skill-list .combo .kbd.dark,.skill-list .combo .muted{display:none}.skill-list li>div>span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skill-list .combo{gap:3px;padding-top:1px;display:flex}.skill-list b{font:700 1.0625rem/1.15 var(--display);display:block}.skill-list span{color:var(--ink-2);font-size:.875rem;line-height:1.3}.skill-list li.ult b{color:var(--ink-red)}.skill-list .skill-ico{object-fit:cover;width:42px;height:42px;box-shadow:0 0 0 1px #6e50288c, 0 0 0 3px var(--parch), 0 0 0 4px #6e50284d;border-radius:50%}.skill-list .skill-ico.ult{box-shadow:0 0 0 2px var(--ink-red), 0 0 0 4px var(--parch), 0 0 0 5px #96281d59}.picker-actions{flex-wrap:wrap;gap:10px;display:flex}.picker-actions .btn:first-child{flex:1}.arena-step{gap:16px;display:grid}.stage-pick{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stage-card{aspect-ratio:16/10;text-align:left;transition:border-color .15s, box-shadow .15s, transform .15s var(--ease);background:#15121c;border:1px solid #3b3547;border-radius:4px;flex-direction:column;justify-content:flex-end;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #0d0b12d9,0 2px #00000080}.stage-card img{object-fit:cover;image-rendering:auto;width:100%;height:100%;transition:filter .2s;position:absolute;inset:0}.stage-card .stage-label{background:linear-gradient(#0000,#0a0810f0);padding:26px 14px 10px;display:grid;position:relative}.stage-card:not([aria-pressed=true]) img{filter:saturate(.55)brightness(.62)}.stage-card:hover:not([aria-pressed=true]) img{filter:saturate(.8)brightness(.85)}.stage-card[aria-pressed=true]{border-color:var(--gold);box-shadow:inset 0 0 0 2px #0d0b12d9, 0 0 0 1px var(--gold), 0 0 26px #e2b45847}.stage-card b{font:800 1.75rem/1 var(--display);color:var(--gold);text-shadow:0 2px #08050ce6}.stage-card span{color:var(--bone);font-size:.875rem}.cpu-level{color:var(--ash);flex-wrap:wrap;align-items:center;gap:12px;font-weight:700;display:flex}.invite{grid-template-columns:auto 1fr;align-items:center;gap:28px;max-width:980px;margin:0 auto 22px;padding:18px 22px;display:grid}.invite-code{color:var(--gold);font:800 clamp(2.4rem, 5vw, 3.6rem) / 1 var(--display);letter-spacing:.16em;background:#15121c;border-radius:4px;padding:8px 20px 10px;position:relative;box-shadow:inset 0 2px 10px #000c,0 0 0 1px #6a4614}.invite p{margin:0 0 10px}.invite .link{color:var(--ink-2);word-break:break-all;margin:10px 0 0;font-size:.875rem}.status-steps{max-width:560px;margin:10vh auto 0}.status-steps h1{font:800 2.75rem/1 var(--display);color:var(--gold);text-shadow:0 2px #3a2410;margin:0 0 6px}.status-steps ol{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.status-steps li{align-items:center;gap:12px;display:flex}.status-steps li:before{content:"";background:var(--gold);width:9px;height:9px;transform:rotate(45deg);box-shadow:0 0 0 2px #e2b45833}.status-steps li.now:before{background:var(--p1);animation:1s ease-in-out infinite alternate pulse;box-shadow:0 0 0 2px #d24a3f4d}@keyframes pulse{to{opacity:.35}}.vs-line{font:800 2.75rem/1 var(--display);justify-content:center;align-items:center;gap:18px;display:flex}.vs-line .vs{color:var(--gold)}.game-view{--sa-t:env(safe-area-inset-top,0px);--sa-r:env(safe-area-inset-right,0px);--sa-b:env(safe-area-inset-bottom,0px);--sa-l:env(safe-area-inset-left,0px);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#000;position:fixed;inset:0;overflow:hidden;container:game/size}@media (pointer:coarse) and (orientation:portrait){.game-view{--sa-t:env(safe-area-inset-right,0px);--sa-r:env(safe-area-inset-bottom,0px);--sa-b:env(safe-area-inset-left,0px);--sa-l:env(safe-area-inset-top,0px);transform-origin:0 0;width:100dvh;height:100vw;inset:0 auto auto 0;transform:translate(100vw)rotate(90deg)}}html.in-game,html.in-game body{overscroll-behavior:none;overflow:hidden}.screen-flash{opacity:0;pointer-events:none;mix-blend-mode:screen;background:#fff;position:absolute;inset:0}.hud{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.hud:before{content:"";pointer-events:none;background:linear-gradient(#0c0911c7,#0c091100);height:180px;position:absolute;inset:0 0 auto}.hud:after{content:"";pointer-events:none;background:linear-gradient(#0c091100,#0c0911b8);height:170px;position:absolute;inset:auto 0 0}.hud>*{z-index:1}.hud-top{top:max(14px, var(--sa-t));left:max(18px, var(--sa-l));right:max(18px, var(--sa-r));grid-template-columns:1fr auto 1fr;align-items:start;gap:18px;display:grid;position:absolute}.hud-side{--pc:var(--p1);grid-template-columns:84px 1fr;align-items:start;gap:12px;min-width:0;display:grid}.hud-side>div{min-width:0}.hud-side.p2{--pc:var(--p2);text-align:right;grid-template-columns:1fr 84px}.hud-side.p2 .hud-face{order:2}.hud-face{background:radial-gradient(circle at 50% 72%, color-mix(in srgb, var(--hero) 45%, #15121c), #15121c 78%);width:84px;height:84px;box-shadow:inset 0 0 0 2px var(--pc), inset 0 0 0 4px #0d0b12e6, 0 0 0 1px #e2b45899, 0 6px 16px #0009;border-radius:6px;position:relative}.hud-face img{object-fit:cover;border-radius:6px;width:100%;height:100%}.hud-side.p2 .hud-face img{transform:scaleX(-1)}.hud-face .who{z-index:1;background:var(--pc);color:#fff;font:800 .75rem/1.2 var(--ui);white-space:nowrap;border-radius:999px;padding:2px 8px 3px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #0d0b12}.hud-namerow{align-items:baseline;gap:10px;min-width:0;display:flex}.hud-side.p2 .hud-namerow{flex-direction:row-reverse}.hud-name{font:800 1.875rem/1 var(--display);color:var(--bone);text-shadow:0 2px #08050ce6,0 0 14px #0009;white-space:nowrap}.hud-tag{color:var(--hero);font:700 1rem/1 var(--display);text-shadow:0 1px #08050ce6;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hud-bar{clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);background:linear-gradient(#0c0a11,#1a1622);border-radius:2px;height:22px;margin-top:6px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #000000b3,0 0 0 1px #0b0910,0 0 0 2px #e2b4588c}.hud-side.p2 .hud-bar{clip-path:polygon(0 0,100% 0,100% 100%,12px 100%)}.hud-bar .trail,.hud-bar .fill{transform-origin:0;position:absolute;inset:0}.hud-side.p2 .hud-bar .trail,.hud-side.p2 .hud-bar .fill{transform-origin:100%}.hud-bar .trail{background:linear-gradient(#f06a5c,#b22e26)}.hud-bar .fill{background:linear-gradient(#ffffff8c,#fff0 45%),linear-gradient(#ffe39a 0%,#f0bf55 40%,#d4922f 75%,#a8691d 100%)}.hud-bar .fill.low{background:linear-gradient(#ffffff73,#fff0 45%),linear-gradient(#ff9a7a,#e0483a 50%,#9c2a22)}.hud-bar .fill.low:after{content:"";background:#ffdcc866;animation:.6s ease-in-out infinite alternate lowhp;position:absolute;inset:0}@keyframes lowhp{0%{opacity:0}}.hud-bar:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#0a081073 calc(10% - 1px) 10%);position:absolute;inset:0}.hud-hp{color:var(--ash);font:700 .8125rem/1.2 var(--ui);font-variant-numeric:tabular-nums;text-shadow:0 1px #08050ce6;justify-content:space-between;margin-top:3px;display:flex}.hud-side.p2 .hud-hp{flex-direction:row-reverse}.hud-meter{background:#0e0c13;border-radius:999px;width:64%;height:8px;margin-top:4px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #000c,0 0 0 1px #ffffff14}.hud-side.p2 .hud-meter{margin-left:auto}.hud-meter i{background:linear-gradient(90deg, color-mix(in srgb, var(--hero) 55%, #fff), var(--hero));transform-origin:0;border-radius:999px;position:absolute;inset:0}.hud-side.p2 .hud-meter i{transform-origin:100%}.hud-meter.full{box-shadow:inset 0 1px 3px #000c, 0 0 0 1px var(--gold), 0 0 14px #e2b458b3}.hud-meter.full i{background:linear-gradient(90deg, #fff6d6, var(--gold), #fff6d6, var(--gold));background-size:200% 100%;animation:1s linear infinite meterfull}@keyframes meterfull{to{background-position:-200% 0}}.hud-pips{gap:6px;margin-top:7px;padding:0 2px;display:flex}.hud-side.p2 .hud-pips{justify-content:flex-end}.hud-pips i{background:#1a1622;width:10px;height:10px;transform:rotate(45deg);box-shadow:0 0 0 1px #e2b45880}.hud-pips i.won{background:linear-gradient(135deg, #fff1c2, var(--gold) 60%, #a8691d);box-shadow:0 0 0 1px #4a2e0e,0 0 10px #e2b458b3}.hud-clock{background:linear-gradient(#ffffff0f,#0000 40%),linear-gradient(#2a2534,#17141e);border-radius:6px 6px 50% 50%/6px 6px 26px 26px;flex-direction:column;align-items:center;min-width:104px;padding:7px 10px 12px;display:flex;box-shadow:inset 0 0 0 1px #0009,inset 0 0 0 3px #e2b4588c,inset 0 0 0 4px #00000080,0 10px 24px #0009}.hud-round{color:var(--ash);font:700 .75rem/1.2 var(--ui)}.hud-timer{font:900 3rem/.95 var(--display);font-variant-numeric:tabular-nums;color:var(--gold-hi);text-shadow:0 2px #4a2e0e,0 0 18px #e2b45859}.hud-timer.low{color:#ff8a78;text-shadow:0 2px #5a1410,0 0 18px #f05a4680}.hud-score{color:var(--bone);font:800 .9375rem/1 var(--display);letter-spacing:.06em}.hud-tray{align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:24px}.hud-tray.p1{left:max(18px, var(--sa-l))}.hud-tray.p2{right:max(18px, var(--sa-r));flex-direction:row-reverse}.hud-tray .owner{color:var(--hero);font:800 1rem/1 var(--display);text-shadow:0 1px #08050ce6;position:absolute;top:-26px}.hud-tray.p2 .owner{right:0}.skill-wrap{padding-bottom:20px;position:relative}.skill{width:72px;height:72px;transition:transform .12s var(--ease), box-shadow .2s;background:#15121c;border-radius:6px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #000000b3,0 0 0 1px #4b4459,0 6px 14px #0000008c}.skill img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.skill .key{z-index:3;color:#2b2433;min-width:20px;font:800 .75rem/1 var(--ui);text-align:center;background:linear-gradient(#fffaf0,#e3d8c1);border-radius:3px;padding:2px 5px 3px;position:absolute;top:4px;right:4px;box-shadow:inset 0 -2px #c1b397,0 0 0 1px #0000008c}.skill .cd{z-index:1;background:conic-gradient(#0a0810cc calc(var(--cd,0) * 360deg), transparent 0);position:absolute;inset:0}.skill .cdnum{z-index:2;color:var(--bone);font:900 1.75rem/1 var(--display);text-shadow:0 2px #0a0810;place-items:center;display:grid;position:absolute;inset:0}.skill.ready{box-shadow:inset 0 0 0 1px #000000b3, 0 0 0 1px var(--gold), 0 6px 14px #0000008c}.skill.used{transform:translateY(2px)scale(.96)}.skill-name{color:var(--bone);font:700 .8125rem/1.1 var(--display);text-align:center;white-space:nowrap;text-shadow:0 1px #08050cf2;position:absolute;bottom:-2px;left:-8px;right:-8px}.skill.ult{border-radius:50%;width:88px;height:88px}.skill.ult img{border-radius:50%}.skill.ult.locked img{filter:grayscale()brightness(.45)}.skill.ult.ready{box-shadow:inset 0 0 0 1px #000000b3, 0 0 0 2px var(--gold), 0 0 22px #e2b458bf;overflow:visible}.skill.ult.ready:after{content:"";pointer-events:none;border-radius:50%;animation:1s ease-in-out infinite alternate ultready;position:absolute;inset:-6px;box-shadow:0 0 0 2px #ffe7a6d9}@keyframes ultready{0%{opacity:.15;transform:scale(.94)}}.skill.ult .key{top:auto;bottom:6px;right:50%;transform:translate(50%)}.skill.ult .pct{z-index:2;color:var(--bone);font:900 1.25rem/1 var(--display);text-shadow:0 2px #0a0810;place-items:center;display:grid;position:absolute;inset:0}.skill.ult.ready .pct{color:var(--gold-hi)}.hud-stats{text-align:right;gap:26px;display:flex;position:absolute;bottom:26px;right:22px}.hud-stats small{color:var(--ash);font:700 .8125rem var(--ui);text-shadow:0 1px #08050ce6;display:block}.hud-stats b{font:900 2rem/1 var(--display);color:var(--bone);text-shadow:0 2px #08050ce6}.hud-stage{text-align:center;color:#f2e9d8d9;font:800 1.375rem/1 var(--display);text-shadow:0 2px 10px #000000e6;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hud-stage small{color:var(--ash);font:500 .8125rem var(--ui);margin-top:3px;display:block}.hud-banner,.hud-combo b,.cutin-text b,.vs-name{--leaf:linear-gradient(180deg, #fff6d8 0%, #f5d27e 40%, var(--gold) 58%, #9e6a22 100%);--edge:#2a1808;color:var(--edge);-webkit-text-stroke:.09em var(--edge);text-shadow:0 .06em 0 var(--edge);position:relative}.hud-banner:after,.hud-combo b:after,.cutin-text b:after,.vs-name:after{content:attr(data-text);color:#0000;-webkit-text-stroke:0;text-shadow:none;background:var(--leaf);-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.hud-banner{text-align:center;font:900 clamp(4.5rem, 13cqw, 10rem) / 1 var(--display);letter-spacing:.01em;opacity:0;position:absolute;inset:40% 0 auto;transform:translateY(-50%)}.hud-banner.on{animation:banner 1.15s var(--ease) both}.hud-banner[data-kind=fight]{--leaf:linear-gradient(180deg, #fff 0%, #ffeab0 45%, var(--gold) 70%, #b5782a 100%)}.hud-banner[data-kind=ko]{--leaf:linear-gradient(180deg, #ffd9cf 0%, #ff7a62 40%, var(--p1) 62%, #7a1a14 100%);--edge:#2a0806}@keyframes banner{0%{opacity:0;transform:translateY(-50%)scale(1.5)}16%{opacity:1;transform:translateY(-50%)scale(.97)}24%{transform:translateY(-50%)scale(1)}82%{opacity:1;transform:translateY(-50%)scale(1)}to{opacity:0;transform:translateY(-50%)scale(1.04)}}.hud-banner[data-hold=true].on{animation:bannerhold .45s var(--ease) both}@keyframes bannerhold{0%{opacity:0;transform:translateY(-50%)scale(1.5)}70%{opacity:1;transform:translateY(-50%)scale(.97)}to{opacity:1;transform:translateY(-50%)scale(1)}}.hud-sub{text-align:center;font:700 1.5rem var(--display);text-shadow:0 2px 12px #000000e6;position:absolute;top:calc(40% + clamp(3.4rem,8.5cqw,6.6rem));left:0;right:0}.cutin{background:linear-gradient(90deg, color-mix(in srgb, var(--hero) 55%, #0e0b14), color-mix(in srgb, var(--hero) 22%, #0e0b14) 55%, #0e0b14), #0e0b14;height:32%;box-shadow:0 -2px 0 #0a0810, 0 -5px 0 var(--gold), 0 2px 0 #0a0810, 0 5px 0 var(--gold), 0 20px 40px #0009;opacity:0;grid-template-columns:1fr 1.1fr;display:grid;position:absolute;top:31%;left:-2%;right:-2%;overflow:hidden;transform:translate(-105%)skewY(-3deg)}.cutin:before{content:"";background:repeating-linear-gradient(#0000 0 14px,#ffffff0d 14px 16px);position:absolute;inset:0}.cutin.on{opacity:1;animation:cutin .8s var(--ease) both}@keyframes cutin{0%{transform:translate(-105%)skewY(-3deg)}24%{transform:translate(0)skewY(-3deg)}80%{transform:translate(1.5%)skewY(-3deg)}to{transform:translate(105%)skewY(-3deg)}}.cutin.on.side-p2{animation-name:cutin2}@keyframes cutin2{0%{transform:translate(105%)skewY(3deg)}24%{transform:translate(0)skewY(3deg)}80%{transform:translate(-1.5%)skewY(3deg)}to{transform:translate(-105%)skewY(3deg)}}.cutin-art{position:relative}.cutin-art img{object-fit:contain;object-position:70% 100%;width:100%;height:112%;position:absolute;inset:-6% 0 0}.cutin-text{align-self:center;padding-right:8%;position:relative}.cutin-text small{color:var(--ash);font:700 1rem var(--ui)}.cutin-text b{font:900 clamp(3.4rem, 7.5cqw, 6.5rem) / .9 var(--display);display:block}.cutin-text span{max-width:46ch;color:var(--bone);text-shadow:0 1px 8px #000000e6;margin-top:10px;font-size:1.0625rem;display:block}.hud-combo{opacity:0;transition:opacity .15s;position:absolute;top:30%}.hud-combo.p1{left:4%}.hud-combo.p2{text-align:right;right:4%}.hud-combo.on{opacity:1}.hud-combo b{font:900 5.5rem/.85 var(--display);display:block}.hud-combo span{font:800 1.5rem var(--display);text-shadow:0 2px #1a0f06}.hud-combo small{color:var(--bone);font:700 .875rem var(--ui);text-shadow:0 1px #1a0f06;display:block}.hud-panel{box-shadow:0 0 0 1px var(--iron-line);pointer-events:none;background:#0a0810e0;border-radius:4px;padding:10px 14px;font:500 12px/1.55 ui-monospace,Menlo,Consolas,monospace;position:absolute}.hud-net{top:160px;right:18px}.hud-frames{min-width:260px;top:160px;left:18px}.hud-frames hr{border:0;border-top:1px solid #f2e9d833;margin:6px 0}.hud-inputs{top:160px;left:50%;transform:translate(-50%)}.hud-inputs .cols{gap:24px;display:flex}.hud-inputs .cols div{flex-direction:column;display:flex}.corner-menu{z-index:5;top:150px;right:max(18px, var(--sa-r,0px));gap:8px;display:flex;position:absolute}.corner-menu.left{right:auto;left:max(18px, var(--sa-l,0px))}.game-menu .btn,.game-menu .icon-btn{pointer-events:auto}.menu-btn .ico{width:18px;height:18px;display:grid}.menu-btn svg,.icon-btn svg{width:100%;height:100%}.peer-paused{z-index:5;text-align:center;max-width:min(90%,460px);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.overlay{z-index:10;padding:max(20px, var(--sa-t,0px)) max(20px, var(--sa-r,0px)) max(20px, var(--sa-b,0px)) max(20px, var(--sa-l,0px));touch-action:pan-y;background:radial-gradient(120% 100%,#08050c8c,#08050cd9);place-items:safe center;animation:.2s ease-out both fadein;display:grid;position:absolute;inset:0;overflow-y:auto}@keyframes fadein{0%{opacity:0}}.card{max-width:540px;padding:28px 30px 30px}.card h2{font:900 3rem/1 var(--display);color:var(--gold);text-shadow:0 2px #3a2410;margin:0 0 8px}.card p{margin:0 0 18px}.actions{flex-wrap:wrap;gap:10px;display:flex}.result{max-width:820px;animation:rise .5s var(--ease) both;grid-template-columns:minmax(200px,300px) minmax(280px,420px);align-items:center;gap:26px;padding:24px 28px;display:grid}.result-art{background:#15121c;border-radius:50% 50% 6px 6px/110px 110px 6px 6px;height:380px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #3b3547,inset 0 0 0 5px #0d0b12e6,inset 0 0 0 6px #e2b4584d}.result-art:before{content:"";background:radial-gradient(60% 45% at 50% 95%, color-mix(in srgb, var(--hero) 50%, transparent), transparent 75%);position:absolute;inset:0}.result-art img{object-fit:contain;object-position:bottom;width:100%;height:100%;position:absolute;inset:0}.result h2{font:900 clamp(3rem, 6cqw, 4.5rem) / .9 var(--display);color:var(--gold);text-shadow:0 2px #3a2410,0 10px 24px #00000080;margin:0}.result .sub{color:var(--hero,var(--gold));font:700 1.25rem/1.2 var(--display);margin:8px 0 16px}.result-stats{background:radial-gradient(120% 70% at 30% 0%, #fff6, transparent 60%), var(--parch);color:var(--ink);box-shadow:inset 0 0 0 1px #6e502873, inset 0 0 0 4px var(--parch), inset 0 0 0 5px #6e502847;border-radius:3px;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 20px;padding:14px 18px;display:grid}.result-stats dt{color:var(--ink-2);font-size:.8125rem;font-weight:700}.result-stats dd{font:800 1.625rem/1.1 var(--display);margin:0}.training-panel{z-index:5;pointer-events:auto;max-width:340px;padding:18px 20px 20px;position:absolute;top:160px;left:18px}.training-panel h3{font:800 1.5rem/1 var(--display);color:var(--gold);margin:0 0 10px}.training-panel .chips .chip{min-height:32px;font-size:.875rem}.training-panel p{color:var(--ash);margin:12px 0 0;font-size:.875rem}.codex-intro{max-width:1180px;margin:0 auto 18px}.controls-board{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 26px;max-width:1180px;margin:0 auto 28px;display:grid}.ctrl h3{font:800 1.5rem/1 var(--display);color:var(--gold);margin:0 0 8px}.ctrl p{color:var(--ash);margin:8px 0 0;font-size:.9375rem}.ctrl .keys{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.heroes{gap:20px;max-width:1080px;margin:0 auto;display:grid}.hero-row{grid-template-columns:210px 1fr;align-items:start;gap:24px;padding:20px 24px 22px;scroll-margin-top:20px;display:grid}.hero-row:target{box-shadow:inset 0 0 0 1px #6e502873, inset 0 0 0 5px var(--parch), inset 0 0 0 6px #6e502847, 0 0 0 3px var(--gold), var(--shadow-deep)}.hero-row .art{background:#1a1622;border-radius:50% 50% 4px 4px/80px 80px 4px 4px;height:280px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #3b3547,inset 0 0 0 4px #0d0b12e6,inset 0 0 0 5px #e2b4584d}.hero-row .art:before{content:"";background:radial-gradient(70% 45% at 50% 95%, color-mix(in srgb, var(--hero) 50%, transparent), transparent 75%);position:absolute;inset:0}.hero-row .art img{object-fit:contain;object-position:bottom;width:100%;height:100%;position:absolute;inset:0}.hero-row .art .kana-mark{color:#f2e9d829;font-size:1.6rem;top:26px;left:14px}.hero-row h2{font:900 3rem/1 var(--display);color:var(--ink);margin:0}.hero-row .epithet{color:var(--ink-red);font:700 1.125rem/1.2 var(--display);margin:2px 0 6px}.hero-row .blurb{color:var(--ink);margin:0 0 4px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:14px;display:grid}.skill-card{grid-template-columns:64px 1fr;align-items:start;gap:12px;display:grid}.skill-card .pic{background:#15121c;border-radius:6px;width:64px;height:64px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #3b2a18,0 3px 8px #3c280f59}.skill-card.ult .pic{box-shadow:0 0 0 2px var(--gold-lo), 0 3px 8px #3c280f59;border-radius:50%}.skill-card .pic img{object-fit:cover;width:100%;height:100%}.skill-card b{font:700 1.125rem/1.15 var(--display);display:block}.skill-card.ult b{color:var(--ink-red)}.skill-card span{color:var(--ink-2);font-size:.875rem;line-height:1.35;display:block}.skill-card .combo{align-items:center;gap:5px;margin-top:6px;display:flex}.skill-card .combo .muted{color:var(--ink-2)}.basics{color:var(--ink-2);border-top:1px solid #6e502840;margin:14px 0 0;padding-top:10px;font-size:.9375rem}.basics b{color:var(--ink)}.settings{gap:24px;max-width:720px;margin:0 auto;padding:26px 28px 28px;display:grid}.settings label,.settings .group{gap:8px;display:grid}.settings .label{font:700 1.25rem/1.1 var(--display);color:var(--bone)}.settings .help{color:var(--ash);margin:0;font-size:.9375rem}.tp{--k:1px;z-index:4;pointer-events:none;position:absolute;inset:0}@supports (width:1cqh){.tp{--k:clamp(.74px, min(.2564cqh, .15cqw), 1.3px)}}.tp-zone{pointer-events:auto;width:46%;position:absolute;inset:0 auto 0 0}.tp-stick{left:calc(max(12px, var(--sa-l)) + 80 * var(--k));top:calc(100% - max(10px, var(--sa-b)) - 86 * var(--k));opacity:.5;pointer-events:none;width:0;height:0;transition:opacity .25s;position:absolute}.tp-stick.on{opacity:1;transition:none}.tp-base{left:calc(-62 * var(--k));top:calc(-62 * var(--k));width:calc(124 * var(--k));height:calc(124 * var(--k));background:radial-gradient(circle,#18142029 30%,#0c09128c 72%);border-radius:50%;position:absolute;box-shadow:inset 0 0 0 1.5px #e2b45880,inset 0 0 0 4px #0000004d,0 0 0 1px #00000073}.tp-base:before,.tp-base:after{content:"";width:calc(9 * var(--k));height:calc(14 * var(--k));margin-top:calc(-7 * var(--k));background:#e2b458bf;position:absolute;top:50%}.tp-base:before{left:calc(11 * var(--k));clip-path:polygon(0 50%,100% 0,100% 100%)}.tp-base:after{right:calc(11 * var(--k));clip-path:polygon(0 0,100% 50%,0 100%)}.tp-knob{left:calc(-27 * var(--k));top:calc(-27 * var(--k));width:calc(54 * var(--k));height:calc(54 * var(--k));background:radial-gradient(circle at 42% 34%,#fff7de,#e8d6ac 55%,#b99a62);border-radius:50%;position:absolute;box-shadow:inset 0 -3px #0000002e,0 0 0 1px #3c280c99,0 4px 12px #00000080}.tp-pad{right:max(10px, var(--sa-r));bottom:max(8px, var(--sa-b));width:calc(292 * var(--k));height:calc(290 * var(--k));pointer-events:none;position:absolute}.tp-btn{right:calc((var(--x) - var(--d) / 2) * var(--k));bottom:calc((var(--y) - var(--d) / 2) * var(--k));width:calc(var(--d) * var(--k));height:calc(var(--d) * var(--k));color:var(--bone);pointer-events:auto;touch-action:none;background:radial-gradient(circle at 50% 30%,#383246bd,#100d16cc 70%);border:0;border-radius:50%;place-items:center;padding:0;transition:transform 80ms ease-out;display:grid;position:absolute;box-shadow:inset 0 0 0 1.5px #e2b4588c,inset 0 0 0 4px #00000052,0 3px 10px #00000073}.tp-btn svg{pointer-events:none;width:46%;height:46%}.tp-btn.on{background:radial-gradient(circle at 50% 35%, #fbe3a2, var(--gold) 60%, #a8742a);color:var(--gold-ink);transform:scale(.9)}.tp-btn.atk{--x:142;--y:92;--d:86;box-shadow:inset 0 0 0 2.5px #e2b458d9, inset 0 0 0 6px #0000004d, 0 0 0 calc(5 * var(--k)) #e2b45824, 0 4px 14px #00000080}.tp-btn.atk svg{width:52%;height:52%}.tp-btn.jump{--x:52;--y:152;--d:62}.tp-btn.dash{--x:48;--y:62;--d:56}.tp-btn.dash.left svg{transform:scaleX(-1)}.tp-btn.guard{--x:238;--y:56;--d:60}.tp-btn.s1{--x:250;--y:142;--d:56}.tp-btn.s2{--x:212;--y:212;--d:56}.tp-btn.s3{--x:140;--y:234;--d:56}.tp-btn.ult{--x:54;--y:246;--d:68}.tp-btn.skill,.tp-btn.ult{background:#15121c}.tp-btn.skill img{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.tp-btn.skill .cd{background:conic-gradient(#0a0810cc calc(var(--cd,0) * 360deg), transparent 0);border-radius:50%;position:absolute;inset:0}.tp-btn.skill .num{color:var(--bone);font:900 calc(22 * var(--k)) / 1 var(--display);text-shadow:0 2px #0a0810;place-items:center;display:grid;position:absolute;inset:0}.tp-btn.skill:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1.5px #a096b48c,inset 0 0 0 3.5px #00000059}.tp-btn.skill.ready:after{box-shadow:inset 0 0 0 2px var(--gold), inset 0 0 0 4px #0000004d, 0 0 12px #e2b45866}.tp-btn.skill.on:after{box-shadow:inset 0 0 0 3px var(--gold-hi), inset 0 0 0 40px #ffe7a640}.tp-btn.ult img{object-fit:cover;opacity:.4;pointer-events:none;border-radius:50%;width:74%;height:74%;position:absolute;top:13%;left:13%}.tp-btn.ult .ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.tp-btn.ult .ring circle{fill:none;stroke-width:7px}.tp-btn.ult .ring .track{stroke:#0a0810bf}.tp-btn.ult .ring .fill{stroke:var(--hero,var(--gold));stroke-dasharray:100;stroke-dashoffset:100px}.tp-btn.ult.ready img{opacity:1}.tp-btn.ult.ready .ring .fill{stroke:var(--gold-hi)}.tp-btn.ult.ready:before{content:"";pointer-events:none;border-radius:50%;animation:.9s ease-in-out infinite alternate ultready;position:absolute;inset:-5px;box-shadow:0 0 0 2px #ffe7a6d9,0 0 18px #e2b458cc}.tp-btn.ult.on{background:#15121c}.tp-hint{color:var(--bone);font:700 1rem var(--ui);white-space:nowrap;opacity:0;background:#0c0912d9;border-radius:999px;align-items:center;gap:12px;padding:10px 20px 10px 12px;transition:opacity .5s;display:none;position:absolute;top:30%;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #e2b45880}.tp-hint-icon{width:28px;height:28px;color:var(--gold);animation:turnphone 1.8s var(--ease) infinite;display:grid}.tp-hint-icon svg{width:100%;height:100%}@keyframes turnphone{0%,25%{transform:rotate(90deg)}60%,to{transform:rotate(0)}}@media (pointer:coarse) and (orientation:portrait){.tp-hint{display:flex}.tp-hint.show{opacity:1}}.touch-ui .hud-tray,.touch-ui .hud-stats,.touch-ui .hud-stage{display:none}.touch-ui .game-menu{top:calc(max(14px, var(--sa-t)) + 112px);gap:10px;left:50%;right:auto;transform:translate(-50%)}.icon-btn,.touch-ui .game-menu .menu-btn{width:38px;height:38px;min-height:38px;color:var(--bone);cursor:pointer;background:linear-gradient(#3b3548,#2d2839 52%,#231f2c);border:1px solid #514a63;border-radius:50%;place-items:center;padding:9px;display:grid;box-shadow:inset 0 1px #ffffff12,0 2px #00000080}.icon-btn:active,.touch-ui .game-menu .menu-btn:active{border-color:var(--gold)}.touch-ui .menu-btn .ico{width:100%;height:100%}.touch-ui .menu-btn .label{display:none}.touch-ui .training-panel{top:calc(max(14px, var(--sa-t)) + 120px);left:max(12px, var(--sa-l))}@media (max-width:1100px){.select{grid-template-columns:1fr 1fr}.picker{order:3;grid-column:1/-1}.side{height:420px}}@media (max-width:920px){.title-inner{align-items:center}.title-head{text-align:center;justify-items:center}.title-shade:before{background:linear-gradient(#0c0911eb 0%,#0c0911b8 60%,#0c09114d 100%)}.title-panels{grid-template-columns:1fr;width:min(100%,420px)}}@media (max-width:760px),(max-height:640px){.title{height:auto;min-height:100dvh;overflow:visible}.title-inner{height:auto;padding-bottom:150px}}@media (max-width:760px){.logo{font-size:3.75rem}.title-foot{text-align:center;max-width:none;inset:auto 12px 8px}.topbar{grid-template-columns:auto 1fr;gap:14px}.topbar-title h1{font-size:2rem}.brand{display:none}.steps li{font-size:.8125rem}.steps li+li:before{margin:0 8px}.select{grid-template-columns:1fr 1fr;gap:10px}.side{height:300px}.side-name{font-size:2rem}.stats,.kana-mark{display:none}.picker{order:-1}.picker-head .muted{display:none}.stage-card b{font-size:1.25rem}.stage-card .stage-label{padding:18px 10px 8px}.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-list,.invite,.hero-row,.skill-grid{grid-template-columns:1fr}}@media (max-width:1100px),(max-height:820px){.confirm-row{z-index:3;padding:14px 8px max(10px, env(safe-area-inset-bottom));background:linear-gradient(#13101a00,#13101af0 36%);margin:0 -8px;position:sticky;bottom:0}}@media (orientation:landscape) and (max-height:520px){.title{height:100dvh;min-height:320px;overflow:hidden}.title-inner{height:auto;padding:max(10px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left));grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start;gap:10px 20px;display:grid}.title-head{text-align:left;justify-items:start}.logo{font-size:2.75rem}.logo-kana{margin-top:4px;font-size:.75rem}.tagline{display:none}.title-panels{display:contents}.title-menu{grid-area:1/2/3;padding:6px}.menu-item{padding:4px 12px 6px 16px}.menu-item .name{font-size:1.125rem}.menu-item .hint{font-size:.75rem}.challenge{grid-area:2/1;gap:8px;max-width:380px;padding:12px 14px 14px}.challenge h2{font-size:1.375rem}.challenge label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.challenge .btn{min-height:40px}.challenge .field{height:40px}.title-foot{text-align:center;max-width:none;font-size:.6875rem;inset:auto 0 2px}.screen{padding-top:max(8px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom))}.topbar{grid-template-columns:auto 1fr;gap:12px;margin-bottom:8px}.topbar-title{flex-direction:row;align-items:baseline;gap:10px}.topbar-title h1{font-size:1.625rem}.topbar-title small{margin:0;font-size:.8125rem}.brand,.steps{display:none}.back{height:34px}.select{grid-template-columns:minmax(0,1fr) minmax(0,2.5fr) minmax(0,1fr);align-items:start;gap:12px}.picker{order:0;grid-column:auto;gap:8px}.side{gap:6px;height:calc(100dvh - 64px);min-height:210px;position:sticky;top:8px}.side-label{padding:3px 14px 4px 8px;font-size:.75rem}.side.p2 .side-label{padding:3px 8px 4px 14px}.niche{border-radius:50% 50% 6px 6px/64px 64px 6px 6px;min-height:110px}.niche .empty{font-size:4rem}.side-name{font-size:1.5rem}.side-title{margin-top:2px;font-size:.875rem}.side-meta,.stats,.kana-mark{display:none}.seal{width:42px;height:42px;font-size:1rem;top:18px}.side .change{min-height:30px;margin-top:4px}.picker-head{min-height:0}.picker-head .who{font-size:1.375rem}.picker-head .muted{display:none}.tiles{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.tile .tile-name{padding:10px 2px 3px;font-size:.75rem}.hero-detail{padding:10px 14px 12px}.hero-detail h3{font-size:1.5rem}.hero-detail h3 span{font-size:.9375rem}.hero-detail .role{margin:4px 0 8px;padding-bottom:6px;font-size:.8125rem}.skill-list{grid-template-columns:1fr 1fr;gap:8px 14px}.skill-list b{font-size:.9375rem}.skill-list span{font-size:.8125rem}.skill-list .skill-ico{width:34px;height:34px}.stage-pick{gap:8px}.stage-card{aspect-ratio:16/8}.invite{grid-template-columns:auto 1fr;gap:16px;margin-bottom:10px;padding:10px 16px}.invite-code{padding:4px 12px 6px;font-size:2rem}.invite p{margin-bottom:6px;font-size:.9375rem}.invite .btn{min-height:38px}.invite .link{margin-top:4px;font-size:.75rem}.confirm-row .btn{min-height:42px}}@container game (max-width:760px){.result{grid-template-columns:1fr}.result-art{height:220px}.hud-name{font-size:1.375rem}.hud-tag,.hud-hp span:last-child{display:none}.hud-bar{height:18px}.hud-clock{min-width:72px;padding:5px 8px 10px}.hud-timer{font-size:2rem}.hud-banner{font-size:3.5rem}.hud-top{top:max(8px, var(--sa-t));left:max(8px, var(--sa-l));right:max(8px, var(--sa-r));gap:8px}.hud-side,.hud-side.p2{grid-template-columns:1fr}.hud-face{display:none}.hud-tray{gap:6px;bottom:10px}.skill{width:52px;height:52px}.skill.ult{width:60px;height:60px}.skill-name,.hud-stats,.hud-stage{display:none}.corner-menu{top:110px}}@container game (max-height:560px){.hud:before{height:100px}.hud:after{height:110px}.hud-top{top:max(6px, var(--sa-t));gap:10px}.hud-side{grid-template-columns:46px 1fr;gap:9px}.hud-side.p2{grid-template-columns:1fr 46px}.hud-face{border-radius:4px;width:46px;height:46px}.hud-face img{border-radius:4px}.hud-face .who{padding:1px 6px 2px;font-size:.625rem;bottom:-7px}.hud-name{font-size:1.125rem}.hud-tag{font-size:.8125rem}.hud-bar{height:13px;margin-top:3px}.hud-hp{display:none}.hud-meter{height:5px;margin-top:4px}.hud-pips{gap:5px;margin-top:5px}.hud-pips i{width:7px;height:7px}.hud-clock{border-radius:5px 5px 50% 50%/5px 5px 14px 14px;min-width:62px;padding:3px 8px 11px}.hud-round{font-size:.625rem}.hud-timer{font-size:1.75rem;line-height:.9}.hud-score{font-size:.75rem}.hud-banner{font-size:clamp(3rem,22cqh,7rem)}.hud-sub{font-size:1.125rem;top:calc(40% + 13cqh)}.hud-combo{top:24%}.hud-combo b{font-size:3.25rem}.hud-combo span{font-size:1.125rem}.cutin-text b{font-size:clamp(2rem,14cqh,4rem)}.cutin-text small{font-size:.8125rem}.cutin-text span,.hud-stats,.hud-stage,.skill-name,.hud-tray .owner{display:none}.hud-tray{gap:6px;bottom:10px}.skill{width:50px;height:50px}.skill.ult{width:58px;height:58px}.corner-menu{top:76px}.touch-ui .game-menu{top:calc(max(6px, var(--sa-t)) + 62px)}.hud-net,.hud-frames,.hud-inputs{top:80px}.training-panel,.touch-ui .training-panel{top:calc(max(6px, var(--sa-t)) + 70px);left:max(12px, var(--sa-l));max-width:46%;padding:0}.training-panel h3,.training-panel p{display:none}.training-panel .chips{gap:6px}.training-panel .chips .chip{min-height:28px;padding:0 10px;font-size:.8125rem}.overlay{padding-top:max(10px, var(--sa-t));padding-bottom:max(10px, var(--sa-b))}.card{padding:18px 22px 20px}.card h2{font-size:2.25rem}.result{grid-template-columns:minmax(130px,210px) minmax(260px,400px);gap:18px;padding:14px 18px}.result-art{height:min(300px,100cqh - 60px)}.result h2{font-size:clamp(2rem,11cqh,3.25rem)}.result .sub{margin:4px 0 10px;font-size:1rem}.result-stats{gap:6px 14px;margin-bottom:12px;padding:8px 12px}.result-stats dd{font-size:1.25rem}.result .actions .btn{min-height:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.vs-splash{z-index:8;opacity:0;visibility:hidden;background:radial-gradient(60% 60%,#e2b4581f,#0000 70%),#0d0b12;transition:opacity .35s,visibility 0s .35s;position:absolute;inset:0;overflow:hidden}.vs-splash.on{opacity:1;visibility:visible;transition:opacity .2s}.vs-side{grid-template-columns:1fr 1fr;align-content:end;padding-bottom:11vh;display:grid;position:absolute;inset:0}.vs-side>*{grid-column:1}.vs-side.p2>*{grid-column:2}.vs-side.p1{background:linear-gradient(100deg, color-mix(in srgb, var(--p1) 46%, #0d0b12) 0%, color-mix(in srgb, var(--p1) 12%, #0d0b12) 46%, #0d0b12 60%);clip-path:polygon(0 0,54% 0,46% 100%,0 100%)}.vs-side.p2{background:linear-gradient(260deg, color-mix(in srgb, var(--p2) 46%, #0d0b12) 0%, color-mix(in srgb, var(--p2) 12%, #0d0b12) 46%, #0d0b12 60%);clip-path:polygon(54% 0,100% 0,100% 100%,46% 100%)}.vs-splash:before{content:"";z-index:1;background:var(--gold);clip-path:polygon(calc(54% - 1.5px) 0,calc(54% + 1.5px) 0,calc(46% + 1.5px) 100%,calc(46% - 1.5px) 100%);position:absolute;inset:0}.vs-side img{justify-self:center;width:min(30vw,52vh);height:auto;margin-bottom:-2vh}.vs-side.p1 img{animation:vs-left .55s var(--ease) both}.vs-side.p2 img{animation:vs-right .55s var(--ease) both;transform:scaleX(-1)}@keyframes vs-left{0%{opacity:0;translate:-18vw}}@keyframes vs-right{0%{opacity:0;translate:18vw}}.vs-plate{text-align:center;justify-items:center;display:grid}.vs-who{color:#fff;font:800 .875rem/1.1 var(--ui);border-radius:999px;padding:3px 12px 4px}.vs-side.p1 .vs-who{background:var(--p1)}.vs-side.p2 .vs-who{background:var(--p2)}.vs-name{font:900 clamp(3rem, 6vw, 5rem) / .95 var(--display);margin-top:6px}.vs-title{font:700 1.25rem/1.2 var(--display);text-shadow:0 2px 8px #000c}.vs-mark{z-index:2;width:128px;height:128px;box-shadow:inset 0 0 0 2px #0b0910, inset 0 0 0 4px var(--gold), inset 0 0 0 6px #0b0910, 0 18px 40px #000000b3;color:var(--gold-hi);font:900 3.25rem/1 var(--display);text-shadow:0 2px #4a2e0e,0 0 18px #e2b45873;animation:vs-mark .6s .15s var(--ease) both;background:linear-gradient(135deg,#ffffff14,#0000 50%),linear-gradient(135deg,#2a2534,#14111b);border-radius:10px;place-items:center;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.vs-mark span{transform:rotate(-45deg)}@keyframes vs-mark{0%{opacity:0;transform:translate(-50%,-50%)rotate(45deg)scale(1.6)}}.vs-stage{z-index:2;text-align:center;color:var(--bone);font:800 1.25rem/1 var(--display);white-space:nowrap;background:#0d0b12d9;border-radius:4px;padding:8px 18px 9px;position:absolute;bottom:3vh;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #e2b45873}.vs-stage small{color:var(--ash);font:500 .875rem var(--ui);margin-top:4px;display:block}@media (max-width:760px){.vs-mark{width:84px;height:84px}.vs-mark span{font-size:2.25rem}.vs-side{padding-bottom:14vh}.vs-side img{width:44vw}}.tile[data-looking=true],.tile[aria-pressed=true]{z-index:2;border-color:var(--gold);box-shadow:inset 0 0 0 2px #0d0b12d9, 0 0 0 1px var(--gold), 0 0 18px #e2b45859}.tile[aria-pressed=true]{transform:translateY(-2px)}.confirm-row .btn.confirm{min-height:52px;font-size:1.0625rem}.side .change{margin-top:10px}.lock-note{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.lock-note p{color:var(--ash);margin:0}.lock-note b{color:var(--bone)}
