:root{--bg:#fff5e9;--card:#fff;--card-shadow:0 4px 24px #b4783c1a, 0 1px 4px #b4783c0f;--text:#4a3728;--text-light:#8a7a6a;--accent:#e8a0bf;--accent-soft:#f8e1f4;--accent-deep:#c96b9e;--success:#7bc47f;--danger:#e05c5c;--danger-soft:#ffebee;--warning:#f0a840;--warning-soft:#fff8e1;--cell-hidden:linear-gradient(145deg, #f0d9c0, #e8cdb0);--cell-hidden-hover:linear-gradient(145deg, #f5e0cc, #edd5bc);--cell-revealed:#fdf6ee;--cell-revealed-alt:#f5ede3;--radius:12px;--radius-sm:8px;--font:"Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);overscroll-behavior:none;min-height:100dvh;overflow-x:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.app__bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.app__bg-candy{opacity:.08;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.app__bg-candy--1{background:radial-gradient(circle,#e8a0bf,#f8e1f4);width:300px;height:300px;top:-100px;right:-50px}.app__bg-candy--2{background:radial-gradient(circle,#7bc47f,#e8f5e9);width:200px;height:200px;animation-delay:-7s;bottom:10%;left:-60px}.app__bg-candy--3{background:radial-gradient(circle,#f0a840,#fff8e1);width:150px;height:150px;animation-delay:-14s;top:40%;right:10%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-20px)rotate(5deg)}50%{transform:translateY(10px)rotate(-3deg)}75%{transform:translateY(-15px)rotate(2deg)}}.app--celebrate:after{content:"";pointer-events:none;z-index:100;background:radial-gradient(circle at 20% 30%,#e8a0bf4d 0%,#0000 40%),radial-gradient(circle at 80% 20%,#7bc47f4d 0%,#0000 40%),radial-gradient(circle at 50% 80%,#f0a8404d 0%,#0000 40%);animation:3s ease-out forwards celebrate-fade;position:fixed;inset:0}@keyframes celebrate-fade{0%{opacity:0}10%{opacity:1}to{opacity:0}}.header{z-index:1;justify-content:space-between;align-items:center;width:100%;max-width:800px;margin:0 auto;padding:10px 16px;display:flex;position:relative}.header__back{color:var(--text-light);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;text-decoration:none;transition:all .2s;display:flex}.header__back:hover{background:var(--accent-soft);color:var(--accent-deep)}.header__title{letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.25rem;font-weight:700;display:flex}.main{z-index:1;padding:4px 12px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;align-items:center;gap:10px;width:100%;max-width:800px;min-height:0;margin:0 auto;display:flex;position:relative}.controls{z-index:10;background:linear-gradient(to bottom, var(--bg) 75%, transparent);flex-direction:column;align-items:center;gap:8px;width:100%;padding:6px 0;display:flex;position:sticky;top:0}.controls__row{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.stat{background:var(--card);box-shadow:var(--card-shadow);border-radius:24px;justify-content:center;align-items:center;gap:6px;min-width:72px;padding:8px 14px;font-size:1.05rem;font-weight:700;display:flex}.controls__new-game{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;cursor:pointer;border:none;border-radius:24px;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 16px #c96b9e59}.controls__new-game:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c96b9e73}.controls__new-game:active{transform:translateY(0)scale(.97)}.controls__difficulty{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.difficulty-btn{background:var(--card);color:var(--text-light);cursor:pointer;border:2px solid #d4b896;border-radius:20px;min-height:40px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .15s}.difficulty-btn:hover{border-color:var(--accent);color:var(--accent-deep)}.difficulty-btn--active{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;border-color:#0000;box-shadow:0 2px 8px #c96b9e4d}.controls__best{color:var(--warning);background:var(--warning-soft);border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:.85rem;font-weight:600;display:flex}.toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.tap-mode{background:var(--card);box-shadow:var(--card-shadow);border-radius:24px;gap:4px;padding:4px;display:flex}.tap-mode__btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:20px;justify-content:center;align-items:center;gap:6px;min-width:96px;min-height:44px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:all .15s;display:flex}.tap-mode__btn--active{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;box-shadow:0 2px 8px #c96b9e4d}.tap-mode__btn:active{transform:scale(.96)}.zoom-controls{background:var(--card);box-shadow:var(--card-shadow);border-radius:24px;align-items:center;gap:4px;padding:4px;display:flex}.zoom-controls__btn{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:20px;justify-content:center;align-items:center;transition:all .15s;display:flex}.zoom-controls__btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-deep)}.zoom-controls__btn:disabled{opacity:.35;cursor:default}.board-scroller{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:var(--radius);touch-action:pan-x pan-y;flex:1;width:100%;min-height:0;display:flex;overflow:auto}.board-scroller--shake{animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-8px,2px)rotate(-1deg)}20%{transform:translate(8px,-2px)rotate(1deg)}30%{transform:translate(-6px,1px)rotate(-.5deg)}40%{transform:translate(6px,-1px)rotate(.5deg)}50%{transform:translate(-4px,1px)rotate(-.3deg)}60%{transform:translate(4px)rotate(.3deg)}70%{transform:translate(-2px)rotate(-.1deg)}80%{transform:translate(2px)rotate(.1deg)}}.board-viewport{margin:auto;padding:4px}.board{background:var(--card);border-radius:var(--radius);box-shadow:var(--card-shadow);-webkit-user-select:none;user-select:none;touch-action:manipulation;gap:3px;padding:10px;display:grid}.cell{width:var(--cell-size);height:var(--cell-size);border-radius:calc(var(--cell-size) * .18);cursor:pointer;font-size:calc(var(--cell-size) * .5);background:var(--cell-hidden);border:none;justify-content:center;align-items:center;padding:0;font-weight:800;transition:transform .12s,background .12s;display:flex;position:relative;box-shadow:inset 0 -2px #00000014,inset 0 1px #ffffff80,0 1px 3px #00000014}.cell:hover:not(:disabled):not(.cell--revealed){background:var(--cell-hidden-hover)}.cell:active:not(:disabled):not(.cell--revealed){transform:scale(.92)}.cell:disabled{cursor:default}.cell--revealed{background:var(--cell-revealed);animation:.18s ease-out reveal;box-shadow:inset 0 1px 3px #0000000f}.cell--empty{background:var(--cell-revealed-alt)}@keyframes reveal{0%{opacity:0;transform:scale(.6)}50%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.cell--mine{background:var(--danger-soft)}.cell--exploded{background:var(--danger);animation:.4s ease-out explode}.cell--exploded .cell__icon{color:#fff}@keyframes explode{0%{transform:scale(1);box-shadow:0 0 #e05c5c99}50%{transform:scale(1.3);box-shadow:0 0 0 12px #e05c5c00}to{transform:scale(1);box-shadow:0 0 #e05c5c00}}.cell--flagged{background:linear-gradient(145deg,#ffe0e8,#ffd0dc)}.cell__icon--flag{color:var(--danger);animation:.2s ease-out flag-pop}@keyframes flag-pop{0%{transform:scale(0)rotate(-30deg)}60%{transform:scale(1.2)rotate(10deg)}to{transform:scale(1)rotate(0)}}.cell--questioned{background:linear-gradient(145deg,#fff3d6,#ffeec0)}.cell__icon--question{color:var(--warning)}.cell__number{font-size:calc(var(--cell-size) * .52);text-shadow:0 1px #ffffff80;line-height:1}.cell__icon{width:62%;height:62%}.hint{color:var(--text-light);text-align:center;padding-bottom:4px;font-size:.8rem}.overlay{z-index:50;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out overlay-in;display:flex;position:fixed;inset:0}.overlay--win{-webkit-backdrop-filter:blur(6px);background:#7bc47f2e}.overlay--lost{-webkit-backdrop-filter:blur(6px);background:#4a372840}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.overlay__content{background:var(--card);text-align:center;border-radius:24px;width:100%;max-width:320px;padding:28px 36px;animation:.35s cubic-bezier(.34,1.56,.64,1) overlay-content-in;box-shadow:0 12px 48px #0000002e}@keyframes overlay-content-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.overlay__icon{margin-bottom:12px}.overlay__icon--win{color:var(--success)}.overlay__icon--lost{color:var(--danger)}.overlay__content h2{margin-bottom:8px;font-size:1.5rem}.overlay__content p{color:var(--text-light);margin-bottom:8px}.overlay__record{color:var(--warning);font-size:1.1rem;font-weight:700}.overlay__btn{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;cursor:pointer;border:none;border-radius:24px;width:100%;min-height:48px;margin-top:16px;padding:14px 28px;font-size:1rem;font-weight:600;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 16px #c96b9e59}.overlay__btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #c96b9e73}.overlay__btn:active{transform:scale(.97)}@media (width<=480px){.header{padding:8px 12px}.header__back span{display:none}.header__title{font-size:1.1rem}.main{padding:2px 8px calc(12px + env(safe-area-inset-bottom));gap:8px}.controls__row{gap:8px}.stat{min-width:64px;padding:6px 12px;font-size:1rem}.controls__new-game{padding:8px 14px;font-size:.85rem}.controls__new-game-label{display:none}.controls__new-game{justify-content:center;min-width:48px}.difficulty-btn{min-height:36px;padding:6px 12px;font-size:.8rem}.board{gap:2px;padding:8px}.overlay__content{padding:24px}}@media (width<=360px){.stat{min-width:56px;font-size:.95rem}.tap-mode__btn{min-width:84px;padding:10px 12px}}@media (orientation:landscape) and (height<=500px){.header{padding:4px 16px}.controls{position:static}.controls__difficulty{display:none}.main{gap:6px}}@media (prefers-color-scheme:dark){:root{--bg:#1a1410;--card:#2a2018;--card-shadow:0 4px 24px #0000004d, 0 1px 4px #0003;--text:#f0e6d8;--text-light:#a89888;--cell-hidden:linear-gradient(145deg, #4a3a2a, #3f3225);--cell-hidden-hover:linear-gradient(145deg, #554535, #4a3d2e);--cell-revealed:#332920;--cell-revealed-alt:#2a221a}.cell__number{text-shadow:0 1px #0000004d}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
