@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090b12;--surface:#111522;--surface2:#171d2d;--line:#252d40;--text:#f4f6ff;--muted:#9ba6bd;--accent:#9b8cff;--accent2:#6c5ce7;--mint:#71e3c0;--danger:#ff8294;--shadow:0 24px 70px #0007}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 12% -5%,#29234d 0,transparent 34%),radial-gradient(ellipse at 100% 15%,#102e39 0,transparent 27%),var(--bg);color:var(--text);font:15px 'DM Sans',sans-serif}
header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100% - 1240px)/2),28px);border-bottom:1px solid #ffffff12;background:#090b12b8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}
header a{font:800 22px 'Manrope';letter-spacing:-1px;color:#fff;text-decoration:none}header a:first-letter{color:var(--accent)}header #who{font-size:13px;color:var(--muted)}
main{max-width:1240px;margin:auto;padding:48px 28px}.hero{max-width:590px}.hero h1{font:800 clamp(48px,7vw,78px)/1.02 'Manrope';letter-spacing:-4px;margin:20px 0}.hero em{font-style:normal;background:linear-gradient(100deg,#b9adff,#7cddce);background-clip:text;color:transparent}.hero p,p{color:var(--muted);line-height:1.75}.hero p{font-size:17px;max-width:490px}small{color:#b5aaff;letter-spacing:2px;font-weight:700;font-size:11px}
.panel{background:linear-gradient(145deg,#171d2bdf,#101522f2);border:1px solid #ffffff13;border-radius:20px;padding:26px;margin:20px 0;box-shadow:0 12px 36px #0002;backdrop-filter:blur(12px)}
#auth{display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:9vw;min-height:calc(100vh - 150px);padding-top:34px}.panel:has(#form){padding:30px}.tabs{display:flex;gap:8px;padding:5px;background:#0b0f19;border:1px solid var(--line);border-radius:13px;margin-bottom:24px}.tabs button{flex:1;background:transparent;border:0;color:var(--muted)}.tabs button:focus,.tabs button:hover{background:#25213e;color:#fff}
button{cursor:pointer;border:1px solid var(--line);background:#1a2131;color:#edf0ff;border-radius:11px;padding:12px 16px;font:600 14px 'DM Sans';transition:transform .18s,border-color .18s,background .18s}button:hover{border-color:#8879ed;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.primary{background:linear-gradient(115deg,#9a89ff,#6d5ce6);border:0;color:white;font-weight:700;box-shadow:0 8px 24px #806cf044}.primary:hover{background:linear-gradient(115deg,#aa9cff,#7969f0)}
input,textarea{width:100%;padding:14px 15px;margin:8px 0 17px;background:#0b101b;border:1px solid #2a3449;border-radius:11px;color:white;font:inherit;outline:none;transition:border .2s,box-shadow .2s}input:focus,textarea:focus{border-color:#8e80f5;box-shadow:0 0 0 3px #8e80f522}input::placeholder,textarea::placeholder{color:#69758d}textarea{min-height:125px;resize:vertical}label{display:block;color:#d2d8e8;font-size:13px;font-weight:600;margin-top:8px}form .primary{width:100%}.hide{display:none!important}
#app{padding-top:26px}.page{padding:26px 0;max-width:980px}.page h1,.admin h1{font:800 36px 'Manrope';letter-spacing:-1.5px;margin:8px 0 12px}.page>p{margin-top:0}
nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:9px;background:#111624c9;border:1px solid var(--line);border-radius:15px;position:sticky;top:86px;z-index:5;backdrop-filter:blur(16px)}nav button{background:transparent;border-color:transparent;color:#aeb8cd}nav button:hover,nav button:focus{background:#292544;color:#fff;border-color:#51477d}nav #logout{margin-left:auto;color:#ffb0b9}
.messages{height:48vh;min-height:300px;overflow:auto;background:#0b101b;border:1px solid var(--line);border-radius:16px;padding:20px;margin:22px 0;display:flex;flex-direction:column;gap:12px}.ai,.user{padding:13px 16px;border-radius:15px;max-width:82%;white-space:pre-wrap;line-height:1.7;margin:0}.ai{background:#1b2333;border:1px solid #2a354b;align-self:flex-start}.user{background:linear-gradient(120deg,#51438c,#6959bd);margin-left:auto;color:#fff}
#chatForm{display:flex;gap:10px;align-items:center}#chatForm input{flex:1;margin:0}#chatForm button{white-space:nowrap}
#quizResult .panel,#cardResult .panel,#noteList .panel{margin-top:14px}.stat{background:linear-gradient(145deg,#1a2132,#121827);padding:20px;border:1px solid var(--line);border-radius:15px}.stat b{display:block;font:800 30px 'Manrope';margin-top:8px;color:#fff}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin:22px 0}.scroll{overflow:auto;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#b7c0d4;font-size:11px;text-transform:uppercase;letter-spacing:1px}td{color:#e3e8f4}.good{color:var(--mint)}.bad{color:var(--danger)}.actions{display:flex;gap:6px}.actions button{padding:7px 10px;font-size:11px}.log{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}pre{white-space:pre-wrap;line-height:1.75;background:#0b101b;border:1px solid var(--line);padding:18px;border-radius:13px;color:#e8eaff}
.admin{max-width:1240px}.heading{display:flex;gap:18px;align-items:center;justify-content:space-between}.admin #login{max-width:440px;margin:70px auto}
#msg,#adminMsg{min-height:22px;font-size:13px;color:#ffb2bc}
@media(max-width:900px){#auth{grid-template-columns:1fr;gap:18px;max-width:650px;margin:auto}.hero h1{font-size:56px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){header{padding:0 18px;height:66px}main{padding:28px 17px}#auth{min-height:auto;padding-top:36px}.hero h1{font-size:48px;letter-spacing:-2.8px}.hero p{font-size:15px}.panel{padding:19px;border-radius:16px}.panel:has(#form){padding:21px}nav{top:72px;gap:4px}nav button{padding:10px;font-size:12px}nav #logout{margin-left:0}#chatForm{flex-wrap:wrap}#chatForm input{flex-basis:100%}#chatForm button{flex:1}.page h1,.admin h1{font-size:30px}.messages{height:43vh;padding:13px}.ai,.user{max-width:94%}.stats{gap:8px}.stat{padding:14px}.stat b{font-size:25px}.heading{align-items:flex-start}.actions{flex-wrap:wrap}}

/* Eduora v6.5 study planner and interactive practice states */
.plannerSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px}
.taskRow{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:10px 0}
.taskLabel{display:flex;align-items:center;gap:12px;flex:1;min-width:0;margin:0;cursor:pointer}
.taskLabel input{width:18px;height:18px;margin:0;accent-color:#9b8cff;flex:0 0 auto}
.taskLabel span{overflow-wrap:anywhere;color:var(--text)}
.taskLabel .taskDone{text-decoration:line-through;color:var(--muted)}
.taskRow small{letter-spacing:0;color:var(--muted);font-size:12px;white-space:nowrap}
.quizQuestion h3{line-height:1.5}
.quizOptions{display:grid;gap:9px;margin-top:16px}
.quizOption{text-align:left;white-space:normal;line-height:1.5}
.quizOption.correct{border-color:#45c99e;background:#14382f;color:#b9ffe7}
.quizOption.incorrect{border-color:#ed7185;background:#3b1e2a;color:#ffd4dc}
.explanation{padding:12px 14px;border-left:3px solid var(--accent);background:#0b101b;border-radius:0 10px 10px 0}
.scorePanel{text-align:center}
.scoreNumber{font:800 48px 'Manrope';color:var(--mint);margin:8px}
.flashcard{display:block;width:100%;min-height:210px;font-size:clamp(20px,3vw,28px);line-height:1.5;text-align:center;cursor:pointer}
.flashcardControls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.muted{color:var(--muted)}
@media(max-width:600px){.plannerSummary{gap:8px}.taskRow{align-items:flex-start;flex-wrap:wrap}.taskRow small{margin-left:30px}.taskRow>button{margin-left:auto}.flashcard{min-height:180px}}
