*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cell-size:32px;--board-bg:silver;--felt:#1a6b35;--felt-dark:#145829;--global-toolbar-h:64px;--border-light:#fff;--border-dark:gray;--border-darker:#404040;--sunken-bg:silver;--font-lcd:"Courier New", monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--num-1:#00f;--num-2:green;--num-3:red;--num-4:navy;--num-5:maroon;--num-6:teal;--num-7:#000;--num-8:gray}html,body{background:var(--felt);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;font-family:Arial,sans-serif}#app{min-height:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);flex-direction:column;align-items:center;display:flex}#global-toolbar{background:var(--felt-dark);width:100%;height:var(--global-toolbar-h);box-sizing:border-box;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;display:flex}#global-toolbar .spacer{flex:1}#akuie-logo{flex-shrink:0;align-items:center;text-decoration:none;display:flex}#akuie-logo img{object-fit:contain;border-radius:8px;width:90px;height:90px}#game-title{color:#fff;letter-spacing:.5px;white-space:nowrap;font-size:18px;font-weight:700}#btn-donate{color:#f472b6;cursor:pointer;background:#00000040;border:1px solid #fff3;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:flex}#btn-donate svg{width:18px;height:18px}#btn-donate:hover{background:#f472b626}#global-toolbar .diff-btn{color:#fff;cursor:pointer;background:#00000040;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:6px 12px;font-size:13px;display:flex}#global-toolbar .diff-btn.active{background:#fff3;border-color:#ffffff80}#global-toolbar .diff-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.game-area{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:16px 12px;display:flex}#custom-dialog{z-index:300;background:var(--felt-dark);border:1px solid #ffffff26;border-radius:8px;flex-direction:column;gap:10px;min-width:200px;padding:14px 16px;display:flex;position:fixed;box-shadow:0 8px 24px #00000080}.cd-row{color:#ffffffe6;justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.cd-row input{text-align:right;color:#fff;-moz-appearance:textfield;background:#0000004d;border:1px solid #fff3;border-radius:4px;width:64px;padding:4px 6px;font-size:13px}.cd-row input:focus{border-color:#ffffff80;outline:none}.cd-row input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cd-row input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cd-label{flex-direction:column;gap:1px;display:flex}.cd-label-name{color:#ffffffe6;font-size:13px}.cd-label-range{color:#fff6;font-size:11px}.cd-btn-row{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.cd-btn{color:#ffffffd9;cursor:pointer;background:#00000040;border:1px solid #fff3;border-radius:6px;min-height:32px;padding:5px 14px;font-size:13px}.cd-btn:hover{background:#0006}.cd-btn-primary{color:#fff;background:#ffffff26;border-color:#fff6;font-weight:600}.cd-btn-primary:hover{background:#ffffff40}#best-times{color:#ffffffbf;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;font-size:12px;display:flex}.best-times-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.best-times-item{background:#0003;border-radius:4px;padding:2px 8px}.game-container{background:var(--board-bg);border:3px solid;border-color:var(--border-light) var(--border-darker) var(--border-darker) var(--border-light);flex-direction:column;gap:6px;padding:6px;display:inline-flex}.board{grid-template-columns:repeat(var(--cols), var(--cell-size));grid-template-rows:repeat(var(--rows), var(--cell-size));border:3px solid;border-color:var(--border-darker) var(--border-light) var(--border-light) var(--border-darker);touch-action:none;cursor:default;display:grid}.toolbar{background:var(--board-bg);border:3px solid;border-color:var(--border-darker) var(--border-light) var(--border-light) var(--border-darker);height:var(--toolbar-height);justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.lcd{color:red;font-family:var(--font-lcd);letter-spacing:2px;text-align:right;background:#000;border:2px inset gray;min-width:52px;padding:2px 4px;font-size:24px;font-weight:700;line-height:1.1}.smiley-btn{background:var(--board-bg);border:3px solid;border-color:var(--border-light) var(--border-darker) var(--border-darker) var(--border-light);cursor:pointer;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:20px;line-height:1;display:flex}.smiley-btn:active{border-color:var(--border-darker) var(--border-light) var(--border-light) var(--border-darker)}.difficulty-bar{flex-wrap:wrap;gap:4px;display:flex}.cell{width:var(--cell-size);height:var(--cell-size);font-size:calc(var(--cell-size) * .55);cursor:default;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;overflow:hidden}.cell[data-state=hidden]{background:var(--board-bg);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light)}.board:not([data-status=won]):not([data-status=lost]) .cell[data-state=hidden]:hover{background:#d4d4d4}.board:not([data-status=won]):not([data-status=lost]) .cell[data-state=revealed][data-number]:hover{background:#b8b8b8}.cell[data-state=revealed]{background:var(--sunken-bg);border:1px solid var(--border-dark)}.cell[data-state=flagged]{background:var(--board-bg);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light)}.cell[data-state=flagged]:after{content:"";width:calc(var(--cell-size) * .55);height:calc(var(--cell-size) * .65);background-image:url(/webgames/minesweeper/icons/flag.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.cell[data-state=questioned]{background:var(--board-bg);border:2px solid;border-color:var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);color:#000}.cell[data-state=questioned]:after{content:"?";font-weight:700}.cell[data-state=mine]{background:var(--sunken-bg);border:1px solid var(--border-dark)}.cell[data-state=mine]:after{content:"";width:calc(var(--cell-size) * .65);height:calc(var(--cell-size) * .65);background-image:url(/webgames/minesweeper/icons/mine.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.cell[data-state=mine-hit]{border:1px solid var(--border-dark);background:red}.cell[data-state=mine-hit]:after{content:"";width:calc(var(--cell-size) * .65);height:calc(var(--cell-size) * .65);background-image:url(/webgames/minesweeper/icons/mine.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.cell[data-state=wrong-flag]{background:var(--sunken-bg);border:1px solid var(--border-dark)}.cell[data-state=wrong-flag]:after{content:"";width:calc(var(--cell-size) * .55);height:calc(var(--cell-size) * .65);background-image:url(/webgames/minesweeper/icons/wrong-flag.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.cell[data-state=revealed][data-number="1"]{color:var(--num-1)}.cell[data-state=revealed][data-number="2"]{color:var(--num-2)}.cell[data-state=revealed][data-number="3"]{color:var(--num-3)}.cell[data-state=revealed][data-number="4"]{color:var(--num-4)}.cell[data-state=revealed][data-number="5"]{color:var(--num-5)}.cell[data-state=revealed][data-number="6"]{color:var(--num-6)}.cell[data-state=revealed][data-number="7"]{color:var(--num-7)}.cell[data-state=revealed][data-number="8"]{color:var(--num-8)}.smiley-btn,#global-toolbar .diff-btn{min-width:44px;min-height:44px}.board{-webkit-tap-highlight-color:transparent}.cell{-webkit-touch-callout:none;-webkit-user-select:none;touch-action:none}@media (width<=400px){.toolbar{padding:4px 6px}.lcd{min-width:44px;font-size:20px}.smiley-btn{width:32px;height:32px;font-size:18px}}#htp-panel{z-index:8000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}#htp-panel.open{display:flex}#htp-backdrop{background:#0009;position:absolute;inset:0}#htp-dialog{background:#1a6b35;border-radius:12px;flex-direction:column;width:min(480px,92vw);max-height:80vh;animation:.2s htp-in;display:flex;position:relative;box-shadow:0 8px 40px #00000080}@keyframes htp-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}#htp-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}#htp-header h2{color:#fff;font-size:1.1rem}#htp-header button{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;line-height:1}#htp-header button:hover{color:#fff}#htp-body{color:#ffffffd9;flex-direction:column;gap:16px;padding:16px 20px 20px;font-size:14px;line-height:1.6;display:flex;overflow-y:auto}#htp-body section h3{color:#fff;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:6px;font-size:.85rem}#htp-body p+p{margin-top:6px}#htp-body strong{color:#fff}#htp-body ul{flex-direction:column;gap:4px;padding-left:18px;display:flex}@keyframes mine-pulse{0%{background-color:red}50%{background-color:#f66}to{background-color:red}}.cell[data-state=mine-hit]{animation:.6s ease-in-out 2 mine-pulse}@keyframes wrong-flag-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.cell[data-state=wrong-flag]{animation:.3s ease-in-out wrong-flag-shake}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}#record-banner{top:calc(var(--global-toolbar-h) + 12px);color:#fff;white-space:nowrap;z-index:200;pointer-events:none;background:navy;border:2px solid #ffffff4d;border-radius:4px;padding:8px 20px;font-size:15px;font-weight:700;animation:.25s ease-out forwards toast-in;position:fixed;left:50%;transform:translate(-50%)}
