/* A quiet website around a deliberately faithful classic game. */
:root{--bg:#fff;--surface:#fff;--ink:#222;--muted:#737373;--line:#e8e8e8;--accent:#252525;--accent-light:#f1f1f1;--cell:32px;--shadow:none;font-family:Arial,'Segoe UI',sans-serif}
.header{height:66px}.header-inner{max-width:1040px;gap:42px}.brand{font-size:22px;letter-spacing:-.8px;gap:9px}.brand-mark{display:block;width:21px;height:21px;transform:none}.brand-mark .pixel-icon{width:21px;height:21px}.brand-dot{color:inherit}.main-nav{font-size:13px;gap:27px}.nav-active:after{height:2px}.header-actions{gap:8px}.language-button{font-size:13px}.icon-button{border-radius:4px}.icon-button:hover{background:#f2f2f2;color:#111}
main{max-width:960px;padding:0 24px}.page-heading{margin:30px 0 21px}.page-heading h1{font-size:28px;letter-spacing:-.6px;margin:0}.page-heading .eyebrow,.page-heading p,.safe-badge,.section-heading .eyebrow{display:none}.play-layout{display:block}.game-card{border:1px solid var(--line);border-radius:6px;box-shadow:none;overflow:hidden;background:var(--surface)}.game-tabs{height:53px;padding:0 21px}.game-tabs [role=tablist]{gap:28px}.tab{font-size:13px}.tab .icon,.tab .pixel-icon{width:16px;height:16px}.tab.active:after{height:2px}.game-toolbar{margin:18px 22px 22px}.level-picker select{border-radius:4px;padding:8px 28px 8px 10px;font-weight:400;font-size:13px}.new-game{background:var(--surface);border:1px solid #d5d5d5;color:var(--ink);border-radius:4px;padding:8px 12px;font-weight:400}.new-game:hover{background:#f5f5f5;filter:none}
.scoreboard{width:calc(var(--columns,9)*var(--cell) + 12px);max-width:calc(100% - 32px);margin:0 auto;padding:9px 10px;background:#c0c0c0;border:3px solid;border-color:#fff #808080 #808080 #fff;display:grid;grid-template-columns:1fr 38px 1fr;gap:14px;position:relative;outline:7px solid #c0c0c0;margin-top:8px;margin-bottom:13px;direction:ltr}.score{min-width:0;display:flex;align-items:center}.score:last-child{justify-content:flex-end}.score-label{position:absolute;top:-10000px;width:1px;height:1px;overflow:hidden}.score strong{padding:2px;background:#080808;border:2px solid;border-color:#808080 #fff #fff #808080;line-height:0;letter-spacing:0}.digital{display:block;width:58px;height:36px}.face-button{height:38px;width:38px;border:3px solid;border-color:#fff #808080 #808080 #fff;background:#c0c0c0;box-shadow:0 0 0 1px #808080;padding:3px;border-radius:0;transition:none}.face-button:hover{transform:none}.face-button:active{border-color:#808080 #fff #fff #808080;padding:4px 2px 2px 4px}.face-button svg{width:26px;height:26px;stroke:none;fill:none}
.board-wrap{padding:0 16px 7px;max-height:620px}.board{gap:0;padding:0;background:#c0c0c0;border:3px solid;border-color:#808080 #fff #fff #808080;border-radius:0;outline:7px solid #c0c0c0;margin:0 auto;width:max-content}.cell,.cell:hover:not(.open),[data-theme=dark] .cell,[data-theme=dark] .cell:hover:not(.open){background:#c0c0c0;box-shadow:none;border:3px solid;border-color:#fff #808080 #808080 #fff;border-radius:0;font-family:Arial,sans-serif;font-size:23px;font-weight:900;transition:none;color:#000;transform:none}.cell:active:not(.open){border:1px solid #808080;transform:none}.cell.open,[data-theme=dark] .cell.open{background:#c0c0c0;box-shadow:none;border:0;border-top:1px solid #808080;border-left:1px solid #808080}.cell .pixel-icon{width:20px;height:20px;display:block}.cell[data-count="1"],[data-theme=dark] .cell[data-count="1"]{color:#0000ff}.cell[data-count="2"],[data-theme=dark] .cell[data-count="2"]{color:#008000}.cell[data-count="3"],[data-theme=dark] .cell[data-count="3"]{color:#ff0000}.cell[data-count="4"],[data-theme=dark] .cell[data-count="4"]{color:#000080}.cell[data-count="5"],[data-theme=dark] .cell[data-count="5"]{color:#800000}.cell[data-count="6"],[data-theme=dark] .cell[data-count="6"]{color:#008080}.cell[data-count="7"],[data-theme=dark] .cell[data-count="7"]{color:#000}.cell[data-count="8"],[data-theme=dark] .cell[data-count="8"]{color:#808080}.cell.exploded,[data-theme=dark] .cell.exploded{background:#ff0000;box-shadow:none}.cell.mine{border:1px solid #808080}.cell:focus-visible{outline:2px solid #111;outline-offset:-4px}.game-status{font-size:12px;min-height:40px;margin:12px 15px 5px}.game-status .icon{display:none}.game-status.won{font-size:14px;color:#23743c}.board-bottom{padding:12px 20px 8px}.control-hint{font-size:11px;margin-bottom:15px}.toggle-track{border-radius:3px}.toggle-track:after{border-radius:1px}.flag-toggle>.icon{color:#222}
.side-rail{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0 0}.daily-card,.record-card,[data-theme=dark] .daily-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.daily-card .card-kicker,.record-card .card-kicker{color:var(--ink);font-size:13px;margin:0 0 12px}.daily-card .card-kicker .icon,.record-card .card-kicker .icon{display:none}.daily-date{margin:0 0 8px;font-size:12px;color:var(--muted)}.daily-card h2,.daily-art,.daily-card>p:not(.daily-date){display:none}.daily-button,[data-theme=dark] .daily-button{margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);max-width:290px;font-size:13px;font-weight:400}.daily-button:hover{background:var(--bg)}.daily-card small{font-size:11px;text-align:start;color:var(--muted);margin-top:9px}.record-row{font-size:12px;padding:6px 0}.record-card .card-kicker{margin-bottom:6px}.record-card .text-button{margin-top:12px;color:var(--muted)}.level-dots{display:none}.local-note{grid-column:1/-1;justify-content:flex-start;margin-top:-16px;font-size:11px}.local-note .icon{display:none}
.how-section{margin-top:36px;padding-top:27px;border-top:1px solid var(--line)}.section-heading h2{font-size:20px;letter-spacing:-.3px;margin:0 0 8px}.section-heading p{font-size:14px;max-width:none}.guide-grid{gap:25px;margin-top:24px}.guide-icon,.step-number{display:none}.guide-item h3{font-size:14px;font-weight:600;margin:0 0 8px}.guide-item p{font-size:13px;line-height:1.8}.tip,[data-theme=dark] .tip{background:none;border:0;border-left:2px solid var(--line);border-radius:0;padding:0 0 0 15px;margin-top:24px}.tip-icon{display:none}.tip p{font-size:13px}.faq{margin:30px 0 40px;padding-top:24px;gap:30px}.faq h2{font-size:18px}.faq summary{font-size:13px;padding:13px 0}.faq details p{font-size:13px}footer{padding:23px max(24px,calc((100vw - 912px)/2)) 18px}.footer-top .brand{font-size:18px}.footer-top>span{display:none}.footer-bottom{margin-top:18px;font-size:11px}.footer-top>div{font-size:12px}.primary-button,.secondary-button{border-radius:4px}.stat-box{border-radius:4px}.toast{border-radius:4px}dialog{border-radius:6px}.custom-fields input,.locale-grid a{border-radius:4px}.pause-cover{margin:0 10px;background:var(--surface)}.game-card:fullscreen .board-wrap{display:block}.game-card:fullscreen .scoreboard{margin-top:8px}.pixel-icon{flex-shrink:0;image-rendering:pixelated}
[data-theme=dark]{--bg:#191919;--surface:#191919;--ink:#e9e9e9;--muted:#a0a0a0;--line:#383838;--accent:#e9e9e9;--accent-light:#303030}[data-theme=dark] .new-game{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-theme=dark] .primary-button{color:#191919}[data-theme=dark] .icon-button:hover{background:#303030;color:#fff}[data-theme=dark] .brand-mark .pixel-icon{background:#c0c0c0;padding:2px}[data-theme=dark] .flag-toggle .icon{color:#eee}
@media(max-width:760px){:root{--cell:30px}.header{height:60px}.header-inner{padding:0 18px;gap:14px}.brand{font-size:21px}main{padding:0 16px}.page-heading{margin:23px 0 17px}.page-heading h1{font-size:25px}.game-tabs{height:49px;padding-inline:14px}.game-tabs [role=tablist]{gap:22px}.game-toolbar{margin:15px 14px 23px}.scoreboard{max-width:calc(100% - 26px)}.board-wrap{padding-inline:12px;max-height:520px}.game-card{border-radius:4px}.board-bottom{padding-inline:13px}.side-rail{gap:22px;margin-top:23px}.daily-card .card-kicker,.record-card .card-kicker{font-size:12px}.daily-button{font-size:12px}.daily-card small{font-size:10px}.how-section{margin-top:28px}.guide-grid{gap:22px}.guide-item p{font-size:13px}.faq{grid-template-columns:1fr;gap:8px}.footer-top>div{width:auto;margin-inline-start:auto}.footer-top{gap:20px}.score strong{font-size:0}.control-hint{font-size:10px}.game-status{font-size:11px}}
@media(max-width:420px){:root{--cell:29px}.side-rail{grid-template-columns:1fr 1fr;gap:20px}.daily-card h2{display:none}.daily-card small{font-size:10px}.record-row{font-size:11px}.daily-button{padding:9px;font-size:11px}.card-kicker{font-size:12px}.record-card .text-button{font-size:11px}.local-note{margin-top:-6px}.game-toolbar{gap:8px}.new-game{font-size:12px}.level-picker select{font-size:12px}.game-tabs [role=tablist]{gap:18px}.tab{font-size:12px}.tab>.icon,.tab>.pixel-icon{display:none}.footer-top{align-items:flex-start;flex-direction:column}.footer-top>div{margin:0}.scoreboard{gap:12px}.guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:350px){:root{--cell:25px}.header-inner{padding-inline:12px}.brand{font-size:20px}main{padding-inline:10px}.page-heading h1{font-size:24px}.scoreboard{gap:8px}.game-tabs{padding-inline:10px}.game-toolbar{margin-inline:10px}.new-game{padding:8px;font-size:11px}.digital{width:51px;height:32px}.face-button{width:36px;height:36px;padding:2px}.board-wrap{padding-inline:10px}.board-tools .icon-button{width:24px}.record-row{font-size:10px}.control-hint{font-size:9px}}
.classic-console{width:calc(var(--columns,9)*var(--cell) + 28px);max-width:calc(100% - 30px);padding:8px;margin:0 auto;background:#c0c0c0;border:3px solid;border-color:#fff #808080 #808080 #fff}.classic-console .scoreboard{width:100%;max-width:none;outline:0;margin:0 0 8px;border:2px solid;border-color:#808080 #fff #fff #808080;padding:7px}.classic-console .board-wrap{padding:0;min-height:0}.classic-console .board{outline:0;margin:0;border-width:3px}.game-card:fullscreen .classic-console{margin-block:20px}.game-card:fullscreen .scoreboard{margin-top:0}@media(max-width:350px){.classic-console{padding:6px;max-width:calc(100% - 20px)}}

/* Minutes : seconds : hundredths (10 ms). */
.classic-console .scoreboard{grid-template-columns:50px 34px minmax(0,116px);justify-content:space-between;gap:6px}.scoreboard .digital{width:44px;height:30px}#timer .digital{width:108px;height:30px}.scoreboard .face-button{width:34px;height:34px;padding:1px}.classic-console{min-width:min(253px,calc(100% - 30px))}
/* Five game modes, consistent with the classic board. */
.game-tabs{height:auto;min-height:53px;padding-block:6px;gap:10px}.game-tabs [role=tablist]{flex-wrap:wrap;gap:4px 22px}.tab{min-height:40px;font-size:14px}.tab.active:after{bottom:0}.mode-description,.no-guess-note{margin:0 22px 16px;color:var(--muted);font-size:14px;line-height:1.6}.mode-actions,.infinite-tools,.power-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 22px 18px;font-size:14px}.mode-actions .secondary-button,.infinite-tools .secondary-button,.power-tools .secondary-button{padding:8px 12px;border-radius:4px;font-size:14px}.mode-actions span{color:var(--muted);font-size:13px}.pan-buttons{display:flex;gap:6px;direction:ltr}.pan-buttons button{min-width:42px;min-height:42px}.cell.blocked,.cell.blocked:hover{background:repeating-linear-gradient(135deg,#555 0,#555 3px,#666 3px,#666 6px);border:1px solid #424242;cursor:default;box-shadow:none}.cell.effect-cell{position:relative}.cell.effect-cell:after{content:attr(data-effect);position:absolute;inset:auto 1px 0 auto;font-size:11px;line-height:11px;color:#382781;background:#eeebff}.no-guess-note{margin-top:16px;font-size:13px}.ranking-filters{display:flex;gap:12px}.ranking-filters select{min-width:0;padding:9px}.ranking-table{border-collapse:collapse;width:100%;font-size:14px;margin:18px 0}.ranking-table td,.ranking-table th{padding:12px 8px;text-align:start;border-bottom:1px solid var(--line)}.ranking-table td:last-child{font-variant-numeric:tabular-nums;direction:ltr;white-space:nowrap}#rank-form input{display:block;width:100%;padding:10px;margin-block:8px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.custom-fields{grid-template-columns:1fr 1fr}#rank-error:empty{display:none}.game-toolbar{margin-bottom:12px}#board-dimensions{font-size:12px}
@media(max-width:600px){.game-tabs [role=tablist]{gap:2px 16px}.game-tabs{align-items:flex-start}.mode-actions,.infinite-tools,.power-tools{margin-inline:14px}.mode-description,.no-guess-note{margin-inline:14px}.tab{font-size:13px}.mode-description{font-size:13px}}
.cell.region-left{border-left:2px solid #525252}.cell.region-top{border-top:2px solid #525252}.infinite-count{display:block;color:#ff1515;font:30px/30px monospace;width:44px;text-align:center}
.rule-legend{margin:0 22px 18px;font-size:13px;line-height:1.6;color:var(--ink);border-inline-start:3px solid #75828f;padding-inline-start:10px}.cell.counted-neighbor{box-shadow:inset 0 0 0 2px #1684b8!important}.board[data-topology=cross]{border-color:#808080 #fff #fff #808080}
.classic-console{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
