:root{--bg:#0f1724;--panel:#0b1220;--muted:#94a3b8;--accent:#6ee7b7;--accent-2:#60a5fa}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial;background:linear-gradient(180deg,#071025 0%,#0b1220 100%);color:#e6eef8;height:100vh}
.app{display:flex;height:100vh}
.sidebar{width:320px;background:rgba(255,255,255,0.03);backdrop-filter:blur(6px);padding:20px;display:flex;flex-direction:column}
.brand{font-weight:700;font-size:1.2rem;margin-bottom:12px}
.nav-link{display:inline-block;margin:8px 0;padding:6px 8px;border-radius:6px;color:var(--accent);background:transparent;text-decoration:none}
.student-card{background:rgba(255,255,255,0.02);padding:12px;border-radius:10px}
.controls label{display:block;margin-bottom:10px;color:var(--muted);font-size:0.9rem}
.controls input[type=text],.controls input[type=range],.controls select,.controls input{width:100%;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}
.buttons{display:flex;gap:8px;margin-top:8px}
.buttons button{flex:1;padding:8px;border-radius:6px;border:0;background:rgba(255,255,255,0.04);color:var(--muted);cursor:pointer}
.convos{margin-top:18px;overflow:auto;flex:1}
.convo-item{padding:8px;border-radius:6px;background:rgba(255,255,255,0.02);margin-bottom:8px;font-size:0.9rem}
.chat{flex:1;display:flex;flex-direction:column}
.messages{flex:1;padding:24px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.msg{max-width:78%;padding:12px;border-radius:10px}
.msg.user{align-self:flex-end;background:#152836;color:#e6eef8;border-bottom-right-radius:2px}
.msg.bot{align-self:flex-start;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#05232b;border-bottom-left-radius:2px}
.composer{display:flex;flex-direction:column;padding:14px;border-top:1px solid rgba(255,255,255,0.03)}
.composer textarea{width:100%;height:70px;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit;resize:none}
.composer-row{display:flex;justify-content:flex-end;margin-top:8px}
.send{background:var(--accent);border:0;padding:10px 14px;border-radius:8px;color:#042018;cursor:pointer}
@media(max-width:800px){.sidebar{display:none}.app{flex-direction:column}.chat{height:100vh}}

/* Onboarding overlay */
#onboarding{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(rgba(2,6,23,0.6),rgba(2,6,23,0.6));z-index:60}
.onboard-card{background:var(--panel);padding:24px;border-radius:12px;max-width:420px;width:90%;box-shadow:0 8px 24px rgba(2,6,23,0.6)}
.onboard-card h2{margin:0 0 8px}
.onboard-card label{display:block;margin:8px 0;color:var(--muted)}
.onboard-card input,.onboard-card select{width:100%;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}
