@import"https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";.home{position:relative;min-height:100vh;background:var(--surface);overflow-x:hidden;font-family:var(--font-body);color:var(--text-primary)}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.06) 2px,rgba(0,0,0,.06) 4px)}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:99;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.55) 100%)}.hero{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;padding:3rem 1.5rem;text-align:center}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.deco-grid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(8,1fr);gap:2px;opacity:.08;z-index:0;pointer-events:none}.deco-cell{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--neon-dim);border:1px solid rgba(51,255,51,.1);animation:cellPulse 4s ease-in-out infinite alternate}@keyframes cellPulse{0%{opacity:.3}to{opacity:1}}.hero-title{display:flex;flex-direction:column;gap:.25rem;margin:0;line-height:1}.title-pxl{font-family:var(--font-display);font-size:clamp(3rem,10vw,6rem);font-weight:700;color:var(--neon);text-shadow:0 0 20px var(--neon-glow),0 0 60px rgba(51,255,51,.2),0 4px 0 #0a3a0a;letter-spacing:.15em;animation:glowPulse 3s ease-in-out infinite alternate}.title-sweeper{font-family:var(--font-display);font-size:clamp(1.2rem,4vw,2.5rem);font-weight:400;color:var(--text-muted);letter-spacing:.4em;text-transform:uppercase}@keyframes glowPulse{0%{text-shadow:0 0 20px var(--neon-glow),0 0 60px rgba(51,255,51,.2),0 4px 0 #0a3a0a}to{text-shadow:0 0 30px var(--neon-glow),0 0 80px rgba(51,255,51,.35),0 0 120px rgba(51,255,51,.1),0 4px 0 #0a3a0a}}.hero-tagline{font-family:var(--font-body);font-size:clamp(.8rem,2vw,1rem);color:var(--text-muted);margin:0;letter-spacing:.05em}.blink{animation:cursorBlink 1s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.play-btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;margin-top:.5rem;font-family:var(--font-display);font-size:clamp(.9rem,2vw,1.1rem);color:var(--surface);background:var(--neon);border:none;text-decoration:none;cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s;box-shadow:0 0 20px var(--neon-glow),0 4px #1a8a1a,inset 0 1px #fff3}.play-btn:hover{transform:translateY(-2px);box-shadow:0 0 30px var(--neon-glow),0 0 60px #3f33,0 6px #1a8a1a,inset 0 1px #fff3}.play-btn:active{transform:translateY(2px);box-shadow:0 0 15px var(--neon-glow),0 2px #1a8a1a,inset 0 1px #fff3}.play-btn:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.play-btn-icon{font-size:.8em}.section-heading{font-family:var(--font-display);font-size:clamp(.9rem,2.5vw,1.3rem);color:var(--neon);text-align:center;margin:0 0 2rem;letter-spacing:.1em;text-shadow:0 0 12px var(--neon-glow)}.difficulties{padding:4rem 1.5rem;max-width:56rem;margin:0 auto}.diff-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem}.diff-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.5rem;background:var(--surface-card);border:1px solid var(--border-subtle);text-decoration:none;color:var(--text-primary);transition:border-color .2s,transform .2s,box-shadow .2s;cursor:pointer}.diff-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:2px solid transparent;pointer-events:none;transition:border-color .2s}.diff-card:hover{transform:translateY(-4px);border-color:var(--neon);box-shadow:0 8px 24px #0006,0 0 20px var(--neon-dim)}.diff-card:hover:before{border-color:var(--neon)}.diff-card:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.diff-emoji{font-size:1.8rem}.diff-name{font-family:var(--font-display);font-size:.95rem;margin:0;color:var(--text-primary)}.diff-stats{font-family:var(--font-body);font-size:.75rem;color:var(--neon);margin:0;letter-spacing:.05em;text-shadow:0 0 8px var(--neon-dim)}.diff-desc{font-family:var(--font-body);font-size:.72rem;color:var(--text-muted);margin:0;text-align:center;line-height:1.6}.controls-preview{padding:3rem 1.5rem 4rem;max-width:44rem;margin:0 auto}.controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.control-group{background:var(--surface-card);border:1px solid var(--border-subtle);padding:1.5rem}.control-group-title{font-family:var(--font-display);font-size:.7rem;color:var(--amber);margin:0 0 1rem;letter-spacing:.1em;text-transform:uppercase}.control-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;font-size:.75rem;color:var(--text-muted)}.control-list kbd{display:inline-block;font-family:var(--font-body);font-size:.7rem;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-bottom:2px solid var(--border-subtle);padding:.15rem .5rem;margin-right:.5rem;min-width:4rem;text-align:center}.home-footer{padding:2rem 1.5rem;text-align:center;font-family:var(--font-body);font-size:.7rem;color:var(--text-muted);border-top:1px solid var(--border-subtle)}.home-footer p{margin:0}.footer-pixel{color:var(--neon);margin-left:.25rem;animation:glowPulse 3s ease-in-out infinite alternate}@media(max-width:640px){.controls-grid{grid-template-columns:1fr}.deco-grid{display:none}}:root{--surface: #0d0d14;--surface-raised: #161622;--surface-card: #1a1a2a;--neon: #33ff33;--neon-dim: rgba(51, 255, 51, .15);--neon-glow: rgba(51, 255, 51, .4);--amber: #ffb830;--coral: #ff5c6c;--text-primary: #e0e0ec;--text-muted: #6e6e88;--border-subtle: #2a2a40;--border-focus: #ffb830;--cell-hidden: #3a3a52;--cell-hidden-light: #4e4e6a;--cell-hidden-dark: #28283c;--cell-revealed: #1e1e30;--cell-revealed-border: #2a2a40;--color-flag: #e83838;--color-mine: #c0c0d0;--color-exploded-bg: #e02020;--color-wrong: #ff5c40;--num-1: #6ab4ff;--num-2: #55dd55;--num-3: #ff6666;--num-4: #8888ee;--num-5: #dd5555;--num-6: #44cccc;--num-7: #a0a0b8;--num-8: #707088;--font-display: "Silkscreen", monospace;--font-body: "Space Mono", "Courier New", monospace}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--text-primary);font-family:var(--font-body)}.game-page{position:relative;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 20%,rgba(51,255,51,.04) 0%,transparent 50%),var(--surface);overflow-x:auto}.game-topbar{display:flex;align-items:center;gap:1.25rem;padding:1.1rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);flex-shrink:0}.game-back{font-family:var(--font-body);font-size:.9rem;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid transparent;transition:color .15s,border-color .15s}.game-back:hover{color:var(--neon);border-color:var(--border-subtle)}.game-back:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.game-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:.1em;margin:0;color:var(--neon);text-shadow:0 0 12px var(--neon-glow)}.game-main{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem 3rem;gap:1.25rem}.hud{display:flex;align-items:center;justify-content:center;gap:1.1rem;padding:1.1rem 1.5rem;background:var(--surface-card);border:1px solid var(--border-subtle);flex-wrap:wrap;max-width:max-content}.hud-counter{display:flex;gap:.5rem;align-items:baseline;padding:.5rem .85rem;background:var(--surface);border:1px solid var(--border-subtle)}.hud-label{font-family:var(--font-display);font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.hud-value{font-family:var(--font-body);font-weight:700;font-size:1.35rem;min-width:2.5ch;text-align:right;color:var(--neon);text-shadow:0 0 8px var(--neon-dim)}.hud-center{display:flex;flex-direction:column;align-items:center;gap:.4rem}.hud-status{margin:0;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted)}.hud-new-game{font-family:var(--font-display);font-size:.75rem;padding:.55rem 1.2rem;cursor:pointer;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);letter-spacing:.05em;transition:background .15s,border-color .15s,color .15s}.hud-new-game:hover{background:var(--surface-card);border-color:var(--neon);color:var(--neon)}.hud-new-game:active{background:var(--surface)}.hud-new-game:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.difficulty-select{display:flex;gap:.35rem}.difficulty-btn{font-family:var(--font-display);font-size:.65rem;padding:.5rem .85rem;cursor:pointer;background:var(--surface);color:var(--text-muted);border:1px solid var(--border-subtle);letter-spacing:.03em;transition:background .15s,color .15s,border-color .15s}.difficulty-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.difficulty-btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.difficulty-btn-active{background:var(--neon);color:var(--surface);border-color:var(--neon)}.difficulty-btn-active:hover{background:#4f4}.board-stage{display:flex;justify-content:center}.board{display:inline-flex;flex-direction:column;padding:4px;background:var(--surface-card);border:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;box-shadow:0 8px 32px #0006,0 0 24px var(--neon-dim)}.board:focus{outline:none;border-color:var(--neon);box-shadow:0 8px 32px #0006,0 0 32px var(--neon-dim)}.board-row{display:flex}.cell{position:relative;width:34px;height:34px;padding:0;margin:0;font-family:var(--font-body);font-size:16px;font-weight:700;line-height:34px;text-align:center;cursor:pointer;border:none}.cell:focus{outline:none}.cell[data-state=hidden]{background:var(--cell-hidden);border:2px solid;border-color:var(--cell-hidden-light) var(--cell-hidden-dark) var(--cell-hidden-dark) var(--cell-hidden-light)}.cell[data-state=flagged]{background:var(--cell-hidden);border:2px solid;border-color:var(--cell-hidden-light) var(--cell-hidden-dark) var(--cell-hidden-dark) var(--cell-hidden-light);color:var(--color-flag);font-size:15px}.cell[data-state=wrong-flag]{background:var(--cell-hidden);border:2px solid;border-color:var(--cell-hidden-light) var(--cell-hidden-dark) var(--cell-hidden-dark) var(--cell-hidden-light);color:var(--color-wrong);font-size:15px}.cell[data-state=revealed-empty],.cell[data-state^=number-]{background:var(--cell-revealed);border:1px solid var(--cell-revealed-border);cursor:default}.cell[data-state=number-1]{color:var(--num-1)}.cell[data-state=number-2]{color:var(--num-2)}.cell[data-state=number-3]{color:var(--num-3)}.cell[data-state=number-4]{color:var(--num-4)}.cell[data-state=number-5]{color:var(--num-5)}.cell[data-state=number-6]{color:var(--num-6)}.cell[data-state=number-7]{color:var(--num-7)}.cell[data-state=number-8]{color:var(--num-8)}.cell[data-state=mine]{background:var(--cell-revealed);border:1px solid var(--cell-revealed-border);color:var(--color-mine);cursor:default;font-size:16px}.cell[data-state=mine-exploded]{background:var(--color-exploded-bg);border:1px solid var(--cell-revealed-border);color:#fff;cursor:default;font-size:16px}.board:focus .cell[data-focused]{outline:2px solid var(--amber);outline-offset:-2px;z-index:1;box-shadow:0 0 6px #ffb83080}.shortcuts-help{margin-top:.75rem;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);max-width:max-content}.shortcuts-help summary{cursor:pointer;color:var(--text-muted);font-family:var(--font-display);font-size:.7rem;letter-spacing:.05em;transition:color .15s}.shortcuts-help summary:hover{color:var(--text-primary)}.shortcuts-help summary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.shortcuts-help ul{margin:.6rem 0 0;padding-left:1.2rem;line-height:2}.shortcuts-help kbd{display:inline-block;font-family:var(--font-body);font-size:.7rem;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-subtle);border-bottom:2px solid var(--border-subtle);padding:.1rem .4rem;margin-right:.4rem;min-width:3.5rem;text-align:center}
