:root{--bg:#f4f7fb;--card:#fff;--ink:#162033;--muted:#6b7588;--primary:#5b4df7;--primary2:#7c3aed;--accent:#12b8a6;--line:#e6eaf1;--danger:#d9475f;--shadow:0 18px 50px rgba(29,41,71,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 10% 0,#eef0ff 0,transparent 28%),var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.topbar{height:72px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:30}.brand{font-size:24px;font-weight:900;letter-spacing:-.7px}.brand span{color:var(--primary)}nav{display:flex;gap:8px;align-items:center}nav>a{padding:9px 11px;border-radius:10px;color:#4f5a70;font-weight:650}nav>a:hover{background:#f0f2f8;color:var(--ink)}.container{max-width:1280px;margin:28px auto;padding:0 20px}.hero{padding:74px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}.hero h1{font-size:clamp(44px,6vw,72px);line-height:.98;margin:0 0 20px;letter-spacing:-3px}.hero p{font-size:20px;color:var(--muted);line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:12px 18px;border-radius:13px;border:0;cursor:pointer;font-weight:800;box-shadow:0 8px 20px rgba(91,77,247,.18)}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn.small{padding:8px 12px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.card h3{margin-top:0}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:var(--primary);margin-bottom:8px}.progress{height:9px;background:#e9edf5;border-radius:20px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .35s}.form{max-width:560px;margin:34px auto}.form label{display:block;font-weight:750;margin:14px 0 7px}.form input,.form select,.form textarea{width:100%;padding:13px 14px;border:1px solid #dce1eb;border-radius:13px;background:#fff;outline:none}.form input:focus,.form textarea:focus,.form select:focus{border-color:#9e96ff;box-shadow:0 0 0 4px rgba(91,77,247,.09)}.form textarea{min-height:125px}.alert{padding:12px 14px;border-radius:12px;background:#fff0f3;color:#b62f49;border:1px solid #ffd6df;margin-bottom:15px}.success{padding:12px 14px;border-radius:12px;background:#edfff9;color:#087a68;border:1px solid #c6f6e8;margin-bottom:15px}.stat{font-size:30px;font-weight:900}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:11px;border-bottom:1px solid var(--line)}footer{text-align:center;padding:42px;color:var(--muted)}
/* Classroom */.classroom-shell{display:grid;grid-template-columns:240px minmax(0,1fr) 245px;gap:16px;align-items:start}.lesson-panel,.coach-panel{position:sticky;top:94px}.lesson-panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.lesson-panel h2{font-size:23px;margin:5px 0 9px;line-height:1.15}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:16px}.path-chip{font-size:12px;background:#f3f2ff;color:#5648d8;border-radius:10px;padding:7px 9px;display:inline-block}.mastery-card{margin:18px 0;padding:14px;border-radius:14px;background:#f7f8fc}.mastery-row{display:flex;justify-content:space-between;margin-bottom:8px}.mastery-card small{display:block;margin-top:7px;color:var(--muted)}.lesson-objective{font-size:14px;line-height:1.55}.side-actions{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:12px}.side-actions a{padding:9px;border-radius:10px;font-weight:700;font-size:14px}.side-actions a:hover{background:#f5f6fa}.teacher-workspace{min-width:0;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.teacher-head{height:68px;padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px}.teacher-head>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.teacher-head span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#9f6fff);color:#fff;display:grid;place-items:center;font-weight:900}.icon-btn{margin-left:auto;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 11px;cursor:pointer}.mode-strip{display:flex;gap:7px;padding:10px 12px;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.mode-strip::-webkit-scrollbar{display:none}.mode{flex:0 0 auto;padding:9px 11px;border:1px solid var(--line);background:#fff;border-radius:12px;cursor:pointer;font-weight:750;color:#546076}.mode span{margin-right:4px}.mode.active{background:#171b2f;color:#fff;border-color:#171b2f}.chat{height:min(57vh,610px);min-height:430px;overflow:auto;padding:22px;background:linear-gradient(180deg,#fbfcff 0,#fff 36%)}.bubble{max-width:80%;padding:13px 15px;border-radius:17px;margin:12px 0;white-space:pre-wrap;line-height:1.55;font-size:15px}.bubble.user{margin-left:auto;background:linear-gradient(135deg,#5b4df7,#7769f8);color:#fff;border-bottom-right-radius:5px}.bubble.ai{background:#f1f4f9;border:1px solid #e7eaf0;border-bottom-left-radius:5px}.bubble-role{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-bottom:4px}.typing{font-size:13px;color:var(--muted);padding:0 22px 10px}.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8a93a7;margin-right:2px;animation:pulse 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes pulse{50%{opacity:.25;transform:translateY(-2px)}}.suggestion-row{display:flex;gap:7px;padding:0 14px 10px;overflow-x:auto}.suggestion-row button,.quick{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;cursor:pointer;color:#58647a;font-weight:700;font-size:12px;white-space:nowrap}.suggestion-row button:hover,.quick:hover{border-color:#bab4ff;background:#f8f7ff;color:#4d41d1}.composer{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:end;padding:12px;border-top:1px solid var(--line);background:#fff}.composer textarea{resize:none;width:100%;min-height:52px;max-height:140px;border:1px solid #dfe3ec;border-radius:14px;padding:13px 14px;outline:none}.composer textarea:focus{border-color:#9c94ff;box-shadow:0 0 0 4px rgba(91,77,247,.08)}.talk-btn,.send-btn{height:52px;border:0;border-radius:14px;cursor:pointer;font-weight:850}.talk-btn{background:#eef0f6;color:#303a4e;padding:0 14px}.talk-btn.listening{background:#ffe6eb;color:#b72745;animation:micpulse 1.4s infinite}@keyframes micpulse{50%{box-shadow:0 0 0 7px rgba(217,71,95,.09)}}.send-btn{background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;padding:0 17px}.voice-status{padding:0 14px 12px;color:#8a93a5;font-size:11px}.coach-panel{display:grid;gap:12px}.coach-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(29,41,71,.05)}.coach-card h3,.coach-card h4{margin:4px 0 8px}.coach-icon{width:34px;height:34px;border-radius:11px;background:#fff0c9;display:grid;place-items:center}.quick{display:block;width:100%;text-align:left;margin-top:7px;white-space:normal}
.lesson-card{transition:transform .18s,box-shadow .18s}.lesson-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(29,41,71,.12)}.subject-badge{display:inline-block;padding:6px 9px;border-radius:9px;background:#f2f1ff;color:#5447d9;font-size:12px;font-weight:800}.auth-wrap{min-height:72vh;display:grid;place-items:center}.auth-card{width:min(480px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.auth-card h1{margin:0 0 8px;font-size:34px}.auth-card .btn{width:100%;margin-top:14px}
@media(max-width:1050px){.classroom-shell{grid-template-columns:210px minmax(0,1fr)}.coach-panel{display:none}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container{margin:14px auto;padding:0 10px}.topbar{height:64px;padding:0 14px}.brand{font-size:20px}.topbar nav a:not(.btn){display:none}.hero{grid-template-columns:1fr;padding:45px 0}.hero h1{letter-spacing:-2px}.grid,.grid.two{grid-template-columns:1fr}.classroom-shell{grid-template-columns:1fr}.lesson-panel{position:static}.lesson-panel .lesson-objective,.lesson-panel h4,.side-actions{display:none}.teacher-workspace{border-radius:18px}.chat{height:55vh;min-height:360px;padding:14px}.bubble{max-width:90%;font-size:14px}.composer{grid-template-columns:auto 1fr auto}.talk-btn{width:52px;padding:0}.talk-btn #talkLabel{display:none}.send-btn{padding:0 13px}.send-btn>span{display:none}}
/* V2.3 student-created learning paths */
.learn-head,.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.learn-head h1,.admin-page-head h1{margin:0 0 8px}.student-tip{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:linear-gradient(135deg,#f1efff,#eefcff);border:1px solid #dedaff;border-radius:18px;padding:16px 18px;margin:16px 0 22px}.student-tip>span{font-size:28px}.student-tip p{margin:3px 0;color:var(--muted)}.student-tip a{font-weight:850;color:var(--primary)}.lesson-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.my-chip,.isbn-chip,.source-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850}.my-chip{background:#eafbf6;color:#087a68}.isbn-chip{background:#f2f1ff;color:#5749d8}.source-chip{background:#f3f5f9;color:#556176}.student-source{background:#fff4df;color:#93610a}.admin-source{background:#eafbf6;color:#087a68}.book-line{font-size:12px;color:#6b7588;margin:4px 0 14px}.setup-hero{background:linear-gradient(135deg,#171b2f,#5b4df7);color:#fff;border-radius:26px;padding:30px;margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.setup-hero h1{font-size:clamp(34px,5vw,54px);letter-spacing:-2px;margin:4px 0 10px}.setup-hero p{max-width:740px;color:#deddf8;font-size:17px;line-height:1.55;margin:0}.setup-hero .eyebrow{color:#c8c3ff}.setup-steps{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.setup-steps span{padding:7px 9px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:#d8d8e8;font-size:11px;font-weight:800}.setup-steps span.active{background:#fff;color:#302881;border-color:#fff}.setup-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.setup-card{position:relative}.setup-card h2{margin:2px 0 8px}.step-no{position:absolute;right:18px;top:18px;width:34px;height:34px;border-radius:12px;background:#f1efff;color:#5749d8;display:grid;place-items:center;font-weight:900}.setup-card label{display:block;font-weight:780;margin:14px 0 7px}.setup-card input,.setup-card textarea,.setup-card select,.inline-form input,.card select{width:100%;padding:12px 13px;border:1px solid #dce1eb;border-radius:12px;background:#fff;outline:none}.setup-card textarea{min-height:92px;resize:vertical}.setup-card input:focus,.setup-card textarea:focus{border-color:#9e96ff;box-shadow:0 0 0 4px rgba(91,77,247,.08)}.isbn-row{display:grid;grid-template-columns:1fr auto;gap:8px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.book-result{margin-top:10px}.book-placeholder,.book-mini{border:1px dashed #d8dce8;background:#fafbfe;border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center}.book-placeholder{color:var(--muted)}.book-mini img,.book-cover-fallback{width:54px;height:72px;border-radius:8px;object-fit:cover;background:#eef0f6;display:grid;place-items:center;font-size:28px;flex:0 0 auto}.book-mini div:nth-child(2){display:grid;gap:3px}.book-mini span,.book-mini small{color:var(--muted)}.match-card{margin-top:18px}.match-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.match-head h2{margin:0 0 6px}.match-status{background:#f4f5fa;border-radius:999px;padding:7px 10px;color:#6a7488;font-size:11px;font-weight:800;white-space:nowrap}.match-list{display:grid;gap:8px;margin-top:12px}.match-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.match-item>div{display:grid;gap:4px}.match-item span{font-size:12px;color:var(--muted)}.empty-match{padding:18px;border-radius:14px;background:#fafbfe;color:var(--muted);text-align:center;margin-top:12px}.setup-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 2px}.setup-submit span{color:var(--muted)}.reference-chip{display:grid;gap:2px;margin-top:8px;padding:10px 11px;border:1px solid #e1defe;background:#f8f7ff;border-radius:12px;font-size:12px;font-weight:750}.reference-chip small{font-weight:600;color:var(--muted)}.inline-form{display:flex;gap:8px;align-items:center;margin-top:8px}.table-wrap{overflow:auto}
@media(max-width:760px){.learn-head,.admin-page-head,.setup-hero,.setup-submit,.match-head{flex-direction:column;align-items:stretch}.student-tip{grid-template-columns:auto 1fr}.student-tip a{grid-column:2}.setup-grid,.field-pair{grid-template-columns:1fr}.setup-steps{justify-content:flex-start}.isbn-row{grid-template-columns:1fr}.match-item{align-items:flex-start;flex-direction:column}.match-item .btn{width:100%}.inline-form{flex-wrap:wrap}.inline-form input{flex:1 1 180px}}

/* Unified teacher/student connection components */
.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:6px 0 0;color:var(--muted)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.btn-light{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line);box-shadow:none}.btn-danger{background:#fff1f2!important;color:#c92b43!important;box-shadow:none}.pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1efff;color:#6648d9;font-size:12px;font-weight:800}.pill.green{background:#e9fbf3;color:#087d56}.pill.amber{background:#fff6df;color:#a56a08}.checkrow{display:flex;flex-wrap:wrap;gap:10px}.checkchip{border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#fff}.checkchip input{margin-right:6px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe3ed;border-radius:12px;padding:12px 13px;font:inherit;background:#fff}.student-card{display:flex;justify-content:space-between;gap:14px;align-items:center}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px}.section-title h2{font-size:19px;margin:0}.empty{text-align:center;padding:35px;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px}th{color:#687189;font-size:12px;text-transform:uppercase}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:auto}.help{font-size:12px;color:var(--muted)}
@media(max-width:760px){.page-head{align-items:start;flex-direction:column}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}

.teacher-source{background:#eaf4ff!important;color:#2165b3!important}
