:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1f2937;--ink-soft:#6b7280;--line:#9ca3af;--line-strong:#1f2937;--surface:#fff;--primary:#1d4ed8;--home-bg:#f2f5f9;--card-line:#dde4ee;--choice-bg:#fbfcfe;--choice-line:#d3dae4;--choice-selected-bg:#e9f0fe;--selected-bg:#bfdbfe;--peer-tint:#3b82f638;--tile-raised:#cbd5e1;--tile-raised-light:#f1f5f9;--tile-raised-dark:#64748b;--tile-sunken:#f8fafc;--tile-sunken-line:#cbd5e1;--board-bg:#94a3b8;--flag-red:#dc2626;--exploded-bg:#fca5a5;--flag-mode:#d97706;--flag-mode-bg:#fde68a;--flag-mode-button:#fbbf24;--app-width:min(100vw, 480px);--screen-height:100vh;color:var(--ink);background:var(--surface);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif}@supports (height:100dvh){:root{--screen-height:100dvh}}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--surface);margin:0}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}button:disabled{cursor:default}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.input-locked,.input-locked *{pointer-events:none!important}.glyph-flag{flex:none;width:1em;height:1em;display:inline-block;position:relative}.glyph-flag-pole{background:var(--ink);border-radius:1px;width:10%;height:76%;position:absolute;top:8%;left:34%}.glyph-flag-cloth{border-top:.21em solid #0000;border-bottom:.21em solid #0000;border-left:.44em solid var(--flag-red);width:0;height:0;position:absolute;top:8%;left:44%}.glyph-flag-base{background:var(--ink);border-radius:2px;width:56%;height:12%;position:absolute;bottom:8%;left:16%}.glyph-mine{flex:none;width:1em;height:1em;display:inline-block;position:relative}.glyph-mine-body{background:radial-gradient(circle at 35% 35%,#fff 0 12%,#111827 14%);border-radius:50%;position:absolute;inset:20%}.glyph-mine-spikes,.glyph-mine-spikes:before{background:linear-gradient(#111827,#111827) 50%/10% 90% no-repeat,linear-gradient(#111827,#111827) 50%/90% 10% no-repeat;position:absolute;inset:0}.glyph-mine-spikes:before{content:"";transform:rotate(45deg)scale(.85)}.home{width:100%;min-height:var(--screen-height);padding:calc(env(safe-area-inset-top) + 24px) calc((100% - var(--app-width)) / 2 + 16px) calc(env(safe-area-inset-bottom) + 24px);background:var(--home-bg);flex-direction:column;gap:16px;display:flex}.home-header{align-items:center;gap:10px;display:flex}.home-mark{flex:none;gap:2px;font-size:22px;display:flex}.home-title{margin:0;font-size:24px;font-weight:700}.home-card{border:1px solid var(--card-line);background:var(--surface);border-radius:18px;padding:14px;box-shadow:0 1px 3px #0000000a}.home-actions{flex-direction:column;gap:12px;margin-top:auto;display:flex}.big-button{border:2px solid var(--line-strong);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:72px;padding:8px 16px;font-size:24px;font-weight:700;line-height:1.25;display:flex}.big-button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.big-button-note{font-size:16px;font-weight:400}.home-actions .big-button{border-radius:14px}.home-actions .big-button.primary{box-shadow:0 2px 6px #0000001f}.howto-button{border:2px solid var(--choice-line);background:var(--surface);border-radius:14px;min-height:56px;margin-top:4px;font-size:20px;font-weight:600}.choice{border:0;margin:0;padding:0}.choice legend{align-items:center;gap:8px;margin-bottom:12px;padding:0;font-size:18px;font-weight:700;display:flex}.choice legend:before{content:"";background:var(--primary);border-radius:2px;width:4px;height:18px}.choice-list{gap:10px;display:grid}.choice-button{border:2px solid var(--choice-line);background:var(--choice-bg);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:72px;padding:0;font-size:22px;display:flex;position:relative}.choice-button[aria-pressed=true]{border:3px solid var(--primary);background:var(--choice-selected-bg);font-weight:700}.choice-check{color:var(--primary);font-size:18px;line-height:1;position:absolute;top:4px;right:8px}.choice-mines{font-size:14px;line-height:1.4}.game{width:var(--app-width);min-height:var(--screen-height);padding-top:env(safe-area-inset-top);padding-bottom:calc(env(safe-area-inset-bottom) + 8px);--pitch:calc((var(--app-width) - 28px) / var(--cols-fit));flex-direction:column;margin:0 auto;display:flex}.game-easy{--cols-fit:8}.game-normal{--cols-fit:9}.game-hard{--cols-fit:9;height:var(--screen-height);overflow:hidden}.game-header{justify-content:space-between;align-items:center;gap:4px;padding:6px 8px 0;display:flex}.header-button{border:2px solid var(--line-strong);background:var(--surface);border-radius:10px;min-width:68px;min-height:48px;padding:0 6px;font-size:17px;font-weight:600}.game-title{text-align:center;margin:0;font-size:17px;font-weight:600}.status{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;margin:6px 0 0;font-size:22px;font-weight:700;line-height:1.3;display:flex}.board-area{flex-direction:column;flex:1;justify-content:flex-start;min-height:0;display:flex}.board-hit{touch-action:none;justify-content:center;padding:6px 8px;display:flex}.board-hit-scroll{touch-action:pan-x pan-y;flex:1;min-height:0}.board-frame{border:3px solid var(--ink);background:var(--board-bg);border-radius:6px;min-width:0;min-height:0;display:flex;position:relative}.board-frame.mode-flag{border-color:var(--flag-mode);box-shadow:0 0 0 2px var(--flag-mode)}.board-hit-scroll .board-frame{flex:1}.board-viewport{min-width:0;min-height:0}.board-hit-scroll .board-viewport{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;overflow:auto}.board-content{padding:3px;position:relative}.board-hit-scroll .board-content{width:max-content;padding-bottom:calc(var(--minimap-size) + 20px)}.board{grid-template-columns:repeat(var(--cols), var(--pitch));grid-auto-rows:var(--pitch);display:grid}.cell{touch-action:inherit;background:0 0;border:0;min-width:0;min-height:0;padding:0;position:relative}.tile{font-size:calc(var(--pitch) * .52);font-variant-numeric:tabular-nums;border-radius:3px;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex;position:absolute;inset:1.5px}.cell.raised .tile{border-style:solid;border-width:3px;border-color:var(--tile-raised-light) var(--tile-raised-dark) var(--tile-raised-dark) var(--tile-raised-light);background:var(--tile-raised)}.cell.sunken .tile{border:1px solid var(--tile-sunken-line);background:var(--tile-sunken);box-shadow:inset 2px 2px 3px #0f172a38}.cell .glyph-flag,.cell .glyph-mine{font-size:calc(var(--pitch) * .62)}.n1 .tile{color:#1d4ed8}.n2 .tile{color:#15803d}.n3 .tile{color:#dc2626}.n4 .tile{color:#1e3a8a}.n5 .tile{color:#7f1d1d}.n6 .tile{color:#0e7490}.n7 .tile{color:#111827}.n8 .tile{color:#4b5563}.cell.peer .tile:after,.cell.peer-flash .tile:after{content:"";background:var(--peer-tint);pointer-events:none;border-radius:3px;position:absolute;inset:-3px}.cell.selected .tile{box-shadow:inset 0 0 0 3px var(--ink)}.cell.selected.sunken .tile{background:var(--selected-bg)}.cell.selected.raised .tile{border-color:var(--ink);background:#dbeafe}.cell.sunken.cell-exploded .tile{border:2px solid var(--flag-red);background:var(--exploded-bg)}.cell.shake.shake-a .tile{animation:.45s ease-in-out shake-a}.cell.shake.shake-b .tile{animation:.45s ease-in-out shake-b}.cell.peer-flash.shake-a .tile:after{animation:.7s ease-out flash-a}.cell.peer-flash.shake-b .tile:after{animation:.7s ease-out flash-b}@keyframes shake-a{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes shake-b{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes flash-a{0%{background:#d977068c}}@keyframes flash-b{0%{background:#d977068c}}@media (prefers-reduced-motion:reduce){.cell.shake.shake-a .tile,.cell.shake.shake-b .tile{animation:none}}.game-hard{--minimap-size:96px}.minimap{border:2px solid var(--ink);touch-action:none;background:#ffffffeb;border-radius:6px;padding:4px;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 6px #0003}.minimap-grid{grid-template-columns:repeat(var(--cols), 1fr);width:var(--minimap-size);height:var(--minimap-size);display:grid;position:relative}.minimap-cell{background:var(--tile-raised-dark);box-shadow:inset 0 0 0 .5px #fff9}.minimap-open{background:#fff}.minimap-flag{background:var(--flag-red)}.minimap-mine{background:#111827}.minimap-view{border:2px solid var(--primary);pointer-events:none;background:#1d4ed81f;border-radius:2px;position:absolute}.actions{border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 8px 0;padding:6px;display:grid}.actions-flag{background:var(--flag-mode-bg)}.action-button{border:2px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:56px;padding:0;font-size:min(20px,5.4vw);font-weight:700;display:flex;position:relative}.action-button:disabled{border-color:var(--line);color:var(--ink-soft)}.mode-button{border-width:3px}.mode-button-flag{border-color:var(--flag-mode);background:var(--flag-mode-button)}.save-badge{background:var(--primary);color:#fff;border-radius:999px;padding:1px 4px;font-size:min(11px,2.8vw);font-weight:700;line-height:1.2;position:absolute;top:-9px;right:2px}.aux-row{min-height:56px;margin:8px 14px 0}.chord-button{border:2px solid var(--primary);width:100%;min-height:56px;color:var(--primary);background:#eff6ff;border-radius:10px;font-size:20px;font-weight:700}.bottom-panel{flex-direction:column;gap:8px;margin:4px 8px 0;display:flex}.panel-text{text-align:center;margin:0;font-size:19px;font-weight:600}.panel-buttons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.panel-button{min-height:96px;font-size:22px}.panel-button span{display:block}.complete-title{color:var(--primary);text-align:center;margin:0;font-size:56px;font-weight:800;line-height:1.1;animation:.5s ease-out complete-pop}.complete-detail{text-align:center;margin:0;font-size:19px;font-weight:600;line-height:1.35}.complete-panel .big-button{font-size:22px}.confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:-24px}@keyframes confetti-fall{to{transform:translate(var(--confetti-drift), calc(var(--screen-height) + 48px)) rotate(var(--confetti-spin))}}@keyframes complete-pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.complete-title{animation:none}}.sheet-backdrop{position:fixed;inset:0}.sheet{width:var(--app-width);max-height:60dvh;padding:16px 16px calc(env(safe-area-inset-bottom) + 16px);border-top:2px solid var(--line-strong);background:var(--surface);border-radius:16px 16px 0 0;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -4px 16px #00000026}.sheet-tall{max-height:88dvh}.sheet-title{margin:0 0 8px;font-size:22px}.sheet-text{margin:0 0 8px;font-size:19px;line-height:1.4}.sheet-actions{gap:8px;margin-top:12px;display:flex}.sheet-actions-column{flex-direction:column}.sheet-button{border:2px solid var(--line-strong);background:var(--surface);border-radius:10px;flex:1;min-height:56px;padding:4px 8px;font-size:19px;font-weight:600}.setting{border:2px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:56px;margin-bottom:8px;padding:0 16px;font-size:19px;display:flex}.setting-state{font-weight:700}.setting[aria-checked=true]{border-color:var(--primary);background:#dbeafe}.howto-section{border-bottom:1px solid var(--card-line);padding:12px 0 16px}.howto-heading{margin:0 0 12px;font-size:22px}.howto-text{margin:8px 0 0;font-size:21px;line-height:1.45}.howto-note{color:var(--ink-soft);margin:8px 0 0;font-size:17px;line-height:1.4}.howto-figure{background:var(--board-bg);border-radius:6px;grid-template-columns:repeat(3,56px);grid-auto-rows:56px;gap:3px;width:max-content;margin:0 auto;padding:3px;display:grid}.howto-cell{border-radius:3px;justify-content:center;align-items:center;font-size:34px;display:flex}.howto-cell-around{border:3px dashed var(--primary);background:#dbeafe}.howto-cell-open{border:3px solid var(--ink);background:var(--selected-bg)}.howto-number{color:#15803d;font-weight:700}.howto-modes{gap:12px;display:grid}.howto-mode{border-radius:12px;grid-template-columns:96px 1fr;align-items:center;gap:12px;padding:8px;display:grid}.howto-mode-flag{background:var(--flag-mode-bg)}.howto-mode .howto-text{margin:0}.howto-mode-button{border:3px solid var(--line-strong);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;gap:4px;min-height:56px;font-size:20px;font-weight:700;display:flex}.howto-mode-button-flag{border-color:var(--flag-mode);background:var(--flag-mode-button)}
