:root{--navy:#0f172a;--navy-2:#1e293b;--blue:#2563eb;--blue-dark:#1d4ed8;--blue-light:#dbeafe;--grey-50:#f8fafc;--grey-100:#f1f5f9;--grey-200:#e2e8f0;--grey-300:#cbd5e1;--grey-500:#64748b;--grey-700:#334155;--white:#fff;--success:#15803d;--success-bg:#dcfce7;--warning-bg:#fef3c7;--danger:#b91c1c;--danger-bg:#fee2e2;--shadow:0 20px 50px #0f172a14;--shadow-soft:0 10px 30px #0f172a0f;--radius:20px}*{box-sizing:border-box}body{color:var(--navy);background:radial-gradient(circle at top left, #2563eb1f, transparent 30rem), linear-gradient(180deg, var(--grey-50), #eef4ff 100%);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.66}textarea{resize:vertical}main{min-height:calc(100vh - 82px)}.navbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #e2e8f0e6;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;gap:16px;max-width:1240px;margin:0 auto;padding:14px 20px;display:flex}.brand{align-items:center;gap:12px;min-width:max-content;display:inline-flex}.brand-mark{background:linear-gradient(135deg, var(--blue), #60a5fa);width:44px;height:44px;color:var(--white);letter-spacing:-.04em;border-radius:14px;place-items:center;font-weight:800;display:grid;box-shadow:0 10px 20px #2563eb47}.brand strong,.brand small{display:block}.brand strong{font-size:1.05rem;line-height:1.1}.brand small{color:var(--grey-500);margin-top:3px;font-size:.76rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.nav-link{color:var(--grey-700);border-radius:999px;padding:10px 13px;font-size:.92rem;font-weight:700;transition:all .2s}.nav-link:hover,.nav-link.active{color:var(--blue);background:var(--blue-light)}.nav-auth-area{justify-content:flex-end;align-items:center;gap:10px;min-width:fit-content;display:flex}.student-chip{background:var(--grey-100);border:1px solid var(--grey-200);border-radius:14px;flex-direction:column;gap:2px;max-width:210px;padding:8px 12px;display:flex}.student-chip span{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:800;overflow:hidden}.student-chip strong{color:var(--blue);font-size:.75rem}.page{width:min(1180px,100% - 40px);margin:0 auto;padding:42px 0 68px}.narrow-page{width:min(980px,100% - 40px)}.center-page{place-items:center;min-height:calc(100vh - 86px);display:grid}.hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);align-items:stretch;gap:28px;padding:18px 0 24px;display:grid}.hero-content,.card{box-shadow:var(--shadow);border-radius:var(--radius);background:#fffffff0;border:1px solid #e2e8f0db}.hero-content{padding:clamp(30px,5vw,56px);position:relative;overflow:hidden}.hero-content:after{content:"";background:#2563eb1f;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-120px;right:-90px}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.11em;align-items:center;font-size:.78rem;font-weight:800;display:inline-flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:16px;font-size:clamp(2.15rem,6vw,4.4rem);line-height:.98}h2{letter-spacing:-.035em;margin-bottom:12px;font-size:clamp(1.35rem,3vw,2rem)}h3{margin-bottom:10px;font-size:1.1rem}p{color:var(--grey-700);line-height:1.65}.hero-description{max-width:720px;font-size:1.12rem}.hero-actions,.card-heading-row,.dashboard-header,.chat-toolbar,.progress-card-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.hero-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:26px}.btn{border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--blue);color:var(--white);box-shadow:0 14px 26px #2563eb38}.btn.primary:hover{background:var(--blue-dark)}.btn.secondary{background:var(--blue-light);color:var(--blue-dark)}.btn.ghost{background:var(--white);color:var(--navy);border:1px solid var(--grey-200)}.btn.small{padding:9px 13px;font-size:.86rem}.full-width{width:100%}.status-card,.form-card,.rebuild-card,.guidance-card,.auth-card,.auth-check-card{padding:26px}.status-badge{border-radius:999px;align-items:center;padding:7px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.status-badge.online{background:var(--success-bg);color:var(--success)}.status-badge.offline{background:var(--danger-bg);color:var(--danger)}.status-badge.pending{background:var(--warning-bg);color:#92400e}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.status-grid div,.readonly-field{background:var(--grey-50);border:1px solid var(--grey-200);border-radius:16px;padding:14px}.status-grid span,.readonly-field span,.stat-card span,.profile-summary span,.score-card span,.progress-section span{color:var(--grey-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:.8rem;font-weight:800;display:block}.status-grid strong,.readonly-field strong{word-break:break-word}.section{padding-top:48px}.section-heading{max-width:720px;margin-bottom:24px}.section-heading.compact{margin-bottom:18px}.feature-grid,.topic-grid,.stats-grid,.progress-grid{gap:18px;display:grid}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-card{box-shadow:var(--shadow-soft);padding:24px}.topic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.topic-pill,.level-pill{background:var(--white);border:1px solid var(--grey-200);color:var(--navy-2);box-shadow:var(--shadow-soft);border-radius:999px;justify-content:center;align-items:center;padding:12px 14px;font-weight:800;display:inline-flex}.level-pill{background:var(--blue-light);color:var(--blue-dark);box-shadow:none;padding:8px 11px;font-size:.8rem}.alert{border-radius:16px;margin-top:16px;padding:14px 16px;line-height:1.55}.alert.error{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.alert.success{background:var(--success-bg);color:#166534;border:1px solid #bbf7d0}.muted{color:var(--grey-500)}.auth-card{width:min(520px,100%)}.wide-auth-card{width:min(760px,100%)}.auth-header h1{font-size:clamp(2rem,5vw,3.1rem)}.auth-switch{text-align:center;margin:20px 0 0}.auth-switch a{color:var(--blue);font-weight:900}.stacked-form,.form-grid{gap:16px;display:grid}.form-grid.two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.field-label{color:var(--navy-2);gap:8px;font-weight:800;display:grid}.field-label input,.field-label select,.field-label textarea,.chat-form textarea{border:1px solid var(--grey-300);background:var(--white);width:100%;color:var(--navy);border-radius:16px;outline:none;padding:13px 14px;transition:border .2s,box-shadow .2s}.field-label input:focus,.field-label select:focus,.field-label textarea:focus,.chat-form textarea:focus{border-color:#2563eba6;box-shadow:0 0 0 4px #2563eb1c}.field-label input[readonly]{background:var(--grey-100);color:var(--grey-700)}.field-label small{color:var(--grey-500);font-weight:600}.two-column-page{grid-template-columns:minmax(0,1.1fr) minmax(320px,.8fr);align-items:start;gap:24px;display:grid}.inside-card{margin-bottom:20px}.inside-card h1,.dashboard-header h1{font-size:clamp(2rem,5vw,3.2rem)}.results-column,.admin-side,.result-stack{gap:18px;display:grid}.profile-summary{padding:18px}.profile-summary strong{margin-bottom:4px;font-size:1.1rem;display:block}.profile-summary small{color:var(--grey-500);font-weight:700}.mini-card{min-width:260px}.large-summary{padding:24px}.chat-layout{padding:22px}.chat-toolbar{flex-wrap:wrap;margin-bottom:18px}.session-chip{background:var(--grey-100);border:1px solid var(--grey-200);color:var(--grey-700);border-radius:999px;padding:10px 13px;font-size:.9rem;font-weight:800}.chat-window{background:linear-gradient(180deg, var(--grey-50), var(--white));border:1px solid var(--grey-200);border-radius:18px;gap:14px;min-height:330px;max-height:56vh;padding:18px;display:grid;overflow-y:auto}.chat-row{display:flex}.chat-row.left{justify-content:flex-start}.chat-row.right{justify-content:flex-end}.chat-bubble{max-width:min(78%,680px);box-shadow:var(--shadow-soft);border-radius:18px;padding:14px 16px}.chat-bubble.assistant{background:var(--white);border:1px solid var(--grey-200)}.chat-bubble.user{background:var(--blue);color:var(--white)}.chat-bubble.user p,.chat-bubble.user .message-author{color:var(--white)}.message-author{color:var(--blue);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px;font-size:.78rem;font-weight:900;display:block}.chat-bubble p{white-space:pre-wrap;margin:0}.quick-actions{flex-wrap:wrap;gap:10px;margin:18px 0 0;display:flex}.quick-actions button{border:1px solid var(--grey-200);background:var(--white);color:var(--blue-dark);border-radius:999px;padding:10px 13px;font-weight:800}.chat-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:18px;display:grid}.matched-sources{margin-top:18px}.source-list{gap:10px;display:grid}.source-card{background:var(--grey-50);border:1px solid var(--grey-200);border-radius:16px;gap:5px;padding:14px;display:grid}.source-card span,.source-card p{color:var(--grey-700);margin:0;font-size:.92rem}.score-card{background:linear-gradient(135deg, var(--blue), #60a5fa);color:var(--white);border:0;padding:26px}.score-card span,.score-card small{color:#ffffffdb}.score-card strong{font-size:3rem;line-height:1;display:block}.result-card,.feedback-box{padding:22px}.feedback-box p,.result-card p{white-space:pre-wrap}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.stat-card{padding:22px}.stat-card strong{word-break:break-word;margin-bottom:6px;font-size:1.35rem;display:block}.stat-card small{color:var(--grey-500);font-weight:700}.page-alert{margin-bottom:22px}.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-card{padding:24px}.progress-card h2{margin-top:18px}.date-line{color:var(--grey-500);font-size:.93rem}.progress-section{border-top:1px solid var(--grey-200);padding-top:12px}.progress-section p{margin-bottom:10px}details{border-top:1px solid var(--grey-200);margin-top:16px;padding-top:14px}summary{cursor:pointer;color:var(--blue-dark);font-weight:900}.details-body{gap:8px;margin-top:12px;display:grid}.details-body p{white-space:pre-wrap;margin-bottom:8px}.empty-state{text-align:center;border:1px dashed var(--grey-300);border-radius:var(--radius);background:#ffffffb8;place-items:center;padding:46px 22px;display:grid}.empty-icon{background:var(--blue-light);border-radius:20px;place-items:center;width:64px;height:64px;margin-bottom:16px;font-size:2rem;display:grid}.result-block p{margin:8px 0 0}.result-block pre{white-space:pre-wrap;background:#fff9;border-radius:12px;max-height:240px;margin:12px 0 0;padding:12px;overflow:auto}.loader-dot{background:var(--blue);border-radius:50%;width:14px;height:14px;margin-bottom:14px;animation:1.2s infinite pulse;display:inline-block;box-shadow:0 0 #2563eb80}@keyframes pulse{0%{box-shadow:0 0 #2563eb73}70%{box-shadow:0 0 0 14px #2563eb00}to{box-shadow:0 0 #2563eb00}}@media (width<=980px){.nav-container{flex-direction:column;align-items:flex-start}.nav-links,.nav-auth-area{justify-content:flex-start;width:100%}.hero-grid,.two-column-page,.progress-grid{grid-template-columns:1fr}.feature-grid,.topic-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-header{flex-direction:column;align-items:flex-start}.mini-card{width:100%;min-width:0}}@media (width<=640px){.page,.narrow-page{width:min(100% - 24px,1180px);padding:26px 0 46px}.hero-content,.status-card,.form-card,.rebuild-card,.guidance-card,.auth-card,.chat-layout{padding:18px}h1{font-size:2.25rem}.feature-grid,.topic-grid,.stats-grid,.form-grid.two-fields,.status-grid,.chat-form{grid-template-columns:1fr}.chat-bubble{max-width:92%}.student-chip{width:100%;max-width:100%}.nav-auth-area{flex-direction:column;align-items:stretch}.nav-auth-area .btn{width:100%}}.hero-centered{grid-template-columns:1fr}.public-hero{flex-direction:column;justify-content:center;min-height:420px;display:flex}.public-hero h1,.public-hero .hero-description{max-width:860px}.six-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-dashboard-page .page-header{margin-bottom:22px}.admin-status-card{margin-bottom:24px}.status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-status-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-workspace{margin-top:0}@media (width<=1100px){.admin-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.six-feature-grid,.admin-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.six-feature-grid,.admin-status-grid{grid-template-columns:1fr}.card-heading-row{flex-direction:column;align-items:flex-start}.status-actions{justify-content:flex-start}}.alert.warning{color:#92400e;background:#fffbeb;border-color:#f59e0b}.admin-main-header{justify-content:space-between;align-items:stretch;gap:1.25rem;display:flex}.admin-profile-card{background:#fff;border:1px solid #dbeafe;border-radius:20px;align-content:start;gap:.35rem;min-width:240px;padding:1rem;display:grid;box-shadow:0 16px 36px #0f172a14}.admin-profile-card span,.admin-profile-card small{color:#64748b}.admin-profile-card strong{color:#0f172a}.admin-management-section{margin-top:2rem}.manage-admins-card{min-height:100%}.admin-list{gap:.75rem;margin-top:1rem;display:grid}.admin-list-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;gap:.2rem;padding:.85rem;display:grid}.admin-list-item strong{color:#0f172a}.admin-list-item span,.admin-list-item small{color:#64748b}.small-empty{margin-top:1rem;padding:1rem}.admin-login-card{max-width:560px}@media (width<=760px){.admin-main-header{flex-direction:column}.admin-profile-card{min-width:0}}.public-footer{border-top:1px solid #e2e8f0bf;justify-content:center;margin-top:18px;padding:20px 0 0;display:flex}.admin-portal-link{color:var(--grey-500);text-underline-offset:4px;background:0 0;border:0;font-size:.9rem;font-weight:800;text-decoration:underline}.admin-portal-link:hover{color:var(--blue-dark)}.chat-page-pro{width:min(1120px,100% - 40px)}.chat-hero-card{background:linear-gradient(135deg,#fffffffa,#f8fafcf2),radial-gradient(circle at 100% 0,#2563eb26,#0000 20rem);justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:clamp(22px,4vw,34px);display:flex}.chat-hero-card h1{margin-bottom:8px}.chat-hero-card p,.chat-panel-header p{color:var(--grey-500);margin:0;font-weight:650}.chat-student-panel{background:var(--grey-50);border:1px solid var(--grey-200);min-width:250px;box-shadow:var(--shadow-soft);border-radius:18px;padding:16px}.chat-student-panel span,.chat-student-panel small,.account-details span{color:var(--grey-500);font-weight:750}.chat-student-panel strong{margin:5px 0;font-size:1.05rem;display:block}.account-details{margin-top:10px;font-size:.82rem}.account-details summary{cursor:pointer;color:var(--blue-dark);font-weight:850}.chat-shell-pro{border-radius:24px;padding:0;overflow:hidden}.chat-panel-header{background:linear-gradient(135deg, var(--navy), #172554);color:var(--white);justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.chat-panel-header h2{color:var(--white);margin:0 0 4px;font-size:1.3rem}.chat-panel-header p,.chat-panel-header strong{color:#ffffffd1}.chat-status-chip{color:var(--white);white-space:nowrap;background:#ffffff1f;border:1px solid #fff3;border-radius:999px;padding:9px 12px;font-weight:850}.professional-chat-window{background:linear-gradient(#f8fbff,#eef4ff);border:0;border-radius:0;min-height:430px;max-height:58vh;margin:0;padding:24px}.message-author-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.message-content{gap:8px;display:grid}.message-content h4{color:var(--blue-dark);margin:8px 0 0;font-size:.98rem}.chat-bubble.user .message-content h4{color:var(--white)}.message-content p{line-height:1.65}.chat-bubble.assistant{border-top-left-radius:6px}.chat-bubble.user{border-top-right-radius:6px}.suggestion-chips{background:var(--white);flex-wrap:wrap;gap:10px;padding:16px 24px 0;display:flex}.suggestion-chips button{border:1px solid var(--grey-200);background:var(--grey-50);color:var(--blue-dark);border-radius:999px;padding:9px 13px;font-weight:850;box-shadow:0 5px 18px #0f172a0a}.suggestion-chips button:hover{background:var(--blue-light);border-color:#2563eb40}.professional-chat-form{background:var(--white);border-top:1px solid var(--grey-200);grid-template-columns:minmax(0,1fr) 120px;align-items:stretch;margin:0;padding:20px 24px 24px}.professional-chat-form textarea{background:var(--grey-50);border-radius:20px;min-height:112px}.send-button{align-self:end;min-height:54px}.chat-error{margin:16px 24px 0}@media (width<=860px){.chat-hero-card,.chat-panel-header{flex-direction:column;align-items:flex-start}.chat-student-panel{width:100%}.professional-chat-form{grid-template-columns:1fr}.send-button{width:100%}}.practice-dashboard-page{gap:24px;display:grid}.practice-hero{background:linear-gradient(135deg,#fff 0%,#eff6ff 100%);border:1px solid #2563eb29;justify-content:space-between;align-items:center;gap:24px;display:flex}.practice-hero h1{color:var(--navy);margin:8px 0 10px;font-size:clamp(1.8rem,4vw,3rem)}.practice-hero p{max-width:760px;color:var(--grey-600);font-size:1.03rem}.practice-student-card{background:var(--white);border:1px solid #2563eb2e;border-radius:22px;min-width:220px;padding:18px;box-shadow:0 18px 40px #0f172a14}.practice-student-card span,.practice-student-card small{color:var(--grey-500);font-weight:800;display:block}.practice-student-card strong{color:var(--blue-dark);margin:6px 0;font-size:1.45rem;display:block}.practice-setup-card,.exam-quiz-card,.answer-marking-card{border:1px solid var(--grey-200)}.section-title-row{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.section-title-row h2{color:var(--navy);margin:4px 0 0}.section-title-row p{max-width:520px;color:var(--grey-600);margin:0}.practice-setup-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px;display:grid}.generate-quiz-button{min-height:48px}.practice-alert{margin:0}.quiz-meta-pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quiz-meta-pills span{background:var(--blue-light);min-height:30px;color:var(--blue-dark);border:1px solid #2563eb29;border-radius:999px;align-items:center;padding:4px 10px;font-size:.83rem;font-weight:850;display:inline-flex}.empty-exam-state{background:var(--grey-50);text-align:center;color:var(--grey-600);border:1px dashed #2563eb40;border-radius:22px;padding:36px}.empty-exam-state strong{color:var(--navy);margin-bottom:8px;font-size:1.2rem;display:block}.loading-state .loader-dot{margin:0 auto 14px}.quiz-paper{border:1px solid var(--grey-200);background:#fff;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb3}.quiz-paper-header{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.quiz-paper-header strong{font-size:1.05rem}.quiz-paper-header span{color:#ffffffd1;font-weight:800}.quiz-text{color:var(--navy);padding:24px}.quiz-text p{margin:0 0 14px;font-size:1rem;line-height:1.7}.answer-marking-card textarea{background:var(--grey-50)}.marking-progress-card{text-align:center;background:var(--blue-light);border:1px solid #2563eb2e}.marking-progress-card .loader-dot{margin:0 auto 14px}.marking-progress-card h2{color:var(--navy);margin:0 0 8px}.marking-results-grid{grid-template-columns:220px minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.marking-results-grid .score-card{min-height:160px}.full-feedback-result{grid-column:1/-1}.weakness-result-card,.recommendation-result-card,.full-feedback-result{border-left:4px solid var(--blue)}@media (width<=980px){.practice-setup-grid,.marking-results-grid{grid-template-columns:1fr 1fr}.generate-quiz-button,.full-feedback-result{grid-column:1/-1}}@media (width<=720px){.practice-hero,.section-title-row,.quiz-paper-header{flex-direction:column;align-items:flex-start}.practice-student-card{width:100%}.practice-setup-grid,.marking-results-grid{grid-template-columns:1fr}.quiz-meta-pills{justify-content:flex-start}.empty-exam-state,.quiz-text{padding:20px}}.chatgpt-page,.interactive-practice-page{background:linear-gradient(#f8fafc 0%,#eef4ff 100%);min-height:calc(100vh - 78px)}.chatgpt-header,.practice-hero{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.chatgpt-header h1,.practice-hero h1{color:#0f172a;margin-bottom:.4rem}.student-account-card,.practice-student-card{background:#f8fbff;border:1px solid #dbeafe;border-radius:18px;gap:.25rem;min-width:240px;padding:1rem;display:grid}.student-account-card span,.practice-student-card span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:800}.student-account-card strong,.practice-student-card strong{color:#0f172a;font-size:1rem}.student-account-card small,.practice-student-card small{color:#2563eb;font-weight:700}.chatgpt-shell{padding:0;overflow:hidden}.chat-toolbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;display:flex}.chat-toolbar h2{margin-bottom:.2rem}.chat-toolbar p{color:#64748b;margin:0}.danger-outline{color:#b91c1c!important;background:#fff5f5!important;border-color:#fecaca!important}.chatgpt-window{background:#f8fafc;flex-direction:column;gap:1rem;min-height:58vh;max-height:68vh;padding:1.5rem;display:flex;overflow-y:auto}.chat-empty-state{text-align:center;background:#fff;border:1px solid #dbeafe;border-radius:22px;max-width:720px;margin:auto;padding:2rem;box-shadow:0 18px 45px #0f172a14}.chat-empty-state.compact{text-align:left;align-items:center;gap:.8rem;display:flex}.chat-empty-state h2{color:#0f172a}.chat-empty-state p{color:#64748b}.empty-prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.2rem;display:grid}.empty-prompt-grid button{text-align:left;color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:.9rem;font-weight:800}.empty-prompt-grid button:hover{background:#dbeafe;border-color:#2563eb}.chatgpt-input-form{background:#fff;border-top:1px solid #e5e7eb;padding:1rem}.chatgpt-input-form textarea{resize:vertical;width:100%;min-height:92px;font:inherit;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:18px;padding:1rem}.chatgpt-input-form textarea:focus{border-color:#2563eb;outline:3px solid #2563eb29}.chat-input-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;display:flex}.chat-input-footer span{color:#64748b;font-size:.9rem}.alert.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.interactive-quiz-section{margin-top:1.2rem}.interactive-question-list{gap:1rem;margin-top:1.2rem;display:grid}.interactive-question-card{background:#fff;border:1px solid #dbeafe;border-radius:20px;padding:1.2rem;box-shadow:0 12px 30px #0f172a0f}.question-card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.question-card-header span{color:#2563eb;text-transform:uppercase;letter-spacing:.05em;font-size:.86rem;font-weight:900}.interactive-question-card h3{color:#0f172a;margin-bottom:.55rem;font-size:1rem;line-height:1.55}.source-label{color:#64748b;margin-bottom:.9rem;font-size:.88rem}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.option-button{text-align:left;color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;align-items:flex-start;gap:.7rem;width:100%;padding:.9rem;font-weight:700;line-height:1.45;display:flex}.option-button:hover:not(:disabled){background:#eff6ff;border-color:#2563eb;transform:translateY(-1px)}.option-button.selected{background:#dbeafe;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.option-button.correct{color:#14532d;background:#dcfce7;border-color:#16a34a}.option-button.wrong{color:#7f1d1d;background:#fee2e2;border-color:#dc2626}.option-letter{color:#fff;background:#1e3a8a;border-radius:999px;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-weight:900;display:inline-grid}.result-badge{border-radius:999px;padding:.35rem .7rem;font-size:.78rem}.result-badge.correct{color:#166534;background:#dcfce7}.result-badge.wrong{color:#991b1b;background:#fee2e2}.question-correction-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;gap:.35rem;margin-top:1rem;padding:1rem;display:grid}.question-correction-box p{color:#334155;margin:0}.quiz-submit-panel{background:#eff6ff;border:1px solid #bfdbfe;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding:1.2rem;display:flex}.quiz-submit-panel p{color:#475569;margin:.2rem 0 0}.quiz-results-area{gap:1rem;margin-top:1.2rem;display:grid}.quiz-results-summary-grid{grid-template-columns:.8fr 1fr 1.4fr;gap:1rem;display:grid}.progress-save-note{background:#f0fdf4;border-left:5px solid #16a34a}.progress-save-note strong{color:#14532d}.progress-save-note p{color:#166534;margin-bottom:0}.results-actions-row{justify-content:flex-end;display:flex}@media (width<=760px){.chatgpt-header,.practice-hero,.chat-toolbar,.quiz-submit-panel,.chat-input-footer{flex-direction:column;align-items:stretch}.student-account-card,.practice-student-card{min-width:0}.chatgpt-window{max-height:62vh;padding:1rem}.empty-prompt-grid,.option-grid,.quiz-results-summary-grid{grid-template-columns:1fr}.chat-empty-state{padding:1.2rem}}.chat-layout{grid-template-columns:310px minmax(0,1fr);min-height:70vh;padding:0;display:grid;overflow:hidden}.chat-sidebar{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;gap:1rem;min-height:70vh;padding:1rem;display:flex}.full-width{justify-content:center;width:100%}.chat-sidebar-section{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex}.sidebar-heading-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sidebar-heading-row h2{color:#0f172a;margin:0;font-size:.95rem}.sidebar-empty{color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;margin:0;padding:.9rem;font-size:.92rem}.conversation-list{flex-direction:column;gap:.5rem;padding-right:.2rem;display:flex;overflow-y:auto}.conversation-preview{text-align:left;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;gap:.25rem;padding:.85rem;display:grid}.conversation-preview span{font-size:.92rem;font-weight:800;line-height:1.35}.conversation-preview small{color:#64748b;font-weight:700}.conversation-preview:hover{background:#eff6ff;border-color:#93c5fd}.conversation-preview.active{background:#dbeafe;border-color:#2563eb;box-shadow:inset 4px 0 #2563eb}.chat-main-panel{background:#f8fafc;flex-direction:column;min-width:0;display:flex}.chat-main-panel .chatgpt-window{flex:1;min-height:56vh;max-height:66vh}.chat-main-panel .chat-error{margin:1rem 1rem 0}.mini-loader{border:2px solid #bfdbfe;border-top-color:#2563eb;border-radius:999px;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=860px){.chat-layout{grid-template-columns:1fr}.chat-sidebar{border-bottom:1px solid #e2e8f0;border-right:none;min-height:auto}.conversation-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));max-height:210px;display:grid}.chat-main-panel .chatgpt-window{max-height:62vh}}
