:root{
  color-scheme:light;
  --app-height:100vh;
  --paper:#e9e4d8;
  --paper-deep:#d3cbbb;
  --panel:rgba(250,248,241,.88);
  --panel-strong:#fdfbf5;
  --panel-soft:rgba(52,64,58,.065);
  --ink:#26302c;
  --muted:#6b746d;
  --line:rgba(40,55,48,.2);
  --line-strong:rgba(40,55,48,.38);
  --signal:#187a66;
  --signal-strong:#0f5d4e;
  --signal-soft:rgba(24,122,102,.12);
  --amber:#b66a16;
  --amber-soft:rgba(182,106,22,.13);
  --danger:#b83d48;
  --danger-soft:rgba(184,61,72,.13);
  --cell:#f8f6ef;
  --cell-raised:#e3dfd3;
  --cell-revealed:#fbfaf5;
  --shadow:0 22px 64px rgba(48,54,49,.16);
  --app-pad:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
  font-family:Inter,ui-rounded,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
@supports(height:100svh){:root{--app-height:100svh}}
@supports(height:100dvh){:root{--app-height:100dvh}}
html[data-theme="night"]{
  color-scheme:dark;
  --paper:#101714;
  --paper-deep:#08100d;
  --panel:rgba(22,31,27,.9);
  --panel-strong:#1a2420;
  --panel-soft:rgba(228,242,234,.065);
  --ink:#eef4ef;
  --muted:#a5b0a9;
  --line:rgba(227,240,232,.17);
  --line-strong:rgba(227,240,232,.34);
  --signal:#5ed6b8;
  --signal-strong:#8eead3;
  --signal-soft:rgba(94,214,184,.13);
  --amber:#f2b460;
  --amber-soft:rgba(242,180,96,.14);
  --danger:#ff8791;
  --danger-soft:rgba(255,135,145,.14);
  --cell:#202b27;
  --cell-raised:#2b3833;
  --cell-revealed:#17211d;
  --shadow:0 26px 74px rgba(0,0,0,.42);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{min-height:var(--app-height);color:var(--ink);background:radial-gradient(circle at 16% 8%,color-mix(in srgb,var(--signal) 13%,transparent),transparent 30%),radial-gradient(circle at 88% 90%,color-mix(in srgb,var(--amber) 11%,transparent),transparent 27%),linear-gradient(145deg,var(--paper-deep),var(--paper));}
button,select,input{font:inherit}button{color:inherit;touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}[hidden]{display:none!important}
.app{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;width:100%;height:var(--app-height);min-height:0;overflow:hidden;padding:var(--app-pad)}
.app::before{content:"";position:absolute;z-index:-1;width:42vw;aspect-ratio:1;right:-19vw;top:7vh;border-radius:50%;border:1px solid color-mix(in srgb,var(--signal) 20%,transparent);box-shadow:inset 0 0 70px color-mix(in srgb,var(--signal) 5%,transparent);pointer-events:none}
.topbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}
.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-lockup>div{display:grid;gap:1px;min-width:0}.brand-kicker{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:850;white-space:nowrap}.brand-lockup strong{font-size:clamp(20px,2.1vw,28px);letter-spacing:-.055em;line-height:1;white-space:nowrap}.brand-lockup em{font-style:normal;color:var(--signal)}
.brand-mark{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;border:1px solid color-mix(in srgb,var(--signal) 44%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--signal) 13%,transparent),var(--panel));box-shadow:0 8px 24px color-mix(in srgb,var(--signal) 14%,transparent);overflow:hidden}.brand-mark::before,.brand-mark::after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--signal) 48%,transparent);border-radius:50%}.brand-mark::before{inset:7px}.brand-mark::after{inset:13px}.brand-mark i{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px var(--amber);z-index:2}.brand-mark b{position:absolute;width:1px;height:24px;background:linear-gradient(transparent,var(--signal));transform:rotate(38deg);transform-origin:bottom center;bottom:50%;z-index:1}
.header-actions{display:flex;align-items:center;gap:6px}.icon-button{min-width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft);display:inline-grid;place-items:center;cursor:pointer;font-weight:900;font-size:17px;box-shadow:inset 0 1px rgba(255,255,255,.08);transition:transform .16s ease,background .16s ease,border-color .16s ease}.icon-button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--panel-strong) 82%,transparent);border-color:color-mix(in srgb,var(--signal) 42%,var(--line))}.help-button{grid-template-columns:auto auto;gap:6px;padding:0 12px}.help-button strong{font-size:11px}
.game-layout{min-height:0;width:100%;max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(255px,300px) minmax(0,1fr);gap:clamp(8px,1.4vw,19px)}
.command-panel,.board-panel{min-height:0;border:1px solid var(--line);background:var(--panel);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
.command-panel{border-radius:23px;padding:clamp(13px,1.6vw,21px);display:flex;flex-direction:column;gap:clamp(8px,1.1vh,13px);overflow:hidden}.intro-copy{display:grid;gap:6px}.eyebrow{display:flex;align-items:center;gap:6px;color:var(--signal);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px var(--signal)}.intro-copy h1{font-size:clamp(27px,2.8vw,43px);line-height:.98;letter-spacing:-.058em;margin:0;max-width:9em}.intro-copy h1 span{display:block;color:var(--amber)}.intro-copy p{font-size:clamp(10px,1vw,13px);line-height:1.45;color:var(--muted);margin:0}
.difficulty-picker{display:grid;gap:5px}.difficulty-picker button{min-width:0;min-height:49px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft);padding:7px 10px;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;transition:transform .15s ease,border-color .15s ease,background .15s ease}.difficulty-picker button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--signal) 42%,var(--line))}.difficulty-picker button[aria-pressed="true"]{border-color:var(--signal);background:var(--signal-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 20%,transparent)}.difficulty-picker strong{font-size:11px}.difficulty-picker small{font-size:8px;color:var(--muted);white-space:nowrap}
.hud-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.hud-card{min-width:0;padding:8px 4px;border-radius:11px;background:var(--panel-soft);border:1px solid color-mix(in srgb,var(--line) 76%,transparent);text-align:center;display:grid;gap:3px}.hud-card span{font-size:7px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-weight:850;white-space:nowrap}.hud-card strong{font-size:clamp(13px,1.35vw,18px);line-height:1;white-space:nowrap}.mine-card strong{color:var(--amber)}
.mode-block{display:grid;gap:5px}.section-label{font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:900}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mode-switch button{min-height:48px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft);display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:850}.mode-switch button>span{font-size:18px;color:var(--signal)}.mode-switch button[aria-pressed="true"]{border-color:var(--signal);background:var(--signal-soft)}.mode-switch button[data-input-mode="flag"][aria-pressed="true"]{border-color:var(--amber);background:var(--amber-soft)}.mode-switch button[data-input-mode="flag"]>span{color:var(--amber)}.mode-block p{margin:0;color:var(--muted);font-size:8px;line-height:1.35;text-align:center}
.run-actions{display:grid}.restart-button{min-height:51px;border:1px solid color-mix(in srgb,var(--signal) 45%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 14%,var(--panel-strong)),var(--panel-soft));cursor:pointer;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;text-align:left;padding:6px 10px;column-gap:7px}.restart-button>span{grid-row:1/3;font-size:24px;color:var(--signal);text-align:center}.restart-button strong{font-size:11px}.restart-button small{font-size:8px;color:var(--muted)}
.field-note{margin-top:auto;display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:10px}.field-note>span{width:30px;height:30px;border-radius:10px;background:var(--signal-soft);color:var(--signal);display:grid;place-items:center;font-size:18px}.field-note p{margin:0;font-size:8px;line-height:1.38;color:var(--muted)}.field-note strong{color:var(--ink);font-size:9px}
.board-panel{position:relative;border-radius:27px;padding:clamp(8px,1.4vw,16px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;overflow:hidden}.board-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 30%,color-mix(in srgb,var(--signal) 4%,transparent),transparent 72%)}
.board-heading{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:37px;padding:0 3px}.board-heading>div{display:grid;gap:1px}.board-kicker{font-size:7px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:900}.board-heading strong{font-size:12px}.status-chip{display:flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.status-chip i{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 8px var(--amber)}.status-chip[data-tone="playing"] i{background:var(--signal);box-shadow:0 0 8px var(--signal)}.status-chip[data-tone="won"]{border-color:color-mix(in srgb,var(--signal) 55%,var(--line));background:var(--signal-soft)}.status-chip[data-tone="won"] i{background:var(--signal);box-shadow:0 0 9px var(--signal)}.status-chip[data-tone="lost"]{border-color:color-mix(in srgb,var(--danger) 55%,var(--line));background:var(--danger-soft)}.status-chip[data-tone="lost"] i{background:var(--danger);box-shadow:0 0 9px var(--danger)}
.board-viewport{position:relative;z-index:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-strong) 94%,transparent),color-mix(in srgb,var(--paper-deep) 58%,transparent));scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--signal) 45%,transparent) transparent;display:grid;align-items:center;justify-items:start;padding:clamp(6px,1vw,12px);touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}.board-aura{position:absolute;width:min(60vw,60vh,760px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--signal) 9%,transparent),transparent 68%);pointer-events:none;filter:blur(11px)}
.mine-board{--cell-size:34px;position:relative;z-index:1;display:grid;grid-template-columns:repeat(var(--columns),var(--cell-size));grid-auto-rows:var(--cell-size);gap:1px;width:max-content;height:max-content;padding:2px;border:1px solid var(--line-strong);border-radius:11px;background:color-mix(in srgb,var(--ink) 32%,var(--line));box-shadow:0 15px 42px rgba(34,42,37,.18);user-select:none;-webkit-user-select:none;touch-action:pan-x pan-y}
.mine-cell{position:relative;width:var(--cell-size);height:var(--cell-size);min-width:0;min-height:0;padding:0;border:0;border-radius:2px;background:linear-gradient(145deg,color-mix(in srgb,var(--cell-raised) 88%,#fff),var(--cell-raised));box-shadow:inset 1px 1px rgba(255,255,255,.32),inset -1px -1px rgba(28,39,33,.13);display:grid;place-items:center;cursor:pointer;color:var(--ink);font-weight:950;font-size:calc(var(--cell-size) * .5);line-height:1;touch-action:pan-x pan-y;-webkit-tap-highlight-color:transparent}.mine-cell:hover:not(.revealed){background:color-mix(in srgb,var(--signal) 14%,var(--cell-raised))}.mine-cell:focus-visible{z-index:5;outline:3px solid var(--amber);outline-offset:-2px}.mine-cell.revealed{cursor:default;background:var(--cell-revealed);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.mine-cell.flagged{background:color-mix(in srgb,var(--amber) 14%,var(--cell-raised));color:var(--amber)}.mine-cell.flagged::before{content:"⚑";font-size:calc(var(--cell-size) * .54);transform:translateY(-1px);text-shadow:0 1px color-mix(in srgb,var(--panel-strong) 70%,transparent)}.mine-cell.mine{background:color-mix(in srgb,var(--danger) 12%,var(--cell-revealed))}.mine-cell.mine::before{content:"✹";font-size:calc(var(--cell-size) * .56);color:var(--ink)}.mine-cell.exploded{background:var(--danger);color:#fff;box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 55%,transparent),0 0 16px color-mix(in srgb,var(--danger) 55%,transparent)}.mine-cell.exploded::before{color:#fff}.mine-cell.wrong-flag{background:var(--danger-soft)}.mine-cell.wrong-flag::before{content:"×";color:var(--danger);font-size:calc(var(--cell-size) * .62)}.mine-cell.count-1{color:#2366b1}.mine-cell.count-2{color:#1b7a4b}.mine-cell.count-3{color:#bd463c}.mine-cell.count-4{color:#6351a9}.mine-cell.count-5{color:#9c542f}.mine-cell.count-6{color:#147b83}.mine-cell.count-7{color:#4d514f}.mine-cell.count-8{color:#7b7c76}html[data-theme="night"] .mine-cell.count-1{color:#7fb9ff}html[data-theme="night"] .mine-cell.count-2{color:#79dca3}html[data-theme="night"] .mine-cell.count-3{color:#ff9a91}html[data-theme="night"] .mine-cell.count-4{color:#b9a3ff}html[data-theme="night"] .mine-cell.count-5{color:#e9a27d}html[data-theme="night"] .mine-cell.count-6{color:#76d9df}html[data-theme="night"] .mine-cell.count-7{color:#e2e6e3}html[data-theme="night"] .mine-cell.count-8{color:#b8bdb9}
.mine-cell.just-opened{animation:cell-open .24s ease both}.mine-cell.just-flagged{animation:flag-pop .22s ease both}@keyframes cell-open{0%{transform:scale(.84);opacity:.5}100%{transform:scale(1);opacity:1}}@keyframes flag-pop{45%{transform:scale(1.14)}100%{transform:scale(1)}}
.feedback-zone{position:relative;z-index:2;text-align:center;display:grid;gap:2px;min-height:34px;align-content:center}.status-message,.control-hint{margin:0}.status-message{font-size:clamp(9px,.9vw,12px);font-weight:800}.status-message.success{color:var(--signal)}.status-message.error{color:var(--danger)}.status-message.hint{color:var(--amber)}.control-hint{font-size:clamp(7px,.68vw,9px);color:var(--muted)}.control-hint span{display:inline-block;border:1px solid var(--line);border-radius:5px;padding:1px 4px;margin-right:3px;font-weight:900;letter-spacing:.04em}
.game-tip{position:absolute;z-index:12;left:50%;bottom:max(13px,env(safe-area-inset-bottom));transform:translate(-50%,10px);max-width:min(88vw,520px);min-height:42px;padding:9px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--signal) 42%,var(--line));background:color-mix(in srgb,var(--panel-strong) 95%,transparent);box-shadow:0 16px 44px rgba(25,36,30,.26);display:flex;align-items:center;gap:8px;font-size:10px;font-weight:780;color:var(--ink);opacity:0;pointer-events:auto;transition:opacity .22s ease,transform .22s ease}.game-tip>span:first-child{color:var(--amber)}.game-tip.is-visible{opacity:1;transform:translate(-50%,0)}.game-tip.is-fading{opacity:0;transform:translate(-50%,6px)}
.app-dialog{width:min(92vw,650px);max-height:min(88dvh,760px);padding:0;border:0;border-radius:24px;background:transparent;color:var(--ink);overflow:visible}.app-dialog::backdrop{background:rgba(11,17,14,.64);backdrop-filter:blur(7px)}.dialog-card{max-height:min(88dvh,760px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:color-mix(in srgb,var(--panel-strong) 98%,var(--paper-deep));border:1px solid color-mix(in srgb,var(--signal) 28%,var(--line));border-radius:24px;box-shadow:0 34px 90px rgba(0,0,0,.38);overflow:hidden}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 13px;border-bottom:1px solid var(--line)}.dialog-header>div{display:grid;gap:2px}.dialog-kicker{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--signal);font-weight:900}.dialog-header h2{margin:0;font-size:clamp(23px,4vw,34px);letter-spacing:-.045em}.dialog-close{width:44px;height:44px;border-radius:13px;border:1px solid var(--line);background:var(--panel-soft);font-size:25px;cursor:pointer}.dialog-content{padding:17px 20px;overflow:auto;color:var(--muted);line-height:1.5;font-size:13px}.dialog-content h3{color:var(--ink);font-size:12px;margin:17px 0 6px}.dialog-content p{margin:0 0 11px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:13px 20px 18px;border-top:1px solid var(--line)}.dialog-actions button{min-width:108px;min-height:44px;border-radius:12px;border:1px solid var(--line);background:var(--panel-soft);font-size:11px;font-weight:900;cursor:pointer;padding:0 14px}.dialog-actions button.primary{background:var(--signal);color:#fff;border-color:transparent}.dialog-actions button.danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 55%,transparent);color:var(--danger)}
.rule-cards{display:grid;gap:7px;margin:12px 0}.rule-card{display:grid;grid-template-columns:40px 1fr;gap:9px;align-items:center;border:1px solid var(--line);background:var(--panel-soft);border-radius:13px;padding:9px}.rule-card>b{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--signal-soft);color:var(--signal);font-size:18px}.rule-card>div{display:grid;gap:1px}.rule-card strong{color:var(--ink);font-size:11px}.rule-card span{font-size:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:13px}.stat-card{border:1px solid var(--line);background:var(--panel-soft);border-radius:13px;padding:11px;text-align:center;display:grid;gap:3px}.stat-card strong{color:var(--ink);font-size:19px}.stat-card span{font-size:8px;text-transform:uppercase;letter-spacing:.08em}.record-table{display:grid;border:1px solid var(--line);border-radius:13px;overflow:hidden}.record-table>div{display:grid;grid-template-columns:1fr .6fr .8fr;gap:7px;padding:9px 11px;align-items:center}.record-table>div+div{border-top:1px solid var(--line)}.record-table strong{color:var(--ink);font-size:11px}.record-table span{font-size:9px;text-align:right}.setting-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.setting-row>span:first-child{display:grid;gap:2px}.setting-row strong{color:var(--ink);font-size:11px}.setting-row small{font-size:9px}.setting-row select{min-width:145px;min-height:44px;border-radius:11px;border:1px solid var(--line);background:var(--panel-soft);color:var(--ink);padding:0 9px}.toggle-control{position:relative;width:48px;height:28px;flex:none}.toggle-control input{position:absolute;opacity:0;inset:0}.toggle-control i{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 24%,transparent);border:1px solid var(--line);transition:.2s}.toggle-control i::after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:var(--ink);transition:.2s}.toggle-control input:checked+i{background:var(--signal)}.toggle-control input:checked+i::after{transform:translateX(20px);background:#fff}.toggle-control input:focus-visible+i{outline:3px solid var(--amber);outline-offset:3px}.summary{text-align:center}.summary-mark{width:72px;height:72px;margin:0 auto 10px;border-radius:21px;display:grid;place-items:center;font-size:34px;color:var(--signal);background:var(--signal-soft);border:1px solid color-mix(in srgb,var(--signal) 38%,transparent);box-shadow:0 0 34px color-mix(in srgb,var(--signal) 16%,transparent)}.summary.loss .summary-mark{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 38%,transparent)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.confirm-panel{text-align:center}.confirm-symbol{font-size:36px;color:var(--amber);margin-bottom:7px}
/* Premium field polish: one classic ruleset, board-first presentation. */
:root{
  --field-shell:#173128;
  --field-shell-deep:#0b1b15;
  --field-ink:#f1f7f3;
  --field-muted:#9db1a7;
  --field-line:rgba(217,244,231,.17);
  --field-line-strong:rgba(217,244,231,.28);
  --field-glow:rgba(68,213,170,.24);
  --cell-top:#fffdf6;
  --cell-bottom:#d8d2c4;
  --cell-edge:rgba(28,49,39,.25);
}
html[data-theme="night"]{
  --field-shell:#0b1713;
  --field-shell-deep:#050d0a;
  --field-ink:#f1f8f4;
  --field-muted:#91a79c;
  --field-line:rgba(215,242,228,.14);
  --field-line-strong:rgba(215,242,228,.25);
  --field-glow:rgba(94,214,184,.21);
  --cell-top:#2b3933;
  --cell-bottom:#1d2924;
  --cell-edge:rgba(225,242,233,.11);
}
body{background:radial-gradient(circle at 16% 8%,color-mix(in srgb,var(--signal) 16%,transparent),transparent 28%),radial-gradient(circle at 88% 92%,color-mix(in srgb,var(--amber) 13%,transparent),transparent 30%),linear-gradient(145deg,var(--paper-deep),var(--paper));}
.command-panel{box-shadow:0 20px 56px rgba(36,46,40,.14),inset 0 1px rgba(255,255,255,.36)}
.board-panel{color:var(--field-ink);border-color:var(--field-line);background:linear-gradient(148deg,var(--field-shell),var(--field-shell-deep));box-shadow:0 28px 78px rgba(20,35,28,.28),inset 0 1px rgba(255,255,255,.045)}
.board-panel::before{background:radial-gradient(circle at 48% 42%,color-mix(in srgb,var(--signal) 8%,transparent),transparent 48%),linear-gradient(112deg,transparent 24%,rgba(255,255,255,.025),transparent 72%)}
.board-heading strong,.board-panel .status-message{color:var(--field-ink)}
.board-kicker,.board-panel .control-hint{color:var(--field-muted)}
.board-panel .control-hint span{border-color:var(--field-line);background:rgba(255,255,255,.035);color:var(--field-ink)}
.status-chip{color:var(--field-ink);border-color:var(--field-line);background:rgba(255,255,255,.055);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.board-viewport{border-color:var(--field-line);background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--signal) 9%,transparent),transparent 55%),linear-gradient(150deg,color-mix(in srgb,var(--field-shell) 88%,#fff 2%),var(--field-shell-deep));box-shadow:inset 0 18px 42px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.025)}
.board-viewport::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(255,255,255,.012) 28px),repeating-linear-gradient(90deg,transparent 0 27px,rgba(255,255,255,.009) 28px);mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 92%)}
.board-aura{background:radial-gradient(circle,color-mix(in srgb,var(--signal) 18%,transparent),transparent 68%);filter:blur(18px);opacity:.72}
.mine-board{padding:4px;border-color:var(--field-line-strong);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(0,0,0,.22));box-shadow:0 22px 52px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.08)}
.mine-cell{overflow:hidden;border:1px solid var(--cell-edge);border-radius:5px;background:linear-gradient(145deg,var(--cell-top),var(--cell-bottom));box-shadow:inset 1px 1px rgba(255,255,255,.52),inset -2px -2px rgba(19,35,27,.13),0 1px 2px rgba(0,0,0,.11);transition:transform .09s ease,filter .15s ease,box-shadow .15s ease,background .15s ease;will-change:transform}
.mine-cell:hover:not(.revealed){transform:translateY(-1px);filter:brightness(1.035);background:linear-gradient(145deg,color-mix(in srgb,var(--signal) 7%,var(--cell-top)),color-mix(in srgb,var(--signal) 9%,var(--cell-bottom)));box-shadow:inset 1px 1px rgba(255,255,255,.55),inset -2px -2px rgba(19,35,27,.12),0 3px 7px rgba(0,0,0,.16)}
.mine-cell:active:not(.revealed){transform:translateY(1px) scale(.965);filter:brightness(.98);box-shadow:inset 1px 2px rgba(0,0,0,.09)}
.mine-cell.revealed{border-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--cell-revealed) 94%,var(--signal) 2%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 45%,transparent);text-shadow:0 1px rgba(255,255,255,.22)}
html[data-theme="night"] .mine-cell.revealed{text-shadow:0 1px rgba(0,0,0,.25)}
.mine-cell.flagged{background:linear-gradient(145deg,color-mix(in srgb,var(--amber) 15%,var(--cell-top)),color-mix(in srgb,var(--amber) 12%,var(--cell-bottom)));color:transparent}
.mine-cell.flagged::before{content:"";position:absolute;z-index:2;width:48%;height:36%;left:25%;top:19%;background:linear-gradient(135deg,color-mix(in srgb,var(--amber) 86%,#fff),var(--amber));clip-path:polygon(0 0,100% 14%,70% 100%,0 82%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.22))}
.mine-cell.flagged::after{content:"";position:absolute;z-index:1;width:46%;height:58%;left:29%;top:23%;background:linear-gradient(90deg,transparent 45%,var(--amber) 45% 55%,transparent 55%),linear-gradient(0deg,transparent 84%,var(--amber) 84% 94%,transparent 94%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.mine-cell.mine{background:color-mix(in srgb,var(--danger) 7%,var(--cell-revealed))}
.mine-cell.mine::before,.mine-summary::before{content:"";position:absolute;z-index:2;width:34%;aspect-ratio:1;left:33%;top:33%;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--ink) 70%,#fff),var(--ink) 54%,color-mix(in srgb,var(--ink) 78%,#000));box-shadow:0 1px 4px rgba(0,0,0,.25)}
.mine-cell.mine::after,.mine-summary::after{content:"";position:absolute;z-index:1;width:70%;aspect-ratio:1;left:15%;top:15%;border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--ink) 0 7deg,transparent 7deg 45deg);filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.mine-cell.exploded{background:linear-gradient(145deg,color-mix(in srgb,var(--danger) 78%,#fff),var(--danger));box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 52%,transparent),0 0 22px color-mix(in srgb,var(--danger) 55%,transparent)}
.mine-cell.exploded::before{background:#fff}.mine-cell.exploded::after{background:repeating-conic-gradient(from 0deg,#fff 0 7deg,transparent 7deg 45deg)}
.mine-cell.wrong-flag::before,.mine-cell.wrong-flag::after{content:"";position:absolute;z-index:4;width:64%;height:3px;left:18%;top:48%;background:var(--danger);clip-path:none;filter:none;border-radius:999px}
.mine-cell.wrong-flag::before{transform:rotate(45deg)}.mine-cell.wrong-flag::after{transform:rotate(-45deg)}
.mine-cell.count-1,.tutorial-cell.count-1{color:#236fc3}.mine-cell.count-2,.tutorial-cell.count-2{color:#178257}.mine-cell.count-3,.tutorial-cell.count-3{color:#c2473f}.mine-cell.count-4,.tutorial-cell.count-4{color:#6d56b8}.mine-cell.count-5,.tutorial-cell.count-5{color:#a05a34}.mine-cell.count-6,.tutorial-cell.count-6{color:#16838b}.mine-cell.count-7,.tutorial-cell.count-7{color:#4b504d}.mine-cell.count-8,.tutorial-cell.count-8{color:#787b76}
.mine-cell.just-opened{animation:premium-cell-open .28s cubic-bezier(.2,.8,.2,1) both}.mine-cell.just-flagged{animation:premium-flag-pop .25s cubic-bezier(.2,.9,.25,1) both}.mine-cell.just-chorded{animation:premium-chord .32s ease both}
@keyframes premium-cell-open{0%{transform:scale(.72);opacity:.3;filter:brightness(1.3)}58%{transform:scale(1.045);opacity:1}100%{transform:scale(1);filter:none}}
@keyframes premium-flag-pop{0%{transform:scale(.84)}55%{transform:scale(1.09)}100%{transform:scale(1)}}
@keyframes premium-chord{0%,100%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 45%,transparent)}45%{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--signal) 62%,transparent),0 0 14px color-mix(in srgb,var(--signal) 45%,transparent)}}
.board-viewport[data-status="won"] .board-aura{animation:field-win-glow 1.15s ease-out both}.mine-board[data-status="lost"]{animation:field-loss-shift .28s ease-out both}
@keyframes field-win-glow{0%{opacity:.65;transform:translate(-50%,-50%) scale(.9)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}100%{opacity:.75;transform:translate(-50%,-50%) scale(1)}}
@keyframes field-loss-shift{0%,100%{transform:translateX(0)}28%{transform:translateX(-3px)}62%{transform:translateX(3px)}}
.action-icon{position:relative;display:inline-block;width:18px;height:18px;flex:none;color:var(--signal)}
.reveal-icon{border:2px solid currentColor;border-radius:50%;box-shadow:inset 0 0 0 3px color-mix(in srgb,currentColor 14%,transparent)}.reveal-icon::after{content:"";position:absolute;width:4px;height:4px;left:5px;top:5px;border-radius:50%;background:currentColor}
.flag-icon{color:var(--amber)}.flag-icon::before{content:"";position:absolute;width:11px;height:8px;left:3px;top:2px;background:currentColor;clip-path:polygon(0 0,100% 14%,70% 100%,0 82%)}.flag-icon::after{content:"";position:absolute;width:2px;height:14px;left:7px;top:3px;background:currentColor;box-shadow:-4px 11px 0 -0.5px currentColor,4px 11px 0 -0.5px currentColor}
.mode-switch button>span.action-icon{font-size:0}
.tutorial-rules{display:grid;gap:10px;margin:14px 0}.tutorial-rule{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-soft) 88%,transparent),color-mix(in srgb,var(--panel-strong) 68%,transparent));overflow:hidden}.tutorial-copy{display:grid;gap:3px;min-width:0}.tutorial-copy strong{color:var(--ink);font-size:12px}.tutorial-copy span{font-size:10px;line-height:1.42}.tutorial-demo{--demo-cell:29px;position:relative;display:grid;grid-template-columns:repeat(3,var(--demo-cell));grid-auto-rows:var(--demo-cell);gap:2px;width:max-content;padding:8px;border-radius:13px;border:1px solid var(--field-line);background:linear-gradient(145deg,var(--field-shell),var(--field-shell-deep));box-shadow:inset 0 10px 20px rgba(0,0,0,.18),0 8px 18px rgba(26,38,32,.12)}
.tutorial-cell{position:relative;display:grid;place-items:center;border-radius:4px;font-size:calc(var(--demo-cell) * .48);font-weight:950;line-height:1;overflow:hidden}.tutorial-cell.hidden,.tutorial-cell.flagged{border:1px solid var(--cell-edge);background:linear-gradient(145deg,var(--cell-top),var(--cell-bottom));box-shadow:inset 1px 1px rgba(255,255,255,.42),inset -1px -1px rgba(20,35,27,.14)}.tutorial-cell.revealed{background:var(--cell-revealed);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 58%,transparent)}
.tutorial-cell.flagged::before{content:"";position:absolute;width:48%;height:36%;left:25%;top:19%;background:var(--amber);clip-path:polygon(0 0,100% 14%,70% 100%,0 82%)}.tutorial-cell.flagged::after{content:"";position:absolute;width:46%;height:58%;left:29%;top:23%;background:linear-gradient(90deg,transparent 45%,var(--amber) 45% 55%,transparent 55%),linear-gradient(0deg,transparent 84%,var(--amber) 84% 94%,transparent 94%)}
.tutorial-cell.focus-ring{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--signal) 64%,transparent),0 0 12px color-mix(in srgb,var(--signal) 28%,transparent)}
.tutorial-reveal .reveal-a{animation:tutorial-reveal 2.6s ease infinite}.tutorial-reveal .reveal-b{animation:tutorial-reveal 2.6s .1s ease infinite}.tutorial-reveal .reveal-c{animation:tutorial-reveal 2.6s .2s ease infinite}.tutorial-reveal .reveal-d{animation:tutorial-reveal 2.6s .3s ease infinite}.tutorial-flag .flag-pop{animation:tutorial-flag 2.4s ease infinite}.tutorial-chord .chord-source{animation:tutorial-source 2.7s ease infinite}.tutorial-chord .chord-open.a{animation:tutorial-chord-open 2.7s .38s ease infinite}.tutorial-chord .chord-open.b{animation:tutorial-chord-open 2.7s .48s ease infinite}
@keyframes tutorial-reveal{0%,14%{transform:scale(.83);opacity:.34}28%,82%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes tutorial-flag{0%,18%,100%{transform:scale(1)}30%{transform:scale(.82)}45%{transform:scale(1.1)}58%{transform:scale(1)}}@keyframes tutorial-source{0%,25%,100%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 58%,transparent)}38%,55%{box-shadow:inset 0 0 0 2px var(--signal),0 0 10px color-mix(in srgb,var(--signal) 36%,transparent)}}@keyframes tutorial-chord-open{0%,34%{background:linear-gradient(145deg,var(--cell-top),var(--cell-bottom));transform:scale(1)}50%,82%{background:var(--cell-revealed);transform:scale(.9)}100%{background:linear-gradient(145deg,var(--cell-top),var(--cell-bottom));transform:scale(1)}}
.shortcut-strip{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;margin:4px 0 10px;padding:9px 11px;border-radius:12px;background:var(--signal-soft);border:1px solid color-mix(in srgb,var(--signal) 22%,var(--line))}.shortcut-strip strong{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--signal)}.shortcut-strip span{font-size:9px;color:var(--muted)}.help-footnote{font-size:10px!important;margin-bottom:0!important}
.summary-mark{position:relative}.mine-summary::before{width:26%;left:37%;top:37%}.mine-summary::after{width:54%;left:23%;top:23%}
@media(max-width:520px){.tutorial-rule{grid-template-columns:82px minmax(0,1fr);gap:8px;padding:7px}.tutorial-demo{--demo-cell:22px;padding:5px;gap:1px;border-radius:10px}.tutorial-copy strong{font-size:10px}.tutorial-copy span{font-size:8px;line-height:1.35}.shortcut-strip{grid-template-columns:1fr;gap:2px}.shortcut-strip span{font-size:8px}.help-footnote{font-size:8px!important}}
html[data-motion-profile="instant"] *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-motion-profile="instant"] .mine-cell.just-opened,html[data-motion-profile="instant"] .mine-cell.just-flagged,html[data-motion-profile="instant"] .mine-cell.just-chorded,html[data-motion-profile="instant"] .board-aura,html[data-motion-profile="instant"] .mine-board,html[data-motion-profile="instant"] .tutorial-cell{animation:none}html[data-motion-profile="instant"] .game-tip{transition:none}
@media(max-width:900px){.game-layout{grid-template-columns:minmax(235px,275px) minmax(0,1fr);gap:7px}.command-panel{padding:11px}.intro-copy h1{font-size:29px}.intro-copy p{font-size:9px}.board-panel{padding:7px}}
@media(max-width:820px){
  .app{gap:4px}.topbar{min-height:43px}.brand-mark{width:38px;height:38px}.brand-kicker{display:none}.brand-lockup strong{font-size:20px}.help-button{grid-template-columns:1fr;padding:0}.help-button strong{display:none}.header-actions{gap:3px}.icon-button{min-width:42px;height:42px;border-radius:11px}
  .game-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:4px}.command-panel{border-radius:15px;padding:5px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"difficulty hud" "mode restart";gap:4px;overflow:visible}.intro-copy,.field-note{display:none}.difficulty-picker{grid-area:difficulty;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.difficulty-picker button{min-height:43px;padding:3px;text-align:center;border-radius:9px;display:grid;place-content:center}.difficulty-picker strong{font-size:8px}.difficulty-picker small{display:none}.hud-grid{grid-area:hud;grid-template-columns:repeat(4,42px);gap:2px}.hud-card{padding:4px 2px;border-radius:8px}.hud-card span{font-size:5px}.hud-card strong{font-size:10px}.mode-block{grid-area:mode;display:block}.section-label,.mode-block p{display:none}.mode-switch{gap:3px}.mode-switch button{min-height:44px;height:44px;border-radius:9px;padding:0 8px}.mode-switch button strong{font-size:8px}.mode-switch button>span{font-size:16px}.run-actions{grid-area:restart}.restart-button{min-height:44px;height:44px;min-width:92px;border-radius:9px;grid-template-columns:28px 1fr;padding:3px 7px}.restart-button>span{font-size:18px}.restart-button strong{font-size:8px}.restart-button small{display:none}
  .board-panel{border-radius:16px;padding:5px;gap:3px}.board-heading{min-height:30px}.board-kicker{font-size:6px}.board-heading strong{font-size:9px}.status-chip{min-height:27px;font-size:7px;padding:0 8px}.board-viewport{border-radius:12px;padding:5px}.feedback-zone{min-height:25px}.status-message{font-size:8px}.control-hint{display:none}.game-tip{font-size:9px;min-height:38px;padding:7px 11px}
}
@media(max-width:390px){
  :root{--app-pad:max(5px,env(safe-area-inset-top)) max(5px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}.app{gap:2px}.brand-lockup{gap:0}.brand-lockup>div{display:none}.brand-mark{width:38px;height:38px}.header-actions{gap:2px}.icon-button{min-width:44px;height:44px}.command-panel{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"difficulty restart" "hud hud" "mode mode";padding:4px}.hud-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.mode-block{display:block}.mode-switch{grid-template-columns:1fr 1fr}.mode-switch button{min-height:44px;height:44px}.run-actions{grid-area:restart;position:static}.restart-button{min-width:44px;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center}.restart-button>span{grid-row:auto;font-size:18px}.restart-button strong,.restart-button small{display:none}.difficulty-picker button{min-height:36px}.hud-card{min-height:31px}.board-heading{padding-right:3px}.board-panel{grid-template-rows:auto minmax(0,1fr) minmax(23px,auto)}.board-viewport{padding:4px}.status-message{font-size:7px}
}
@media(max-height:650px) and (min-width:821px){.app{gap:5px}.topbar{min-height:42px}.brand-mark{width:37px;height:37px}.game-layout{grid-template-columns:minmax(240px,290px) minmax(0,1fr);gap:7px}.command-panel{padding:9px;gap:5px}.intro-copy h1{font-size:27px}.intro-copy p{font-size:8px}.difficulty-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.difficulty-picker button{min-height:39px;padding:4px;text-align:center;display:grid;place-content:center}.difficulty-picker small{display:none}.hud-card{padding:5px 2px}.mode-switch button{min-height:42px}.field-note{display:none}.restart-button{min-height:43px}.board-panel{padding:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 2026-08 player-first UX pass: crisper contrast, calmer motion, readable terminal review. */
:root{
  --muted:#4f5b54;
  --line:rgba(40,55,48,.27);
  --line-strong:rgba(40,55,48,.48);
  --cell-revealed:#fffef9;
  --field-shell:#10291f;
  --field-shell-deep:#06130d;
  --field-muted:#c0d0c7;
  --field-line:rgba(225,247,236,.25);
  --field-line-strong:rgba(225,247,236,.4);
  --cell-top:#f7f1e4;
  --cell-bottom:#c8bda9;
  --cell-edge:rgba(22,43,33,.38);
}
html[data-theme="night"]{
  --muted:#bcc9c1;
  --line:rgba(227,240,232,.23);
  --line-strong:rgba(227,240,232,.42);
  --cell-revealed:#101b16;
  --field-shell:#091a13;
  --field-shell-deep:#030b08;
  --field-muted:#b6c9bf;
  --field-line:rgba(224,247,235,.22);
  --field-line-strong:rgba(224,247,235,.38);
  --cell-top:#34473e;
  --cell-bottom:#1d2b25;
  --cell-edge:rgba(231,247,239,.2);
}
.mine-cell{transition:transform .08s ease-out,background .13s ease,border-color .13s ease,box-shadow .13s ease;will-change:auto}
.mine-cell:hover:not(.revealed){filter:none}
.mine-cell:active:not(.revealed){filter:none}
.mine-cell.revealed{border-color:color-mix(in srgb,var(--line) 86%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 64%,transparent)}
.mine-cell.count-1,.tutorial-cell.count-1{color:#1859a1}.mine-cell.count-2,.tutorial-cell.count-2{color:#0b6841}.mine-cell.count-3,.tutorial-cell.count-3{color:#a72f2a}.mine-cell.count-4,.tutorial-cell.count-4{color:#55409a}.mine-cell.count-5,.tutorial-cell.count-5{color:#7d3e21}.mine-cell.count-6,.tutorial-cell.count-6{color:#0b6870}.mine-cell.count-7,.tutorial-cell.count-7{color:#343a36}.mine-cell.count-8,.tutorial-cell.count-8{color:#555b57}
html[data-theme="night"] .mine-cell.count-1,html[data-theme="night"] .tutorial-cell.count-1{color:#91c4ff}html[data-theme="night"] .mine-cell.count-2,html[data-theme="night"] .tutorial-cell.count-2{color:#8ce4b1}html[data-theme="night"] .mine-cell.count-3,html[data-theme="night"] .tutorial-cell.count-3{color:#ffaaa2}html[data-theme="night"] .mine-cell.count-4,html[data-theme="night"] .tutorial-cell.count-4{color:#c8b8ff}html[data-theme="night"] .mine-cell.count-5,html[data-theme="night"] .tutorial-cell.count-5{color:#efad88}html[data-theme="night"] .mine-cell.count-6,html[data-theme="night"] .tutorial-cell.count-6{color:#8de7ec}html[data-theme="night"] .mine-cell.count-7,html[data-theme="night"] .tutorial-cell.count-7{color:#edf2ef}html[data-theme="night"] .mine-cell.count-8,html[data-theme="night"] .tutorial-cell.count-8{color:#c6cec9}
.mine-cell.just-opened{animation:ux-cell-open .16s cubic-bezier(.2,.75,.25,1) both;will-change:transform,opacity}.mine-cell.just-flagged{animation:ux-flag-pop .18s cubic-bezier(.2,.8,.25,1) both;will-change:transform}.mine-cell.just-chorded{animation:ux-chord .2s ease-out both;will-change:box-shadow}.mine-board[data-status="lost"]{animation:none}.mine-cell.exploded{animation:ux-mine-hit .26s ease-out both;z-index:3;background:linear-gradient(145deg,color-mix(in srgb,var(--danger) 78%,#fff),var(--danger))!important;border-color:color-mix(in srgb,#fff 58%,var(--danger))!important;outline:2px solid color-mix(in srgb,#fff 74%,transparent);outline-offset:-4px}
@keyframes ux-cell-open{0%{transform:scale(.91);opacity:.68}100%{transform:scale(1);opacity:1}}@keyframes ux-flag-pop{0%{transform:scale(.93)}55%{transform:scale(1.055)}100%{transform:scale(1)}}@keyframes ux-chord{0%,100%{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 64%,transparent)}50%{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--signal) 72%,transparent),0 0 10px color-mix(in srgb,var(--signal) 34%,transparent)}}@keyframes ux-mine-hit{0%{transform:scale(.9);box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 52%,transparent),0 0 0 color-mix(in srgb,var(--danger) 0%,transparent)}55%{transform:scale(1.045);box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 65%,transparent),0 0 20px color-mix(in srgb,var(--danger) 62%,transparent)}100%{transform:scale(1);box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 55%,transparent),0 0 12px color-mix(in srgb,var(--danger) 42%,transparent)}}
.difficulty-picker button:disabled{opacity:.52;cursor:default;transform:none}.restart-button.replay-ready{border-color:var(--signal);background:linear-gradient(135deg,color-mix(in srgb,var(--signal) 20%,var(--panel-strong)),var(--signal-soft));box-shadow:0 0 0 2px color-mix(in srgb,var(--signal) 10%,transparent),0 9px 22px color-mix(in srgb,var(--signal) 15%,transparent)}.restart-button.replay-ready strong{font-size:12px}
.difficulty-picker small{font-size:9px;line-height:1.2}.hud-card span{font-size:8px}.hud-card strong{font-size:14px}.mode-label{font-size:8px}.mode-hint{font-size:9px;line-height:1.35}.trust-card small{font-size:9px;line-height:1.35}.control-hint{font-size:8.5px}.status-message.error{font-weight:900}.feedback-zone{padding-inline:4px}
html[data-motion-profile="instant"] .mine-cell.exploded{animation:none}
@media(max-width:820px){.icon-button{min-width:44px;height:44px}.difficulty-picker button{min-height:44px}.difficulty-picker strong{font-size:9px}.hud-card span{font-size:7px}.hud-card strong{font-size:11px}.board-kicker{font-size:7px}.board-heading strong{font-size:10px}.status-message{font-size:9px;line-height:1.25}.feedback-zone{min-height:29px}}
@media(max-width:390px){.difficulty-picker button{min-height:44px}.hud-card{min-height:34px}.hud-card span{font-size:7px}.hud-card strong{font-size:11px}.board-panel{grid-template-rows:auto minmax(0,1fr) auto}.status-message{font-size:9px;line-height:1.25}}
@media(max-height:650px) and (min-width:821px){.difficulty-picker button,.mode-switch button,.restart-button{min-height:44px}}

.victory-celebration{position:absolute;z-index:4;inset:clamp(43px,6%,58px) clamp(8px,1.2%,16px) clamp(38px,6%,52px);overflow:hidden;border-radius:18px;pointer-events:none;background:radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--amber) 12%,transparent),transparent 21%),radial-gradient(circle at 82% 22%,color-mix(in srgb,var(--signal) 13%,transparent),transparent 22%),radial-gradient(circle at 50% 92%,color-mix(in srgb,var(--signal) 7%,transparent),transparent 25%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--signal) 12%,transparent)}
.victory-celebration[hidden],.victory-actions[hidden],.victory-actions button[hidden]{display:none!important}
.victory-particles{position:absolute;inset:0;overflow:hidden}.victory-spark{--x:50%;--y:50%;--dx:40px;--dy:-40px;--delay:0s;--spark-size:4px;position:absolute;left:var(--x);top:var(--y);width:var(--spark-size);height:var(--spark-size);border-radius:999px;background:var(--signal);box-shadow:0 0 8px color-mix(in srgb,var(--signal) 72%,transparent);opacity:0;transform:translate(-50%,-50%);animation:victory-spark-flight 2.25s cubic-bezier(.16,.7,.25,1) var(--delay) 1 both}.victory-spark:nth-child(3n+1){background:var(--amber);box-shadow:0 0 8px color-mix(in srgb,var(--amber) 72%,transparent)}.victory-spark:nth-child(3n+2){background:#f4f8f5;box-shadow:0 0 7px rgba(255,255,255,.55)}
.victory-badge{position:absolute;left:50%;top:8px;display:flex;align-items:center;gap:7px;min-height:30px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--signal) 46%,var(--field-line));border-radius:999px;color:var(--field-ink);background:color-mix(in srgb,var(--field-shell-deep) 84%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px);font-size:8px;letter-spacing:.11em;transform:translateX(-50%);animation:victory-badge-arrive .62s cubic-bezier(.2,.8,.25,1) both}.victory-badge span{color:var(--amber);font-size:12px}.victory-badge strong{white-space:nowrap}
.board-panel[data-victory-phase="celebrating"] .board-viewport{border-color:color-mix(in srgb,var(--signal) 58%,var(--field-line));box-shadow:inset 0 18px 42px rgba(0,0,0,.2),inset 0 0 0 1px color-mix(in srgb,var(--signal) 18%,transparent),0 0 24px color-mix(in srgb,var(--signal) 12%,transparent)}
.victory-actions{display:flex;justify-content:center;align-items:center;gap:7px;padding:2px 0}.victory-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--signal) 38%,var(--field-line));border-radius:999px;color:var(--field-ink);background:color-mix(in srgb,var(--field-shell) 88%,var(--signal) 5%);box-shadow:inset 0 1px rgba(255,255,255,.05);font-size:9px;font-weight:850;cursor:pointer}.victory-actions button>span{color:var(--signal);font-size:14px}.victory-actions button:hover,.victory-actions button:focus-visible{border-color:var(--signal);background:color-mix(in srgb,var(--field-shell) 80%,var(--signal) 12%)}.victory-actions button:disabled{opacity:.5;cursor:default}
.board-panel[data-victory-phase="celebrating"] .control-hint,.board-panel[data-victory-phase="ready"] .control-hint{display:none}
@keyframes victory-spark-flight{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}12%{opacity:.95}68%{opacity:.76}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.65)}}
@keyframes victory-badge-arrive{0%{opacity:0;transform:translate(-50%,8px) scale(.94)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
html[data-motion-profile="instant"] .victory-particles{display:none}html[data-motion-profile="instant"] .victory-badge{animation:none}.board-panel[data-victory-phase="celebrating"] .mine-cell{pointer-events:none}
@media(max-width:520px){.victory-celebration{inset:38px 5px 40px}.victory-badge{top:5px;font-size:7px;padding:4px 9px}.victory-actions{gap:5px}.victory-actions button{flex:1;max-width:138px;padding-inline:8px;font-size:8px}}
