:root{--bg:#07101e;--bg2:#0c1830;--panel:rgba(17,30,55,.82);--panel2:#142443;--text:#f4f7ff;--muted:#9eb0cf;--line:rgba(255,255,255,.11);--gold:#f0c75e;--violet:#806cff;--green:#38d39f;--red:#ff657a;--shadow:0 24px 70px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}html[data-theme=light]{--bg:#eef3fb;--bg2:#dce7f7;--panel:rgba(255,255,255,.9);--panel2:#fff;--text:#172238;--muted:#596780;--line:rgba(23,34,56,.12);--shadow:0 18px 50px rgba(56,74,110,.15);color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,rgba(128,108,255,.22),transparent 32rem),radial-gradient(circle at 0 35%,rgba(0,167,196,.14),transparent 28rem),linear-gradient(145deg,var(--bg),var(--bg2));color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;color:#000;padding:.7rem;z-index:99}.skip-link:focus{top:1rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2rem;padding:.8rem clamp(1rem,4vw,4rem);background:rgba(7,16,30,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}html[data-theme=light] .topbar{background:rgba(238,243,251,.86)}.brand{display:flex;align-items:center;gap:.7rem;min-width:max-content}.brand-mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.85rem;background:linear-gradient(135deg,var(--gold),#d98e28);color:#1b2232;font-weight:900;box-shadow:0 8px 22px rgba(240,199,94,.25)}.brand span:last-child{display:flex;flex-direction:column;line-height:1.1}.brand small{color:var(--muted);font-size:.7rem;margin-top:.22rem}.topbar nav{display:flex;gap:.2rem;flex:1;justify-content:center}.topbar nav a{padding:.55rem .75rem;border-radius:.7rem;color:var(--muted)}.topbar nav a:hover,.topbar nav a:focus-visible{background:var(--line);color:var(--text)}.top-actions{display:flex;gap:.4rem}.icon-btn{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:.7rem;background:transparent;color:var(--text);cursor:pointer}.page-shell{width:min(1260px,calc(100% - 2rem));margin:auto;padding:2.4rem 0 5rem}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:3rem;align-items:center;min-height:560px}.eyebrow{display:inline-block;color:var(--gold);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.hero h1,.study-content h1,.section-head h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.02;margin:.6rem 0 1.2rem;letter-spacing:-.055em}.hero p,.lead{color:var(--muted);font-size:1.1rem;max-width:720px}.hero-actions,.card-actions,.study-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem}.btn{display:inline-flex;justify-content:center;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:.8rem;padding:.78rem 1.05rem;cursor:pointer;font-weight:750}.btn:hover,.btn:focus-visible{transform:translateY(-1px);border-color:rgba(240,199,94,.5)}.btn.primary{background:linear-gradient(135deg,var(--violet),#5e92ff);border-color:transparent;color:#fff;box-shadow:0 10px 30px rgba(128,108,255,.27)}.btn:disabled{opacity:.5;cursor:not-allowed}.official-note{margin-top:1.5rem;padding:1rem 1.1rem;border-left:3px solid var(--gold);background:rgba(240,199,94,.08);border-radius:.4rem;color:var(--muted)}.hero-orbit{position:relative;min-height:390px;display:grid;place-items:center}.score-ring{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--gold) 0 78%,rgba(255,255,255,.08) 78%);box-shadow:inset 0 0 0 22px var(--bg2),var(--shadow)}.score-ring span{font-size:3rem;font-weight:900}.score-ring small{color:var(--muted)}.orbit-card{position:absolute;padding:.65rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow)}.orbit-card:nth-of-type(2){top:2rem;left:5%}.orbit-card:nth-of-type(3){right:0;top:32%}.orbit-card:nth-of-type(4){bottom:2rem;left:10%}.stat-grid,.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0 3rem}.stat-grid article,.admin-stats article{padding:1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow)}.stat-grid strong,.admin-stats strong{display:block;font-size:1.9rem}.stat-grid span,.admin-stats span{color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:3rem 0 1.2rem}.section-head h2,.section-head h1{font-size:clamp(1.8rem,3vw,2.7rem);margin:.25rem 0}.section-head>a{color:var(--gold)}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.module-card{position:relative;overflow:hidden;padding:1.25rem;background:linear-gradient(145deg,var(--panel),rgba(20,36,67,.72));border:1px solid var(--line);border-radius:1.2rem;box-shadow:var(--shadow)}.module-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:3px;background:var(--accent)}.module-icon{font-size:1.8rem}.module-area{font-size:.72rem;color:var(--accent);font-weight:800;text-transform:uppercase}.module-card h3{font-size:1.25rem;margin:.55rem 0}.module-card p{color:var(--muted);min-height:4.8em}.meter{height:.55rem;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--gold));border-radius:inherit}.module-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-top:.55rem}.card-actions a{flex:1;text-align:center;border:1px solid var(--line);padding:.55rem;border-radius:.65rem}.usage-strip{display:grid;grid-template-columns:repeat(3,1fr) 2fr;gap:1rem;align-items:center;margin-top:3rem;padding:1.5rem;background:linear-gradient(135deg,rgba(128,108,255,.2),rgba(0,167,196,.12));border:1px solid var(--line);border-radius:1.2rem}.usage-strip strong{display:block;font-size:1.5rem}.usage-strip span,.usage-strip p{color:var(--muted)}.panel,.hero-card,.result-card{background:var(--panel);border:1px solid var(--line);border-radius:1.1rem;padding:1.3rem;box-shadow:var(--shadow)}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.install-wrap{max-width:1000px;margin:auto}.install-wrap .hero-card{margin-bottom:1rem}.install-wrap h1{font-size:2.7rem;margin:.3rem 0}.check-row{display:flex;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid var(--line)}.ok{color:var(--green)}.bad{color:var(--red)}label{display:grid;gap:.35rem;margin:.7rem 0;color:var(--muted);font-size:.9rem}input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;background:rgba(0,0,0,.15);color:var(--text);border:1px solid var(--line);border-radius:.7rem;padding:.72rem}input[type="checkbox"],input[type="radio"]{width:auto;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}textarea{min-height:100px;resize:vertical}.notice{padding:.9rem 1rem;border-radius:.8rem;margin:.7rem 0}.notice.error{background:rgba(255,101,122,.12);border:1px solid rgba(255,101,122,.35)}.notice.success{background:rgba(56,211,159,.12);border:1px solid rgba(56,211,159,.35)}.study-layout{display:grid;grid-template-columns:270px 1fr;gap:2rem}.study-nav{position:sticky;top:5rem;height:max-content;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem}.study-nav h2{margin:.2rem .5rem 1rem}.study-nav a{display:flex;align-items:center;gap:.7rem;padding:.7rem;border-radius:.7rem;color:var(--muted)}.study-nav a.active,.study-nav a:hover{background:var(--line);color:var(--text)}.study-nav a div{display:flex;flex-direction:column}.study-nav small{font-size:.7rem}.study-content h1{font-size:clamp(2.2rem,5vw,4rem)}.goal-box,.tip-box{padding:1.1rem;border-radius:1rem;margin:1rem 0}.goal-box{background:rgba(128,108,255,.12);border:1px solid rgba(128,108,255,.3)}.tip-box{background:rgba(240,199,94,.09);border:1px solid rgba(240,199,94,.28)}.lesson-cards{display:grid;gap:1rem}.lesson-cards article{padding:1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:1rem}.lesson-title{display:flex;justify-content:space-between;gap:1rem}.lesson-title h2{margin:0}.speak-btn{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:.6rem;cursor:pointer}.example,.memory{margin:.9rem 0;padding:.8rem;border-radius:.7rem;background:rgba(0,167,196,.08)}.memory{background:rgba(240,199,94,.08)}.do-dont{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.do-dont p{padding:.7rem;border:1px solid var(--line);border-radius:.7rem}.progress-list{display:grid;gap:1rem}.progress-label{display:flex;justify-content:space-between}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:.78rem;text-transform:uppercase}.footer{padding:2rem clamp(1rem,4vw,4rem);border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.login-body{display:grid;place-items:center;padding:1rem}.login-card{width:min(440px,100%);padding:2rem;background:var(--panel);border:1px solid var(--line);border-radius:1.2rem;box-shadow:var(--shadow)}.login-card .brand-mark{margin:auto}.login-card h1{text-align:center}.login-card p{text-align:center;color:var(--muted)}.hidden{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media(max-width:980px){.topbar nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-orbit{min-height:300px}.module-grid{grid-template-columns:repeat(2,1fr)}.study-layout{grid-template-columns:1fr}.study-nav{position:static;display:flex;overflow:auto}.study-nav h2{display:none}.study-nav a{min-width:150px}.usage-strip{grid-template-columns:repeat(3,1fr)}.usage-strip p{grid-column:1/-1}.stat-grid,.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.page-shell{width:min(100% - 1rem,1260px);padding-top:1rem}.topbar{padding:.65rem}.brand small{display:none}.hero h1{font-size:2.55rem}.hero-orbit{display:none}.module-grid,.grid.two,.do-dont{grid-template-columns:1fr}.stat-grid{gap:.5rem}.module-card p{min-height:auto}.usage-strip{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}}@media(prefers-reduced-motion:no-preference){.module-card,.btn{transition:.2s ease}.module-card:hover{transform:translateY(-4px)}}