*{box-sizing:border-box;margin:0;padding:0}html,body{color:#e8e0cc;overscroll-behavior:none;-webkit-text-size-adjust:100%;background:#07060c;height:100%;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden}body.touch{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#stage{background:radial-gradient(at 50% 40%,#1b1830 0%,#0a0812 60%,#05040a 100%);place-items:center;display:grid;position:fixed;inset:0}#screen{image-rendering:pixelated;image-rendering:crisp-edges;display:block;box-shadow:0 0 0 2px #000,0 0 60px #7864c840,0 24px 70px #000c}.hidden{display:none!important}#overlay{z-index:20;background:radial-gradient(at 50% 0,#46327880,#0000 60%),#06050c;place-items:center;padding:28px 20px;display:grid;position:fixed;inset:0;overflow-y:auto}.wrap{text-align:center;z-index:1;width:min(1000px,100%);position:relative}#overlay h1{letter-spacing:14px;color:#f3e2b0;text-shadow:0 4px #000,0 0 40px #f0c8644d;font-size:clamp(40px,8vw,72px)}.tag{letter-spacing:3px;color:#8a82a0;margin:10px 0 26px;font-size:12px}#overlay h2{letter-spacing:4px;color:#6f6890;margin-bottom:14px;font-size:12px;font-weight:400}#chars{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:22px;display:grid}.char{color:#e8e0cc;cursor:pointer;text-align:center;background:#14121f;border:2px solid #2a2540;flex-direction:column;align-items:center;padding:0 0 12px;font-family:inherit;transition:transform .12s,border-color .12s,background .12s;display:flex}.char:hover{background:#191627;border-color:#4a4270;transform:translateY(-4px)}.char.on{background:#221c2e;border-color:#e0b84a;box-shadow:inset 0 0 0 1px #e0b84a}.char img{aspect-ratio:1;object-fit:cover;width:100%;image-rendering:pixelated;border-bottom:2px solid #2a2540;margin-bottom:10px;display:block}.char b{letter-spacing:2px;font-size:16px}.char i{color:#8a82a0;letter-spacing:1px;margin-bottom:8px;font-size:10px;font-style:normal}.char p{color:#a89fbb;min-height:50px;padding:0 12px;font-size:11px;line-height:1.55}.char .ab{color:#9a92ad;text-align:left;background:#0e0c17;border-left:3px solid #e0b84a;margin:8px 12px 0;padding:8px;font-size:10px;line-height:1.5}.char .ab span{color:#e0b84a;letter-spacing:1px;margin-bottom:3px;display:block}.char .stats{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.char .stats em{letter-spacing:1px;color:#7f7896;background:#0e0c17;border:1px solid #262038;padding:3px 6px;font-size:9px;font-style:normal}.actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px;display:flex}button{cursor:pointer;letter-spacing:2px;color:#191220;background:#e0b84a;border:2px solid #000;padding:12px 28px;font-family:inherit;font-size:13px}button:hover:not(:disabled){filter:brightness(1.12)}button:disabled{color:#6a6480;cursor:default;background:#2a2540}button.ghost{color:#cfc7e0;background:#1c1830;border-color:#3a3358}button.danger{color:#b08a95;background:#2a1620;border-color:#43273a;padding:12px 18px;font-size:11px}.controls{color:#5f5878;letter-spacing:1px;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:10px;display:flex}.controls b{color:#9a92ad}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0812}::-webkit-scrollbar-thumb{background:#2a2540}#starfield{z-index:15;pointer-events:none;opacity:0;background-color:#0000;background-image:radial-gradient(1px 1px at 20% 30%,#fff,#0000),radial-gradient(1px 1px at 70% 20%,#cfc,#0000),radial-gradient(2px 2px at 40% 70%,#ffd868,#0000),radial-gradient(1px 1px at 85% 60%,#a8e8ff,#0000),radial-gradient(1px 1px at 10% 80%,#fff,#0000);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:300px 300px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;transition:opacity .6s;animation:24s linear infinite drift;position:fixed;inset:0}body.titled #starfield{opacity:.5}@keyframes drift{to{background-position:300px 300px}}#logo{justify-content:center;gap:.04em;display:flex}#logo span{text-shadow:0 4px #000,0 0 26px #f0c8648c;animation:2.6s ease-in-out infinite bobletter;display:inline-block}#logo span:nth-child(2){animation-delay:.1s}#logo span:nth-child(3){animation-delay:.2s}#logo span:nth-child(4){animation-delay:.3s}#logo span:nth-child(5){animation-delay:.4s}#logo span:nth-child(6){animation-delay:.5s}#logo span:nth-child(7){animation-delay:.6s}@keyframes bobletter{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}#worldstrip{flex-wrap:wrap;justify-content:center;gap:6px;margin:14px 0 20px;display:flex}.wchip{letter-spacing:1px;color:#b9b0d0;background:#14121f;border:1px solid #2a2540;align-items:center;gap:6px;padding:5px 10px;font-size:10px;display:flex}.wchip i{border:1px solid #0008;width:9px;height:9px;display:block}.char{position:relative;overflow:hidden}.char:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 40%,#ffffff29 50%,#0000 60%);transition:transform .55s;position:absolute;inset:0;transform:translate(-120%)}.char:hover:after,.char.on:after{transform:translate(120%)}.char.on{animation:.35s ease-out pick}@keyframes pick{0%{transform:translateY(-4px)scale(1)}45%{transform:translateY(-10px)scale(1.035)}to{transform:translateY(-4px)scale(1)}}.char img{transition:transform .3s}.char:hover img,.char.on img{transform:scale(1.05)}#herodetail{text-align:left;opacity:0;background:#14121f;border:2px solid #2a2540;border-left:4px solid #e0b84a;max-width:760px;min-height:74px;margin:4px auto 20px;padding:12px 16px;transition:opacity .25s,transform .25s;transform:translateY(6px)}#herodetail.show{opacity:1;transform:none}#herodetail .row{color:#a89fbb;flex-wrap:wrap;gap:18px;font-size:11px;display:flex}#herodetail .row b{color:#e0b84a;font-weight:400}#herodetail .wp{align-items:center;gap:8px;display:flex}button.small{padding:12px 14px;font-size:14px}#overlay:before{content:"";z-index:-1;pointer-events:none;filter:blur(24px);background:radial-gradient(40% 50% at 25% 30%,#7846c866,#0000 70%),radial-gradient(45% 55% at 75% 40%,#1e78be59,#0000 70%),radial-gradient(40% 40% at 50% 85%,#e0b84a38,#0000 70%);animation:18s ease-in-out infinite alternate aurora;position:fixed;inset:-20%}@keyframes aurora{0%{transform:translate(-3%,-2%)scale(1)}50%{transform:translate(3%,2%)scale(1.12)}to{transform:translate(-2%,3%)scale(1.04)}}#logo span{background:linear-gradient(#fff6d8 0%,#f3e2b0 45%,#d9a63a 100%);color:#0000;filter:drop-shadow(0 4px #000)drop-shadow(0 0 22px #f0c86480);-webkit-background-clip:text;background-clip:text}.tag{animation:.8s ease-out both fadeUp}#worldstrip{animation:.8s ease-out .1s both fadeUp}#chars{animation:.8s ease-out .2s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}}.wchip{transition:transform .2s,border-color .2s,color .2s}.wchip:hover{color:#f3e2b0;border-color:#e0b84a;transform:translateY(-3px)}.char{transition:transform .18s cubic-bezier(.2,.9,.3,1.4),box-shadow .2s,border-color .15s}.char:hover{border-color:#6a5f96;transform:translateY(-8px)scale(1.03);box-shadow:0 14px 34px #0009,inset 0 0 0 1px #4a4270}.char.on{border-color:#e0b84a;box-shadow:inset 0 0 0 2px #e0b84a,0 0 34px #e0b84a59,0 16px 40px #0009}.char.on b{animation:1.6s ease-in-out infinite pulseName}@keyframes pulseName{50%{color:#ffe9a8;text-shadow:0 0 14px #ffdc78b3}}#herodetail{background:linear-gradient(135deg,#171326,#0f0c1a);border:2px solid #2f2748;border-left:4px solid #e0b84a;align-items:stretch;gap:18px;max-width:900px;min-height:210px;padding:0;display:flex;overflow:hidden}#herodetail.show{animation:.35s cubic-bezier(.2,.9,.3,1.2) both slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(18px)scale(.98)}}.hd-art{background:#0a0813;flex:0 0 210px;width:210px;position:relative;overflow:hidden}.hd-art img{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;filter:saturate(.75)brightness(.8);transition:filter .45s,transform .45s;transform:scale(1.04)}.hd-art.lit img{filter:saturate(1.25)brightness(1.08);transform:scale(1.1)}.hd-art:after{content:"";background:linear-gradient(90deg,#0000 55%,#0f0c1a 100%);position:absolute;inset:0}.hd-art.lit:before{content:"";z-index:2;background:linear-gradient(115deg,#0000 35%,#fff0be59 50%,#0000 65%);animation:.8s ease-out sweep;position:absolute;inset:0;transform:translate(-130%)}@keyframes sweep{to{transform:translate(130%)}}.hd-body{text-align:left;flex:1;padding:14px 18px 16px 0}#herodetail h3{letter-spacing:3px;color:#f3e2b0;margin-bottom:2px;font-size:17px}#herodetail h3 em{color:#8a82a0;letter-spacing:1px;font-size:11px;font-style:normal}.hd-quote{color:#9a92ad;margin:6px 0 10px;font-size:11px;line-height:1.5}#herodetail .wp{color:#a89fbb;background:#0d0b16;border-left:2px solid #4a4270;align-items:center;gap:10px;margin-bottom:8px;padding:7px 10px;font-size:11px;line-height:1.5;display:flex}#herodetail .wp.ab{border-left-color:#8a6ad0}#herodetail .wp b{color:#e0b84a;letter-spacing:1px;font-weight:400}#herodetail .wp img{width:22px;image-rendering:pixelated}.stats2{color:#7f7896;letter-spacing:1px;grid-template-columns:1fr 1fr;gap:3px 16px;font-size:10px;display:grid}.stats2 span{white-space:pre;align-items:center;gap:6px;display:flex}.bar{gap:2px;font-style:normal;display:inline-flex}.bar u,.bar s{width:6px;height:8px;text-decoration:none;display:block}.bar u{background:#e0b84a;box-shadow:0 0 6px #e0b84a99}.bar s{background:#2a2440}#begin:not(:disabled){animation:2s ease-in-out infinite readyGlow}@keyframes readyGlow{50%{filter:brightness(1.14);box-shadow:0 0 26px #e0b84aa6}}#logo span,#logo{animation:none!important}#pickwrap{grid-template-columns:190px 1fr;align-items:start;gap:18px;max-width:1060px;margin:0 auto 22px;display:grid}#chars{flex-direction:column;gap:8px;animation:.8s ease-out .2s both fadeUp;display:flex}.char{text-align:left;flex-direction:row;align-items:center;gap:10px;padding:0;display:flex}.char img{aspect-ratio:auto;border-bottom:none;border-right:2px solid #2a2540;flex:0 0 58px;width:58px;height:58px;margin:0}.char .cname{padding:6px 8px 6px 0}.char .cname b{letter-spacing:1px;font-size:13px;display:block}.char .cname i{color:#8a82a0;letter-spacing:1px;font-size:9px;font-style:normal}.char:hover{transform:translate(5px)scale(1.02)}.char.on{transform:translate(8px)scale(1.03)}#herodetail{border-left-width:5px;flex-direction:row;max-width:none;min-height:430px;margin:0}.hd-art{flex:0 0 330px;width:330px}.hd-body{flex-direction:column;justify-content:center;padding:22px 26px 22px 4px;display:flex}#herodetail h3{letter-spacing:4px;font-size:24px}#herodetail h3 em{margin-top:4px;font-size:12px;display:block}.hd-quote{margin:10px 0 14px;font-size:12px}#herodetail .wp{margin-bottom:10px;padding:10px 12px;font-size:12px}#herodetail .wp img{width:30px}.stats2{gap:6px 22px;margin-top:6px;font-size:11px}.bar u,.bar s{width:8px;height:10px}#bossback{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bb{width:300px;image-rendering:pixelated;opacity:.38;filter:saturate(1.1)contrast(1.2)brightness(1.35);mix-blend-mode:screen;animation:26s ease-in-out infinite alternate loom;position:absolute;-webkit-mask-image:radial-gradient(closest-side,#000 55%,#0000 92%);mask-image:radial-gradient(closest-side,#000 55%,#0000 92%)}.b0{animation-delay:0s;top:14%;left:1%}.b1{width:270px;animation-delay:-6s;top:10%;right:1%}.b2{width:290px;animation-delay:-12s;bottom:3%;left:5%}.b3{width:300px;animation-delay:-18s;bottom:2%;right:3%}.b4{width:330px;animation-delay:-3s;top:1%;left:41%}@keyframes loom{0%{opacity:.26;transform:translateY(0)scale(1)}50%{opacity:.46;transform:translateY(-18px)scale(1.05)}to{opacity:.3;transform:translateY(6px)scale(1.02)}}#starfield:after{content:"";background-color:#0000;background-image:radial-gradient(2px 2px at 15% 90%,#ff9a40,#0000),radial-gradient(2px 2px at 55% 95%,#ffcf6a,#0000),radial-gradient(1px 1px at 80% 88%,#ff7a30,#0000),radial-gradient(2px 3px at 30% 10%,#6fd0ff,#0000),radial-gradient(1px 2px at 68% 6%,#a8e8ff,#0000);background-position:0 0,0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:420px 420px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;animation:14s linear infinite embers;position:absolute;inset:0}@keyframes embers{to{background-position:0 -420px}}@media (width<=900px){#pickwrap{grid-template-columns:1fr}#chars{flex-flow:wrap;justify-content:center}#herodetail{flex-direction:column}.hd-art{flex:0 0 200px;width:100%}}#pickwrap{grid-template-columns:1fr}#pickwrap #chars{flex-flow:wrap;justify-content:center;gap:12px}#pickwrap .char{text-align:center;flex-direction:column;align-items:stretch;gap:0;width:210px}#pickwrap .char img{aspect-ratio:1;border-bottom:2px solid #2a2540;border-right:none;flex:none;width:100%;height:auto;margin-bottom:10px}#pickwrap .char .cname{padding:0 8px 6px}#pickwrap .char .cname b{letter-spacing:2px;font-size:16px}#pickwrap .char .cname i{font-size:10px}#pickwrap .char p{display:block}#pickwrap .char .ab,#pickwrap .char .stats{display:flex}#pickwrap .char .ab{display:block}#pickwrap #herodetail{display:none}#pickwrap .char:hover,#pickwrap .char.on{transform:translateY(-8px)scale(1.03)}#pickwrap.active{grid-template-columns:190px 1fr}#pickwrap.active #chars{flex-direction:column;justify-content:flex-start;gap:8px}#pickwrap.active .char{text-align:left;flex-direction:row;align-items:center;gap:10px;width:auto}#pickwrap.active .char img{aspect-ratio:auto;border-bottom:none;border-right:2px solid #2a2540;flex:0 0 58px;width:58px;height:58px;margin-bottom:0}#pickwrap.active .char .cname{padding:6px 8px 6px 0}#pickwrap.active .char .cname b{letter-spacing:1px;font-size:13px}#pickwrap.active .char .cname i{font-size:9px}#pickwrap.active .char p,#pickwrap.active .char .ab,#pickwrap.active .char .stats{display:none}#pickwrap.active #herodetail{display:flex}#pickwrap.active .char:hover{transform:translate(5px)scale(1.02)}#pickwrap.active .char.on{transform:translate(8px)scale(1.03)}.touchonly,body.touch .keyonly{display:none}body.touch .touchonly{display:flex}@media (pointer:coarse) and (orientation:portrait){#stage{padding-top:env(safe-area-inset-top);align-items:start}}#touchui{z-index:30;pointer-events:none;touch-action:none;display:none;position:fixed;inset:0}body.touch.playing #touchui{display:block}#tstick{pointer-events:auto;touch-action:none;width:46%;height:62%;position:absolute;bottom:0;left:0}#tstick .base{opacity:0;background:radial-gradient(circle,#1410228c,#0a081247);border:2px solid #e0b84a80;border-radius:50%;place-items:center;width:116px;height:116px;margin:-58px 0 0 -58px;transition:opacity .12s;display:grid;position:fixed}#tstick.on .base{opacity:1}#tstick .base i{background:#e0b84acc;border-radius:50%;width:46px;height:46px;box-shadow:0 0 16px #e0b84a80,inset 0 0 0 2px #000}#tstick:after{content:"MOVE";left:46px;bottom:calc(46px + env(safe-area-inset-bottom));letter-spacing:3px;color:#e0b84a52;font-size:10px;transition:opacity .2s;position:absolute}#tstick.on:after{opacity:0}#tbtns{right:calc(14px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));pointer-events:none;width:190px;height:190px;position:absolute}.tb{pointer-events:auto;touch-action:none;letter-spacing:1px;color:#cfc7e0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e19309e;border:2px solid #000;border-radius:50%;padding:0;font-family:inherit;transition:transform 70ms,background 70ms;position:absolute}.tb.on{color:#191220;background:#e0b84ad9;transform:scale(.9)}.tb.attack{color:#191220;background:#e0b84ac7;border-color:#6a4f12;width:92px;height:92px;font-size:14px;bottom:0;right:0}.tb.ability{color:#ede4ff;background:#6e50bead;width:62px;height:62px;font-size:16px;bottom:34px;right:96px}.tb.dash{width:62px;height:62px;font-size:10px;bottom:100px;right:24px}.tb.swap{width:54px;height:54px;font-size:9px;bottom:106px;right:108px}#tmenu{top:calc(6px + env(safe-area-inset-top));right:calc(8px + env(safe-area-inset-right));pointer-events:none;gap:6px;display:flex;position:absolute}.tm{pointer-events:auto;touch-action:none;letter-spacing:1px;color:#b9b0d0;background:#14121fb8;border:1px solid #3a3358;min-width:46px;height:34px;padding:0 8px;font-family:inherit;font-size:10px}.tm.on{color:#191220;background:#e0b84a}@media (pointer:coarse) and (orientation:landscape) and (height<=460px){#tbtns{width:160px;height:160px}.tb.attack{width:78px;height:78px}.tb.ability{width:54px;height:54px;bottom:28px;right:82px}.tb.dash{width:54px;height:54px;bottom:84px;right:20px}.tb.swap{width:46px;height:46px;font-size:8px;bottom:88px;right:92px}#tstick .base{width:96px;height:96px;margin:-48px 0 0 -48px}}@media (width<=700px){#overlay{padding:18px 12px calc(18px + env(safe-area-inset-bottom))}#overlay h1{letter-spacing:6px;font-size:clamp(30px,11vw,52px)}.tag{letter-spacing:1px;margin-bottom:16px;font-size:10px}#pickwrap #chars{gap:8px}#pickwrap .char{width:calc(50% - 6px)}#pickwrap .char p,#pickwrap .char .ab,#pickwrap .char .stats{display:none}#pickwrap .char .cname b{letter-spacing:1px;font-size:13px}#pickwrap.active{grid-template-columns:1fr}#pickwrap.active #chars{flex-flow:wrap}#pickwrap.active .char{width:calc(50% - 4px)}#herodetail{flex-direction:column;min-height:0}.hd-art{flex:0 0 190px;width:100%}.hd-art:after{background:linear-gradient(#0000 45%,#0f0c1a 100%)}.hd-body{padding:12px 14px 16px}#herodetail h3{letter-spacing:2px;font-size:18px}.stats2{grid-template-columns:1fr}.bb{opacity:.22;width:150px!important}.controls{gap:6px 12px;font-size:9px}.actions{gap:8px}}@media (pointer:coarse){button{min-height:48px;padding:14px 22px}button.small{min-width:48px}.char{min-height:48px}.char:hover,#pickwrap .char:hover{transform:none}.char.on,#pickwrap .char.on{transform:translateY(-4px)scale(1.02)}}@media (pointer:coarse) and (orientation:landscape) and (height<=460px){#overlay h1{letter-spacing:4px;font-size:28px}.tag,#worldstrip{display:none}#pickwrap .char{width:calc(25% - 8px)}.hd-art{flex:0 0 130px}}#rotatehint{z-index:40;left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);letter-spacing:1px;color:#e8e0cc;opacity:0;pointer-events:none;background:#141121eb;border:1px solid #3a3358;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:10px 14px;font-size:11px;transition:opacity .35s,transform .35s;display:none;position:fixed;transform:translate(-50%,14px)}#rotatehint.show{opacity:1;pointer-events:auto;display:flex;transform:translate(-50%)}#rotatehint span{color:#e0b84a;flex:none;font-size:16px;animation:2.2s ease-in-out infinite tip}#rotatehint em{white-space:nowrap;font-style:normal}#rotatehint b{color:#e0b84a;border-left:1px solid #3a3358;padding-left:10px;font-weight:400}@keyframes tip{50%{transform:rotate(90deg)}}@media (pointer:coarse) and (orientation:portrait){#rotatehint{bottom:auto;top:calc(100vw * .875 + env(safe-area-inset-top) + 62px)}#stage{background:radial-gradient(at 50% 24%,#1b1830 0%,#0a0812 55%,#05040a 100%)}#tmenu{top:calc(100vw * .875 + env(safe-area-inset-top) + 10px);justify-content:center;left:0;right:0}.tm{min-width:62px;height:40px;font-size:11px}#tbtns{bottom:calc(env(safe-area-inset-bottom) + 5vh)}#tstick{height:52%}#tstick:after{bottom:calc(56px + env(safe-area-inset-bottom) + 5vh)}}@media (width<=700px){.hd-art img{object-position:50% 12%}.actions{z-index:3;background:linear-gradient(#0000,#06050c 32%);margin:0 -12px;padding:12px;position:sticky;bottom:0}#begin{flex:1}}.tb.reset{left:50%;bottom:calc(env(safe-area-inset-bottom) + 18px);opacity:0;pointer-events:none;border-color:#4a4270;width:66px;height:66px;font-size:9px;transition:opacity .2s,transform .2s,background .12s;position:absolute;transform:translate(-50%)scale(.8)}#touchui.atpuzzle .tb.reset{opacity:1;pointer-events:auto;transform:translate(-50%)scale(1)}#touchui.atpuzzle .tb.reset.warn{color:#fff;background:#c83c3cd1;border-color:#7a1f1f;animation:1.1s ease-in-out infinite resetPulse}@keyframes resetPulse{50%{box-shadow:0 0 22px #ff5050b3}}.tb.reset.on{transform:translate(-50%)scale(.9)}@media (pointer:coarse) and (orientation:landscape){.tb.reset{left:14px;bottom:calc(env(safe-area-inset-bottom) + 14px);transform:none}#touchui.atpuzzle .tb.reset{transform:none}.tb.reset.on{transform:scale(.9)}}
