@keyframes save-confetti-fall{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}50%{opacity:1}to{transform:translateY(100vh) rotate(1080deg) scale(.5);opacity:0}}@keyframes star-burst{0%{transform:translate(-50%,-50%) rotate(var(--star-angle)) translate(0);opacity:1;scale:1}to{transform:translate(-50%,-50%) rotate(var(--star-angle)) translate(var(--star-speed));opacity:0;scale:.3}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes save-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}@keyframes save-bounce{0%{transform:scale(0) rotate(-30deg)}40%{transform:scale(1.2) rotate(10deg)}60%{transform:scale(.9) rotate(-5deg)}80%{transform:scale(1.05) rotate(2deg)}to{transform:scale(1) rotate(0)}}@keyframes save-emoji-pop{0%{transform:scale(0) rotate(-20deg);opacity:0}50%{transform:scale(1.5) rotate(15deg);opacity:1}70%{transform:scale(.8) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes ring-expand{0%{transform:scale(.5);opacity:.8}to{transform:scale(2);opacity:0}}.animate-save-confetti-fall{animation:save-confetti-fall ease-out forwards}.animate-star-burst{animation:star-burst .8s ease-out forwards}.animate-sparkle{animation:sparkle .8s ease-in-out infinite}.animate-save-glow{animation:save-glow 1.5s ease-in-out infinite}.animate-save-bounce{animation:save-bounce .7s cubic-bezier(.34,1.56,.64,1) forwards}.animate-save-emoji-pop{animation:save-emoji-pop .6s cubic-bezier(.34,1.56,.64,1) forwards}.animate-ring-expand{animation:ring-expand 1s ease-out infinite}@keyframes gentle-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.animate-breathe{animation:gentle-breathe 3s ease-in-out infinite}@keyframes subtle-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.015);opacity:.95}}.animate-breathe-subtle{animation:subtle-breathe 4s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 20px 4px #fbbf2499}}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}@keyframes anticipate-lift{0%{transform:translateY(0) scale(1)}to{transform:translateY(-2px) scale(1.02)}}@keyframes press-down{0%{transform:scale(1) translateY(0)}50%{transform:scale(.97) translateY(1px)}to{transform:scale(1) translateY(0)}}.animate-press{animation:press-down .15s ease-out}.touchable-lift{transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease-out}.touchable-lift:active{transform:translateY(-2px) scale(1.02)}@keyframes ripple-expand{0%{transform:scale(0);opacity:.5}to{transform:scale(2.5);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:scale(0);opacity:0;pointer-events:none}.ripple-effect:active:after{animation:ripple-expand .4s ease-out}@keyframes check-pop{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(0)}to{transform:scale(1) rotate(0);opacity:1}}.animate-check-pop{animation:check-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes micro-pulse{0%{transform:scale(1);background-color:inherit}50%{transform:scale(1.05);background-color:#86efac4d}to{transform:scale(1);background-color:inherit}}.animate-micro-pulse{animation:micro-pulse .3s ease-out}@keyframes success-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.animate-success-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:success-shimmer .8s ease-out}@keyframes badge-appear{0%{transform:translateY(-10px) scale(.8);opacity:0}60%{transform:translateY(2px) scale(1.05)}to{transform:translateY(0) scale(1);opacity:1}}.animate-badge-appear{animation:badge-appear .5s cubic-bezier(.34,1.56,.64,1) forwards}.book-perspective{perspective:1500px;perspective-origin:center center}.page-wrapper{transform-style:preserve-3d;position:relative}.page-flipping-out{position:absolute;top:0;left:0;right:0;z-index:20;pointer-events:none}.page-flipping-in{position:relative;z-index:10}.page-base{backface-visibility:hidden;transform-origin:left center;will-change:transform}.page-front{backface-visibility:hidden;transform-origin:left center}.page-back{backface-visibility:hidden;transform-origin:left center;transform:rotateY(180deg);position:absolute;top:0;right:0;bottom:0;left:0}@keyframes page-flip-out{0%{transform:rotateY(0);box-shadow:0 0 #0000}25%{box-shadow:10px 0 30px #00000026}50%{box-shadow:20px 0 40px #0003}75%{box-shadow:10px 0 30px #00000026}to{transform:rotateY(-180deg);box-shadow:0 0 #0000}}@keyframes page-flip-in{0%{transform:rotateY(180deg);opacity:0}50%{opacity:1}to{transform:rotateY(0);opacity:1}}@keyframes shadow-sweep-next{0%{opacity:0;transform:translate(0)}25%{opacity:.3}50%{opacity:.5;transform:translate(-20%)}75%{opacity:.3}to{opacity:0;transform:translate(-40%)}}@keyframes page-flip-out-reverse{0%{transform:rotateY(0);box-shadow:0 0 #0000}25%{box-shadow:-10px 0 30px #00000026}50%{box-shadow:-20px 0 40px #0003}75%{box-shadow:-10px 0 30px #00000026}to{transform:rotateY(180deg);box-shadow:0 0 #0000}}@keyframes page-flip-in-reverse{0%{transform:rotateY(-180deg);opacity:0}50%{opacity:1}to{transform:rotateY(0);opacity:1}}@keyframes shadow-sweep-prev{0%{opacity:0;transform:translate(-40%)}25%{opacity:.3}50%{opacity:.5;transform:translate(-20%)}75%{opacity:.3}to{opacity:0;transform:translate(0)}}.animate-page-flip-out{animation:page-flip-out .6s cubic-bezier(.645,.045,.355,1) forwards}.animate-page-flip-in{animation:page-flip-in .6s cubic-bezier(.645,.045,.355,1) forwards}.animate-page-flip-out-reverse{animation:page-flip-out-reverse .6s cubic-bezier(.645,.045,.355,1) forwards}.animate-page-flip-in-reverse{animation:page-flip-in-reverse .6s cubic-bezier(.645,.045,.355,1) forwards}.page-shadow-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to right,transparent 0%,rgba(0,0,0,.1) 30%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.1) 70%,transparent 100%);opacity:0}.animate-shadow-sweep-next{animation:shadow-sweep-next .6s cubic-bezier(.645,.045,.355,1) forwards}.animate-shadow-sweep-prev{animation:shadow-sweep-prev .6s cubic-bezier(.645,.045,.355,1) forwards}@keyframes page-fade-in{0%{opacity:.4}to{opacity:1}}@keyframes page-fade-in-reverse{0%{opacity:.4}to{opacity:1}}.animate-page-slide-in{animation:page-fade-in .2s ease-out forwards}.animate-page-slide-in-reverse{animation:page-fade-in-reverse .2s ease-out forwards}@keyframes word-highlight{0%{background-size:0% 40%}to{background-size:100% 40%}}.reading-word-highlight{background:linear-gradient(transparent 60%,#fef08a 60%);background-repeat:no-repeat;background-position:0 100%;animation:word-highlight .2s ease-out forwards}@keyframes sentence-complete{0%{background-color:transparent}30%{background-color:#86efac4d}to{background-color:transparent}}.animate-sentence-complete{animation:sentence-complete .6s ease-out}@keyframes celebration-level-1{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.celebrate-level-1{animation:celebration-level-1 .2s ease-out}@keyframes celebration-level-2{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}.celebrate-level-2{animation:celebration-level-2 .4s cubic-bezier(.34,1.56,.64,1)}@keyframes celebration-level-3{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.celebrate-level-3{animation:celebration-level-3 .6s cubic-bezier(.34,1.56,.64,1)}@keyframes celebration-level-4{0%{transform:scale(0) rotate(-180deg);opacity:0}60%{transform:scale(1.3) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.celebrate-level-4{animation:celebration-level-4 .8s cubic-bezier(.175,.885,.32,1.275)}@keyframes celebration-level-5{0%{transform:scale(0) rotate(-360deg);opacity:0;filter:brightness(1)}50%{transform:scale(1.5) rotate(0);opacity:1;filter:brightness(1.5)}to{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}}.celebrate-level-5{animation:celebration-level-5 1s cubic-bezier(.175,.885,.32,1.275)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.animate-fade-out{animation:fade-out .3s ease-out forwards}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .3s ease-out forwards}@media(prefers-reduced-motion:reduce){.animate-breathe,.animate-breathe-subtle,.animate-glow-pulse,.animate-page-turn-out,.animate-page-turn-in,.celebrate-level-1,.celebrate-level-2,.celebrate-level-3,.celebrate-level-4,.celebrate-level-5{animation:none!important}.touchable-lift:active{transform:none}}.book-entry-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:all;perspective:1000px}.book-entry-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background .4s ease-out}.book-entry-overlay.center .book-entry-backdrop,.book-entry-overlay.open .book-entry-backdrop,.book-entry-overlay.glow .book-entry-backdrop{background:#000000b3}.book-entry-overlay.portal .book-entry-backdrop,.book-entry-overlay.complete .book-entry-backdrop{background:#fffbeb}.book-entry-light{position:absolute;width:0;height:0;border-radius:50%;background:radial-gradient(circle,#fffbeb,#fef3c7e6,#fbbf2499 60%,#fbbf2400);opacity:0;transition:width .5s cubic-bezier(.34,1.56,.64,1),height .5s cubic-bezier(.34,1.56,.64,1),opacity .3s ease-out}.book-entry-overlay.glow .book-entry-light{width:300px;height:300px;opacity:1}.book-entry-overlay.portal .book-entry-light{width:200vmax;height:200vmax;opacity:1;transition:width .5s cubic-bezier(.4,0,.2,1),height .5s cubic-bezier(.4,0,.2,1)}.book-entry-card{position:relative;width:200px;height:280px;border-radius:4px 16px 16px 4px;transform-style:preserve-3d;transform:scale(.5) translateY(100px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:4px 4px #000,inset -6px 0 12px #00000026,inset 4px 0 8px #ffffff1a;border:3px solid #000;z-index:10}.book-entry-overlay.lift .book-entry-card{transform:scale(.6) translateY(0);opacity:1}.book-entry-overlay.center .book-entry-card{transform:scale(1) translateY(0);opacity:1;box-shadow:8px 8px #000,0 25px 50px -12px #00000080}.book-entry-overlay.open .book-entry-card{transform:scale(1.1) translateY(0) rotateY(-15deg);opacity:1}.book-entry-overlay.glow .book-entry-card{transform:scale(1.2) translateY(0) rotateY(-25deg);opacity:1;box-shadow:8px 8px #000,0 0 60px 20px #fbbf2480}.book-entry-overlay.portal .book-entry-card{transform:scale(3) translateY(0) rotateY(-30deg);opacity:0;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s ease-out}.book-entry-cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;border-radius:inherit;overflow:hidden;transform-style:preserve-3d}.book-page{position:absolute;top:0;bottom:0;background:#fffbeb;transform-origin:left center;backface-visibility:hidden}.book-page-left{left:0;width:50%;opacity:0;transform:rotateY(-90deg);transition:opacity .3s ease-out,transform .4s cubic-bezier(.34,1.56,.64,1);border-right:1px solid rgba(0,0,0,.1);padding:20px 15px}.book-entry-overlay.open .book-page-left,.book-entry-overlay.glow .book-page-left,.book-entry-overlay.portal .book-page-left{opacity:1;transform:rotateY(0)}.page-lines{display:flex;flex-direction:column;gap:12px;padding-top:30px}.page-line{height:2px;background:#00000014;border-radius:1px}.page-line:nth-child(1){width:80%}.page-line:nth-child(2){width:100%}.page-line:nth-child(3){width:60%}.page-line:nth-child(4){width:90%}.book-page-right{left:0;right:0;width:100%;background:inherit;border-radius:inherit;display:flex;align-items:center;justify-content:center}.book-cover-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}.book-cover-icon{font-size:48px;color:#000000b3}.book-cover-title{font-family:Plus Jakarta Sans,Noto Sans KR,sans-serif;font-size:18px;font-weight:800;color:#000;line-height:1.3;text-shadow:1px 1px 0 rgba(255,255,255,.5)}.book-cover-subtitle{font-family:Noto Sans KR,Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:500;color:#0009}.book-cover-level{font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:700;color:#00000080;background:#ffffff80;padding:4px 12px;border-radius:20px;border:1px solid rgba(0,0,0,.1)}.book-spine-3d{position:absolute;left:-8px;top:3px;bottom:3px;width:8px;background:linear-gradient(90deg,#0000004d,#0000001a);transform:rotateY(-90deg);transform-origin:right center;border-radius:2px 0 0 2px}.book-entry-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:8px;height:8px;background:#fbbf24;border-radius:50%;opacity:0;transform:scale(0)}.book-entry-overlay.glow .particle,.book-entry-overlay.portal .particle{animation:particleBurst .8s cubic-bezier(.34,1.56,.64,1) forwards}.particle-0{top:50%;left:50%;animation-delay:0ms!important}.particle-1{top:40%;left:45%;animation-delay:50ms!important}.particle-2{top:45%;left:55%;animation-delay:.1s!important}.particle-3{top:55%;left:40%;animation-delay:75ms!important}.particle-4{top:60%;left:50%;animation-delay:125ms!important}.particle-5{top:35%;left:50%;animation-delay:.15s!important}.particle-6{top:50%;left:35%;animation-delay:175ms!important}.particle-7{top:50%;left:65%;animation-delay:.2s!important}.particle-8{top:42%;left:38%;animation-delay:225ms!important}.particle-9{top:58%;left:62%;animation-delay:.25s!important}.particle-10{top:38%;left:58%;animation-delay:275ms!important}.particle-11{top:62%;left:42%;animation-delay:.3s!important}@keyframes particleBurst{0%{opacity:0;transform:scale(0) translate(0)}30%{opacity:1;transform:scale(1.5)}to{opacity:0;transform:scale(.5) translate(calc((var(--tx, 0) - .5) * 300px),calc((var(--ty, 0) - .5) * 300px))}}.particle-0{--tx: .2;--ty: .1}.particle-1{--tx: .8;--ty: .15}.particle-2{--tx: .9;--ty: .4}.particle-3{--tx: .85;--ty: .7}.particle-4{--tx: .5;--ty: .95}.particle-5{--tx: .15;--ty: .8}.particle-6{--tx: .05;--ty: .5}.particle-7{--tx: .1;--ty: .25}.particle-8{--tx: .3;--ty: .05}.particle-9{--tx: .7;--ty: .9}.particle-10{--tx: .95;--ty: .6}.particle-11{--tx: .25;--ty: .85}.particle:nth-child(odd){background:#fcd34d;width:6px;height:6px}.particle:nth-child(2n){background:#fbbf24;width:10px;height:10px}.particle:nth-child(3n){background:#fffbeb;box-shadow:0 0 8px 2px #fbbf2499}.book-entry-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:conic-gradient(from 0deg at 50% 50%,transparent 0deg,rgba(251,191,36,.1) 30deg,transparent 60deg,rgba(251,191,36,.1) 90deg,transparent 120deg,rgba(251,191,36,.1) 150deg,transparent 180deg,rgba(251,191,36,.1) 210deg,transparent 240deg,rgba(251,191,36,.1) 270deg,transparent 300deg,rgba(251,191,36,.1) 330deg,transparent 360deg);opacity:0;transform:scale(.5);transition:opacity .4s ease-out,transform .6s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.book-entry-overlay.glow:before{opacity:1;transform:scale(2);animation:vortexSpin 3s linear infinite}.book-entry-overlay.portal:before{opacity:1;transform:scale(5);animation:vortexSpin 1s linear infinite}@keyframes vortexSpin{0%{transform:scale(2) rotate(0)}to{transform:scale(2) rotate(360deg)}}.book-entry-overlay.portal:before{animation:vortexSpinFast .5s linear infinite}@keyframes vortexSpinFast{0%{transform:scale(5) rotate(0)}to{transform:scale(5) rotate(360deg)}}.book-entry-overlay.portal .book-entry-backdrop{animation:zoomIn .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes zoomIn{0%{transform:scale(1);background:#000000b3}to{transform:scale(1.2);background:#fffbeb}}.book-entry-overlay:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,rgba(255,251,235,.3) 50%,transparent 60%,transparent 100%);opacity:0;transform:translate(-50%,-50%);pointer-events:none;transition:width .4s cubic-bezier(.34,1.56,.64,1),height .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease-out}.book-entry-overlay.glow:after{width:400px;height:400px;opacity:1;animation:raysPulse .5s ease-in-out infinite alternate}.book-entry-overlay.portal:after{width:200vmax;height:200vmax;opacity:1}@keyframes raysPulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.1)}}.book-entry-overlay.portal .particle{animation:particleSuck .5s cubic-bezier(.4,0,1,1) forwards!important}@keyframes particleSuck{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0) translate(0)}}.bookshelf-container{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#fef3c7;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.shelf-row.has-frames{position:relative}.wall-frame-single{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:200px;background:linear-gradient(145deg,#d4a574,#c9a227,#f4d03f 30%,#c9a227,#a67c00 70%,#c9a227,#d4a574);border:6px solid #78350f;border-radius:4px;box-shadow:inset 0 0 0 4px #f4d03f,inset 0 0 0 6px #a67c00,inset 0 0 0 8px #78350f80,6px 6px #0000004d,12px 12px 24px #0003;padding:10px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:0}.wall-frame-single:before{content:"";position:absolute;top:-12px;left:50%;transform:translate(-50%);width:20px;height:10px;background:linear-gradient(180deg,#a67c00,#78350f);border-radius:10px 10px 0 0;border:2px solid #451a03;box-shadow:0 -2px 4px #0000004d}.wall-frame-single:after{content:"";position:absolute;top:6px;left:6px;right:60%;height:4px;background:linear-gradient(90deg,rgba(255,255,255,.4),transparent);border-radius:2px;pointer-events:none}.wall-frame-inner{width:100%;height:100%;border:2px solid rgba(120,53,15,.4);background:#1a1a1a;display:flex;align-items:center;justify-content:center;overflow:hidden}.wall-frame-img{width:100%;height:100%;object-fit:cover;filter:sepia(.1) brightness(.95)}.wall-frame-single.wall-frame-vertical{width:140px;height:280px}.wall-carved{position:absolute;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;text-orientation:mixed;pointer-events:none;z-index:0;max-height:140px;overflow:hidden;padding:4px 2px}.wall-carved-left{left:2px;transform:translateY(-50%) rotate(180deg)}.wall-carved-right{right:2px}.carved-text{font-family:Times New Roman,"Noto Serif",serif;font-size:7px;font-weight:500;letter-spacing:1px;color:#92400e;opacity:.25;text-shadow:.5px .5px 0 rgba(255,255,255,.3);white-space:nowrap}.bookshelf{background-color:#fef3c7;padding:0 0 140px;min-height:100vh}.shelf-row{position:relative;padding:16px 16px 0;margin-bottom:0;overflow:visible}.shelf-row:after{content:"";position:absolute;bottom:0;left:0;right:0;height:14px;background:linear-gradient(180deg,#d97706,#b45309,#92400e 60%,#78350f);border-top:2px solid #fbbf24;border-bottom:3px solid #000;box-shadow:0 4px #00000026}.shelf-row:before{content:"";position:absolute;bottom:0;left:0;right:0;height:14px;background-image:repeating-linear-gradient(90deg,transparent 0px,transparent 30px,rgba(0,0,0,.08) 30px,rgba(0,0,0,.08) 31px);z-index:1;pointer-events:none}.books-container{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:8px;padding-bottom:14px;min-height:240px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none}.books-container::-webkit-scrollbar{display:none}.book-spine{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);flex-shrink:0;border:2px solid #000;border-radius:3px 6px 6px 3px;box-shadow:2px 2px #000,inset -4px 0 8px #00000026,inset 3px 0 6px #ffffff1a;overflow:hidden;padding:0 2px;box-sizing:border-box}.book-spine:hover{transform:translateY(-10px);z-index:10;box-shadow:4px 4px #000,inset -4px 0 8px #00000026,inset 3px 0 6px #ffffff1a}.book-spine:active{transform:translateY(-6px);box-shadow:1px 1px #000,inset -4px 0 8px #00000026}.spine-band{position:absolute;left:0;right:0;height:4px;background:linear-gradient(90deg,#fbbf24b3,#fcd34de6,#fbbf24b3);border-top:1px solid rgba(0,0,0,.3);border-bottom:1px solid rgba(0,0,0,.3);z-index:3}.spine-band.top{top:10px}.spine-band.bottom{bottom:10px}.spine-title-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:6px 4px;overflow:hidden;z-index:3;gap:2px}.spine-title{font-family:Plus Jakarta Sans,Noto Sans KR,sans-serif;font-weight:800;font-size:12px;letter-spacing:.2px;text-shadow:1px 1px 1px rgba(0,0,0,.2);line-height:1.2;text-align:center;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.spine-subtitle{font-family:Noto Sans KR,Plus Jakarta Sans,sans-serif;font-weight:500;font-size:8px;letter-spacing:.1px;line-height:1.2;text-align:center;opacity:.7;word-break:keep-all;overflow-wrap:normal}.spine-title.dark{color:#1f2937;text-shadow:none}.spine-title.light{color:#fefce8;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.book-count{position:absolute;bottom:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:9px;font-weight:800;color:inherit;opacity:.7;z-index:3}.reading-indicator{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#fbbf24;border:2px solid #000;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;animation:starPulse 2s ease-in-out infinite}.reading-indicator .star-icon{font-size:10px;color:#000}@keyframes starPulse{0%,to{box-shadow:0 0 4px 1px #fbbf2466}50%{box-shadow:0 0 10px 3px #fbbf24b3}}.book-locked-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:5;border-radius:inherit}.book-locked-overlay .lock-icon{color:#ffffffd9;font-size:18px}.library-header{background-color:#fef3c7;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));display:flex;justify-content:flex-end;align-items:center;position:sticky;top:0;z-index:20}.library-motto{position:relative;margin:0 20px 12px;background:linear-gradient(180deg,#c4b998,#b8a888 15%,#a89878 40%,#b8a888 60%,#c4b998 85%,#d4c9a8);border-radius:3px;padding:4px;box-shadow:0 3px 8px #0000004d,0 1px 3px #0003;overflow:hidden}.library-motto:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid transparent;border-image:linear-gradient(180deg,#8b7355,#a08060 30%,#8b7355,#6b5540 70%,#8b7355) 1;pointer-events:none}.library-motto-inner{position:relative;background:linear-gradient(180deg,#9a8a70,#a89878 20%,#b8a888,#a89878 80%,#9a8a70);border-radius:2px;padding:12px 20px;box-shadow:inset 2px 2px 6px #00000059,inset -1px -1px 4px #ffffff26,inset 0 0 12px #00000026}.library-motto-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.08;mix-blend-mode:multiply;pointer-events:none;border-radius:inherit}.library-motto-text{position:relative;display:block;font-family:Trajan Pro,Times New Roman,"Noto Serif",serif;font-size:13px;font-weight:600;letter-spacing:5px;text-align:center;color:#4a4035;text-shadow:1px 1px 0 rgba(200,180,140,.6),-.5px -.5px 0 rgba(60,50,40,.4)}.library-title{font-family:Plus Jakarta Sans,sans-serif;font-size:28px;font-weight:900;color:#000;letter-spacing:-.02em;text-transform:uppercase}.library-search-btn{width:44px;height:44px;background:#fff;border:3px solid #000;border-radius:12px;box-shadow:3px 3px #000;display:flex;align-items:center;justify-content:center;color:#000;cursor:pointer;transition:all .12s cubic-bezier(.4,0,.2,1)}.library-search-btn:hover{transform:translate(-1px) translateY(-1px);box-shadow:4px 4px #000}.library-search-btn:active{transform:translate(2px) translateY(2px);box-shadow:0 0 #000}.shelf-divider{position:relative;height:14px;background:linear-gradient(180deg,#d97706,#b45309,#92400e 60%,#78350f);border-top:2px solid #fbbf24;border-bottom:3px solid #000;box-shadow:0 4px #00000026}.shelf-divider:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(90deg,transparent 0px,transparent 30px,rgba(0,0,0,.08) 30px,rgba(0,0,0,.08) 31px);pointer-events:none}.shelf-label{display:none}.library-search-overlay{background-color:#fef3c7}.library-search-input{background:#fff;border:3px solid #000;border-radius:12px;box-shadow:3px 3px #000;color:#000;font-family:Plus Jakarta Sans,Noto Sans KR,sans-serif;font-weight:600}.library-search-input::placeholder{color:#9ca3af}.library-search-input:focus{outline:none;box-shadow:3px 3px #000,0 0 0 3px #86efac80}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#78350f;text-align:center}.library-empty-icon{font-size:64px;color:#d97706;margin-bottom:16px}.book-violet{background:linear-gradient(180deg,#a78bfa,#8b5cf6,#7c3aed)}.book-cyan{background:linear-gradient(180deg,#67e8f9,#22d3ee,#06b6d4)}.book-pink{background:linear-gradient(180deg,#f9a8d4,#f472b6,#ec4899)}.book-green{background:linear-gradient(180deg,#86efac,#4ade80,#22c55e)}.book-yellow{background:linear-gradient(180deg,#fde047,#facc15,#eab308)}.book-orange{background:linear-gradient(180deg,#fdba74,#fb923c,#f97316)}.book-rose{background:linear-gradient(180deg,#fda4af,#fb7185,#f43f5e)}.book-indigo{background:linear-gradient(180deg,#a5b4fc,#818cf8,#6366f1)}.book-teal{background:linear-gradient(180deg,#5eead4,#2dd4bf,#14b8a6)}.book-amber{background:linear-gradient(180deg,#fcd34d,#fbbf24,#f59e0b)}.book-spine.spine-curious{animation:spineCurious .3s cubic-bezier(.34,1.56,.64,1) forwards;z-index:20}@keyframes spineCurious{0%{transform:translateY(0) translateZ(0) rotateY(0);box-shadow:2px 2px #000,inset -4px 0 8px #00000026,inset 3px 0 6px #ffffff1a}40%{transform:translateY(-15px) translateZ(20px) rotateY(-8deg);box-shadow:6px 12px 20px #0000004d,inset -4px 0 8px #00000026,inset 3px 0 6px #ffffff1a,0 0 30px 5px #fbbf2466}to{transform:translateY(-12px) translateZ(15px) rotateY(-5deg);box-shadow:5px 10px 15px #00000040,inset -4px 0 8px #00000026,inset 3px 0 6px #ffffff1a,0 0 20px 3px #fbbf244d}}.book-spine.spine-curious:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;background:radial-gradient(ellipse at center,rgba(251,191,36,.3) 0%,transparent 70%);border-radius:inherit;opacity:0;animation:curiousGlow .3s ease-out forwards;pointer-events:none;z-index:-1}@keyframes curiousGlow{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.6;transform:scale(1.1)}}.book-wave-item{opacity:0;transform:translateY(-30px) scale(.95);animation:bookWaveIn .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes bookWaveIn{0%{opacity:0;transform:translateY(-30px) scale(.95) rotate(-1deg)}40%{opacity:1;transform:translateY(8px) scale(1.02) rotate(.5deg)}70%{transform:translateY(-4px) scale(.99) rotate(-.3deg)}85%{transform:translateY(2px) scale(1.005) rotate(.1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}.book-spine.sparkle{animation:bookSparkle 1.5s ease-in-out;z-index:25}@keyframes bookSparkle{0%,to{transform:scale(1);filter:brightness(1)}15%{transform:scale(1.08);filter:brightness(1.3);box-shadow:2px 2px #000,0 0 30px 15px #ffdf64cc,0 0 60px 30px #ffc83266}30%{transform:scale(1.05);filter:brightness(1.2);box-shadow:2px 2px #000,0 0 20px 10px #ffe67899,0 0 40px 20px #ffd2504d}50%{transform:scale(1.06);filter:brightness(1.25);box-shadow:2px 2px #000,0 0 25px 12px #ffdc64b3,0 0 50px 25px #ffc83c59}70%{transform:scale(1.03);filter:brightness(1.1)}}.book-spine.sparkle:after{content:"✨";position:absolute;top:-15px;left:50%;transform:translate(-50%);font-size:22px;opacity:0;animation:fairyDust 1.5s ease-out;pointer-events:none;z-index:30}@keyframes fairyDust{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.3)}20%{opacity:1;transform:translate(-50%) translateY(0) scale(1.2)}50%{opacity:1;transform:translate(-50%) translateY(-20px) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-40px) scale(.5)}}.book-spine.scroll-float{animation:scrollFloat 1.4s cubic-bezier(.25,.46,.45,.94);z-index:15}@keyframes scrollFloat{0%{transform:translateY(0)}20%{transform:translateY(-16px) rotate(-1.5deg);box-shadow:4px 8px 12px #00000040,inset -4px 0 8px #00000026,inset 3px 0 6px #ffffff1a}50%{transform:translateY(-12px) rotate(.5deg)}75%{transform:translateY(-5px) rotate(-.3deg)}to{transform:translateY(0) rotate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}@keyframes challengeEnter{0%{opacity:0;transform:scale(.98) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.challenge-overlay-enter{animation:challengeEnter .5s cubic-bezier(.34,1.56,.64,1) forwards}.challenge-overlay-hidden{opacity:0;transform:scale(.98) translateY(8px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:slideDown .5s ease-out forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .5s ease-out forwards}@keyframes correctFlash{0%{background-color:#22c55e4d}50%{background-color:#22c55e33}to{background-color:transparent}}.animate-correct-flash{animation:correctFlash .6s ease-out forwards}@keyframes pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-pop{animation:pop .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes wiggle{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.animate-wiggle{animation:wiggle .4s ease-in-out}@keyframes bounceIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes gameViewEnter{0%{opacity:0}to{opacity:1}}.animate-game-enter{animation:gameViewEnter .4s ease-out forwards}@keyframes smoothFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-smooth-enter{animation:smoothFadeIn .5s ease-out forwards}.reading-theme{transition:all .3s ease-out}.theme-sepia{background:linear-gradient(135deg,#f5e6d3,#ede0cc,#e8d9c4);border:2px solid #8b7355;box-shadow:inset 0 0 30px #8b73551a,4px 4px #8b73554d;color:#3d3225;font-family:Georgia,Times New Roman,Pretendard Variable,Pretendard,serif}.theme-sepia:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;border-radius:inherit}.theme-parchment{background:linear-gradient(to right,rgba(139,90,43,.08) 0%,transparent 3%,transparent 97%,rgba(139,90,43,.08) 100%),linear-gradient(to bottom,rgba(139,90,43,.05) 0%,transparent 5%,transparent 95%,rgba(139,90,43,.08) 100%),linear-gradient(135deg,#f4e4bc,#e8d5a3,#dcc896);border:3px double #8b5a2b;box-shadow:inset 0 0 60px #8b5a2b26,3px 3px 6px #0003;color:#2c1810;font-family:Palatino Linotype,Book Antiqua,Palatino,Pretendard Variable,Pretendard,serif}.theme-parchment:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border:1px solid rgba(139,90,43,.3);border-radius:inherit;pointer-events:none}.theme-leather{background:linear-gradient(180deg,#fffef5,#fdfbf0,#f8f4e8);border:3px solid #8b4513;box-shadow:inset 0 2px 4px #fffc,inset 0 -2px 4px #8b45131a,0 0 0 1px #d4a574,4px 4px 8px #0000004d;color:#1a1a1a;font-family:Baskerville,Libre Baskerville,Georgia,Pretendard Variable,Pretendard,serif;position:relative}.theme-leather:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid #d4a574;border-radius:4px;pointer-events:none}.theme-victorian{background:linear-gradient(180deg,#fefef8,#f8f6ed);border:2px solid #2c2c2c;box-shadow:inset 0 0 0 4px #fefef8,inset 0 0 0 6px #c9b896,inset 0 0 0 8px #2c2c2c,3px 3px #000c;color:#1a1a1a;font-family:Didot,Bodoni MT,Playfair Display,Pretendard Variable,Pretendard,serif}.theme-fairytale{background:linear-gradient(135deg,#fff9e6,#fff5d6,#fef0c3);border:3px solid #b8860b;box-shadow:0 0 0 2px gold,0 0 15px #ffd7004d,4px 4px #b8860b66;color:#4a3728;font-family:Cochin,Hoefler Text,Georgia,Pretendard Variable,Pretendard,serif}.theme-fairytale:before{content:"✦";position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:16px;color:gold;text-shadow:0 0 4px rgba(255,215,0,.6)}.theme-library{background:#fffff8;border:1px solid #333;box-shadow:inset 0 0 50px #00000008,2px 2px #333;color:#222;font-family:Garamond,EB Garamond,Times New Roman,Pretendard Variable,Pretendard,serif;letter-spacing:.01em}.theme-library:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,rgba(200,50,50,.3),transparent);pointer-events:none}.theme-ink{background:linear-gradient(180deg,#faf9f6,#f5f4f0);border:2px solid #1a1a2e;box-shadow:inset 0 0 20px #1a1a2e0d,3px 3px #1a1a2eb3;color:#1a1a2e;font-family:Crimson Text,Libre Baskerville,Georgia,Pretendard Variable,Pretendard,serif;font-style:italic}.theme-ink:after{content:"";position:absolute;bottom:8px;right:8px;width:6px;height:6px;background:radial-gradient(circle,#1a1a2e 0%,transparent 70%);opacity:.3;border-radius:50%}.theme-washi{background:linear-gradient(180deg,#f9f7f3,#f5f2eb);border:1px solid #8b8378;box-shadow:inset 0 0 40px #8b837814,1px 1px 3px #0000001a;color:#3d3d3d;font-family:-apple-system,BlinkMacSystemFont,Pretendard Variable,Pretendard,Noto Sans KR,Hiragino Sans,sans-serif;letter-spacing:.02em;line-height:2.2}.theme-washi:before{content:"";position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px solid rgba(139,131,120,.2);border-radius:2px;pointer-events:none}.theme-nouveau{background:linear-gradient(135deg,#f8f5ef,#f0ebe0);border:2px solid #5c4a3d;border-radius:16px 16px 8px 8px;box-shadow:0 0 0 3px #c9b896,0 0 0 5px #5c4a3d,4px 4px 8px #0003;color:#3d3225;font-family:Copperplate,Trajan Pro,Pretendard Variable,Pretendard,serif}.theme-nouveau:before{content:"❧";position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:20px;color:#5c4a3d;background:linear-gradient(135deg,#f8f5ef,#f0ebe0);padding:0 8px}.theme-gothic{background:linear-gradient(180deg,#f5f0e6,#ebe5d8);border:3px solid #2d2926;box-shadow:inset 0 0 0 2px #8b0000,inset 0 0 0 4px #2d2926,3px 3px #2d2926;color:#1a1815;font-family:UnifrakturMaguntia,Old English Text MT,Pretendard Variable,Pretendard,serif}.theme-gothic:before{content:"☙";position:absolute;top:4px;left:8px;font-size:14px;color:#8b0000}.theme-gothic:after{content:"❧";position:absolute;top:4px;right:8px;font-size:14px;color:#8b0000}.theme-antique{background:radial-gradient(ellipse 80px 60px at 15% 20%,rgba(139,90,43,.08) 0%,transparent 70%),radial-gradient(ellipse 60px 80px at 85% 75%,rgba(101,67,33,.06) 0%,transparent 70%),radial-gradient(ellipse 100px 50px at 50% 90%,rgba(139,90,43,.05) 0%,transparent 70%),radial-gradient(ellipse 40px 40px at 70% 30%,rgba(80,50,20,.04) 0%,transparent 70%),linear-gradient(180deg,#e8dcc8,#e2d4be,#ddd0b8 30%,#e0d2ba,#d8c8b0 70%,#d4c4aa,#d0bfa3);border:none;box-shadow:inset 2px 0 4px #8b5a2b26,inset -1px 0 3px #8b5a2b1a,3px 3px 8px #00000026,1px 1px 3px #0000001a;color:#2a1f14;font-family:Crimson Text,Libre Baskerville,Times New Roman,Pretendard Variable,Pretendard,serif;position:relative;border-radius:2px}.theme-antique:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");opacity:.06;pointer-events:none;border-radius:inherit;mix-blend-mode:multiply}.theme-antique:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 120% 100% at 50% 50%,transparent 40%,rgba(101,67,33,.08) 70%,rgba(80,50,20,.15) 100%);pointer-events:none;border-radius:inherit}.theme-antique .sentence-english,.theme-antique .sentence-text{letter-spacing:.02em;text-shadow:.5px .5px 0 rgba(139,90,43,.1)}.theme-antique .translation-text{color:#2a1f14b3;font-style:italic}.theme-antique .word-current{background:linear-gradient(transparent 60%,#b48c5066 60%)}.theme-antique .word-saved{background:#b48c504d}.theme-antique .word-selected{background:#c8a05059}.theme-breaking{background:linear-gradient(145deg,#1e5631,#1a472a,#153d23);border:none;box-shadow:inset 0 1px #ffffff1a,0 4px 12px #0006,0 0 0 1px #0000004d;color:#fff;font-family:Georgia,Times New Roman,Pretendard Variable,Pretendard,serif;position:relative;border-radius:4px}.theme-breaking:before{content:"";position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#ffffff80}.theme-breaking:after{content:"🧑‍🔬";position:absolute;top:6px;right:6px;font-size:12px;opacity:.4}.theme-breaking .word-current{background:linear-gradient(transparent 60%,#98d8aa80 60%);color:#fff}.theme-breaking .word-saved{background:#98d8aa66;color:#fff}.theme-breaking .word-selected{background:#90ee9066;color:#fff}.theme-breaking .translation-text{color:#fff9}.theme-cyberpunk{--cyber-cyan: #00ffff;--cyber-magenta: #ff0080;--cyber-yellow: #ffff00;--cyber-green: #00ff80;--cyber-bg-dark: #0a0014;--cyber-bg-purple: #1a0a2e;--glow-cyan: 0 0 5px var(--cyber-cyan), 0 0 10px var(--cyber-cyan), 0 0 20px rgba(0, 255, 255, .5);--glow-magenta: 0 0 5px var(--cyber-magenta), 0 0 10px var(--cyber-magenta), 0 0 20px rgba(255, 0, 128, .5);--glow-yellow: 0 0 5px var(--cyber-yellow), 0 0 10px var(--cyber-yellow), 0 0 20px rgba(255, 255, 0, .5);--glow-green: 0 0 5px var(--cyber-green), 0 0 10px var(--cyber-green), 0 0 20px rgba(0, 255, 128, .5);background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(0,255,255,.02) 3px,rgba(0,255,255,.02) 6px),radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.4) 100%),linear-gradient(145deg,#0a0014,#150734,#1a0a2e 60%,#0f0318);border:2px solid var(--cyber-yellow);box-shadow:0 0 10px #ffff0080,0 0 25px #ff03,0 0 40px #ff00801a,inset 0 0 40px #ffff0008;color:var(--cyber-yellow);font-family:Orbitron,Courier New,monospace;font-weight:600;position:relative;border-radius:2px;text-shadow:var(--glow-yellow);transform:perspective(800px) rotateY(-1deg)}.theme-cyberpunk:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,0,128,.03) 50%,transparent 100%);animation:cyberpunk-glitch 8s ease-in-out infinite;pointer-events:none;border-radius:inherit}.theme-cyberpunk:after{content:"NIGHT CITY";position:absolute;top:4px;right:6px;font-size:7px;font-weight:900;letter-spacing:2px;color:var(--cyber-yellow);text-shadow:var(--glow-yellow);font-family:Orbitron,monospace;animation:cyberpunk-flicker 3s ease-in-out infinite}@keyframes cyberpunk-glitch{0%,to{opacity:0;transform:translate(0)}45%,55%{opacity:1;transform:translate(2px)}50%{opacity:.5;transform:translate(-2px)}}@keyframes cyberpunk-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.3}94%{opacity:1}96%{opacity:.5}97%{opacity:1}}.theme-cyberpunk .sentence-english,.theme-cyberpunk .sentence-text{color:#ff0;font-family:Orbitron,Courier New,monospace;font-weight:500;letter-spacing:.08em;font-style:italic;text-shadow:var(--glow-yellow)}.theme-cyberpunk .translation-text{color:var(--cyber-magenta);font-family:Orbitron,Noto Sans KR,sans-serif;font-weight:400;font-style:normal;letter-spacing:.02em;text-shadow:var(--glow-magenta)}.theme-cyberpunk .word-current{background:linear-gradient(transparent 55%,#ff008099 55%);color:#fff;text-shadow:var(--glow-magenta)}.theme-cyberpunk .word-saved{background:#ffff0040;color:#fff;text-shadow:var(--glow-yellow);box-shadow:0 0 8px #ff06}.theme-cyberpunk .word-selected{background:#00ff8059;color:#fff;text-shadow:var(--glow-green);box-shadow:0 0 10px #00ff8080}.theme-preview-card.theme-cyberpunk{border:2px solid #ffff00;box-shadow:0 0 10px #ffff0080,0 0 20px #ff008033;transform:none}.theme-preview-card.theme-cyberpunk .theme-preview-text{font-family:Orbitron,monospace;font-style:italic;letter-spacing:.05em;color:#ff0}.theme-preview-card.theme-cyberpunk .theme-preview-name{color:var(--cyber-magenta, #ff0080);text-shadow:0 0 8px rgba(255,0,128,.8);font-family:Orbitron,monospace}.theme-content-wrapper{position:relative;margin-top:1rem}.theme-content-wrapper .theme-sentence-inner{margin-top:1rem}.theme-content-wrapper .theme-sentence-inner>div{background:transparent;border:none;box-shadow:none;padding:0}.theme-content-wrapper .theme-image{width:100%;height:auto;display:block}.theme-content-wrapper>*:first-child{margin-top:0}.theme-selector-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;opacity:0;transition:opacity .3s ease-out}.theme-selector-backdrop.open{opacity:1}.theme-selector-sheet{position:fixed;bottom:0;left:0;right:0;background:#fffef8;border-top:3px solid #000;border-radius:24px 24px 0 0;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));z-index:51;transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.56,.64,1);max-height:70vh;overflow-y:auto}.theme-selector-sheet.open{transform:translateY(0)}.theme-preview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.theme-preview-card{aspect-ratio:4/3;border-radius:12px;padding:12px;cursor:pointer;transition:all .2s ease-out;position:relative;overflow:hidden}.theme-preview-card:active{transform:scale(.97)}.theme-preview-card.selected{outline:3px solid #000;outline-offset:2px}.theme-preview-card.selected:after{content:"✓";position:absolute;top:6px;right:6px;width:20px;height:20px;background:#86efac;border:2px solid #000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.theme-preview-text{font-size:11px;line-height:1.5;opacity:.8;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.theme-preview-name{position:absolute;bottom:8px;left:8px;right:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.6}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#fff;border:2px solid #000;box-shadow:2px 2px #000;cursor:pointer;transition:all .15s ease-out}.theme-toggle-btn:active{transform:translate(2px,2px);box-shadow:0 0 #000}.translation-text,span.translation-text{font-family:Pretendard Variable,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif!important;font-weight:400;letter-spacing:-.01em;line-height:1.6}.theme-cyberpunk .translation-text,.theme-cyberpunk span.translation-text{font-family:Orbitron,Pretendard Variable,Pretendard,Noto Sans KR,sans-serif!important}.page-flip-container{perspective:2000px;perspective-origin:center center;background-color:#fef3c7}.page-flip-book{margin:0 auto;background-color:#fef3c7!important}.page-flip-container,.page-flip-container *{--pageflip-bg: rgb(254, 243, 199)}.stf__parent,.page-flip-container .stf__parent,.stf__wrapper,.page-flip-container .stf__wrapper,.stf__block,.page-flip-container .stf__block{background-color:#fef3c7!important;background:#fef3c7!important}.page-flip-book,.page-flip-container>div,.page-flip-container>div>div{background-color:#fef3c7!important;background:#fef3c7!important}.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow,[class*=Shadow]{background-color:transparent!important;background:transparent!important;box-shadow:none!important;opacity:0!important;display:none!important;visibility:hidden!important}.stf__item{box-shadow:none!important;filter:none!important}.stf__parent>div:not(.stf__wrapper),.stf__wrapper>div:not(.stf__block){display:none!important}.page-flip-page{position:relative;background:linear-gradient(to right,#fef3c7,#fef9c3,#fef3c7);box-shadow:inset 0 0 30px #0000000d;border-radius:4px;overflow:hidden}.page-flip-content{background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.02) 100%)}.page-flip-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.03;pointer-events:none;z-index:0}.page-flip-page>*{position:relative;z-index:1}.page-flip-book .--left .page-flip-page,.stf__item.--left .page-flip-page{border-right:0;box-shadow:inset -7px 0 30px -7px #0006}.page-flip-book .--right .page-flip-page,.stf__item.--right .page-flip-page{border-left:0;box-shadow:inset 7px 0 30px -7px #0006}.page-flip-book .--flipping .page-flip-page,.stf__item.--flipping .page-flip-page{box-shadow:0 15px 50px #0000004d,inset 0 0 30px #0000001a}.page-flip-page .text-center{font-family:Georgia,serif}.page-flip-page .reading-theme{border-radius:0;margin:0;width:100%;height:100%}.stf__parent,.stf__wrapper,.stf__block{pointer-events:none!important}.page-flip-page,.page-flip-page *,.page-flip-page span,.page-flip-page div{pointer-events:auto!important}.page-flip-page .shadow-hard{box-shadow:4px 4px #000000e6}.page-flip-page .flex-1{min-height:0}.page-flip-container:before,.page-flip-container:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:32px;height:80px;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:10}.page-flip-container:hover:before{left:8px;background:linear-gradient(to right,rgba(0,0,0,.1),transparent);border-radius:4px 0 0 4px;opacity:.5}.page-flip-container:hover:after{right:8px;background:linear-gradient(to left,rgba(0,0,0,.1),transparent);border-radius:0 4px 4px 0;opacity:.5}@media(hover:none){.page-flip-container:before,.page-flip-container:after{display:none}}@keyframes page-flip-hint{0%,to{transform:translate(0) rotateY(0)}50%{transform:translate(-5px) rotateY(-5deg)}}.page-flip-hint{animation:page-flip-hint 2s ease-in-out infinite}@media(max-width:640px){.page-flip-page{padding:8px}.page-flip-content{padding:12px 8px}}.page-flip-page .sentence-no-box{background:transparent!important;background-color:transparent!important;border:none!important;border-width:0!important;box-shadow:none!important;border-radius:0!important}.tutorial-toast-enter{animation:toastSlideUp .3s ease-out forwards}.tutorial-toast-visible{opacity:1;transform:translateY(0)}.tutorial-toast-exit{animation:toastSlideDown .3s ease-in forwards}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes bounce-in{0%{transform:scale(0) rotate(-20deg);opacity:0}50%{transform:scale(1.3) rotate(10deg)}70%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes fire-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulse-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes number-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes burst-particle{0%{transform:translate(-50%,-50%) rotate(var(--particle-angle)) translate(0);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--particle-angle)) translate(var(--particle-speed));opacity:0}}.animate-bounce-in{animation:bounce-in .6s ease-out forwards}.animate-fire-pulse{animation:fire-pulse 1s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 1.5s ease-in-out infinite}.animate-burst-particle{animation:burst-particle .8s ease-out forwards}@keyframes gentle-wiggle{0%,to{transform:rotate(0) translateY(0)}20%{transform:rotate(-.5deg) translateY(-1px)}40%{transform:rotate(.5deg) translateY(0)}60%{transform:rotate(-.3deg) translateY(-.5px)}80%{transform:rotate(.3deg) translateY(0)}}@keyframes card-flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(15deg)}}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.animate-gentle-wiggle{animation:gentle-wiggle 3s ease-in-out infinite;animation-delay:2s}.animate-card-flip{animation:card-flip 2s ease-in-out infinite;animation-delay:1s}.animate-pulse-badge{animation:pulse-badge 1.5s ease-in-out infinite;animation-delay:.5s}.animate-gentle-wiggle:hover,.animate-gentle-wiggle:active{animation-play-state:paused}.treasure-card-inner{transition:transform .5s cubic-bezier(.4,0,.2,1)}.treasure-card-inner.flipped{transform:rotateY(180deg)}.animate-ready-pulse{animation:ready-pulse 2s ease-in-out infinite}@keyframes ready-pulse{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 12px #8b5cf600}}.animate-fade-in{animation:fade-in .3s ease-out forwards}.animate-slide-out-left{animation:slide-out-left .3s ease-in forwards}@keyframes slide-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100px)}}.animate-fly-to-treasure{animation:fly-to-treasure .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes fly-to-treasure{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.1) translateY(-20px)}to{opacity:0;transform:scale(.5) translateY(-100px)}}.animate-sparkle{animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.animate-card-enter{animation:card-enter .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes card-enter{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.treasure-card-inner,.animate-ready-pulse,.animate-fade-in,.animate-slide-out-left,.animate-fly-to-treasure,.animate-sparkle,.animate-card-enter{animation:none!important;transition:none!important}.treasure-card-inner.flipped{transform:rotateY(180deg)}}.memory-card{perspective:800px}.memory-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.4,0,.2,1)}.memory-card-inner.flipped{transform:rotateY(180deg)}.memory-card-front,.memory-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;align-items:center;justify-content:center;border-radius:.75rem;overflow:hidden}.memory-card-back{transform:rotateY(180deg)}@keyframes match-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.animate-match-pop{animation:match-pop .4s ease-out}@keyframes card-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.animate-card-shake{animation:card-shake .35s ease-in-out}@keyframes board-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-board-enter{animation:board-enter .5s ease-out}@keyframes card-deal{0%{opacity:0;transform:scale(.5) rotateY(90deg)}60%{opacity:1;transform:scale(1.05) rotateY(0)}to{transform:scale(1) rotateY(0)}}.animate-card-deal{animation:card-deal .3s ease-out both}@keyframes result-bounce-in{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.animate-result-bounce-in{animation:result-bounce-in .5s ease-out}.animate-float-gentle{animation:float-gentle 2.5s ease-in-out infinite}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #facc1566}50%{box-shadow:0 0 20px #facc15cc}}.animate-glow-pulse{animation:glow-pulse 1.5s ease-in-out infinite}@keyframes expand-pop{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}.animate-expand-pop{animation:expand-pop .25s ease-out}.word-falling{top:-100px;animation:word-fall var(--duration, 5s) linear forwards}@keyframes word-fall{0%{transform:translate(-50%) translateY(0);opacity:0}5%{opacity:1}90%{opacity:1}to{transform:translate(-50%) translateY(calc(100vh - 50px));opacity:.5}}.animate-mimos-idle{animation:mimos-idle 2s ease-in-out infinite}@keyframes mimos-idle{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-6px)}}.animate-mimos-jump{animation:mimos-react .4s ease-out forwards}@keyframes mimos-react{0%{transform:translate(-50%) translateY(0) scale(1)}50%{transform:translate(-50%) translateY(-12px) scale(1.1)}to{transform:translate(-50%) translateY(0) scale(1)}}.word-explode{animation:word-explode .5s ease-out forwards!important}@keyframes word-explode{0%{transform:translate(-50%) scale(1);opacity:1}30%{transform:translate(-50%) scale(1.3);opacity:1}to{transform:translate(-50%) scale(0);opacity:0}}.explosion-particles{position:absolute;pointer-events:none}.explosion-particle{position:fixed;width:12px;height:12px;border-radius:50%;z-index:50;pointer-events:none;animation:particle-fly .5s ease-out forwards}@keyframes particle-fly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.explosion-particle.yellow{background:#fbbf24}.explosion-particle.orange{background:#fb923c}.explosion-particle.pink{background:#f472b6}.explosion-particle.cyan{background:#22d3ee}.explosion-particle.lime{background:#a3e635}.animate-mimos-shake{animation:mimos-shake .4s ease-in-out}@keyframes mimos-shake{0%,to{transform:translate(-50%)}20%{transform:translate(calc(-50% - 10px))}40%{transform:translate(calc(-50% + 10px))}60%{transform:translate(calc(-50% - 8px))}80%{transform:translate(calc(-50% + 8px))}}.animate-mimos-celebrate{animation:mimos-celebrate .8s ease-out forwards}@keyframes mimos-celebrate{0%{transform:translate(-50%) scale(1)}25%{transform:translate(-50%) scale(1.2) rotate(-5deg)}50%{transform:translate(-50%) scale(1.3) rotate(5deg)}75%{transform:translate(-50%) scale(1.15) rotate(-3deg)}to{transform:translate(-50%) scale(1.1) rotate(0)}}.screen-shake{animation:screen-shake .3s ease-in-out;position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}@keyframes screen-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.animate-twinkle{animation:twinkle 2s ease-in-out infinite}.animate-twinkle-slow{animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.animate-float-gentle{animation:float-gentle 2s ease-in-out infinite}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.delay-150{animation-delay:.15s}.animate-result-enter{animation:result-enter .5s ease-out forwards}@keyframes result-enter{0%{opacity:0;transform:scale(.8) translateY(20px)}50%{transform:scale(1.05) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-emoji-bounce{animation:emoji-bounce 1s ease-in-out infinite}@keyframes emoji-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.1)}}.animate-ready-pulse{animation:ready-pulse 1.5s ease-in-out infinite}@keyframes ready-pulse{0%,to{transform:scale(1);box-shadow:0 0 #fbbf24b3}50%{transform:scale(1.02);box-shadow:0 0 0 10px #fbbf2400}}.animate-shake{animation:button-shake .4s ease-in-out}@keyframes button-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.quest-overlay-enter{animation:quest-fade-in .2s ease-out forwards}.quest-overlay-visible{opacity:1}.quest-overlay-exit{animation:quest-fade-out .3s ease-out forwards}@keyframes quest-fade-in{0%{opacity:0}to{opacity:1}}@keyframes quest-fade-out{0%{opacity:1}to{opacity:0}}.quest-book-open{animation:quest-book-open .8s ease-out forwards}@keyframes quest-book-open{0%{transform:scale(1) rotateY(0)}30%{transform:scale(1.15) rotateY(-15deg)}60%{transform:scale(1.1) rotateY(10deg)}to{transform:scale(1) rotateY(0)}}.quest-light-burst{animation:quest-light-burst 1s ease-out forwards}@keyframes quest-light-burst{0%{opacity:0;transform:scale(0)}30%{opacity:.8;transform:scale(1.2)}60%{opacity:.6;transform:scale(1.8)}to{opacity:0;transform:scale(2.5)}}.quest-page-fly{animation:quest-page-fly .8s ease-out forwards}@keyframes quest-page-fly{0%{transform:translate(0) translateY(0) rotate(0);opacity:1}to{transform:translate(var(--fly-x)) translateY(var(--fly-y)) rotate(var(--fly-rotate));opacity:0}}.quest-card-scatter{animation:quest-card-scatter .7s ease-out forwards}@keyframes quest-card-scatter{0%{transform:translate(0) translateY(0) rotate(0) scale(1);opacity:1}60%{opacity:1}to{transform:translate(var(--scatter-x)) translateY(var(--scatter-y)) rotate(var(--scatter-rotate)) scale(.6);opacity:0}}.quest-card-flip{animation:quest-card-flip .8s ease-in-out}@keyframes quest-card-flip{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(360deg) scale(1)}}.quest-sparkle{animation:quest-sparkle .6s ease-out forwards}@keyframes quest-sparkle{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.3) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.quest-wand-wave{animation:quest-wand-wave .6s ease-in-out 2}@keyframes quest-wand-wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}.quest-star-sparkle{animation:quest-star-sparkle .8s ease-out forwards}@keyframes quest-star-sparkle{0%{transform:scale(0) rotate(0);opacity:0}40%{transform:scale(1.4) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.quest-magic-trail{stroke-dasharray:100;stroke-dashoffset:100;animation:quest-magic-trail .6s ease-out forwards}@keyframes quest-magic-trail{0%{stroke-dashoffset:100;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.quest-text-pop{animation:quest-text-pop .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes quest-text-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.quest-dot-bounce{animation:quest-dot-bounce .5s ease-in-out infinite alternate}@keyframes quest-dot-bounce{0%{transform:translateY(0);opacity:.4}to{transform:translateY(-8px);opacity:1}}@keyframes book-unlock{0%{transform:scale(1) rotateY(0)}30%{transform:scale(1.05) rotateY(180deg)}60%{transform:scale(1.02) rotateY(360deg)}to{transform:scale(1) rotateY(360deg)}}@keyframes lock-shake{0%,to{transform:translate(-50%) rotate(0)}20%{transform:translate(-50%) rotate(-20deg)}40%{transform:translate(-50%) rotate(20deg)}60%{transform:translate(-50%) rotate(-15deg)}80%{transform:translate(-50%) rotate(15deg)}}@keyframes lock-break{0%{transform:translate(-50%) scale(1);opacity:1}50%{transform:translate(-50%) scale(1.3);opacity:.8}to{transform:translate(-50%) scale(0) rotate(45deg);opacity:0}}@keyframes sparkle{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}to{opacity:0;transform:scale(0) rotate(360deg)}}@keyframes number-pop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes pop-in{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-book-unlock{animation:book-unlock 1.2s ease-out forwards;transform-style:preserve-3d}.animate-lock-shake{animation:lock-shake .6s ease-in-out}.animate-lock-break{animation:lock-break .5s ease-out forwards}.animate-sparkle{animation:sparkle .8s ease-in-out forwards}.animate-number-pop{animation:number-pop .4s ease-out}.animate-confetti-fall{animation:confetti-fall linear forwards}.animate-pop-in{animation:pop-in .4s ease-out forwards}.animate-fade-in{animation:fade-in .5s ease-out forwards}@keyframes step-enter{0%{opacity:0;transform:translate(30px) scale(.98)}60%{opacity:1;transform:translate(-4px) scale(1.01)}80%{transform:translate(2px) scale(.995)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes step-exit{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-30px) scale(.98)}}.step-container{animation:step-enter .5s cubic-bezier(.34,1.56,.64,1) forwards}.step-container-exit{animation:step-exit .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 4s linear infinite}
