:root{--cell-max:44px;--clue:26px;--clue-h:24px;--gap:3px;--page-w:calc(min(100vw, 640px) - 24px);--bg:#0f1117;--panel:#171a23;--hidden:#2a2f3d;--hidden-hi:#353c4d;--revealed:#11141c;--line:#0b0d12;--text:#e6e9f0;--muted:#8b93a7;--accent:#5b8cff;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.page{max-width:640px;margin:0 auto;padding:20px 12px 56px;text-align:center;overflow-x:hidden}.appbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--hidden)}.brand{font-size:22px;font-weight:700;letter-spacing:.5px;color:var(--text);text-decoration:none}.appbar-chrome{display:flex;align-items:center;gap:8px}.tagline{color:var(--muted)}.context,.tagline{margin:0 0 16px;font-size:14px}.context{display:flex;align-items:center;justify-content:center;gap:10px}.back-btn{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--hidden-hi);color:var(--text);padding:5px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.back-btn:hover{border-color:var(--accent)}.context-label{color:var(--muted)}.meta{display:flex;align-items:center;justify-content:center;gap:8px;margin:2px 0 6px;font-size:18px;font-weight:700}.meta-num{color:var(--text)}.meta-dot{color:var(--muted);font-weight:400}.meta .day-badge{padding:4px 12px;font-size:12px}.actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.diffnav{display:inline-flex;gap:4px;background:var(--panel);padding:4px;border-radius:10px}.day-badge{padding:8px 16px;border-radius:10px;font-size:13px;font-weight:700;letter-spacing:.3px;color:white;text-decoration:none;display:inline-block}.day-badge.easy{background:#2f9e6b}.day-badge.medium{background:#c98a2b}.day-badge.hard{background:#d04d57}.day-badge.expert{background:#7c4dff}.howto-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--hidden-hi);color:var(--muted);padding:8px 13px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:color .1s,border-color .1s}.howto-btn:hover{color:var(--text);border-color:var(--accent)}.diff{text-decoration:none;color:var(--muted);text-transform:capitalize;padding:6px 14px;border-radius:7px;font-size:14px}.diff.active{background:var(--accent);color:white}.game{flex-direction:column;gap:14px;margin:0 auto}.game,.hud{display:flex;align-items:center;width:100%}.hud{justify-content:space-between;font-size:18px}.lives{display:inline-flex;align-items:center;gap:5px}.heart-on{color:#e8505b}.heart-off{color:var(--hidden-hi)}.timer{display:inline-flex;align-items:center;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:16px}.board{display:grid;grid-gap:var(--gap);gap:var(--gap);background:var(--line);padding:var(--gap);border-radius:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-inline:auto}.corner{width:var(--clue);height:var(--clue-h)}.clue{display:flex;align-items:center;justify-content:center;font-size:clamp(11px,3.2vw,13px);font-weight:700;color:var(--muted);background:none;border:none;padding:0;font-family:inherit;cursor:default;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.clue-col{height:var(--clue-h)}.clue-row{width:var(--clue)}.clue.q,.clue.ready{color:var(--accent)}.clue.ready{background:rgba(91,140,255,.16);border-radius:5px;cursor:pointer;animation:clue-pulse 1.5s ease-in-out infinite}.clue.done{opacity:.4}@keyframes clue-pulse{50%{background:rgba(91,140,255,.32)}}@media (prefers-reduced-motion:reduce){.clue.ready{animation:none}}.clue.ready:after{content:"";position:absolute}.clue-col.ready:after{inset:-10px -1px -2px -1px}.clue-row.ready:after{inset:-1px -2px -1px -10px}.cell{width:var(--cell);height:var(--cell);border:none;border-radius:5px;background:var(--hidden);color:var(--text);font-size:clamp(13px,4.4vw,17px);font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .08s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cell svg{width:54%;height:54%}.cell:hover:not(:disabled):not(.flag):not(.mistake){background:var(--hidden-hi)}.cell.revealed{background:var(--revealed);cursor:default}.cell.chordable{box-shadow:inset 0 0 0 1.5px rgba(91,140,255,.45);cursor:pointer}.cell.flag{color:#e8505b}.cell.maybe{color:#e0b341}.cell.mistake{color:#ffffff;background:#d6263a;animation:minehit .45s ease-out}.cell.mine-reveal{color:var(--muted);background:#20242e}@keyframes minehit{0%{background:#ff5a6a;transform:scale(1.12)}to{background:#d6263a;transform:scale(1)}}.n1{color:#6ea8ff}.n2{color:#5ad19a}.n3{color:#ff7a85}.n4{color:#b58cff}.n5{color:#e0a04d}.n6{color:#4dd0d6}.n7{color:#d6d6d6}.n8{color:#9aa0ad}.controls{display:flex;flex-direction:column;width:100%}.controls,.mode-toggle{align-items:center;gap:8px}.mode-toggle{display:inline-flex;justify-content:center;background:var(--panel);border:1px solid transparent;color:var(--text);padding:11px 22px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mode-toggle.active{border-color:#e8505b;background:#2a1418;color:#ffd2d6}.mode-toggle:disabled{opacity:.5;cursor:default}.controls-hint{margin:0;font-size:12.5px;color:var(--muted);text-align:center}.tool{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--panel);border:1px solid transparent;color:var(--text);padding:12px 10px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap}.tool svg{flex-shrink:0}.tool.active{border-color:var(--accent);background:#1d2740}.tool:disabled{opacity:.5;cursor:default}.result{margin-top:6px;background:var(--panel);padding:16px 24px;border-radius:12px}.result h2{margin:0 0 6px}.result p{margin:0 0 12px;color:var(--muted)}.result-stats{display:flex;align-items:center;justify-content:center;gap:8px;text-transform:capitalize}.result-hearts{display:inline-flex;align-items:center;gap:3px}.result-hearts .heart-on{color:#e8505b}.share{background:var(--accent);color:white;border:none;padding:10px 22px;border-radius:9px;font-size:15px;font-weight:600;cursor:pointer}.result-streak{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;color:#e0913d;font-weight:600}.result-duel{margin:0 0 12px;font-weight:700}.result-duel.won{color:#5ad19a}.result-duel.lost{color:var(--muted)}.target-banner{gap:6px;font-size:13px;font-weight:600;color:var(--accent);background:#16203a;padding:6px 12px;border-radius:8px}.icon-btn,.target-banner{display:inline-flex;align-items:center}.icon-btn{justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--hidden-hi);color:var(--muted);border-radius:10px;cursor:pointer;transition:color .1s,border-color .1s}.icon-btn:hover{color:var(--text);border-color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-bottom:8px}.stat{background:var(--hidden);border-radius:9px;padding:12px 6px}.stat-n{font-size:22px;font-weight:700}.stat-l{font-size:11px;margin-top:2px}.stat-h,.stat-l{color:var(--muted)}.stat-h{font-size:13px;text-align:left;margin:18px 0 8px;font-weight:600}.best-times{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.best-times li{display:flex;align-items:center;justify-content:space-between}.best-times .day-badge{text-transform:capitalize;padding:4px 12px;font-size:12px}.best-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.lives-bars{display:flex;flex-direction:column;gap:6px}.lives-bar{display:flex;align-items:center;gap:10px}.lives-bar-label{width:48px;text-align:left;font-size:12px;color:var(--muted);flex-shrink:0}.lives-bar-track{flex:1 1;background:var(--hidden);border-radius:5px;height:18px;overflow:hidden}.lives-bar-fill{display:block;height:100%;min-width:2px;background:var(--accent);border-radius:5px;transition:width .2s}.lives-bar-fill.lost{background:#d04d57}.lives-bar-n{width:24px;text-align:right;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-empty{color:var(--muted);font-size:13px;margin:16px 0 0}.loading{color:var(--muted);font-size:14px;padding:80px 20px}.legend{margin:28px auto 0;max-width:380px;display:flex;flex-direction:column;gap:8px}.legend-item{margin:0;display:flex;align-items:baseline;gap:8px;color:var(--muted);font-size:13px;text-align:left;padding:8px 12px;background:var(--panel);border-radius:8px}.legend-item b{color:var(--text);flex-shrink:0;min-width:92px}.privacy-note{margin:6px 0 0;font-size:11px;color:var(--muted);opacity:.7}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;animation:fade .12s ease-out}.modal{background:var(--panel);border:1px solid var(--hidden);border-radius:14px;max-width:440px;width:100%;padding:20px 22px 24px;box-shadow:0 18px 50px rgba(0,0,0,.5)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:0;font-size:19px}.modal-close{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:6px}.modal-close:hover{color:var(--text);background:var(--hidden)}.rules{list-style:none;margin:0;padding:0;flex-direction:column}.rules,.rules li{display:flex;gap:12px}.rules li{align-items:flex-start;text-align:left;font-size:14px;line-height:1.45;color:var(--text)}.rule-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;margin-top:1px;color:var(--accent)}@keyframes fade{0%{opacity:0}to{opacity:1}}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.result-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 12px;border-radius:9px;background:var(--panel);font-weight:600;font-size:14px}.result-strip.won{color:#5ad19a}.result-strip.lost{color:#ff6b6b}.strip-btn{flex-shrink:0;background:var(--accent);color:#fff;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer}.practice-picker{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 0}.practice-picker p{margin:0;color:var(--muted)}.practice-pick-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.practice-pick{border:none;cursor:pointer;font-size:15px;padding:12px 20px;transition:transform .08s}.practice-pick:hover{transform:translateY(-1px)}.linklike{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.skeleton-block{display:inline-block;background:var(--hidden);border-radius:5px}.skeleton-block,.skeleton-cell{animation:pulse 1.2s ease-in-out infinite}.skeleton-cell{cursor:default}.tool.skeleton-block{background:var(--hidden);border-color:transparent;min-height:44px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.hud-mode{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;letter-spacing:.2px;color:#ffd2d6;background:#2a1418;border:1px solid #e8505b;padding:3px 9px;border-radius:999px}.setting-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--hidden);border:1px solid transparent;border-radius:11px;padding:14px 16px;cursor:pointer;color:var(--text);transition:border-color .12s,background .12s}.setting-row.on{border-color:#e8505b;background:#2a1418}.setting-icon{flex-shrink:0;color:var(--muted)}.setting-row.on .setting-icon{color:#e8505b}.setting-text{display:flex;flex-direction:column;gap:3px;flex:1 1}.setting-title{font-size:15px;font-weight:700}.setting-desc{font-size:12px;color:var(--muted);line-height:1.35}.setting-switch{flex-shrink:0;width:42px;height:24px;border-radius:999px;background:var(--hidden-hi);padding:3px;transition:background .12s}.setting-row.on .setting-switch{background:#e8505b}.setting-knob{display:block;width:18px;height:18px;border-radius:50%;background:white;transform:translateX(0);transition:transform .14s ease}.setting-row.on .setting-knob{transform:translateX(18px)}.result-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;font-weight:700}.result-badge.perfect{color:#f2c14e}.result-badge.nomistakes{color:#ff8a92}.result-countdown{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 14px;font-size:13px;color:var(--muted)}.countdown-clock{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;color:var(--text);letter-spacing:.4px}.stat-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:380px){:root{--clue:22px;--gap:2px}.brand{font-size:20px}.howto-btn{padding:8px 10px}.tool{padding:11px 6px;font-size:13px}}