@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:500;font-display:swap;src:url(./ibm-plex-sans-kr-korean-500-normal-hlyNPvQE.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:700;font-display:swap;src:url(./ibm-plex-sans-kr-korean-700-normal-D-mVnqlY.woff2) format("woff2")}:root{color:#4a3558;background:#efe4f6;font-family:IBM Plex Sans KR,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{overflow:hidden}button,img{-webkit-tap-highlight-color:transparent}button{font-family:inherit}#safe-probe{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.app{position:fixed;left:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:manipulation}.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom;pointer-events:none}.topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;z-index:3}.pill,.icon-btn,.tool,.primary,.ghost,.stage-cell,.char-card{border:0;background:#fffafce6;color:#4a3558;box-shadow:0 8px 18px #5c3e681f,inset 0 0 0 1px #ffffffb3}.pill{min-width:0;max-width:70%;border-radius:999px;padding:6px 12px;font-weight:700;font-size:14px;line-height:1.2;text-align:center}.icon-btn{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;padding:0}.icon-btn svg,.tool svg{width:20px;height:20px;display:block}.tool{border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px 3px;font-size:11px;font-weight:700;line-height:1.1;position:relative}.tool em{position:absolute;top:3px;right:4px;min-width:16px;height:16px;border-radius:999px;background:#f0a0c4;color:#fff;font-style:normal;font-size:10px;display:grid;place-items:center;padding:0 4px}.tool:disabled,.ghost:disabled,.primary:disabled{opacity:.45}.tool.active{outline:3px solid #e38bb3}.primary,.ghost{border-radius:16px;font-weight:700;font-size:16px}.primary{background:linear-gradient(180deg,#f7c3dc,#d7b7f2);color:#5a3268}.ghost{font-size:15px}.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-actions .ghost,.stack-actions .primary,.stack-actions .ghost{width:100%;height:100%}.subtitle{margin:0;text-align:center;font-size:14px;font-weight:500;color:#624868;text-shadow:0 1px 0 rgba(255,255,255,.7);display:grid;place-items:center}.scroll{overflow:auto;padding:8px 12px 16px;z-index:2}.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stage-cell{border-radius:16px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:700}.stage-cell small{font-size:11px;font-weight:600;color:#8a7394}.stage-cell.locked{opacity:.55}.stage-cell.current{outline:3px solid #e7a3c6}.stars{color:#e4b23c;letter-spacing:1px;font-size:12px}.stars i{color:#d9c9df;font-style:normal}.char-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.char-card{border-radius:18px;padding:8px 6px 10px;text-align:center}.char-card img{width:100%;aspect-ratio:1;object-fit:contain}.char-card.locked img{filter:brightness(0);opacity:.28}.char-card span{display:block;font-size:12px;font-weight:700;margin-top:4px}.color-box{z-index:2}.color-box svg,.color-box img{display:block}.screw-badge{position:absolute;left:50%;top:1px;transform:translate(-50%);pointer-events:none}.board{z-index:1;touch-action:none}.board svg{display:block;overflow:visible}.tray{z-index:2;display:flex;align-items:center;justify-content:center;border-radius:22px;background:#fffafc8c;box-shadow:inset 0 0 0 1px #ffffffa6}.well{position:absolute;border-radius:50%;background-image:var(--metal);background-size:90px;box-shadow:inset 0 5px 8px #543e6047,0 1px #ffffffd9}.well.warn{box-shadow:inset 0 5px 8px #b43c5a59,0 0 0 2px #f0a0b4}.well img{width:86%;height:86%;position:absolute;left:7%;top:7%;pointer-events:none}.flyer{position:absolute;pointer-events:none;z-index:5}.scrim{position:absolute;inset:0;background:#3e2a4e61;z-index:8;display:grid;place-items:center}.card{background:#fffafcf5;border-radius:28px;box-shadow:0 18px 40px #46285433;text-align:center;overflow:hidden}.card img.pop{width:auto;margin:0 auto;object-fit:contain;animation:pop .55s cubic-bezier(.2,1.4,.4,1) both}.card h2{margin:0;font-size:20px}.card p{margin:0;font-size:13px;color:#6d5678}.stack-actions{display:grid;gap:8px}.toast{position:absolute;left:50%;bottom:18%;transform:translate(-50%);background:#4a3558eb;color:#fff;border-radius:999px;padding:8px 14px;font-size:13px;z-index:6}.preview-card{position:absolute;inset:24px;margin:auto;max-width:360px;background:#fffafcf7;border-radius:24px;padding:16px;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.preview-card img{width:min(70vw,240px);height:auto}.screw-ring{transform-origin:center;transform-box:fill-box;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes pop{0%{transform:scale(.45) translateY(16px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.screw-ring,.card img.pop{animation:none}}
