:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#071018;--glow:#144352a6;--surface:#0a1822;--raised:#102833;--inset:#050c12;--soft:#0d2029;--text:#d9e4f0;--strong:#f4fbff;--muted:#9bb3c1;--subtle:#819aa8;--border:#254453;--border-strong:#4d7180;--accent:#58d8b5;--accent-hover:#79e4c5;--accent-ink:#071018;--focus:#f9cc6c;--success:#79e4c5;--success-soft:#123c34;--warning:#f9cc6c;--warning-soft:#302a19;--failure:#ff8f85;--failure-soft:#4a211f;--active:#77c8ff;--active-soft:#122f42;--cell:#173440;--cell-hover:#244b59;--revealed:#0d2029;--count-1:#77c8ff;--count-2:#76e0a0;--count-3:#ffb47a;--count-high:#d89cff;--shadow:#00000059;--grid:#58d8b50d;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#eaf1f3;--glow:#5bbba33d;--surface:#f8fbfc;--raised:#e8f1f3;--inset:#d9e5e8;--soft:#edf4f5;--text:#25383f;--strong:#10262e;--muted:#425e68;--subtle:#58727b;--border:#a8c1c8;--border-strong:#7898a1;--accent:#087a63;--accent-hover:#066651;--accent-ink:#fff;--focus:#8b5d00;--success:#087a63;--success-soft:#d9f1e9;--warning:#8b5d00;--warning-soft:#fff0c7;--failure:#b42f2a;--failure-soft:#ffe1de;--active:#176a9a;--active-soft:#dceefa;--cell:#c8d9dd;--cell-hover:#b5ced3;--revealed:#eef4f5;--count-1:#075f9b;--count-2:#087047;--count-3:#9a4800;--count-high:#713b9b;--shadow:#1f40492e;--grid:#087a630f}*{box-sizing:border-box}body{background:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px), radial-gradient(circle at top, var(--glow), transparent 52rem), var(--page);background-size:2rem 2rem,2rem 2rem,auto,auto;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}#app{min-height:100vh;padding:clamp(1rem,4vw,3rem)}.app-shell{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);width:min(100%,76rem);box-shadow:0 2rem 6rem var(--shadow);border-radius:1rem;margin:0 auto;overflow:hidden}.console-chrome{border-bottom:1px solid var(--border);background:var(--raised);align-items:center;gap:.45rem;padding:.65rem .85rem;display:flex}.console-dot{border-radius:50%;width:.62rem;height:.62rem}.console-dot-failure{background:var(--failure)}.console-dot-warning{background:var(--warning)}.console-dot-success{background:var(--success)}.console-path{color:var(--subtle);margin-left:.35rem;font:.72rem ui-monospace,SFMono-Regular,Menlo,monospace}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:2rem;padding:clamp(1.25rem,4vw,2.5rem);display:flex}.eyebrow,.status-label{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem;font:750 .75rem ui-monospace,SFMono-Regular,Menlo,monospace}h1,h2,p{margin-top:0}h1{color:var(--strong);letter-spacing:-.065em;margin-bottom:.65rem;font-size:clamp(2.75rem,8vw,5.8rem);line-height:.95}h1 span{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.intro{max-width:38rem;color:var(--muted);margin-bottom:0;font-size:clamp(1rem,2.5vw,1.2rem);line-height:1.6}.header-controls{flex-direction:column;flex:none;align-items:end;gap:.75rem;display:flex}.theme-control{align-items:center;gap:.55rem;display:flex}.theme-label{color:var(--subtle);text-transform:uppercase;font-size:.72rem;font-weight:750}.theme-buttons,.preset-buttons,.confirmation-actions{flex-wrap:wrap;gap:.35rem;display:flex}.theme-buttons button,.preset-buttons button,.confirmation-actions button,.flag-mode-button{border:1px solid var(--border-strong);color:var(--text);background:var(--raised);cursor:pointer;border-radius:.45rem;padding:.55rem .7rem;font-weight:750;transition:border-color .14s,background-color .14s,color .14s,transform .14s}.theme-buttons button:hover,.preset-buttons button:hover,.confirmation-actions button:hover,.flag-mode-button:hover{border-color:var(--accent);transform:translateY(-1px)}.theme-buttons button[aria-pressed=true],.preset-buttons button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-ink);background:var(--accent)}.restart-button{border:1px solid var(--accent);color:var(--accent-ink);background:var(--accent);cursor:pointer;box-shadow:0 .5rem 1.5rem color-mix(in srgb, var(--accent) 22%, transparent);border-radius:.55rem;padding:.8rem 1rem;font-weight:800;transition:background-color .14s,transform .14s}.restart-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.restart-button:focus-visible,.flag-mode-button:focus-visible,.theme-buttons button:focus-visible,.preset-buttons button:focus-visible,.confirmation-actions button:focus-visible,.board-cell:focus-visible{outline:.2rem solid var(--focus);outline-offset:.14rem}.game-panel{padding:clamp(1rem,3vw,2rem)}.status-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;padding:.25rem .25rem 1.25rem;transition:border-color .16s,background-color .16s;display:flex}.status-message{min-width:0}.status-heading-row{align-items:center;gap:.65rem;display:flex}.status-symbol{width:2rem;height:2rem;color:var(--subtle);background:var(--raised);border:1px solid;border-radius:.4rem;flex:none;place-items:center;font:900 1rem ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.status-bar h2{color:var(--strong);margin-bottom:0;font-size:clamp(1.2rem,3vw,1.7rem)}.status-bar[data-status=active] .status-symbol{color:var(--active);background:var(--active-soft)}.status-bar[data-status=won] .status-symbol,.status-bar[data-status=won] h2{color:var(--success)}.status-bar[data-status=won] .status-symbol{background:var(--success-soft)}.status-bar[data-status=lost] .status-symbol,.status-bar[data-status=lost] h2{color:var(--failure)}.status-bar[data-status=lost] .status-symbol{background:var(--failure-soft)}.status-detail{max-width:34rem;color:var(--muted);margin:.5rem 0 0}.game-metrics{flex:none;gap:clamp(1rem,4vw,2.5rem);margin:0;display:flex}.game-metrics div{min-width:6.5rem}.game-metrics dt{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:750}.game-metrics dd{color:var(--strong);margin:0;font:800 clamp(1.25rem,3vw,1.65rem) ui-monospace,SFMono-Regular,Menlo,monospace}.preset-panel{border-bottom:1px solid var(--border);padding:1rem .25rem}.preset-heading-row,.preset-groups,.confirmation-actions{justify-content:space-between;align-items:center;gap:1rem;display:flex}.preset-heading-row h2{color:var(--strong);margin-bottom:0;font-size:1.05rem}.config-summary{color:var(--muted);text-align:right;margin:0;font:.85rem ui-monospace,SFMono-Regular,Menlo,monospace}.preset-groups{justify-content:flex-start;margin-top:1rem}.preset-group{border:0;min-width:0;margin:0;padding:0}.preset-group legend{color:var(--subtle);margin-bottom:.4rem;font-size:.75rem;font-weight:750}.preset-confirmation{border:1px solid var(--warning);background:var(--warning-soft);border-radius:.55rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.8rem;display:flex}.preset-confirmation[hidden]{display:none}.preset-confirmation p{color:var(--strong);margin:0}.confirmation-actions{flex:none}.confirmation-actions [data-action=apply-preset]{border-color:var(--warning);color:var(--accent-ink);background:var(--warning)}.game-tools{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;display:flex}.instructions{color:var(--subtle);margin:0;font-size:.9rem}.flag-mode-button[data-active=true]{border-color:var(--warning);color:var(--accent-ink);background:var(--warning)}.board-frame{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--border);background:var(--inset);width:100%;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 35%, transparent);border-radius:.65rem;overflow:auto}.game-board{--cell-size:clamp(1.8rem, 4.8vw, 3.4rem);grid-template-columns:repeat(var(--board-columns), var(--cell-size));justify-content:center;gap:.16rem;width:max-content;min-width:100%;padding:clamp(.6rem,2vw,1.25rem);display:grid}.board-row{display:contents}.board-cell-wrapper{width:var(--cell-size);height:var(--cell-size)}.board-cell{border:1px solid var(--border-strong);width:100%;height:100%;color:var(--text);background:var(--cell);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:.22rem;place-items:center;padding:0;font:900 clamp(.72rem,2vw,1rem) ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .12s,background-color .12s,transform .12s;display:grid}.board-cell:hover:not(:disabled){border-color:var(--accent);background:var(--cell-hover);transform:translateY(-1px)}.board-cell[data-state=revealed]{border-color:color-mix(in srgb, var(--border) 65%, transparent);background:var(--revealed);cursor:default}.board-cell[data-state=flagged]{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.board-cell[data-state=bug]{border-color:var(--failure);color:var(--failure);background:var(--failure-soft)}.board-cell[data-count="1"]{color:var(--count-1)}.board-cell[data-count="2"]{color:var(--count-2)}.board-cell[data-count="3"]{color:var(--count-3)}.board-cell[data-count="4"],.board-cell[data-count="5"],.board-cell[data-count="6"],.board-cell[data-count="7"],.board-cell[data-count="8"]{color:var(--count-high)}.board-cell:disabled{opacity:1}@media (width<=44rem){#app{padding:.65rem}.app-header,.status-bar{flex-direction:column;align-items:stretch;gap:1rem}.app-header,.game-panel{padding:1rem}.header-controls{align-items:stretch}.theme-control{flex-direction:column;align-items:flex-start}.restart-button{align-self:start}.game-metrics{justify-content:space-between;width:100%}.preset-heading-row,.preset-groups,.preset-confirmation{flex-direction:column;align-items:stretch}.config-summary{text-align:left}.confirmation-actions,.game-tools{flex-direction:column;align-items:stretch}.flag-mode-button{align-self:start}.board-frame{max-height:65svh}.game-board{--cell-size:2.5rem;justify-content:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
