.appHeader{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08070cb3;border-bottom:1px solid #ffffff12;height:56px;position:fixed;top:0;left:0;right:0}.hdr-inner{align-items:center;gap:7px;width:100%;max-width:600px;height:100%;margin:0 auto;padding:0 14px;display:flex}.hdr-back{cursor:pointer;width:30px;height:30px;color:var(--muted);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.hdr-back svg{width:15px;height:15px}.hdr-back:hover{color:#ff8fbe;background:#ff8fbe14;border-color:#ff8fbe80}.hdr-word{font-family:var(--font-display), "Black Han Sans", sans-serif;cursor:pointer;letter-spacing:.01em;flex-shrink:0;font-size:16px;line-height:1}.hdr-word .wm-a{background:linear-gradient(#fff 6%,#e6ebff 42%,#b9c6ff 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.hdr-word .wm-b{background:linear-gradient(#ffe6f1 6%,#ff8fbe 46%,#b07bee 100%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.hdr-chip{color:#ffa7c9;white-space:nowrap;background:#ff8fbe24;border:1px solid #ff8fbe47;border-radius:100px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.hdr-chip:empty{display:none}.screen{z-index:4;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow-y:scroll}#scene{z-index:0;touch-action:none;cursor:grab;display:block;position:fixed;inset:0}#scene.dragging{cursor:grabbing}.vignette{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,#7b4dd01a,#0000 55%),radial-gradient(100% 80% at 50% 112%,#4145c91a,#0000 60%),radial-gradient(140% 120%,#0000 56%,#0009 100%);position:fixed;inset:0}.calm-backdrop{z-index:2;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(#06060a8c,#06060ad6);transition:opacity .6s;position:fixed;inset:0}.calm-backdrop.calm{opacity:1}.calm-backdrop.deep{opacity:1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(#06060acc,#06060af0)}.overlay{z-index:3;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:0 22px;transition:opacity .5s;display:flex;position:fixed;inset:0}.eyebrow{letter-spacing:.34em;color:var(--muted);text-indent:.34em;opacity:0;margin-bottom:clamp(14px,3vw,22px);font-size:clamp(11px,2.6vw,14px);font-weight:700;animation:.9s cubic-bezier(.2,.7,.2,1) .15s forwards rise}.spin-mark{pointer-events:none;filter:drop-shadow(0 0 8px #b07bee80);opacity:0;border:3.5px solid #ff8fbe;border-color:#ff8fbe #b07bee #ffffff1a #ffffff1a;border-radius:50%;width:clamp(26px,5.4vw,36px);height:clamp(26px,5.4vw,36px);margin-bottom:clamp(10px,2.4vw,16px);animation:.8s linear infinite spin,.8s 50ms forwards fadein}.title-wrap{perspective:900px;pointer-events:none}.title{font-family:var(--font-display), "Black Han Sans", sans-serif;letter-spacing:.01em;transform-style:preserve-3d;will-change:transform;opacity:0;font-size:clamp(58px,16.5vw,168px);font-weight:400;line-height:.96;transition:transform .12s ease-out;animation:1s .25s forwards fadein}.title .row{display:block}.face-a{background:linear-gradient(#fff 6%,#e6ebff 42%,#b9c6ff 100%);-webkit-text-fill-color:transparent;color:#0000;text-shadow:0 1px #6e73c8,0 2px #5b60bd,0 3px #4a4fb0,0 4px #3d42a3,0 5px #313695,0 6px 1px #0006,0 8px 24px #4145c966;-webkit-background-clip:text;background-clip:text}.face-b{background:linear-gradient(#ffe6f1 6%,#ff8fbe 46%,#b07bee 100%);-webkit-text-fill-color:transparent;color:#0000;text-shadow:0 1px #b23e78,0 2px #a3376e,0 3px #933064,0 4px #7e2e6e,0 5px #682c78,0 6px 1px #0006,0 8px 26px #b07bee6b;-webkit-background-clip:text;background-clip:text}.tagline{pointer-events:none;color:var(--muted);letter-spacing:.01em;opacity:0;margin-top:clamp(20px,4vw,30px);font-size:clamp(13px,3.3vw,17px);font-weight:500;animation:.9s cubic-bezier(.2,.7,.2,1) .4s forwards rise}.tagline b{color:#ffa7c9;font-weight:700}.start{pointer-events:auto;letter-spacing:.18em;text-indent:.18em;color:#fff;cursor:pointer;background:linear-gradient(180deg, #ff7fb0 0%, var(--rose) 40%, var(--violet) 100%);text-shadow:0 1px 1px #5a1e6e80;opacity:0;background-position:0 0;background-size:100% 200%;border:none;border-radius:100px;margin-top:clamp(30px,6vw,46px);padding:clamp(15px,3.4vw,19px) clamp(40px,9vw,62px);font-size:clamp(15px,3.6vw,18px);font-weight:900;transition:transform .14s cubic-bezier(.2,.7,.2,1),box-shadow .2s,background-position .5s;animation:.9s .55s forwards fadein;position:relative;overflow:hidden;box-shadow:inset 0 2px 1px #ffffff8c,inset 0 -4px 8px #4a185a73,0 7px #5b2f93,0 9px 6px #0000004d,0 18px 36px #7b4dd080}.start:hover{background-position:0 100%;transform:translateY(-2px)}.start:active{transform:translateY(5px)}.hint{left:50%;bottom:max(22px, env(safe-area-inset-bottom));z-index:3;pointer-events:none;color:var(--muted);letter-spacing:.04em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;opacity:0;background:#ffffff0a;border:1px solid #ffffff12;border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;transition:opacity .5s;animation:1s 1s forwards fadein;display:flex;position:fixed;transform:translate(-50%)}.hint svg{width:15px;height:15px;animation:2.2s ease-in-out infinite nudge}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes nudge{0%,to{transform:translate(-3px)}50%{transform:translate(3px)}}.screen-inner{width:100%;max-width:600px;padding:calc(56px + clamp(20px,4vw,30px)) 20px 80px}.subj-heading{margin-bottom:clamp(18px,4vw,26px)}.subj-h1{font-family:var(--font-display), "Black Han Sans", sans-serif;color:var(--text);letter-spacing:.01em;font-size:clamp(26px,7vw,38px);line-height:1.15}.subj-h1 em{background:linear-gradient(#ff8fbe,#b07bee);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.subj-h2{color:var(--muted);margin-top:7px;font-size:clamp(13px,3.3vw,15px);font-weight:500}.subj-list{flex-direction:column;gap:11px;display:flex}.subj-card{cursor:pointer;opacity:0;background:#ffffff0b;border:1px solid #ffffff17;border-radius:16px;align-items:center;gap:15px;padding:15px 17px;transition:transform .15s cubic-bezier(.2,.7,.2,1),border-color .15s,background .15s,box-shadow .25s;animation:.5s forwards cardrise;display:flex}.subj-card:hover{background:#ff8fbe12;border-color:#ff8fbe99;transform:translateY(-2px);box-shadow:0 10px 30px #b07bee38}.subj-card.locked{cursor:default}.subj-card.locked:hover{box-shadow:none;background:#ffffff0b;border-color:#ffffff17;transform:none}.subj-badge{width:42px;height:42px;font-family:var(--font-display), "Black Han Sans", sans-serif;color:#fff;letter-spacing:.02em;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex;box-shadow:inset 0 1px 1px #fff6,0 4px 12px #0000004d}.subj-badge.g1{background:linear-gradient(150deg,#ff6fa8,#d6457a)}.subj-badge.g2{background:linear-gradient(150deg,#9d7be8,#6d45c9)}.subj-badge.g3{background:linear-gradient(150deg,#4e8cf0,#2d6be0)}.subj-badge.gh{background:linear-gradient(150deg,#24c0a0,#10a876)}.subj-info{flex:1;min-width:0}.subj-name{color:var(--text);font-size:16px;font-weight:700}.subj-topics{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.subj-arrow{color:#bca9e6;filter:drop-shadow(0 0 6px #b07bee59);flex-shrink:0;font-size:23px;transition:color .15s,transform .15s}.subj-card:hover .subj-arrow{color:#ff8fbe;transform:translate(3px)}.subj-tag{color:var(--muted);background:#ffffff14;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700}.subj-tag.ready{color:#ffa7c9;background:#ff8fbe29}@keyframes cardrise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.unit-heading{margin-bottom:clamp(20px,5vw,28px)}.unit-h1{font-family:var(--font-display), "Black Han Sans", sans-serif;color:var(--text);letter-spacing:.01em;font-size:clamp(26px,7vw,38px)}.unit-h1 em{background:linear-gradient(#ff8fbe,#b07bee);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.unit-h2{color:var(--muted);margin-top:7px;font-size:clamp(13px,3.3vw,15px);font-weight:500}.big-ch{margin-bottom:30px}.big-ch-label{border-bottom:2px solid #ff8fbe73;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:11px;display:flex}.big-ch-num{width:28px;height:28px;font-family:var(--font-display), "Black Han Sans", sans-serif;color:#fff;background:linear-gradient(150deg,#ff6fa8,#9d4eff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex;box-shadow:inset 0 1px 1px #fff6,0 4px 12px #9d4eff59}.big-ch-name{font-family:var(--font-display), "Black Han Sans", sans-serif;color:var(--text);letter-spacing:.01em;font-size:19px}.mid-ch{margin-bottom:18px}.mid-ch-label{align-items:center;gap:9px;margin-bottom:10px;padding-left:2px;display:flex}.mid-ch-name{color:#ffa7c9;font-size:13.5px;font-weight:700}.mid-ch-count{color:var(--muted);background:#ffffff12;border-radius:100px;padding:2px 9px;font-size:11px;font-weight:700}.unit-list{flex-direction:column;gap:8px;display:flex}.unit-row{cursor:pointer;background:#ffffff0b;border:1px solid #ffffff17;border-radius:13px;align-items:center;gap:13px;padding:13px 15px;transition:transform .15s cubic-bezier(.2,.7,.2,1),border-color .15s,background .15s,box-shadow .25s;display:flex}.unit-row:hover{background:#ff8fbe12;border-color:#ff8fbe8c;transform:translateY(-2px);box-shadow:0 8px 24px #b07bee33}.unit-num{font-family:var(--font-display), "Black Han Sans", sans-serif;color:#ff8fbe;text-align:center;flex-shrink:0;min-width:24px;font-size:12px}.unit-name{min-width:0;color:var(--text);flex:1;font-size:14px;font-weight:600}.unit-arrow{color:#bca9e6;filter:drop-shadow(0 0 6px #b07bee59);flex-shrink:0;font-size:22px;transition:color .15s,transform .15s}.unit-row:hover .unit-arrow{color:#ff8fbe;transform:translate(3px)}.uprog{flex-shrink:0;align-items:center;gap:8px;display:flex}.uprog-pips{gap:3px;display:flex}.uprog-pip{background:#ffffff24;border-radius:50%;width:7px;height:7px;transition:background .2s}.uprog-pip.on{background:linear-gradient(150deg,#ff6fa8,#9d4eff)}.uprog-pip.master{background:linear-gradient(150deg,#ffe08a,#f0b028)}.uprog-label{color:#6f6a87;white-space:nowrap;font-size:11px}.uprog-label.on{color:#ffa7c9}.uprog-label.master{color:#f0c44a}.pass-top{align-items:center;gap:10px;margin-bottom:clamp(16px,4vw,24px);display:flex}.stepper{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;align-items:flex-start;margin-bottom:20px;padding:15px 8px 13px;display:flex}.step{flex-direction:column;flex:1;align-items:center;gap:7px;display:flex;position:relative}.step:before{content:"";z-index:0;background:#ffffff1f;width:100%;height:2px;position:absolute;top:15px;right:50%}.step:first-child:before{display:none}.step.line-done:before{background:linear-gradient(90deg,#10a876,#34d399)}.step-dot{z-index:1;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;transition:all .2s;display:flex;position:relative}.step-dot.locked{color:#6f6a87;background:#ffffff14}.step-dot.active{color:#fff;background:linear-gradient(150deg,#ff6fa8,#9d4eff);box-shadow:0 0 0 5px #9d4eff2e}.step-dot.done{color:#fff;background:linear-gradient(150deg,#34d399,#10a876)}.step-label{color:var(--muted);text-align:center;font-size:11px;line-height:1.2}.step-label.active{color:var(--text);font-weight:700}.pass-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;margin-bottom:16px;overflow:visible}.pass-card-head{border-bottom:1px solid #ffffff12;padding:16px 18px 14px}.pch-tag{color:#ffa7c9;background:#ff8fbe29;border-radius:6px;margin-bottom:8px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.pch-title{color:var(--text);font-size:17px;font-weight:700}.pch-sub{color:var(--muted);margin-top:3px;font-size:12.5px}.pass-card-body{padding:18px}.ver-toggle{gap:9px;margin-bottom:14px;display:flex}.ver-btn{color:var(--muted);cursor:pointer;background:#ffffff08;border:1.5px solid #ffffff1f;border-radius:10px;flex:1;padding:11px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.ver-btn.active{color:#fff;background:#ff8fbe1a;border-color:#ff8fbe}.video-wrap{aspect-ratio:16/9;background:radial-gradient(120% 120% at 50% 40%,#15131f,#000);border:1px solid #ffffff14;border-radius:13px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.video-wrap:before{content:"";opacity:.5;background-image:linear-gradient(#7b4dd01f 1px,#0000 1px),linear-gradient(90deg,#7b4dd01f 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask:radial-gradient(120% 120% at 50% 40%,#000,#0000 75%);mask:radial-gradient(120% 120% at 50% 40%,#000,#0000 75%)}.video-ph{cursor:pointer;z-index:1;flex-direction:column;align-items:center;gap:12px;display:flex}.video-play{background:linear-gradient(150deg,#ff6fa8,#9d4eff);border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;transition:transform .15s;display:flex;box-shadow:0 8px 30px #9d4eff66}.video-ph:hover .video-play{transform:scale(1.06)}.video-play svg{color:#fff;width:24px;height:24px;margin-left:3px}.video-ph-label{color:#b6aed0;font-size:13px;font-weight:600}.video-progress{align-items:center;gap:11px;margin:15px 0 4px;display:flex}.vp-bar{background:#ffffff1a;border-radius:4px;flex:1;height:6px;overflow:hidden}.vp-fill{background:linear-gradient(90deg,#ff6fa8,#9d4eff);border-radius:4px;width:0%;height:100%;transition:width .25s}.vp-label{color:var(--muted);text-align:right;min-width:42px;font-size:12px}.pass-cta{letter-spacing:.04em;color:#fff;cursor:pointer;text-shadow:0 1px 1px #5a1e6e80;background:linear-gradient(#ff7fb0,#d6457a 42%,#7b4dd0);border:none;border-radius:14px;width:100%;margin-top:8px;padding:16px;font-size:15px;font-weight:900;transition:transform .14s cubic-bezier(.2,.7,.2,1),box-shadow .2s,filter .2s;position:relative;box-shadow:inset 0 2px 1px #ffffff80,inset 0 -4px 8px #4a185a6b,0 6px #5b2f93,0 9px 6px #0000004d,0 15px 28px #7b4dd06b}.pass-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:inset 0 2px 1px #ffffff8c,inset 0 -4px 8px #4a185a6b,0 8px #5b2f93,0 12px 8px #00000052,0 20px 40px #b07bee80}.pass-cta:active:not(:disabled){transform:translateY(5px);box-shadow:inset 0 2px 1px #ffffff80,inset 0 -3px 7px #4a185a80,0 2px #5b2f93,0 4px 4px #0000004d,0 8px 18px #7b4dd066}.pass-cta:disabled{cursor:not-allowed;filter:grayscale(.55)brightness(.62);box-shadow:0 4px #3a2a55,0 8px 12px #00000040}.pass-cta.danger{background:linear-gradient(#ff6f86,#e03a5a 45%,#9e2440);box-shadow:inset 0 2px 1px #ffffff73,inset 0 -4px 8px #460c1c73,0 6px #7c1f33,0 9px 6px #0000004d,0 15px 28px #e03a5a66}.blank-sentence{color:var(--text);margin-bottom:10px;font-size:15px;line-height:2}.blank-sentence:last-child{margin-bottom:0}.blank-input{vertical-align:bottom;margin:0 3px;display:inline-block}.blank-input input{color:var(--text);text-align:center;background:0 0;border:none;border-bottom:2.5px solid #9d4eff;outline:none;min-width:60px;padding:0 5px 2px;font-family:inherit;font-size:15px;font-weight:700;transition:all .2s}.blank-input input::placeholder{color:#5b5775;font-weight:500}.blank-input input:focus{border-bottom-color:#ff8fbe}.blank-input.correct input{color:#5fe0a8;border-bottom-color:#34d399}.blank-input.wrong input{color:#ff8fa0;background:#e03a5a1f;border-bottom-color:#e03a5a;border-radius:5px 5px 0 0}.bs{vertical-align:bottom;margin:0 2px;display:inline-block;position:relative}.bs-pill{color:#9fd0ff;cursor:pointer;white-space:nowrap;background:#5fa8ef21;border:none;border-bottom:2.5px dashed #5fa8ef;border-radius:7px 7px 0 0;padding:2px 11px 4px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.bs-pill:hover{background:#5fa8ef38}.bs-pill .car{opacity:.85;margin-left:5px;font-size:9px;transition:transform .15s;display:inline-block}.bs.open .bs-pill .car{transform:rotate(180deg)}.bs-chips{z-index:40;background:#15131f;border:1px solid #ffffff21;border-radius:13px;flex-direction:column;gap:4px;min-width:130px;padding:7px;display:none;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 16px 38px #0000008c}.bs.open .bs-chips{display:flex}.bs-chip{text-align:left;width:100%;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:9px 13px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s;display:block}.bs-chip:hover{color:#ff9ec8;background:#ff8fbe24}.bs.correct .bs-pill{color:#7ef0bf;background:#34d39926;border-bottom-color:#34d399}.bs.wrong .bs-pill{color:#ff8fa0;background:#e03a5a26;border-bottom-color:#e03a5a}.blank-note{color:#ff8fa0;background:#e03a5a1a;border:1px solid #e03a5a4d;border-radius:10px;margin-top:14px;padding:10px 13px;font-size:13px}.toast{z-index:60;color:var(--text);opacity:0;pointer-events:none;white-space:nowrap;background:#16131f;border:1px solid #ffffff21;border-radius:100px;padding:11px 20px;font-size:13px;font-weight:600;transition:transform .3s,opacity .3s;position:fixed;bottom:34px;left:50%;transform:translate(-50%)translateY(70px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.lv-overlay{z-index:88;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#06060bdb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lv-overlay.show{display:flex}.lv-ov-in{text-align:center}.lv-ov-main{font-family:var(--font-display), "Black Han Sans", sans-serif;background:linear-gradient(#ffe6f1,#ff8fbe 55%,#b07bee);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,10vw,64px);animation:.55s cubic-bezier(.2,1.5,.4,1) lvPop}.lv-ov-sub{color:var(--muted);margin-top:8px;font-size:15px;animation:.55s cubic-bezier(.2,1.5,.4,1) 50ms both lvPop}@keyframes lvPop{0%{opacity:0;transform:scale(.6)translateY(10px)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)translateY(0)}}@media (prefers-reduced-motion:reduce){.lv-ov-main,.lv-ov-sub{animation:none}}.blank-items{flex-direction:column;gap:10px;display:flex}.blank-item{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 13px;display:flex}.blank-no{width:24px;height:24px;font-family:var(--font-display), "Black Han Sans", sans-serif;color:#fff;background:linear-gradient(150deg,#ff6fa8,#9d4eff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;font-size:12px;display:flex;box-shadow:inset 0 1px 1px #fff6}.blank-item .blank-sentence{flex:1;min-width:0;margin-bottom:0;line-height:1.4}.quiz-q-num{color:#ffa7c9;margin-bottom:7px;font-size:12px;font-weight:700}.quiz-q-text{color:var(--text);margin-bottom:15px;font-size:16px;line-height:1.6}.quiz-opts{flex-direction:column;gap:9px;display:flex}.quiz-opt{color:var(--text);text-align:left;cursor:pointer;background:#ffffff08;border:1.5px solid #ffffff1a;border-radius:11px;padding:13px 15px;font-family:inherit;font-size:14px;transition:all .13s}.quiz-opt:hover{background:#ff8fbe14;border-color:#ff8fbe}.quiz-opt.selected{color:#fff;background:#ff8fbe26;border-color:#ff8fbe;font-weight:600}.quiz-input{width:100%;color:var(--text);background:#ffffff0a;border:1.5px solid #ffffff1f;border-radius:11px;outline:none;padding:13px 15px;font-family:inherit;font-size:15px}.quiz-input:focus{border-color:#ff8fbe}.ox-choose{gap:14px;display:flex}.ox-btn{color:var(--text);font-family:var(--font-display), "Black Han Sans", sans-serif;cursor:pointer;background:#ffffff0a;border:2px solid #ffffff1f;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:22px 0;font-size:38px;transition:all .15s;display:flex}.ox-btn span{font-family:var(--font-body), "Noto Sans KR", sans-serif;color:var(--muted);font-size:13px;font-weight:700}.ox-btn.o:hover,.ox-btn.o.selected{color:#7ef0bf;background:#34d39929;border-color:#34d399}.ox-btn.x:hover,.ox-btn.x.selected{color:#ff9aac;background:#e03a5a29;border-color:#ff6f86}.ox-btn.selected span{color:inherit}.lvtrack{align-items:center;gap:7px;margin-top:11px;display:flex}.lvdot{background:#ffffff29;border-radius:50%;width:9px;height:9px;transition:all .2s}.lvdot.done{background:#34d399}.lvdot.cur{background:#ff8fbe;box-shadow:0 0 0 4px #ff8fbe2e}.lvtrack-label{color:var(--muted);margin-left:5px;font-size:11px;font-weight:700}.qtimer{align-items:center;gap:11px;margin-bottom:15px;display:flex}.qtimer-bar{background:#ffffff1a;border-radius:6px;flex:1;height:9px;overflow:hidden}.qtimer-fill{background:linear-gradient(90deg,#ff6fa8,#b07bee);border-radius:6px;width:100%;height:100%;transition:background .3s}.qtimer-fill.warn{background:linear-gradient(90deg,#e0a52f,#e7c44c)}.qtimer-fill.crit{background:linear-gradient(90deg,#e03a5a,#ff6f86);animation:.5s steps(2,end) infinite critBlink}@keyframes critBlink{50%{opacity:.45}}.qtimer-num{font-family:var(--font-display), "Black Han Sans", sans-serif;text-align:center;min-width:28px;color:var(--text);font-size:17px}.quiz-danger .qtimer-num{color:#ff8fa0;animation:.5s ease-in-out infinite numPulse}@keyframes numPulse{0%,to{transform:scale(1)}50%{transform:scale(1.28)}}.danger-vignette{pointer-events:none;z-index:45;opacity:0;transition:opacity .2s;position:fixed;inset:0}.danger-vignette.on{opacity:1;animation:.8s ease-in-out infinite vigPulse}@keyframes vigPulse{0%,to{box-shadow:inset 0 0 70px 14px #e03a5a40}50%{box-shadow:inset 0 0 120px 34px #e03a5a99}}@media (prefers-reduced-motion:reduce){.qtimer-fill.crit,.quiz-danger .qtimer-num,.danger-vignette.on{animation:none}}.lives{gap:5px;margin-left:auto;display:flex}.life{font-size:16px;line-height:1;transition:all .2s}.life.on{color:#ff5e7a;text-shadow:0 0 8px #ff5e7a80}.life.off{color:#3a3650;transform:scale(.85)}.ox-overlay{z-index:85;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#06060bb8;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:none;position:fixed;inset:0}.ox-overlay.show{display:flex}.ox-mark{font-size:clamp(90px,26vw,150px);line-height:1;font-family:var(--font-display), "Black Han Sans", sans-serif;animation:.4s cubic-bezier(.2,1.5,.4,1) oxPop}.ox-overlay.ok .ox-mark{color:#5fe0a8;text-shadow:0 0 40px #34d39999}.ox-overlay.no .ox-mark{color:#ff7088;text-shadow:0 0 40px #e03a5a99}.ox-msg{font-family:var(--font-display), "Black Han Sans", sans-serif;color:#fff;font-size:26px}.ox-tap{color:var(--muted);margin-top:14px;font-size:12px}@keyframes oxPop{0%{opacity:0;transform:scale(.5)rotate(-12deg)}70%{transform:scale(1.12)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.ox-mark{animation:none}}.quiz-prog{background:#ffffff1a;border-radius:4px;height:6px;margin:16px 0 12px;overflow:hidden}.quiz-prog-fill{background:linear-gradient(90deg,#ff6fa8,#9d4eff);border-radius:4px;height:100%;transition:width .3s}.quiz-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.quiz-counter{color:var(--muted);font-size:13px}.quiz-next{letter-spacing:.04em;color:#fff;cursor:pointer;background:linear-gradient(#ff7fb0,#d6457a 45%,#7b4dd0);border:none;border-radius:12px;padding:13px 28px;font-size:14px;font-weight:900;transition:transform .14s,box-shadow .2s;box-shadow:inset 0 2px 1px #ffffff73,0 5px #5b2f93,0 9px 14px #7b4dd066}.quiz-next:hover{transform:translateY(-2px);box-shadow:inset 0 2px 1px #ffffff80,0 7px #5b2f93,0 12px 20px #b07bee80}.quiz-next:active{transform:translateY(4px);box-shadow:0 2px #5b2f93,0 5px 10px #7b4dd066}.quiz-next:disabled,.quiz-prev:disabled{opacity:.35;cursor:default;box-shadow:none;transform:none}.quiz-prev{letter-spacing:.04em;color:#cdbdf2;cursor:pointer;background:#b07bee1f;border:1px solid #b07bee80;border-radius:12px;padding:13px 22px;font-size:14px;font-weight:900;transition:transform .14s,background .2s}.quiz-prev:hover:not(:disabled){background:#b07bee38;transform:translateY(-1px)}.result{text-align:center;padding:14px 0 6px}.result-emoji{margin-bottom:6px;font-size:46px}.result-score{font-family:var(--font-display), "Black Han Sans", sans-serif;font-size:50px;line-height:1}.result-score.fail{color:#ff8fa0}.result-count{color:var(--muted);margin-top:6px;font-size:13px}.result-bar{background:#ffffff1a;border-radius:5px;height:8px;margin:16px 0;overflow:hidden}.result-fill{border-radius:5px;height:100%;transition:width .6s}.result-fill.fail{background:linear-gradient(90deg,#e03a5a,#9e2440)}.result-msg{margin-bottom:5px;font-size:16px;font-weight:800}.result-msg.fail{color:#ff8fa0}.result-sub{color:var(--muted);font-size:13px;line-height:1.5}.award{text-align:center;padding:8px 0 4px}.award-medal-wrap{margin:8px 0 16px;display:inline-block;position:relative}.medal{font-family:var(--font-display), "Black Han Sans", sans-serif;color:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.medal.big{width:98px;height:98px;font-size:40px;box-shadow:inset 0 3px 5px #ffffff8c,inset 0 -7px 11px #00000047,0 12px 32px #00000073}.medal.small{width:46px;height:46px;font-size:18px;box-shadow:inset 0 2px 3px #ffffff73,inset 0 -4px 7px #00000040}.medal.master{color:#6b4a00;background:radial-gradient(circle at 35% 30%,#ffeeb0,#f0b028 55%,#b5760f)}.medal.done{color:#06402b;background:radial-gradient(circle at 35% 30%,#7eefbc,#2bc98a 55%,#10a876)}.award .medal.big{animation:.7s cubic-bezier(.2,1.5,.4,1) both badgePop,1.9s ease-in-out .7s infinite medalGlow}.award-title{font-family:var(--font-display), "Black Han Sans", sans-serif;color:var(--text);margin-bottom:4px;font-size:25px}.award-sub{color:var(--muted);margin-bottom:20px;font-size:14px}.medal-collection{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:6px;display:flex}.mc-slot{opacity:.55;flex-direction:column;align-items:center;gap:6px;transition:opacity .3s;display:flex}.mc-slot.earned{opacity:1}.mc-label{color:var(--muted);font-size:10px;font-weight:700}.mc-slot.earned .mc-label{color:#ffa7c9}.spark{color:#ffe9a8;opacity:0;pointer-events:none;text-shadow:0 0 8px #ffdc8ce6;font-size:15px;position:absolute}.spark.s1{animation:1s ease-out .3s both sparkle;top:-4px;left:-8px}.spark.s2{animation:1s ease-out .5s both sparkle;top:6px;right:-12px}.spark.s3{animation:1s ease-out .7s both sparkle;bottom:-2px;left:4px}.spark.s4{animation:1s ease-out .55s both sparkle;top:-10px;right:14px}@keyframes badgePop{0%{opacity:0;transform:scale(0)rotate(-25deg)}60%{opacity:1;transform:scale(1.13)rotate(7deg)}to{transform:scale(1)rotate(0)}}@keyframes medalGlow{0%,to{filter:drop-shadow(0 0 12px #ffcd8280)}50%{filter:drop-shadow(0 0 26px #ffcd82d9)}}@keyframes sparkle{0%{opacity:0;transform:scale(.2)}40%{opacity:1}to{opacity:0;transform:scale(1.4)translateY(-12px)}}@media (prefers-reduced-motion:reduce){.award .medal.big,.spark{animation:none}}.award-actions{flex-direction:column;gap:16px;margin-top:30px;display:flex}.pass-sec{width:100%;color:var(--text);cursor:pointer;background:#ffffff0d;border:1.5px solid #ffffff24;border-radius:14px;padding:15px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.pass-sec:hover{background:#ffffff17;border-color:#ffffff3d}.concept-nav{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;margin-bottom:16px;padding:14px 16px}.concept-nav-h{color:var(--muted);letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:700}.concept-list{flex-direction:column;gap:6px;display:flex}.concept-item{color:var(--muted);background:#ffffff05;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:9px 11px;font-size:13.5px;display:flex}.concept-item .concept-no{text-align:center;min-width:22px;font-family:var(--font-display), "Black Han Sans", sans-serif;color:var(--muted2);flex-shrink:0;font-size:11px}.concept-item .concept-name{flex:1;min-width:0}.concept-item.done{color:#9fe9c6}.concept-item.done .concept-no{color:var(--green)}.concept-item.current{color:#fff;background:#ff8fbe24;border-color:#ff8fbe73;font-weight:700}.concept-item.current .concept-no{color:var(--rose)}.concept-here{color:#fff;background:linear-gradient(150deg,#ff6fa8,#9d4eff);border-radius:100px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:800}.mc-slot .medal.small{animation:.45s cubic-bezier(.2,1.6,.4,1) both medalPop}.mc-slot:first-child .medal.small{animation-delay:.15s}.mc-slot:nth-child(2) .medal.small{animation-delay:.45s}.mc-slot:nth-child(3) .medal.small{animation-delay:.75s}@keyframes medalPop{0%{opacity:0;transform:scale(0)rotate(-12deg)}60%{transform:scale(1.25)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.mc-slot .medal.small{animation:none}}.preview-jump{background:#ff8fbe14;border:1px dashed #ff8fbe66;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;display:flex}.preview-jump .pj-label{color:#ff8fbe;letter-spacing:.02em;font-size:12px;font-weight:800}.preview-jump button{color:#f1effa;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:100px;padding:6px 12px;font-size:12.5px;font-weight:700}.preview-jump button:hover{color:#ff8fbe;border-color:#ff8fbe}button.mid-ch-label{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.mid-caret{color:var(--rose);flex-shrink:0;font-weight:800;transition:transform .15s;display:inline-block}.mid-caret.open{transform:rotate(90deg)}.retake-wrap{z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#06060a8c,#06060ab3);border-radius:18px;min-height:calc(100vh - 120px);padding:8px 0;position:relative}
