:root{color:#244542;font-synthesis:none;text-rendering:optimizelegibility;background:#eeeae0;font-family:Avenir Next Rounded,Hiragino Maru Gothic ProN,PingFang SC,sans-serif}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#eeeae0;min-height:100%}body{color:#244542;overscroll-behavior:none;background:radial-gradient(circle at 10% 4%,#ffffffe0,#0000 29rem),linear-gradient(145deg,#f5f2e9 0%,#ece8dc 100%);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button{font:inherit}button:focus-visible{outline-offset:3px;outline:3px solid #f3b95a}#app{isolation:isolate;min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(26px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));position:relative}#app:before{content:"";z-index:-2;opacity:.22;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");position:fixed;inset:0}.ambient{z-index:-1;filter:blur(1px);opacity:.55;pointer-events:none;border-radius:45% 55% 64% 36%/57% 34% 66% 43%;width:150px;height:150px;position:fixed}.ambient:after{content:"";opacity:.65;border:3px solid;border-radius:50%;width:24px;height:24px;position:absolute}.ambient-one{color:#d56a58;background:#f1a690;top:-68px;right:-60px;transform:rotate(18deg)}.ambient-one:after{top:116px;left:-17px}.ambient-two{color:#3d7771;background:#8fb9ae;bottom:7%;left:-105px;transform:rotate(-24deg)scale(1.2)}.ambient-two:after{top:-8px;right:-5px}.app-shell{width:min(100%,720px);margin:0 auto}.hero{justify-content:space-between;align-items:flex-start;margin:4px 2px 20px;animation:.48s cubic-bezier(.2,.9,.3,1) both rise-in;display:flex}.eyebrow{color:#6d7c76;letter-spacing:.17em;align-items:center;gap:7px;margin-bottom:5px;font-size:10px;font-weight:800;display:flex}.eyebrow-dot{background:#f07966;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #f0796629}.hero h1{color:#234b47;letter-spacing:-.08em;margin:0;font-family:Futura,Avenir Next Rounded,PingFang SC,sans-serif;font-size:clamp(34px,10vw,54px);font-weight:900;line-height:1.05}.hero h1 span{color:#ee7461;margin-left:.12em}.hero p{color:#77837d;letter-spacing:.08em;margin:7px 0 0;font-size:13px;font-weight:650}.sound-button{color:#2d625d;cursor:pointer;background:#ffffff8f;border:1px solid #305b561f;border-radius:50%;place-items:center;width:46px;height:46px;margin-top:10px;display:grid;position:relative;box-shadow:0 8px 18px #30443d17,inset 0 1px #fff}.sound-button:after{content:"";opacity:0;background:#ee7461;border-radius:2px;width:25px;height:2px;transition:all .18s;position:absolute;transform:rotate(-42deg)scaleX(.3)}.sound-button.is-muted:after{opacity:1;transform:rotate(-42deg)scaleX(1)}.sound-icon{font-size:22px;font-weight:900;transform:translateY(-1px)}.difficulty-panel{margin-bottom:13px;animation:.52s cubic-bezier(.2,.9,.3,1) 50ms both rise-in}.difficulty-list{background:#dedbd0a8;border:1px solid #36534d1a;border-radius:21px;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;display:grid;box-shadow:inset 0 2px 5px #36413c14,0 1px #fffc}.difficulty-list button{color:#66736d;cursor:pointer;background:0 0;border:0;border-radius:16px;min-height:52px;padding:7px 5px;transition:transform .16s,background .16s,box-shadow .16s,color .16s}.difficulty-list button:active{transform:scale(.96)}.difficulty-list button.is-active{color:#28524e;background:#fffdf8;box-shadow:0 6px 13px #2c423c1c,inset 0 1px #fff}.difficulty-list b,.difficulty-list small{display:block}.difficulty-list b{margin-bottom:2px;font-size:14px;font-weight:850}.difficulty-list small{letter-spacing:.08em;opacity:.66;font-size:9px;font-weight:750}.game-card{background:#fffdf7e6;border:1px solid #294c481f;border-radius:29px;padding:11px 11px 14px;animation:.56s cubic-bezier(.2,.9,.3,1) .1s both rise-in;box-shadow:0 19px 44px #37494121,0 3px 8px #37494112,inset 0 1px #fff}.status-bar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:70px;padding:6px 8px 11px;display:grid}.counter{align-items:center;gap:8px;display:flex}.counter-time{text-align:right;justify-content:flex-end}.counter b,.counter small{display:block}.counter b{color:#2e5551;font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:18px}.counter small{color:#87908b;letter-spacing:.15em;margin-top:-2px;font-size:9px;font-weight:800}.counter-icon{color:#fffdf8;background:#ef7563;border-radius:10px;place-items:center;width:30px;height:30px;font-size:16px;font-weight:900;display:grid;transform:rotate(-5deg);box-shadow:0 5px 9px #d75f4c38}.counter-time .counter-icon{background:#3a6c66;transform:rotate(5deg);box-shadow:0 5px 9px #2d5c5633}.face-button{color:#39544c;cursor:pointer;background:#f5bf58;border:0;border-radius:18px;place-items:center;width:54px;height:54px;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:0 7px #dda842,0 11px 14px #ac833038,inset 0 2px 1px #ffffff8c}.face-button:active{transform:translateY(5px);box-shadow:0 2px #dda842,0 5px 8px #ac83302b,inset 0 2px 1px #ffffff8c}.face-button span{letter-spacing:-.1em;font-size:15px;font-weight:950}.board-caption{color:#7a8680;letter-spacing:.06em;justify-content:space-between;align-items:center;padding:0 6px 7px;font-size:10px;font-weight:800;display:flex}.best-time{color:#55716d;background:#ecece3;border-radius:7px;padding:4px 7px;font-size:9px}.board-scroll{background:linear-gradient(135deg,#ffffff21,#0000),#2d625d;border-radius:21px;justify-content:center;align-items:center;min-height:180px;padding:10px;display:flex;overflow:hidden;box-shadow:inset 0 3px 9px #173a364a,0 1px #fff}.board{--cell-size:36px;grid-template-columns:repeat(var(--columns), var(--cell-size));touch-action:manipulation;-webkit-user-select:none;user-select:none;gap:3px;width:max-content;display:grid}.cell{width:var(--cell-size);height:var(--cell-size);border-radius:max(5px, calc(var(--cell-size) * .26));color:#234b47;min-width:0;min-height:0;font-size:clamp(10px, calc(var(--cell-size) * .48), 19px);cursor:pointer;background:#a8c9bc;border:0;place-items:center;padding:0;font-weight:950;line-height:1;transition:transform 90ms,background .12s,box-shadow .12s;display:grid;position:relative;box-shadow:0 3px #789f93,inset 0 1px #ffffff73}.cell:not(.is-revealed):active{transform:translateY(2px)scale(.94);box-shadow:0 1px #789f93,inset 0 1px 3px #345d5526}.cell.is-revealed{background:#e7eee8;animation:.17s cubic-bezier(.2,1.3,.5,1) both cell-pop;box-shadow:inset 0 1px 3px #1f4d461f}.cell.is-flagged{color:#cf5949;background:#f3c45e;animation:.21s cubic-bezier(.15,1.6,.5,1) both flag-pop;box-shadow:0 3px #cc9d39,inset 0 1px #ffffff7a}.cell.is-mine{color:#cc5949;background:#f3d4ca}.cell.is-exploded{color:#fff8ed;background:#ee7461;animation:.32s both mine-shake;box-shadow:inset 0 2px 5px #83312540}.cell[data-number="1"]{color:#3c7770}.cell[data-number="2"]{color:#7d8d3c}.cell[data-number="3"]{color:#de6c57}.cell[data-number="4"]{color:#5063a2}.cell[data-number="5"]{color:#9d5748}.cell[data-number="6"]{color:#2f8587}.cell[data-number="7"]{color:#5f5650}.cell[data-number="8"]{color:#8d8179}.mode-panel{grid-template-columns:1fr 1fr;gap:9px;margin-top:13px;animation:.6s cubic-bezier(.2,.9,.3,1) .15s both rise-in;display:grid}.mode-button{color:#66746e;text-align:left;cursor:pointer;background:#fffdf891;border:1px solid #2c4c471a;border-radius:19px;align-items:center;gap:11px;min-height:62px;padding:9px 12px;transition:all .16s;display:flex;box-shadow:0 5px 12px #34463f0f,inset 0 1px #ffffffb3}.mode-button.is-active{color:#2c5752;background:#fffdf8;border-color:#2757513d;transform:translateY(-2px);box-shadow:0 8px 17px #34463f1c,inset 0 1px #fff}.mode-symbol{color:#32665f;background:#d9e7df;border-radius:12px;flex:0 0 37px;place-items:center;width:37px;height:37px;font-size:18px;font-weight:950;display:grid}.mode-button.is-active .mode-symbol{color:#fff8ee;background:#ef7966}.reveal-symbol:before{content:"";border:3px solid;border-radius:4px;width:10px;height:10px;transform:rotate(12deg)}.mode-button b,.mode-button small{display:block}.mode-button b{font-size:14px;font-weight:900}.mode-button small{letter-spacing:.05em;opacity:.68;margin-top:2px;font-size:9px;font-weight:700}.touch-hint{color:#7a857f;text-align:center;letter-spacing:.04em;margin:14px 0 0;font-size:10px;font-weight:700}.touch-hint span{color:#65552f;background:#f3c45e;border-radius:6px;margin-right:5px;padding:3px 6px;font-size:8px;font-weight:900}.signature{color:#9ba29d;text-align:center;letter-spacing:.22em;margin:20px 0 0;font-size:7px;font-weight:900}.result-backdrop{z-index:10;opacity:0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1f3d3947;place-items:center;padding:24px;transition:opacity .18s;display:grid;position:fixed;inset:0}.result-backdrop[hidden]{display:none}.result-backdrop.is-visible{opacity:1}.result-card{text-align:center;background:#fffaf0;border:1px solid #344f491f;border-radius:30px;width:min(100%,330px);padding:34px 26px 25px;transition:transform .33s cubic-bezier(.18,1.35,.5,1);transform:translateY(20px)scale(.94)rotate(-1deg);box-shadow:0 28px 60px #18363147,inset 0 1px #fff}.is-visible .result-card{transform:translateY(0)scale(1)rotate(0)}.result-sticker{color:#325b55;background:#f3bf57;border-radius:21px;place-items:center;width:66px;height:66px;margin:-2px auto 17px;font-size:28px;display:grid;transform:rotate(-5deg);box-shadow:0 7px #dda53b,0 12px 18px #b0843033}.result-kicker{color:#ee7461;letter-spacing:.18em;margin:0 0 5px;font-size:10px;font-weight:950}.result-card h2{color:#264f4a;letter-spacing:-.05em;margin:0;font-size:25px;font-weight:950}.result-card>p:last-of-type{color:#7a857f;margin:10px 0 24px;font-size:12px;line-height:1.6}.result-card button{color:#fffaf0;cursor:pointer;background:#326760;border:0;border-radius:15px;width:100%;min-height:51px;font-size:13px;font-weight:900;box-shadow:0 6px #214b46,0 10px 14px #22514b33}.result-card button:active{transform:translateY(4px);box-shadow:0 2px #214b46,0 5px 8px #22514b2e}.result-card button span{margin-left:8px}.confetti{z-index:11;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{top:-18px;left:var(--x);width:8px;height:13px;animation:confetti-fall 1.5s var(--delay) cubic-bezier(.2, .7, .35, 1) both;background:#ef7461;border-radius:3px;position:absolute}.confetti-piece.tone-1{background:#f3bf57}.confetti-piece.tone-2{background:#4f8b82}.confetti-piece.tone-3{background:#a7c8bb}@keyframes rise-in{0%{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes cell-pop{0%{transform:scale(.75)}to{transform:scale(1)}}@keyframes flag-pop{0%{transform:scale(.65)rotate(-8deg)}to{transform:scale(1)rotate(0)}}@keyframes mine-shake{25%{transform:translate(-2px)rotate(-3deg)}50%{transform:translate(2px)rotate(3deg)}75%{transform:translate(-1px)}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(92vh) rotate(var(--turn))}}@media (min-width:620px){#app{padding-top:42px;padding-bottom:42px}.hero{margin-bottom:27px}.game-card{padding:14px 16px 18px}.status-bar{padding-inline:18px}}@media (max-height:720px) and (max-width:600px){#app{padding-top:max(10px, env(safe-area-inset-top))}.hero{margin-bottom:10px}.hero h1{font-size:30px}.hero p,.signature{display:none}.difficulty-list button{min-height:45px}.status-bar{min-height:58px}.face-button{border-radius:15px;width:46px;height:46px}.mode-button{min-height:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
