:root{color:#173f3a;font-synthesis:none;--ink:#173f3a;--cream:#fffdf3;--mint:#dff7ef;--green:#49bd73;--green-dark:#238451;--yellow:#ffd862;--coral:#ff806d;--shadow:0 8px 0 #173f3a2e, 0 16px 40px #173f3a29;font-family:Arial Rounded MT Bold,Apple SD Gothic Neo,Noto Sans KR,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:#bceadf url(./background-match-BrioJdUq.webp) 50%/cover fixed;min-height:100dvh;overflow-x:hidden}body:before{z-index:-1;content:"";background:linear-gradient(#effff95c,#c0efdf80);position:fixed;inset:0}button{color:inherit;font:inherit}button:focus-visible{outline-offset:3px;outline:4px solid #145cff}.app-shell{width:100%;min-height:100dvh;padding:max(8px, env(safe-area-inset-top)) max(2px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(2px, env(safe-area-inset-left))}.screen{min-height:calc(100dvh - max(18px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));place-items:center;display:grid}.sticker-card{border:3px solid var(--ink);box-shadow:var(--shadow);background:#fffdf3f0;border-radius:30px}.menu-card,.result-card{text-align:center;width:min(430px,100vw - 22px);padding:25px 24px 22px;position:relative;overflow:hidden}.eyebrow{color:var(--green-dark);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:.76rem;font-weight:900}h1,h2{margin:0;font-family:Arial Rounded MT Bold,Apple SD Gothic Neo,sans-serif;font-weight:400;line-height:1}h1{letter-spacing:-.05em;text-shadow:0 4px #b6e8c8;font-size:clamp(2.8rem,13vw,4.2rem)}h1 span{color:var(--green-dark)}h2{font-size:clamp(2.2rem,10vw,3.2rem)}.tagline{margin:8px 0 0;font-size:.98rem;font-weight:800}.hero-wrap{height:min(37dvh,300px);min-height:215px;margin:3px auto -7px;position:relative}.hero-wrap:before{content:"";background:radial-gradient(circle,#fff9bb 0 52%,#0000 53%);border:3px dashed #23845147;border-radius:50%;position:absolute;inset:12% 9% 4%}.hero-toad{z-index:1;object-fit:contain;filter:drop-shadow(0 9px #173f3a1f);width:100%;height:100%;position:relative}.hero-spark{z-index:2;color:var(--coral);font-size:1.8rem;position:absolute}.hero-spark--one{top:25%;left:9%;transform:rotate(-12deg)}.hero-spark--two{color:var(--yellow);top:12%;right:12%}.best-pill{border:2px solid var(--ink);background:#fff2a8;border-radius:999px;align-items:baseline;gap:8px;min-height:44px;margin:0 auto 12px;padding:9px 18px;font-size:.85rem;font-weight:800;display:inline-flex}.best-pill strong{font-size:1.15rem}.primary-button{border:3px solid var(--ink);background:var(--green);width:100%;min-height:56px;box-shadow:0 6px 0 var(--ink);color:#fff;cursor:pointer;text-shadow:0 2px #00000029;border-radius:18px;padding:11px 22px 8px;font-family:Arial Rounded MT Bold,Apple SD Gothic Neo,sans-serif;font-size:1.4rem;line-height:1;transition:translate .1s,box-shadow .1s,filter .1s}.primary-button:hover{filter:brightness(1.05)}.primary-button:active{box-shadow:0 2px 0 var(--ink);translate:0 4px}.primary-button:disabled{cursor:wait;filter:grayscale(.4);opacity:.65}.menu-actions{justify-content:center;align-items:center;gap:12px;margin-top:11px;display:flex}.icon-button,.text-button,.dialog-close{cursor:pointer;border:0;min-width:44px;min-height:44px}.icon-button{border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:50%;font-size:1.3rem;font-weight:900}.icon-button.is-muted{color:#74817f;background:#e7ecea}.text-button{color:var(--green-dark);text-underline-offset:4px;background:0 0;padding:8px 12px;font-weight:900;text-decoration:underline;text-decoration-thickness:2px}.game-screen{align-content:center;gap:9px}.game-header{border-radius:22px;grid-template-columns:minmax(92px,1fr) minmax(80px,1fr) minmax(74px,1fr) 44px;align-items:center;width:min(448px,100vw - 8px);min-height:70px;padding:8px 8px 7px 12px;display:grid;position:relative}.hud-stat{flex-direction:column;min-width:0;line-height:1.05;display:flex}.hud-stat span{color:var(--green-dark);font-size:.68rem;font-weight:900}.hud-stat strong{text-overflow:ellipsis;font-size:clamp(1.15rem,5vw,1.55rem);font-weight:900;overflow:hidden}.hud-stat--moves{align-items:center}.chain-message{color:#e64b44;opacity:0;text-align:center;font-family:Arial Rounded MT Bold,Apple SD Gothic Neo,sans-serif;font-size:clamp(.95rem,4vw,1.25rem);line-height:1;transform:scale(.7)rotate(-3deg)}.chain-message.is-visible{animation:.48s ease-out both chain-pop}.board-wrap{background:#fbfff6e6;border-radius:25px;width:min(448px,100vw - 4px);padding:5px}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#70c29957;border:2px solid #173f3abf;border-radius:18px;grid-template-columns:repeat(7,1fr);gap:3px;width:100%;padding:3px;display:grid}.tile{aspect-ratio:1;cursor:grab;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:18%;place-items:center;min-width:0;min-height:0;padding:0;transition:transform .15s,filter .15s,opacity .15s;display:grid;position:relative}.tile:disabled{cursor:default}.tile img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 1px #173f3a2e);width:100%;height:100%;display:block}.tile:not(:disabled):hover img{filter:brightness(1.05)drop-shadow(0 3px 2px #173f3a3d)}.tile.is-selected{z-index:4;outline-offset:-2px;border-radius:20%;outline:4px solid #1463ff;transform:scale(1.08)rotate(-2deg)}.tile.is-hint{z-index:3;outline-offset:-2px;outline:3px solid #fff34e}.tile.is-hint img{animation:.6s ease-in-out 2 alternate tile-hint}.tile.is-removing{z-index:5;animation:.27s ease-in forwards tile-pop}.tile--empty{opacity:0}.special-mark{z-index:2;box-shadow:0 0 0 2px var(--ink), 0 0 13px 4px #fff048d1;pointer-events:none;border:3px solid #fff;border-radius:24%;place-items:center;display:grid;position:absolute;inset:7%}.special-mark:before{aspect-ratio:1;border:2px solid var(--ink);width:39%;color:var(--ink);background:#fff45e;border-radius:50%;place-items:center;font-size:clamp(.65rem,3.6vw,1.25rem);font-weight:900;line-height:1;display:grid}.tile--special-row .special-mark:before{content:"↔"}.tile--special-column .special-mark:before{content:"↕"}.tile--special-blast .special-mark{border-style:dotted}.tile--special-blast .special-mark:before{content:"✦";background:#ff9d7e}.tile--special-rainbow .special-mark{background:conic-gradient(#ff5b5b55,#ffe85b55,#65dd7655,#62a9ff55,#c27aff55,#ff5b5b55);border-color:#fff;box-shadow:0 0 0 3px #0000,0 0 16px 5px #ffffffe6}.tile--special-rainbow .special-mark:before{content:"◎";color:#fff;background:conic-gradient(#ff6565,#ffe164,#5bd478,#66a8ff,#d477ee,#ff6565)}.game-tip{text-align:center;background:#fffdf3e0;border-radius:999px;width:min(448px,100vw - 20px);min-height:38px;margin:0;padding:8px 12px;font-size:clamp(.76rem,3.2vw,.9rem);font-weight:800;box-shadow:0 3px 12px #173f3a1f}.home-button{min-height:36px;padding-block:3px}.result-card{padding-top:20px}.record-badge{z-index:2;border:2px solid var(--ink);background:var(--yellow);box-shadow:0 4px 0 var(--ink);white-space:nowrap;border-radius:999px;padding:8px 14px;font-family:Arial Rounded MT Bold,Apple SD Gothic Neo,sans-serif;position:absolute;top:16px;left:50%;transform:translate(-50%)rotate(-2deg)}.result-toad{object-fit:contain;filter:drop-shadow(0 7px #173f3a1f);width:100%;height:min(29dvh,230px);margin:8px auto -6px}.final-score{flex-direction:column;margin-top:13px;display:flex}.final-score span,.result-best{color:var(--green-dark);font-size:.78rem;font-weight:900}.final-score strong{font-size:clamp(2.5rem,12vw,4rem);line-height:1}.result-best{margin:3px 0 13px}.result-stats{grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;display:grid}.result-stats div{border:2px solid var(--ink);background:#effaf2;border-radius:15px;padding:9px 5px}.result-stats dt{font-size:.67rem;font-weight:800}.result-stats dd{margin:2px 0 0;font-size:1.1rem;font-weight:900}.help-dialog,.settings-dialog{border:3px solid var(--ink);background:var(--cream);width:min(420px,100vw - 24px);max-height:calc(100dvh - 24px);box-shadow:var(--shadow);color:var(--ink);border-radius:26px;padding:0;overflow:auto}.help-dialog::backdrop,.settings-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12353099}.help-content{text-align:center;padding:28px 22px 22px;position:relative}.dialog-close{background:0 0;border-radius:50%;font-size:1.8rem;line-height:1;position:absolute;top:8px;right:8px}.help-content ol{text-align:left;gap:10px;margin:20px 0;padding:0;list-style:none;display:grid}.help-content li{grid-template-columns:36px 1fr;align-items:center;gap:9px;font-size:.9rem;font-weight:800;display:grid}.help-content li span{aspect-ratio:1;border:2px solid var(--ink);background:var(--yellow);border-radius:50%;place-items:center;width:36px;display:grid}.help-note{background:#dff7ef;border-radius:12px;padding:10px;font-size:.78rem;font-weight:800}.settings-content{text-align:center;padding:28px 20px 22px;position:relative}.settings-content h2{font-size:clamp(2rem,9vw,2.8rem)}.settings-lead{margin:9px 0 17px;font-size:.86rem;font-weight:800}.tile-style-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tile-style-option{min-width:0;min-height:176px;color:var(--ink);cursor:pointer;background:#f4f8f6;border:3px solid #173f3a4d;border-radius:19px;flex-direction:column;align-items:center;padding:10px 7px 12px;transition:border-color .12s,background .12s,transform .12s;display:flex;position:relative}.tile-style-option:hover{border-color:var(--green-dark);transform:translateY(-2px)}.tile-style-option.is-selected{border-color:var(--ink);box-shadow:0 4px 0 var(--ink);background:#e0f7e7}.tile-style-preview{justify-content:center;align-items:center;min-height:76px;margin-bottom:6px;display:flex}.tile-style-preview img{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 3px 2px #173f3a33);width:clamp(43px,16vw,64px)}.tile-style-preview img+img{margin-left:-12px;transform:rotate(5deg)}.tile-style-option strong{font-size:.93rem}.tile-style-option small{color:#4e6864;margin-top:3px;font-size:.68rem;font-weight:800}.style-check{aspect-ratio:1;border:2px solid var(--ink);background:var(--yellow);border-radius:50%;place-items:center;width:25px;font-weight:900;display:none;position:absolute;top:7px;right:7px}.tile-style-option.is-selected .style-check{display:grid}.settings-note{color:#4e6864;margin:16px 0 13px;font-size:.73rem;font-weight:800}.landscape-note{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes tile-hint{0%{filter:brightness();transform:scale(.98)}to{filter:brightness(1.18)drop-shadow(0 0 8px #fff34e);transform:scale(1.06)}}@keyframes tile-pop{0%{filter:brightness();opacity:1;transform:scale(1)}55%{filter:brightness(1.35);opacity:1;transform:scale(1.2)rotate(5deg)}to{filter:brightness(1.5);opacity:0;transform:scale(.25)rotate(-9deg)}}@keyframes chain-pop{0%{opacity:0;transform:scale(.65)rotate(-5deg)}35%{opacity:1;transform:scale(1.2)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}@media (width<=340px){.board-wrap{border-width:0;width:calc(100vw - 2px);padding:0;box-shadow:0 8px #173f3a2e,0 12px 24px #173f3a1f}.board{border-width:1px;gap:1px;padding:1px}.game-header{grid-template-columns:minmax(86px,1fr) minmax(72px,1fr) minmax(72px,1fr) 44px}.special-mark{border-width:2px}}@media (height<=740px){.menu-card,.result-card{padding-block:16px}.hero-wrap{height:29dvh;min-height:170px}.game-screen{gap:5px}.game-header{min-height:58px;padding-block:5px}.result-toad{height:22dvh}}@media (orientation:landscape) and (height<=520px){.landscape-note{top:max(5px, env(safe-area-inset-top));z-index:20;white-space:nowrap;background:#fffdf3eb;border-radius:999px;margin:0;padding:5px 12px;font-size:.72rem;font-weight:900;display:block;position:fixed;left:50%;transform:translate(-50%)}.game-screen{grid-template-rows:auto auto;grid-template-columns:auto minmax(280px,448px) auto}.game-header{grid-area:1/1;width:270px}.board-wrap{grid-area:1/2/3;width:min(448px,100dvh - 24px)}.game-tip,.home-button{grid-column:3;width:230px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:70ms!important;animation-duration:70ms!important;animation-iteration-count:1!important}}
