@font-face{font-family:Digital;src:url(/assets/digital-dismay-C76RDrdb.otf) format("opentype")}:root{--color-bg-primary: #1a1a2e;--color-bg-secondary: #16213e;--color-bg-tertiary: #0f3460;--color-bg-elevated: #2a2a4a;--color-bg-grouped: rgba(0, 0, 0, .2);--color-surface: rgba(0, 0, 0, .3);--color-surface-elevated: #2a2a4a;--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-tertiary: rgba(255, 255, 255, .5);--color-text-inverse: #1a1a2e;--color-fill-primary: rgba(255, 255, 255, .1);--color-fill-secondary: rgba(255, 255, 255, .08);--color-fill-tertiary: rgba(255, 255, 255, .05);--color-fill-hover: rgba(255, 255, 255, .15);--color-fill-active: rgba(255, 255, 255, .2);--color-border: rgba(255, 255, 255, .2);--color-separator: rgba(255, 255, 255, .1);--color-accent: #007AFF;--color-accent-hover: #0a84ff;--color-success: #30D158;--color-danger: #FF453A;--color-warning: #FFD60A;--color-cell-bg-start: #3a3a5a;--color-cell-bg-end: #2a2a4a;--color-cell-hover-start: #4a4a6a;--color-cell-hover-end: #3a3a5a;--color-cell-revealed: rgba(255, 255, 255, .05);--color-cell-hit: rgba(255, 68, 68, .4);--color-counter: #FF453A;--color-counter-glow: rgba(255, 69, 58, .5);--color-overlay: rgba(0, 0, 0, .5);--shadow-elevated: 0 20px 60px rgba(0, 0, 0, .4);--shadow-button: 0 2px 8px rgba(0, 0, 0, .3)}[data-theme=light]{--color-bg-primary: #F2F2F7;--color-bg-secondary: #FFFFFF;--color-bg-tertiary: #F2F2F7;--color-bg-elevated: #FFFFFF;--color-bg-grouped: rgba(0, 0, 0, .03);--color-surface: rgba(0, 0, 0, .04);--color-surface-elevated: #FFFFFF;--color-text-primary: #000000;--color-text-secondary: rgba(60, 60, 67, .6);--color-text-tertiary: rgba(60, 60, 67, .3);--color-text-inverse: #FFFFFF;--color-fill-primary: rgba(120, 120, 128, .2);--color-fill-secondary: rgba(120, 120, 128, .16);--color-fill-tertiary: rgba(118, 118, 128, .12);--color-fill-hover: rgba(120, 120, 128, .24);--color-fill-active: rgba(120, 120, 128, .28);--color-border: rgba(60, 60, 67, .12);--color-separator: rgba(60, 60, 67, .29);--color-accent: #007AFF;--color-accent-hover: #0051D5;--color-success: #34C759;--color-danger: #FF3B30;--color-warning: #FFCC00;--color-cell-bg-start: #D1D1D6;--color-cell-bg-end: #C7C7CC;--color-cell-hover-start: #E5E5EA;--color-cell-hover-end: #D1D1D6;--color-cell-revealed: #FFFFFF;--color-cell-hit: rgba(255, 59, 48, .3);--color-counter: #FF3B30;--color-counter-glow: rgba(255, 59, 48, .3);--color-overlay: rgba(0, 0, 0, .3);--shadow-elevated: 0 10px 40px rgba(0, 0, 0, .12), 0 2px 10px rgba(0, 0, 0, .08);--shadow-button: 0 1px 3px rgba(0, 0, 0, .1)}[data-theme=classic]{--color-bg-primary: #C0C0C0;--color-bg-secondary: #C0C0C0;--color-bg-tertiary: #C0C0C0;--color-bg-elevated: #C0C0C0;--color-bg-grouped: #C0C0C0;--color-surface: #C0C0C0;--color-surface-elevated: #C0C0C0;--color-text-primary: #000000;--color-text-secondary: #000000;--color-text-tertiary: #808080;--color-text-inverse: #FFFFFF;--color-fill-primary: #C0C0C0;--color-fill-secondary: #C0C0C0;--color-fill-tertiary: #C0C0C0;--color-fill-hover: #D4D4D4;--color-fill-active: #A0A0A0;--color-border: #808080;--color-separator: #808080;--color-3d-light: #FFFFFF;--color-3d-dark: #808080;--color-3d-darker: #404040;--color-accent: #000080;--color-accent-hover: #0000A0;--color-success: #008000;--color-danger: #FF0000;--color-warning: #FFFF00;--color-cell-bg-start: #C0C0C0;--color-cell-bg-end: #C0C0C0;--color-cell-hover-start: #D0D0D0;--color-cell-hover-end: #D0D0D0;--color-cell-revealed: #C0C0C0;--color-cell-hit: #FF0000;--color-counter: #FF0000;--color-counter-glow: transparent;--color-counter-bg: #000000;--color-overlay: rgba(0, 0, 0, .5);--shadow-elevated: none;--shadow-button: none}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 100%);color:var(--color-text-primary);transition:background .3s ease,color .3s ease}[data-theme=light] body{background:var(--color-bg-primary)}[data-theme=classic] body{background:silver;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif}#root{height:100%;height:100dvh}.game-container{display:flex;flex-direction:column;height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.game-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;padding-top:max(16px,env(safe-area-inset-top));flex-shrink:0}.game-header h1{font-size:24px;font-weight:700;letter-spacing:-.5px}.header-buttons{display:flex;gap:8px;align-items:center}.menu-btn,.theme-btn{background:var(--color-fill-primary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:0 16px;height:40px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-button);display:flex;align-items:center;justify-content:center}.theme-btn{font-size:18px;line-height:1}.menu-btn:hover,.theme-btn:hover{background:var(--color-fill-hover)}.menu-btn:active,.theme-btn:active{background:var(--color-fill-active);transform:scale(.95)}.dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dropdown{background:var(--color-bg-elevated);border-radius:14px;padding:6px;min-width:220px;box-shadow:var(--shadow-elevated);border:1px solid var(--color-separator)}.dropdown button{display:block;width:100%;background:transparent;border:none;color:var(--color-text-primary);padding:12px 16px;font-size:17px;text-align:left;border-radius:8px;cursor:pointer;transition:background .15s ease}.dropdown button:hover{background:var(--color-fill-secondary)}.dropdown button:active,.dropdown button.active{background:var(--color-fill-tertiary)}.dropdown button.active{font-weight:600;color:var(--color-accent)}.dropdown button.active:before{content:"✓ ";color:var(--color-success)}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--color-bg-grouped);margin:0 16px;border-radius:16px;flex-shrink:0;transition:background .3s ease;border:1px solid var(--color-separator)}[data-theme=light] .status-bar{background:var(--color-bg-secondary);box-shadow:var(--shadow-button)}.counter{font-family:Digital,monospace;font-size:28px;color:var(--color-counter);text-shadow:0 0 10px var(--color-counter-glow);min-width:80px}.counter.timer{text-align:right}.reset-btn{background:var(--color-fill-primary);border:none;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.reset-btn:hover{background:var(--color-fill-hover)}.reset-btn:active{transform:scale(.9);background:var(--color-fill-active)}.reset-btn .face-emoji{font-size:28px;line-height:1}.board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden;min-height:0}.board{display:grid;grid-template-columns:repeat(var(--grid-cols),var(--cell-size));grid-template-rows:repeat(var(--grid-rows),var(--cell-size));gap:2px;background:var(--color-surface);padding:8px;border-radius:12px;transition:background .3s ease}[data-theme=light] .board{background:var(--color-bg-secondary);box-shadow:var(--shadow-elevated);border:1px solid var(--color-separator)}.board.full-table{padding:4px;border-radius:6px}.cell{background:linear-gradient(145deg,var(--color-cell-bg-start) 0%,var(--color-cell-bg-end) 100%);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;font-size:16px;transition:all .1s;aspect-ratio:1}[data-theme=light] .cell{box-shadow:inset 0 1px #ffffff80,0 1px 2px #0000001a}.board:not(.full-table) .cell{width:var(--cell-size);height:var(--cell-size)}.cell:hover:not(.revealed){background:linear-gradient(145deg,var(--color-cell-hover-start) 0%,var(--color-cell-hover-end) 100%)}.cell:active:not(.revealed){transform:scale(.9)}.cell.revealed{background:var(--color-cell-revealed);border-radius:4px;box-shadow:none}[data-theme=light] .cell.revealed{box-shadow:inset 0 1px 3px #00000014}.cell.hit{background:var(--color-cell-hit)!important}.cell img{width:70%;height:70%;object-fit:contain}.cell span{font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.2)}[data-theme=light] .cell span{text-shadow:none}.hint{text-align:center;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));color:var(--color-text-tertiary);font-size:14px;flex-shrink:0}@media(max-width:500px){.game-header h1{font-size:20px}.counter{font-size:22px;min-width:70px}.reset-btn{width:44px;height:44px}.reset-btn img{width:28px;height:28px}.status-bar{padding:10px 16px}}@media(orientation:landscape)and (max-height:500px){.game-header{padding:8px 20px}.game-header h1{font-size:18px}.status-bar{padding:6px 12px;margin:0 12px}.counter{font-size:20px;min-width:60px}.reset-btn{width:36px;height:36px}.reset-btn img{width:24px;height:24px}.hint{padding:6px;font-size:12px}.board-wrapper{padding:8px}}[data-theme=classic] .game-header{background:silver;border-bottom:2px solid #808080}[data-theme=classic] .game-header h1{font-family:"MS Sans Serif",Tahoma,sans-serif;font-weight:700}[data-theme=classic] .menu-btn,[data-theme=classic] .theme-btn{background:silver;border:none;border-radius:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf;padding:8px 12px}[data-theme=classic] .menu-btn:hover,[data-theme=classic] .theme-btn:hover{background:#d4d4d4}[data-theme=classic] .menu-btn:active,[data-theme=classic] .theme-btn:active{transform:none;box-shadow:inset 1px 1px #404040,inset -1px -1px #fff,inset 2px 2px gray,inset -2px -2px #dfdfdf}[data-theme=classic] .dropdown-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=classic] .dropdown{background:silver;border-radius:0;border:none;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf,3px 3px #0000004d;padding:4px}[data-theme=classic] .dropdown button{border-radius:0;font-family:"MS Sans Serif",Tahoma,sans-serif;font-size:14px;padding:6px 20px}[data-theme=classic] .dropdown button:hover{background:navy;color:#fff}[data-theme=classic] .dropdown button.active{color:inherit}[data-theme=classic] .dropdown button.active:hover{color:#fff}[data-theme=classic] .dropdown button.active:before{color:inherit}[data-theme=classic] .status-bar{background:silver;border-radius:0;margin:4px 8px;padding:6px 8px;border:none;box-shadow:inset 1px 1px gray,inset -1px -1px #fff,inset 2px 2px #404040,inset -2px -2px #dfdfdf}[data-theme=classic] .counter{background:#000;color:red;padding:2px 4px;font-family:Digital,Courier New,monospace;text-shadow:none;box-shadow:inset 1px 1px gray,inset -1px -1px #fff}[data-theme=classic] .reset-btn{background:silver;border-radius:0;width:42px;height:42px;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf}[data-theme=classic] .reset-btn:hover{background:#d4d4d4}[data-theme=classic] .reset-btn:active{transform:none;box-shadow:inset 1px 1px #404040,inset -1px -1px #fff,inset 2px 2px gray,inset -2px -2px #dfdfdf}[data-theme=classic] .reset-btn .face-emoji{font-size:24px}[data-theme=classic] .board{background:silver;border-radius:0;padding:6px;gap:0;box-shadow:inset 2px 2px gray,inset -2px -2px #fff,inset 3px 3px #404040,inset -3px -3px #dfdfdf}[data-theme=classic] .cell{background:silver;border-radius:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf}[data-theme=classic] .cell:hover:not(.revealed){background:#d0d0d0}[data-theme=classic] .cell:active:not(.revealed){transform:none;box-shadow:inset 1px 1px gray,inset -1px -1px #dfdfdf}[data-theme=classic] .cell.revealed{background:silver;box-shadow:inset 1px 1px gray}[data-theme=classic] .cell.hit{background:red!important}[data-theme=classic] .cell span{font-weight:700;font-family:"MS Sans Serif",Arial,sans-serif;text-shadow:none}[data-theme=classic] .hint{font-family:"MS Sans Serif",Tahoma,sans-serif;color:#000}.info-btn{background:var(--color-fill-primary);border:1px solid var(--color-border);color:var(--color-text-primary);width:40px;height:40px;border-radius:12px;font-size:18px;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-button);display:flex;align-items:center;justify-content:center}.info-btn:hover{background:var(--color-fill-hover)}.info-btn:active{background:var(--color-fill-active);transform:scale(.95)}[data-theme=classic] .info-btn{background:silver;border:none;border-radius:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf}[data-theme=classic] .info-btn:hover{background:#d4d4d4}[data-theme=classic] .info-btn:active{transform:none;box-shadow:inset 1px 1px #404040,inset -1px -1px #fff,inset 2px 2px gray,inset -2px -2px #dfdfdf}.info-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow-y:auto}[data-theme=classic] .info-modal-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}.info-modal{background:var(--color-bg-elevated);border-radius:16px;padding:24px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-elevated);border:1px solid var(--color-separator);scrollbar-width:none;-ms-overflow-style:none}.info-modal::-webkit-scrollbar{display:none}[data-theme=classic] .info-modal{background:silver;border-radius:0;border:none;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf,4px 4px #0000004d}.info-modal h2{font-size:22px;font-weight:700;margin-bottom:20px;text-align:center}[data-theme=classic] .info-modal h2{font-family:"MS Sans Serif",Tahoma,sans-serif}.info-close-btn{position:absolute;top:12px;right:12px;background:var(--color-fill-secondary);border:none;width:32px;height:32px;border-radius:50%;font-size:24px;line-height:1;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.info-close-btn:hover{background:var(--color-fill-hover);color:var(--color-text-primary)}[data-theme=classic] .info-close-btn{border-radius:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf}[data-theme=classic] .info-close-btn:active{box-shadow:inset 1px 1px #404040,inset -1px -1px #fff,inset 2px 2px gray,inset -2px -2px #dfdfdf}.info-section{margin-bottom:20px}.info-section h3{font-size:16px;font-weight:600;margin-bottom:10px;color:var(--color-accent)}[data-theme=classic] .info-section h3{color:navy;font-family:"MS Sans Serif",Tahoma,sans-serif}.info-section p{font-size:14px;line-height:1.5;color:var(--color-text-secondary)}[data-theme=classic] .info-section p{font-family:"MS Sans Serif",Tahoma,sans-serif;color:#000}.info-controls{display:flex;flex-direction:column;gap:8px}.control-item{display:flex;align-items:center;gap:12px}.control-key{background:var(--color-fill-primary);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;min-width:100px;text-align:center;border:1px solid var(--color-border)}[data-theme=classic] .control-key{border-radius:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff}.control-desc{font-size:14px;color:var(--color-text-secondary)}[data-theme=classic] .control-desc{color:#000}.example-group{margin-bottom:12px}.example-label{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px}[data-theme=classic] .example-label{color:#000;font-family:"MS Sans Serif",Tahoma,sans-serif}.example-hint{font-size:13px;color:var(--color-text-tertiary);margin-bottom:10px}.example-board{display:inline-grid;gap:2px;background:var(--color-surface);padding:6px;border-radius:8px;border:1px solid var(--color-separator)}.example-board.small{grid-template-columns:repeat(3,28px)}.example-board.small .example-cell:only-child{grid-column:2}.example-board.large{grid-template-columns:repeat(4,28px)}[data-theme=light] .example-board{background:var(--color-bg-secondary);box-shadow:var(--shadow-button)}[data-theme=classic] .example-board{background:silver;border-radius:0;border:none;box-shadow:inset 2px 2px gray,inset -2px -2px #fff,inset 3px 3px #404040,inset -3px -3px #dfdfdf}.example-cell{width:28px;height:28px;background:linear-gradient(145deg,var(--color-cell-bg-start) 0%,var(--color-cell-bg-end) 100%);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}[data-theme=light] .example-cell{box-shadow:inset 0 1px #ffffff80,0 1px 2px #0000001a}[data-theme=classic] .example-cell{background:silver;border-radius:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px gray,inset 2px 2px #dfdfdf}.example-cell.revealed{background:var(--color-cell-revealed);border-radius:3px}[data-theme=light] .example-cell.revealed{box-shadow:inset 0 1px 3px #00000014}[data-theme=classic] .example-cell.revealed{background:silver;box-shadow:inset 1px 1px gray}.example-cell.flagged{font-size:16px}.example-cell.bomb{background:var(--color-cell-hit)}[data-theme=classic] .example-cell.bomb{background:red}.example-cell .num-1{color:#007aff}.example-cell .num-2{color:#34c759}.example-cell .num-3{color:#ff3b30}[data-theme=classic] .example-cell .num-1{color:#00f}[data-theme=classic] .example-cell .num-2{color:green}[data-theme=classic] .example-cell .num-3{color:red}.info-section.tips ul{list-style:none;padding:0}.info-section.tips li{font-size:14px;color:var(--color-text-secondary);padding:6px 0 6px 20px;position:relative}.info-section.tips li:before{content:"•";position:absolute;left:0;color:var(--color-accent)}[data-theme=classic] .info-section.tips li{color:#000;font-family:"MS Sans Serif",Tahoma,sans-serif}[data-theme=classic] .info-section.tips li:before{color:navy}@media(max-width:500px){.info-modal{padding:48px 20px 20px}.info-modal h2{font-size:20px}.control-key{min-width:90px;font-size:11px}.example-board.small{grid-template-columns:repeat(3,24px)}.example-board.large{grid-template-columns:repeat(4,24px)}.example-cell{width:24px;height:24px;font-size:12px}.example-cell.flagged{font-size:14px}}
