:root{color:#f4efe6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#f4efe6;--muted:#b7ad9f;--crimson:#e23b4a;--crimson-deep:#9d1830;--gold:#e4c36a;--navy:#101626;--card:#171e2e;background:#07090f;font-family:IBM Plex Sans KR,Noto Sans KR,WenQuanYi Micro Hei,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{min-height:100dvh;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:radial-gradient(720px 420px at 50% -10%,#e23b4a38,#0000 62%),radial-gradient(540px 360px at 100% 100%,#e4c36a14,#0000 55%),linear-gradient(#10131c 0%,#07090f 48%,#05060a 100%)}button,a{font:inherit;color:inherit}#app{width:min(440px,100%);min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;margin:0 auto;display:flex}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0;font-size:12px}h1,h2,.btn,.screen-title,.tcg,.floater,.pip,.mystery{font-family:Black Han Sans,IBM Plex Sans KR,sans-serif;font-weight:400}h1{color:var(--ink);text-shadow:0 8px 24px #00000073;margin:0;font-size:64px;line-height:.95}h2{margin:0;font-size:28px}.tagline,.how,.hint,.best-line,.dex-count{color:var(--muted);margin:0;line-height:1.45}.title-screen{flex-direction:column;gap:10px;padding-top:12px;animation:.42s rise;display:flex}.hero{justify-content:center;gap:8px;margin:8px 0 4px;display:flex}.hero img{object-fit:contain;filter:drop-shadow(0 12px 16px #00000073);width:92px;height:92px}.hero img:nth-child(2){transform:translateY(-8px)scale(1.06)}.best-line{color:var(--gold);font-size:18px}.actions,.dialog,.over{flex-direction:column;gap:8px;display:flex}.loading{text-align:center;color:var(--gold);margin:0;font-size:14px}.btn{cursor:pointer;border:0;border-radius:999px;min-height:52px;padding:12px 18px}.btn:disabled{opacity:.45;cursor:default}.btn.primary{color:#fff8f4;background:linear-gradient(180deg, #f05a62, var(--crimson-deep));box-shadow:0 10px 22px #c2203459}.btn.ghost{color:var(--gold);background:#101626e6;box-shadow:inset 0 0 0 1px #e4c36a8c}.spawn{width:100%}.topbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.scores{gap:14px;display:flex}.scores p{flex-direction:column;align-items:center;margin:0;display:flex}.scores span,.text-btn,.sound{color:var(--muted);font-size:13px}.scores strong{color:var(--gold);font-family:Black Han Sans,sans-serif;font-size:22px;font-weight:400}.text-btn,.sound{min-height:40px;color:var(--ink);cursor:pointer;background:#101626e6;border:0;border-radius:999px;padding:8px 12px;box-shadow:inset 0 0 0 1px #e4c36a47}.screen-title{color:var(--gold);font-size:28px}.board-wrap{position:relative}.board{touch-action:none;background:linear-gradient(#ffffff08,#0000 30%),#0c111c;border-radius:28px;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #e4c36a47,0 18px 40px #00000059}.cell{aspect-ratio:1;background:radial-gradient(circle at 50% 40%,#243049,#121826 72%);border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff0a}.cell img{object-fit:contain;pointer-events:none;width:92%;height:92%}.cell.dragging{opacity:.35}.cell.over-merge{box-shadow:inset 0 0 0 3px var(--crimson);transform:scale(1.04)}.cell.over-move{box-shadow:inset 0 0 0 3px var(--gold)}.cell.pop img,.cell.spawn img{animation:.28s pop}.pip{color:var(--gold);background:#07090fc7;border-radius:999px;padding:0 5px;font-size:10px;line-height:1.4;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.ghost{pointer-events:none;z-index:30;filter:drop-shadow(0 12px 14px #0000008c);width:76px;height:76px;position:fixed;transform:translate(-50%,-58%)scale(1.08)}.floater{color:var(--gold);pointer-events:none;font-size:16px;animation:.7s forwards float;position:absolute;top:4px;left:50%}.hint{text-align:center;min-height:1.4em}.hint-gap{visibility:hidden}.toast{background:#101420f0;border-radius:16px;flex-direction:column;align-items:center;padding:8px 12px;animation:.24s rise;display:flex;box-shadow:inset 0 0 0 1px #e4c36a66}.toast strong{color:var(--gold);font-family:Black Han Sans,sans-serif;font-size:18px}.over,.dialog{text-align:center;color:var(--ink);background:#0e121ef5;border-radius:28px;padding:22px 18px;box-shadow:inset 0 0 0 1px #e4c36a59,0 18px 40px #00000073}.scrim{z-index:20;background:#030408b8;position:fixed;inset:0}.over{z-index:21;justify-content:center;width:min(360px,100% - 32px);max-height:calc(100dvh - 32px);display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.over h2,.dialog h2{color:var(--crimson)}.over-score{color:var(--ink);font-size:22px}.record{color:var(--gold);margin:0}.dex-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.dex-card{text-align:center;background:#101626eb;border-radius:18px;min-height:118px;padding:8px 4px 10px;box-shadow:inset 0 0 0 1px #e4c36a2e}.dex-card img{object-fit:contain;width:72px;height:72px}.dex-card p{color:var(--ink);margin:4px 0 0;font-size:14px;font-weight:600}.dex-card small{color:var(--gold);font-size:11px}.dex-card.locked p,.dex-card.locked small{color:#6f675d}.mystery{color:#6f675d;background:#121826;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto;font-size:28px;display:grid;box-shadow:inset 0 0 0 2px #e4c36a59}.footer{flex-direction:column;gap:8px;margin-top:auto;display:flex}#banner-slot:empty{display:none}.tcg{color:#1a1408;background:linear-gradient(90deg, #f0d48a, var(--gold) 45%, #c9a24a);border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:10px 14px;text-decoration:none;display:flex;box-shadow:0 8px 18px #00000059}.sound{align-self:center}@keyframes pop{0%{transform:scale(.45)}70%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes float{to{opacity:0;transform:translate(-50%,-26px)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:360px){h1{font-size:52px}.hero img{width:76px;height:76px}.board{gap:6px;padding:8px}.dex-card img,.mystery{width:56px;height:56px}.dex-card p{font-size:12px}}@media (min-width:800px){body{place-items:center;display:grid}#app{min-height:auto;padding-top:28px;padding-bottom:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
