@font-face{font-family:Jua;font-style:normal;font-display:swap;font-weight:400;src:url(./jua-latin-400-normal-B0wF3VKp.woff2)format("woff2"),url(./jua-latin-400-normal-DW1ANaNr.woff)format("woff")}@font-face{font-family:Jua;font-style:normal;font-display:swap;font-weight:400;src:url(./jua-korean-400-normal-WRlc2lCz.woff2)format("woff2"),url(./jua-korean-400-normal-Dr8ebh5I.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#6a4560;--ink-soft:#9a7890;--rose:#ff8fb7;--rose-deep:#ff6fa4;--lilac:#cbb6ff;--mint:#7ed9c3;--cream:#fff8f4;--card:#ffffffc7;--line:#ffd3e4;--gold:#ffc14d;--shadow:0 14px 40px #c482a029;--display:"Jua", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--num:"Nunito", "Jua", sans-serif;font-family:var(--display);color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:radial-gradient(900px 520px at 8% -10%,#ffe0f2,#0000 60%),radial-gradient(820px 480px at 110% 0,#e7deff,#0000 55%),radial-gradient(700px 460px at 50% 120%,#d9fff3,#0000 50%),#fff5f8;min-height:100dvh}button,a{color:inherit;font-family:inherit}button{cursor:pointer}img{max-width:100%;display:block}.num{font-family:var(--num);font-variant-numeric:tabular-nums;font-weight:800}#app{z-index:1;min-height:100dvh;min-height:var(--tg-viewport-stable-height,100dvh);flex-direction:column;max-width:520px;margin:0 auto;display:flex;position:relative}.bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.blob{filter:blur(8px);opacity:.7;border-radius:50%;position:absolute}.b1{background:#ffd0e6;width:220px;height:220px;top:-40px;left:-50px}.b2{background:#ddd4ff;width:180px;height:180px;top:80px;right:-40px}.b3{background:#d7fff2;width:240px;height:240px;bottom:-60px;left:20%}.view{z-index:1;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.loading,.home,.stages,.play{min-height:0;padding:calc(12px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex}.home,.stages{gap:12px;overflow:auto}.loading{justify-content:center;align-items:center;gap:16px}.loading-label{color:var(--ink-soft);margin:0}.loading-bar{background:#ffe4f0;border-radius:999px;width:min(220px,70%);height:10px;overflow:hidden}.loading-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--rose), var(--lilac));width:40%;height:100%;animation:1s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-120%)}to{transform:translate(280%)}}.brand{flex-direction:column;align-items:center;gap:8px;margin-top:12px;display:flex}.logo{color:#fff;width:72px;height:72px;font-family:var(--num);box-shadow:0 10px 0 #f3b6ce, var(--shadow);background:linear-gradient(160deg,#ffb3cf,#ff7eae 55%,#e7d4ff);border-radius:24px;place-items:center;font-size:28px;font-weight:800;display:grid}.title{letter-spacing:-.03em;margin:0;font-size:40px;line-height:1.05}.subtitle,.cast-label,.progress,.all-clear{text-align:center;margin:0}.subtitle{color:var(--ink-soft);font-size:16px}.cast{justify-content:center;margin-top:4px;display:flex}.cast img{object-fit:cover;object-position:center 18%;background:#fff;border:3px solid #fff;border-radius:50%;width:54px;height:54px;margin-left:-12px;box-shadow:0 6px 14px #b478962e}.cast img:first-child{margin-left:0}.cast-label{color:var(--ink-soft);font-size:13px}.progress{font-size:14px}.all-clear{color:#d36b96}.btn,.icon-btn,.booster,.stage-cell,.text-btn{background:#fff;border:0;border-radius:18px}.btn{min-height:52px;padding:12px 18px;font-size:18px;box-shadow:0 6px #f3d5e2}.btn:active,.icon-btn:active,.booster:active,.stage-cell:active{transform:translateY(2px)}.btn-primary{color:#fff;background:linear-gradient(#ffb0cf,#ff7eae);box-shadow:0 6px #e56b9b}.btn-ghost{background:var(--card);box-shadow:0 6px #f6d7e4}.btn-tiny{background:var(--card);border-radius:16px;min-width:44px;min-height:44px;padding:8px 12px;box-shadow:0 4px #f6d7e4}.btn-row,.footer-row,.extra-row{gap:10px;display:flex}.btn-row>*,.footer-row>*{flex:1}.modal-actions{flex-direction:column;gap:10px;display:flex}.text-btn{box-shadow:none;color:var(--ink-soft);background:0 0;min-height:40px;font-size:14px}.text-btn.reward{color:#d36b96}.text-btn:disabled{opacity:.4}.promo{text-align:center;color:#d36b96;font-size:15px;text-decoration:none}.how{flex-direction:column;gap:8px;display:flex}.how-title{margin:8px 0 0;font-size:16px;font-weight:400}.how-card{background:var(--card);border-radius:16px;margin:0;padding:10px 12px;font-size:14px}.hud{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;display:grid}.hud-center{text-align:center;min-width:0}.hud-stage{font-size:20px}.hud-sub{color:var(--ink-soft);font-size:13px}.hud-spacer{width:44px}.icon-btn{background:var(--card);place-items:center;width:44px;height:44px;display:grid;box-shadow:0 4px #f6d7e4}.icon{width:22px;height:22px;display:grid}.icon svg{width:22px;height:22px}.stage-scroll{flex:1;min-height:0}.stage-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stage-cell{aspect-ratio:1;background:var(--card);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;display:flex;box-shadow:0 5px #f6d7e4}.stage-cell.current{outline:3px solid #ffb0cf}.stage-cell.locked{opacity:.55}.stage-num{font-size:18px}.star-row{justify-content:center;gap:2px;display:flex}.star{color:#f0d5e0;width:14px;height:14px;display:grid}.star svg{width:14px;height:14px}.star.on{color:var(--gold)}.modal .star,.modal .star svg{width:28px;height:28px}.modal .star.on{animation:.35s both starin}.modal .star.on:nth-child(2){animation-delay:80ms}.modal .star.on:nth-child(3){animation-delay:.16s}@keyframes starin{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.lock{width:16px;height:16px;color:var(--ink-soft);display:grid}.lock svg{width:16px;height:16px}.play{gap:8px;overflow:hidden}.tutorial{color:#8a6240;background:#fff7ea;border-radius:16px;margin:0;padding:10px 12px;font-size:14px}.board-wrap{flex:1;place-items:center;min-height:180px;display:grid;overflow:auto}.board{position:relative}.tile{background:linear-gradient(#fff,#fff5fa);border:2px solid #fff;border-radius:22%;padding:0;position:absolute;overflow:hidden;box-shadow:0 6px #f2c2d6,0 10px 16px #d68caa29}.tile-face,.tile-face img,.tray-tile,.tray-tile img,.fly-tile,.fly-tile img{width:100%;height:100%}.tile-face{display:block}.tile-face img,.tray-tile img,.fly-tile img{object-fit:cover;object-position:center 18%;pointer-events:none}.tile.covered{filter:saturate(.7)brightness(.78);opacity:.78;box-shadow:0 2px #ead5df}.tile.gone{visibility:hidden;pointer-events:none}.tile.hinted{animation:.8s ease-in-out infinite hint;box-shadow:0 0 0 3px #ffe08a,0 6px #f2c2d6}@keyframes hint{50%{transform:translateY(-3px)}}.tile.shake{animation:.38s shake}@keyframes shake{20%{transform:translate(-5px)rotate(-3deg)}40%{transform:translate(5px)rotate(3deg)}70%{transform:translate(-3px)}}.board.shuffling .tile{animation:.45s wobble}@keyframes wobble{30%{transform:rotate(-4deg)}70%{transform:rotate(4deg)}}@media (hover:hover){.tile.free:hover{transform:translateY(-3px)}}.dock{flex-direction:column;gap:8px;display:flex}.boosters{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.booster{background:var(--card);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;padding:6px;display:flex;position:relative;box-shadow:0 5px #f6d7e4}.booster-name{font-size:13px}.booster-count{color:#d36b96;min-width:18px;font-size:12px;position:absolute;top:4px;right:6px}.booster.empty{opacity:.55}.tray{background:#ffffffb8;border-radius:22px;grid-template-columns:repeat(7,1fr);gap:6px;padding:8px;display:grid;box-shadow:inset 0 0 0 2px #ffe0ec}.tray-slot{aspect-ratio:1;background:#ffe4ee8c;border:1.5px dashed #f3c3d6;border-radius:16px;position:relative;overflow:hidden}.tray-tile{border-radius:inherit;background:#fff;position:absolute;inset:0}.tray-tile.clearing{animation:.34s forwards pop}@keyframes pop{40%{transform:scale(1.12)}to{opacity:0;transform:scale(.2)}}.modal-back{z-index:40;background:#603c5447;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(420px,100%);box-shadow:var(--shadow);text-align:center;background:#fffafc;border-radius:28px;flex-direction:column;gap:10px;padding:22px 18px;display:flex}.modal-title{margin:0;font-size:30px}.modal-body,.modal-meta,.rewards,.new-best{margin:0}.modal-body{color:var(--ink-soft)}.new-best{color:#d36b96}.rewards{color:#7d5b90}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;z-index:70;opacity:0;pointer-events:none;text-align:center;background:#6a4560;border-radius:999px;max-width:min(420px,100% - 32px);padding:10px 14px;transition:all .2s;position:fixed;transform:translate(-50%)translateY(12px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.floater{z-index:65;color:#d36b96;pointer-events:none;font-size:16px;animation:.8s forwards floatup;position:fixed;transform:translate(-50%,-10px)}@keyframes floatup{to{opacity:0;transform:translate(-50%,-46px)}}.fly-tile{z-index:55;pointer-events:none;background:#fff;border:2px solid #fff;border-radius:22%;transition:left .28s cubic-bezier(.2,.8,.2,1),top .28s cubic-bezier(.2,.8,.2,1),width .28s,height .28s;position:fixed;overflow:hidden;box-shadow:0 8px 16px #d68caa40}body.ad-hold #app{pointer-events:none}:focus-visible{outline-offset:2px;outline:3px solid #ff8fbf}@media (min-width:840px){body{padding:28px 16px}#app{background:#ffffff61;border-radius:36px;min-height:calc(100dvh - 56px);box-shadow:0 24px 80px #b478a02e}.stage-grid{grid-template-columns:repeat(6,1fr)}}@media (max-height:700px){.title{font-size:32px}.logo{border-radius:18px;width:56px;height:56px;font-size:22px}.cast img{width:42px;height:42px}.how-card{padding:8px 10px}.booster{min-height:54px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
