body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--font-display:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--fs:15.5px;--scale:1;--radius:16px;--radius-sm:12px;--radius-lg:22px;--radius-pill:999px;--shadow:0 4px 16px #0f172a0f;--shadow-hover:0 12px 30px #0f172a21;--accent:#6366f1;--accent-2:#7c3aed;--accent-soft:#eef2ff;--bg:#f5f7fb;--card:#fff;--ink:#1e293b;--muted:#64748b;--border:#e9edf5;--header-grad:linear-gradient(135deg,#4f46e5,#7c3aed);--lift:-3px}:root[data-band=elementary]{--font-display:"Fredoka","Nunito",sans-serif;--fs:16.5px;--scale:1.05;--radius:22px;--radius-sm:16px;--radius-lg:28px;--accent:#10b981;--accent-2:#f59e0b;--accent-soft:#ecfdf5;--bg:#fff9f3;--border:#f1e9e0;--header-grad:linear-gradient(135deg,#22c55e,#06b6d4 45%,#8b5cf6);--shadow:0 6px 22px #0f172a17;--shadow-hover:0 16px 36px #0f172a29;--lift:-4px}:root[data-band=middle]{--font-display:"Fredoka","Nunito",sans-serif;--fs:16px;--scale:1.02;--radius:18px;--radius-sm:14px;--radius-lg:24px;--accent:#6366f1;--accent-2:#ec4899;--accent-soft:#eef2ff;--bg:#f6f6fc;--header-grad:linear-gradient(135deg,#6366f1,#a855f7)}:root[data-band=high]{--font-display:"Inter",-apple-system,sans-serif;--font-body:"Inter",-apple-system,sans-serif;--fs:15px;--scale:0.99;--radius:12px;--radius-sm:10px;--radius-lg:16px;--accent:#4f46e5;--accent-2:#0ea5e9;--accent-soft:#eef2ff;--bg:#f8fafc;--border:#e6eaf2;--header-grad:linear-gradient(135deg,#1e293b,#4f46e5);--shadow:0 2px 10px #0f172a0d;--shadow-hover:0 8px 22px #0f172a1a;--lift:-2px}*{box-sizing:border-box;margin:0;padding:0}body{-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;background-attachment:fixed;background-color:#f5f7fb;background-color:var(--bg);background-image:radial-gradient(1200px 600px at 100% -10%,color-mix(in srgb,#6366f1 8%,#0000),#0000 60%),radial-gradient(900px 500px at -10% 110%,color-mix(in srgb,#7c3aed 7%,#0000),#0000 55%);background-image:radial-gradient(1200px 600px at 100% -10%,color-mix(in srgb,var(--accent) 8%,#0000),#0000 60%),radial-gradient(900px 500px at -10% 110%,color-mix(in srgb,var(--accent-2) 7%,#0000),#0000 55%);line-height:1.5;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);text-rendering:optimizeLegibility}::selection{background:color-mix(in srgb,#6366f1 26%,#0000);background:color-mix(in srgb,var(--accent) 26%,#0000);color:#1e293b;color:var(--ink)}*{scrollbar-color:color-mix(in srgb,#64748b 35%,#0000) #0000;scrollbar-color:color-mix(in srgb,var(--muted) 35%,#0000) #0000;scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,#64748b 32%,#0000);background:color-mix(in srgb,var(--muted) 32%,#0000);background-clip:content-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,#64748b 50%,#0000);background:color-mix(in srgb,var(--muted) 50%,#0000);background-clip:content-box}:focus-visible{border-radius:4px;outline:2px solid #6366f1;outline:2px solid var(--accent);outline-offset:2px}.app-container{display:flex;flex-direction:column;min-height:100dvh}.app-body{display:flex;flex:1 1}.app-main{flex:1 1;max-width:960px;min-width:0;padding:1.5rem 2rem}.app-header{box-shadow:inset 0 1px 0 #ffffff1f,0 4px 20px #0f172a2e;color:#fff;height:3.5rem;justify-content:space-between;padding:0 1.5rem;position:sticky;top:0;z-index:100}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:.75rem}.header-right{gap:.5rem}.header-context,.header-right{align-items:center;display:flex}.header-context{background:#ffffff26;border-radius:1rem;font-size:.8rem;gap:.35rem;opacity:.85;padding:.25rem .75rem}.menu-toggle{background:none;border:none;color:#fff;cursor:pointer;display:none;padding:.25rem}.brand{align-items:center;display:flex;gap:.5rem}.brand-icon{font-size:1.5rem}.brand-name{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.brand-sub{font-size:.7rem;margin-left:.25rem;opacity:.7}.pta-brand{color:#7c3aed;font-weight:800}.app-sidebar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in srgb,#fff 88%,#0000);background:color-mix(in srgb,var(--card) 88%,#0000);display:flex;flex-direction:column;flex-shrink:0;height:calc(100dvh - 3.5rem);overflow-y:auto;position:sticky;top:3.5rem;width:13.5rem}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:.6rem .5rem}.sidebar-item{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:.8125rem;gap:.65rem;padding:.6rem .7rem;position:relative;text-align:left;transition:background .18s ease,color .18s ease,transform .18s ease;width:100%}.sidebar-item:hover{background:color-mix(in srgb,#6366f1 8%,#0000);background:color-mix(in srgb,var(--accent) 8%,#0000);color:#1e293b;color:var(--ink)}.sidebar-item.active{background:color-mix(in srgb,#6366f1 12%,#0000);background:color-mix(in srgb,var(--accent) 12%,#0000);color:#6366f1;color:var(--accent)}.sidebar-item.active:before{background:#6366f1;background:var(--accent);border-radius:0 4px 4px 0;content:"";height:60%;left:-.5rem;position:absolute;top:50%;transform:translateY(-50%);width:4px}.sidebar-icon{align-items:center;display:flex}.sidebar-footer{border-top:1px solid #e9edf5;border-top:1px solid var(--border);padding:.75rem}.sidebar-footer-brand{align-items:center;color:#94a3b8;display:flex;font-size:.7rem;gap:.35rem}.sidebar-overlay{display:none}.page-title{align-items:center;color:#1e293b;color:var(--ink);display:flex;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:1.5rem;gap:.5rem;letter-spacing:-.02em;margin-bottom:.5rem}.page-desc{font-size:.85rem;line-height:1.6;margin-bottom:1.25rem}.section-title{align-items:center;color:#1e293b;color:var(--ink);display:flex;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:1.15rem;gap:.5rem;letter-spacing:-.01em;margin:1.75rem 0 .75rem}.back-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:inline-flex;font-size:.8rem;gap:.35rem;margin-bottom:1rem;padding:.35rem 0}.back-btn:hover{color:#2563eb}.btn-primary,.btn-primary-lg,.btn-primary-sm{align-items:center;background:linear-gradient(135deg,#6366f1,#7c3aed);background:linear-gradient(135deg,var(--accent) 0,var(--accent-2) 100%);border:none;box-shadow:0 4px 14px color-mix(in srgb,#6366f1 35%,#0000);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 35%,#0000);color:#fff;cursor:pointer;display:inline-flex;gap:.4rem;justify-content:center;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn-primary-lg:hover,.btn-primary-sm:hover,.btn-primary:hover{box-shadow:0 8px 22px color-mix(in srgb,#6366f1 42%,#0000);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 42%,#0000);filter:brightness(1.05)}.btn-primary-lg:active,.btn-primary-sm:active,.btn-primary:active{filter:brightness(.98);transform:translateY(0)}.btn-primary-lg:disabled,.btn-primary-sm:disabled,.btn-primary:disabled{box-shadow:none;cursor:default;filter:none;opacity:.5;transform:none}.btn-primary{font-size:.8125rem;padding:.5rem 1rem}.btn-primary,.btn-primary-lg{border-radius:12px;border-radius:var(--radius-sm)}.btn-primary-lg{font-size:.9rem;padding:.7rem 1.5rem}.btn-primary-sm{border-radius:.5rem;font-size:.75rem;padding:.35rem .75rem}.btn-outline,.btn-outline-lg,.btn-outline-sm{align-items:center;border:1px solid #e9edf5;border:1px solid var(--border);cursor:pointer;display:inline-flex;gap:.4rem;justify-content:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}.btn-outline-lg:hover,.btn-outline-sm:hover,.btn-outline:hover{transform:translateY(-3px);transform:translateY(var(--lift))}.btn-outline{font-size:.8125rem;padding:.5rem 1rem}.btn-outline,.btn-outline-lg{border-radius:12px;border-radius:var(--radius-sm)}.btn-outline-lg{font-size:.9rem;padding:.7rem 1.5rem}.btn-outline-sm{border-radius:.5rem;font-size:.75rem;padding:.35rem .75rem}.filter-tabs{background:color-mix(in srgb,#64748b 12%,#0000);background:color-mix(in srgb,var(--muted) 12%,#0000);border-radius:999px;border-radius:var(--radius-pill);display:inline-flex;gap:.2rem;margin-bottom:1.25rem;padding:.25rem}.filter-tab{background:#0000;border:none;border-radius:999px;border-radius:var(--radius-pill);color:#64748b;color:var(--muted);cursor:pointer;font-size:.75rem;padding:.4rem .95rem;transition:all .18s ease}.filter-tab:hover{color:#1e293b;color:var(--ink)}.filter-tab.active{background:#fff;background:var(--card);box-shadow:0 2px 8px #0f172a1a;font-weight:700}.empty-state{padding:3rem 1rem;text-align:center}.empty-state h3{color:#94a3b8;font-size:1rem;margin:.75rem 0 .35rem}.empty-state p{color:#94a3b8;font-size:.8rem;margin:0 auto;max-width:20rem}.modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:200}.modal-content{background:#fff;border-radius:.75rem;box-shadow:0 20px 60px #0003;overflow:hidden;width:100%}.modal-lg{max-width:40rem}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1rem 1.25rem}.modal-header h3{font-size:1rem;font-weight:600}.modal-header button{background:none;border:none;color:#94a3b8;cursor:pointer}.modal-body{padding:1.25rem}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:flex-end;padding:1rem 1.25rem}.form-group{margin-bottom:1rem}.form-group label{color:#475569;display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem}.form-group input,.form-group textarea{border:1px solid #cbd5e1;border-radius:.375rem;font-family:inherit;font-size:.85rem;padding:.5rem .75rem;resize:vertical;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.dashboard-hero{align-items:center;background:radial-gradient(600px 240px at 100% 0,color-mix(in srgb,#7c3aed 14%,#0000),#0000 70%),linear-gradient(135deg,#eef2ff,color-mix(in srgb,#7c3aed 8%,#fff) 55%,color-mix(in srgb,#6366f1 8%,#fff));background:radial-gradient(600px 240px at 100% 0,color-mix(in srgb,var(--accent-2) 14%,#0000),#0000 70%),linear-gradient(135deg,var(--accent-soft) 0,color-mix(in srgb,var(--accent-2) 8%,var(--card)) 55%,color-mix(in srgb,var(--accent) 8%,var(--card)) 100%);display:flex;gap:2rem;margin-bottom:1.5rem;overflow:hidden;padding:2rem;position:relative}.dashboard-hero-content{flex:1 1}.dashboard-hero-title{color:#1e293b;font-size:1.75rem;font-weight:800;margin-bottom:.5rem}.dashboard-hero-subtitle{color:#64748b;font-size:.9rem;line-height:1.6;margin-bottom:1.25rem}.dashboard-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.dashboard-hero-graphic{flex-shrink:0}.hero-emoji-grid{grid-gap:.75rem;display:grid;font-size:2rem;gap:.75rem;grid-template-columns:repeat(3,1fr)}.hero-emoji-grid span{align-items:center;background:#fff;background:var(--card);display:flex;height:3.5rem;justify-content:center;transition:transform .2s ease;width:3.5rem}.hero-emoji-grid span:hover{transform:translateY(-3px) rotate(-4deg)}.stats-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.stat-card{align-items:center;background:#fff;background:var(--card);border:1px solid #e9edf5;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);display:flex;gap:.75rem;padding:1rem;transition:transform .18s ease,box-shadow .18s ease}.stat-card:hover{box-shadow:0 12px 30px #0f172a21;box-shadow:var(--shadow-hover);transform:translateY(-3px);transform:translateY(var(--lift))}.stat-icon{align-items:center;display:flex;height:2.5rem;justify-content:center;width:2.5rem}.stat-value{color:#1e293b;color:var(--ink);font-size:1.25rem;font-weight:800}.stat-label{color:#64748b;color:var(--muted);font-size:.7rem}.progress-section{background:#fff;background:var(--card);border:1px solid #e9edf5;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1rem}.progress-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.progress-title{color:#1e293b;font-size:.85rem;font-weight:600}.progress-percent{color:#059669;font-size:.85rem;font-weight:700;margin-left:auto}.progress-bar-track{background:#e2e8f0;border-radius:.25rem;height:.5rem;overflow:hidden}.progress-bar-fill{border-radius:.25rem;height:100%;transition:width .5s}.weak-areas{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.weak-areas-label{color:#94a3b8;font-size:.75rem}.weak-area-tag{background:#fef2f2;border-radius:1rem;color:#dc2626;font-size:.7rem;padding:.15rem .5rem}.grade-bands{grid-gap:1rem;display:grid;gap:1rem;margin-bottom:1rem}.grade-band{border:1px solid #e2e8f0;border-left-width:3px;border-radius:.75rem}.grade-band-header{align-items:center;display:flex;justify-content:space-between;padding:.75rem 1rem}.grade-band-header h3{font-size:.9rem;font-weight:700}.grade-band-range{color:#64748b;font-size:.75rem}.grade-band-items{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));padding:.75rem}.grade-btn{align-items:center;background:#fff;background:var(--card);border:1px solid #e9edf5;border:1px solid var(--border);cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;text-align:left;transition:all .18s ease}.grade-btn:hover{transform:translateY(-1px)}.grade-btn-level{align-items:center;background:#eff6ff;border-radius:.375rem;color:#2563eb;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:1.75rem;justify-content:center;width:1.75rem}.grade-btn-name{color:#1e293b;flex:1 1;font-size:.75rem;font-weight:500}.grade-btn-count{color:#94a3b8;font-size:.65rem}.quick-actions{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:2rem}.quick-action-card{align-items:center;background:#fff;background:var(--card);border:1px solid #e9edf5;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.quick-action-card:hover{border-color:color-mix(in srgb,#6366f1 45%,#0000);border-color:color-mix(in srgb,var(--accent) 45%,#0000);box-shadow:0 12px 30px #0f172a21;box-shadow:var(--shadow-hover);transform:translateY(-3px);transform:translateY(var(--lift))}.quick-action-card span{color:#1e293b;color:var(--ink);font-size:.85rem}.quick-action-card small{color:#64748b;color:var(--muted);font-size:.7rem}.grade-badge{align-items:center;background:#2563eb;border-radius:.5rem;color:#fff;display:inline-flex;font-size:.85rem;font-weight:700;height:2rem;justify-content:center;width:2rem}.subject-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}.subject-card{background:#fff;background:var(--card);border:1px solid #e9edf5;border:1px solid var(--border);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);cursor:pointer;overflow:hidden;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.subject-card:hover{border-color:color-mix(in srgb,#6366f1 45%,#0000);border-color:color-mix(in srgb,var(--accent) 45%,#0000);box-shadow:0 12px 30px #0f172a21;box-shadow:var(--shadow-hover);transform:translateY(-3px);transform:translateY(var(--lift))}.subject-card-header{padding:1.25rem;position:relative;text-align:center}.subject-icon{font-size:2.5rem}.badge-ap{background:#dc2626}.badge-ap,.badge-honors{align-items:center;border-radius:.25rem;color:#fff;display:inline-flex;font-size:.6rem;font-weight:700;gap:.2rem;padding:.15rem .4rem;position:absolute;right:.5rem;top:.5rem}.badge-honors{background:#f59e0b}.subject-card-body{padding:.75rem 1rem}.subject-card-body h3{font-size:.85rem;font-weight:600;margin-bottom:.2rem}.subject-topic-count{color:#94a3b8;font-size:.7rem}.subject-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.subject-icon-lg{font-size:2.5rem}.topic-list{display:flex;flex-direction:column;gap:.75rem}.topic-card{background:#fff;background:var(--card);border:1px solid #e9edf5;border:1px solid var(--border);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);display:flex;gap:.75rem;padding:1rem;transition:transform .18s ease,box-shadow .18s ease}.topic-card:hover{box-shadow:0 12px 30px #0f172a21;box-shadow:var(--shadow-hover);transform:translateY(-3px);transform:translateY(var(--lift))}.topic-card-number{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:2rem;justify-content:center;width:2rem}.topic-card-body{flex:1 1}.topic-card-body h3{color:#1e293b;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.topic-card-body p{color:#64748b;font-size:.8rem;margin-bottom:.5rem}.topic-subtopics{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.subtopic-tag{background:#f1f5f9;border-radius:1rem;color:#475569;font-size:.7rem;padding:.15rem .5rem}.topic-card-actions{display:flex;flex-direction:column;flex-shrink:0;gap:.35rem}.subject-actions{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.action-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;color:#475569;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.75rem;padding:1rem;transition:all .15s}.action-card:hover{background:#eff6ff;border-color:#2563eb}.publisher-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem;padding:.85rem 1rem}.publisher-row{align-items:flex-start;display:flex;gap:.5rem}.publisher-label{color:#94a3b8;display:block;font-size:.7rem;font-weight:600;letter-spacing:.03em;margin-bottom:.2rem;text-transform:uppercase}.publisher-names{color:#1e293b;font-size:.8rem;font-weight:500}.textbook-tags{display:flex;flex-wrap:wrap;gap:.35rem}.textbook-tag{background:#eff6ff;border:1px solid #bfdbfe;border-radius:1rem;color:#1e40af;font-size:.7rem;font-weight:500;padding:.2rem .55rem}.topic-textbook-ref{align-items:center;color:#2563eb;display:flex;font-size:.7rem;font-weight:500;gap:.3rem;margin-bottom:.35rem;opacity:.85}.tutor-header{align-items:center;background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:1rem;padding:1rem}.tutor-info-banner{background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;color:#92400e;display:flex;font-size:.8rem;gap:.75rem;line-height:1.5;margin-bottom:1.25rem;padding:.85rem 1rem}.subtopic-list{display:flex;flex-direction:column;gap:.5rem}.subtopic-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.subtopic-header{align-items:center;background:#0000;border:none;color:#1e293b;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.75rem;padding:.85rem 1rem;text-align:left;width:100%}.subtopic-header:hover{background:#f8fafc}.subtopic-number{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:1.5rem;justify-content:center;width:1.5rem}.subtopic-name{flex:1 1}.subtopic-content{padding:0 1rem 1rem}.generating-indicator{align-items:center;color:#7c3aed;display:flex;font-size:.85rem;gap:.75rem;padding:1.5rem}.spinner{animation:spin .6s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#7c3aed;height:1.25rem;width:1.25rem}@keyframes spin{to{transform:rotate(1turn)}}.explanation-section{margin-bottom:1rem}.explanation-section h4{align-items:center;color:#475569;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.5rem}.explanation-simple{background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;color:#92400e}.explanation-detailed,.explanation-simple{font-size:.8rem;line-height:1.7;padding:1rem;white-space:pre-line}.explanation-detailed{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.5rem;color:#1e40af}.subtopic-actions{display:flex;gap:.5rem;margin-top:.75rem}.toggle-detailed-btn{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.4rem;color:#2563eb;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.3rem;margin-bottom:.75rem;padding:.4rem .75rem;transition:background .15s}.toggle-detailed-btn:hover{background:#dbeafe}.worked-examples-section{margin-bottom:.75rem}.worked-examples-section>h4{align-items:center;color:#475569;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.6rem}.worked-example{background:#faf5ff;border:1px solid #e9d5ff;border-radius:.6rem;margin-bottom:.5rem;padding:.85rem}.worked-example-problem{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem}.we-badge{align-items:center;border-radius:.3rem;color:#fff;display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:700;height:1.4rem;justify-content:center;min-width:1.6rem;padding:0 .3rem}.we-problem-text{color:#1e293b;font-size:.85rem;font-weight:600;line-height:1.5;white-space:pre-line}.try-first-btn{background:#f5f3ff;border:1px dashed #c4b5fd;border-radius:.4rem;color:#7c3aed;cursor:pointer;display:block;font-size:.75rem;font-weight:500;padding:.5rem;text-align:center;transition:all .15s;width:100%}.try-first-btn:hover{background:#ede9fe;border-color:#7c3aed}.worked-example-solution{animation:fadeSlide .3s ease}@keyframes fadeSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.we-steps{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem}.we-step{align-items:flex-start;display:flex;font-size:.8rem;gap:.5rem;line-height:1.5}.we-step-num{background:#ede9fe;border-radius:.25rem;color:#7c3aed;flex-shrink:0;font-size:.65rem;font-weight:700;margin-top:.1rem;padding:.15rem .4rem;white-space:nowrap}.we-step-text{color:#334155}.we-answer{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.4rem;color:#065f46;font-size:.82rem;padding:.55rem .75rem}.we-source{color:#94a3b8;font-size:.65rem;font-style:italic;margin-top:.3rem;text-align:right}.content-source-tag{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.35rem;color:#64748b;display:inline-flex;font-size:.68rem;font-style:italic;gap:.3rem;margin-bottom:.75rem;padding:.3rem .6rem}.card-counter{color:#94a3b8;font-size:.8rem;margin-bottom:.75rem;text-align:center}.flashcard-container{cursor:pointer;margin-bottom:1rem;perspective:1000px}.flashcard{min-height:16rem;position:relative;transform-style:preserve-3d;transition:transform .5s;width:100%}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{align-items:center;backface-visibility:hidden;border-radius:1rem;display:flex;flex-direction:column;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center}.flashcard-front{background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:2px solid #bfdbfe}.flashcard-back{background:linear-gradient(135deg,#ecfdf5,#fffbeb);border:2px solid #a7f3d0;transform:rotateY(180deg)}.flashcard-label{color:#94a3b8;font-size:.65rem;font-weight:700;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.flashcard-back p,.flashcard-front p{color:#1e293b;font-size:1rem;line-height:1.6}.flashcard-hint{color:#94a3b8;font-size:.7rem;margin-top:auto;padding-top:1rem}.flashcard-controls{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.fc-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#475569;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;padding:.45rem .85rem;transition:all .15s}.fc-btn:hover{background:#f1f5f9}.fc-btn:disabled{cursor:default;opacity:.4}.fc-mastered{background:#fffbeb;border-color:#fde68a;color:#f59e0b}.fc-delete{color:#dc2626}.fc-delete:hover{background:#fef2f2}.fc-actions{display:flex;gap:.35rem}.practice-stats{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;gap:1.5rem;margin-bottom:1.25rem;padding:.75rem 1rem}.practice-stat{text-align:center}.practice-stat-value{display:block;font-size:1.25rem;font-weight:700}.practice-stat-label{color:#94a3b8;font-size:.65rem}.question-list{display:flex;flex-direction:column;gap:.75rem}.question-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;gap:.75rem;padding:1rem}.question-card.q-correct{border-left:3px solid #059669}.question-card.q-incorrect{border-left:3px solid #dc2626}.question-number{align-items:center;background:#eff6ff;border-radius:50%;color:#2563eb;display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:2rem;justify-content:center;width:2rem}.question-body{flex:1 1;min-width:0}.question-text{color:#1e293b;font-size:.85rem;font-weight:500;line-height:1.5;margin-bottom:.75rem}.question-input-area textarea{border:1px solid #cbd5e1;border-radius:.5rem;font-family:inherit;font-size:.8rem;margin-bottom:.5rem;padding:.75rem;resize:vertical;width:100%}.question-input-area textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.question-answered{display:flex;flex-direction:column;gap:.5rem}.student-answer{background:#f8fafc;border-radius:.5rem;color:#475569;font-size:.8rem;padding:.75rem}.student-answer strong{color:#94a3b8;display:block;font-size:.7rem;margin-bottom:.25rem}.question-feedback{border-radius:.5rem;display:flex;font-size:.8rem;gap:.5rem;line-height:1.5;padding:.75rem}.feedback-correct{background:#ecfdf5;color:#065f46}.feedback-incorrect{background:#fef2f2;color:#991b1b}.expected-answer{background:#eff6ff;border-radius:.5rem;color:#475569;font-size:.8rem;padding:.75rem}.expected-answer strong{color:#2563eb;display:block;font-size:.7rem;margin-bottom:.25rem}.notes-header-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.notes-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.note-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;padding:1rem}.note-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.note-card-header h3{color:#1e293b;font-size:.9rem;font-weight:600}.note-card-badges{display:flex;gap:.35rem}.badge-shared{align-items:center;background:#eff6ff;border-radius:.25rem;color:#2563eb;display:inline-flex;font-size:.6rem;font-weight:600;gap:.2rem;padding:.15rem .4rem}.note-card-preview{color:#64748b;flex:1 1;font-size:.8rem;line-height:1.5;margin-bottom:.75rem;white-space:pre-line}.note-card-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:.5rem}.note-date{color:#94a3b8;font-size:.65rem}.note-actions{display:flex;gap:.25rem}.note-actions button{background:none;border:none;border-radius:.25rem;color:#94a3b8;cursor:pointer;padding:.25rem}.note-actions button:hover{background:#eff6ff;color:#2563eb}.cheatsheet-card{border-left:3px solid #dc2626}.cheatsheet-preview{background:#f8fafc;border-radius:.375rem;color:#475569;font-family:monospace;font-size:.75rem;line-height:1.5;margin-bottom:.75rem;max-height:10rem;overflow:hidden;padding:.75rem;white-space:pre-wrap}.test-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.test-toggle-btn{background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;cursor:pointer;flex:1 1;padding:1rem;text-align:center;transition:all .15s}.test-toggle-btn:hover{border-color:#2563eb}.test-toggle-btn.active{background:#eff6ff;border-color:#2563eb}.test-toggle-label{color:#1e293b;display:block;font-size:1.25rem;font-weight:800}.test-toggle-sub{color:#94a3b8;display:block;font-size:.7rem;margin-top:.15rem}.prep-sections{display:flex;flex-direction:column;gap:.75rem}.prep-section{background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:.75rem;overflow:hidden}.prep-section-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:.75rem;padding:1rem;text-align:left;width:100%}.prep-section-header:hover{background:#f8fafc}.prep-section-icon{font-size:1.75rem}.prep-section-info{flex:1 1}.prep-section-info h3{font-size:1rem;font-weight:700;margin-bottom:.2rem}.prep-section-info p{color:#64748b;font-size:.8rem}.prep-section-body{padding:0 1rem 1rem}.prep-tips{background:#fffbeb;border:1px solid #fde68a;border-radius:.5rem;margin-bottom:1rem;padding:.85rem 1rem}.prep-tips h4{align-items:center;color:#92400e;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.5rem}.prep-tips ul{list-style:none}.prep-tips li{color:#92400e;font-size:.8rem;padding:.15rem 0 .15rem 1rem;position:relative}.prep-tips li:before{color:#f59e0b;content:"→";left:0;position:absolute}.prep-topics{margin-bottom:1rem}.prep-topics h4{align-items:center;color:#475569;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.5rem}.prep-topic-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.5rem;padding:.75rem}.prep-topic-card h5{color:#1e293b;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.prep-topic-card p{color:#64748b;font-size:.75rem;line-height:1.5}.prep-actions{display:flex;gap:.5rem;margin-top:1rem}.prep-book-sources{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.35rem;color:#64748b;display:flex;flex-wrap:wrap;font-size:.65rem;font-style:italic;gap:.3rem;margin-bottom:1rem;padding:.35rem .6rem}.prep-practice{margin-bottom:1rem}.prep-practice h4{align-items:center;color:#475569;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;margin-bottom:.5rem}.prep-problem-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.65rem;padding:.85rem}.prep-problem-q{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem}.prep-q-num{border-radius:.25rem;color:#fff;flex-shrink:0;font-size:.6rem;font-weight:700;margin-top:.1rem;padding:.2rem .45rem;white-space:nowrap}.prep-q-text{color:#1e293b;font-size:.82rem;line-height:1.5;white-space:pre-line}.prep-choices{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding-left:2rem}.prep-choice{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.3rem;color:#475569;font-size:.78rem;padding:.3rem .5rem}.prep-answer-reveal{animation:fadeSlide .3s ease;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:.4rem;margin-top:.5rem;padding:.7rem}.prep-answer-line{color:#065f46;font-size:.82rem;font-weight:600;margin-bottom:.35rem}.prep-answer-explanation{color:#065f46;font-size:.78rem;line-height:1.5;margin-bottom:.3rem}.prep-answer-source{color:#94a3b8;font-size:.65rem;font-style:italic;text-align:right}.prep-quick-ref{margin-top:2rem}.prep-quick-ref h3{align-items:center;display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin-bottom:.75rem}.prep-ref-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr)}.prep-ref-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem}.prep-ref-card h4{color:#1e293b;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.prep-ref-card ul{list-style:none}.prep-ref-card li{color:#64748b;font-size:.75rem;padding:.2rem 0 .2rem .75rem;position:relative}.prep-ref-card li:before{color:#2563eb;content:"•";left:0;position:absolute}.auth-screen{align-items:center;background:linear-gradient(135deg,#eff6ff,#f0fdf4 50%,#faf5ff);display:flex;justify-content:center;min-height:100dvh;padding:1rem}.auth-card{background:#fff;border-radius:1rem;box-shadow:0 4px 24px #00000014;max-width:26rem;padding:2.5rem 2rem;width:100%}.auth-logo{margin-bottom:1.5rem;text-align:center}.auth-logo-icon{display:block;font-size:3rem;margin-bottom:.25rem}.auth-logo-title{color:#1e293b;font-size:2rem;font-weight:900;margin:0}.auth-logo-sub{color:#64748b;font-size:.8rem;margin:.15rem 0 0}.auth-tabs{background:#f1f5f9;border-radius:.5rem;display:flex;gap:.25rem;margin-bottom:1.25rem;padding:.2rem}.auth-tab{align-items:center;background:#0000;border:none;border-radius:.4rem;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:600;gap:.35rem;justify-content:center;padding:.6rem;transition:all .15s}.auth-tab.active{background:#fff;box-shadow:0 1px 3px #00000014;color:#2563eb}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-field label{color:#475569;display:block;font-size:.75rem;font-weight:600;margin-bottom:.3rem}.auth-field input{border:1.5px solid #e2e8f0;border-radius:.5rem;box-sizing:border-box;color:#1e293b;font-size:.85rem;outline:none;padding:.65rem .75rem;transition:border-color .15s;width:100%}.auth-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.auth-error{background:#fef2f2;border-radius:.4rem;color:#dc2626;font-size:.78rem;gap:.35rem;padding:.5rem .75rem}.auth-error,.auth-submit{align-items:center;display:flex}.auth-submit{background:#2563eb;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;gap:.4rem;justify-content:center;margin-top:.25rem;padding:.7rem;transition:background .15s;width:100%}.auth-submit:hover{background:#1d4ed8}.auth-footer-text{color:#64748b;font-size:.78rem;margin-top:1rem;text-align:center}.auth-link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.78rem;font-weight:600;padding:0;text-decoration:underline}.header-user-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:2rem;cursor:pointer;display:flex;gap:.4rem;padding:.3rem .7rem .3rem .35rem;transition:background .15s}.header-user-btn:hover{background:#e2e8f0}.header-user-avatar{font-size:1.15rem}.header-user-name{color:#1e293b;font-size:.75rem;font-weight:600}.sidebar-user-info{align-items:center;display:flex;gap:.4rem;padding:.5rem .75rem}.sidebar-user-avatar{font-size:1.1rem}.sidebar-user-name{color:#1e293b;font-size:.75rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.4rem;color:#dc2626;cursor:pointer;display:flex;font-size:.72rem;font-weight:600;gap:.35rem;margin:0 .75rem .75rem;padding:.45rem .6rem;transition:background .15s;width:calc(100% - 1.5rem)}.sidebar-logout-btn:hover{background:#fee2e2}.progress-view{max-width:52rem}.progress-tabs{background:#f1f5f9;border-radius:.5rem;display:flex;gap:.25rem;margin-bottom:1.25rem;padding:.2rem}.progress-tab{align-items:center;background:#0000;border:none;border-radius:.4rem;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:.78rem;font-weight:600;gap:.35rem;justify-content:center;padding:.55rem;transition:all .15s}.progress-tab.active{background:#fff;box-shadow:0 1px 3px #00000014;color:#2563eb}.progress-stats-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.25rem}.progress-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;padding:1rem;text-align:center}.progress-stat-card,.psc-icon{align-items:center;display:flex}.psc-icon{border-radius:50%;height:2.5rem;justify-content:center;margin-bottom:.5rem;width:2.5rem}.psc-value{color:#1e293b;font-size:1.5rem;font-weight:800}.psc-value .psc-total{color:#94a3b8;font-size:.85rem;font-weight:400}.psc-label{color:#64748b;font-size:.7rem;margin-top:.15rem}.progress-accuracy-bar{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem}.pab-header{color:#64748b;display:flex;font-size:.72rem;justify-content:space-between;margin-bottom:.4rem}.pab-header span:first-child{color:#475569;font-weight:600}.pab-track{background:#f1f5f9;border-radius:.3rem;display:flex;height:.6rem;overflow:hidden}.pab-fill{height:100%;transition:width .3s}.pab-correct{background:#059669}.pab-incorrect{background:#dc2626}.progress-section-title{align-items:center;color:#1e293b;display:flex;font-size:.95rem;font-weight:700;gap:.4rem;margin-bottom:.35rem}.progress-section-desc{color:#64748b;font-size:.78rem;margin-bottom:.75rem}.progress-weak-section{margin-bottom:1.5rem}.weak-topic-cards{display:flex;flex-direction:column;gap:.65rem}.weak-topic-card{background:#fff;border:1px solid #fecaca;border-left:4px solid;border-radius:.6rem;padding:.85rem}.wtc-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.wtc-icon{font-size:1.2rem}.wtc-info{flex:1 1}.wtc-subject{font-size:.7rem;font-weight:600}.wtc-topic{color:#1e293b;font-size:.85rem;font-weight:700}.wtc-score{font-size:1.25rem;font-weight:800}.wtc-bar-track{background:#f1f5f9;border-radius:.2rem;height:.4rem;margin-bottom:.35rem;overflow:hidden}.wtc-bar-fill{border-radius:.2rem;height:100%;transition:width .3s}.wtc-detail{color:#94a3b8;font-size:.68rem;margin-bottom:.5rem}.wtc-actions{display:flex;gap:.4rem}.progress-strong-section{margin-bottom:1.5rem}.strong-topic-list{display:flex;flex-direction:column;gap:.35rem}.strong-topic-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;gap:.5rem;padding:.55rem .75rem}.str-icon{font-size:1rem}.str-name{color:#1e293b;flex:1 1;font-size:.8rem;font-weight:600}.str-pct{font-size:.85rem;font-weight:700;min-width:2.5rem;text-align:right}.str-bar{background:#f1f5f9;border-radius:.2rem;height:.35rem;overflow:hidden;width:4rem}.str-bar-fill{background:#059669;border-radius:.2rem;height:100%}.results-summary-bar{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:.75rem 1rem}.rsb-stat{color:#475569;font-size:.78rem}.rsb-stat strong{font-weight:800}.result-topic-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid;border-radius:.6rem;margin-bottom:.65rem;overflow:hidden}.result-topic-card.rtc-weak{background:#fffbfb;border-color:#fecaca}.rtc-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:.5rem;padding:.75rem;text-align:left;width:100%}.rtc-header:hover{background:#f8fafc}.rtc-icon{font-size:1.15rem}.rtc-info{flex:1 1}.rtc-subject{color:#64748b;font-size:.65rem;font-weight:600}.rtc-topic{color:#1e293b;font-size:.82rem;font-weight:700}.rtc-stats{margin-right:.25rem;text-align:right}.rtc-pct{display:block;font-size:1.05rem;font-weight:800}.rtc-count{color:#94a3b8;font-size:.65rem}.rtc-body{padding:0 .75rem .75rem}.rtc-improve-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.4rem;color:#991b1b;display:flex;font-size:.75rem;gap:.5rem;margin-bottom:.65rem;padding:.6rem .75rem}.rtc-improve-banner span{flex:1 1}.rtc-questions{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.65rem}.rtc-q{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.35rem;display:flex;gap:.4rem;padding:.4rem .55rem}.rtc-q.rtcq-correct{border-left:3px solid #059669}.rtc-q.rtcq-incorrect{border-left:3px solid #dc2626}.rtc-q.rtcq-unanswered{border-left:3px solid #e2e8f0}.rtcq-num{color:#94a3b8;font-size:.6rem;font-weight:700;min-width:1.5rem;padding-top:.1rem}.rtcq-body{flex:1 1}.rtcq-text{color:#475569;font-size:.75rem;line-height:1.4;margin:0 0 .2rem}.rtcq-status{align-items:center;display:flex;font-size:.68rem;font-weight:600;gap:.25rem}.rtc-footer-actions{display:flex;gap:.4rem}.history-timeline{max-width:40rem}.history-day{margin-bottom:1.25rem}.history-date-label{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.75rem;font-weight:700;margin-bottom:.5rem;padding-bottom:.4rem}.history-day-sessions{display:flex;flex-direction:column;gap:.4rem}.history-session-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-left:3px solid;border-radius:.5rem;display:flex;gap:.5rem;padding:.6rem .75rem}.hsc-icon{font-size:1.15rem}.hsc-info{flex:1 1}.hsc-subject{font-size:.65rem;font-weight:600}.hsc-topic{color:#1e293b;font-size:.8rem;font-weight:700}.hsc-subtopic,.hsc-time{color:#94a3b8;font-size:.68rem}.hsc-link{background:none;border:none;border-radius:50%;color:#2563eb;cursor:pointer;padding:.25rem}.hsc-link:hover{background:#eff6ff}.lesson-main{background:#fffbeb;border:1px solid #fde68a;border-radius:.75rem}.lesson-main .explanation-simple{color:#1e293b;font-size:.85rem;line-height:1.7;white-space:pre-wrap}.tutor-collapsible{margin-bottom:.5rem}.tutor-collapse-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#334155;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.5rem;padding:.65rem .85rem;transition:all .15s;width:100%}.tutor-collapse-btn:hover{background:#f8fafc}.tutor-collapse-btn span{flex:1 1;text-align:left}.tutor-kp-list,.tutor-mistakes-list,.tutor-tips-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:0 0 .5rem .5rem;border-top:none;display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:.5rem .75rem .75rem}.tutor-kp-item,.tutor-mistake-item,.tutor-tip-item{align-items:flex-start;color:#334155;display:flex;font-size:.8rem;gap:.5rem;line-height:1.5;padding:.35rem 0}.tutor-kp-item{background:#eff6ff;border-left:3px solid #2563eb}.tutor-kp-item,.tutor-tip-item{border-radius:0 .35rem .35rem 0;padding-left:.6rem}.tutor-tip-item{background:#ecfdf5;border-left:3px solid #059669}.tutor-mistake-item{background:#fef2f2;border-left:3px solid #dc2626;border-radius:0 .35rem .35rem 0;padding-left:.6rem}.quick-practice-section{border:2px solid #e2e8f0;border-radius:.75rem;margin:1rem 0;overflow:hidden}.qp-header{background:#f1f5f9;justify-content:space-between;padding:.65rem 1rem}.qp-header,.qp-header h4{align-items:center;display:flex}.qp-header h4{color:#1e293b;font-size:.85rem;gap:.4rem;margin:0}.qp-count{color:#64748b;font-size:.72rem;font-weight:600}.qp-card{background:#fff;padding:1rem 1.25rem}.qp-difficulty{border-radius:1rem;display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;padding:.15rem .5rem;text-transform:uppercase}.qp-difficulty[data-diff=easy]{background:#ecfdf5;color:#059669}.qp-difficulty[data-diff=medium]{background:#fffbeb;color:#d97706}.qp-difficulty[data-diff=hard]{background:#fef2f2;color:#dc2626}.qp-question{color:#1e293b;font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 .75rem;white-space:pre-wrap}.qp-choices{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.qp-choice{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.4rem;font-size:.8rem;padding:.35rem .75rem}.qp-reveal-btn{background:#fff;border:2px dashed;border-radius:.5rem;cursor:pointer;display:block;font-size:.85rem;font-weight:600;padding:.65rem;transition:all .15s;width:100%}.qp-reveal-btn:hover{background:#f8fafc}.qp-answer-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;padding:.75rem}.qp-answer{color:#059669;font-size:.9rem;font-weight:700;margin-bottom:.35rem}.qp-explanation{color:#334155;font-size:.8rem;line-height:1.5}.qp-nav{background:#f1f5f9;border-top:1px solid #e2e8f0;display:flex;gap:.5rem;padding:.65rem 1rem}.qp-nav-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.4rem;color:#475569;cursor:pointer;display:flex;font-size:.78rem;font-weight:600;gap:.35rem;padding:.5rem .85rem;transition:all .15s}.qp-nav-btn:hover{background:#f8fafc}.qp-next{border-color:#0000;color:#fff;margin-left:auto}.qp-next:hover{opacity:.9}.ai-tutor-container{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;height:calc(100dvh - 5.5rem);max-height:calc(100dvh - 5.5rem);overflow:hidden}.ai-tutor-header{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:.75rem 1rem}.ai-tutor-header-left{align-items:center;display:flex;gap:.65rem}.ai-tutor-avatar{align-items:center;background:#fff3;border-radius:50%;display:flex;height:36px;justify-content:center;width:36px}.ai-tutor-title{font-size:1rem;font-weight:700;margin:0}.ai-tutor-status{align-items:center;display:flex;font-size:.68rem;gap:.3rem;opacity:.85}.ai-tutor-header-right{align-items:center;display:flex;gap:.4rem}.ai-tutor-context-tag{align-items:center;background:#fff3;border-radius:1rem;display:flex;font-size:.65rem;gap:.25rem;padding:.2rem .5rem}.ai-tutor-clear-btn,.ai-tutor-settings-btn{background:#ffffff26;border:none;border-radius:.35rem;color:#fff;cursor:pointer;padding:.35rem;transition:background .15s}.ai-tutor-clear-btn:hover,.ai-tutor-settings-btn:hover{background:#ffffff4d}.ai-settings-panel{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0}.ai-settings-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.6rem 1rem}.ai-settings-header h3{align-items:center;color:#334155;display:flex;font-size:.82rem;font-weight:700;gap:.4rem;margin:0}.ai-settings-header button{background:none;border:none;color:#64748b;cursor:pointer;padding:.2rem}.ai-settings-body{gap:.6rem;padding:.75rem 1rem}.ai-setting-row,.ai-settings-body{display:flex;flex-direction:column}.ai-setting-row{gap:.25rem}.ai-setting-row label{align-items:center;color:#475569;display:flex;font-size:.72rem;font-weight:600;gap:.3rem}.ai-setting-row input,.ai-setting-row select{background:#fff;border:1px solid #d1d5db;border-radius:.4rem;color:#1e293b;font-size:.8rem;padding:.45rem .6rem}.ai-setting-row input:focus,.ai-setting-row select:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126;outline:none}.ai-settings-note{background:#eff6ff;border-radius:.4rem;font-size:.72rem;padding:.5rem .65rem}.ai-key-active{align-items:center;color:#059669;display:flex;gap:.3rem}.ai-key-info{align-items:flex-start;color:#475569;display:flex;gap:.3rem;line-height:1.5}.ai-messages-container{flex:1 1;min-height:0;overflow-y:auto;padding:1rem}.ai-welcome{flex-direction:column;height:100%;padding:2rem 1rem;text-align:center}.ai-welcome,.ai-welcome-icon{align-items:center;display:flex;justify-content:center}.ai-welcome-icon{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-radius:50%;color:#4f46e5;height:72px;margin-bottom:1rem;width:72px}.ai-welcome h3{color:#1e293b;font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.ai-welcome p{color:#64748b;font-size:.85rem;line-height:1.6;margin:0 0 .5rem;max-width:450px}.ai-welcome-mode-note{align-items:center;background:#eef2ff;border-radius:.5rem;color:#6366f1;display:flex;font-size:.78rem;gap:.35rem;margin-top:.5rem;padding:.5rem .75rem}.ai-suggested-prompts{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);margin-top:1rem;max-width:500px;width:100%}.ai-suggested-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#334155;cursor:pointer;display:flex;font-size:.75rem;gap:.4rem;padding:.55rem .75rem;text-align:left;transition:all .15s}.ai-suggested-btn:hover{background:#f1f5f9;border-color:#6366f1;color:#4f46e5}.ai-messages-list{display:flex;flex-direction:column;gap:.75rem}.ai-message{display:flex;gap:.5rem;max-width:85%}.ai-message-user{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.ai-message-assistant{align-self:flex-start}.ai-msg-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.85rem;height:28px;justify-content:center;width:28px}.ai-message-user .ai-msg-avatar{background:#dbeafe}.ai-message-assistant .ai-msg-avatar{background:#e0e7ff;color:#4f46e5}.ai-msg-bubble{max-width:100%}.ai-msg-content{border-radius:1rem;font-size:.84rem;line-height:1.6;padding:.65rem .85rem}.ai-message-user .ai-msg-content{background:#4f46e5;border-bottom-right-radius:.25rem;color:#fff}.ai-message-assistant .ai-msg-content{background:#f1f5f9;border-bottom-left-radius:.25rem;color:#1e293b}.ai-msg-time{color:#94a3b8;display:block;font-size:.6rem;margin-top:.2rem}.ai-message-user .ai-msg-time{text-align:right}.ai-msg-md p{margin:0 0 .35rem}.ai-msg-md p:last-child{margin-bottom:0}.ai-msg-md h3,.ai-msg-md h4,.ai-msg-md h5{font-weight:700;margin:.5rem 0 .25rem}.ai-msg-md h3{font-size:1rem}.ai-msg-md h4{font-size:.9rem}.ai-msg-md h5{font-size:.85rem}.ai-msg-md hr{border:none;border-top:1px solid #d1d5db;margin:.5rem 0}.ai-msg-md code{background:#0000000f;border-radius:.25rem;font-size:.8rem;padding:.1rem .35rem}.ai-message-user .ai-msg-md code{background:#fff3}.ai-md-bullet{margin:.15rem 0;padding-left:.5rem}.ai-msg-md strong{font-weight:700}.ai-typing-indicator{display:flex;gap:.3rem;padding:.3rem 0}.ai-typing-indicator span{animation:ai-dot-bounce 1.4s infinite;background:#94a3b8;border-radius:50%;height:7px;width:7px}.ai-typing-indicator span:nth-child(2){animation-delay:.2s}.ai-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.ai-input-area{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:.65rem .75rem .4rem}.ai-error-bar{align-items:center;background:#fef2f2;border-radius:.35rem;color:#dc2626;display:flex;font-size:.72rem;gap:.35rem;margin-bottom:.5rem;padding:.35rem .6rem}.ai-error-bar button{background:none;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:.1rem}.ai-input-row{align-items:flex-end;display:flex;gap:.5rem}.ai-input{border:1px solid #d1d5db;border-radius:.75rem;flex:1 1;font-family:inherit;font-size:.85rem;line-height:1.5;max-height:120px;padding:.6rem .85rem;resize:none;transition:border-color .15s}.ai-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11f;outline:none}.ai-input::placeholder{color:#94a3b8}.ai-send-btn{align-items:center;background:#4f46e5;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .15s;width:40px}.ai-send-btn:hover:not(:disabled){background:#4338ca}.ai-send-btn:disabled{cursor:not-allowed;opacity:.4}.ai-input-footer{color:#94a3b8;display:flex;font-size:.62rem;justify-content:space-between;padding:.3rem .25rem 0}@media (max-width:768px){.menu-toggle{display:block}.app-sidebar{bottom:0;left:-14rem;position:fixed;top:3.5rem;transition:left .25s;width:14rem;z-index:150}.app-sidebar.open{left:0}.sidebar-overlay{background:#0000004d;display:block;inset:0;position:fixed;top:3.5rem;z-index:140}.app-main{padding:1rem}.dashboard-hero{flex-direction:column;text-align:center}.dashboard-hero-actions{justify-content:center}.hero-emoji-grid{display:none}.quick-actions,.stats-row,.subject-grid{grid-template-columns:repeat(2,1fr)}.grade-band-items{grid-template-columns:1fr 1fr}.prep-ref-grid{grid-template-columns:1fr}.brand-sub{display:none}.subject-actions{grid-template-columns:1fr}.notes-header-row{flex-direction:column}.progress-stats-grid{grid-template-columns:repeat(2,1fr)}.results-summary-bar{gap:.75rem}.auth-card{padding:1.5rem 1.25rem}.header-user-name{display:none}.agent-chat-view{padding:12px!important}.agent-starter-grid{grid-template-columns:1fr!important}}.agent-chat-view{display:flex;flex-direction:column;gap:12px;height:calc(100dvh - 80px);margin:0 auto;max-width:900px;padding:20px}.agent-header{justify-content:space-between}.agent-header,.agent-header-left{align-items:center;display:flex;gap:12px}.agent-avatar{align-items:center;background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:12px;color:#fff;display:flex;height:44px;justify-content:center;width:44px}.agent-title{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.agent-subtitle{color:#64748b;font-size:.8rem;margin:0}.agent-clear-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s}.agent-clear-btn:hover{background:#e2e8f0}.agent-info-banner{align-items:center;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:10px;color:#5b21b6;display:flex;font-size:12px;gap:10px;padding:10px 14px}.agent-chat-area{flex:1 1;min-height:0;overflow-y:auto}.agent-welcome{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:40px 20px;text-align:center}.agent-welcome-icon{font-size:48px;margin-bottom:12px}.agent-welcome h3{color:#1e293b;font-size:1.3rem;margin-bottom:8px}.agent-welcome p{color:#64748b;font-size:.9rem;margin-bottom:24px;max-width:400px}.agent-starter-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;max-width:500px;width:100%}.agent-starter-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#334155;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:12px 16px;text-align:left;transition:all .15s}.agent-starter-btn:hover{background:#f8fafc;border-color:#7c3aed;color:#7c3aed}.agent-messages{display:flex;flex-direction:column;gap:16px;padding:12px 0}.agent-msg{display:flex;gap:10px;max-width:85%}.agent-msg-user{align-self:flex-end;flex-direction:row-reverse;margin-left:auto}.agent-msg-agent{align-self:flex-start}.agent-msg-avatar{align-items:center;background:linear-gradient(135deg,#7c3aed,#6366f1);border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.agent-msg-bubble{border-radius:14px;font-size:14px;line-height:1.5;padding:12px 16px}.agent-msg-user .agent-msg-bubble{background:#7c3aed;border-bottom-right-radius:4px;color:#fff}.agent-msg-agent .agent-msg-bubble{background:#f1f5f9;border-bottom-left-radius:4px;color:#1e293b}.agent-msg-text{white-space:pre-wrap;word-break:break-word}.agent-msg-meta{display:flex;flex-direction:column;gap:4px;margin-top:8px}.agent-confidence{font-size:11px;font-weight:600}.agent-study-tip{align-items:flex-start;color:#d97706;display:flex;font-size:11px;font-style:italic;gap:5px;margin-top:4px}.agent-related{align-items:center;border-top:1px solid #e2e8f0;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px}.agent-related-label{align-items:center;color:#64748b;display:flex;font-size:11px;gap:4px}.agent-related-tag{background:#ede9fe;border:none;border-radius:6px;color:#6d28d9;cursor:pointer;font-size:11px;font-weight:600;padding:3px 10px;transition:all .15s}.agent-related-tag:hover{background:#7c3aed;color:#fff}.agent-typing{display:flex;gap:5px;padding:14px 18px!important}.typing-dot{animation:typingBounce 1.2s infinite;background:#94a3b8;border-radius:50%;height:8px;width:8px}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.agent-suggestions{display:flex;gap:8px;overflow-x:auto;padding:4px 0}.agent-suggestion-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;color:#475569;cursor:pointer;flex-shrink:0;font-size:12px;padding:6px 14px;transition:all .15s;white-space:nowrap}.agent-suggestion-btn:hover{background:#ede9fe;border-color:#7c3aed;color:#6d28d9}.agent-input-area{border-top:1px solid #e2e8f0;display:flex;gap:10px;padding-top:8px}.agent-input{border:1px solid #e2e8f0;border-radius:12px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s}.agent-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.agent-send-btn{align-items:center;background:#7c3aed;border:none;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .15s;width:44px}.agent-send-btn:hover{background:#6d28d9}.agent-send-btn:disabled{background:#d1d5db;cursor:not-allowed}body{-webkit-font-smoothing:antialiased;background:#f5f7fb;background:var(--bg);color:#1e293b;color:var(--ink);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:15.5px;font-size:var(--fs);transition:background .3s ease}.brand-name,.dashboard-hero-title,.page-title,.section-title,.stat-value,h1,h2,h3{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display)}.page-title{font-size:1.6rem;font-size:calc(1.6rem*var(--scale));font-weight:800;letter-spacing:-.01em}.section-title{font-size:1.2rem;font-size:calc(1.2rem*var(--scale));font-weight:800}.page-desc{color:#64748b;color:var(--muted);font-size:.9rem;font-size:calc(.9rem*var(--scale))}.app-header{background:linear-gradient(135deg,#4f46e5,#7c3aed);background:var(--header-grad);box-shadow:0 4px 20px #0f172a24;height:3.75rem}.brand-name{font-size:1.3rem;font-weight:900}.app-sidebar{background:#fff;background:var(--card);border-right:1px solid #e9edf5;border-right:1px solid var(--border);width:14rem}.sidebar-nav{padding:.6rem .55rem}.sidebar-item{border-radius:12px;border-radius:var(--radius-sm);color:#64748b;color:var(--muted);font-size:.86rem;font-size:calc(.86rem*var(--scale));font-weight:600;margin-bottom:2px;padding:.62rem .8rem}.sidebar-item:hover{background:#eef2ff;background:var(--accent-soft);color:#6366f1;color:var(--accent)}.sidebar-item.active{background:#6366f1;background:var(--accent);box-shadow:0 6px 16px -4px color-mix(in srgb,#6366f1 55%,#0000);box-shadow:0 6px 16px -4px color-mix(in srgb,var(--accent) 55%,#0000);color:#fff;font-weight:700}.sidebar-item.active .sidebar-icon{color:#fff!important}.btn-primary,.btn-primary-lg,.btn-primary-sm{background:#6366f1;background:var(--accent);border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);font-weight:700;transition:transform .12s ease,box-shadow .15s ease,background .15s ease}.btn-primary-lg:hover,.btn-primary-sm:hover,.btn-primary:hover{background:#6366f1;background:var(--accent);box-shadow:0 12px 30px #0f172a21;box-shadow:var(--shadow-hover);transform:translateY(-3px);transform:translateY(var(--lift))}.btn-primary-lg{font-size:.95rem;font-size:calc(.95rem*var(--scale));padding:.8rem 1.7rem}.btn-outline,.btn-outline-lg,.btn-outline-sm{background:#fff;background:var(--card);border:1.5px solid #e9edf5;border:1.5px solid var(--border);border-radius:999px;border-radius:var(--radius-pill);color:#1e293b;color:var(--ink);font-weight:600}.btn-outline-lg:hover,.btn-outline-sm:hover,.btn-outline:hover{background:#eef2ff;background:var(--accent-soft);border-color:#6366f1;border-color:var(--accent);color:#6366f1;color:var(--accent)}.action-card,.agent-info-banner,.grade-band,.progress-section,.publisher-info-card,.quick-action-card,.stat-card,.subject-card,.topic-card{border:1px solid #e9edf5;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .2s ease,border-color .15s ease}.action-card:hover,.quick-action-card:hover,.subject-card:hover{border-color:#6366f1;border-color:var(--accent);box-shadow:0 12px 30px #0f172a21;box-shadow:var(--shadow-hover);transform:translateY(-3px);transform:translateY(var(--lift))}.stat-card{padding:1.15rem}.stat-value{font-size:1.35rem;font-size:calc(1.35rem*var(--scale));font-weight:900}.stat-icon{border-radius:12px;border-radius:var(--radius-sm)}.quick-action-card{padding:1.4rem 1rem}.quick-action-card span{font-size:.9rem;font-size:calc(.9rem*var(--scale));font-weight:700}.dashboard-hero{border:1px solid #e9edf5;border:1px solid var(--border);border-radius:22px;border-radius:var(--radius-lg);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow)}.dashboard-hero-title{font-size:1.9rem;font-size:calc(1.9rem*var(--scale));font-weight:900;letter-spacing:-.02em}.hero-emoji-grid span{border-radius:12px;border-radius:var(--radius-sm)}.grade-band,.hero-emoji-grid span{box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow)}.grade-band{border-radius:16px;border-radius:var(--radius);overflow:hidden}.grade-band-header h3{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:.95rem;font-size:calc(.95rem*var(--scale));font-weight:800}.grade-btn{border:1.5px solid #e9edf5;border:1.5px solid var(--border);border-radius:12px;border-radius:var(--radius-sm);transition:transform .12s ease,box-shadow .15s ease,border-color .15s}.grade-btn:hover{border-color:#6366f1;border-color:var(--accent);box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow);transform:translateY(-2px)}.grade-btn-level,.grade-btn:hover{background:#eef2ff;background:var(--accent-soft)}.grade-btn-level{border-radius:12px;border-radius:var(--radius-sm);color:#6366f1;color:var(--accent);font-size:.85rem;height:2rem;width:2rem}.grade-btn-name{font-size:.8rem;font-size:calc(.8rem*var(--scale));font-weight:600}.subject-card{border-radius:16px;border-radius:var(--radius)}.subject-card-body h3{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:.92rem;font-size:calc(.92rem*var(--scale));font-weight:700}.subject-header{box-shadow:0 4px 16px #0f172a0f;box-shadow:var(--shadow)}.subject-header,.topic-card{border-radius:16px;border-radius:var(--radius)}.topic-card-body h3{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-display);font-size:.98rem;font-size:calc(.98rem*var(--scale));font-weight:700}.subtopic-tag{background:#eef2ff;background:var(--accent-soft);border-radius:999px;border-radius:var(--radius-pill);color:#6366f1;color:var(--accent);font-weight:600}.agent-input,.form-group input,.form-group textarea{border:1.5px solid #e9edf5;border:1.5px solid var(--border);border-radius:12px;border-radius:var(--radius-sm);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body)}.agent-input:focus,.form-group input:focus,.form-group textarea:focus{border-color:#6366f1;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,#6366f1 18%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,#0000)}.filter-tab,.filter-tabs{border-radius:12px;border-radius:var(--radius-sm)}.filter-tab{font-weight:600}.filter-tab.active{color:#6366f1;color:var(--accent)}.modal-content{border-radius:22px;border-radius:var(--radius-lg)}.agent-send-btn{border-radius:12px;border-radius:var(--radius-sm)}.agent-send-btn,.agent-send-btn:hover{background:#6366f1;background:var(--accent)}.agent-send-btn:hover{transform:translateY(-2px)}.progress-bar-fill{background:linear-gradient(90deg,#6366f1,#7c3aed)!important;background:linear-gradient(90deg,var(--accent),var(--accent-2))!important}