/* ReverseEngine classroom — cyberpunk theme shared across education tools. */
:root{--cyber-void:#0a0616;--cyber-panel:#100a1e;--cyber-panel2:#150c26;--cyber-cyan:#b455ff;--cyber-pink:#ff2bd6;--cyber-acid:#ffb000;--cyber-white:#f4eaff;--cyber-muted:#8f86aa;--cyber-line:rgba(180,85,255,.18);--p:var(--cyber-cyan);--p2:#8b5cf6;--pd:#a855f7;--s:var(--cyber-pink);--a:#ffb000;--g:#ffa02e;--r:#ff5263;--bg:var(--cyber-void);--sf:var(--cyber-panel);--sf2:var(--cyber-panel2);--sf3:#180f28;--bd:var(--cyber-line);--txt:var(--cyber-white);--muted:var(--cyber-muted);--card:var(--cyber-panel);--ink:var(--cyber-white);--green:var(--cyber-cyan);--lime:var(--cyber-acid);--line:var(--cyber-line);--red:#ff5263;--amber:#ffb000;--blue:var(--cyber-cyan);--shad:0 18px 50px rgba(0,0,0,.4)}
html{accent-color:var(--cyber-cyan)}body{background:radial-gradient(circle at 85% 5%,rgba(255,43,214,.08),transparent 28%),var(--cyber-void)!important;color:var(--cyber-white)!important}body::before{background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.012) 3px 4px)!important}.topbar{background:rgba(10,6,22,.9)!important;border-color:var(--cyber-line)!important}.card,.panel,.result-card,.stat-card,.sess-item,.peer-card,.modal-box,.confirm-card,.step-card,.connect-card{background:linear-gradient(145deg,rgba(21,12,38,.98),rgba(10,6,22,.98))!important;border-color:var(--cyber-line)!important;border-radius:2px!important;box-shadow:var(--shad)!important}.back-btn,.user-chip,.session-chip,.copy-btn,.btn-outline,.tab,.student-card,.class-card,.info-box,.result-item{background:var(--cyber-panel2)!important;border-color:var(--cyber-line)!important;color:var(--cyber-white)!important}.back-btn:hover,.student-card:hover,.class-card:hover,.tab:hover{border-color:var(--cyber-cyan)!important;color:var(--cyber-cyan)!important}h1,.page-title h1{background:none!important;-webkit-text-fill-color:initial!important;color:var(--cyber-white)!important;text-shadow:3px 3px 0 rgba(255,43,214,.25)}.badge,.section-label,.step-num,.stat-val,.score,.sess-score,.bar-val,.crit-score{color:var(--cyber-cyan)!important}.badge,.logo{background:rgba(180,85,255,.06)!important;border-color:var(--cyber-line)!important;color:var(--cyber-cyan)!important;border-radius:2px!important}input[type=text],input[type=email],input[type=url],input[type=search],select,textarea{background:#100a1e!important;border-color:var(--cyber-line)!important;color:var(--cyber-white)!important;border-radius:2px!important}input:focus,select:focus,textarea:focus{border-color:var(--cyber-cyan)!important;box-shadow:0 0 0 3px rgba(180,85,255,.1)!important}.btn-primary,.btn-submit,.ab-primary,.modal-btn-save,button.primary{background:var(--cyber-cyan)!important;border-color:var(--cyber-cyan)!important;color:#0a0616!important;border-radius:2px!important;box-shadow:0 0 22px rgba(180,85,255,.16)!important}.btn-success,.ab-success{background:#ffa02e!important;color:#0a0616!important}.seg-in:checked+.seg-lbl,.grade-badge.active,.tab.active{background:var(--cyber-cyan)!important;color:#0a0616!important}.chip-cb:checked+.chip-lb{background:rgba(180,85,255,.1)!important;border-color:var(--cyber-cyan)!important;color:var(--cyber-white)!important}.prog-mini-fill,.bar-fill,input[type=range]{background-color:var(--cyber-cyan)}.step.active .step-dot,.step.done .step-dot,.check-mark,.sc-check{background:var(--cyber-cyan)!important;color:#0a0616!important}.md-block,.md-pre{background:#05030c!important;border-color:var(--cyber-line)!important;color:#dcd5ea!important}.toast{background:#100a1e!important;border-color:var(--cyber-cyan)!important;color:var(--cyber-white)!important}.status.ok,.status-done{background:rgba(255,160,46,.1)!important;color:#ffd271!important}.status.wait,.status-partial,.privacy,.warn{background:rgba(255,176,0,.09)!important;color:#ffd271!important}.status.err{background:rgba(255,82,99,.1)!important;color:#ff8793!important}::selection{background:var(--cyber-pink);color:white}.science-nav{position:sticky;top:0;z-index:1000;width:100%;height:64px;display:flex;align-items:center;gap:22px;padding:0 clamp(14px,4vw,54px);background:rgba(10,6,22,.94);border-bottom:1px solid var(--cyber-line);box-shadow:0 7px 24px rgba(0,0,0,.25);backdrop-filter:blur(16px)}.science-nav-brand{display:flex;align-items:center;gap:9px;color:var(--cyber-white)!important;text-decoration:none;white-space:nowrap}.science-nav-brand span{width:31px;height:31px;display:grid;place-items:center;background:var(--cyber-cyan);color:#0a0616;font-style:normal;clip-path:polygon(20% 0,100% 0,100% 72%,72% 100%,0 100%,0 20%)}.science-nav-brand b{font-size:.88rem;letter-spacing:.04em;text-transform:uppercase}.science-nav-links{display:flex;align-items:center;gap:3px;min-width:0;margin-left:auto}.science-nav-link{display:flex;align-items:center;gap:6px;padding:9px 11px;color:var(--cyber-muted)!important;text-decoration:none;font-size:.72rem;font-weight:700;white-space:nowrap;text-transform:uppercase;transition:.18s}.science-nav-link:hover{background:rgba(180,85,255,.05);color:var(--cyber-cyan)!important}.science-nav-link.active{background:var(--cyber-cyan);color:#0a0616!important}.science-nav-link i{font-style:normal}.course-card,.class-card{background:linear-gradient(145deg,#150c26,#100a1e)!important;border-color:var(--cyber-line)!important;border-radius:2px!important}.course-card.selected,.class-card.selected,.student-card.selected{background:linear-gradient(145deg,rgba(180,85,255,.12),#100a1e)!important;border-color:var(--cyber-cyan)!important;box-shadow:0 0 20px rgba(180,85,255,.12)!important}.course-badge,.class-badge,.class-badge-cnt{background:rgba(255,43,214,.1)!important;color:var(--cyber-pink)!important}body>.topbar{top:64px!important}@media(max-width:820px){.science-nav{height:58px;padding:0 10px;gap:8px}.science-nav-brand b{display:none}.science-nav-brand span{width:30px;height:30px}.science-nav-links{overflow-x:auto;scrollbar-width:none;margin-left:0;flex:1}.science-nav-links::-webkit-scrollbar{display:none}.science-nav-link{padding:8px 10px}.science-nav-link i{display:none}body>.topbar{top:58px!important}}@media(max-width:480px){.science-nav-link{font-size:.68rem;padding:8px 8px}}
