:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#101010;--foreground:#eeeeec;--label:#8e8e8a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}body{background:var(--background);color:var(--foreground)}button{font:inherit}.game{--app-height:100dvh;width:100%;height:var(--app-height);padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#101010;grid-template-rows:42px minmax(0,1fr);display:grid}.game *{-webkit-user-select:none;user-select:none}header{justify-content:space-between;align-items:flex-start;display:flex}h1{letter-spacing:-.02em;margin:0;padding:8px 4px;font-size:14px;font-weight:500;line-height:1}.controls,.controls dl,.controls dl>div{align-items:center;display:flex}.controls{gap:12px}.controls dl{gap:14px;margin:0}.controls dl>div{gap:5px}.controls dt{color:var(--label);font-size:11px}.controls dd{font-variant-numeric:tabular-nums;min-width:3ch;margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:13px}.tool{color:#c8c7c2;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #3d3d3d;border-radius:3px;outline:none;flex-shrink:0;justify-content:center;align-items:center;gap:5px;height:30px;padding:0 8px;font-size:12px;display:inline-flex}.tool:hover{color:#eeeeec;background:#242424}.tool:active{transform:translateY(1px)}.tool:focus-visible{outline-offset:2px;outline:2px solid #a5a5a1}.tool svg{flex-shrink:0;width:13px;height:13px}.reset{color:#b8b8b4;width:30px;padding:0}.mode-toggle.active{color:#eb7d72;background:#2a1c1b;border-color:#72443f}.board-area{--cell-size:27px;min-height:0;position:relative;overflow:hidden}.board-scroll{overscroll-behavior:contain;display:grid;position:absolute;inset:0;overflow:auto}.board{grid-template-columns:repeat(var(--columns), var(--cell-size));background:#505050;gap:1px;width:max-content;height:max-content;margin:auto;display:grid}.cell{width:var(--cell-size);height:var(--cell-size);color:#0000;cursor:default;touch-action:manipulation;background:#2d2d2d;border:0;border-radius:0;place-items:center;padding:0;display:grid;box-shadow:inset 0 0 0 1px #3d3d3d}.cell svg{pointer-events:none;-webkit-user-drag:none}.cell:hover{background:#383838;box-shadow:inset 0 0 0 1px #505050}.cell:active{background:#484848}.cell:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #eeeeec}.cell:disabled{opacity:1}.board[data-input-mode=flag] .cell:not(.open){cursor:crosshair}.cell.open{box-shadow:none;font-family:SFMono-Regular,Consolas,monospace;font-size:calc(var(--cell-size) * .55);background:#101010;font-weight:700}.cell.flagged{color:#eb7d72;background:#2d2d2d}.cell.flagged svg,.cell.mine svg{stroke-width:2.25px;width:50%;height:50%}.cell.mine{color:#999995}.cell.exploded{color:#101010;background:#eb7d72}.cell.wrong{color:#eb7d72;background:#101010}.n1{color:#8fb9ed}.n2{color:#9abd87}.n3{color:#ef8b84}.n4{color:#b7a1d8}.n5{color:#dca080}.n6{color:#88c5c1}.n7{color:#e0dfda}.n8{color:#a5a5a1}.result-layer{z-index:2;place-items:center;display:grid;position:absolute;inset:0}.result-backdrop{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.result{text-align:center;background:#151515;border:1px solid #343434;border-radius:4px;width:180px;padding:18px;position:relative}.result h2{margin:0;font-size:16px;font-weight:500}.result p{color:var(--label);margin:5px 0 16px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.again{color:#d2d2cf;padding:0 10px}@media (orientation:portrait) and (width<=720px){.board-area{--cell-size:22px}}@media (width<=430px){.controls,.controls dl{gap:9px}.controls dl>div{gap:3px}}
