@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Noto+Sans+KR:wght@400;500;700;900&display=swap";*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--blue:#5b8def;--blue2:#3d6fd4;--blue3:#2952c3;--orange:#ff7043;--orange2:#ff5722;--yellow:#ffca28;--yellow2:#ffb300;--green:#66bb6a;--green2:#43a047;--purple:#9c6fe4;--purple2:#7b4fcc;--pink:#ec407a;--cyan:#26c6da;--bg:#f4f6fb;--white:#fff;--text:#1a1f36;--text2:#3d4468;--muted:#8a94a6;--border:#e8ecf4;--card-shadow:0 8px 32px #5b8def21;--card-shadow-hover:0 16px 44px #5b8def38;--max-width:430px;--safe-bottom:env(safe-area-inset-bottom,0px);--fs-caption:.875rem;--fs-small:.9375rem;--fs-body:1rem;--fs-nav:.8125rem}html{scroll-behavior:smooth;font-size:17px}body{color:var(--text);overscroll-behavior:none;background:#e8edf8;justify-content:center;align-items:flex-start;min-height:100vh;font-family:Nunito,Noto Sans KR,sans-serif;display:flex}#root{width:100%;max-width:var(--max-width);background:var(--bg);min-height:100vh;position:relative;overflow:hidden;box-shadow:0 0 60px #1e32782e}@media (width>=470px){body{align-items:flex-start;padding:24px 0}#root{border-radius:44px;min-height:calc(100vh - 48px);overflow:hidden}}::-webkit-scrollbar{width:0;height:0}button{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;outline:none;font-family:inherit}.no-select{-webkit-user-select:none;user-select:none}.page-enter{animation:.35s cubic-bezier(.25,.46,.45,.94) both pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.slide-up{animation:.4s cubic-bezier(.25,.46,.45,.94) both slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.overlay{z-index:100;background:#00000073;justify-content:center;align-items:flex-end;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card{background:var(--white);box-shadow:var(--card-shadow);border-radius:22px;transition:transform .2s,box-shadow .2s}.card:active{transform:scale(.97)}.btn{border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:15px 26px;font-size:17px;font-weight:800;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.96)}.btn-primary{color:#fff;background:linear-gradient(135deg,#6b9ef5,#4a7be8);box-shadow:0 6px 20px #5b8def66}.btn-primary:active{box-shadow:0 2px 8px #5b8def4d}.btn-primary:disabled{color:#f7f9fc;box-shadow:none;cursor:not-allowed;background:#c5cdd9}.btn-kakao{color:#3b1f00;background:#fee500;box-shadow:0 6px 20px #fee50080}.btn-orange{color:#fff;background:linear-gradient(135deg,#ff8a50,#ff5722);box-shadow:0 6px 20px #ff572259}.btn-green{color:#fff;background:linear-gradient(135deg,#81d488,#43a047);box-shadow:0 6px 20px #4caf5059}.btn-ghost{color:var(--muted);border:2px solid var(--border);background:0 0}.btn-full{width:100%}.gradient-text{background:linear-gradient(135deg,#6b9ef5,#4a7be8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.pulse{animation:1.8s ease-in-out infinite pulse}.character-learn-watch-badge{flex-shrink:0;justify-content:center;align-items:center;font-size:40px;line-height:1;display:inline-flex}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:.4s both shake}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-6px)}}.bounce-in{animation:.5s cubic-bezier(.34,1.56,.64,1) both bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes starPop{0%{opacity:0;transform:scale(0)rotate(-30deg)}60%{opacity:1;transform:scale(1.3)rotate(10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.star-pop{animation:.5s cubic-bezier(.34,1.56,.64,1) both starPop}.progress-bar{background:var(--border);border-radius:99px;height:8px;overflow:hidden}.progress-fill{border-radius:99px;height:100%;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.safe-bottom{padding-bottom:calc(92px + var(--safe-bottom))}
