@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Noto+Serif+JP:wght@800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--ink:#171b20;--muted:#818993;--line:#dce0e4;--lime:#d6ff46;--blue:#245bff;--red:#f24750;font-family:'Noto Sans JP',sans-serif;font-synthesis:none;color:var(--ink);background:#f4f5f8;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--blue);outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{background:var(--lime);color:var(--ink)}header{max-width:1340px;padding:24px 30px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:900;letter-spacing:-.045em}.brand-icon{display:grid;place-items:center;width:33px;height:33px;background:var(--lime);font-weight:900;font-size:31px;line-height:1;transform:skew(-8deg)}.edition{font:500 12px 'Space Grotesk',sans-serif;color:#9ba1aa;margin-left:18px;letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:23px}.header-actions button{background:none;border:0;color:#676f79;padding:7px 0;font-size:13px;min-height:36px}main{max-width:1340px;padding:28px 30px 23px;margin:auto}.heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}.heading-row h1{font-size:30px;line-height:1.45;letter-spacing:-.05em;margin:0;font-weight:900}.heading-row em{font-style:normal;background:linear-gradient(transparent 53%,var(--lime) 53%,var(--lime) 94%,transparent 94%)}.heading-row>span{font-size:13px;color:#7e8792}.game-shell{display:grid;grid-template-columns:minmax(0,1fr) 267px;border:1px solid #cbd1d8;border-radius:5px;overflow:hidden;background:white;box-shadow:0 10px 34px #313c4a07}.game-panel{min-width:0;border-right:1px solid #d6dce1}.hud{height:62px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:white;border-bottom:1px solid #dce1e6}.timer{display:flex;align-items:baseline;gap:6px;width:105px}.timer strong{font:500 33px 'Space Grotesk',sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums}.timer>span{font-size:12px;color:#8d949e}.timer.urgent{color:var(--red)}.phase{font-size:13px;font-weight:700;color:#7a838e;letter-spacing:.03em}.lives{display:flex;gap:5px}.lives>span{display:block;width:11px;height:18px;transform:skew(-15deg);background:#272d35}.lives>span.empty{background:#e4e8ed}.arena{height:clamp(485px,54vw,640px);position:relative;overflow:hidden;background:#f5f7fa;isolation:isolate}#field{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.ready-help{position:absolute;z-index:2;top:64%;left:18px;right:18px;text-align:center;pointer-events:none}.ready-help p{font-size:16px;font-weight:800;line-height:1.8;margin:0 0 7px}.ready-help>span{display:block;color:#8b94a0;font-size:12px;line-height:1.8}.ready-help button{pointer-events:auto;background:none;border:0;border-bottom:1px solid #b8c2ce;padding:6px 0;color:#788492;font-size:12px;min-height:35px;margin-top:20px}.game-footer{min-height:59px;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 21px;background:white;border-top:1px solid var(--line)}.game-footer p{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:13px;line-height:1.8;margin:0;color:#6c7682}.legend{width:10px;height:10px;display:inline-block;flex:none}.legend.vague{background:white;border:1px solid #343b45}.legend.clear{background:var(--blue);margin-left:8px}.input-hint{font-size:12px;color:#a3aab3;white-space:nowrap}.side-panel{padding:29px 25px;display:flex;flex-direction:column;gap:25px;min-width:0;background:#fbfcfd}.score-block{padding-bottom:23px;border-bottom:1px solid var(--line)}.label{font-size:13px;color:#818c99}.score-block>p{font:500 58px 'Space Grotesk',sans-serif;letter-spacing:-3px;margin:11px 0 3px;line-height:1.15;font-variant-numeric:tabular-nums}.score-unit{font:500 12px 'Space Grotesk',sans-serif;color:#a6afb9;letter-spacing:.09em}.stats{display:flex;flex-direction:column;gap:18px}.stats>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.stats>div>span{font-size:13px;color:#7a8693}.stats strong{font:500 25px 'Space Grotesk',sans-serif}.stats small{font-size:12px;color:#9aa4b0}.blue{color:var(--blue)}.order-log{border-top:1px solid var(--line);padding-top:23px}.order-log h2{font-size:13px;margin:0 0 15px;color:#7d8996;font-weight:500}.order-log .empty{font-size:12px;color:#b0b9c3;line-height:1.8;margin:0}#order-list{display:flex;flex-direction:column;gap:10px}.log-item{font-size:13px;color:#8b939d;display:flex;align-items:center;gap:9px}.log-item>span{color:#d4dae1;font:500 12px 'Space Grotesk',sans-serif}.log-item>strong{font-weight:500;text-decoration:line-through;text-decoration-color:#b8c38e}.boss-note{margin-top:auto;padding:21px 0 0;border-top:1px solid var(--line)}.boss-note>span{display:block;font-size:12px;color:#a0a8b2;margin-bottom:8px}.boss-note strong{font-size:15px;font-weight:800}.boss-note p{font-size:12px;line-height:1.8;color:#9ea7b2;margin:9px 0 0}.below{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.below p{font-size:12px;line-height:1.8;color:#939ca8;margin:0}.below button{border:0;background:none;border-bottom:1px solid #c9d0d9;padding:4px 0;font-size:12px;color:#8a95a2;min-height:31px;white-space:nowrap}footer{margin-top:25px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#a1aab5;line-height:1.8}.notice{position:absolute;z-index:5;left:50%;top:20px;transform:translateX(-50%);width:max-content;max-width:90%;padding:9px 14px;background:#18212eee;border:1px solid #18212e;color:#edf2f7;font-size:13px;font-weight:700;line-height:1.7;text-align:center;pointer-events:none;margin:0}.notice.bad{background:#fff3f4;color:#c2303e;border-color:#f1bdc3}.notice.good{background:#ebf1ff;color:#245bff;border-color:#b8caff}.overlay{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:#f2f5f9ec;overflow:auto;padding:26px}.dialog{text-align:center;width:min(100%,410px);margin:auto}.dialog .kicker{font-size:12px;font-weight:700;letter-spacing:.1em;color:#8d98a5;margin:0 0 21px}.dialog h2{font-family:'Noto Serif JP',serif;font-size:42px;font-weight:900;line-height:1.42;letter-spacing:-.055em;white-space:pre-line;margin:0 0 17px}.dialog .description{font-size:14px;line-height:1.9;color:#7b8796;margin:0 0 21px}.result-stats{display:flex;justify-content:center;align-items:center;gap:24px;margin:18px 0 24px}.result-stats strong{font:500 41px 'Space Grotesk',sans-serif;letter-spacing:-1.5px}.result-stats span{font-size:12px;color:#8794a4;display:block;margin-top:3px}.primary{display:block;min-height:54px;width:100%;padding:13px 20px;background:var(--lime);border:1px solid #c1e62c;border-radius:3px;color:#202919;font-weight:800;font-size:16px;line-height:1.65;transition:transform .1s,background .1s}.primary:hover{background:#e0ff74}.primary:active{transform:translateY(1px)}.save-button{background:none;border:0;min-height:44px;color:#7f8c9b;font-size:13px;padding:11px 0;margin-top:7px}.save-status{font-size:12px;color:#8997a7;line-height:1.7;min-height:20px;margin:6px 0 0}.win-stamp{display:inline-block;background:var(--lime);color:#28301e;padding:5px 15px;transform:rotate(-4deg);font-weight:800;font-size:12px;letter-spacing:.1em;margin:0 0 19px}.pause-dialog h2{font-size:38px}.noscript{position:fixed;bottom:20px;left:20px;right:20px;background:white;border:1px solid var(--red);padding:20px;z-index:20}
@media(max-width:1060px){.game-shell{grid-template-columns:minmax(0,1fr) 228px}.side-panel{padding:25px 20px;gap:23px}.heading-row h1{font-size:27px}.heading-row>span{font-size:12px}.arena{height:530px}.hud{padding:0 20px}.game-footer{padding:13px 18px}.input-hint{display:none}.score-block>p{font-size:50px}.stats>div>span{font-size:12px}.dialog h2{font-size:37px}.below p>span{display:none}}
@media(max-width:760px){header{padding:15px 18px}.brand{font-size:18px;gap:8px}.brand-icon{width:28px;height:28px;font-size:26px}.edition{display:none}.header-actions{gap:18px}.header-actions button{font-size:12px;min-height:31px}main{padding:20px 13px}.heading-row{margin-bottom:15px}.heading-row h1{font-size:25px}.heading-row>span{display:none}.game-shell{grid-template-columns:1fr}.game-panel{border-right:0}.hud{height:52px;padding:0 19px}.timer{width:80px}.timer strong{font-size:28px}.phase{font-size:12px}.lives>span{width:9px;height:16px}.lives{gap:4px}.arena{height:clamp(420px,60svh,590px)}.ready-help{top:64%;left:15px;right:15px}.ready-help p{font-size:15px}.ready-help>span{font-size:12px;max-width:280px;margin:auto}.ready-help button{font-size:12px;margin-top:15px}.game-footer{padding:12px 15px;min-height:62px}.game-footer p{font-size:12px;gap:6px}.legend{width:9px;height:9px}.legend.clear{margin-left:3px}.side-panel{display:grid;grid-template-columns:1.05fr 1fr;gap:17px 23px;border-top:1px solid var(--line);padding:19px 20px}.score-block{padding:0;border:0}.score-block>p{font-size:42px;margin:6px 0 0;letter-spacing:-2px}.label{font-size:12px}.score-unit{display:none}.stats{gap:9px;justify-content:center}.stats>div>span{font-size:12px}.stats strong{font-size:20px}.stats>div:last-child{display:none}.order-log,.boss-note{display:none}.below{margin-top:14px;gap:15px;align-items:flex-start}.below p{font-size:12px;max-width:75%}footer{margin-top:20px;font-size:12px}footer>span:last-child{display:none}.overlay{padding:23px}.dialog h2{font-size:33px;line-height:1.48}.dialog .kicker{margin-bottom:17px}.dialog .description{font-size:13px;line-height:1.9;margin-bottom:18px}.result-stats{gap:21px;margin:14px 0 20px}.result-stats strong{font-size:34px}.primary{font-size:15px;min-height:52px}.save-button{font-size:13px}.notice{font-size:12px;top:14px;padding:8px 12px}.pause-dialog h2{font-size:32px}}
@media(max-width:370px){header{padding:13px}.header-actions{gap:12px}.brand{font-size:17px}.heading-row h1{font-size:23px}main{padding:17px 10px}.hud{padding:0 15px}.phase{font-size:12px}.arena{height:430px}.dialog h2{font-size:29px}.overlay{padding:19px}.game-footer p{font-size:12px}.game-footer{padding:11px 12px}.side-panel{padding:17px;gap:17px}.ready-help p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
