@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: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")}:root{color:#4a2d3c;--accent: #e989b4;--ink: #4a2d3c;--muted: #7d6472;font-family:Jua,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;height:100%}body{overflow:hidden;display:grid;place-items:center;background:#ead8f4 center bottom / cover no-repeat;color:var(--ink)}button,input{font-family:inherit;color:inherit}button{touch-action:manipulation}img{max-width:100%;display:block}#app{width:min(480px,100%);height:100dvh;position:relative;overflow:hidden;background:#f6e7fb center bottom / cover no-repeat;user-select:none;-webkit-user-select:none}@media(min-width:540px){body{padding:18px}#app{height:min(960px,calc(100dvh - 36px));border-radius:32px;box-shadow:0 30px 80px #461e5047}}.screen{height:100%;min-height:0;display:flex;flex-direction:column;position:relative}.topbar{display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 6px;z-index:3}.spacer{flex:1}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ffffffd1;color:var(--accent);font-size:16px;box-shadow:0 6px 16px #5a28461f}.pill-btn,.stage-pill{border:0;background:#ffffffd1;border-radius:999px;min-height:42px;padding:0 12px;box-shadow:0 6px 16px #5a28461a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pill-btn{cursor:pointer;font-size:16px}.stage-pill{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.15;padding:6px 14px}.stage-pill strong{font-size:16px;font-weight:400}.stage-pill span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-hero{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px;gap:6px}.logo{width:min(94%,430px);max-height:24dvh;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(90,40,80,.16))}.tagline{margin:0;text-align:center;font-size:18px;color:#5c3d52;background:#ffffff9e;border-radius:999px;padding:6px 14px}.home-friend{width:min(46vw,180px);height:min(28dvh,210px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 12px rgba(80,40,70,.18))}.home-actions{display:flex;flex-direction:column;gap:10px;padding:8px 18px calc(12px + env(safe-area-inset-bottom))}.split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn,.dock button{border:0;cursor:pointer;min-height:48px;border-radius:999px;background:#ffffffe6;box-shadow:0 8px 18px #5a28461f;font-size:18px}.btn.primary,.dock button:nth-child(3):not(:disabled){background:var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 58%,white),var(--accent));color:#fff;text-shadow:0 1px 0 rgba(80,30,50,.18)}.btn:disabled,.dock button:disabled{opacity:.45;cursor:default}.stars-line,.foot,.muted,.moves{margin:0;text-align:center;color:var(--muted);font-size:14px}.foot{padding:0 12px 12px;color:#6d5364;text-shadow:0 1px 0 rgba(255,255,255,.6)}.page-head{padding:0 16px 8px}.page-head h1{margin:0;font-size:28px;font-weight:400}.page-head p{margin:2px 0 0}.scroller{flex:1;min-height:0;overflow:auto;padding:0 12px calc(16px + env(safe-area-inset-bottom))}.group{margin-bottom:16px}.group-head{display:flex;align-items:center;gap:10px;margin:6px 4px 8px}.group-head img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 4px 10px #50284626}.group-head strong,.group-head em{display:block;font-style:normal}.group-head em{color:var(--muted);font-size:14px}.level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.level{aspect-ratio:1 / 1.15;border:0;border-radius:18px 18px 22px 22px;background:#ffffffd1;box-shadow:0 6px 14px #5a28461a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.level b{font-size:18px;font-weight:400}.level small{font-size:11px;color:#d39a2a;letter-spacing:-.5px}.level.current{outline:3px solid var(--accent)}.level.locked{opacity:.42;cursor:default}.level:disabled{opacity:.42}.screen.play{overflow:hidden}.screen.play>.topbar,.screen.play>.play-bottom{flex:none}.board{flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(0,1fr));gap:clamp(2px,1.1cqb,8px) clamp(2px,1.2cqi,8px);align-items:stretch;justify-items:stretch;padding:2px 8px 0;container-type:size}.vial{container-type:size;width:100%;height:100%;min-width:0;min-height:0;border:0;background:transparent;padding:0;margin:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center}.vial-stack{width:min(100cqw,calc(100cqh / 2.75));max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.face-slot{width:46%;aspect-ratio:1;flex:none;margin-bottom:-16%;position:relative;z-index:3}.bottle-art{position:relative;width:100%;aspect-ratio:512 / 1024;flex:none;filter:drop-shadow(0 6px 5px rgba(80,40,70,.16))}.liquid-mask,.glass,.face-pop{position:absolute;top:0;right:0;bottom:0;left:0}.liquid-mask{-webkit-mask-image:var(--clip);mask-image:var(--clip);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;z-index:1}.liquid-mask:after{content:"";position:absolute;left:22%;top:12%;bottom:10%;width:10%;background:linear-gradient(to right,#ffffff8c,#fff0);pointer-events:none}.band{position:absolute;left:0;right:0;background:linear-gradient(to bottom,var(--lt),var(--lm) 46%,var(--ld));overflow:hidden}.meniscus{position:absolute;left:8%;right:8%;top:0;height:8px;border-radius:50%;background:var(--lt);box-shadow:inset 0 -2px #ffffffa6}.bubble{position:absolute;border-radius:50%;background:#ffffff8c}.bubble.b1{width:7px;height:7px;left:28%;bottom:22%}.bubble.b2{width:4px;height:4px;left:58%;bottom:40%}.glass{width:100%;height:100%;object-fit:fill;z-index:2;pointer-events:none}.face-pop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 18%;background:#fff;box-shadow:0 6px 12px #50284633;pointer-events:none}.face-pop.pop{animation:popface .55s cubic-bezier(.2,1.4,.4,1) both}.mini{width:30%;aspect-ratio:1;height:auto;margin-top:4%;flex:none;border-radius:50%;overflow:hidden;background:#ffffffbf;box-shadow:0 2px 6px #5028461f}.mini img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.mini.empty{background:transparent;box-shadow:none}.vial.selected .bottle-art{filter:drop-shadow(0 0 8px var(--accent)) drop-shadow(0 6px 5px rgba(80,40,70,.16))}.vial.hint .face-slot{animation:hintpulse 1s ease-in-out infinite}.vial.shake .vial-stack{animation:shake .4s linear}.play-bottom{flex:none;padding:0 8px calc(6px + env(safe-area-inset-bottom));z-index:3}.buddy-row{display:flex;align-items:flex-end;gap:6px;height:clamp(56px,14vh,96px);min-height:0;padding:0 4px}.speech{margin:0 0 8px;flex:1;background:#fffffff0;border-radius:18px 18px 6px;padding:8px 12px;font-size:15px;line-height:1.35;box-shadow:0 8px 18px #5028461f}.buddy{width:auto;height:100%;max-width:92px;object-fit:contain;object-position:center bottom;flex:none;filter:drop-shadow(0 8px 8px rgba(80,40,70,.18))}.buddy.dance{animation:dance .7s ease-in-out infinite;transform-origin:50% 100%}.dock{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:8px}.dock button{font-size:15px;position:relative;min-height:42px}.ad{font-style:normal;font-size:10px;margin-left:4px;padding:1px 5px;border-radius:999px;background:#ffffff59}.moves{padding:6px 0 2px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card{border:0;background:transparent;padding:0;cursor:pointer;text-align:center}.card-frame{position:relative;display:block;width:100%;aspect-ratio:512 / 680}.card-window{position:absolute;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.card-window img{width:130%;height:130%;object-fit:contain;object-position:center bottom}.card-frame .frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.card.locked .card-window img,.card-frame.locked .card-window img{filter:grayscale(1) brightness(.15);opacity:.8}.card-name{display:block;margin-top:4px;font-size:13px}.card-sheet .card-frame{width:min(240px,70vw);margin:0 auto 8px}.veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#56344e47;display:grid;place-items:center;padding:12px;box-sizing:border-box;overflow:hidden;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{width:min(100%,360px);max-height:100%;min-height:0;background:#fffafcf5;border-radius:28px;padding:18px 16px 16px;text-align:center;box-shadow:0 20px 50px #3c143238;box-sizing:border-box}.win-veil{display:grid;grid-template-rows:minmax(0,1fr);align-items:center;justify-items:center}.win-sheet{display:flex;flex-direction:column;width:min(100%,340px);max-height:100%;min-height:0;overflow:hidden;padding:12px 14px}.win-sheet .sheet-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.win-sheet .kicker{font-size:24px;margin-bottom:2px}.win-sheet .stars{font-size:28px;margin:0;line-height:1.1}.win-sheet p{margin:2px 0}.win-sheet .card-frame{width:min(168px,46vw,30vh);margin:6px auto 0}.win-sheet .new-friend{margin:4px 0 2px;font-size:14px;line-height:1.3}.win-sheet .sheet-actions{flex:none;margin-top:8px;gap:6px}.win-sheet .btn{min-height:42px;font-size:16px}.sheet-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sheet h2,.kicker{margin:0 0 8px;font-size:28px;font-weight:400;color:var(--accent)}.how{text-align:left;margin:0 0 14px;padding-left:18px;display:flex;flex-direction:column;gap:8px}.sheet-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.stars{font-size:34px;letter-spacing:4px;margin:4px 0}.star{color:#eadfca}.star.on{color:#f0b429;animation:starin .45s ease both}.star.on:nth-child(2){animation-delay:.08s}.star.on:nth-child(3){animation-delay:.16s}.new-friend{margin:8px 0 0}.toast{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:30;background:#4a2d3c;color:#fff;border-radius:999px;padding:10px 14px;max-width:calc(100% - 32px);text-align:center}@keyframes starin{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes popface{0%{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes dance{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}@keyframes hintpulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-height:700px){.home-friend{height:22dvh}.logo{max-height:18dvh}.buddy-row{height:clamp(52px,12vh,80px)}}
