:root {
  --bg:#061018; --panel:#0d1c28; --panel2:#102535; --line:#28495a;
  --text:#eaf7ff; --muted:#8da9b8; --cyan:#61efd0; --blue:#63bfff;
  --amber:#ffc86b; --red:#ff667e; --violet:#b89cff; --shadow:#0008;
  --skin-board-bg:#050d13; --skin-closed:#1b3442; --skin-closed-line:#537485;
  --skin-open:#09151d; --skin-open-line:#152833; --skin-mine:#ff667e;
  --skin-flag:#b89cff; --skin-flag-stroke:#c6abff; --skin-question:#ffc86b;
  --skin-safe:#63bfff; --skin-focus:#ffc86b; --skin-hover:#61efd0;
  --skin-menu:radial-gradient(circle at 78% 25%,#164755 0,transparent 24%),radial-gradient(circle at 10% 95%,#242451 0,transparent 35%),linear-gradient(135deg,#061018,#0b1b28 55%,#061018); --skin-game:radial-gradient(circle at 50% -20%,#16394a,#061018 55%); --skin-background-image:none;
}
* { box-sizing:border-box; }
html { font-size:16px; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html,body { width:100%; max-width:100%; height:100%; margin:0; overflow:hidden; touch-action:manipulation; }
body { color:var(--text); background:var(--bg); font-family:Inter,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif; }
button,input,select,textarea { min-width:0; max-width:100%; font:inherit; }
button { color:inherit; }
button { touch-action:manipulation; -webkit-tap-highlight-color:#61efd02b; }
.hidden { display:none!important; }

.global-coin-balance { position:fixed; z-index:70; top:12px; right:12px; top:max(12px,env(safe-area-inset-top)); right:max(12px,env(safe-area-inset-right)); display:flex; align-items:center; gap:8px; min-height:42px; padding:7px 12px 7px 8px; border:1px solid #d9a83e; border-radius:999px; color:#fff1ba; background:#0a1720eb; box-shadow:0 8px 28px #0009,0 0 18px #ffc86b24; backdrop-filter:blur(10px); pointer-events:none; }
.native-back-button { position:fixed; z-index:90; top:max(10px,env(safe-area-inset-top)); left:max(10px,env(safe-area-inset-left)); display:grid; width:42px; height:42px; padding:0 2px 3px 0; place-items:center; border:1px solid #426577; border-radius:50%; color:var(--text); background:#0a1720eb; box-shadow:0 8px 24px #0008; backdrop-filter:blur(10px); font:600 2rem/1 -apple-system,BlinkMacSystemFont,sans-serif; cursor:pointer; }
.native-back-button:focus-visible { border-color:var(--cyan); outline:2px solid color-mix(in srgb,var(--cyan) 45%,transparent); outline-offset:2px; }
.native-back-button[hidden] { display:none; }
.global-coin-icon { display:grid; width:27px; height:27px; place-items:center; border:2px solid #ffe39a; border-radius:50%; color:#704500; background:linear-gradient(145deg,#fff0a8,#e5a72d); box-shadow:inset 0 0 0 2px #b77c18; }
.global-coin-icon svg { width:17px; height:17px; overflow:visible; fill:currentColor; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; filter:drop-shadow(0 1px 0 #fff1a077); }
.global-coin-label { color:#c3a96d; font-size:.58rem; font-weight:900; letter-spacing:.13em; }
.global-coin-balance strong { min-width:2ch; color:#fff4c8; font-size:.96rem; font-variant-numeric:tabular-nums; text-align:right; }
.global-coin-pending { padding:2px 5px; border:1px solid #d9a83e88; border-radius:999px; color:#ffe29a; background:#5a3c12; font-size:.58rem; font-weight:900; white-space:nowrap; }

/* Full-screen main menu */
.menu-screen { position:fixed; inset:0; z-index:30; overflow:auto; background-color:#061018; background-image:var(--skin-menu),var(--skin-background-image); background-size:cover,1024px 1024px; background-position:center; background-blend-mode:normal,soft-light; }
.menu-wrap { position:relative; display:grid; grid-template-columns:minmax(0,600px) minmax(260px,1fr); align-items:center; gap:clamp(40px,8vw,150px); width:min(1380px,calc(100% - 56px)); min-height:100%; margin:auto; padding:54px 0; }
.menu-wrap::after { content:""; position:absolute; right:3%; top:50%; width:min(37vw,510px); aspect-ratio:1; border:1px solid #61efd03e; border-radius:50%; box-shadow:0 0 0 44px #61efd008,0 0 0 88px #61efd006,0 0 90px #61efd024; transform:translateY(-50%); }
.menu-main,.menu-visual { position:relative; z-index:1; }
.eyebrow { color:var(--cyan); font-size:.72rem; font-weight:900; letter-spacing:.18em; }
.logo { margin:12px 0 18px; font-size:clamp(3.7rem,8.7vw,8rem); line-height:.78; letter-spacing:-.095em; }
.logo span { display:block; color:transparent; -webkit-text-stroke:1px #badce6; }
.tagline { max-width:520px; color:#bad0da; font-size:clamp(.92rem,1.5vw,1.08rem); }
.menu-actions { display:grid; gap:10px; margin-top:34px; }
.menu-priority { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.menu-btn { width:100%; min-height:64px; padding:12px 18px; text-align:left; border:1px solid #385b6d; border-radius:12px; background:#091925d9; cursor:pointer; transition:.16s ease; }
.menu-btn:hover:not(:disabled),.menu-btn:focus-visible { border-color:var(--cyan); background:#102d3e; transform:translateX(5px); outline:0; }
.menu-btn strong { display:block; color:var(--cyan); font-size:1rem; }.menu-btn small { color:var(--muted); }
.menu-btn:disabled { opacity:.35; cursor:not-allowed; }
.menu-btn .menu-kicker { display:block; margin-bottom:4px; color:#7f9ba7; font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.menu-btn--endless { min-height:88px; border-color:#37d7c1; background:linear-gradient(105deg,#0b3b41,#0d252e 66%); box-shadow:inset 4px 0 var(--cyan),0 8px 22px #19cbb522; }
.menu-btn--endless strong { color:#70ffe4; font-size:1.16rem; }.menu-btn--endless small { color:#b9e6df; }.menu-btn--endless .menu-kicker { color:#70ffe4; }
.menu-btn--classic { min-height:82px; border-color:#9a82dd; background:linear-gradient(140deg,#251e48,#101a30); box-shadow:inset 3px 0 var(--violet); }
.menu-btn--classic strong { color:#cab9ff; }.menu-btn--classic small { color:#c4bddb; }.menu-btn--classic .menu-kicker { color:#bda9fa; }
.menu-btn--howto { min-height:82px; border-color:#e6af5a; background:linear-gradient(140deg,#3b2c16,#17202d); box-shadow:inset 3px 0 var(--amber); }
.menu-btn--howto strong { color:#ffd37e; }.menu-btn--howto small { color:#e0ceb1; }.menu-btn--howto .menu-kicker { color:#ffd37e; }
.menu-btn--endless:hover:not(:disabled),.menu-btn--endless:focus-visible { border-color:#a4ffef; background:linear-gradient(105deg,#10535a,#12303a 66%); }
.menu-btn--classic:hover:not(:disabled),.menu-btn--classic:focus-visible { border-color:#d2c4ff; background:linear-gradient(140deg,#342963,#16213b); }
.menu-btn--howto:hover:not(:disabled),.menu-btn--howto:focus-visible { border-color:#ffe0a5; background:linear-gradient(140deg,#513b1c,#202c3d); }
.menu-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.menu-row--single { grid-template-columns:1fr; }
.menu-icon-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.menu-icon-btn--skills { color:var(--cyan); }
html:not([data-minebreaker-endless-skills="true"]) #skills { display:none; }
@media(max-width:540px) { .menu-actions .menu-icon-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.menu-icon-btn { position:relative; display:grid; min-width:0; min-height:72px; place-items:center; align-content:center; gap:4px; padding:7px 4px; border:1px solid #385b6d; border-radius:11px; color:#b9d7e3; background:#091925d9; cursor:pointer; transition:.16s ease; }
.menu-icon-btn svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.menu-icon-label { color:currentColor; font-size:.61rem; font-weight:900; line-height:1; white-space:nowrap; }.menu-icon-btn:hover,.menu-icon-btn:focus-visible { border-color:var(--cyan); color:var(--cyan); background:#102d3e; transform:translateY(-3px); outline:0; }
.menu-icon-btn--ranking { color:#ffd37e; }.menu-icon-btn--gifts { color:#ff9fcf; }.menu-icon-btn--gacha { color:#d7a5ff; }.menu-icon-btn--wardrobe { color:#ffb8dc; }.menu-icon-btn--shop { color:#71ffce; }.menu-icon-btn--options { color:#aeeaff; }.menu-icon-btn--notices { color:#ffe276; }.menu-icon-btn--howto { color:#ffc86b; }
.gift-badge { position:absolute; top:5px; right:5px; display:grid; min-width:20px; height:20px; padding:0 4px; place-items:center; border:2px solid #091925; border-radius:999px; color:#fff; background:#e93e70; font-size:.63rem; font-weight:900; line-height:1; }
.gift-list { display:grid; gap:9px; max-height:48vh; margin:14px 0; overflow:auto; }.gift-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; align-items:center; padding:12px; border:1px solid #35576a; border-radius:10px; background:#081722; text-align:left; }.gift-copy { min-width:0; }.gift-actions { display:flex; min-width:0; flex-direction:column; align-items:flex-end; gap:8px; }.gift-item.claimed { opacity:.58; }.gift-item h3 { margin:0; font-size:.9rem; overflow-wrap:anywhere; }.gift-item p { margin:5px 0 0; color:var(--muted); font-size:.7rem; line-height:1.45; overflow-wrap:anywhere; }.gift-coins { min-width:0; color:#ffd37e; font-weight:900; text-align:right; overflow-wrap:anywhere; }.gift-coins span { display:block; }.gift-item .action { min-height:38px; padding:6px 10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#account-restore { display:none; }
.menu-legal { display:flex; flex-wrap:wrap; gap:8px 14px; margin:20px 2px 0; color:var(--muted); font-size:.72rem; }
.menu-legal a { color:#a8c9d5; text-decoration:none; }.menu-legal a:hover,.menu-legal a:focus-visible { color:var(--cyan); text-decoration:underline; outline:0; }
.menu-visual { justify-self:center; width:min(100%,390px); padding:28px; border:1px solid #61efd044; border-radius:20px; background:#07131dc2; box-shadow:0 25px 80px #0009; }
.radar { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:1; overflow:hidden; border:1px solid #61efd055; border-radius:50%; background:repeating-radial-gradient(circle,#61efd00e 0 1px,transparent 1px 42px); }
.radar::before,.radar::after { content:""; position:absolute; background:#61efd035; }.radar::before { width:100%; height:1px; }.radar::after { width:1px; height:100%; }
.radar i { position:absolute; width:48%; height:1px; left:50%; top:50%; transform-origin:left; background:linear-gradient(90deg,var(--cyan),transparent); animation:sweep 5s linear infinite; }
.radar b { color:var(--cyan); font-size:5rem; text-shadow:0 0 24px var(--cyan); }
@keyframes sweep { to { transform:rotate(360deg); } }
body.reduce-motion * { animation:none!important; transition:none!important; }

/* Game shell */
.game-screen { position:fixed; inset:0; display:grid; grid-template-rows:auto minmax(0,1fr); width:100%; max-width:100%; height:100%; min-width:0; overflow:hidden; background-color:#061018; background-image:var(--skin-game),var(--skin-background-image); background-size:cover,1024px 1024px; background-position:center; background-blend-mode:normal,soft-light; }
#game,#game * { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; -webkit-user-drag:none; }
#game::before,#game::after { content:""; position:absolute; inset:0; z-index:6; pointer-events:none; opacity:0; }
#game.skill-recovery-ready::before { opacity:1; border:2px solid #a4ddff88; box-shadow:inset 0 0 32px #8bcfff44,inset 0 0 80px #8bcfff18; }
#game.skill-recovery-hit::after { z-index:7; opacity:var(--skill-recovery-flash,0); background:#ff47652e; box-shadow:inset 0 0 65px #ff47657a; }
.topbar { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; width:100%; max-width:100%; min-width:0; min-height:72px; padding:10px 16px; overflow:hidden; border-bottom:1px solid var(--line); background:#08151edb; backdrop-filter:blur(10px); }
.brand { min-width:170px; }.brand b { display:block; font-size:1.08rem; letter-spacing:-.04em; }.brand small { color:var(--cyan); font-size:.62rem; letter-spacing:.14em; }
.hud { display:flex; width:100%; max-width:100%; min-width:0; gap:7px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }.hud::-webkit-scrollbar { display:none; }
.stat { flex:0 0 auto; min-width:92px; max-width:100%; padding:7px 10px; overflow:hidden; border:1px solid #274453; border-radius:9px; background:#0a1924; }
.stat small { display:block; overflow:hidden; color:var(--muted); font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }.stat strong { display:block; overflow:hidden; font-size:.96rem; text-overflow:ellipsis; white-space:nowrap; }
.stat.energy strong { color:var(--cyan); }.stat.stage strong { color:var(--amber); }
.classic-retry { display:none; min-width:104px; color:#ffdda0; border-color:#7b6237; font:inherit; text-align:left; cursor:pointer; }.classic-retry strong { color:#ffdda0; }.classic-retry:hover { border-color:var(--amber); background:#241d12; }.classic-retry:disabled { cursor:wait; opacity:.6; }
.endless-restart { display:grid; align-self:center; box-sizing:border-box; width:42px; min-width:42px; height:42px; padding:0; place-items:center; color:#ffb6c5; border-color:#7b3f52; font:inherit; text-align:center; cursor:pointer; }.endless-restart strong { color:#ffb6c5; font-size:1.35rem; line-height:1; }.endless-restart:hover { border-color:#ff8ca5; background:#2a1620; }.endless-restart:disabled { cursor:wait; opacity:.6; }
.icon-btn { display:grid; flex:0 0 auto; min-width:42px; height:42px; place-items:center; border:1px solid #38596b; border-radius:9px; background:#102331; cursor:pointer; }.icon-btn svg { width:19px; height:19px; stroke:currentColor; }.home-symbol { display:none; }.icon-btn:hover { border-color:var(--cyan); }
.game-body { display:grid; grid-template-columns:minmax(0,1fr) 280px; width:100%; max-width:100%; min-width:0; min-height:0; overflow:hidden; }
.board-shell { position:relative; min-width:0; min-height:0; overflow:hidden; background:#050d13; touch-action:none; }
#board { display:block; width:100%; height:100%; cursor:crosshair; touch-action:none; }
#board.dragging { cursor:grabbing; }
.board-tools { position:absolute; z-index:3; left:12px; bottom:12px; display:flex; gap:6px; padding:6px; border:1px solid #29495a; border-radius:11px; background:#07141dde; backdrop-filter:blur(7px); }
.tool-btn { min-width:42px; height:38px; padding:0 10px; border:1px solid #34566a; border-radius:8px; background:#102535; cursor:pointer; }.tool-btn:hover { border-color:var(--cyan); }
.tool-icon { display:none; }.tool-help { min-width:42px; padding:0; }.tool-help .tool-icon { display:block; font-size:1.05rem; font-weight:900; }.tool-help .tool-label { display:none; }
.mode-hint { position:absolute; z-index:2; top:12px; left:50%; max-width:calc(100% - 28px); padding:7px 11px; border:1px solid #2f5264; border-radius:99px; color:#c9dce5; background:#07151ed9; font-size:.72rem; transform:translateX(-50%); pointer-events:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar { width:100%; max-width:100%; min-width:0; min-height:0; overflow:auto; overflow-x:hidden; padding:14px; border-left:1px solid var(--line); background:#0b1924; }
.section-title { margin:14px 0 7px; color:var(--muted); font-size:.65rem; font-weight:900; letter-spacing:.13em; }.section-title:first-child { margin-top:0; }
.mode-grid { display:grid; width:100%; min-width:0; gap:7px; }
.option-row.option-button-order { flex-direction:column; align-items:stretch; gap:10px; }
.option-row.option-button-order select { width:100%; min-height:44px; }
.mode-btn { width:100%; max-width:100%; min-width:0; min-height:52px; padding:8px 10px; overflow:hidden; text-align:left; border:1px solid #35576a; border-radius:9px; background:#102331; cursor:pointer; }
.mode-btn:focus { outline:none; }.mode-btn:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }.mode-btn.active { color:#061310; border-color:var(--cyan); background:var(--cyan); font-weight:900; }
@media (hover:hover) and (pointer:fine) { .mode-btn:hover { border-color:var(--cyan); } }
.mode-btn strong { display:block; overflow:hidden; text-overflow:ellipsis; }.mode-btn small { display:block; overflow:hidden; color:var(--muted); font-size:.67rem; text-overflow:ellipsis; }.mode-btn.active small { color:#174238; }
.mode-btn.probe.active { color:#07131e; border-color:var(--blue); background:var(--blue); }.mode-btn.question.active { color:#1d1605; border-color:var(--amber); background:var(--amber); }
#game.classic-game .stat.energy,#game.classic-game .mode-btn.probe,#game.classic-game .probe-energy { display:none; }
#game.classic-game .skill-action,#game.classic-game .skill-result,#game.classic-game .skill-result-restore { display:none; }

.endless-build-dialog{max-width:760px}.standard-run-choice{border:1px solid color-mix(in srgb,var(--cyan) 55%,var(--line));border-radius:14px;padding:14px;margin:12px 0;background:color-mix(in srgb,var(--cyan) 8%,var(--panel))}.endless-skill-choice-list{display:grid;gap:10px;margin:12px 0}.endless-skill-choice{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel2)}.endless-skill-choice.locked{opacity:.58}.endless-skill-choice h3,.endless-skill-choice p{margin:0}.endless-skill-choice p{font-size:.86rem;color:var(--muted)}.endless-skill-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--cyan) 15%,var(--panel));color:var(--cyan);font-size:1.45rem;font-weight:900}.skill-test-level{display:grid;gap:3px;font-size:.72rem;color:var(--muted)}.skill-test-level select{min-width:64px}.skill-result{margin-top:10px;line-height:1.55}.skill-result strong{color:var(--cyan)}
@media(max-width:640px){.endless-skill-choice{grid-template-columns:42px minmax(0,1fr)}.endless-skill-choice .action,.skill-test-level{grid-column:2}.endless-skill-choice .action{width:100%}}
/* Results overlay the board so activating a skill never moves the action buttons. */
.board-shell .skill-result { position:absolute; z-index:4; top:52px; right:12px; display:flex; flex-direction:column; width:300px; max-width:calc(100% - 24px); max-height:calc(100% - 116px); margin:0; padding:0; overflow:hidden; color:#edf6fc; font-size:.875rem; background:#0c1e2b; border-color:#517385; box-shadow:0 6px 24px #0008; }
.skill-result-restore { position:absolute; z-index:4; top:52px; right:12px; min-height:44px; max-width:calc(100% - 24px); padding:6px 12px; border:1px solid #517385; border-radius:99px; color:var(--cyan); background:#0c1e2b; box-shadow:0 4px 14px #0006; font-size:.875rem; font-weight:700; cursor:pointer; }
.skill-result-restore:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
.skill-result-heading { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:8px; padding:5px 10px; border-bottom:1px solid #355264; }
.skill-result-heading strong { min-width:0; overflow-wrap:anywhere; font-size:.875rem; line-height:1.4; }
.skill-result-heading .icon-btn { width:44px; min-width:44px; height:44px; font-size:1.5rem; }
[data-skill-result-text] { min-height:0; padding:8px 10px; overflow:auto; overscroll-behavior:contain; touch-action:pan-y; overflow-wrap:anywhere; }
.skill-result-context { margin:0 0 6px; color:#cfdee8; font-size:.8125rem; }
.skill-result-context b { color:#fff; }
.skill-result-metrics,.skill-number-grid { display:grid; gap:6px; margin:0; font-variant-numeric:tabular-nums; }
.skill-result-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
.skill-number-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.skill-result-metrics>div,.skill-number-grid>div { min-width:0; padding:4px; border:1px solid #3f6073; border-radius:8px; background:#142e40; text-align:center; }
.skill-result-metrics dt,.skill-number-grid dt { color:#d1e2ed; font-size:.8125rem; line-height:1.3; }
.skill-number-grid dt b { color:#fff; font-size:.875rem; }
.skill-result-metrics dd,.skill-number-grid dd { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:3px; margin:2px 0 0; line-height:1.2; }
.skill-result-metrics strong { color:#fff; font-size:1.625rem; line-height:1.2; }
.skill-number-grid strong { color:#fff; font-size:1.25rem; line-height:1.2; }
.skill-result-metrics dd span,.skill-number-grid dd span { color:#cfdee8; font-size:.75rem; }
.skill-number-grid .is-empty { background:#102432; border-color:#304e60; }
.skill-number-grid .is-empty strong { color:#adc0ce; }
.skill-result-footnote { margin:6px 0 0; color:#adc0ce; font-size:.75rem; line-height:1.5; }
.skill-result-message { margin:0; white-space:pre-wrap; line-height:1.7; }
@media(max-height:500px) and (min-width:541px) {
  .board-shell .skill-result { top:8px; max-height:calc(100% - 16px); }
  .skill-result-restore { top:8px; }
}
@media(max-width:380px) {
  [data-skill-result-text] { padding:8px 12px; }
  .skill-result-context { margin-bottom:6px; }
  .skill-number-grid { gap:6px; }
  .skill-number-grid>div { padding:4px; }
  .skill-number-grid dt { line-height:18px; }
  .skill-number-grid dd { gap:2px; margin-top:2px; line-height:24px; }
  .skill-number-grid strong { font-size:1.25rem; line-height:24px; }
  .skill-number-grid dd span { font-size:11px; }
  .skill-result-footnote { margin-top:6px; }
}
.skill-gacha-list{display:grid;gap:9px;margin:14px 0}.skill-gacha-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}.skill-gacha-card.maxed{opacity:.58}.skill-gacha-card h3,.skill-gacha-card p{margin:0}.skill-gacha-card p{color:var(--muted);font-size:.8rem}.skill-gacha-card>b{color:var(--cyan);font-size:.78rem}.endless-skill-icon.large{width:76px;height:76px;margin:16px auto;font-size:2.4rem}.skill-gacha-award{text-align:center}.skill-gacha-award .dialog-actions{text-align:left}
.endless-mode-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0; }
.endless-mode-tabs .action { min-width:0; min-height:44px; padding:10px 6px; font-size:clamp(.76rem,3vw,.95rem); }
.endless-mode-tabs [role="tab"]:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }
#endless-mode-panel { min-width:0; }
.endless-skill-choice.selected { border-color:var(--cyan); background:#12313a; }
.endless-skill-choice.selected .action { border-color:var(--cyan); color:var(--cyan); }
.endless-skill-choice small { display:block; margin-top:6px; line-height:1.5; color:#b8cdd6; }
.selected-endless-skill { padding:10px 12px; border:1px solid #3f786f; border-radius:10px; color:var(--cyan); background:#0c292e; font-weight:700; }
#game.classic-game .classic-retry { display:block; }
#game.classic-game .endless-restart,#game.tutorial-game .classic-retry,#game.tutorial-game .endless-restart { display:none; }#game.tutorial-game .mode-hint { border-color:var(--amber); color:#ffe1a8; }
#game.classic-game .mode-grid { grid-template-columns:1fr; }
.panel { padding:10px; border:1px solid #284756; border-radius:10px; background:#081720; color:#b8cdd6; font-size:.75rem; }
.panel b { color:var(--text); }.energy-bar { height:7px; margin-top:8px; overflow:hidden; border-radius:99px; background:#19303c; }.energy-bar i { display:block; height:100%; background:linear-gradient(90deg,var(--blue),var(--cyan)); }
.legend { display:grid; grid-template-columns:1fr 1fr; gap:6px; color:var(--muted); font-size:.68rem; }.legend span { display:flex; align-items:center; gap:6px; }.swatch { width:10px; height:10px; border-radius:2px; }.swatch.flag { background:var(--violet); }.swatch.question { border:2px solid var(--amber); border-radius:50%; }.swatch.safe { border:2px solid var(--blue); }.swatch.mine { background:var(--red); transform:rotate(45deg); }.swatch.last { border:2px solid var(--amber); }
.mini-wrap { position:relative; aspect-ratio:1; overflow:hidden; border:1px solid #2a4b5b; border-radius:10px; background:#061018; cursor:crosshair; }
#minimap { display:block; width:100%; height:100%; }
.log { min-height:68px; color:#b9cfd8; }.shortcut { color:#668493; font-size:.64rem; line-height:1.65; }

/* Dialogs */
.dialog { position:fixed; inset:0; z-index:50; display:none; width:100%; max-width:100%; min-width:0; place-items:center; padding:max(18px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px)); overflow:hidden; background:#02070bc7; backdrop-filter:blur(8px); }.dialog.show { display:grid; }
.dialog-box { width:min(720px,100%); max-width:100%; min-width:0; max-height:calc(100dvh - 36px); overflow:auto; overflow-x:hidden; padding:clamp(22px,4vw,38px); overflow-wrap:anywhere; border:1px solid #426b7d; border-radius:18px; background:linear-gradient(135deg,#112a35,#161e3c); box-shadow:0 26px 90px #000; }.dialog-box.has-pinned-footer { display:flex; flex-direction:column; overflow:hidden; padding:0; }.dialog-content { min-width:0; min-height:0; overflow:auto; overflow-x:hidden; overscroll-behavior:contain; padding:clamp(22px,4vw,38px) clamp(22px,4vw,38px) 14px; scrollbar-color:#4c8ca0 #07141d; }.dialog-footer { flex:0 0 auto; min-width:0; padding:10px clamp(22px,4vw,38px) clamp(22px,4vw,38px); border-top:1px solid #426b7d88; background:linear-gradient(180deg,#112a35f2,#161e3cf7); box-shadow:0 -12px 24px #08101966; }.dialog-footer .dialog-actions { margin-top:0; }
.dialog-box h2 { margin:5px 0 10px; font-size:clamp(1.7rem,4vw,2.7rem); line-height:1.05; }.dialog-box p { color:#bfd2da; }
.result-over-dialog { position:relative; }.result-over-dialog .eyebrow,.result-over-dialog h2 { padding-left:52px; }.dialog-back { position:absolute; top:0; left:0; display:grid; width:40px; height:40px; place-items:center; border:1px solid #426577; border-radius:9px; color:var(--text); background:#0a1b27; font:inherit; font-size:1.45rem; line-height:1; cursor:pointer; }.dialog-back:hover,.dialog-back:focus-visible { border-color:var(--cyan); outline:none; }.result-retry { min-height:68px!important; font-size:1.08rem!important; }.result-over-footer { margin-top:9px; }
.purchase-legal { display:flex; flex-wrap:wrap; gap:7px 13px; margin:15px 0; padding:11px 13px; border:1px solid #4b6878; border-radius:9px; background:#071923; font-size:.76rem; }.purchase-legal a { color:#8cf7e0; font-weight:900; text-decoration:none; }.purchase-legal a:hover,.purchase-legal a:focus-visible { color:#ffffff; text-decoration:underline; outline:0; }
.dialog-actions { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-top:22px; }.dialog-actions.one { grid-template-columns:1fr; }.dialog-actions.triple { grid-template-columns:repeat(3,1fr); }.ranking-period-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:12px; }.ranking-period-tabs .action { min-height:44px; padding:8px 6px; font-size:.9rem; white-space:nowrap; }.ranking-footer-actions { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; }.ranking-dialog h2 { margin:4px 0 4px; font-size:clamp(1.5rem,4vw,2.05rem); }.ranking-meta { display:flex; flex-wrap:wrap; gap:4px 12px; margin:10px 0 2px; color:var(--muted); font-size:.72rem; }.ranking-meta span { white-space:nowrap; }.ranking-meta span+span::before { content:'・'; margin-right:12px; color:#527180; }.ranking-dialog .ranking-table { margin-top:12px; }.ranking-self { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; margin-top:11px; padding:10px 11px; border:1px solid #61efd066; border-radius:9px; background:#61efd00a; font-size:.76rem; }.ranking-self b { color:var(--cyan); }.ranking-self small { color:var(--muted); }.ranking-error { margin:9px 0; color:var(--amber); font-size:.72rem; }.ranking-error summary { cursor:pointer; }.ranking-error p { margin:6px 0 0; color:var(--amber); overflow-wrap:anywhere; }
.dialog-actions.tutorial-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.dialog-actions.tutorial-actions.triple { grid-template-columns:repeat(3,minmax(0,1fr)); }
.action { min-height:52px; padding:10px 13px; border:1px solid #426577; border-radius:10px; background:#0b1b27; cursor:pointer; }.action:hover { border-color:var(--cyan); }.action.primary { color:#061411; border-color:var(--cyan); background:var(--cyan); font-weight:900; }a.action { display:grid; place-items:center; color:inherit; text-align:center; text-decoration:none; }
.results { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0; }.results.revive-results { grid-template-columns:repeat(2,minmax(0,1fr)); }.result { padding:12px; border:1px solid #345566; border-radius:10px; background:#091923; }.result small { display:block; color:var(--muted); font-size:.65rem; }.result strong { color:var(--cyan); font-size:1.25rem; }
.ranking-tabs { display:flex; gap:7px; margin:15px 0; }.ranking-week-note { display:flex; flex-wrap:wrap; align-items:center; gap:5px 10px; margin:9px 0 3px; padding:8px 10px; border:1px solid #ffc86b55; border-radius:8px; background:#2a211433; font-size:.7rem; line-height:1.4; }.ranking-week-note b { color:var(--cyan); font-size:.64rem; letter-spacing:.08em; }.ranking-week-condition { color:#ffe09a; font-weight:900; }.ranking-week-prizes { color:#ffc86b; font-weight:900; }.ranking-week-bonus { color:#83f0ca; font-weight:900; }.ranking-table-scroll { max-height:min(39vh,340px); margin-top:12px; overflow:auto; overscroll-behavior:contain; border:1px solid #294b5b; border-radius:9px; background:#06141d88; -webkit-overflow-scrolling:touch; scrollbar-color:#4c8ca0 #07141d; }.ranking-table { width:100%; border-collapse:collapse; font-size:.78rem; }.ranking-table th,.ranking-table td { padding:9px 7px; border-bottom:1px solid #294655; text-align:right; }.ranking-table th:first-child,.ranking-table td:first-child,.ranking-table th:nth-child(2),.ranking-table td:nth-child(2) { text-align:left; }.ranking-table th { position:sticky; top:0; z-index:1; color:var(--muted); background:#0b202cf2; font-size:.65rem; }.ranking-mine td { color:#ffe45c; }
.ranking-type-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px}.ranking-skill-icon{display:inline-grid;place-items:center;min-width:32px;min-height:32px;border:1px solid #61efd066;border-radius:50%;background:#61efd012;color:var(--cyan);font-size:1rem;cursor:pointer}.ranking-skill-icon:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ranking-skill-detail{margin:9px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.75rem}
.express-checkout { min-height:48px; margin:18px 0 10px; }.express-checkout:empty { display:none; }
.classic-levels { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:7px; max-height:min(46vh,390px); margin-top:18px; padding:9px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #385c6d; border-radius:11px; background:#061620a8; scrollbar-color:#4c8ca0 #07141d; }.classic-level { position:relative; min-height:42px; padding:5px; border:1px solid #35576a; border-radius:8px; background:#0a1a26; color:var(--cyan); cursor:pointer; font-weight:900; }.classic-level:hover:not(:disabled) { border-color:var(--cyan); background:#123342; }.classic-level.current { border-color:var(--amber); color:var(--amber); }.classic-level.crowned { border-color:#d8ae42; box-shadow:inset 0 0 0 1px #f8d67544; }.classic-level.practice { border-style:dashed; color:#9fc6d4; }.classic-crown,.classic-practice { position:absolute; top:-7px; right:-5px; font-size:.84rem; line-height:1; filter:drop-shadow(0 1px 2px #000); }.classic-crown { color:#ffdb63; }.classic-practice { display:grid; place-items:center; width:17px; height:17px; border:1px solid #8eb7c6; border-radius:50%; background:#102a36; color:#bfe5ef; font-size:.58rem; }.classic-level:disabled { color:#587080; opacity:.45; cursor:not-allowed; }
.options-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:16px 0 3px; }.options-tab { min-height:42px; padding:7px 5px; border:1px solid #385e70; border-radius:9px; color:#c8dae0; background:#0b202c; font:inherit; font-size:.82rem; font-weight:900; cursor:pointer; }.options-tab:hover,.options-tab:focus-visible { border-color:var(--cyan); outline:none; }.options-tab.active { color:#061411; border-color:var(--cyan); background:var(--cyan); }.options-panel[hidden] { display:none; }
.option-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid #2d4b5b; }.option-row span { min-width:0; }.option-row small { display:block; margin-top:4px; color:var(--muted); font-size:.68rem; line-height:1.35; }.option-row input[type="text"],.option-row select { width:min(240px,50%); padding:9px 11px; border:1px solid #426173; border-radius:8px; color:var(--text); background:#081721; font:inherit; }
.option-volume { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,44%) auto; align-items:center; gap:10px; }.option-volume input[type="range"] { width:100%; accent-color:var(--cyan); }.option-volume output { min-width:3.2em; color:var(--amber); font-variant-numeric:tabular-nums; text-align:right; }.option-audio-preview { min-height:38px; padding:6px 10px; font-size:.72rem; }
.intro-dismiss { display:flex; align-items:center; gap:8px; margin-top:16px; color:#bed2db; font-size:.84rem; cursor:pointer; }.intro-dismiss input { accent-color:var(--cyan); }
.notice-list { display:grid; gap:8px; max-height:min(46vh,330px); margin:16px 0 0; padding:9px; overflow-y:auto; overscroll-behavior:contain; border:1px solid #385c6d; border-radius:11px; background:#061620a8; scrollbar-color:#4c8ca0 #07141d; }.notice-list-item { width:100%; min-height:54px; padding:13px 14px; border:1px solid #426173; border-radius:9px; color:var(--text); background:#0a1b26; font:inherit; font-weight:900; text-align:left; cursor:pointer; transition:border-color .16s,background .16s,transform .16s; }.notice-list-item:hover,.notice-list-item:focus-visible { border-color:var(--cyan); background:#0d2632; outline:none; transform:translateY(-1px); }
.startup-notice-list { display:grid; gap:8px; margin:16px 0 0; padding-left:1.25em; color:#c8d9e0; }.startup-notice-list li::marker { color:var(--cyan); }
.startup-notice-date { margin:0; color:var(--muted)!important; font-size:.76rem; }
.transfer-code { margin:18px 0; padding:16px; overflow-wrap:anywhere; border:1px solid var(--amber); border-radius:10px; color:var(--amber); background:#17140d; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:clamp(1rem,4vw,1.45rem); font-weight:900; letter-spacing:.12em; text-align:center; user-select:all; }
.shop-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:18px 0 16px; }.shop-tab { min-height:43px; border:1px solid #385e70; border-radius:9px; color:#c8dae0; background:#0b202c; font:inherit; font-weight:900; cursor:pointer; }.shop-tab:hover,.shop-tab:focus-visible { border-color:var(--cyan); outline:none; }.shop-tab.active { color:#061411; border-color:var(--cyan); background:var(--cyan); }.shop-panel[hidden] { display:none; }.shop-panel-title { margin:0 0 5px; font-size:1.65rem; }.shop-panel-description { margin:0 0 16px!important; }.shop-coin-balance { margin:0 0 12px!important; color:var(--amber)!important; font-weight:900; }.shop-coin-list { display:grid; gap:10px; margin:0 0 16px; }.shop-coin-pack { width:100%; min-height:76px; padding:10px 14px; border:1px solid #426577; border-radius:10px; color:var(--text); background:#081b27; font:inherit; text-align:center; cursor:pointer; }.shop-coin-pack:hover,.shop-coin-pack:focus-visible { border-color:var(--cyan); background:#0c2633; outline:none; }.shop-coin-pack:disabled { opacity:.55; cursor:wait; }.shop-coin-pack b { display:block; font-size:1rem; }.shop-coin-pack .shop-price { margin:4px 0 0; padding:0; font-size:1.05rem; }.shop-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 18px; }.shop-item { display:flex; min-height:228px; flex-direction:column; padding:17px; border:1px solid #3c6275; border-radius:13px; background:linear-gradient(145deg,#0c2230,#0a1724); }.shop-item.featured { border-color:#61efd0a8; box-shadow:inset 0 0 28px #61efd00c; }.shop-item .shop-kind { color:var(--cyan); font-size:.62rem; font-weight:900; letter-spacing:.13em; }.shop-item h3 { margin:8px 0 7px; font-size:1.15rem; }.shop-item p { margin:0; color:#a9c1cc; font-size:.76rem; line-height:1.55; }.shop-price { display:block; margin-top:auto; padding-top:13px; color:var(--amber); font-size:1.3rem; font-weight:900; }.shop-price small { color:var(--muted); font-size:.68rem; font-weight:700; }.shop-item .action { margin-top:12px; }
.apple-refund-list { display:grid; gap:10px; margin:16px 0; }.apple-refund-request { display:flex; min-height:72px; flex-direction:column; align-items:center; justify-content:center; gap:5px; }.apple-refund-request b { font-size:.95rem; }.apple-refund-request small { color:var(--muted); font-size:.7rem; }
.gacha-hero { position:relative; overflow:hidden; margin:16px 0; padding:22px; border:1px solid #7d6cff; border-radius:14px; background:radial-gradient(circle at 83% 12%,#ffcf6a44,transparent 32%),radial-gradient(circle at 14% 95%,#68f4e03d,transparent 42%),linear-gradient(135deg,#20214c,#101c35); }.gacha-hero::after { content:'✦'; position:absolute; right:20px; bottom:-18px; color:#ffffff24; font-size:9rem; line-height:1; }.gacha-hero > * { position:relative; z-index:1; }.gacha-status { margin:0 0 12px!important; color:#e1d9ff!important; }.gacha-result { position:relative; overflow:hidden; margin:18px 0; padding:20px; border:1px solid #ffdc83; border-radius:14px; background:radial-gradient(circle at 50% 42%,#ffedaa42,transparent 42%),linear-gradient(145deg,#4a315d,#152746); text-align:center; animation:gacha-award-enter .42s cubic-bezier(.2,.8,.2,1) both; }.gacha-result::before,.gacha-result::after { content:'✦'; position:absolute; color:#ffe889; font-size:1.35rem; animation:gacha-sparkle 1.15s ease-in-out infinite alternate; }.gacha-result::before { top:16px; left:17%; }.gacha-result::after { right:16%; bottom:21px; animation-delay:.3s; }.gacha-award-header { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; gap:12px; }.gacha-award-header h2,.gacha-award-header h3 { margin:4px 0 8px; color:#fff3c4; font-size:clamp(1.25rem,4vw,1.65rem); }.gacha-award-spark { color:#ffe889; font-size:1.45rem; text-shadow:0 0 12px #ffdb65; animation:gacha-sparkle .8s ease-in-out infinite alternate; }.gacha-award-spark:last-child { animation-delay:.22s; }.gacha-award-stage { position:relative; display:grid; width:min(240px,72vw); aspect-ratio:1; place-items:center; margin:7px auto 8px; border:1px solid #ffe9a2; border-radius:50%; background:radial-gradient(circle,#fff9d9 0 3%,#ffc95b 4% 7%,#5f3d78 8% 42%,#192d52 70%); box-shadow:0 0 0 7px #ffdf8222,0 0 32px #ffd76a88,inset 0 0 26px #fff0a088; }.gacha-award-rays { position:absolute; inset:-12%; border-radius:50%; background:repeating-conic-gradient(from 0deg,#ffe99c00 0 8deg,#ffe99c72 8deg 12deg,#ffe99c00 12deg 25deg); opacity:.65; animation:gacha-rays 9s linear infinite; }.gacha-award-preview { position:relative; z-index:1; width:78%; height:78%; border:1px solid #fff6c488; border-radius:14px; background:#07131d; box-shadow:0 8px 18px #0007; }.gacha-award-state { position:absolute; z-index:2; bottom:10px; padding:4px 9px; border:1px solid #fff3ba77; border-radius:999px; color:#fff7d4; background:#14162bd9; font-size:.63rem; font-weight:900; letter-spacing:.04em; }.gacha-award-description { position:relative; z-index:1; max-width:420px; margin:8px auto 0!important; color:#e9e7fb!important; font-size:.8rem; }.gacha-award-status { position:relative; z-index:1; min-height:1.3em; margin:8px 0 0!important; color:#a8f6e5!important; font-size:.78rem; font-weight:900; }.skin-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }.skin-card { min-height:150px; padding:11px; border:1px solid #3c6275; border-radius:11px; background:#0b1b27; text-align:left; }.skin-set { min-height:0; }.skin-swatch { display:block; height:52px; border:1px solid #ffffff52; border-radius:7px; background:linear-gradient(135deg,var(--swatch-a),var(--swatch-b)); }.skin-card strong { display:block; margin-top:9px; }.skin-card small { display:block; min-height:29px; margin-top:3px; color:var(--muted); font-size:.67rem; }.skin-parts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:9px; }.skin-part { display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; column-gap:5px; min-height:48px; padding:4px; border:1px solid #536c7a; border-radius:6px; color:#e8f4f8; background:#18303c; font:inherit; text-align:left; cursor:pointer; }.part-preview { grid-row:1 / 3; width:42px; height:42px; border:1px solid #ffffff33; border-radius:4px; background:#07131d; }.skin-part span,.skin-part small { display:block; }.skin-part span { align-self:end; font-size:.67rem; font-weight:900; }.skin-part small { min-height:0; margin:0; font-size:.58rem; }.skin-part.owned { opacity:.44; filter:saturate(.45); }.skin-part:disabled { cursor:not-allowed; } @keyframes gacha-award-enter { from { opacity:0; transform:translateY(10px) scale(.96); } to { opacity:1; transform:none; } } @keyframes gacha-sparkle { to { transform:scale(1.35) rotate(18deg); opacity:.48; } } @keyframes gacha-rays { to { transform:rotate(360deg); } }
/* Wardrobe workbench */
.dialog-box.wardrobe-dialog { width:min(1060px,100%); height:min(92vh,920px); max-height:92vh; padding:clamp(14px,2.4vw,26px); overflow:hidden; }
.wardrobe-workbench { display:grid; grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto; height:100%; gap:12px; }
.wardrobe-preview-panel,.wardrobe-selector-panel { min-height:0; border:1px solid #3b6274; border-radius:14px; background:#071720bb; overflow:hidden; }
.wardrobe-preview-panel { position:relative; display:grid; grid-template-rows:auto minmax(0,1fr); padding:12px; background:linear-gradient(145deg,#102a35,#07141f); }
.wardrobe-preview-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:1px 3px 9px; }.wardrobe-preview-header h3 { margin:2px 0 0; font-size:1rem; }.wardrobe-preview-header small { color:var(--muted); font-size:.67rem; text-align:right; }
#wardrobe-test-board { display:block; width:100%; min-height:0; height:100%; border:1px solid #ffffff24; border-radius:9px; background:#050d13; }
.wardrobe-selector-panel { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; padding:12px; }.wardrobe-selector-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }.wardrobe-selector-title h3 { margin:2px 0 8px; font-size:1rem; }.wardrobe-selector-title small { color:var(--muted); font-size:.68rem; }
.wardrobe-tabs { display:grid; grid-template-columns:repeat(7,minmax(90px,1fr)); gap:6px; padding-bottom:10px; overflow-x:auto; scrollbar-width:thin; }.wardrobe-tab { min-height:38px; padding:5px 7px; border:1px solid #375d6d; border-radius:8px; color:#c8dae0; background:#0b202c; font:inherit; font-size:.72rem; font-weight:800; cursor:pointer; white-space:nowrap; }.wardrobe-tab:hover,.wardrobe-tab:focus-visible { border-color:var(--cyan); outline:none; }.wardrobe-tab.active { color:#061411; border-color:var(--cyan); background:var(--cyan); }
.wardrobe-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:start; gap:8px; min-height:0; overflow:auto; padding:1px 2px 8px; scrollbar-color:#4c8ca0 #07141d; }.wardrobe-choice { display:grid; grid-template-columns:48px 1fr; align-items:center; gap:8px; min-height:64px; padding:7px; border:1px solid #385e70; border-radius:9px; color:var(--text); background:#0a1c28; font:inherit; text-align:left; cursor:pointer; }.wardrobe-choice:hover:not(:disabled),.wardrobe-choice:focus-visible { border-color:var(--cyan); background:#102c38; outline:none; }.wardrobe-choice.equipped { border-color:var(--cyan); background:#143e3a; box-shadow:inset 3px 0 var(--cyan); }.wardrobe-choice:disabled { color:#79909a; opacity:.55; cursor:not-allowed; }.wardrobe-choice canvas { width:48px; height:48px; border:1px solid #ffffff2b; border-radius:6px; background:#07131d; }.wardrobe-choice b,.wardrobe-choice small { display:block; }.wardrobe-choice b { font-size:.78rem; }.wardrobe-choice small { margin-top:2px; color:var(--muted); font-size:.62rem; }.wardrobe-choice.equipped small { color:#a8f6e5; }
.wardrobe-error { min-height:16px; margin:6px 2px 0!important; color:var(--red)!important; font-size:.68rem; }
.tutorial-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }.tutorial-choice { min-height:190px; padding:18px; text-align:left; border:1px solid #426577; border-radius:13px; background:#091a26; cursor:pointer; }.tutorial-choice:hover { border-color:var(--cyan); background:#102b3a; }.tutorial-choice b { display:block; margin-bottom:8px; color:var(--cyan); font-size:1.15rem; }.tutorial-choice small { color:var(--muted); line-height:1.6; }
.tutorial-progress { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:16px 0 10px; color:var(--muted); font-size:.72rem; }.tutorial-progress i { display:block; flex:1; height:5px; overflow:hidden; border-radius:99px; background:#1a3341; }.tutorial-progress i::after { content:""; display:block; width:var(--tutorial-progress); height:100%; background:var(--cyan); }
.tutorial-visual { margin:18px 0; padding:14px; border:1px solid #31576a; border-radius:12px; background:#07141d; }.tutorial-board { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; width:min(100%,290px); margin:auto; }.tutorial-cell { display:grid; aspect-ratio:1; place-items:center; border:1px solid #34566a; border-radius:6px; background:#172b38; color:var(--text); font-weight:900; }.tutorial-cell.open { background:#0a1720; }.tutorial-cell.flag { color:#c6abff; }.tutorial-cell.question { color:var(--amber); }.tutorial-cell.n1 { color:#69c7ff; }.tutorial-cell.n2 { color:#71e6a0; }.tutorial-cell.n3 { color:#ffb16f; }
.tutorial-image { display:block; width:min(100%,360px); margin:auto; border:1px solid #31576a; border-radius:9px; background:#050d13; }
.tutorial-ui { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }.tutorial-ui div,.tutorial-key { padding:9px; border:1px solid #36586a; border-radius:8px; background:#0c202d; }.tutorial-ui small { display:block; color:var(--muted); font-size:.58rem; }.tutorial-ui b { color:var(--cyan); }.tutorial-key-list { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:8px; color:#bed2db; font-size:.72rem; }.tutorial-key b { color:var(--amber); }
.probe-result-examples { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.probe-result-example { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:8px; padding:9px; border:1px solid #36586a; border-radius:9px; background:#0c202d; text-align:left; }.probe-result-cell { display:grid; width:40px; aspect-ratio:1; place-items:center; border:2px solid #4a6d80; border-radius:7px; background:#132d3b; font-size:1.45rem; line-height:1; }.probe-result-cell.mine { border-color:#ff7192; color:#ff7192; box-shadow:0 0 12px #ff3e6b66; }.probe-result-cell.safe { border-color:#65f4d8; color:#65f4d8; box-shadow:0 0 12px #38e5c866; }.probe-result-example b { display:block; color:var(--text); font-size:.78rem; }.probe-result-example small { display:block; margin-top:3px; color:var(--muted); font-size:.64rem; line-height:1.35; }

@media(max-width:880px) {
  /* Keep bottom action buttons stationary when charge details wrap or change. */
  .sidebar .probe-energy { display:none; }
  .sidebar .panel.secondary { display:none; }
  .menu-wrap { display:block; width:min(100% - 34px,620px); padding:38px 0; }.menu-visual { display:none; }.logo { font-size:clamp(3.5rem,16vw,6rem); }
  .game-body { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; }.sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; max-height:245px; border-left:0; border-top:1px solid var(--line); }.sidebar .section-title { display:none; }.mode-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-column:1/-1; }.mode-btn { min-height:45px; text-align:center; }#game.classic-game .mode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.sidebar .mini-wrap { display:none; }.shortcut { display:none; }
  .topbar { min-height:64px; padding:8px; }.brand { min-width:112px; }.brand b { font-size:14px; }.brand small { font-size:10px; }.stat { min-width:78px; padding:6px 8px; }.stat small { font-size:10px; }.stat strong { font-size:15px; }.classic-retry { min-width:88px; }.endless-restart { min-width:42px; padding:0; }.endless-restart strong { font-size:21px; }.mode-hint { font-size:12px; }.mode-btn strong { font-size:16px; }.mode-btn small { font-size:11px; }.sidebar .panel { font-size:12px; }.stat.optional { display:none; }
}

.ruleset-choice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }.ruleset-choice { display:flex; min-height:250px; flex-direction:column; padding:15px; border:1px solid #426577; border-radius:12px; background:#0a1a26; }.ruleset-choice.selected { border-color:var(--cyan); box-shadow:inset 0 0 24px #61efd012; }.ruleset-choice h3 { margin:6px 0 7px; }.ruleset-choice p { margin:0 0 10px; color:#b7cad2; line-height:1.55; }.ruleset-choice .small { color:var(--muted); font-size:.75rem; }.ruleset-choice .action { margin-top:auto; }.ruleset-survey { margin-top:16px; padding:13px; border:1px solid #385d6d; border-radius:10px; background:#091923; }.ruleset-survey h3 { margin:0 0 5px; }.ruleset-survey p { margin:0 0 10px; }.ruleset-survey textarea { box-sizing:border-box; width:100%; resize:vertical; }.ruleset-survey .field { display:grid; gap:5px; margin-top:10px; }
@media(max-width:620px) { .ruleset-choice-list { grid-template-columns:1fr; }.ruleset-choice { min-height:0; } }
@media(max-width:540px) {
  .global-coin-balance { top:max(8px,env(safe-area-inset-top)); right:max(8px,env(safe-area-inset-right)); min-height:36px; gap:6px; padding:5px 10px 5px 6px; }
  .global-coin-icon { width:24px; height:24px; }.global-coin-icon svg { width:15px; height:15px; }.global-coin-label { display:none; }.global-coin-balance strong { font-size:.87rem; }
  .menu-priority { grid-template-columns:repeat(2,minmax(0,1fr)); }.menu-row { grid-template-columns:1fr; }.menu-row--utility { grid-template-columns:repeat(2,minmax(0,1fr)); }.menu-icon-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.menu-icon-btn { min-height:60px; }.menu-btn { min-height:58px; }.menu-btn--endless,.menu-btn--classic,.menu-btn--howto { min-height:68px; }
  .topbar { grid-template-columns:minmax(0,1fr) 42px; min-height:58px; gap:6px; padding:7px; }.brand { display:none; }.hud { gap:5px; overflow-x:hidden; }.stat { flex:1 1 0; width:0; min-width:0; padding:5px 3px; text-align:center; }.classic-retry { flex:1 1 0; width:0; min-width:0; padding-inline:2px; }.classic-retry strong { font-size:11px; }.endless-restart { flex:0 0 38px; width:38px; min-width:38px; height:40px; padding:0; }.endless-restart strong { font-size:19px; }.stat small { font-size:9px; }.stat strong { font-size:13px; }.icon-btn { width:42px; min-width:42px; }.icon-btn svg { display:none; }.home-symbol { display:block; font-family:Arial,sans-serif; font-size:25px; line-height:1; transform:translateY(-1px); }
  .board-tools { display:none; }.tool-btn { display:grid; place-items:center; min-width:36px; width:36px; height:36px; padding:0; }.tool-icon { display:block; font-size:1rem; font-weight:900; }.tool-label { display:none; }
  .sidebar { grid-template-columns:minmax(0,1fr); gap:6px; max-height:154px; padding:8px; }.mode-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }.mode-btn { min-width:0; min-height:42px; padding:5px 2px; }.mode-btn strong { font-size:14px; white-space:normal; }.mode-btn small { display:none; }.sidebar .panel { min-width:0; padding:8px; font-size:11px; }.sidebar .panel.secondary,.legend { display:none; }.energy-bar { margin-top:5px; }
  .results,.tutorial-choices,.tutorial-key-list,.shop-grid { grid-template-columns:1fr; }.results.revive-results { grid-template-columns:repeat(2,minmax(0,1fr)); }.results.revive-results .result { padding:10px; }.tutorial-ui { grid-template-columns:1fr 1fr; }.probe-result-examples { grid-template-columns:1fr; }.dialog-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:16px; }.dialog-actions.triple { grid-template-columns:repeat(3,minmax(0,1fr)); }.dialog-actions .action { min-height:44px; padding:7px 4px; font-size:.76rem; line-height:1.2; }.dialog-actions.tutorial-actions { gap:5px; margin-top:16px; }.dialog-actions.tutorial-actions .action { min-height:42px; padding:7px 3px; font-size:.76rem; white-space:nowrap; }.ranking-period-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }.ranking-period-tabs .action { min-height:42px; padding:7px 3px; font-size:.84rem; }.ranking-footer-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }.ranking-dialog h2 { font-size:1.55rem; }.ranking-meta { gap:3px 8px; margin-top:8px; font-size:.67rem; }.ranking-meta span+span::before { margin-right:8px; }.brand small { display:none; }
  .classic-levels { grid-template-columns:repeat(5,minmax(0,1fr)); max-height:40vh; }.notice-list { max-height:38vh; }.result-retry { min-height:58px!important; font-size:.95rem!important; }
  .gift-item { grid-template-columns:minmax(0,1fr); }.gift-actions { flex-direction:row; align-items:center; justify-content:space-between; }.gift-coins { text-align:left; }.gift-item .action { flex:0 0 auto; }
  .dialog { padding:max(10px,env(safe-area-inset-top,0px)) max(10px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px)); }
  .dialog-box { max-height:calc(100dvh - 20px); padding:18px 15px; }.dialog-content { padding:18px 15px 12px; }.dialog-footer { padding:9px 15px 18px; }
  .option-row { flex-wrap:wrap; gap:10px; }.option-row input[type="text"],.option-row select { width:100%; }.option-volume { grid-template-columns:minmax(0,1fr) auto; }.option-volume span { grid-column:1/-1; }.option-volume input[type="range"] { grid-column:1; }.option-volume output { grid-column:2; }
  body.mobile-button-size-small .mode-btn { min-height:30px; }
  body.mobile-button-size-large .mode-btn { min-height:64px; }
  body.mobile-button-size-xlarge .sidebar { max-height:270px; }
  body.mobile-button-size-xlarge .mode-btn { min-height:128px; }
}
@media (max-width:620px){.skin-collection{grid-template-columns:1fr;}.skin-parts{grid-template-columns:repeat(3,minmax(0,1fr));}.skin-part{min-height:39px;}.dialog-box.wardrobe-dialog{height:94vh;max-height:94vh;padding:12px;}.wardrobe-workbench{gap:8px;}.wardrobe-preview-panel,.wardrobe-selector-panel{border-radius:11px;padding:9px;}.wardrobe-preview-header{padding-bottom:6px;}.wardrobe-preview-header small{display:none;}.wardrobe-tabs{grid-template-columns:repeat(7,82px);padding-bottom:7px;}.wardrobe-tab{min-height:34px;font-size:.67rem;}.wardrobe-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}.wardrobe-choice{grid-template-columns:40px 1fr;gap:6px;min-height:55px;padding:5px;}.wardrobe-choice canvas{width:40px;height:40px;}.wardrobe-choice b{font-size:.71rem;}.wardrobe-choice small{font-size:.57rem;}}

/* The native iOS WebView draws edge-to-edge. Keep interactive UI clear of the
   status bar, Dynamic Island, rounded corners, and home indicator. */
html[data-minebreaker-platform="ios"] .global-coin-balance {
  top:max(12px,calc(env(safe-area-inset-top,0px) + 8px));
  right:max(12px,calc(env(safe-area-inset-right,0px) + 8px));
}
html[data-minebreaker-platform="ios"] .menu-wrap {
  padding-top:max(54px,calc(env(safe-area-inset-top,0px) + 20px));
  padding-bottom:max(54px,calc(env(safe-area-inset-bottom,0px) + 20px));
}
html[data-minebreaker-platform="ios"] .topbar {
  padding-top:max(10px,calc(env(safe-area-inset-top,0px) + 8px));
  padding-right:max(16px,calc(env(safe-area-inset-right,0px) + 8px));
  padding-left:max(16px,calc(env(safe-area-inset-left,0px) + 8px));
}
html[data-minebreaker-platform="ios"] .sidebar {
  padding-bottom:max(14px,calc(env(safe-area-inset-bottom,0px) + 8px));
}
@media(max-width:880px) {
  html[data-minebreaker-platform="ios"] .menu-wrap {
    padding-top:max(38px,calc(env(safe-area-inset-top,0px) + 12px));
    padding-bottom:max(38px,calc(env(safe-area-inset-bottom,0px) + 18px));
  }
  html[data-minebreaker-platform="ios"] .topbar {
    padding-top:max(8px,calc(env(safe-area-inset-top,0px) + 6px));
    padding-right:max(8px,calc(env(safe-area-inset-right,0px) + 8px));
    padding-left:max(8px,calc(env(safe-area-inset-left,0px) + 8px));
  }
}
html[data-minebreaker-environment]:not([data-minebreaker-environment="production"]) .environment-badge {
  position:fixed;left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));z-index:10000;
  padding:6px 10px;border:1px solid #ffd166;border-radius:999px;background:#241b08e8;color:#ffe29a;
  font:900 11px/1 system-ui,sans-serif;letter-spacing:.14em;box-shadow:0 4px 18px #0008;pointer-events:none;
}
.review-mode-badge {
  position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:10000;
  padding:6px 10px;border:1px solid #66e3ff;border-radius:999px;background:#071b2be8;color:#9cecff;
  font:900 11px/1 system-ui,sans-serif;letter-spacing:.14em;box-shadow:0 4px 18px #0008;pointer-events:none;
}
