:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fa;color:#1e293b;--bg: #f5f7fa;--surface: #ffffff;--surface-soft: #f8fafc;--surface-tint: #ecfeff;--text: #1e293b;--muted: #64748b;--border: #dbe3ef;--navy: #102a43;--navy-2: #163b5c;--teal: #0f766e;--teal-2: #14b8a6;--sky: #0ea5e9;--amber: #f59e0b;--danger: #991b1b;--radius: 8px;--shadow: 0 16px 45px rgba(15, 23, 42, .08)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{letter-spacing:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:linear-gradient(180deg,rgba(14,165,233,.06),transparent 380px),var(--bg)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#062a49,#031d36);color:#f8fafc;padding:24px 18px;display:flex;flex-direction:column;gap:22px;border-right:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800;padding:4px 8px 10px}.brand span:last-child{display:grid;line-height:1.05}.brand small{color:#b9d7ea;font-size:12px;font-weight:700;margin-top:3px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:linear-gradient(135deg,#5eead4,#38bdf8);color:#082f49;border-radius:10px;box-shadow:0 12px 24px #2dd4bf38}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.ghost-button{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border-radius:var(--radius);color:#dbeafe;border:1px solid transparent;background:transparent;cursor:pointer;font-size:14px;font-weight:700}.sidebar nav a.active{background:#ffffff1f;border-color:#ffffff21;color:#fff}.sidebar nav a:hover,.ghost-button:hover{background:#ffffff17}.ghost-button{width:100%}.sidebar-card{display:grid;gap:10px;margin-top:auto;padding:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);color:#c7dff1;font-size:13px;line-height:1.45}.sidebar-card p{margin:0}.sidebar-footer{display:grid;gap:10px}.sidebar-user{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:#ffffff14}.sidebar-user>span{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:#ecfeff;color:#0f766e;font-weight:950}.sidebar-user strong,.sidebar-logout-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{color:#fff;font-size:13px}.sidebar-logout-link{width:fit-content;border:0;padding:3px 0 0;display:inline-flex;align-items:center;gap:5px;background:transparent;color:#b9d7ea;font-size:12px;font-weight:800;cursor:pointer}.sidebar-logout-link:hover{color:#fff}.main-panel{width:min(1180px,100%);margin:0 auto;padding:26px 28px 46px}.topbar{min-height:72px;display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:27px;line-height:1.15;letter-spacing:0}.muted{color:var(--muted);margin:0 0 4px}.primary-button,.secondary-button{border:0;border-radius:var(--radius);min-height:42px;padding:11px 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer;font-weight:800;font-size:14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-button{background:var(--teal);color:#fff;box-shadow:0 10px 22px #0f766e2e}.primary-button:hover{background:#0d6b64;transform:translateY(-1px)}.secondary-button{background:#e8eef6;color:var(--text)}.primary-button:disabled{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}.content-stack{display:grid;gap:18px}.progress-summary-block{display:grid;gap:14px}.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:18px;align-items:start}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.dashboard-hero h2{margin:0 0 7px;font-size:25px}.dashboard-hero p,.panel-intro{margin:0;color:var(--muted);line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.card,.panel,.state-panel,.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.panel{box-shadow:0 10px 28px #0f172a0e}.panel h2,.card h2,.response-card h2{margin-top:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) 390px;gap:18px;align-items:start}.action-panel{position:sticky;top:24px;display:grid;gap:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:14px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 10px 26px #0f172a0e;display:flex;align-items:center;gap:14px}.stat-card span{color:var(--muted);display:block;margin-top:4px;font-size:12px;font-weight:800}.stat-card strong{font-size:28px;line-height:1;color:var(--navy)}.stat-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:999px}.stat-teal{background:#ecfeff;color:#0891b2}.stat-green{background:#ecfdf5;color:#16a34a}.stat-violet{background:#f5f3ff;color:#7c3aed}.stat-amber{background:#fffbeb;color:#f59e0b}.dashboard-insights{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px}.dashboard-insights article{display:grid;gap:8px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 10px 26px #0f172a0e}.dashboard-insights h3,.dashboard-insights p,.dashboard-insights ul{margin:0}.dashboard-insights p,.dashboard-insights span{color:var(--muted);line-height:1.45}.dashboard-insights ul{list-style:none;display:grid;gap:8px;padding:0}.dashboard-insights li{display:grid;gap:3px}.dashboard-insights strong{color:var(--navy)}.dashboard-insights a{color:var(--teal);font-size:13px;font-weight:900}.student-progress-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#ecfefff2,#fff 58%),#fff!important}.student-progress-card:after{content:"";position:absolute;right:-36px;top:-42px;width:132px;height:132px;border-radius:999px;background:#14b8a61f}.progress-card-header{position:relative;z-index:1;display:flex;gap:12px;align-items:center}.progress-card-header>span{width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:#ccfbf1;color:#0f766e}.progress-card-header h3,.progress-card-header p{margin:0}.progress-score-row{position:relative;z-index:1;display:flex;align-items:end;gap:10px}.progress-score-row strong{font-size:46px;line-height:1;color:var(--navy)}.progress-score-row span{padding-bottom:6px;color:#0f766e;font-weight:900}.progress-track{position:relative;z-index:1;height:12px;overflow:hidden;border-radius:999px;background:#dbeafe}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#0ea5e9)}.progress-detail{position:relative;z-index:1;color:#334155!important;font-weight:750}.progress-mini-grid{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}.progress-mini-grid span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #ccfbf1;color:#0f766e;font-size:12px;font-weight:900}.student-list{display:grid;gap:12px}.student-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;box-shadow:none;padding:16px}.student-avatar{width:44px;height:44px;display:grid;place-items:center;background:#ecfeff;color:var(--teal);border-radius:var(--radius)}.avatar-lg{width:58px;height:58px}.avatar-spark{background:#ecfeff;color:#0f766e}.avatar-rocket{background:#eff6ff;color:#2563eb}.avatar-star{background:#fffbeb;color:#b45309}.avatar-book{background:#f0fdf4;color:#15803d}.avatar-calc{background:#fef2f2;color:#be123c}.avatar-art{background:#fff7ed;color:#c2410c}.avatar-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.avatar-choice{min-height:42px;border:1px solid transparent;border-radius:var(--radius);display:grid;place-items:center;cursor:pointer;color:inherit}.avatar-choice.selected{border-color:var(--teal);box-shadow:0 0 0 3px #14b8a621}.student-main h3{margin:0 0 6px;font-size:17px}.student-main p{margin:8px 0 0;color:var(--muted);line-height:1.45}.meta-row{display:flex;flex-wrap:wrap;gap:7px}.meta-row span{padding:4px 8px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:var(--radius);color:#475569;font-size:12px;font-weight:800}.row-actions{display:grid;gap:8px;align-content:center;font-weight:800;color:var(--teal)}.row-actions a{display:inline-flex;align-items:center;gap:6px;justify-content:flex-end;font-size:13px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.section-header h2{margin:0 0 4px}.section-header p{margin:0;color:var(--muted)}.section-header a{color:var(--teal);font-weight:850;font-size:13px}.two-column{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.compact-form{grid-template-columns:1fr 1fr}.form-grid label,.auth-card label{display:grid;gap:7px;font-weight:800;color:#334155;font-size:13px}.wide{grid-column:1 / -1}.form-helper{display:grid;gap:4px;padding:13px 14px;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:var(--radius);color:#115e59;line-height:1.45}.form-helper span{color:#4b7280;font-size:13px}input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:var(--radius);padding:11px 12px;background:#fff;color:var(--text);outline:none;transition:border .16s ease,box-shadow .16s ease}input:focus,select:focus,textarea:focus{border-color:var(--teal-2);box-shadow:0 0 0 3px #14b8a621}textarea{resize:vertical}.check{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.upload-box{border:1px dashed #8db4c4;border-radius:var(--radius);padding:30px 18px;background:linear-gradient(180deg,#f8fafc,#ecfeff);text-align:center}.upload-box label{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;color:#0f5f67;font-weight:900}.upload-box input{display:none}.file-list,.clean-list,.history-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}.file-list li,.history-list li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f0;padding-top:10px}.history-panel{display:grid;gap:8px}.rich-history-list{gap:0}.rich-history-list li{align-items:center;padding:16px 0}.history-main{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:13px}.history-title{display:inline-block;color:var(--navy);font-size:16px;font-weight:900;margin-bottom:8px}.history-title:hover{color:var(--teal)}.history-meta{display:flex;flex-wrap:wrap;gap:8px}.history-meta span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:#f8fafc;border:1px solid #e2e8f0;border-radius:var(--radius);padding:5px 8px;font-size:12px;font-weight:800}.history-side{display:grid;justify-items:end;gap:9px}.guided-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:12px;font-weight:900}.file-list button{border:0;background:transparent;cursor:pointer}.empty-line{color:var(--muted);padding:12px 0}.invitation-panel{display:grid;gap:14px}.invite-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:13px;background:#f8fafc;border:1px solid #dbe3ef;border-radius:var(--radius)}.invite-link-box div{display:grid;gap:6px}.invite-link-box span,.invite-link-box small{color:var(--muted);font-size:12px;font-weight:800}.invite-link-box small{grid-column:1 / -1;color:#047857}.invitation-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e2e8f0}.invitation-list strong,.invitation-list span{display:block}.invitation-list span{color:var(--muted);font-size:13px}.status-pill{padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569!important;font-weight:900;text-transform:capitalize}.status-accepted{background:#ecfdf5;color:#047857!important}.status-pending{background:#ecfeff;color:#0f766e!important}.steps{display:grid;gap:10px;padding-left:22px}.next-question{padding:12px 14px;background:#ecfeff;border:1px solid #bae6fd;border-radius:var(--radius);color:#155e75;font-weight:700}.progress-timeline{display:grid;gap:10px;margin:0;padding:0;list-style:none}.progress-step{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;color:#334155;font-weight:750}.progress-step>span{width:12px;height:12px;margin-top:4px;border-radius:999px;background:#cbd5e1;box-shadow:0 0 0 4px #f1f5f9}.progress-step p{margin:0;line-height:1.45}.progress-step.text>span,.progress-step.visual>span,.progress-step.complete>span{background:var(--teal);box-shadow:0 0 0 4px #ccfbf1}.progress-step.cancelled>span{background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.response-card{border-left:4px solid var(--teal)}.markdown-content{line-height:1.65;color:#263445;overflow-wrap:anywhere}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:18px 0 8px;color:var(--navy)}.markdown-content h2{font-size:20px;border-bottom:1px solid #e2e8f0;padding-bottom:6px}.markdown-content p{margin:8px 0 12px;overflow-wrap:anywhere}.markdown-content ul,.markdown-content ol{padding-left:24px;display:grid;gap:6px;overflow-wrap:anywhere}.markdown-content strong{color:var(--teal)}.markdown-content .table-scroll{width:100%;overflow-x:auto;margin:14px 0;border:1px solid #dbe3ef;border-radius:var(--radius)}.markdown-content table{width:100%;min-width:520px;border-collapse:collapse}.markdown-content th,.markdown-content td{border:1px solid #dbe3ef;padding:10px;text-align:left;vertical-align:top}.markdown-content th{background:#f1f5f9}.markdown-content code{background:#e2e8f0;border-radius:6px;padding:2px 5px;overflow-wrap:anywhere}.markdown-content pre{background:var(--navy);color:#f8fafc;border-radius:var(--radius);padding:14px;overflow-x:auto}.markdown-content pre code{display:block;min-width:max-content;background:transparent;color:inherit;padding:0;overflow-wrap:normal}.pedagogical-visuals{display:grid;gap:12px;margin:18px 0}.visual-generation-status{display:flex;align-items:center;gap:12px;margin:16px 0;padding:13px 14px;border:1px solid #bae6fd;border-radius:var(--radius);background:#ecfeff;color:#155e75}.visual-generation-status.failed{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.visual-generation-status strong{display:block;color:var(--navy);margin-bottom:2px}.visual-generation-status p{margin:0;color:inherit;font-size:14px}.visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.visual-card{margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:#f8fafc}.visual-open-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.visual-open-button:disabled{cursor:wait}.visual-open-button:focus-visible{outline:3px solid rgba(15,118,110,.32);outline-offset:-3px}.visual-card img,.visual-placeholder{display:block;width:100%;aspect-ratio:4 / 3;object-fit:contain;background:#eef6f7}.visual-placeholder{display:grid;place-items:center;padding:16px;color:var(--muted);font-weight:800;text-align:center}.visual-card figcaption{display:grid;gap:4px;padding:12px;color:var(--muted);font-size:14px}.visual-card figcaption strong{color:var(--navy)}.visual-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:22px;background:#0f172ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .16s ease-out}.visual-lightbox-panel{width:min(980px,100%);max-height:min(92vh,820px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);background:#0f172a;color:#f8fafc;box-shadow:0 28px 80px #00000059}.visual-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;color:#cbd5e1;font-weight:800}.icon-button,.carousel-button{display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff1a;color:#f8fafc;cursor:pointer}.icon-button{width:38px;height:38px}.visual-lightbox-stage{position:relative;min-height:260px;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius);background:#020617}.visual-lightbox-stage img{width:100%;max-height:68vh;object-fit:contain}.carousel-button{position:absolute;top:50%;width:44px;height:44px;transform:translateY(-50%)}.carousel-button.previous{left:14px}.carousel-button.next{right:14px}.icon-button:hover,.carousel-button:hover{background:#ffffff2e}.visual-lightbox-caption{display:grid;gap:4px;color:#cbd5e1;line-height:1.45}.visual-lightbox-caption strong{color:#f8fafc;font-size:18px}.feedback-panel{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #e2e8f0}.feedback-panel h3,.feedback-panel p{margin:0}.feedback-panel p{color:var(--muted)}.feedback-panel form{display:grid;gap:12px}.feedback-options{display:flex;flex-wrap:wrap;gap:8px}.feedback-options button{min-height:38px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:var(--radius);background:#fff;color:#334155;cursor:pointer;font-weight:850}.feedback-options button.selected{border-color:var(--teal);background:#ecfeff;color:#0f766e;box-shadow:0 0 0 3px #14b8a621}.feedback-admin-panel{display:grid;gap:14px}.admin-filters{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.admin-filters label{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:850}.feedback-admin-list{list-style:none;display:grid;gap:0;padding:0;margin:0}.feedback-admin-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e2e8f0}.feedback-admin-main{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px}.feedback-admin-main strong,.feedback-admin-main small{display:block}.feedback-admin-main p{margin:5px 0;color:var(--text);line-height:1.45}.feedback-admin-main small{color:var(--muted);font-size:12px;font-weight:750}.feedback-rating-useful{background:#ecfdf5;color:#047857!important}.feedback-rating-neutral{background:#f8fafc;color:#475569!important}.feedback-rating-incomplete{background:#fff7ed;color:#c2410c!important}.recommendations-panel{display:grid;gap:12px}.recommendations-panel h2{margin:0}.dashboard-workspace{display:grid;gap:18px}.activity-panel{border-top:1px solid #e2e8f0;padding-top:16px}.activity-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.activity-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:var(--radius);background:#fff}.activity-dot{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:#ecfeff;color:#0f766e;font-weight:950}.activity-list strong,.activity-list small{display:block}.activity-list small,.activity-list em{color:var(--muted);font-size:12px;font-style:normal}.activity-summary{min-width:0;display:grid;gap:4px}.activity-summary .markdown-content{display:-webkit-box;line-height:1.42;color:var(--text);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.activity-summary .markdown-content h2,.activity-summary .markdown-content h3,.activity-summary .markdown-content p,.activity-summary .markdown-content ul,.activity-summary .markdown-content ol{margin:0;padding:0;border:0;font-size:14px}.activity-summary .markdown-content ul,.activity-summary .markdown-content ol{padding-left:16px}.activity-summary .markdown-content li{display:list-item;padding:0;border:0}.activity-summary .markdown-content strong{color:var(--navy)}.activity-exercise-grid,.practice-list,.practice-group{display:grid;gap:16px}.practice-student-heading{display:flex;align-items:center;gap:12px}.practice-student-heading h2,.practice-student-heading p,.practice-card h3,.practice-card p{margin:0}.practice-student-heading p,.practice-card p{color:var(--muted);line-height:1.55}.practice-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.practice-card{display:grid;gap:11px;padding:16px;border:1px solid #dbe3ef;border-radius:var(--radius);background:#fff;box-shadow:0 10px 24px #0f172a0b}.practice-card-header,.practice-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.practice-card-header span{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:900;font-size:13px}.practice-card-header em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.practice-meta{flex-wrap:wrap;padding-top:10px;border-top:1px solid #e2e8f0;font-size:13px}.practice-meta strong{color:var(--navy)}.practice-meta a{color:var(--teal);font-weight:900}.calendar-card{display:grid;gap:10px;padding-bottom:14px;border-bottom:1px solid #e2e8f0}.calendar-card h2{display:inline-flex;align-items:center;gap:8px;margin:0}.calendar-item{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:var(--radius);background:#fff}.calendar-item>strong{display:grid;place-items:center;min-height:46px;border-radius:var(--radius);background:#f8fafc;color:var(--navy)}.calendar-item span,.calendar-item small{display:block}.calendar-item span{font-weight:850}.calendar-item small{color:var(--muted);font-weight:650;margin-top:3px}.homework-page{grid-template-columns:minmax(0,1.35fr) 330px}.homework-panel{display:grid;gap:16px}.homework-titlebar{display:flex;gap:12px;align-items:flex-start}.homework-titlebar>a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dbe3ef;border-radius:var(--radius);color:var(--navy)}.homework-titlebar h2{margin:0 0 4px}.homework-side{display:grid;gap:16px;align-content:start}.advice-card{box-shadow:0 10px 28px #0f172a0e}.advice-list{list-style:none;display:grid;gap:12px;padding:0;margin:14px 0 0}.advice-list li{display:flex;gap:10px;align-items:center;color:#475569;font-weight:750}.advice-list svg{color:var(--teal)}.state-panel{min-height:120px;display:grid;place-items:center;text-align:center}.state-panel.error,.alert{color:var(--danger);background:#fef2f2;border-color:#fecaca}.spinner{width:22px;height:22px;border:3px solid #cbd5e1;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}.profile-card{display:grid;gap:16px}.profile-heading{display:flex;gap:14px;align-items:center}.profile-heading h2{margin:0 0 4px}.profile-heading p{margin:0;color:var(--muted)}.profile-focus{display:grid;gap:5px;padding:13px 14px;border:1px solid #dbeafe;border-radius:var(--radius);background:#f8fafc;color:var(--muted)}.profile-focus strong{color:var(--navy)}.resources-page{min-height:min(640px,calc(100vh - 160px));display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);align-items:center;gap:30px;padding:42px;border:1px solid var(--border);border-radius:var(--radius);background:radial-gradient(circle at 20% 20%,rgba(20,184,166,.16),transparent 28%),linear-gradient(135deg,#fff,#eff6ff);box-shadow:var(--shadow);overflow:hidden}.resources-illustration{position:relative;min-height:300px;display:grid;place-items:center}.resource-main-icon{width:154px;height:154px;display:grid;place-items:center;border-radius:36px;background:#fff;color:#0f766e;box-shadow:0 24px 60px #0f172a24;transform:rotate(-4deg)}.resource-bubble{position:absolute;width:78px;height:78px;display:grid;place-items:center;border-radius:999px;background:#fff;box-shadow:0 16px 40px #0f172a1f}.bubble-book{left:10%;top:18%;color:#2563eb}.bubble-rocket{right:12%;top:8%;color:#c2410c}.bubble-palette{right:18%;bottom:12%;color:#7c3aed}.resources-copy{display:grid;gap:14px}.resources-copy>span{width:fit-content;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#ecfeff;color:#0f766e;font-size:13px;font-weight:900}.resources-copy h2{max-width:720px;margin:0;color:var(--navy);font-size:clamp(30px,5vw,52px);line-height:1.04;letter-spacing:0}.resources-copy p{max-width:620px;margin:0;color:#475569;font-size:17px;line-height:1.65}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:#fbfcfe}.auth-shell{width:min(430px,100%)}.auth-card{width:min(430px,100%);display:grid;gap:15px;padding:34px 36px 24px;box-shadow:0 18px 50px #0f172a14;border:1px solid #dbe3ef;border-radius:16px;background:#fff}.auth-brand{display:flex;align-items:center;gap:14px;font-weight:900;color:var(--navy)}.centered-brand{justify-content:center;margin-bottom:7px;font-size:36px;line-height:1}.assist-logo{display:flex;align-items:center;gap:14px;justify-content:center;font-weight:900;color:var(--navy)}.assist-logo img{display:block;width:42px;height:42px;object-fit:contain}.centered-brand .brand-mark{width:42px;height:42px}.auth-form{display:grid;gap:14px}.auth-heading{display:grid;gap:8px}.auth-card h1{margin:0;font-size:26px;line-height:1.1;color:var(--navy)}.auth-card p{margin:0;color:var(--muted);line-height:1.55}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social-button{min-height:40px;border:1px solid #cbd5e1;border-radius:var(--radius);background:#fff;color:#334155;font-weight:850;font-size:12px;display:inline-flex;gap:8px;align-items:center;justify-content:center}.social-button span{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#fff;color:var(--teal);font-weight:900}.social-button:disabled{opacity:.72;cursor:not-allowed}.auth-separator{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;color:var(--muted);font-size:12px;font-weight:800;margin-top:2px}.auth-separator:before,.auth-separator:after{content:"";height:1px;background:#e2e8f0}.auth-check{color:#475569;font-weight:750}.auth-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.auth-switch{text-align:center;font-weight:750}.auth-switch a{color:var(--teal)}.simple-auth-card label{display:grid;gap:8px;color:#334155;font-size:12px;font-weight:800}.input-with-icon{min-height:40px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #cbd5e1;border-radius:var(--radius);padding:0 12px;color:#64748b;background:#fff}.input-with-icon:focus-within{border-color:var(--teal-2);box-shadow:0 0 0 3px #14b8a621}.input-with-icon input{border:0;padding:0;min-height:38px;box-shadow:none}.input-with-icon input:focus{box-shadow:none}.link-button{border:0;padding:0;background:transparent;color:var(--teal);font-weight:850;font-size:12px;cursor:pointer;text-decoration:none}.auth-submit{width:100%;margin-top:2px;min-height:42px}.alert{border:1px solid;border-radius:var(--radius);padding:10px 12px}.success-note{color:#047857;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:var(--radius);padding:10px 12px;font-weight:800;font-size:13px}.dev-reset-link{display:grid;gap:5px;padding:10px 12px;border:1px dashed #99f6e4;border-radius:var(--radius);background:#f0fdfa;color:#0f766e;font-size:12px;font-weight:750}.dev-reset-link a{color:#0f766e;overflow-wrap:anywhere}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 1040px){.dashboard-grid,.two-column,.settings-grid,.dashboard-insights{grid-template-columns:1fr}.action-panel{position:static}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:16px}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.sidebar-card{display:none}.topbar,.section-header,.dashboard-hero,.student-card{flex-direction:column;align-items:stretch}.student-card{grid-template-columns:44px minmax(0,1fr)}.rich-history-list li,.history-main{grid-template-columns:1fr}.history-side{justify-items:stretch}.practice-card-header,.practice-meta{align-items:flex-start;flex-direction:column}.row-actions{grid-column:1 / -1;grid-template-columns:1fr 1fr}.row-actions a{justify-content:center;background:#f1f5f9;padding:9px 10px;border-radius:var(--radius)}.form-grid,.compact-form,.stats-grid{grid-template-columns:1fr}.main-panel{padding:18px}.resources-page{grid-template-columns:1fr;padding:24px}.resources-illustration{min-height:220px}.resource-main-icon{width:126px;height:126px}.auth-page{padding:34px 18px 18px;align-items:start}.centered-brand{font-size:30px}.social-grid,.homework-page{grid-template-columns:1fr}.avatar-picker{grid-template-columns:repeat(3,1fr)}.visual-lightbox{padding:10px}.visual-lightbox-panel{max-height:94vh;padding:10px}.visual-lightbox-stage{min-height:220px}.carousel-button{width:38px;height:38px}.carousel-button.previous{left:8px}.carousel-button.next{right:8px}.invite-link-box,.invitation-list li,.feedback-admin-list li,.feedback-admin-main,.admin-filters{grid-template-columns:1fr;align-items:stretch}}
