:root{--bg: #070a1a;--bg-2: #0d1230;--panel: #111739;--line: #232b57;--text: #eef1fb;--muted: #9aa3c4;--indigo: #6d6bff;--indigo-2: #4f46e5;--silver: #c9d1e3;--gold: #f4c95d;--ok: #3ddc97;--danger: #ff6b81;--radius: 16px;--font: "Inter", system-ui, sans-serif;--display: "Sora", "Inter", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font)}a{color:var(--silver)}:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0 0 .6rem}h1{font-size:clamp(1.8rem,5vw,2.8rem)}h2{font-size:clamp(1.3rem,3.5vw,1.8rem)}p{margin:0 0 .8rem}.muted{color:var(--muted)}.lead{font-size:1.1rem}.wrap{width:min(1160px,100%);margin:0 auto;padding:0 16px}.section{padding:48px 16px}.narrow{width:min(820px,100%)}.eyebrow{font-size:.78rem;letter-spacing:.14em;color:var(--indigo);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;border:0;cursor:pointer;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));color:#fff;font:600 .95rem var(--font);text-decoration:none;transition:transform .15s ease,opacity .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.btn.gold{background:linear-gradient(135deg,#f7d77f,var(--gold));color:#241a00}.btn.sm{padding:8px 14px;font-size:.85rem}.btn.lg{padding:14px 26px;font-size:1rem}.btn.block{width:100%}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:#070a1ad9;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.logo span{display:flex;flex-direction:column;line-height:1.05}.logo b{font-family:var(--display);font-size:.95rem;letter-spacing:.06em}.logo small{font-size:.62rem;letter-spacing:.3em;color:var(--silver)}.nav{display:flex;align-items:center;gap:4px;overflow-x:auto;margin-left:auto;min-width:0}.nav a:not(.btn){color:var(--muted);text-decoration:none;padding:8px 10px;border-radius:8px;font-size:.9rem;white-space:nowrap}.nav a.active,.nav a:not(.btn):hover{color:var(--text);background:var(--panel)}.hero{background:radial-gradient(800px 400px at 85% -10%,rgba(109,107,255,.35),transparent 60%),radial-gradient(600px 300px at 0% 110%,rgba(201,209,227,.12),transparent 60%);border-bottom:1px solid var(--line)}.hero-inner{padding:72px 16px 56px}.hero h1{max-width:16ch;font-size:clamp(2.1rem,7vw,3.8rem)}.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--indigo),var(--silver));-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lead{max-width:60ch;color:var(--muted)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 36px}.stats{display:flex;gap:32px;flex-wrap:wrap;margin:0}.stats dt{font:700 1.8rem var(--display)}.stats dd{margin:0;color:var(--muted);font-size:.85rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.step b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--indigo-2);margin-bottom:10px}.step h3{font-size:1.05rem}.step p{color:var(--muted);margin:0}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.course-card{padding:0;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.course-card:hover{border-color:var(--accent);transform:translateY(-2px)}.course-cover{height:120px;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 70%,#000),color-mix(in srgb,var(--accent) 25%,var(--bg)))}.course-mono{font:700 2rem var(--display);color:#ffffffeb;letter-spacing:.04em}.course-mono.big{font-size:2.6rem;display:grid;place-items:center;height:96px;border-radius:12px;margin-bottom:14px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 30%,var(--bg)))}.chip{display:inline-block;font-size:.72rem;padding:4px 10px;border-radius:99px;background:#ffffff24;color:#fff}.course-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}.course-body h3{font-size:1.15rem}.course-body p{color:var(--muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.course-meta{font-size:.82rem;color:var(--silver);margin-bottom:10px}.course-price{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;flex-wrap:wrap}.free-badge{color:var(--ok);font-weight:600}.search{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:1rem;margin:8px 0 14px}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px}.chip-btn{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:99px;padding:8px 14px;cursor:pointer;white-space:nowrap;font:500 .88rem var(--font)}.chip-btn.on{background:var(--indigo-2);border-color:var(--indigo-2);color:#fff}.course-hero{border-bottom:1px solid var(--line);background:radial-gradient(700px 360px at 90% 0%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 70%)}.course-hero-inner{display:grid;grid-template-columns:1fr 340px;gap:32px;padding:48px 16px;align-items:start}.course-hero .chip{background:color-mix(in srgb,var(--accent) 40%,transparent);margin-bottom:12px}.buy-box{display:flex;flex-direction:column;gap:10px}.fine{font-size:.78rem;color:var(--muted);margin:0}.error{color:var(--danger);font-size:.9rem}.progress{height:8px;background:var(--bg-2);border-radius:99px;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,var(--indigo),var(--ok));border-radius:99px;transition:width .4s}.modules{display:flex;flex-direction:column;gap:12px}.module{padding:0;overflow:hidden}.module-head{width:100%;display:flex;align-items:center;gap:14px;padding:16px 18px;background:none;border:0;color:var(--text);cursor:pointer;text-align:left;font:inherit}.module-num{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--bg-2);font:700 1rem var(--display)}.module.open .module-num{background:var(--indigo-2)}.module-title{flex:1;display:flex;flex-direction:column}.module-title small{color:var(--muted)}.lock{font-size:.75rem;padding:4px 10px;border-radius:99px;border:1px solid var(--line);color:var(--gold);white-space:nowrap}.lock.ok{color:var(--ok)}.topics{list-style:none;margin:0;padding:0 18px 16px;counter-reset:t;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}.topics a,.topics .locked{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--text);background:var(--bg-2);font-size:.92rem}.topics a:hover{outline:1px solid var(--indigo)}.topics .locked{color:var(--muted)}.dot{flex:none;width:10px;height:10px;border-radius:50%;border:2px solid var(--muted)}.topics a.done .dot{background:var(--ok);border-color:var(--ok)}.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin-bottom:18px}.lesson{margin:14px 0 20px}.prose h2{font-size:1.6rem}.prose h3{font-size:1.1rem;margin-top:1.4rem;color:var(--silver)}.prose ol,.prose ul{padding-left:1.3rem}.prose li{margin-bottom:.4rem}.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.lesson-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.auth{display:grid;place-items:center}.form{width:min(440px,100%);display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted)}.form input,.verify-form input{padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:1rem}.verify-form{display:flex;gap:10px;margin:16px 0 24px}.verify-form input{flex:1;min-width:0;text-transform:uppercase}.verified{border-color:var(--ok)}.ok-badge{color:var(--ok);font-weight:700}.my-course .chip{background:color-mix(in srgb,var(--accent) 45%,transparent);margin-bottom:10px}.row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.empty{text-align:center}.footer{border-top:1px solid var(--line);padding:32px 0;margin-top:40px;font-size:.88rem}.footer .logo{margin-bottom:12px}@media(max-width:820px){.course-hero-inner{grid-template-columns:1fr;padding:32px 16px}.section{padding:32px 16px}.hero-inner{padding:48px 16px 40px}.logo span small{display:none}.nav{gap:0}.nav a:not(.btn){padding:8px 6px;font-size:.84rem}}@media(max-width:430px){.logo span{display:none}}.config-warning{margin-top:16px;padding:12px 16px;border:1px solid var(--gold);border-radius:12px;color:var(--gold);font-size:.9rem}.config-warning code{color:var(--text)}.admin-bar{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.admin-bar label,.form.wide label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted)}.admin-bar select,.admin-bar input,.form textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font:.95rem var(--font)}.row-inline{display:flex;gap:8px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.admin-topics{max-height:75vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.admin-topic{display:block;width:100%;text-align:left;background:none;border:0;color:var(--text);padding:6px 8px;border-radius:8px;cursor:pointer;font:.88rem var(--font)}.admin-topic:hover,.admin-topic.on{background:var(--bg-2);outline:1px solid var(--indigo)}.admin-editor{display:flex;flex-direction:column;gap:16px;min-width:0}.form.wide{width:100%}.form textarea{font-family:ui-monospace,monospace;resize:vertical}@media(max-width:820px){.admin-grid{grid-template-columns:1fr}.admin-topics{max-height:40vh}}.logo-img{border-radius:10px;display:block}.footer-inner{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.footer-logo{width:140px;height:140px;border-radius:16px;border:1px solid var(--line)}.footer-inner>div{flex:1;min-width:220px}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:32px;align-items:center}.hero-inner>*:not(.nova-stage){grid-column:1}.hero-logo{width:84px;height:84px;border-radius:18px;margin-bottom:18px;box-shadow:0 10px 40px #4f46e54d}.nova-avatar{display:block}.av{width:100%;height:100%;display:block;overflow:visible;--ex: 0;--ey: 0}.av-all{animation:avfloat 4.5s ease-in-out infinite;transform-box:view-box}@keyframes avfloat{50%{transform:translateY(-2.5px)}}.av-head{transform-box:view-box;transform-origin:60px 72px;animation:avsway 7s ease-in-out infinite}@keyframes avsway{0%,to{transform:rotate(0)}30%{transform:rotate(2.5deg)}70%{transform:rotate(-2.5deg)}}.av-eyes{animation:avblink 5s infinite;transform-box:fill-box;transform-origin:center}@keyframes avblink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}.av-pup{transform:translate(calc(var(--ex) * 3px),calc(var(--ey) * 2px));transition:transform .12s linear}.av-open{opacity:0;transform-box:fill-box;transform-origin:center}.av.talk .av-smile{opacity:0}.av.talk .av-open{opacity:1;animation:avvis .42s steps(1,end) infinite}@keyframes avvis{0%{transform:scale(1.05,.5)}18%{transform:scale(.75,1.25)}36%{transform:scale(1.2,.85)}54%{transform:scale(.65,.45)}72%{transform:scaleY(1.1)}88%{transform:scale(1.15,.6)}}.av-cheek{opacity:0;transition:opacity .2s}.av.happy .av-cheek{opacity:.8}.av.happy .av-all{animation:avhop .45s ease-out 2}@keyframes avhop{40%{transform:translateY(-7px)}}.av.think .av-head{animation:avtilt 1s ease-in-out infinite alternate}@keyframes avtilt{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.av-ant{animation:avant 2s ease-in-out infinite}.av.think .av-ant{animation-duration:.5s}@keyframes avant{50%{opacity:.35}}.av-arm-r{transform-box:view-box;transform-origin:99px 84px}.av.wave .av-arm-r{animation:avwave .55s ease-in-out 5 alternate}@keyframes avwave{0%{transform:rotate(-120deg)}to{transform:rotate(-165deg)}}.av-aura{opacity:.55;transform-box:fill-box;transform-origin:center;animation:avaura 5s ease-in-out infinite}@keyframes avaura{50%{opacity:.85;transform:scale(1.06)}}.av.talk .av-aura{animation-duration:1.1s;opacity:.9}.av.listen .av-aura{animation-duration:.8s;opacity:1}.av-torso{transform-box:view-box;transform-origin:60px 140px;animation:avbreath 4.2s ease-in-out infinite}@keyframes avbreath{50%{transform:scaleY(1.014)}}.av-brow{transform-box:fill-box;transform-origin:center;transition:transform .25s ease}.av.happy .av-brow{transform:translateY(-2px)}.av.think .av-brow-r{transform:translateY(-3px) rotate(-10deg)}.av.think .av-brow-l{transform:translateY(1px) rotate(4deg)}.av.talk .av-brow{animation:avbrow 1.6s ease-in-out infinite}@keyframes avbrow{30%{transform:translateY(-1.4px)}65%{transform:translateY(.6px)}}.av.listen .av-brow{transform:translateY(-2.5px)}.av.listen .av-eyes{transform:scale(1.1)}.av.talk .av-ant{fill:#6cf0b0}.av.think .av-ant{fill:#ffb347}.av.listen .av-ant{fill:#ff7aa8}.av-shine{animation:avshine 7s ease-in-out infinite}@keyframes avshine{50%{stroke-opacity:.32}}.nova-stage{grid-column:2;grid-row:1 / span 8;position:relative;width:300px;height:330px;cursor:pointer;display:grid;place-items:center;border-radius:28px}.nova-stage:focus-visible{outline:2px solid var(--indigo);outline-offset:6px}.nova-ring{position:absolute;width:260px;height:260px;top:40px;left:50%;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(109,107,255,.35),transparent 65%);border:1px solid rgba(124,196,255,.25)}.stage-face{position:relative;width:240px;height:280px}.nova-hint{position:absolute;bottom:-6px;font-size:.8rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.nova-bubble{position:absolute;top:-34px;left:50%;transform:translate(-50%);z-index:2;width:max-content;max-width:260px;background:#fff;color:#10142e;padding:10px 14px;border-radius:16px 16px 16px 4px;font-size:.9rem;font-weight:500;box-shadow:0 10px 30px #00000059;animation:bubble .3s ease-out}@keyframes bubble{0%{opacity:0;transform:translate(-50%,6px)}}.nova-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:999px;border:1px solid rgba(124,196,255,.45);background:linear-gradient(135deg,#141a45,#0a0d24);color:var(--text);font:600 .9rem var(--font);cursor:pointer;box-shadow:0 10px 34px #3a3fe073}.nova-fab.nudge{animation:fabnudge 2.4s ease-in-out infinite}@keyframes fabnudge{0%,80%,to{transform:translateY(0)}88%{transform:translateY(-6px)}94%{transform:translateY(0)}}.fab-face{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#131a45,#05060f 70%);overflow:hidden;padding:2px 4px 0}.nova-chat{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;width:min(390px,calc(100vw - 32px));height:min(620px,calc(100vh - 100px));display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px #0000008c;overflow:hidden;animation:chatin .25s ease-out}@keyframes chatin{0%{opacity:0;transform:translateY(14px)}}.nova-head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;background:linear-gradient(135deg,#161c4c,#0b0f2a);border-bottom:1px solid var(--line)}.head-face{flex:none;width:64px;height:64px;border-radius:20px;background:radial-gradient(circle at 50% 35%,#131a45,#05060f 70%);border:1px solid rgba(120,160,255,.5);box-shadow:0 0 24px -4px #5082ff99;overflow:hidden;padding:4px 4px 0}.nova-title{flex:1;min-width:0;display:flex;flex-direction:column}.nova-title b{font-family:var(--display);letter-spacing:.08em}.nova-title small{color:var(--muted);font-size:.8rem}.nova-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.nova-icon[aria-pressed=false]{color:var(--muted)}.nova-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.nova-msg{max-width:88%}.nova-msg p{margin:0;padding:10px 13px;border-radius:16px;white-space:pre-line;font-size:.93rem;line-height:1.5}.nova-msg.nova p{background:var(--bg-2);border-top-left-radius:4px}.nova-msg.me{align-self:flex-end}.nova-msg.me p{background:var(--indigo-2);color:#fff;border-top-right-radius:4px}.nova-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.nova-actions button,.nova-lesson-bar button{border:1px solid rgba(124,196,255,.4);background:transparent;color:#cfe3ff;border-radius:999px;padding:6px 12px;font:500 .82rem var(--font);cursor:pointer}.nova-actions button:hover,.nova-lesson-bar button:hover{background:#6d6bff33}.typing{display:flex;gap:5px;padding:12px 14px;background:var(--bg-2);border-radius:16px;width:max-content}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dot 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes dot{50%{opacity:.3;transform:translateY(-3px)}}.nova-lesson-bar{display:flex;gap:6px;padding:8px 14px 0;flex-wrap:wrap}.nova-form{display:flex;gap:8px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);margin-top:8px}.nova-form input{flex:1;min-width:0;padding:11px 13px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font:.95rem var(--font)}.nova-mic{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;display:grid;place-items:center}.nova-mic[aria-pressed=true]{background:#ff3d77;border-color:#ff3d77;color:#fff;animation:fabnudge 1s ease-in-out infinite}.ask-nova{margin:12px 0 0}@media(max-width:820px){.hero-inner{grid-template-columns:1fr}.nova-stage{grid-column:1;grid-row:auto;width:100%;height:250px;margin-bottom:8px}.stage-face{width:180px;height:210px}.nova-stage{margin-top:36px}.nova-ring{width:200px;height:200px;top:30px}.hero-logo{width:64px;height:64px}}@media(max-width:520px){.nova-chat{right:8px;left:8px;width:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:calc(100vh - 80px)}.nova-fab .fab-label{display:none}.nova-fab{padding:6px}}@media(prefers-reduced-motion:reduce){.av *,.av,.nova-fab,.nova-chat,.nova-bubble{animation:none!important}}.source-list{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.source{display:flex;flex-direction:column;gap:4px;padding:16px 18px}.source a{color:var(--text);font-weight:600;text-decoration:none}.source a:hover{color:var(--indigo);text-decoration:underline}.source a:after{content:" \2197";color:var(--muted)}.source small{color:var(--silver)}.course-mono.hello{font-size:clamp(1.1rem,4vw,1.6rem);max-width:70%;line-height:1.15;overflow-wrap:anywhere}.course-mono.big.hello{font-size:1.9rem;text-align:center;padding:0 10px}.skill-badge{margin-left:auto;flex:none;font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:2px 8px;border-radius:99px;background:#6d6bff2e;color:#c9cbff}.eyebrow .skill-badge{margin-left:10px;letter-spacing:.04em}.lang-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:16px}.lang-chip{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,var(--panel)),var(--panel));color:var(--text);text-decoration:none}.lang-chip:hover{border-color:var(--accent)}.lang-chip b{font-size:1.05rem;overflow-wrap:anywhere}.lang-chip span{font-size:.82rem;color:var(--muted)}.practice{margin:16px 0;display:flex;flex-direction:column;gap:14px;border-color:#7cc4ff59}.practice-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.practice-head h3{margin:0}.score{font-weight:700;color:var(--ok)}.practice-note{color:var(--gold);font-size:.88rem;margin:0}.practice-tabs{display:flex;gap:6px;flex-wrap:wrap}.practice-tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:99px;padding:7px 14px;cursor:pointer;font:500 .86rem var(--font)}.practice-tabs button.on{background:var(--indigo-2);border-color:var(--indigo-2);color:#fff}.practice-tabs button:disabled{opacity:.4;cursor:not-allowed}.flashcard,.quiz{display:flex;flex-direction:column;gap:10px;align-items:stretch}.phrase{font-family:var(--display);font-size:clamp(1.6rem,6vw,2.4rem);text-align:center;margin:6px 0 0;overflow-wrap:anywhere}.roman{text-align:center;color:var(--silver);font-style:italic;margin:0}.meaning{text-align:center;color:var(--muted);margin:0}.practice-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.practice-nav{display:flex;justify-content:space-between;align-items:center;gap:8px}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.options button{padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font:500 .95rem var(--font);cursor:pointer}.options button:hover:not(:disabled){border-color:var(--indigo)}.options button.right{border-color:var(--ok);background:#3ddc9726}.quiz input{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font-size:1.05rem}.feedback{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px}.feedback.ok{background:#3ddc9724;color:var(--ok)}.feedback.bad{background:#ff6b811f;color:var(--danger)}.center{text-align:center}.course-art{display:block;color:#fff}.course-cover{height:140px;overflow:hidden}.course-cover .course-art{position:absolute;top:12px;right:14px;width:92px;height:92px;opacity:.95;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));transition:transform .3s ease}.course-card:hover .course-art{transform:scale(1.06) rotate(-2deg)}.course-cover .chip,.course-mono{position:relative;z-index:1}.course-mono.big{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;height:auto;min-height:150px;padding:18px 10px}.course-mono.big .big-art{width:110px;height:110px}.course-mono.big>span{font-size:1.6rem}.my-course-top{display:flex;justify-content:space-between;align-items:flex-start}.my-art{width:52px;height:52px;border-radius:14px;padding:6px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 35%,var(--bg)))}@media(prefers-reduced-motion:reduce){.course-card:hover .course-art{transform:none}}.class-page .lead{max-width:760px}.class-gate{max-width:560px}.class-select{display:flex;flex-direction:column;gap:6px;max-width:360px;margin:18px 0 22px;font-size:.9rem;color:var(--muted)}.class-select select{font:500 1rem var(--font);color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.scenario{text-align:left;cursor:pointer;color:var(--text);font:inherit;background:linear-gradient(135deg,rgba(109,107,255,.16),var(--panel))}.scenario:hover{border-color:var(--indigo)}.scenario h3{margin:10px 0 4px}.scenario p{margin:0;font-size:.92rem}.scenario .chip{background:#6d6bff59}.class-layout{display:grid;gap:16px}.class-stage{display:grid;grid-template-columns:1fr 1fr;gap:16px}.class-nova{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:12px;background:radial-gradient(400px 200px at 0% 0%,rgba(109,107,255,.22),transparent 70%),var(--panel)}.class-face{width:150px;height:175px}.class-bubble{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:14px;min-height:120px;display:grid;align-content:center;gap:4px}.class-bubble .phrase{font-size:clamp(1.3rem,4vw,2rem)}.class-camera{display:grid;gap:10px;justify-items:start}.camera-frame{width:100%;aspect-ratio:4 / 3;border-radius:14px;background:#04061a;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.camera-frame video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-frame video.hidden{display:none}.camera-off{font-size:2.4rem;opacity:.5}.class-turn{display:grid;gap:14px}.class-turn-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.class-turn-head .chip{background:#6d6bff59}.class-tip{font-family:var(--display);font-size:1.15rem;margin:0}.class-type{display:flex;gap:8px;flex-wrap:wrap}.class-type input{flex:1 1 220px;font:1rem var(--font);color:var(--text);background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.class-answer{display:grid;gap:4px;padding:10px 14px;border-radius:12px;background:var(--bg-2);border:1px dashed var(--line)}.class-answer .roman{text-align:left;display:inline}.small{font-size:.82rem;margin:0}.error-text{color:var(--danger)}@media(max-width:820px){.class-stage{grid-template-columns:1fr}.class-nova{grid-template-columns:110px 1fr}.class-face{width:110px;height:130px}.camera-frame{aspect-ratio:16 / 10}}.user-avatar{border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));color:#fff;font-weight:700;font-family:var(--display);border:2px solid rgba(255,255,255,.18)}.nav-avatar{display:inline-flex;padding:2px;border-radius:50%;margin-left:4px}.nav-avatar:hover .user-avatar,.nav-avatar.active .user-avatar{border-color:var(--indigo)}.btn.danger{background:transparent;border:1px solid rgba(255,107,129,.5);color:var(--danger)}.btn.danger:hover{background:#ff6b811f}.profile-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;margin-top:18px}.profile-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.profile-card h2{margin:6px 0 0;font-size:1.3rem}.profile-card p{margin:0}.profile-photo{padding:5px;border-radius:50%;background:conic-gradient(from 200deg,var(--indigo),#9fd3ff,var(--indigo-2),var(--indigo))}.profile-photo .user-avatar{border:4px solid var(--panel)}.admin-chip{background:#f4c95d33;color:var(--gold)}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.profile-card .btn.danger{margin-top:10px}.profile-main{display:grid;gap:14px}.profile-form{display:grid;gap:12px}.profile-form-head{display:flex;justify-content:space-between;align-items:center}.profile-form-head h3{margin:0}.profile-form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted)}.profile-form input,.profile-form textarea{padding:11px 13px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);font:1rem var(--font);resize:vertical}.profile-form input:disabled,.profile-form textarea:disabled{opacity:.75;background:transparent}.admin-links h3{margin-top:0}.admin-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.admin-link{display:grid;gap:4px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);text-decoration:none}.admin-link:hover{border-color:var(--indigo)}@media(max-width:820px){.profile-grid{grid-template-columns:1fr}}.user-menu{position:relative;flex:none}button.nav-avatar{background:none;border:0;cursor:pointer;padding:2px;border-radius:50%}button.nav-avatar[aria-expanded=true] .user-avatar{border-color:var(--indigo)}.user-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 18px 40px #00000073;display:grid;gap:10px;z-index:50}.user-dropdown:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.user-dropdown-head{display:flex;gap:12px;align-items:center}.user-dropdown-head>div{display:grid;gap:2px;min-width:0}.user-dropdown-head b,.user-dropdown-head .small{overflow-wrap:anywhere}.user-dropdown-head .chip{justify-self:start;margin-top:4px}.user-dropdown-bio{margin:0;padding:8px 10px;background:var(--bg-2);border-radius:10px}.user-dropdown-links{display:grid;border-top:1px solid var(--line);padding-top:6px}.user-dropdown-links a{color:var(--text);text-decoration:none;padding:9px 8px;border-radius:8px;font-size:.92rem}.user-dropdown-links a:hover,.user-dropdown-links a:focus-visible{background:var(--bg-2)}.pay-box{display:grid;gap:8px;text-align:left;padding:14px;border-radius:14px;background:var(--bg-2);border:1px solid var(--line);margin:6px 0}.pay-head{display:flex;justify-content:space-between;align-items:center}.pay-amount{font-family:var(--display);font-size:1.6rem;margin:0;color:var(--gold)}.pay-steps{margin:0;padding-left:20px;display:grid;gap:12px;font-size:.9rem}.pay-steps li{display:list-item}.pay-steps li>*{display:block;margin-top:6px}.pay-steps li>.pay-form{display:grid}.pay-steps li::marker{color:var(--gold);font-weight:700}.pay-form{display:grid;gap:8px}.pay-form input{padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:.95rem var(--font)}.admin-payments{margin:16px 0 28px;display:grid;gap:10px}.admin-payments-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.admin-payments-head h2{margin:0}.pay-table{display:grid;gap:8px}.pay-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2)}.pay-row code{overflow-wrap:anywhere}.pay-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-pill{font-size:.75rem;padding:4px 10px;border-radius:99px;background:#ffffff1a}.status-pill.s-approved{background:#3ddc9729;color:var(--ok)}.status-pill.s-review{background:#f4c95d2e;color:var(--gold)}.status-pill.s-declined{background:#ff6b8124;color:var(--danger)}.cert-toolbar{display:grid;gap:10px;margin-bottom:18px}.cert-toolbar .ok-badge{margin:0}.certificate{background:#fff;color:#1e2235;border-radius:18px;padding:14px;aspect-ratio:297 / 210;width:100%;max-width:1050px;margin:0 auto;box-shadow:0 20px 50px #0006;container-type:inline-size}.cert-inner{height:100%;border:3px solid #4f46e5;border-radius:12px;outline:1px solid #b8c0d0;outline-offset:-9px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.6cqw 3cqw 1.6cqw}.cert-logo{width:9cqw;height:9cqw;object-fit:contain;border-radius:8px}.cert-company{margin:.6cqw 0 0;color:#4f46e5;font:700 2.6cqw/1.1 var(--font);letter-spacing:.02em}.cert-motto{margin:.3cqw 0 0;color:#6b7280;font-size:1.2cqw;letter-spacing:.06em}.cert-title{margin:2.2cqw 0 1.2cqw;font:800 4.6cqw/1 var(--font);color:#1e2235;letter-spacing:.01em}.cert-text{margin:.5cqw 0;font-size:1.6cqw;color:#1e2235}.cert-name{margin:.6cqw 0 .2cqw;font:800 3.8cqw/1.1 var(--font);color:#0b1026}.cert-course{margin:.6cqw 0 .3cqw;font:700 3cqw/1.15 var(--font);color:#4f46e5}.cert-foot{margin-top:auto;width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:2cqw;text-align:left}.cert-code{display:grid;gap:.2cqw;font-size:1.15cqw;color:#6b7280}.cert-code b{color:#1e2235;font-size:1.3cqw}.cert-url{font-size:.9cqw;overflow-wrap:anywhere}.cert-sign{display:grid;justify-items:center;gap:.2cqw;font-size:1.15cqw;color:#1e2235}.cert-line{width:80%;border-top:1px solid #1e2235;margin-bottom:.4cqw}.cert-qr{display:grid;justify-items:end;gap:.3cqw;font-size:.95cqw;color:#6b7280}.cert-qr svg{width:9.5cqw;height:9.5cqw;display:block}.cert-legal{margin:1cqw 0 0;font-size:.9cqw;color:#9aa3b5}@media print{@page{size:A4 landscape;margin:0}body.printing-certificate{background:#fff!important}body.printing-certificate .topbar,body.printing-certificate .footer,body.printing-certificate .no-print,body.printing-certificate .nova-fab,body.printing-certificate .nova-panel,body.printing-certificate .config-warning{display:none!important}body.printing-certificate .cert-page{padding:0!important;max-width:none!important}body.printing-certificate .certificate{width:297mm;height:210mm;max-width:none;border-radius:0;box-shadow:none;padding:8mm;aspect-ratio:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.class-tabs{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.review-pick{display:grid;gap:10px}.review-pick h3{margin:0}.review-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.review-module{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;font:inherit}.review-module:hover:not(:disabled){border-color:var(--indigo)}.review-module:disabled{opacity:.55;cursor:not-allowed}.review-module>span:last-child{display:grid;gap:2px}.mod-num{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--indigo-2);font-weight:700}.review-options button{text-align:left}.options button.wrong{border-color:var(--danger);background:#ff6b811f}.nova-ok{color:var(--ok);font-weight:700;text-align:center;margin:0}.nova-bad{color:var(--gold);font-weight:700;text-align:center;margin:0}.review-tips{margin:6px 0 0;padding-left:18px}.class-type textarea{flex:1 1 100%;font:1rem var(--font);color:var(--text);background:var(--bg-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;resize:vertical}.admin-help{margin-top:8px}.admin-help summary{cursor:pointer;color:var(--silver);font-size:.9rem}.admin-help pre{white-space:pre-wrap;background:var(--bg-2);padding:10px;border-radius:10px;font-size:.8rem}
