:root{font-family:ui-rounded,"Hiragino Maru Gothic ProN",system-ui,sans-serif;background:#fff5ef;color:#553c59;font-synthesis:none;--pink:#ec8e9c;--blue:#91b9e9;--ink:#553c59}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(circle at 3% 3%,#ffd2df77,transparent 36%),radial-gradient(circle at 95% 28%,#d6e7ff66,transparent 36%),#fff5ef}button,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,select{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7671bc;outline-offset:4px}a{color:inherit}.shell{max-width:1100px;margin:auto;padding:25px}header{display:flex;justify-content:space-between;align-items:center;gap:9px}header>a{font-size:12px;text-decoration:none;font-weight:750;color:#89728b}.tools{display:flex;gap:7px;align-items:center}.tools button,.tools label{font-size:11px;color:#766075;background:#fffdf8;border:1px solid #dcc6d0;border-radius:25px;padding:9px 12px;min-height:36px}.tools label{display:flex;gap:6px;align-items:center}.tools select{border:0;color:inherit;background:transparent;max-width:105px}.intro{margin:35px 0 23px}.eyebrow{font:700 10px ui-monospace,monospace;color:#b38192;letter-spacing:2px}.intro h1{font-size:clamp(48px,7.4vw,82px);font-weight:950;letter-spacing:-4px;line-height:1.1;margin:12px 0 17px;color:#63517e}.intro h1 span{color:#df8699}.intro h1 i{display:inline-block;font-size:27px;vertical-align:top;margin:8px 0 0 10px;color:#e4b471;font-style:normal}.rule{font-size:21px;font-weight:850;line-height:1.5;margin:0}.layout{display:grid;grid-template-columns:minmax(300px,690px) minmax(225px,1fr);gap:24px;align-items:start}.selection{background:#fffdf8;border:2px solid #e1c7d2;border-radius:26px;padding:24px;box-shadow:0 7px 0 #e7cfda77}.selection>h2{font-size:20px;margin:0}.small{font-size:11px;line-height:1.7;color:#8c758a;overflow-wrap:anywhere}.fighters{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:21px 0}.fighter-card{border:2px solid #e4cdd6;border-radius:22px;background:#fff8f7;position:relative;padding:12px 17px 20px;color:#654b60;text-align:left;box-shadow:0 4px 0 #e4cad466;min-width:0}.fighter-card:nth-child(2){background:#f4f8ff;border-color:#c8d8e8}.fighter-card[aria-pressed=true]{border-color:#c97895;box-shadow:0 0 0 3px #edafc23b,0 4px 0 #d49aaf}.fighter-card:nth-child(2)[aria-pressed=true]{border-color:#7b9ec8;box-shadow:0 0 0 3px #aec9ef55,0 4px 0 #95b5d7}.portrait,.daily-portrait{background-size:600% 200%;background-position:0 0;background-repeat:no-repeat}.portrait{width:170px;max-width:100%;aspect-ratio:1;margin:auto}.fighter-card h3{font-size:23px;font-weight:900;margin:6px 0 14px}.stat{display:grid;grid-template-columns:45px 1fr 22px;align-items:center;gap:7px;font-size:10px;line-height:1.7;margin:7px 0}.stat-track{height:7px;border-radius:6px;background:#ead7dc;overflow:hidden}.stat-track i{display:block;height:100%;background:#db92a9;border-radius:6px}.fighter-card:nth-child(2) .stat-track i{background:#8faed6}.stat b{font-size:11px;text-align:right}.move-name{font-size:11px;font-weight:800;line-height:1.6;border-top:1px solid #dec8d477;padding-top:11px;margin:14px 0 0;min-height:46px}.primary{border:2px solid #a3728d;background:linear-gradient(120deg,#f1adb9,#e793a9);color:#56374d;border-radius:27px;padding:14px 24px;font-size:14px;font-weight:900;min-height:49px;box-shadow:0 4px 0 #be8c9f}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #be8c9f}.selection>.primary{width:100%}.stage{border:2px solid #d9bfd3;border-radius:25px;background:#fffcfa;overflow:hidden;box-shadow:0 8px 0 #e2c9d777;position:relative;scroll-margin-top:12px}.battle-hud{display:grid;grid-template-columns:1fr 53px 1fr;gap:10px;padding:18px 20px 0;align-items:start}.fighter-hud>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5}.fighter-hud strong{font-size:14px}.hp-track{height:14px;border:1px solid #c6a6b7;background:#efe1e8;border-radius:12px;margin-top:7px;overflow:hidden}.hp-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#e48ca8,#f4b0b9)}.blue .hp-track i{background:linear-gradient(90deg,#84ace0,#b2d2f2)}.energy-track{height:6px;border-radius:6px;background:#ebdfeb;margin:6px 0 4px;overflow:hidden}.energy-track i{display:block;height:100%;background:#e7b77c;width:0}.fighter-hud small{font-size:9px;line-height:1.5;display:block;min-height:15px;color:#9d7c99}.timer{font-size:29px;font-weight:950;text-align:center;line-height:1.5;color:#7e6685}canvas{width:100%;height:auto;aspect-ratio:30/19;display:block}#canvas{touch-action:pan-y}.controls{display:grid;grid-template-columns:1fr 1fr 1.22fr;gap:12px;padding:0 23px}.controls button{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none;min-height:96px;border:2px solid #cda9bd;border-radius:20px;background:#f7e3eb;color:#76516e;box-shadow:0 5px 0 #d2b1c2;padding:11px 5px}.controls #kick{background:#e7e9fa;border-color:#b8bad7;color:#606182;box-shadow:0 5px 0 #bcbcd8}.controls #special{background:#fae4b9;border-color:#cba77d;color:#7d5f3c;box-shadow:0 5px 0 #d2b28e}.controls button[data-busy=true]{filter:saturate(.7)}.controls button[data-held=true]{transform:translateY(4px);box-shadow:0 1px 0 #d2b1c2}.controls button>span,.controls button>strong,.controls button>small{position:relative;z-index:1;display:block}.action-icon{font:26px system-ui;line-height:1.2;margin-bottom:4px}.controls strong{font-size:17px;font-weight:900;line-height:1.4}.controls small{font-size:9px;line-height:1.4;margin-top:4px;min-height:13px}#special-fill{position:absolute;inset:0;background:#fff4cebb;transform:scaleY(0);transform-origin:center bottom;pointer-events:none}#special[data-ready=true]{outline:3px solid #efcc86;outline-offset:3px;box-shadow:0 5px 0 #bd976e,0 0 25px #ffd89999}.status{min-height:26px;font-size:14px;font-weight:850;color:#a3738d;text-align:center;margin:16px 15px 6px;line-height:1.5}.help{font-size:11px;color:#9e859a;text-align:center;line-height:1.6;margin:4px 20px}.charge-help{max-width:480px;margin:6px auto;padding:0 20px}.keys{font-size:9px;color:#aa92a5;text-align:center;margin:8px 15px 17px}.pause-overlay{position:absolute;left:25px;right:25px;top:125px;bottom:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#fff6f5ed;border:1px solid #dfbdcf;border-radius:22px;padding:18px;text-align:center}.pause-overlay strong{font-size:16px}.daily{background:#fffdfa;border:1px solid #dcc7d6;border-radius:23px;padding:23px;box-shadow:0 6px 0 #e7d0db55}.daily h2{font:800 11px ui-monospace,monospace;letter-spacing:2px;line-height:1.6;margin:0;color:#a17a95}.daily-portrait{height:190px;width:190px;max-width:100%;margin:13px auto;filter:drop-shadow(0 6px 0 #dbc3d333)}#daily-goal{font-size:13px;font-weight:750;line-height:1.6;color:#916b85}.daily-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:16px 0}.daily-days>span{border:1px dashed #cfb6c7;border-radius:9px;padding:7px 0;text-align:center;color:#c3aebe;font-size:19px;background:#fff5f7}.daily-days small{display:block;font:9px ui-monospace,monospace;margin-top:4px;color:#9e8298}.daily-days .earned{background:#fbe6ba;color:#a77b4b;border:1px solid #d1ad7c}.daily-days .today{outline:2px solid #d1aabb}.daily>a{font-size:12px;font-weight:800}.friend{background:#eee4fa;border:1px solid #cab6e1;border-radius:15px;padding:14px 18px;font-size:14px;font-weight:750;line-height:1.6;color:#8a6a9f}.result{border:2px solid #d8afc4;border-radius:25px;background:linear-gradient(145deg,#ffe5e8,#f3e7fb);padding:27px;margin-top:23px;scroll-margin-top:14px;box-shadow:0 7px 0 #dfbfd077}.result-title{font-size:25px;font-weight:950;color:#a7698a;margin:0 0 9px;line-height:1.5}.result-score{font-size:67px;font-weight:950;letter-spacing:-3px;color:#a7698a;line-height:1.2}.result>p{line-height:1.7}#result-detail{font-size:13px}.result>.primary{display:block;width:100%;margin:17px 0 10px}.secondary{border:1px solid #c8aabd;background:#fff8fb;border-radius:23px;color:#96738d;font-size:12px;padding:11px 18px;min-height:42px}.compare{font-size:14px;font-weight:800;border:1px solid #b9aad3;background:#eee5fb;border-radius:13px;padding:15px;line-height:1.6;margin-top:13px}.sharing{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.sharing button{min-height:43px;border:1px solid #c4a5ba;background:#fff9fb;color:#99738e;border-radius:12px;padding:11px 13px;font-size:12px;font-weight:750}.result textarea{width:100%;min-height:105px;display:block;background:#fff8fb;border:1px solid #ccb1c3;border-radius:12px;font:11px ui-monospace,monospace;color:#92768b;line-height:1.7;padding:13px;margin-top:15px;resize:vertical}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:10px;color:#aa8c9f;border-top:1px solid #e1cbd8;padding-top:22px;margin-top:38px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:750px){.shell{max-width:570px;padding:17px}.intro{margin:25px 0 20px}.intro h1{font-size:57px;letter-spacing:-3px}.intro h1 i{font-size:22px}.rule{font-size:18px}.eyebrow{font-size:9px;letter-spacing:1.5px}.layout{grid-template-columns:1fr;gap:23px}.selection{padding:20px}.fighters{gap:11px;margin:17px 0}.fighter-card{padding:9px 11px 15px;border-radius:18px}.portrait{width:140px}.fighter-card h3{font-size:21px;margin-top:4px}.stat{grid-template-columns:34px 1fr 18px;font-size:9px;gap:5px}.move-name{font-size:10px;min-height:45px}.battle-hud{padding:13px 13px 0;grid-template-columns:1fr 42px 1fr;gap:8px}.fighter-hud strong{font-size:12px}.fighter-hud>div:first-child{font-size:10px}.timer{font-size:26px}.hp-track{height:12px}.controls{padding:0 14px;gap:9px}.controls button{min-height:91px;border-radius:16px}.controls strong{font-size:15px}.action-icon{font-size:24px}.help{font-size:10px}.charge-help{font-size:10px}.daily-portrait{width:170px;height:170px}.daily-days{gap:9px}.result{padding:22px}.tools button,.tools label{padding:8px 10px;font-size:10px}.tools select{max-width:83px}header>a{font-size:11px}.pause-overlay{top:110px;bottom:236px;padding:15px}.status{font-size:13px}.friend{font-size:12px}}
@media(max-width:360px){.shell{padding:13px}.intro h1{font-size:49px}.rule{font-size:16px}.tools{gap:5px}.tools button,.tools label{padding:8px;font-size:9px}.tools label>span{display:none}.tools select{max-width:72px}.selection{padding:16px}.fighters{gap:9px}.fighter-card{padding:8px 9px 13px}.fighter-card h3{font-size:19px}.portrait{width:125px}.controls{gap:7px;padding:0 10px}.controls strong{font-size:13px}.controls button{min-height:88px}.action-icon{font-size:23px}.controls small{font-size:8px}.charge-help{padding:0 12px}.pause-overlay{top:100px;bottom:245px;gap:10px}.fighter-hud small{font-size:8px}.stat{grid-template-columns:31px 1fr 18px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Eight compact choices, then the selected fighter's readable details. */
.fighters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.fighter-card{padding:7px 7px 11px;text-align:center;border-radius:16px}.portrait{width:108px;aspect-ratio:1;max-width:100%;background-size:300% 200%;background-position:0 0}.fighter-card h3{font-size:15px;margin:3px 0 0;line-height:1.5}.selected-detail{display:grid;grid-template-columns:145px 1fr;gap:18px;align-items:center;border:1px solid #dcc4d4;border-radius:18px;background:#fff8fb;padding:12px 17px;margin-bottom:14px}.detail-portrait{width:145px;height:145px;background-size:300% 200%;background-position:0 0;background-repeat:no-repeat}.selected-detail h3{font-size:21px;margin:0 0 9px}.selected-detail .stat{grid-template-columns:45px 1fr 26px;max-width:280px}.selected-detail .move-name{margin-top:10px;min-height:0;padding-top:9px}.selected-detail .small{margin:5px 0 0;line-height:1.6}.selection>.secondary{margin-top:13px;width:100%}.daily-portrait{background-size:300% 200%;background-position:0 0}.route{border:1px solid #d7bed3;background:#fffdfb;border-radius:22px;padding:20px;margin-bottom:20px}.route h2{font:800 11px ui-monospace,monospace;letter-spacing:2px;color:#98728f;margin:0}.route ol{list-style:none;padding:0;margin:15px 0 0;display:grid;gap:5px}.route li{display:grid;grid-template-columns:33px 1fr 18px;gap:8px;align-items:center;font-size:12px;color:#a38da1;min-height:35px;border:1px solid transparent;border-radius:9px;padding:3px 6px}.route li.current{background:#efe5fa;border-color:#c5a8d7;color:#8e65a1;font-weight:850}.route li.cleared{color:#8d9d84;background:#eef4e9}.route-icon{width:32px;height:32px;background-size:300% 200%;background-position:0 0;background-repeat:no-repeat;display:grid;place-items:center;background-color:#f4eaf4;border-radius:8px;color:#c0a3bc;font-weight:850}.route li b{font-size:13px;color:#8caa7d}.battle-progress{font:800 11px ui-monospace,monospace;letter-spacing:1px;color:#9670aa;line-height:1.6;margin:0 0 13px;padding:11px 15px;border:1px solid #d0b9df;background:#f3eafa;border-radius:12px}.ending{background:radial-gradient(ellipse at 50% 40%,#fff6e2,#f6e2f3);border:2px solid #dbb5d1;border-radius:26px;padding:32px;text-align:center;scroll-margin-top:14px;box-shadow:0 8px 0 #dec4d8}.ending h2{font-size:28px;line-height:1.5;color:#996c9c;margin:14px 0}.ending-portrait{width:280px;height:280px;max-width:100%;background-repeat:no-repeat;background-size:300% 200%;background-position:0 0;margin:10px auto;filter:drop-shadow(0 10px 0 #d7beda55)}#ending-story{font-size:16px;line-height:2;color:#9a7898;max-width:500px;margin:20px auto}#ending-total{font-size:13px;font-weight:800;color:#a47a9e}.ending .primary{margin-top:19px;width:100%}.selected-detail .stat b{white-space:nowrap}
@media(max-width:750px){.fighters{gap:7px;margin-top:15px}.fighter-card{padding:5px 5px 8px;border-radius:12px}.fighter-card h3{font-size:11px}.portrait{width:80px}.selected-detail{grid-template-columns:105px 1fr;gap:12px;padding:12px}.detail-portrait{width:105px;height:105px}.selected-detail h3{font-size:18px;margin-bottom:6px}.selected-detail .stat{grid-template-columns:34px 1fr 24px;font-size:9px;margin:4px 0;gap:5px}.selected-detail .move-name{font-size:10px}.selected-detail .small{font-size:10px}.ending{padding:25px 20px}.ending h2{font-size:25px}.ending-portrait{width:240px;height:240px}#ending-story{font-size:14px}.route li{font-size:12px}.daily-days{gap:8px}}
@media(max-width:360px){.fighters{gap:5px}.fighter-card{padding:4px 4px 7px}.fighter-card h3{font-size:10px}.portrait{width:65px}.selected-detail{grid-template-columns:90px 1fr;gap:9px;padding:10px}.detail-portrait{width:90px;height:90px}.selected-detail h3{font-size:16px}.selected-detail .stat{grid-template-columns:30px 1fr 23px;font-size:8px}.selected-detail .small{font-size:9px}.selected-detail .move-name{font-size:9px}.ending-portrait{width:210px;height:210px}.ending h2{font-size:22px}}
