:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0a0e16;color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;--panel: #111827;--panel-2: #182235;--line: #293548;--text: #f8fafc;--muted: #8c9bb1;--accent: #f8c84a;--accent-2: #ffdf78;--danger: #fb7185;--cell: #202b3d;--cell-top: #2b3950;--open: #121a27}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-width:320px;min-height:100%;background:radial-gradient(circle at 50% -10%,#1c2942 0,transparent 42%),#0a0e16;overscroll-behavior:none}button{font:inherit}button:focus-visible{outline:3px solid rgba(248,200,74,.65);outline-offset:2px}#app{width:100%}.game-shell{width:100%;max-width:560px;min-height:100dvh;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:11px;min-width:0}.mine-mark{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:25px;color:#16110a;background:linear-gradient(145deg,var(--accent-2),var(--accent));box-shadow:inset 0 -2px #0003}.eyebrow{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.18em}h1,h2,p{margin:0}h1{margin-top:2px;font-size:clamp(24px,7vw,32px);line-height:1;letter-spacing:-.04em}.icon-button,.face-button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}.icon-button{width:46px;height:46px;flex:0 0 46px;border-radius:14px;font-size:24px}.difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:5px;border:1px solid var(--line);background:#111827e0;border-radius:16px}.difficulty button{min-height:42px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;cursor:pointer}.difficulty button.active{background:var(--accent);color:#16110a;box-shadow:inset 0 -2px #0000002e}.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:11px 14px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.hud-item{display:flex;flex-direction:column;gap:2px}.hud-item-right{align-items:flex-end}.hud-label{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.15em}.hud strong{font-variant-numeric:tabular-nums;font-size:21px;letter-spacing:.06em}.face-button{width:45px;height:45px;border-radius:13px;font-size:23px}.board-wrap{width:100%;overflow:hidden;padding:1px 0 4px;touch-action:manipulation}.board{width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:3px;padding:5px;border:1px solid var(--line);border-radius:16px;background:#0d1420;box-shadow:inset 0 0 0 1px #ffffff05}.cell{position:relative;width:100%;aspect-ratio:1 / 1;min-width:0;min-height:0;padding:0;display:grid;place-items:center;border:1px solid #34445e;border-radius:clamp(5px,1.6vw,8px);background:linear-gradient(145deg,var(--cell-top),var(--cell));color:var(--text);box-shadow:inset 1px 1px #ffffff12,inset -1px -2px #0000004d;font-size:clamp(12px,4vw,26px);font-weight:950;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.cell:active:not(.revealed){transform:translateY(1px);filter:brightness(.94)}.cell.revealed{border-color:#202c3e;background:var(--open);box-shadow:inset 0 0 0 1px #ffffff05;cursor:default}.cell.flagged{color:var(--accent)}.cell.mine{color:#111827;background:var(--danger);border-color:#ffffff2e}.cell[data-number="1"]{color:#60a5fa}.cell[data-number="2"]{color:#4ade80}.cell[data-number="3"]{color:#fb7185}.cell[data-number="4"]{color:#a78bfa}.cell[data-number="5"]{color:#f97316}.cell[data-number="6"]{color:#22d3ee}.cell[data-number="7"]{color:#f8fafc}.cell[data-number="8"]{color:#94a3b8}.controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode-button{min-height:52px;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--panel);color:var(--muted);font-size:14px;font-weight:900;cursor:pointer}.mode-button.active{border-color:#f8c84aa6;background:#f8c84a1c;color:var(--accent-2)}.mode-icon{font-size:18px}.footer-info{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;font-weight:700}.result-overlay{position:fixed;inset:0;z-index:20;padding:20px;display:grid;place-items:center;background:#030712c7;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transition:opacity .16s ease}.result-overlay.show{opacity:1}.result-overlay[hidden]{display:none}.result-card{width:min(100%,360px);padding:25px 22px 22px;border:1px solid var(--line);border-radius:24px;background:#121a27;text-align:center;box-shadow:0 22px 70px #00000061;transform:translateY(8px) scale(.98);transition:transform .18s ease}.result-overlay.show .result-card{transform:translateY(0) scale(1)}.result-emoji{font-size:51px;margin-bottom:8px}.result-card h2{margin-top:4px;font-size:30px;letter-spacing:-.04em}.result-card>p{margin-top:7px;color:var(--muted);font-weight:700}.result-score{margin:19px 0;padding:14px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;background:#0e1521}.result-score span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.16em}.result-score strong{color:var(--accent);font-size:24px}.primary-button{width:100%;min-height:52px;border:0;border-radius:14px;background:var(--accent);color:#16110a;font-weight:950;cursor:pointer}@media(max-width:390px){.game-shell{padding-left:12px;padding-right:12px;gap:11px}.board{gap:2px;padding:4px}.difficulty button{font-size:12px}.footer-info{font-size:11px}}@media(max-width:350px){.footer-info{flex-direction:column;gap:4px}}@media(hover:hover)and (pointer:fine){.cell:not(.revealed):hover{filter:brightness(1.09)}.icon-button:hover,.face-button:hover,.mode-button:hover{border-color:#445571}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
