:root{--font: "Noto Sans KR", -apple-system, BlinkMacSystemFont, sans-serif;--sky: #4FC3F7;--sun: #FFD54F;--grass: #66BB6A;--rose: #FF6B9D;--violet: #9C6ADE;--orange: #FF8A65;--mint: #4DB6AC;--bg: #FFF9F0;--card-bg: #fff;--text: #333;--text-muted: #888;--card-r: 28px;--shadow: 0 0px 8px rgba(0,0,0,.12);--shadow-lg: 0 16px 48px rgba(0,0,0,.18);--header-bg: rgba(255,255,255,.7);--scrollbar-thumb: #ddd}@media(prefers-color-scheme:dark){:root{--bg: #1a1b1e;--card-bg: #25262a;--text: #e4e4e7;--text-muted: #a1a1aa;--shadow: 0 8px 32px rgba(0,0,0,.4);--shadow-lg: 0 16px 48px rgba(0,0,0,.5);--header-bg: rgba(37,38,42,.85);--scrollbar-thumb: #3f3f46}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:focus{outline:none}:focus-visible{outline:3px solid var(--violet);outline-offset:2px}button:focus-visible,.tab:focus-visible,.ctrl-btn:focus-visible,.num-btn:focus-visible,.quiz-opt:focus-visible,.reward-btn:focus-visible,.quiz-modal-skip:focus-visible,.alpha-card:focus-visible,.ep-card:focus-visible,.video-placeholder:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.skip-link{position:absolute;top:-100px;left:16px;z-index:300;padding:12px 20px;background:var(--violet);color:#fff;font-family:var(--font);font-weight:700;border-radius:12px;text-decoration:none;transition:top .2s}.skip-link:focus{top:16px;outline:3px solid var(--sun);outline-offset:2px}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;overflow:hidden;position:relative;-webkit-font-smoothing:antialiased}.bg-scene{position:fixed;inset:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,#b3e5fc,#e1f5fe 40%,#fff9f0)}.cloud{position:absolute;background:#fff;border-radius:50px;opacity:.85;animation:drift linear infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.c1{width:120px;height:44px;top:8%;left:-140px;animation-duration:28s;animation-delay:0s}.c1:before{width:70px;height:70px;top:-36px;left:18px}.c1:after{width:50px;height:50px;top:-22px;left:56px}.c2{width:90px;height:32px;top:18%;left:-110px;animation-duration:36s;animation-delay:-10s}.c2:before{width:54px;height:54px;top:-28px;left:14px}.c2:after{width:38px;height:38px;top:-16px;left:42px}.c3{width:160px;height:54px;top:5%;left:-180px;animation-duration:44s;animation-delay:-22s}.c3:before{width:88px;height:88px;top:-44px;left:22px}.c3:after{width:64px;height:64px;top:-28px;left:76px}@keyframes drift{0%{transform:translate(0)}to{transform:translate(calc(100vw + 200px))}}#root{display:contents}#app{position:relative;z-index:1;width:100%;height:100vh;display:flex;flex-direction:column;max-width:1024px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px 16px;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:3px solid var(--card-bg)}.logo{display:flex;align-items:center;gap:10px}.logo-icon{width:56px;height:56px;background:linear-gradient(135deg,var(--violet),var(--rose));border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 4px 16px #9c6ade66;animation:logoWiggle 3s ease-in-out infinite}@keyframes logoWiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.logo-text{font-family:var(--font);font-weight:800;font-size:28px;color:var(--violet);letter-spacing:-.02em}.logo-sub{font-size:13px;color:#9c6ade88;font-weight:600}.header-stars{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ffe082,#ffd54f);border-radius:100px;padding:10px 20px;box-shadow:0 4px 16px #ffd54f80}.star-count{font-family:var(--font);font-weight:800;font-size:26px;color:#e65100}.star-icon{font-size:28px;animation:starSpin 4s linear infinite}@keyframes starSpin{0%,to{transform:scale(1)}50%{transform:scale(1.3) rotate(20deg)}}.tab-bar{display:flex;gap:12px;padding:16px 32px 12px}.tab{flex:1;padding:14px 8px;min-height:48px;border:none;border-radius:20px;font-family:var(--font);font-size:15px;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:color-mix(in srgb,var(--card-bg) 60%,transparent);color:var(--text-muted);border:3px solid transparent}.tab .tab-emoji{font-size:28px}.tab.active{transform:translateY(-4px) scale(1.05);border-color:currentColor;box-shadow:var(--shadow)}.tab.t-alpha.active{background:linear-gradient(135deg,#f3e5f5,#ede7f6);color:var(--violet)}.tab.t-color.active{background:linear-gradient(135deg,#fff3e0,#fff8e1);color:var(--orange)}.tab.t-number.active{background:linear-gradient(135deg,#e0f7fa,#e8f5e9);color:var(--mint)}.tab.t-quiz.active{background:linear-gradient(135deg,#fce4ec,#fff0f0);color:var(--rose)}.content{flex:1;overflow:hidden;padding:0 32px 24px;display:flex;flex-direction:column;gap:20px}.section-title{font-family:var(--font);font-weight:800;font-size:22px;color:var(--text);display:flex;align-items:center;gap:8px}.video-layout{display:grid;grid-template-columns:1fr 320px;gap:20px;flex:1;min-height:0}.video-wrapper{background:#000;border-radius:var(--card-r);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;display:flex;flex-direction:column}.video-frame{position:relative;padding-bottom:56.25%;background:#1a1a2e;flex:1;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);cursor:pointer}.play-btn-big{width:100px;height:100px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:42px;border:4px solid rgba(255,255,255,.3);transition:all .2s;animation:pulsePlay 2s ease-in-out infinite}@keyframes pulsePlay{0%,to{transform:scale(1);box-shadow:0 0 #ffffff4d}50%{transform:scale(1.08);box-shadow:0 0 0 20px #fff0}}.video-title-overlay{position:absolute;bottom:0;left:0;right:0;padding:32px 20px 20px;background:linear-gradient(transparent,#000c);color:#fff;font-family:var(--font);font-size:18px;font-weight:700}.video-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#111}.ctrl-btn{width:52px;height:52px;min-width:44px;min-height:44px;border:none;border-radius:14px;background:#ffffff1a;color:#fff;font-size:22px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.ctrl-btn:hover{background:#fff3;transform:scale(1.1)}.ctrl-btn.play-pause{width:64px;height:64px;background:linear-gradient(135deg,var(--violet),var(--rose));border-radius:18px;box-shadow:0 4px 16px #9c6ade80}.now-playing{flex:1;text-align:center;color:#ffffffb3;font-family:var(--font);font-size:14px;font-weight:600}.episode-panel{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;padding-right:12px;padding-left:12px;scrollbar-gutter:stable}.episode-panel::-webkit-scrollbar{width:8px}.episode-panel::-webkit-scrollbar-track{background:transparent}.episode-panel::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.ep-card{display:flex;align-items:center;gap:14px;padding:14px;min-height:44px;background:var(--card-bg);border-radius:20px;cursor:pointer;transition:all .22s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow);border:3px solid transparent;flex-shrink:0;min-width:0}.ep-card:hover{transform:translate(4px) scale(1.02)}.ep-card.active{border-color:var(--violet);background:color-mix(in srgb,var(--violet) 15%,var(--card-bg))}.ep-thumb{width:70px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;flex-shrink:0;position:relative;overflow:hidden}.ep-info{flex:1;min-width:0}.ep-title{font-family:var(--font);font-size:15px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ep-sub{font-family:var(--font);font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}.ep-badge{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.ep-badge.done{background:#e8f5e9}.ep-badge.locked{background:#f5f5f5}.ep-badge.new{background:linear-gradient(135deg,#ffd54f,#ff8a65)}.quiz-section{flex:1;display:flex;flex-direction:column;gap:20px}.quiz-card{background:var(--card-bg);border-radius:28px;padding:32px;box-shadow:var(--shadow);text-align:center}.quiz-question{font-family:var(--font);font-weight:800;font-size:26px;color:var(--text);margin-bottom:8px;line-height:1.4}.quiz-hint{font-size:15px;color:var(--text-muted);font-weight:500;margin-bottom:28px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quiz-opt{padding:20px 16px;min-height:48px;border:4px solid var(--scrollbar-thumb);border-radius:20px;font-family:var(--font);font-weight:700;font-size:18px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);background:var(--card-bg);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.quiz-opt:hover{transform:scale(1.06);border-color:var(--violet)}.quiz-opt.correct{background:#e8f5e9;border-color:var(--grass);color:#2e7d32;animation:correctPop .4s}.quiz-opt.wrong{background:#ffebee;border-color:#ef5350;color:#c62828;animation:wrongShake .4s}@keyframes correctPop{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes wrongShake{0%,to{transform:translate(0)}25%,75%{transform:translate(-8px)}50%{transform:translate(8px)}}.quiz-opt .opt-emoji{font-size:40px}.alpha-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;flex:1;align-content:start}.alpha-card{aspect-ratio:1;min-width:40px;min-height:40px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font);font-weight:800;transition:all .22s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #00000014;position:relative;overflow:hidden}.alpha-card:hover{transform:translateY(-6px) scale(1.08);box-shadow:var(--shadow)}.alpha-card:active{transform:scale(.95)}.alpha-letter{font-size:36px;line-height:1}.alpha-word{font-size:10px;font-weight:700;opacity:.7}.alpha-card.learned:after{content:"⭐";position:absolute;top:3px;right:3px;font-size:12px}.reward-overlay{position:fixed;inset:0;z-index:100;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.reward-overlay.show{opacity:1;pointer-events:all}.reward-card{background:var(--card-bg);color:var(--text);border-radius:40px;padding:48px 56px;text-align:center;box-shadow:var(--shadow-lg);transform:scale(.7);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.reward-overlay.show .reward-card{transform:scale(1)}.reward-emoji{font-size:96px;animation:rewardBounce .6s ease-out;display:block}@keyframes rewardBounce{0%{transform:scale(0) rotate(-30deg)}70%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.reward-title{font-family:var(--font);font-weight:800;font-size:38px;color:var(--violet);margin:12px 0 8px}.reward-sub{font-size:17px;color:var(--text-muted);font-weight:500}.reward-btn{margin-top:28px;padding:18px 48px;background:linear-gradient(135deg,var(--violet),var(--rose));border:none;border-radius:100px;color:#fff;font-family:var(--font);font-weight:700;font-size:20px;cursor:pointer;box-shadow:0 8px 24px #9c6ade66;transition:transform .2s}.reward-btn:hover{transform:scale(1.06)}.quiz-modal-overlay{position:fixed;inset:0;z-index:101;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}.quiz-modal-overlay.show{opacity:1;pointer-events:all}.quiz-modal-card{background:var(--card-bg);color:var(--text);border-radius:32px;padding:32px 40px;max-width:420px;width:100%;box-shadow:var(--shadow-lg);transform:scale(.9);transition:transform .35s cubic-bezier(.34,1.56,.64,1);text-align:center}.quiz-modal-overlay.show .quiz-modal-card{transform:scale(1)}.quiz-modal-question{font-family:var(--font);font-weight:800;font-size:22px;color:var(--text);margin-bottom:8px;line-height:1.4}.quiz-modal-hint{font-size:14px;color:var(--text-muted);font-weight:500;margin-bottom:24px}.quiz-modal-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.quiz-modal-options .quiz-opt{padding:16px 12px;font-size:16px}.quiz-modal-options .quiz-opt .opt-emoji{font-size:36px}.quiz-modal-skip{display:block;width:100%;padding:12px 20px;background:transparent;border:2px solid var(--scrollbar-thumb);border-radius:100px;color:var(--text-muted);font-family:var(--font);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s}.quiz-modal-skip:hover{border-color:var(--violet);color:var(--violet)}.particle{position:fixed;pointer-events:none;z-index:99;font-size:32px;animation:particleFly 1.2s ease-out forwards}@keyframes particleFly{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(.3);opacity:0}}.lock-overlay{position:fixed;inset:0;z-index:200;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;opacity:0;pointer-events:none;transition:opacity .3s}.lock-overlay.show{opacity:1;pointer-events:all}.lock-logo{font-size:80px}.lock-title{font-family:var(--font);font-weight:800;font-size:40px;color:#fff}.lock-pins{display:flex;gap:16px;margin:8px 0}.lock-pin{width:24px;height:24px;border-radius:50%;background:#fff3;border:3px solid rgba(255,255,255,.4);transition:all .2s}.lock-pin.filled{background:var(--sun);border-color:var(--sun)}.lock-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.num-btn{width:88px;height:88px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;font-family:var(--font);font-weight:700;font-size:26px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.num-btn:hover{background:#fff3;transform:scale(1.08)}.num-btn:active{transform:scale(.93)}.lock-hint{font-family:var(--font);font-size:15px;color:#fff6;font-weight:600}.screen{display:none}.screen.active{display:contents}@media(orientation:portrait){.video-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px}.video-wrapper{min-height:0;max-height:45vh}.video-frame{padding-bottom:56.25%}.episode-panel{min-height:180px;max-height:40vh}.content{padding:0 20px 20px}.tab-bar{flex-wrap:wrap;gap:8px}.tab{min-width:calc(50% - 6px);min-height:44px}.header{padding:14px 20px 12px}.alpha-grid{grid-template-columns:repeat(5,1fr);gap:8px}}@media(min-width:1024px)and (orientation:landscape){:root{--card-r: 24px;--header-h: 64px;--tab-bar-h: 56px}body{min-height:100vh;min-height:100dvh}#app{max-width:none;width:100%;height:100vh;height:100dvh;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.header{padding:12px 28px 10px;min-height:var(--header-h);flex-shrink:0}.logo-icon{width:48px;height:48px;font-size:24px}.logo-text{font-size:24px}.logo-sub{font-size:12px}.header-stars{padding:8px 16px}.star-count{font-size:22px}.star-icon{font-size:24px}.tab-bar{padding:10px 24px 8px;gap:10px;min-height:var(--tab-bar-h);flex-shrink:0}.tab{padding:10px 6px;font-size:14px}.tab .tab-emoji{font-size:24px}.content{flex:1;min-height:0;padding:12px 24px 16px;gap:14px}.video-layout{grid-template-columns:1fr 280px;gap:16px;min-height:0}.video-frame{min-height:200px}.video-controls{padding:10px 16px}.ctrl-btn{width:46px;height:46px;font-size:18px}.ctrl-btn.play-pause{width:54px;height:54px}.now-playing{font-size:13px}.video-title-overlay{font-size:16px;padding:20px 16px 14px}.ep-card{padding:12px}.ep-thumb{width:60px;height:44px;font-size:24px}.ep-title{font-size:14px}.ep-sub{font-size:11px}.quiz-card{padding:24px;border-radius:24px}.quiz-question{font-size:24px}.quiz-hint{font-size:14px;margin-bottom:20px}.quiz-opt{padding:16px 12px;font-size:16px}.quiz-opt .opt-emoji{font-size:36px}.alpha-grid{grid-template-columns:repeat(8,1fr);gap:8px}.alpha-letter{font-size:32px}.alpha-word{font-size:11px}.reward-card{padding:40px 48px;border-radius:32px}.reward-title{font-size:34px}.reward-sub{font-size:16px}.reward-btn{padding:14px 40px;font-size:18px}.lock-title{font-size:36px}.num-btn{width:76px;height:76px;font-size:24px}}@media(min-width:1280px)and (orientation:landscape){.video-layout{grid-template-columns:1fr 320px}}
