:root{color-scheme:dark;--bg:#080f1e;--panel:#111e31;--line:#284260;--text:#eff8ff;--muted:#8aa0b8;--accent:#6be7ed}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif}
body{overscroll-behavior:none}
button{font:inherit;cursor:pointer}
button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.app{width:min(100%,560px);height:100dvh;min-height:540px;margin:auto;padding:calc(7px + env(safe-area-inset-top)) 8px calc(7px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px}
.header{height:36px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 3px}
.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand-mark{display:grid;place-items:center;width:30px;height:30px;flex:none;border:1px solid #4a8399;color:#aaf7f4;font-size:11px;font-weight:900;letter-spacing:-.06em;transform:rotate(-8deg)}.brand-mark span{color:#ffbf75}.brand strong{display:block;font-size:13px;line-height:1.05;letter-spacing:.13em;white-space:nowrap}.brand small{display:block;margin-top:3px;font-size:8px;letter-spacing:.14em;color:#6f92af}
.small-button{border:1px solid #34526f;border-radius:8px;background:#16263b;color:#d5eaf7;min-height:30px;padding:5px 9px;font-size:11px;font-weight:700;white-space:nowrap}.small-button:active,.action:active,.stage-choice:active{transform:translateY(1px)}
.hud{flex:none;min-height:55px;display:grid;grid-template-columns:minmax(105px,1.5fr) 1fr 1fr auto;align-items:stretch;gap:5px}.hud>div{background:#101c2e;border:1px solid #263c58;border-radius:9px;padding:6px 8px;min-width:0}.hud small{display:block;color:#819bb4;font-size:8px;letter-spacing:.1em;font-weight:700}.hud strong{display:block;font-size:15px;line-height:1.22;font-variant-numeric:tabular-nums}.hud-stage strong{display:inline-block;font-size:20px;color:#81eef0;line-height:1.1;margin-right:6px}.hud-stage>span{font-size:10px;white-space:nowrap;vertical-align:2px;color:#c6dce7;overflow:hidden;text-overflow:ellipsis}.hud-life strong{white-space:nowrap;color:#ffbd8e;font-size:11px;letter-spacing:-.1em;margin-top:4px}
.game{flex:1 1 auto;min-height:300px;position:relative;border-radius:12px;border:1px solid #33506e;background:#0b1627;overflow:hidden;touch-action:none;user-select:none;box-shadow:inset 0 0 0 1px #101b2c,0 10px 30px #0005}.game canvas{display:block;width:100%;height:100%;touch-action:none}
.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px;background:linear-gradient(180deg,#06101bd9,#07111fe8);overflow-y:auto}.overlay.hidden{display:none}.panel{width:min(100%,355px);max-height:100%;overflow-y:auto;padding:20px 19px;border:1px solid #5f91a9;border-radius:15px;background:linear-gradient(150deg,#142c3e,#0b1728 75%);box-shadow:0 18px 55px #0009, inset 0 1px #ffffff19;text-align:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:#7be3e7}.panel h1{font-size:clamp(24px,7vw,34px);line-height:1.15;letter-spacing:.04em;margin:9px 0}.panel h1 .big{font-size:1.8em;display:block;line-height:1.05;font-variant-numeric:tabular-nums;color:#b5faf4}.panel p{color:#b6c9d9;font-size:12px;line-height:1.65;margin:8px 0 14px}.panel .stage-title{font-size:18px;font-weight:800;color:#e7f5f9}.panel .legend{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:12px 0}.legend span{border:1px solid #3e6480;color:#c8e1ed;background:#15283c;border-radius:5px;padding:4px 6px;font-size:10px}.actions{display:grid;gap:7px;margin-top:12px}.action{border:1px solid #81dae5;border-radius:10px;background:#7fe4e9;color:#0b2131;font-weight:900;padding:11px 14px;min-height:43px;font-size:13px}.action.secondary{background:#20384d;color:#e2f1f8;border-color:#54718a}.action.tertiary{background:transparent;color:#9dbbd0;border-color:#35516b}.micro{font-size:10px;color:#89a9bf;margin-top:10px;line-height:1.5}.stage-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:15px 0 5px}.stage-choice{height:40px;border:1px solid #416582;border-radius:7px;background:#1c3c51;color:#effcff;font-weight:900;font-size:12px}.stage-choice.current{border-color:#90f1ee;color:#9afff0}.stage-choice:disabled{border-color:#283c50;color:#55738a;background:#122337;cursor:default}.sector-label{font-size:10px;color:#9bbacf;text-align:left;margin:10px 0 4px}
.toolbar{height:32px;flex:none;display:flex;align-items:center;gap:5px;justify-content:flex-end}.toolbar-hint{font-size:10px;color:#95aabf;margin-right:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar .small-button{min-height:29px}
.ad-slot:not([hidden]){flex:none;min-height:70px;margin-top:8px;border:1px dashed #536b80;border-radius:8px;display:grid;place-items:center;color:#8fa5b6;font-size:11px}
@media(max-width:360px){.hud{grid-template-columns:minmax(98px,1.3fr) 1fr 1fr auto}.hud>div{padding:6px 5px}.brand strong{font-size:12px}.hud-life strong{font-size:9px}.toolbar-hint{font-size:9px}}
@media(min-width:700px){.app{max-height:860px}.game{max-height:720px}.panel{width:355px}}

/* GWK2 start menu refresh: other overlay states untouched */
.panel:has(.neon-logo){position:relative;overflow:hidden;border:1px solid #55dcff!important;background:radial-gradient(ellipse at 48% 75%,#132d6b 0%,#0a1428 67%)!important;box-shadow:0 0 45px #08b9ee44,inset 0 0 45px #0c8dbc22!important;text-align:center}
.panel:has(.neon-logo)::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 23px,#35eaff12 24px 25px);pointer-events:none}
.panel:has(.neon-logo) .eyebrow{position:relative;color:#82e9ff;letter-spacing:.22em;font-size:10px}
.panel:has(.neon-logo) h1{position:relative;font-style:normal;font-size:clamp(39px,10vw,68px)!important;line-height:.95!important;letter-spacing:.06em;color:#eefeff;text-shadow:0 0 21px #43dfffaa;margin:12px 0 16px}
.panel:has(.neon-logo) h1 em{font-style:normal;color:#66f7ff}
.neon-logo{display:flex;justify-content:center;gap:12px;margin:14px auto;color:#88efff;font-weight:900;font-size:14px}.neon-logo span{width:33px;height:33px;border:1px solid #4ddcf6;border-radius:8px;display:grid;place-items:center;box-shadow:inset 0 0 12px #39cff933}
.neon-bar{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:18px auto;width:min(100%,270px)}.neon-bar i{height:10px;background:#33d5f2;box-shadow:0 0 10px #47d6ffbb;border-radius:2px}.neon-bar i:nth-child(3n){background:#8e8bff;box-shadow:0 0 10px #8e8bffaa}
.panel:has(.neon-logo) .actions{position:relative}.panel:has(.neon-logo) .action:first-child{box-shadow:0 5px 26px #23d9fb55}.panel:has(.neon-logo) .micro{position:relative}
