:root{
--bg:#07111f;--bg2:#0b1728;--card:#0e1d31;--line:#1b3550;--text:#edf7ff;--muted:#91a8bd;
--cyan:#55e6ff;--violet:#9b7cff;--green:#62e6a4;--orange:#ffb45c;--danger:#ff718a;
--shadow:0 20px 60px rgba(0,0,0,.32)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 10%,#122b47 0,transparent 30%),radial-gradient(circle at 85% 80%,#251c50 0,transparent 30%),var(--bg);color:var(--text);font:15px/1.65 Inter,Segoe UI,Arial,sans-serif;min-height:100vh}
button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.glass{background:rgba(14,29,49,.82);border:1px solid rgba(85,230,255,.15);backdrop-filter:blur(18px);box-shadow:var(--shadow)}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.auth-card{width:min(510px,100%);padding:42px;border-radius:28px;position:relative;z-index:2}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);border-radius:15px;font-size:27px;margin-bottom:22px;box-shadow:0 0 30px #55e6ff22}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--cyan);font-weight:700}.auth-card h1{font-size:48px;line-height:1.05;margin:12px 0}.auth-card h1 span{color:var(--cyan)}.auth-card p{color:var(--muted);margin-bottom:25px}.auth-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.25}.orb-a{width:420px;height:420px;background:var(--cyan);top:-170px;right:-120px}.orb-b{width:360px;height:360px;background:var(--violet);bottom:-180px;left:-120px}
.auth-tabs{display:flex;gap:6px;background:#081525;padding:5px;border-radius:12px;margin:20px 0}.tab{flex:1;border:0;background:transparent;color:var(--muted);padding:10px;border-radius:9px}.tab.active{background:#17304a;color:#fff}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;color:#b8cce0;font-size:13px}.auth-form input,.auth-form textarea,.auth-form select{width:100%;background:#071322;border:1px solid var(--line);color:#fff;border-radius:10px;padding:12px;outline:none}.auth-form input:focus,.auth-form textarea:focus{border-color:var(--cyan)}.password-wrap{display:flex}.password-wrap input{border-radius:10px 0 0 10px}.password-wrap button{width:48px;background:#10243a;color:var(--cyan);border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0}.primary-btn,.secondary-btn,.danger-btn{border:0;border-radius:11px;padding:12px 17px;font-weight:700}.primary-btn{background:linear-gradient(100deg,var(--cyan),#8bdcff);color:#03111c}.secondary-btn{background:#14273d;color:#d9ecff;border:1px solid var(--line)}.danger-btn{background:#351a25;color:#ffb6c2;border:1px solid #5a2738}.muted{color:var(--muted);display:block;margin-top:16px}
.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 24px;background:#07111fe8;backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px}.brand>span{color:var(--cyan);font-size:26px}.brand b{display:block;letter-spacing:2px}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.5px}.student-chip{margin-left:auto;color:#bcd2e6;background:#102238;border:1px solid var(--line);padding:7px 12px;border-radius:99px;font-size:12px}.icon-btn{border:1px solid var(--line);background:#102238;color:#fff;border-radius:10px;padding:8px 12px}
.app-layout{display:flex;min-height:calc(100vh - 70px)}.sidebar{width:220px;border-right:1px solid var(--line);padding:18px 12px;background:#07111fd9}.nav-item{width:100%;border:0;background:transparent;color:#8da6bd;text-align:left;padding:12px 14px;border-radius:10px;margin-bottom:5px}.nav-item:hover,.nav-item.active{background:#102840;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--cyan)}.nav-item span{margin-left:10px}
#mainContent,.teacher-main{width:min(1180px,100%);margin:auto;padding:34px}.hero{padding:25px 0 15px;display:grid;grid-template-columns:1.4fr .8fr;gap:25px;align-items:center}.hero h2{font-size:44px;line-height:1.08;margin:8px 0}.hero h2 span{color:var(--cyan)}.hero p{color:var(--muted);max-width:700px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:rgba(14,29,49,.75);border:1px solid var(--line);border-radius:18px;padding:20px}.card h3{margin:5px 0 7px}.card p{color:var(--muted);margin:0}.metric{font-size:30px;font-weight:800}.section-title{margin:30px 0 15px}.pill{display:inline-block;border:1px solid #2c506b;color:#a8cde3;border-radius:99px;padding:4px 9px;font-size:11px}.progress{height:8px;background:#091726;border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:99px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}
.material-nav{display:flex;gap:7px;overflow:auto;padding:8px 0 15px}.material-nav button{white-space:nowrap;background:#0c1c2e;border:1px solid var(--line);color:#91a8bd;border-radius:9px;padding:9px 13px}.material-nav button.active{color:#fff;border-color:var(--cyan);background:#12314a}.lesson{max-width:900px}.lesson h2{font-size:32px;margin-bottom:6px}.lesson h3{color:var(--cyan);margin-top:25px}.lesson li{margin:7px 0;color:#c4d5e4}.callout{border-left:3px solid var(--cyan);background:#0a1c2d;padding:14px 17px;margin:16px 0;border-radius:0 10px 10px 0}.visual-flow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:18px 0}.flow-node{padding:13px 17px;background:#112941;border:1px solid #27506c;border-radius:12px;text-align:center}.flow-arrow{color:var(--cyan);font-size:22px}
.question{padding:18px;border:1px solid var(--line);border-radius:15px;margin:14px 0;background:#0b192a}.question label{display:block;margin:9px 0;color:#c7d8e6}.question input[type=radio]{accent-color:var(--cyan)}.feedback{margin-top:12px;padding:10px;border-radius:9px;background:#101f31;color:#a9c4d8}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.choice{padding:14px;background:#0a192a;border:1px solid var(--line);border-radius:12px;color:#d9e7f3;text-align:left}.choice.selected{border-color:var(--cyan);background:#10304a}.choice.correct{border-color:var(--green)}.choice.wrong{border-color:var(--danger)}
.sort-zone{min-height:60px;border:1px dashed #41647b;border-radius:12px;padding:9px;display:flex;gap:7px;flex-wrap:wrap}.sort-item{padding:10px 12px;background:#122940;border:1px solid #2a526b;border-radius:9px;cursor:grab}.drop-target{min-height:110px;padding:12px;border:1px dashed #41647b;border-radius:12px}.info-list{display:grid;gap:8px}.info-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #1a3045}.teacher-main h1{font-size:36px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input,.toolbar select{background:#0a1929;color:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid var(--line);text-align:left}.data-table th{color:#8faac0;font-size:12px}.score{font-weight:800;color:var(--cyan)}
.toast{position:fixed;right:20px;bottom:20px;background:#122a40;color:#fff;border:1px solid #315a72;padding:12px 17px;border-radius:10px;z-index:50;transform:translateY(20px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:none;opacity:1}
@media(max-width:800px){.sidebar{width:66px}.nav-item span{display:none}.nav-item{text-align:center;padding:12px 4px}.hero{grid-template-columns:1fr}.grid,.grid.two{grid-template-columns:1fr}.hero h2{font-size:35px}#mainContent,.teacher-main{padding:22px 16px}.auth-card{padding:30px 23px}.auth-card h1{font-size:39px}.topbar{padding:0 14px}.student-chip{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-grid{grid-template-columns:1fr}}
