:root{
  --bg:#07090f;--bg2:#0c1018;--panel:#121828;--panel2:#181f32;--panel3:#1e2740;
  --border:#253050;--text:#e4e8f0;--muted:#9aa4bc;--dim:#5e6a88;
  --teal:#3dd9a0;--cyan:#00d4ff;--amber:#ffb820;--coral:#ff6b6b;--violet:#9b6dff;
  --teal-dim:rgba(61,217,160,.10);--cyan-dim:rgba(0,212,255,.10);--amber-dim:rgba(255,184,32,.10);--coral-dim:rgba(255,107,107,.10);--violet-dim:rgba(155,109,255,.10);
  --mono:"SFMono-Regular","Consolas",monospace;--font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:Orbitron,Impact,var(--mono);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 0,rgba(0,212,255,.12),transparent 28rem),radial-gradient(circle at 80% 12%,rgba(155,109,255,.10),transparent 20rem),linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text);font-family:var(--font)}
a{color:inherit;text-decoration:none}.shell{max-width:1180px;margin:0 auto;padding:1rem}.topbar{position:sticky;top:0;z-index:10;background:rgba(7,9,15,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.topbar .inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem}.brand{display:flex;align-items:center;gap:.75rem}.brandMark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--cyan),var(--teal));color:var(--bg);display:grid;place-items:center;font-weight:900;box-shadow:0 0 24px rgba(0,212,255,.25)}.brand small{display:block;color:var(--teal);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}.brand strong{font-family:var(--display);letter-spacing:.05em}.nav{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.nav a,.nav button,.btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:12px;padding:.65rem .85rem;font-family:var(--mono);font-size:.78rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.nav a.active,.btn.primary{background:var(--teal);color:var(--bg);border-color:var(--teal)}.btn.ghost{background:transparent}.btn.warn{color:var(--amber);border-color:rgba(255,184,32,.5)}.btn.danger{color:var(--coral);border-color:rgba(255,107,107,.5)}.hero{border:1px solid var(--border);background:linear-gradient(135deg,rgba(18,24,40,.96),rgba(30,39,64,.9));border-radius:28px;padding:clamp(1rem,3vw,2rem);margin:1rem 0;box-shadow:0 18px 50px rgba(0,0,0,.25);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-8rem;bottom:-8rem;width:24rem;height:24rem;background:radial-gradient(circle,var(--cyan-dim),transparent 68%)}.hero h1{font-family:var(--display);color:var(--cyan);font-size:clamp(2rem,5vw,4.2rem);line-height:1;margin:.2rem 0 .8rem}.hero p{max-width:780px;color:var(--muted);line-height:1.6}.kicker{font-family:var(--mono);font-size:.72rem;color:var(--teal);letter-spacing:.16em;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.card{border:1px solid var(--border);background:var(--panel);border-radius:20px;padding:1rem;box-shadow:0 10px 32px rgba(0,0,0,.18)}.card h2,.card h3{font-family:var(--display);letter-spacing:.04em;margin:.1rem 0 .55rem}.card h2{color:var(--cyan)}.card h3{color:var(--teal);font-size:1rem}.card p,.card li{color:var(--muted);line-height:1.55}.pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:var(--panel2);border-radius:999px;padding:.38rem .65rem;font-family:var(--mono);font-size:.7rem;color:var(--muted);margin:.12rem}.pill.ok{color:var(--teal);background:var(--teal-dim);border-color:rgba(61,217,160,.35)}.pill.warn{color:var(--amber);background:var(--amber-dim);border-color:rgba(255,184,32,.35)}.pill.bad{color:var(--coral);background:var(--coral-dim);border-color:rgba(255,107,107,.35)}.panelTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.stat{background:var(--panel2);border:1px solid var(--border);border-radius:16px;padding:.85rem}.stat span{display:block;color:var(--dim);font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.stat strong{display:block;color:var(--teal);font-family:var(--display);font-size:1.7rem;margin-top:.25rem}.progress{height:10px;background:var(--panel2);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,var(--teal),var(--cyan));width:0}.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:14px}.table th,.table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border);font-size:.88rem}.table th{font-family:var(--mono);font-size:.68rem;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.table td{color:var(--muted)}.notice{border-left:4px solid var(--cyan);background:var(--cyan-dim);padding:.85rem;border-radius:14px;color:var(--muted);line-height:1.5}.notice.warn{border-left-color:var(--amber);background:var(--amber-dim)}.notice.bad{border-left-color:var(--coral);background:var(--coral-dim)}.authBox{max-width:520px;margin:4rem auto}.hidden{display:none!important}.footer{color:var(--dim);font-family:var(--mono);font-size:.72rem;text-align:center;padding:2rem 1rem}.lessonFrame{width:100%;height:calc(100vh - 78px);border:0;display:block;background:#07090f}.framePage{margin:0;overflow:hidden}.roleBadge{color:var(--amber)}.wordList{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.wordCard{background:var(--panel2);border:1px solid var(--border);border-radius:16px;padding:.85rem}.wordCard strong{font-family:var(--display);color:var(--text)}.wordCard small{display:block;color:var(--dim);font-family:var(--mono);font-size:.68rem;margin:.2rem 0}.actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}@media(max-width:720px){.topbar .inner{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.hero h1{font-size:2.2rem}.shell{padding:.75rem}.table{display:block;overflow:auto}.lessonFrame{height:calc(100vh - 120px)}}
