:root{--bg: #fff6e6;--card: #ffffff;--ink: #3a2d1e;--sub: #93816b;--primary: #ff7a45;--primary-2: #ffa14d;--primary-dark: #e5602c;--accent: #7c6cff;--good: #34b878;--bad: #e4573d;--gold: #f5b93e;--line: #f1e3c8;--shadow-soft: 0 2px 6px rgba(140, 105, 55, .08), 0 10px 24px rgba(140, 105, 55, .12);--shadow-press: 0 6px 0 rgba(184, 152, 100, .22);--radius: 24px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Jua,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background:radial-gradient(circle at 10% 6%,#ffe7bd 0 110px,transparent 111px),radial-gradient(circle at 92% 12%,#ffdfef 0 80px,transparent 81px),radial-gradient(circle at 84% 90%,#d9f1ff 0 130px,transparent 131px),radial-gradient(circle at 6% 88%,#e5f7e3 0 90px,transparent 91px),linear-gradient(180deg,#fff8ec 0%,var(--bg) 100%);background-attachment:fixed;color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none}.app{min-height:100dvh;position:relative;transition:background 1s ease}.app.sky-morning{background:linear-gradient(180deg,#ffeeda,#fff6e6 45%,#fff7e8)}.app.sky-day{background:linear-gradient(180deg,#e8f6ff,#fdf9ec 40%,#fff7e8)}.app.sky-sunset{background:linear-gradient(180deg,#ffd9c0,#ffe9d2 40%,#fff5e4)}.app.sky-night{background:linear-gradient(180deg,#2c3567,#4c5488 34%,#fff2dd)}.app.sky-night .home-header .logo,.app.sky-night .profile-hero .logo{color:#fff}.app.sky-night .profile-title{color:#e6e2ff}.sky-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.app>*:not(.sky-layer){position:relative;z-index:1}.sky-orb{position:absolute;top:6%;right:8%;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff6c8,#ffd166 70%);box-shadow:0 0 60px 18px #ffd1668c;animation:bob 6s ease-in-out infinite}.sky-sunset .sky-orb{background:radial-gradient(circle at 35% 35%,#ffd9a8,#ff8a3d 75%);box-shadow:0 0 70px 22px #ff8a3d73;top:12%}.sky-night .sky-orb{background:radial-gradient(circle at 38% 35%,#fff,#d8ddef 75%);box-shadow:0 0 46px 14px #dce2ff80}.cloud{position:absolute;font-size:3.2rem;opacity:.8;filter:drop-shadow(0 6px 10px rgba(120,100,70,.1))}.c1{top:9%;left:-8%;animation:drift 52s linear infinite}.c2{top:20%;left:-14%;font-size:2.2rem;animation:drift 74s linear infinite 8s;opacity:.6}.c3{top:4%;left:-10%;font-size:2.6rem;animation:drift 63s linear infinite 24s;opacity:.7}@keyframes drift{0%{transform:translate(0)}to{transform:translate(120vw)}}.sky-night .cloud{opacity:.18}.star{position:absolute;color:#fff;opacity:0;font-size:1rem}.sky-night .star{opacity:1;animation:sparkle 2.4s ease-in-out infinite}.st1{top:8%;left:12%}.st2{top:16%;left:30%;animation-delay:.5s!important;font-size:.7rem}.st3{top:6%;left:55%;animation-delay:1s!important}.st4{top:22%;left:72%;animation-delay:1.4s!important;font-size:.7rem}.st5{top:12%;left:88%;animation-delay:.8s!important}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:clamp(12px,2.2vw,26px);max-width:1240px;margin:0 auto;animation:screen-in .35s ease both}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.btn{font-family:inherit;font-size:1.05rem;border:none;border-radius:18px;padding:12px 20px;cursor:pointer;color:var(--ink);background:#fff;box-shadow:var(--shadow-press),var(--shadow-soft);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;touch-action:manipulation}.btn:hover{filter:brightness(1.03)}.btn:disabled{filter:grayscale(.7);opacity:.55;cursor:default;transform:none}.btn:active{transform:translateY(4px);box-shadow:0 1px #b8986438}.btn.primary{background:linear-gradient(160deg,var(--primary-2),var(--primary));color:#fff;text-shadow:0 1px 2px rgba(160,60,10,.25);box-shadow:0 6px 0 var(--primary-dark),0 12px 26px #ff7a4559;position:relative;overflow:hidden}.btn.primary:after{content:"";position:absolute;top:3px;left:10%;width:80%;height:40%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.4),transparent);pointer-events:none}.btn.primary:active{box-shadow:0 1px 0 var(--primary-dark)}.btn.primary:disabled{filter:grayscale(.75);opacity:.55;cursor:default;transform:none}.btn.big{font-size:1.3rem;padding:16px 30px;border-radius:22px}.btn.soft{background:linear-gradient(180deg,#fff7ea,#ffeed5)}.btn.ghost{background:transparent;box-shadow:none;color:var(--sub)}.btn.ghost:active{transform:scale(.95)}.btn.small{font-size:.88rem;padding:7px 12px}.home-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.logo{font-size:clamp(1.5rem,4vw,2.2rem);letter-spacing:-.5px}.logo span{background:linear-gradient(120deg,var(--primary),var(--gold));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-actions{display:flex;gap:8px;align-items:center}.badge-num{display:inline-block;min-width:22px;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--bad);color:#fff;font-size:.85rem;text-align:center}.home-body{display:flex;flex-direction:column;gap:24px}.mascot-card{font-family:inherit;text-align:left;border:none;cursor:pointer;display:flex;align-items:center;gap:clamp(14px,3vw,34px);background:radial-gradient(circle at 88% 15%,rgba(255,209,102,.25) 0 90px,transparent 91px),linear-gradient(160deg,#fff,#fff8ea);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-soft);border:2px solid #fff;outline:2px solid var(--line);padding:clamp(16px,2.5vw,28px);transition:transform .15s ease,outline-color .15s ease}.mascot-card:hover{transform:translateY(-3px);outline-color:var(--gold)}.mascot-card:active{transform:scale(.99)}.mascot-card-owl{position:relative;flex-shrink:0}.food-bubble{position:absolute;top:-4px;right:-14px;background:#fff;border:2px solid var(--gold);border-radius:999px;padding:3px 10px;font-size:.95rem;animation:bob 2s ease-in-out infinite}.mascot-info{flex:1;min-width:0;font-size:1rem}.stage-name{font-size:1.45rem}.stage-name.big{font-size:1.7rem}.stage-name .lv{color:var(--accent);font-size:1.05rem;margin-left:6px}.xp-bar{height:18px;background:#f3e9d2;border-radius:999px;overflow:hidden;margin:10px 0 4px;box-shadow:inset 0 2px 4px #8c693726}.xp-bar.big{height:22px;width:min(380px,86%);margin:14px auto 4px}.xp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd166,var(--primary));position:relative;overflow:hidden;transition:width .6s cubic-bezier(.22,1,.36,1)}.xp-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);animation:shimmer 2.4s linear infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.xp-text{color:var(--sub);font-size:.9rem}.mascot-line{margin-top:10px;font-size:1.05rem}.mascot-cta{display:inline-block;margin-top:10px;color:var(--primary-dark);font-size:.95rem}.packages h2{font-size:1.3rem;margin-bottom:14px}.package-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:16px}.package-card{font-family:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:linear-gradient(170deg,#fff 70%,color-mix(in srgb,var(--pkg, #fff) 14%,#fff));border:3px solid color-mix(in srgb,var(--pkg, var(--line)) 55%,#fff);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;animation:card-in .4s ease both;animation-delay:var(--delay, 0s)}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.package-card:hover{transform:translateY(-4px);border-color:var(--pkg, var(--line));box-shadow:0 6px 10px #8c69371a,0 18px 34px color-mix(in srgb,var(--pkg, #caa) 30%,transparent)}.package-card:active{transform:scale(.97)}.pkg-emoji{font-size:2.3rem;filter:drop-shadow(0 3px 4px rgba(0,0,0,.12))}.pkg-grade{font-size:.78rem;color:#fff;background:var(--pkg, var(--sub));padding:2px 10px;border-radius:999px;text-shadow:0 1px 1px rgba(0,0,0,.15)}.pkg-name{font-size:1.25rem}.pkg-desc{font-size:.88rem;color:var(--sub);font-family:Noto Sans KR,sans-serif}.mascot{display:inline-block}.mascot svg{display:block;animation:bob 3s ease-in-out infinite;filter:drop-shadow(0 6px 8px rgba(140,105,55,.18))}.mood-cheer svg{animation:bounce .6s ease infinite}.mood-happy svg{animation:wiggle .8s ease infinite}.mood-sad svg{animation:none}.sparkle{animation:sparkle 1s ease infinite;transform-origin:center;transform-box:fill-box}.sparkle.s2{animation-delay:.3s}.sparkle.s3{animation-delay:.6s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot-img{position:relative}.mascot-img img{display:block;width:100%;height:100%;object-fit:contain;animation:png-idle 3.6s ease-in-out infinite;transform-origin:50% 90%;filter:drop-shadow(0 6px 8px rgba(140,105,55,.2));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@keyframes png-idle{0%,to{transform:translateY(0) rotate(0) scaleY(1)}25%{transform:translateY(-5px) rotate(-1.5deg) scaleY(1)}50%{transform:translateY(0) rotate(0) scaleY(1)}70%{transform:translateY(-4px) rotate(1.5deg) scaleY(1)}90%{transform:translateY(0) scaleY(1)}94%{transform:translateY(1px) scaleY(.94)}98%{transform:translateY(0) scaleY(1)}}.mascot-img.mood-cheer img{animation:png-cheer .55s ease-in-out infinite}@keyframes png-cheer{0%,to{transform:translateY(0) scale(1) rotate(-2deg)}50%{transform:translateY(-14px) scale(1.05) rotate(2deg)}}.mascot-img.mood-happy img{animation:png-happy .8s ease-in-out infinite}@keyframes png-happy{0%,to{transform:rotate(-3deg) scale(1.02)}50%{transform:rotate(3deg) scale(1.02)}}.mascot-img.mood-sad img{animation:png-sad 4s ease-in-out infinite;filter:saturate(.75) drop-shadow(0 6px 8px rgba(140,105,55,.2))}@keyframes png-sad{0%,to{transform:rotate(-4deg) translateY(2px)}50%{transform:rotate(-2deg) translateY(4px)}}.fx{position:absolute;font-size:22%;pointer-events:none;animation:sparkle 1s ease infinite}.fx1{top:4%;left:6%}.fx2{top:10%;right:4%;animation-delay:.35s}.fx3{bottom:8%;right:2%;animation-delay:.6s;font-size:18%}.fx-tear{top:42%;left:12%;animation:tear-drop 1.6s ease-in infinite}@keyframes tear-drop{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:0;transform:translateY(26px)}}.acc{position:absolute;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}.acc-head{top:-6%;left:50%;transform:translate(-50%) rotate(-8deg);font-size:26%}.acc-eyes{top:30%;left:50%;transform:translate(-50%);font-size:24%}.acc-neck{bottom:12%;left:50%;transform:translate(-50%);font-size:24%}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.04)}}@keyframes wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes sparkle{0%,to{opacity:.2;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(20deg)}}.speech{position:relative;background:#fff;border:2.5px solid var(--line);border-radius:18px;padding:12px 16px;font-size:1rem;line-height:1.45;max-width:340px;box-shadow:var(--shadow-soft)}.speech:before{content:"";position:absolute;left:-12px;top:40%;border:8px solid transparent;border-right-color:var(--line)}.speech.active{border-color:var(--primary)}.speech.active:before{border-right-color:var(--primary)}.play{gap:12px}.play-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.play-top-right{margin-left:auto;display:flex;align-items:center;gap:10px}.progress-dots{display:flex;gap:6px;flex-wrap:wrap}.dot{width:12px;height:12px;border-radius:50%;background:#ead9b8;transition:transform .2s ease,background .2s ease}.dot.done{background:var(--good)}.dot.now{background:var(--primary);transform:scale(1.35);box-shadow:0 0 0 4px #ff7a452e}.streak{background:linear-gradient(120deg,#fff1e0,#ffe3c2);border-radius:999px;padding:4px 14px;color:var(--primary-dark);font-size:.95rem;animation:pop-scale .35s ease}.acorn-count{background:#fff;border:2px solid var(--line);border-radius:999px;padding:4px 14px;font-size:.98rem}.play-main{flex:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(12px,1.8vw,22px);min-height:0}.play-left{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}.problem-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 90% 8%,rgba(124,108,255,.08) 0 80px,transparent 81px),#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:2px solid #fff;outline:2px solid var(--line);padding:clamp(14px,2vw,26px);text-align:center;min-height:0}.problem-label{color:var(--sub);font-size:.92rem;position:relative;z-index:4}.problem-visual{font-size:clamp(1.4rem,3.6vw,2.2rem);line-height:1.5;letter-spacing:4px;word-break:break-all;max-width:100%}.problem-text{font-size:clamp(2rem,5.2vw,3.4rem);letter-spacing:2px;text-shadow:0 2px 0 rgba(140,105,55,.08)}.vertical-form{font-family:Jua,monospace;font-size:clamp(2rem,5vw,3.2rem);display:inline-flex;flex-direction:column;align-items:flex-end;letter-spacing:.35em;line-height:1.25;padding:6px 18px 6px 0}.v-row{position:relative}.v-op .v-sign{position:absolute;left:-1.4em;letter-spacing:0;color:var(--primary-dark)}.v-line{width:100%;min-width:3.6em;border-bottom:4px solid var(--ink);margin:6px 0}.v-ans{color:var(--accent)}.problem-text.sentence{font-size:clamp(1.15rem,2.6vw,1.7rem);letter-spacing:.5px;line-height:1.65;white-space:pre-line;font-family:Noto Sans KR,sans-serif;font-weight:700}.answer-area{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:4px;padding-top:12px;border-top:2px dashed var(--line);width:100%}.answer-label{color:var(--sub);font-size:.92rem}.writing-pad{display:flex;flex-direction:column;align-items:center;gap:10px}.pad-boxes{display:flex;gap:10px;justify-content:center}.pad-box{position:relative;width:clamp(76px,12vw,112px);aspect-ratio:3 / 4;border-radius:18px;transition:box-shadow .15s ease}.pad-boxes[data-count="1"] .pad-box{width:clamp(150px,26vw,230px)}.pad-boxes[data-count="2"] .pad-box{width:clamp(115px,18vw,175px)}.pad-boxes[data-count="5"] .pad-box{width:clamp(58px,10vw,92px)}.pad-box.selected{box-shadow:0 0 0 4px #7c6cff59;border-radius:18px}.pad-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#fffdf6,#fff8e9);border:3px dashed #dcc9a0;border-radius:18px;touch-action:none;cursor:crosshair}.pad-result{position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:1.15rem;line-height:1.4;color:#cbbfa6;background:#fff;border-radius:10px;padding:0 10px;border:2px solid var(--line);z-index:2;pointer-events:none;transition:color .15s ease,border-color .15s ease}.pad-result.on{color:var(--accent);border-color:var(--accent)}.pad-erase{position:absolute;right:4px;bottom:4px;z-index:2;font-size:.95rem;border:none;background:#fffd;border-radius:10px;box-shadow:0 2px 6px #8c693733;padding:4px 7px;cursor:pointer}.pad-erase:active{transform:translateY(2px)}.chip-area{display:flex;flex-direction:column;align-items:center;gap:8px}.chip-toggle{font-family:inherit;font-size:.85rem;color:var(--sub);background:none;border:none;cursor:pointer;text-decoration:underline dotted}.chip-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.chip{font-family:inherit;font-size:1.15rem;width:42px;height:42px;border:2px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;box-shadow:0 3px #b8986433;transition:transform .1s ease}.chip:active{transform:translateY(3px);box-shadow:none}.pad-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.pad-actions .primary{min-width:180px}.play-mascot{display:flex;align-items:flex-end;gap:10px}.play-mascot .speech{flex:1}.play-mascot .speech:before{top:auto;bottom:24px}.play-right{min-width:0;min-height:0;display:flex}.scratch-pad{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:2px solid #fff;outline:2px solid var(--line);overflow:hidden;min-height:0}.scratch-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 14px;background:linear-gradient(180deg,#fdf6e7,#f9eed6);border-bottom:2px solid var(--line)}.scratch-title{font-size:1.05rem}.scratch-sub{font-size:.72rem;color:var(--sub);font-family:Noto Sans KR,sans-serif}.scratch-actions{display:flex;gap:4px}.scratch-canvas-wrap{flex:1;position:relative;min-height:0}.scratch-scrollbar{position:absolute;top:8px;bottom:8px;right:4px;width:5px;background:#f0e4cb;border-radius:999px;pointer-events:none}.scratch-thumb{position:absolute;width:100%;height:30%;border-radius:999px;background:#d9c9a3;transition:top .1s linear}.scratch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair;background:linear-gradient(#f0e4cb 1px,transparent 1px),linear-gradient(90deg,#f0e4cb 1px,transparent 1px),#fffdf6;background-size:34px 34px}.feedback-pop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fffaeed9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;animation:pop-in .25s ease;pointer-events:none}.feedback-emoji{font-size:clamp(4rem,14vw,7.5rem);animation:pop-scale .4s ease}.feedback-text{font-size:clamp(1.3rem,4vw,2rem);background:#fff;padding:10px 26px;border-radius:999px;box-shadow:var(--shadow-soft)}.feedback-food{font-size:1.2rem;background:linear-gradient(120deg,#fff3d6,#ffe8b3);border:2px solid var(--gold);padding:6px 20px;border-radius:999px;animation:pop-scale .5s ease .15s both}.feedback-pop.correct .feedback-text{color:var(--good)}.feedback-pop.reveal .feedback-text{color:var(--bad)}@keyframes pop-in{0%{opacity:0}to{opacity:1}}@keyframes pop-scale{0%{transform:scale(.3)}70%{transform:scale(1.15)}to{transform:scale(1)}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;overflow:hidden}.confetti{position:absolute;top:-20px;border-radius:3px;animation:confetti-fall ease-in forwards}@keyframes confetti-fall{to{transform:translate(var(--drift, 0),108vh) rotate(var(--spin, 540deg));opacity:.85}}.result{align-items:center;justify-content:center}.result-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:radial-gradient(circle at 50% 0%,rgba(255,209,102,.18) 0 140px,transparent 141px),#fff;border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-soft);border:2px solid #fff;outline:2px solid var(--line);padding:clamp(20px,4vw,40px);width:min(580px,100%);text-align:center}.levelup-banner{background:linear-gradient(90deg,#ffd166,#ff8a3d);color:#fff;text-shadow:0 1px 2px rgba(160,60,10,.3);border-radius:14px;padding:10px 18px;font-size:1.15rem;animation:pop-scale .5s ease}.result-stars{font-size:2.5rem;display:flex;gap:8px}.result-stars .star{filter:grayscale(1) opacity(.3)}.result-stars .star.on{filter:drop-shadow(0 3px 6px rgba(245,185,62,.5));animation:pop-scale .5s ease both}.result-card h2{font-size:1.4rem}.result-food{color:var(--primary-dark);font-size:1.2rem}.result-line{color:var(--sub)}.result-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:8px}.character-body{display:flex;flex-direction:column;gap:18px}.character-stage-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:radial-gradient(ellipse at 50% 20%,rgba(255,224,150,.4) 0 46%,transparent 60%),linear-gradient(180deg,#fffdf4,#fff4dd);border-radius:calc(var(--radius) + 6px);border:2px solid #fff;outline:2px solid var(--line);box-shadow:var(--shadow-soft);padding:clamp(20px,3vw,36px)}.character-mascot{position:relative}.float-xp{position:absolute;top:10%;left:50%;transform:translate(-50%);color:var(--good);font-size:1.4rem;animation:float-up 1.3s ease forwards;pointer-events:none;white-space:nowrap}@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-46px)}}.feed-line{color:var(--primary-dark);font-size:1.1rem;animation:pop-scale .3s ease}.fly-food{position:absolute;bottom:-40px;left:50%;font-size:2.2rem;animation:fly-food .65s cubic-bezier(.3,-.3,.5,1) forwards;pointer-events:none}@keyframes fly-food{0%{transform:translate(-50%) scale(1) rotate(0);opacity:1}70%{transform:translate(-50%,-150px) scale(.9) rotate(300deg);opacity:1}to{transform:translate(-50%,-190px) scale(.2) rotate(360deg);opacity:0}}.evo-beam{position:absolute;top:-40%;right:-20%;bottom:-40%;left:-20%;background:conic-gradient(from 0deg,transparent 0deg 14deg,rgba(255,220,120,.28) 14deg 26deg,transparent 26deg 46deg,rgba(255,220,120,.24) 46deg 58deg,transparent 58deg 90deg,transparent 90deg 104deg,rgba(255,220,120,.28) 104deg 116deg,transparent 116deg 136deg,rgba(255,220,120,.24) 136deg 148deg,transparent 148deg 180deg,transparent 180deg 194deg,rgba(255,220,120,.28) 194deg 206deg,transparent 206deg 226deg,rgba(255,220,120,.24) 226deg 238deg,transparent 238deg 270deg,transparent 270deg 284deg,rgba(255,220,120,.28) 284deg 296deg,transparent 296deg 316deg,rgba(255,220,120,.24) 316deg 328deg,transparent 328deg 360deg),radial-gradient(circle,rgba(255,236,170,.55) 0%,transparent 62%);animation:beam-spin 2.6s linear infinite,pop-in .4s ease;pointer-events:none;z-index:0}@keyframes beam-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.character-mascot>.mascot{position:relative;z-index:1}.feed-controls{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}.food-stock{background:#fff;border:2px solid var(--gold);border-radius:999px;padding:6px 20px;font-size:1.05rem}.feed-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.feed-hint{color:var(--sub);font-size:.92rem}.evolution-card,.stats-card{background:#fff;border-radius:var(--radius);border:2px solid #fff;outline:2px solid var(--line);box-shadow:var(--shadow-soft);padding:clamp(16px,2.5vw,26px)}.evolution-card h2,.stats-card h2{font-size:1.15rem;margin-bottom:14px}.evolution-track{display:flex;gap:6px;align-items:stretch;justify-content:space-between}.evo-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:16px;position:relative}.evo-step:not(:last-child):after{content:"›";position:absolute;right:-7px;top:50%;transform:translateY(-50%);color:#d9c9a3;font-size:1.2rem}.evo-step.done{background:#f4faf1}.evo-step.now{background:linear-gradient(180deg,#fff6dd,#ffedc2);outline:2px solid var(--gold);animation:pop-scale .4s ease}.evo-step.locked{opacity:.55}.evo-emoji{font-size:1.8rem}.evo-name{font-size:.88rem}.evo-level{font-size:.75rem;color:var(--sub);font-family:Noto Sans KR,sans-serif}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stat{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fdf8ec;border-radius:16px;padding:14px 8px}.stat-num{font-size:1.6rem;color:var(--primary-dark)}.stat-label{font-size:.85rem;color:var(--sub);font-family:Noto Sans KR,sans-serif}.wrong-body{display:flex;flex-direction:column;gap:14px}.wrong-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-soft);border:2px solid #fff;outline:2px solid var(--line);padding:14px 18px}.wrong-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}.wrong-list{list-style:none;display:flex;flex-direction:column;gap:10px}.wrong-item{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:18px;box-shadow:var(--shadow-soft);padding:12px 16px}.wrong-item .pad-erase{position:static}.wrong-pkg{font-size:1.6rem}.wrong-main{flex:1;min-width:0}.wrong-visual{font-size:1.1rem;letter-spacing:2px}.wrong-prompt{font-size:1.3rem}.wrong-meta{color:var(--sub);font-size:.85rem;font-family:Noto Sans KR,sans-serif}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;font-size:1.2rem;color:var(--sub)}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a2d1e80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.tutorial-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:linear-gradient(180deg,#fffdf4,#fff3da);border-radius:28px;padding:clamp(20px,4vw,36px);width:min(500px,100%);box-shadow:0 24px 70px #0000004d;animation:pop-scale .35s ease}.tutorial-speech{max-width:100%;text-align:center;font-size:1.08rem}.tutorial-speech:before{display:none}.tutorial-illust{margin-top:10px;font-size:1.5rem;background:#fffdf6;border:3px dashed #dcc9a0;border-radius:14px;padding:8px 18px}.tutorial-dots{display:flex;gap:6px}.tutorial-actions{display:flex;gap:10px;align-items:center}.onboarding{align-items:center;justify-content:center}.onboard-card{display:flex;flex-direction:column;align-items:center;gap:16px;background:linear-gradient(180deg,#fffdf4,#fff3da);border-radius:28px;border:2px solid #fff;outline:2px solid var(--line);box-shadow:var(--shadow-soft);padding:clamp(24px,4vw,40px);width:min(520px,100%);text-align:center}.onboard-title{font-size:1.35rem;line-height:1.5;white-space:pre-line}.onboard-input{font-family:inherit;font-size:1.4rem;text-align:center;border:3px solid var(--line);border-radius:16px;padding:12px 18px;width:min(280px,90%);background:#fff;outline:none;transition:border-color .15s ease}.onboard-input:focus{border-color:var(--primary)}.onboard-hint{color:var(--sub);font-size:1rem}.onboard-dots{display:flex;gap:6px}.year-grid{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:420px}.year-chip{font-family:inherit;font-size:1rem;padding:8px 14px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer}.year-chip.on{border-color:var(--primary);background:#fff1e0;color:var(--primary-dark)}.settings-body,.widget-body{display:flex;flex-direction:column;gap:16px;max-width:720px;width:100%;margin:0 auto}.settings-card{background:#fff;border-radius:var(--radius);border:2px solid #fff;outline:2px solid var(--line);box-shadow:var(--shadow-soft);padding:clamp(16px,2.5vw,24px)}.settings-card h2{font-size:1.1rem;margin-bottom:12px}.settings-card.danger{outline-color:#f3d3c3}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}.settings-row+.settings-row{border-top:1px dashed var(--line)}.settings-sub{color:var(--sub);font-size:.85rem;font-family:Noto Sans KR,sans-serif;margin-top:2px}.confirm-group{display:flex;gap:8px}.toggle{width:62px;height:34px;border-radius:999px;border:none;background:#e8dcc2;position:relative;cursor:pointer;transition:background .2s ease;flex-shrink:0}.toggle .knob{position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .2s ease}.toggle.on{background:var(--good)}.toggle.on .knob{transform:translate(28px)}.packages-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.packages-head h2{margin:0}.word-toggle{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer;font-size:.98rem;-webkit-user-select:none;user-select:none}.word-toggle input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.pkg-recommend{position:absolute;top:-12px;right:12px;background:linear-gradient(120deg,#ffd166,var(--primary));color:#fff;font-size:.78rem;padding:4px 12px;border-radius:999px;box-shadow:0 4px 10px #ff7a4566;text-shadow:0 1px 1px rgba(160,60,10,.3)}.package-card{position:relative}.stage-sub{color:var(--sub);font-size:.95rem}.widget-modes{display:flex;gap:10px;flex-wrap:wrap}.widget-pkgs{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.widget-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.widget-size{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:14px}.widget-preview{width:min(280px,100%);border-radius:18px;border:3px solid var(--line);display:block;margin:0 auto}.widget-guide{padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:.95rem}.chip.chip-on{border-color:var(--primary);background:#fff1e0;color:var(--primary-dark)}.profile-select{align-items:center;justify-content:center;gap:28px;text-align:center}.profile-hero{display:flex;flex-direction:column;gap:10px;align-items:center}.profile-title{font-size:clamp(1.3rem,3.5vw,1.8rem);color:var(--sub)}.profile-grid{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}.profile-card{font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;background:linear-gradient(170deg,#fff,#fff6e3);border:3px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-soft);padding:26px 34px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;animation:card-in .4s ease both}.profile-card:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 8px 12px #8c69371f,0 22px 40px #f5b93e40}.profile-card:active{transform:scale(.97)}.profile-name{font-size:1.35rem}.profile-stage{font-size:.9rem;color:var(--sub)}.profile-footer{display:flex;flex-direction:column;align-items:center;gap:6px}.profile-footer .btn:disabled{opacity:.55;cursor:default}.profile-note{font-size:.82rem;color:var(--sub);font-family:Noto Sans KR,sans-serif}.profile-chip{font-family:inherit;font-size:.95rem;border:2px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color .15s ease,transform .15s ease}.profile-chip:hover{border-color:var(--gold)}.profile-chip:active{transform:scale(.96)}.chip-switch{color:var(--sub);margin-left:4px}.quest-card{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:linear-gradient(120deg,#fff,#fff4dd);border-radius:var(--radius);border:2px solid #fff;outline:2px solid var(--line);box-shadow:var(--shadow-soft);padding:14px 20px}.quest-main{flex:1;min-width:220px;display:flex;align-items:center;gap:12px}.quest-title{white-space:nowrap}.quest-bar{flex:1;height:14px;background:#f3e9d2;border-radius:999px;overflow:hidden}.quest-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#34d399,#10b981);transition:width .4s ease}.quest-count{color:var(--sub);font-size:.92rem;white-space:nowrap}.quest-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quest-donemark{color:var(--good);font-size:.95rem}.rival-line{font-size:.88rem;color:var(--sub);background:#fff;border:2px solid var(--line);border-radius:999px;padding:4px 12px}.problem-display{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.annotate-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.annotate-canvas.active{pointer-events:auto;touch-action:none;cursor:crosshair}.annotate-tools{position:absolute;top:0;right:0;z-index:4;display:flex;gap:6px}.annotate-tools .pad-erase{position:static}.annotate-tools .tool-on{background:#ffe3c2;box-shadow:0 0 0 3px #ff7a4559}.tts-btn{border:none;background:none;font-size:1.15rem;cursor:pointer;margin-left:6px;vertical-align:middle}.tts-btn:active{transform:scale(.9)}.hw-input{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.hw-text{min-height:54px;width:min(320px,92%);display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:#fff;border:3px solid var(--line);border-radius:16px;padding:6px 14px}.hw-placeholder{color:#cbbfa6;font-size:1rem;font-family:Noto Sans KR,sans-serif}.hw-canvas-wrap{position:relative;width:min(240px,80%);aspect-ratio:1}.hw-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#fffdf6,#fff8e9);border:3px dashed #dcc9a0;border-radius:18px;touch-action:none;cursor:crosshair}.hw-hint{position:absolute;bottom:6px;left:50%;transform:translate(-50%);color:#cbbfa6;font-size:.78rem;pointer-events:none;white-space:nowrap}.hw-cands{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.hw-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}.hw-modes{display:flex;gap:6px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:10px}.shop-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fdf8ec;border-radius:16px;padding:14px 8px;border:2px solid transparent}.shop-item.on{border-color:var(--gold);background:#fff6dd}.shop-emoji{font-size:2rem}.shop-name{font-size:.92rem}.pin-dots{display:flex;gap:12px}.pin-dot{width:18px;height:18px;border-radius:50%;background:#e8dcc2}.pin-dot.on{background:var(--primary)}.pin-error{color:var(--bad);font-size:.95rem}.report-summary{display:flex;gap:10px;margin-bottom:16px}.report-summary .stat{flex:1}.report-bars{display:flex;gap:8px;align-items:flex-end;height:140px}.report-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.report-bar-wrap{flex:1;width:min(34px,80%);display:flex;flex-direction:column;justify-content:flex-end}.report-bar{width:100%;background:#ffb98a}.report-bar.correct{background:#6fcf9f}.report-label{font-size:.75rem;color:var(--sub)}.report-num{font-size:.85rem}.report-pkg-list{list-style:none;display:flex;flex-direction:column;gap:10px}.report-pkg{display:flex;align-items:center;gap:10px}.report-pkg-name{width:150px;font-size:.95rem;flex-shrink:0}.report-pkg-bar{flex:1;height:14px;background:#f3e9d2;border-radius:999px;overflow:hidden}.report-pkg-fill{height:100%;border-radius:999px}.report-pkg-acc{width:92px;text-align:right;font-size:.85rem;color:var(--sub);flex-shrink:0}.practice-body{display:flex;flex-direction:column;align-items:center;gap:16px;flex:1}.practice-guide{color:var(--sub)}.practice-canvas-wrap{position:relative;width:min(340px,84vw);aspect-ratio:1}.practice-ghost{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Jua,sans-serif;font-size:clamp(140px,50vw,230px);color:#3a2d1e;opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none}.practice-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;border:3px dashed #dcc9a0;border-radius:24px;touch-action:none;cursor:crosshair}.practice-canvas-wrap{background:linear-gradient(180deg,#fffdf6,#fff8e9);border-radius:24px}.practice-msg{font-size:1.1rem;color:var(--primary-dark);animation:pop-scale .3s ease}.practice-name{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:8px 20px;font-size:1.15rem}.practice-name-text b{color:var(--primary-dark);font-size:1.3rem;margin-right:4px}.packages-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-card{display:flex;flex-direction:column;align-items:center;gap:12px;background:#fff;border-radius:calc(var(--radius) + 6px);border:2px solid #fff;outline:2px solid var(--line);box-shadow:var(--shadow-soft);padding:clamp(14px,2.5vw,26px)}.bond-title{font-size:1.15rem}.bond-title .lv{color:#e0559a;font-size:.95rem}.room-scene{position:relative;width:100%;max-width:640px;height:420px;border-radius:22px;overflow:hidden;border:3px solid var(--line);background:#2e2620}.room-back{position:absolute;left:27%;right:27%;top:0;height:58%}.room-back:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 -22px 30px -18px #00000040,inset 16px 0 22px -18px #0000002e,inset -16px 0 22px -18px #0000002e}.room-side{position:absolute;top:0;width:27.5%;height:100%;filter:brightness(.76)}.room-side.left{left:0;clip-path:polygon(0 0,100% 0,100% 58%,0 76%)}.room-side.right{right:0;clip-path:polygon(0 0,100% 0,100% 76%,0 58%)}.room-side:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent 60%)}.room-side.right:after{background:linear-gradient(-90deg,rgba(0,0,0,.12),transparent 60%)}.room-floor-under{position:absolute;left:0;right:0;bottom:0;height:42%;filter:brightness(.6)}.room-floor3d{position:absolute;left:0;right:0;bottom:0;height:42%;clip-path:polygon(27% 0,73% 0,100% 43%,100% 100%,0 100%,0 43%)}.room-floor3d:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 42%)}.room-baseboard{position:absolute;left:27%;right:27%;top:58%;height:5px;background:#00000038;border-radius:2px}.room-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 60px #00000038;border-radius:20px}.room-window{position:absolute;top:10%;left:30%;font-size:3.3rem;filter:drop-shadow(0 5px 7px rgba(0,0,0,.25))}.room-deco{position:absolute;top:12%;right:30%;font-size:2.9rem;filter:drop-shadow(0 5px 7px rgba(0,0,0,.25))}.room-poster{position:absolute;top:14%;left:5%;font-size:3rem;transform:perspective(500px) rotateY(42deg);filter:brightness(.88) drop-shadow(0 5px 7px rgba(0,0,0,.3))}.room-door{position:absolute;right:4%;bottom:30%;font-size:4.4rem;transform:perspective(500px) rotateY(-42deg);filter:brightness(.9) drop-shadow(0 6px 8px rgba(0,0,0,.3))}.room-rug{position:absolute;left:50%;bottom:7%;width:48%;height:14%;transform:translate(-50%);border-radius:50%;opacity:.92;box-shadow:0 4px 10px #0000001f}.room-furniture{position:absolute;bottom:15%;right:15%;font-size:3.8rem;filter:drop-shadow(0 5px 7px rgba(0,0,0,.25))}.obj-shadow{position:absolute;left:50%;bottom:-8px;width:80%;height:12px;transform:translate(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.28),transparent 70%);border-radius:50%;pointer-events:none}.char-shadow{position:absolute;left:50%;bottom:2px;width:68%;height:20px;transform:translate(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.3),transparent 70%);border-radius:50%}.room-light{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;z-index:1}.light-cord{width:3px;height:34px;background:#6b5a45}.light-emoji{font-size:2.2rem;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}.light-glow{position:absolute;top:40px;width:190px;height:190px;background:radial-gradient(circle,rgba(255,236,170,.4),transparent 65%);border-radius:50%;pointer-events:none;animation:sparkle 3.4s ease-in-out infinite}.room-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.fxp{position:absolute;font-size:.95rem;opacity:.9}.fx-fireflies .fxp{animation:fx-float 3.4s ease-in-out infinite;filter:drop-shadow(0 0 6px #ffe98a)}.fx-snow .fxp{animation:fx-fall 4.6s linear infinite}.fx-hearts .fxp{animation:fx-rise 3.8s ease-in infinite}.fxp0{left:12%;top:30%;animation-delay:0s!important}.fxp1{left:28%;top:55%;animation-delay:.7s!important}.fxp2{left:45%;top:22%;animation-delay:1.3s!important}.fxp3{left:62%;top:48%;animation-delay:.4s!important}.fxp4{left:78%;top:30%;animation-delay:1.8s!important}.fxp5{left:88%;top:60%;animation-delay:1s!important}.fxp6{left:35%;top:70%;animation-delay:2.2s!important}@keyframes fx-float{0%,to{transform:translate(0);opacity:.35}50%{transform:translate(12px,-16px);opacity:1}}@keyframes fx-fall{0%{transform:translateY(-15%);opacity:0}15%{opacity:.95}to{transform:translateY(320px);opacity:.2}}@keyframes fx-rise{0%{transform:translateY(0) scale(.7);opacity:0}25%{opacity:1}to{transform:translateY(-180px) scale(1.15);opacity:0}}.room-char{position:absolute;left:50%;bottom:4%;transform:translate(-50%);background:none;border:none;cursor:pointer;z-index:2}.room-toys{position:absolute;bottom:6%;left:5%;display:flex;gap:10px;z-index:2}.room-toy{font-size:2.3rem;background:none;border:none;cursor:pointer;filter:drop-shadow(0 3px 5px rgba(0,0,0,.2));transition:transform .15s ease}.room-toy:active{transform:scale(1.2)}.room-toy.playing{animation:bounce .3s ease 3}.room-line{position:absolute;top:8%;left:50%;transform:translate(-50%);background:#fff;border:2.5px solid var(--primary);border-radius:16px;padding:8px 16px;font-size:.98rem;z-index:3;white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis;animation:pop-scale .3s ease}.pet-hint{position:absolute;bottom:2%;right:4%;font-size:.8rem;color:#fff;background:#00000059;border-radius:999px;padding:3px 10px;z-index:3}.sky-night .room-scene,.room-scene{background-size:cover}.gauge-row{display:flex;gap:16px;width:100%;max-width:640px;flex-wrap:wrap}.gauge{flex:1;min-width:220px}.gauge-label{font-size:.95rem}.heart-fill{background:linear-gradient(90deg,#ffb3c8,#f06292)!important}.float-xp.heart{color:#e0559a}.minigame{align-items:center;justify-content:center;gap:18px}.game-emoji{font-size:4rem;animation:bounce .8s ease infinite}.game-top{display:flex;gap:12px;align-self:stretch;justify-content:center}.compare-row{display:flex;align-items:center;gap:16px;flex:1;width:100%;max-width:760px}.compare-row.shake{animation:shake-x .18s ease}@keyframes shake-x{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.compare-card{font-family:inherit;flex:1;min-height:42vh;font-size:clamp(2rem,7vw,4rem);letter-spacing:3px;word-break:break-all;background:#fff;border:4px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .1s ease,border-color .1s ease;padding:12px}.compare-card:active{transform:scale(.96)}.compare-card.win{border-color:var(--good);background:#f0fbf4}.compare-vs{font-size:1.4rem;color:var(--sub)}.boss-target{font-size:clamp(2rem,6vw,3.2rem);background:#fff;border:3px solid var(--accent);border-radius:20px;padding:10px 34px;box-shadow:var(--shadow-soft)}.balloon-field{position:relative;flex:1;width:100%;max-width:860px;min-height:46vh;overflow:hidden}.balloon{font-family:inherit;position:absolute;bottom:-18%;width:clamp(72px,13vw,108px);height:clamp(88px,16vw,130px);border-radius:50% 50% 48% 52%/58% 58% 42% 42%;border:none;color:#fff;font-size:clamp(1.3rem,3.6vw,2rem);text-shadow:0 1px 3px rgba(0,0,0,.35);box-shadow:inset -8px -10px #00000014;cursor:pointer;animation:balloon-rise 7s linear infinite}.balloon:after{content:"";position:absolute;bottom:-14px;left:50%;width:2px;height:14px;background:#b9a}@keyframes balloon-rise{0%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-38vh) rotate(3deg)}to{transform:translateY(-76vh) rotate(-3deg)}}.balloon:active{transform:scale(1.2)!important;opacity:.4}@media(orientation:portrait){.play-main{grid-template-columns:1fr;grid-template-rows:auto minmax(240px,34vh)}.play-mascot{display:none}.mascot-card{flex-direction:column;text-align:center}.mascot-card .mascot-info{text-align:center}.evolution-track{flex-wrap:wrap}.evo-step{min-width:30%}.evo-step:not(:last-child):after{display:none}}@media(max-width:560px){.pad-boxes{gap:8px}.btn.big{font-size:1.12rem;padding:13px 20px}.pad-actions .primary{min-width:140px}}.play-main.hangul{grid-template-columns:1fr}.play-center{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0;width:min(860px,100%);margin:0 auto;flex:1}.hangul-prompt{font-family:Jua,sans-serif;font-size:clamp(1.3rem,3vw,1.9rem);color:var(--ink);line-height:1.45}.hangul-visual{font-size:clamp(3rem,8vw,5rem);line-height:1.2}.hangul-big{font-family:Jua,sans-serif;font-size:clamp(2.6rem,7vw,4.4rem);letter-spacing:4px;color:var(--primary-dark);text-shadow:0 3px 0 rgba(140,105,55,.1)}.hangul-big.sentence{font-size:clamp(1.5rem,3.6vw,2.3rem);letter-spacing:1px;line-height:1.6;white-space:pre-line}.listen-big{display:inline-flex;align-items:center;gap:10px;font-family:Jua,sans-serif;font-size:clamp(1.3rem,3vw,1.8rem);padding:10px 26px;border-radius:999px;border:3px solid var(--primary);background:linear-gradient(180deg,#fff,#f2edff);color:var(--primary-dark);cursor:pointer;box-shadow:0 4px #7c6cff59;transition:transform .12s ease}.listen-big:active{transform:translateY(3px);box-shadow:none}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(620px,100%)}.choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));width:min(420px,100%)}.choice-tile{font-family:Jua,sans-serif;font-size:clamp(1.7rem,4.4vw,2.6rem);padding:clamp(12px,2vw,22px) 8px;border-radius:22px;border:3px solid #e8ddc8;background:linear-gradient(180deg,#fff,#fff6e4);color:var(--ink);cursor:pointer;box-shadow:0 5px #e3d5ba;transition:transform .12s ease,box-shadow .12s ease,opacity .2s ease;word-break:keep-all;line-height:1.3}.choice-tile:hover{transform:translateY(-2px)}.choice-tile:active{transform:translateY(3px);box-shadow:0 1px #e3d5ba}.choice-tile.dim{opacity:.28;pointer-events:none;filter:grayscale(.7)}.choice-grid.long .choice-tile{font-size:clamp(1.15rem,2.6vw,1.7rem)}.build-slots{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.build-slot{min-width:clamp(56px,9vw,84px);height:clamp(56px,9vw,84px);border-radius:18px;border:3px dashed #d8c9a8;background:#fffdf4;display:inline-flex;align-items:center;justify-content:center;font-family:Jua,sans-serif;font-size:clamp(1.8rem,4.6vw,2.8rem);color:var(--primary-dark);padding:0 10px}.build-slot.wide{min-width:clamp(90px,16vw,150px);font-size:clamp(1.3rem,3vw,1.9rem)}.build-slot.filled{border-style:solid;border-color:var(--primary);background:#f2edff;animation:pop-scale .25s ease}.tile-bank{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;width:100%}.word-tile{font-family:Jua,sans-serif;font-size:clamp(1.8rem,4.6vw,2.8rem);min-width:clamp(64px,10vw,92px);padding:clamp(10px,1.6vw,18px) 16px;border-radius:20px;border:3px solid #cfe4ff;background:linear-gradient(180deg,#fff,#eaf4ff);color:#23508e;cursor:pointer;box-shadow:0 5px #bcd7f5;transition:transform .12s ease,opacity .2s ease}.word-tile:active{transform:translateY(3px);box-shadow:0 1px #bcd7f5}.word-tile.used{opacity:.2;pointer-events:none;transform:scale(.9)}.word-tile.wide{font-size:clamp(1.25rem,3vw,1.9rem)}.ink-area{display:flex;justify-content:center;width:100%}.trace-wrap{position:relative;width:min(300px,62vw);aspect-ratio:1;background:linear-gradient(180deg,#fffdf6,#fff8e9);border-radius:24px}.trace-ghost{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:Jua,sans-serif;font-size:min(216px,44.6vw);color:#3a2d1e;opacity:.13;pointer-events:none;-webkit-user-select:none;user-select:none}.trace-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;border:3px dashed #dcc9a0;border-radius:24px;touch-action:none;cursor:crosshair}@media(max-width:760px){.choice-grid{width:100%}.trace-wrap{width:min(260px,70vw)}}.quick-target{font-size:clamp(3.2rem,9vw,5rem);line-height:1.1}.boss-target{display:inline-flex;align-items:center;gap:12px}.boss-target-sub{font-size:clamp(1rem,2.4vw,1.3rem);color:var(--sub);font-family:Jua,sans-serif}.balloon{font-size:clamp(1rem,2.6vw,1.4rem);word-break:keep-all;line-height:1.15;padding:0 6px}.app>.tutorial-overlay{position:fixed;z-index:100}.play-main.hangul .problem-card{flex:0 1 auto;min-height:min(330px,48dvh)}.trace-wrap{flex:0 0 auto;width:min(300px,62vw,42dvh);height:min(300px,62vw,42dvh);min-width:180px;min-height:180px;aspect-ratio:auto}.trace-ghost{font-size:min(216px,44.6vw,30dvh)}.ink-area{flex:0 0 auto}.prompt-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.choice-cell{position:relative;display:flex}.choice-cell .choice-tile{flex:1;width:100%}.choice-cell.dim{opacity:.28;pointer-events:none;filter:grayscale(.7)}.choice-speak{position:absolute;top:6px;right:6px;width:40px;height:40px;border-radius:50%;border:2px solid var(--primary);background:#fff;color:var(--primary-dark);font-size:1.1rem;line-height:1;cursor:pointer;box-shadow:0 2px #7c6cff4d}.choice-speak:active{transform:translateY(2px);box-shadow:none}.hear-all{align-self:center}.course-count{font-size:.8rem;opacity:.75;margin-left:4px}.course-strip{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:720px}.course-chip{font-family:Jua,sans-serif;font-size:1.3rem;width:46px;height:46px;border-radius:14px;border:2px solid #e8ddc8;background:#fff;color:var(--ink);cursor:pointer}.course-chip.done{background:#e9f8ef;border-color:var(--good);color:var(--good)}.course-chip.now{border-color:var(--accent);border-width:3px;transform:scale(1.08)}.write-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}.write-title{font-family:Jua,sans-serif;font-size:clamp(1.3rem,3vw,1.8rem)}.write-title b{font-size:1.5em;color:var(--primary-dark)}.write-done{display:flex;flex-direction:column;align-items:center;gap:16px}.write-done-char{font-family:Jua,sans-serif;font-size:clamp(5rem,18vw,8rem);color:var(--good);line-height:1;animation:pop-scale .4s ease}.write-done-line{font-size:1.2rem}.write-word-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 34px;border-radius:22px;border:3px solid #ffd9a8;background:linear-gradient(180deg,#fff,#fff6e4);cursor:pointer}.write-word-emoji{font-size:clamp(2.6rem,8vw,4rem)}.write-word-text{font-family:Jua,sans-serif;font-size:clamp(1.6rem,4vw,2.2rem);color:var(--ink)}.write-word-say{font-size:.85rem;color:var(--sub)}
