*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;background:#0f0f0f;font-family:Pretendard Variable,Pretendard,-apple-system,system-ui,sans-serif}.app{height:var(--app-h,100dvh)}.pressable{-webkit-tap-highlight-color:transparent;transition:transform .13s cubic-bezier(.34,1.56,.64,1),filter .16s,opacity .16s}.pressable:active{transition-duration:50ms;transform:scale(.92)}@media (hover:hover){.pressable:hover{filter:brightness(1.18)}.hoverable{transition:opacity .2s,filter .2s}.hoverable:hover{filter:brightness(1.25);opacity:1!important}}@keyframes pickIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pickOut{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tutPulse{0%,to{box-shadow:0 0 0 2px}50%{box-shadow:0 0 0 6px #0000}}@keyframes tutBreathe{0%,to{opacity:.25}50%{opacity:1}}@keyframes sceneFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes readerSceneEnter{0%{opacity:0}to{opacity:1}}@keyframes wandokNudge{0%,62%,to{transform:translateY(0)rotate(0)}68%{transform:translateY(-5px)rotate(-5deg)}74%{transform:translateY(-2px)rotate(5deg)}80%{transform:translateY(-4px)rotate(-3deg)}86%{transform:translateY(0)rotate(2deg)}}@keyframes wandokRing{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes endCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes structFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes magicReveal{0%{opacity:0;filter:blur(6px);letter-spacing:.04em;transform:translateY(10px)scale(.985)}55%{opacity:1;filter:blur(1px)}to{opacity:1;filter:blur();letter-spacing:normal;transform:translateY(0)scale(1)}}@keyframes shapeHop{0%{transform:translateY(0)rotate(0)}45%{transform:translateY(-13px)rotate(200deg)}to{transform:translateY(0)rotate(360deg)}}
