html{background:#f1f5f9;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button,textarea{font-family:inherit}:root{--blue:#2563eb;--blue-dark:#1d4ed8;--blue-darker:#1e3a8a;--blue-light:#dbeafe;--blue-soft:#eff6ff;--blue-border:#bfdbfe;--green:#22c55e;--green-dark:#16a34a;--green-light:#dcfce7;--green-soft:#f0fdf4;--green-border:#bbf7d0;--orange:#f59e0b;--orange-dark:#d97706;--orange-light:#fef3c7;--orange-soft:#fffbeb;--orange-border:#fde68a;--violet:#8b5cf6;--violet-dark:#7c3aed;--violet-light:#ede9fe;--violet-soft:#f5f3ff;--violet-border:#ddd6fe;--red:#ef4444;--red-dark:#dc2626;--red-light:#fee2e2;--red-soft:#fef2f2;--red-border:#fecaca;--background:#f8fafc;--surface:#fff;--surface-soft:#f1f5f9;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--text-on-dark:#f8fafc;--text-on-dark-soft:#cbd5e1;--border:#e2e8f0;--border-strong:#cbd5e1;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--shadow-sm:0 1px 2px #1e293b0f, 0 1px 3px #1e293b0a;--shadow:0 4px 12px #1e293b12, 0 2px 4px #1e293b0a;--shadow-lg:0 12px 32px #1e293b1a, 0 4px 8px #1e293b0d;--shadow-blue:0 6px 18px #2563eb47;--shadow-violet:0 6px 18px #8b5cf647;--shadow-orange:0 6px 18px #f59e0b47;--sidebar-width:268px;--topbar-height:68px;--content-max:1080px;--transition:.16s ease}.accent-blue{--accent:var(--blue);--accent-dark:var(--blue-dark);--accent-light:var(--blue-light);--accent-soft:var(--blue-soft);--accent-border:var(--blue-border);--accent-shadow:var(--shadow-blue)}.accent-violet{--accent:var(--violet);--accent-dark:var(--violet-dark);--accent-light:var(--violet-light);--accent-soft:var(--violet-soft);--accent-border:var(--violet-border);--accent-shadow:var(--shadow-violet)}.accent-orange{--accent:var(--orange);--accent-dark:var(--orange-dark);--accent-light:var(--orange-light);--accent-soft:var(--orange-soft);--accent-border:var(--orange-border);--accent-shadow:var(--shadow-orange)}.accent-green{--accent:var(--green);--accent-dark:var(--green-dark);--accent-light:var(--green-light);--accent-soft:var(--green-soft);--accent-border:var(--green-border);--accent-shadow:0 6px 18px #22c55e47}:root{--primary-color:#2563eb;--primary-dark:#1d4ed8;--primary-medium:#2563eb;--primary-light:#dbeafe;--primary-soft:#eff6ff;--primary-border:#bfdbfe;--border-color:#e2e8f0;--surface-color:#fff;--surface-soft:#f1f5f9;--text-dark:#1e293b;--text-medium:#475569;--text-light:#64748b;--text-muted:#94a3b8;--warning-color:#b45309;--warning-background:#fffbeb;--warning-border:#fde68a;--error-color:#dc2626;--error-dark:#b91c1c;--error-background:#fef2f2;--error-border:#fecaca}.accent-blue,.accent-violet,.accent-orange,.accent-green{--primary-color:var(--accent);--primary-dark:var(--accent-dark);--primary-medium:var(--accent);--primary-light:var(--accent-light);--primary-soft:var(--accent-soft);--primary-border:var(--accent-border)}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,select,textarea,input{font-family:inherit;font-size:inherit}h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:var(--radius-sm)}.shell{min-height:100vh;display:flex}.shell-scrim{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;visibility:hidden;cursor:pointer;transition:opacity var(--transition), visibility var(--transition);background:#0f172a80;border:0;padding:0;position:fixed;inset:0}.shell-scrim-visible{opacity:1;visibility:visible}.sidebar{z-index:50;width:var(--sidebar-width);background:linear-gradient(170deg, #1e40af 0%, var(--blue) 48%, #1d4ed8 100%);color:var(--text-on-dark);flex-direction:column;gap:20px;padding:22px 16px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff29;align-items:center;gap:12px;padding:4px 8px 18px;display:flex}.brand-mark{flex-shrink:0;place-items:center;display:grid}.sidebar-brand span{flex-direction:column;min-width:0;display:flex}.sidebar-brand strong{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.sidebar-brand small{color:#ffffffb8;font-size:.76rem}.sidebar-close{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#ffffff1f;border:0;margin-left:auto;padding:6px;display:none}.sidebar-nav{flex-direction:column;flex:1;gap:5px;display:flex}.sidebar-link{border-radius:var(--radius);color:#ffffffe0;text-align:left;cursor:pointer;width:100%;transition:background var(--transition), color var(--transition);background:0 0;border:0;align-items:center;gap:12px;padding:11px 12px;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff1f}.sidebar-link-active{color:var(--text);box-shadow:var(--shadow);background:#fff}.sidebar-link-active:hover{background:#fff}.sidebar-link-icon{color:#fff;background:#ffffff24;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.sidebar-link-active .sidebar-link-icon{background:var(--accent-light);color:var(--accent-dark)}.sidebar-link-text{flex-direction:column;min-width:0;display:flex}.sidebar-link-text strong{font-size:.94rem;font-weight:600}.sidebar-link-text small{color:#ffffffa8;font-size:.75rem}.sidebar-link-active .sidebar-link-text small{color:var(--text-secondary)}.sidebar-footer{border-radius:var(--radius-lg);background:#ffffff1f;padding:14px}.sidebar-footer-label{letter-spacing:.09em;text-transform:uppercase;color:#ffffffa8;font-size:.7rem;font-weight:700}.sidebar-footer-value{margin-top:6px;font-size:.98rem;font-weight:700}.sidebar-footer-detail{color:#ffffffc2;margin-top:3px;font-size:.78rem;line-height:1.45}.sidebar-footer-button{border-radius:var(--radius-sm);width:100%;color:var(--blue-dark);cursor:pointer;transition:opacity var(--transition);background:#fff;border:0;margin-top:12px;padding:9px 12px;font-size:.83rem;font-weight:600}.sidebar-footer-button:hover{opacity:.9}.shell-main{min-width:0;margin-left:var(--sidebar-width);flex-direction:column;flex:1;display:flex}.topbar{z-index:30;min-height:var(--topbar-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#f8fafce6;align-items:center;gap:14px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar-menu-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:8px;display:none}.topbar-title{min-width:0}.topbar-title h1{letter-spacing:-.02em;font-size:1.22rem;font-weight:700}.topbar-title p{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8rem;overflow:hidden}.topbar-side{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-context{border:1px solid var(--blue-border);border-radius:var(--radius-pill);background:var(--blue-light);color:var(--blue-dark);cursor:pointer;transition:background var(--transition);flex-shrink:0;align-items:center;gap:8px;padding:7px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.topbar-context:hover{background:var(--blue-border)}.topbar-context-dot{background:var(--blue);border-radius:50%;width:7px;height:7px}.content{flex:1;padding:28px}.page{width:100%;max-width:var(--content-max);flex-direction:column;gap:24px;margin:0 auto;animation:.26s both page-enter;display:flex}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-header h2{letter-spacing:-.025em;font-size:1.68rem;font-weight:700;line-height:1.25}.page-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent,var(--blue));margin-bottom:6px;font-size:.73rem;font-weight:700}.page-subtitle{max-width:62ch;color:var(--text-secondary);margin-top:8px;font-size:.94rem;line-height:1.6}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-header-icon{align-items:flex-start;gap:16px;display:flex}.page-icon{border-radius:var(--radius);background:var(--accent-light);width:52px;height:52px;color:var(--accent-dark);flex-shrink:0;place-items:center;display:grid}.page-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding-top:6px;display:flex}.section{flex-direction:column;gap:14px;display:flex}.section-title{letter-spacing:-.01em;font-size:1.05rem;font-weight:700}.stepper{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;padding:8px 14px;display:flex}.stepper-step{flex:1;align-items:center;min-width:0;display:flex}.stepper-button{border-radius:var(--radius-pill);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:5px 8px;display:inline-flex}.stepper-button:disabled{cursor:default}.stepper-badge{background:var(--surface-soft);width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.stepper-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.stepper-step-current .stepper-badge{background:var(--blue);color:#fff;box-shadow:0 0 0 4px var(--blue-light)}.stepper-step-current .stepper-label{color:var(--text)}.stepper-step-done .stepper-badge{background:var(--green);color:#fff}.stepper-step-done .stepper-label{color:var(--text)}.stepper-line{background:var(--border);border-radius:2px;flex:1;min-width:12px;height:2px;margin:0 8px}.stepper-step-done .stepper-line{background:var(--green-border)}.button{border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), background var(--transition), opacity var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.button:not(:disabled):hover{transform:translateY(-1px)}.button:not(:disabled):active{transform:translateY(0)}.button-large{padding:13px 24px;font-size:.96rem}.button-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow-blue)}.button-primary:not(:disabled):hover{background:var(--blue-dark)}.button-violet{background:var(--violet);color:#fff;box-shadow:var(--shadow-violet)}.button-violet:not(:disabled):hover{background:var(--violet-dark)}.button-orange{background:var(--orange);color:#fff;box-shadow:var(--shadow-orange)}.button-orange:not(:disabled):hover{background:var(--orange-dark)}.button-ghost{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.button-ghost:not(:disabled):hover{background:var(--surface-soft)}.button-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}.chip-button{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:border-color var(--transition), color var(--transition), background var(--transition);padding:7px 14px;font-size:.81rem}.chip-button:not(:disabled):hover{border-color:var(--violet-border);background:var(--violet-soft);color:var(--violet-dark)}.chip-button:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{to{transform:rotate(360deg)}}.choice-grid{gap:16px;display:grid}.choice-grid-wide{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.choice-grid-compact{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.choice-card{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:14px;padding:22px;display:flex;position:relative}.choice-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-2px)}.choice-card-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-shadow)}.choice-emblem{border-radius:var(--radius);background:var(--accent-light);width:52px;height:52px;color:var(--accent-dark);place-items:center;display:grid}.choice-body{flex-direction:column;gap:4px;display:flex}.choice-title{color:var(--text);font-size:1.08rem;font-weight:700}.choice-subtitle{color:var(--text-secondary);font-size:.85rem}.choice-meta{flex-wrap:wrap;gap:8px;display:flex}.choice-chip{border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text-secondary);align-items:center;gap:5px;padding:4px 11px;font-size:.76rem;font-weight:600;display:inline-flex}.choice-tick{border-radius:var(--radius-pill);background:var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;padding:4px 11px;font-size:.7rem;font-weight:700;position:absolute;top:14px;right:14px}.subject-card{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;align-items:center;gap:10px;padding:20px 14px;display:flex}.subject-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-2px)}.subject-card-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-shadow)}.subject-icon{background:var(--accent-light);width:54px;height:54px;color:var(--accent-dark);border-radius:50%;place-items:center;display:grid}.subject-name{text-align:center;color:var(--text);font-size:.92rem;font-weight:700;line-height:1.3}.subject-count{color:var(--text-secondary);align-items:center;gap:5px;font-size:.75rem;display:inline-flex}.semester-card{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer;transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;align-items:flex-start;gap:8px;padding:22px;display:flex}.semester-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-2px)}.semester-card-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--accent-shadow)}.semester-badge{border-radius:var(--radius);background:var(--accent-light);min-width:48px;height:48px;color:var(--accent-dark);place-items:center;padding:0 12px;font-size:1.05rem;font-weight:800;display:grid}.semester-title{color:var(--text);font-size:1.06rem;font-weight:700}.semester-subtitle{color:var(--text-secondary);font-size:.85rem}.semester-count{border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text-secondary);margin-top:4px;padding:4px 11px;font-size:.76rem;font-weight:600}.hero{border-radius:var(--radius-xl);background:radial-gradient(circle at 12% 0%, #8b5cf647, transparent 46%), radial-gradient(circle at 96% 96%, #22c55e38, transparent 42%), linear-gradient(135deg, #1e3a8a 0%, var(--blue) 62%, #3b82f6 100%);color:#fff;box-shadow:var(--shadow-lg);grid-template-columns:1.35fr 1fr;align-items:stretch;gap:26px;padding:34px;display:grid}.hero-content{flex-direction:column;justify-content:center;gap:14px;display:flex}.hero-eyebrow{letter-spacing:.11em;text-transform:uppercase;color:#ffffffc7;font-size:.74rem;font-weight:700}.hero-content h2{letter-spacing:-.03em;max-width:22ch;font-size:2.05rem;font-weight:800;line-height:1.18}.hero-text{color:#ffffffdb;max-width:46ch;font-size:.95rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.hero-actions .button-primary{color:var(--blue-dark);background:#fff;box-shadow:0 8px 22px #0f172a3d}.hero-actions .button-primary:not(:disabled):hover{background:#eff6ff}.hero-actions .button-ghost{color:#fff;background:#ffffff1f;border-color:#fff6}.hero-actions .button-ghost:not(:disabled):hover{background:#fff3}.hero-panel{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff21;border:1px solid #ffffff38;flex-direction:column;gap:16px;padding:22px;display:flex}.hero-panel-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffffbd;font-size:.7rem;font-weight:700}.hero-panel-subject{align-items:center;gap:13px;display:flex}.hero-panel-icon{border-radius:var(--radius);width:48px;height:48px;color:var(--blue);background:#fff;flex-shrink:0;place-items:center;display:grid}.hero-panel-subject span:last-child{flex-direction:column;min-width:0;display:flex}.hero-panel-subject strong{font-size:1.06rem;font-weight:700}.hero-panel-subject small{color:#ffffffbf;font-size:.79rem}.hero-panel-stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;display:grid}.hero-panel-stats>div{border-radius:var(--radius);background:#ffffff24;padding:12px}.hero-panel-stats dt{letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;font-size:.7rem;font-weight:700}.hero-panel-stats dd{margin-top:4px;font-size:1.14rem;font-weight:700}.hero-panel-empty{color:#ffffffd6;font-size:.9rem;line-height:1.6}.hero-panel-button{color:var(--blue-dark);box-shadow:none;background:#fff;margin-top:auto}.hero-panel-button:not(:disabled):hover{background:#eff6ff}.action-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.action-card{border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface);text-align:left;cursor:pointer;transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:10px;padding:22px;display:flex}.action-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.action-icon{border-radius:var(--radius);background:var(--accent-light);width:46px;height:46px;color:var(--accent-dark);place-items:center;display:grid}.action-title{color:var(--text);font-size:1.04rem;font-weight:700}.action-description{color:var(--text-secondary);font-size:.87rem;line-height:1.6}.action-link{color:var(--accent-dark);align-items:center;gap:6px;margin-top:4px;font-size:.86rem;font-weight:700;display:inline-flex}.stat-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-tile{border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-soft);text-align:left;flex-direction:column;gap:4px;padding:20px;display:flex}.stat-tile-button{cursor:pointer;transition:box-shadow var(--transition)}.stat-tile-button:hover{box-shadow:var(--shadow)}.stat-value{letter-spacing:-.03em;color:var(--accent-dark);font-size:1.9rem;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.83rem;display:inline-flex}.context-bar{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 16px;display:flex}.context-icon{background:var(--violet-light);width:40px;height:40px;color:var(--violet-dark);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.context-text{flex-direction:column;min-width:0;display:flex}.context-text strong{font-size:.95rem;font-weight:700}.context-text small{color:var(--text-secondary);font-size:.79rem}.context-change{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);cursor:pointer;margin-left:auto;padding:6px 14px;font-size:.8rem;font-weight:600}.context-change:hover{background:var(--surface-soft);color:var(--text)}.ask-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:26px;display:flex}.ask-header{align-items:flex-start;gap:14px;display:flex}.ask-icon{border-radius:var(--radius);background:var(--violet-light);width:46px;height:46px;color:var(--violet-dark);flex-shrink:0;place-items:center;display:grid}.ask-header h2{letter-spacing:-.015em;font-size:1.2rem;font-weight:700}.ask-header p{color:var(--text-secondary);margin-top:3px;font-size:.86rem}.ask-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:.78rem;font-weight:700}.ask-textarea{resize:vertical;border:2px solid var(--border);border-radius:var(--radius);background:var(--background);width:100%;min-height:128px;color:var(--text);transition:border-color var(--transition), background var(--transition);padding:14px 16px;font-size:.95rem;line-height:1.6}.ask-textarea:focus{border-color:var(--violet);background:var(--surface);box-shadow:0 0 0 4px var(--violet-light);outline:none}.ask-textarea:disabled{opacity:.6;cursor:not-allowed}.ask-hint{border-radius:var(--radius-sm);padding:9px 13px;font-size:.84rem;font-weight:500}.ask-hint-violet{background:var(--violet-soft);border:1px solid var(--violet-border);color:var(--violet-dark)}.ask-examples{flex-wrap:wrap;gap:8px;display:flex}.ask-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:4px;display:flex}.ask-shortcut{color:var(--text-muted);font-size:.79rem}.ask-buttons{gap:10px;margin-left:auto;display:flex}.status-message{border-left:4px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);padding:12px 16px;font-size:.88rem;line-height:1.55}.status-neutral{border-left-color:var(--border-strong)}.status-loading{border-left-color:var(--violet);background:var(--violet-soft);color:var(--violet-dark)}.status-success{border-left-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.status-warning{border-left-color:var(--orange);background:var(--orange-soft);color:var(--orange-dark)}.status-error{border-left-color:var(--red);background:var(--red-soft);color:var(--red-dark)}.state-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:18px;padding:22px;display:flex}.state-card h3{font-size:1.02rem;font-weight:700}.state-card p{max-width:60ch;color:var(--text-secondary);margin-top:5px;font-size:.88rem;line-height:1.6}.state-card .button{margin-left:auto}.state-card-error{border-color:var(--red-border);background:var(--red-soft)}.state-card-error h3{color:var(--red-dark)}.spinner{border:3px solid var(--blue-light);border-top-color:var(--blue);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.8s linear infinite spin}.answer-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:18px;padding:26px;display:flex}.answer-card-success{border-top:4px solid var(--green)}.answer-card-warning{border-top:4px solid var(--orange)}.answer-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.answer-card-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);margin-bottom:3px;font-size:.72rem;font-weight:700}.answer-card-header h3{letter-spacing:-.02em;font-size:1.24rem;font-weight:700}.answer-text{color:var(--text);white-space:pre-wrap;font-size:.98rem;line-height:1.75}.answer-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;padding-top:16px;display:flex}.badge{border-radius:var(--radius-pill);flex-shrink:0;align-items:center;padding:5px 13px;font-size:.74rem;font-weight:700;display:inline-flex}.badge-success{background:var(--green-light);color:var(--green-dark)}.badge-warning{background:var(--orange-light);color:var(--orange-dark)}.sources-section{border-top:1px solid var(--border);padding-top:18px}.sources-section h3{letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:12px;font-size:.76rem;font-weight:700}.sources-list{flex-direction:column;gap:10px;display:flex}.sources-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.source-information{align-items:center;gap:12px;min-width:0;display:flex}.source-index{background:var(--blue-light);width:28px;height:28px;color:var(--blue-dark);border-radius:50%;flex-shrink:0;place-items:center;font-size:.8rem;font-weight:700;display:grid}.source-details{flex-direction:column;min-width:0;display:flex}.source-details strong{word-break:break-word;font-size:.87rem;font-weight:600}.source-details span{color:var(--text-muted);font-size:.76rem}.source-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.source-page{border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--text-secondary);white-space:nowrap;padding:4px 11px;font-size:.76rem;font-weight:600}.source-open-button{border-radius:var(--radius-sm);background:var(--blue);color:#fff;white-space:nowrap;transition:background var(--transition);padding:7px 14px;font-size:.79rem;font-weight:600;text-decoration:none}.source-open-button:hover{background:var(--blue-dark)}.source-unavailable{color:var(--text-muted);font-size:.78rem}.evidence-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);padding:12px 16px}.evidence-section summary{color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600}.evidence-section summary:hover{color:var(--text)}.evidence-section ul{flex-direction:column;gap:10px;margin-top:12px;display:flex}.evidence-section li{border-inline-start:3px solid var(--violet-border);color:var(--text-secondary);padding-inline-start:12px;font-size:.86rem;font-style:italic;line-height:1.6}.history-list{flex-direction:column;gap:10px;display:flex}.history-card{border:1px solid var(--border);border-left:4px solid var(--blue);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.history-card:not(:disabled):hover{box-shadow:var(--shadow);transform:translate(3px)}.history-card:disabled{opacity:.55;cursor:not-allowed}.history-card-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.history-question{color:var(--text);font-size:.94rem;font-weight:600;line-height:1.5}.history-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:.79rem;display:inline-flex}@media (width<=1024px){.sidebar{box-shadow:var(--shadow-lg);transition:transform .22s;transform:translate(-100%)}.sidebar-open{transform:none}.sidebar-close{display:block}.shell-main{margin-left:0}.topbar-menu-button{display:inline-flex}.hero{grid-template-columns:1fr}}@media (width<=720px){.content{padding:18px 16px}.topbar{padding:10px 16px}.topbar-context{display:none}.hero{padding:24px}.hero-content h2{font-size:1.62rem}.ask-card,.answer-card{padding:20px}.stepper{padding:8px 10px}.stepper-label{display:none}.stepper-button{padding:4px}.page-actions{flex-direction:column-reverse;align-items:stretch}.page-actions .button{width:100%}.page-actions>span:empty{display:none}.ask-buttons{width:100%}.ask-buttons .button{flex:1}.state-card .button{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.card-label{letter-spacing:.09em;text-transform:uppercase;color:var(--accent,var(--text-muted));font-size:.72rem;font-weight:700}.submit-button{border-radius:var(--radius-sm);background:var(--accent,var(--blue));color:#fff;box-shadow:var(--accent-shadow,var(--shadow-blue));cursor:pointer;transition:transform var(--transition), background var(--transition), opacity var(--transition);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;display:inline-flex}.submit-button:not(:disabled):hover{background:var(--accent-dark,var(--blue-dark));transform:translateY(-1px)}.submit-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.small-button{border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.small-button:not(:disabled):hover{background:var(--accent-soft,var(--surface-soft));color:var(--accent-dark,var(--text))}.small-button:disabled{opacity:.5;cursor:not-allowed}.auth-loading{background:var(--background);min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:.92rem;display:flex}.auth-screen{background:var(--background);grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-brand{background:radial-gradient(circle at 15% 10%, #8b5cf64d, transparent 45%), radial-gradient(circle at 90% 90%, #22c55e3d, transparent 42%), linear-gradient(150deg, #1e3a8a 0%, var(--blue) 60%, #3b82f6 100%);color:#fff;flex-direction:column;justify-content:center;gap:20px;padding:56px;display:flex}.auth-brand-mark{place-items:start;width:fit-content;display:grid}.auth-brand h1{letter-spacing:-.03em;font-size:2.3rem;font-weight:800}.auth-brand-text{color:#ffffffdb;max-width:42ch;font-size:1rem;line-height:1.7}.auth-brand-list{flex-direction:column;gap:12px;margin-top:8px;display:flex}.auth-brand-list li{color:#ffffffeb;padding-left:30px;font-size:.94rem;position:relative}.auth-brand-list li:before{content:"";background:#ffffff38;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:0}.auth-brand-list li:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:6px;height:3px;position:absolute;top:8px;left:6px;transform:rotate(-45deg)}.auth-panel{place-items:center;padding:40px 32px;display:grid}.auth-card{flex-direction:column;gap:22px;width:100%;max-width:440px;display:flex}.auth-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-soft);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-tab{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;padding:9px 12px;font-size:.88rem;font-weight:600}.auth-tab-active{background:var(--surface);color:var(--blue-dark);box-shadow:var(--shadow-sm)}.auth-header h2{letter-spacing:-.025em;font-size:1.6rem;font-weight:700}.auth-header p{color:var(--text-secondary);margin-top:6px;font-size:.92rem;line-height:1.55}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.auth-field>span,.auth-field>legend{color:var(--text);align-items:baseline;gap:8px;padding:0;font-size:.85rem;font-weight:600;display:flex}.auth-field>span em{color:var(--text-muted);font-size:.74rem;font-style:normal;font-weight:500}.auth-field input[type=text],.auth-field input[type=email],.auth-field input[type=password]{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);padding:11px 14px;font-size:.94rem}.auth-field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-light);outline:none}.auth-field small{color:var(--text-muted);font-size:.78rem;line-height:1.5}.auth-password{display:block;position:relative}.auth-password input{padding-right:88px!important}.auth-password-toggle{border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--text-secondary);cursor:pointer;border:0;padding:6px 10px;font-size:.78rem;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover{color:var(--blue-dark)}.auth-programs{gap:10px}.auth-program-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-program{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color var(--transition), background var(--transition);align-items:center;gap:9px;padding:11px 13px;font-size:.85rem;font-weight:600;display:flex}.auth-program:hover{border-color:var(--blue-border)}.auth-program-active{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-dark)}.auth-program input{accent-color:var(--blue)}.auth-error{border:1px solid var(--red-border);border-radius:var(--radius-sm);background:var(--red-soft);color:var(--red-dark);padding:11px 14px;font-size:.87rem;line-height:1.5}.auth-submit{width:100%;margin-top:4px}.auth-switch{color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:6px;font-size:.87rem;display:flex}.auth-switch button{color:var(--blue-dark);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.sidebar-account{border-radius:var(--radius);background:#ffffff1f;align-items:center;gap:11px;padding:10px 12px;display:flex}.sidebar-avatar{width:36px;height:36px;color:var(--blue-dark);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:800;display:grid}.sidebar-account-text{flex-direction:column;min-width:0;display:flex}.sidebar-account-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;font-weight:600;overflow:hidden}.sidebar-account-text small{color:#ffffffad;font-size:.75rem}.sidebar-signout{border-radius:var(--radius-sm);color:#fffc;cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:0;flex-shrink:0;margin-left:auto;padding:7px}.sidebar-signout:hover{color:#fff;background:#ffffff2e}@media (width<=900px){.auth-screen{grid-template-columns:1fr}.auth-brand{gap:14px;padding:34px 26px}.auth-brand h1{font-size:1.75rem}.auth-brand-text,.auth-brand-list{display:none}.auth-panel{padding:28px 20px 44px}}.ask-source{margin-bottom:18px;display:block}.ask-source select{border:1px solid var(--border);width:100%;max-width:520px;font:inherit;color:var(--text-dark);background:#fff;border-radius:10px;margin-top:8px;padding:11px 12px;font-weight:700;display:block}.ask-source select:disabled{opacity:.6}.ask-source small{color:var(--text-light);margin-top:6px;font-size:.78rem;font-weight:600;display:block}.answer-hint{border:1px solid var(--blue-border);background:var(--blue-light);color:var(--blue-dark);border-radius:12px;margin:16px 0 0;padding:13px 15px;font-size:.9rem;line-height:1.6}.tutor-picker{border:1px solid var(--violet-border,var(--border));background:var(--violet-light,var(--surface-soft));border-radius:14px;margin-bottom:18px;padding:14px 16px}.tutor-picker-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);margin:0 0 10px;font-size:.74rem;font-weight:800}.tutor-modes{flex-wrap:wrap;gap:8px;display:flex}.tutor-mode{border:1px solid var(--border);font:inherit;color:var(--text-medium);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:.85rem;font-weight:700;transition:border-color .14s,background .14s;display:inline-flex}.tutor-mode:hover:not(:disabled){border-color:var(--violet,#7c3aed)}.tutor-mode:disabled{opacity:.55;cursor:not-allowed}.tutor-mode.is-active{border-color:var(--violet,#7c3aed);background:var(--violet,#7c3aed);color:#fff}.tutor-mode.is-guided:not(.is-active){border-style:dashed}.tutor-languages{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;padding-top:12px;display:flex}.tutor-languages>span{color:var(--text-light);font-size:.78rem;font-weight:700}.tutor-language{border:1px solid var(--border);font:inherit;color:var(--text-medium);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:700;display:inline-flex}.tutor-language.is-active{border-color:var(--violet,#7c3aed);background:var(--violet-light,#f5f3ff);color:var(--violet-dark,#5b21b6)}.tutor-guided-note{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:12px;margin:16px 0 0;padding:13px 15px;font-size:.9rem;font-weight:700;line-height:1.6}.tutor-raw{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;margin-top:14px;padding:12px 14px}.tutor-raw summary{color:var(--text-medium);cursor:pointer;font-size:.82rem;font-weight:800}.tutor-raw p{color:var(--text-medium);white-space:pre-wrap;margin:10px 0 0;font-size:.9rem;line-height:1.7}.voice-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.voice-button{border:1px solid var(--violet-border,var(--border));font:inherit;color:var(--violet-dark,#5b21b6);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:.86rem;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.voice-button:hover:not(:disabled){background:var(--violet-light,#f5f3ff)}.voice-button:disabled{opacity:.55;cursor:not-allowed}.voice-button.is-listening{color:#b91c1c;background:#fef2f2;border-color:#ef4444;animation:1.4s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{box-shadow:0 0 #ef444459}50%{box-shadow:0 0 0 8px #ef444400}}@media (prefers-reduced-motion:reduce){.voice-button.is-listening{animation:none}}.voice-listen{margin-top:16px}.voice-error{color:#b91c1c;font-size:.8rem;font-weight:600}.chat-answer{border:1px solid var(--violet-border,#ddd6fe);background:linear-gradient(135deg,#f5f3ff,#fff);border-radius:18px;align-items:flex-start;gap:14px;margin-top:18px;padding:18px;display:flex}.chat-answer-mascot{flex:none;font-size:2rem;line-height:1}.chat-answer p{color:var(--text-dark);margin:0;font-size:.98rem;line-height:1.7}.source-preview{width:100%;margin-top:.75rem}.source-preview>summary{cursor:pointer;color:var(--violet-600,#6d28d9);padding:.35rem 0;font-size:.85rem;font-weight:600;list-style:none}.source-preview>summary:before{content:"📖 "}.source-preview>summary:hover{text-decoration:underline}.source-preview img{border:1px solid var(--gris-200,#e5e7eb);background:#fff;border-radius:10px;width:100%;max-width:640px;margin-top:.6rem;display:block}.my-documents-hint{border-top:1px dashed var(--gris-200,#e5e7eb);margin-top:1.25rem;padding-top:1rem}.upload-item-actions{align-items:center;gap:.5rem;display:flex}.upload-ask{border:1px solid var(--violet-300,#c4b5fd);background:var(--violet-50,#f5f3ff);color:var(--violet-700,#5b21b6);cursor:pointer;border-radius:999px;padding:.35rem .9rem;font-size:.82rem;font-weight:600}.upload-ask:hover:not(:disabled){background:var(--violet-100,#ede9fe)}.upload-ask:disabled{opacity:.55;cursor:not-allowed}.upload-head-text{flex:1;min-width:0}.upload-toggle{border:1px solid var(--violet-300,#c4b5fd);background:var(--violet-50,#f5f3ff);color:var(--violet-700,#5b21b6);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.85rem;font-weight:600;display:inline-flex}.upload-toggle:hover{background:var(--violet-100,#ede9fe)}.upload-count{background:var(--violet-600,#6d28d9);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .4rem;font-size:.75rem;font-weight:700;display:inline-flex}.upload-toggle-chevron{font-size:.7rem;line-height:1}.upload-empty{color:var(--gris-500,#6b7280);margin:1rem 0 0;font-size:.88rem;line-height:1.5}@media (width<=640px){.upload-head{flex-wrap:wrap}.upload-toggle{justify-content:center;width:100%}}.documents-tabs{border-bottom:1px solid var(--gris-200,#e5e7eb);gap:.6rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.documents-tab{border:1px solid var(--gris-200,#e5e7eb);color:var(--gris-600,#4b5563);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.45rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;display:inline-flex}.documents-tab:hover{border-color:var(--violet-300,#c4b5fd);color:var(--violet-700,#5b21b6)}.documents-tab-active{background:var(--violet-600,#6d28d9);color:#fff;border-color:#0000}.documents-tab-active:hover{background:var(--violet-700,#5b21b6);color:#fff}@media (width<=560px){.documents-tabs{flex-direction:column}.documents-tab{justify-content:center}}.upload-confirm{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.upload-confirm-text{color:var(--gris-700,#374151);font-size:.84rem;font-weight:600}.upload-confirm-yes,.upload-confirm-no{cursor:pointer;border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600}.upload-confirm-yes{color:#fff;background:#dc2626;border:1px solid #dc2626}.upload-confirm-yes:hover:not(:disabled){background:#b91c1c}.upload-confirm-no{border:1px solid var(--gris-300,#d1d5db);color:var(--gris-600,#4b5563);background:#fff}.upload-confirm-no:hover:not(:disabled){background:var(--gris-100,#f3f4f6)}.upload-confirm-yes:disabled,.upload-confirm-no:disabled{opacity:.55;cursor:not-allowed}.upload-drop-seul{width:100%}.quiz-relecture{border-top:1px solid var(--gris-200,#e5e7eb);margin-top:1.5rem;padding-top:1.25rem}.quiz-relecture-head h3{margin:0 0 .35rem;font-size:1.05rem}.quiz-relecture-head p{color:var(--gris-600,#4b5563);margin:0 0 1rem;font-size:.88rem}.quiz-relecture-liste{counter-reset:relecture;flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.quiz-relecture-liste li{counter-increment:relecture;border:1px solid var(--gris-200,#e5e7eb);background:#fff;border-radius:12px;padding:1rem}.quiz-relecture-liste li:before{content:"Question " counter(relecture);letter-spacing:.04em;text-transform:uppercase;color:var(--gris-500,#6b7280);margin-bottom:.6rem;font-size:.78rem;font-weight:700;display:block}.quiz-relecture-meta{align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.quiz-relecture-type,.quiz-relecture-page{background:var(--gris-100,#f3f4f6);color:var(--gris-600,#4b5563);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.quiz-relecture-retirer{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;margin-left:auto;padding:.25rem .75rem;font-size:.78rem;font-weight:600}.quiz-relecture-liste label{color:var(--gris-700,#374151);margin-bottom:.7rem;font-size:.82rem;font-weight:600;display:block}.quiz-relecture-liste textarea,.quiz-relecture-liste input[type=text]{border:1px solid var(--gris-300,#d1d5db);width:100%;font:inherit;resize:vertical;border-radius:8px;margin-top:.3rem;padding:.55rem .7rem;font-weight:400;display:block}.quiz-relecture-preuve{color:var(--gris-500,#6b7280);margin:.4rem 0 0;font-size:.8rem;font-style:italic}.quiz-relecture-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.coach-bar{border:1px solid var(--border-color);background:var(--surface-color);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:14px;padding:7px 13px;transition:border-color .16s,transform .16s;display:flex}.coach-bar:hover{border-color:var(--primary-border);transform:translateY(-1px)}.coach-bar-metric{white-space:nowrap;align-items:baseline;gap:4px;display:flex}.coach-bar-metric strong{color:var(--text-dark);font-size:1rem;font-weight:800}.coach-bar-metric small{color:var(--text-light);font-size:.72rem;font-weight:700}.coach-bar-mission{border-left:1px solid var(--border-color);white-space:nowrap;align-items:center;gap:8px;padding-left:13px;display:flex}.coach-bar-steps{gap:3px;display:flex}.coach-bar-step{background:var(--surface-soft);filter:grayscale();opacity:.45;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;display:inline-flex}.coach-bar-step.is-done{filter:none;opacity:1;background:#dcfce7}.coach-bar-mission small{color:var(--text-light);font-size:.72rem;font-weight:700}.coach-bar-mission.is-complete small{color:#15803d}@media (width<=900px){.coach-bar-metric small{display:none}}@media (width<=720px){.coach-bar-mission{display:none}.coach-bar{gap:10px;padding:6px 11px}}.coach-panel{border:1px solid var(--primary-border);background:linear-gradient(135deg, var(--primary-soft), #fff 65%);border-radius:20px;gap:18px;margin-bottom:28px;padding:22px;display:grid}.coach-panel-loading{color:var(--text-medium);align-items:center;gap:14px;display:flex}.coach-bubble-row{align-items:flex-start;gap:14px;display:flex}.coach-mascot{flex:none;font-size:2.8rem;line-height:1;animation:.9s ease-out coach-wave}@keyframes coach-wave{0%{opacity:0;transform:scale(.5)rotate(-14deg)}60%{opacity:1;transform:scale(1.12)rotate(7deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.coach-mascot{animation:none}}.coach-bubble{border:1px solid var(--border-color);background:var(--surface-color);border-radius:4px 16px 16px;flex:auto;min-width:0;padding:14px 16px;position:relative}.coach-bubble h3{color:var(--text-dark);margin:0;font-size:1.12rem;font-weight:800;line-height:1.4}.coach-bubble p{color:var(--text-medium);margin:6px 0 0;font-size:.95rem;line-height:1.65}.coach-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.coach-stat{border:1px solid var(--border-color);background:var(--surface-color);border-radius:16px;padding:16px}.coach-stat-value{color:var(--text-dark);align-items:center;gap:8px;font-size:2rem;font-weight:800;line-height:1;display:flex}.coach-stat-label{color:var(--text-light);margin-top:4px;font-size:.8rem;font-weight:700;display:block}.coach-stat-streak{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.coach-stat-stars{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#fde68a}.coach-week{gap:5px;margin-top:12px;display:flex}.coach-week-dot{border:1px solid var(--border-color);background:var(--surface-soft);width:26px;height:26px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;font-weight:800;display:inline-flex}.coach-week-dot.is-active{color:#fff;background:#fb923c;border-color:#fb923c}.coach-week-dot.is-today{outline:2px solid var(--primary-color);outline-offset:1px}.coach-level{margin-top:12px}.coach-level-head{color:var(--text-dark);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;font-size:.82rem;font-weight:800;display:flex}.coach-level-head small{color:var(--text-light);font-size:.72rem;font-weight:700}.coach-level-bar{background:var(--surface-soft);border-radius:999px;height:8px;margin-top:6px;overflow:hidden}.coach-level-bar span{background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:999px;height:100%;transition:width .5s ease-out;display:block}.coach-mission{border:2px dashed var(--primary-border);background:var(--surface-color);border-radius:16px;padding:18px}.coach-mission.is-done{background:#f0fdf4;border-style:solid;border-color:#bbf7d0}.coach-mission-head{align-items:center;gap:12px;display:flex}.coach-mission-emoji{font-size:1.8rem;line-height:1}.coach-mission-head strong{color:var(--text-dark);font-size:1.02rem;font-weight:800;display:block}.coach-mission-head small{color:var(--text-light);margin-top:2px;font-size:.76rem;font-weight:700;display:block}.coach-mission-message{color:var(--text-medium);margin:11px 0 0;font-size:.9rem;line-height:1.6}.coach-mission-steps{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.coach-mission-steps li{border:1px solid var(--border-color);background:var(--surface-soft);border-radius:11px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.coach-mission-check{border:2px solid var(--border-color);background:var(--surface-color);color:#0000;border-radius:6px;flex:none;justify-content:center;align-items:center;width:21px;height:21px;margin-top:1px;font-size:.78rem;font-weight:900;display:inline-flex}.coach-mission-step-text{gap:2px;min-width:0;display:grid}.coach-mission-step-text strong{color:var(--text-dark);font-size:.9rem;font-weight:700;line-height:1.45}.coach-mission-step-text small{color:var(--text-light);font-size:.76rem;line-height:1.4}.coach-mission-steps li.is-done{background:#f0fdf4;border-color:#bbf7d0}.coach-mission-steps li.is-done .coach-mission-check{color:#fff;background:#16a34a;border-color:#16a34a}.coach-mission-steps li.is-done .coach-mission-step-text strong{color:#15803d;-webkit-text-decoration:line-through #15803d66;text-decoration:line-through #15803d66}.coach-mission-button{margin-top:15px}.coach-badges-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-light);justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 10px;font-size:.82rem;font-weight:800;display:flex}.coach-badges-title span{color:var(--primary-color);font-size:.82rem}.coach-badge-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.coach-badge{border:1px solid var(--border-color);background:var(--surface-soft);text-align:center;cursor:default;border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;display:flex}.coach-badge-emoji{filter:grayscale();opacity:.4;font-size:1.5rem;line-height:1}.coach-badge-name{color:var(--text-muted);font-size:.7rem;font-weight:700;line-height:1.35}.coach-badge.is-unlocked{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#fde68a}.coach-badge.is-unlocked .coach-badge-emoji{filter:none;opacity:1}.coach-badge.is-unlocked .coach-badge-name{color:var(--text-dark)}@media (width<=720px){.coach-stats{grid-template-columns:1fr}.coach-bubble-row{text-align:center;flex-direction:column;align-items:center}.coach-bubble{border-radius:16px}}.coach-alert{border:1px solid var(--warning-border);background:var(--warning-background);border-radius:14px;align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.coach-alert-emoji{flex:none;font-size:1.4rem;line-height:1.3}.coach-alert p{color:var(--warning-color);margin:0;font-size:.92rem;line-height:1.6}.coach-reminder{border:1px dashed var(--primary-border);background:var(--surface-color);width:100%;font:inherit;text-align:start;cursor:pointer;border-radius:14px;align-items:center;gap:13px;padding:14px 16px;transition:border-color .16s,background .16s;display:flex}.coach-reminder:hover:not(:disabled){background:var(--primary-soft);border-style:solid}.coach-reminder:disabled{cursor:progress;opacity:.7}.coach-reminder-emoji{flex:none;font-size:1.5rem;line-height:1}.coach-reminder-text{gap:2px;min-width:0;display:grid}.coach-reminder-text strong{color:var(--text-dark);font-size:.95rem;font-weight:800}.coach-reminder-text small{color:var(--text-light);font-size:.79rem;line-height:1.5}.coach-reminder-active{background:var(--surface-soft);color:var(--text-medium);border-radius:12px;margin:0;padding:11px 14px;font-size:.84rem;font-weight:700}.coach-reminder-active.is-off{color:var(--text-light)}.coach-figures{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.coach-figure{border:1px solid var(--border-color);background:var(--surface-color);text-align:center;border-radius:13px;padding:13px 12px}.coach-figure strong{color:var(--primary-dark);font-size:1.35rem;font-weight:800;line-height:1.1;display:block}.coach-figure small{color:var(--text-light);margin-top:4px;font-size:.72rem;font-weight:700;line-height:1.35;display:block}@media (width<=720px){.coach-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}.coach-rank{background:linear-gradient(135deg,#fffbeb,#fff);border:1px solid #fde68a;border-radius:16px;padding:16px}.coach-rank-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-light);justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 11px;font-size:.78rem;font-weight:800;display:flex}.coach-rank-title span{letter-spacing:0;text-transform:none;color:#b45309;font-size:1.05rem}.coach-podium{gap:6px;margin:0;padding:0;list-style:none;display:grid}.coach-podium li{background:var(--surface-color);color:var(--text-medium);border:1px solid #0000;border-radius:11px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:9px 12px;font-size:.88rem;display:grid}.coach-podium li.is-me{color:var(--text-dark);background:#fffbeb;border-color:#fbbf24;font-weight:700}.coach-podium-medal{font-size:1.15rem;line-height:1}.coach-podium-name{overflow-wrap:anywhere;min-width:0}.coach-expert{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:13px;margin:0;padding:12px 15px;font-size:.88rem;font-weight:700;line-height:1.6}.break-card{background:linear-gradient(135deg,#f5f3ff,#fff);border:2px dashed #c4b5fd;border-radius:16px;align-items:flex-start;gap:14px;margin-top:14px;padding:17px;display:flex}.break-emoji{flex:none;font-size:2rem;line-height:1}.break-body{min-width:0}.break-body strong{color:#5b21b6;font-size:1.02rem;font-weight:800;line-height:1.4;display:block}.break-body p{color:var(--text-medium);margin:7px 0 12px;font-size:.91rem;line-height:1.65}.break-body small{color:var(--text-light);margin-top:9px;font-size:.76rem;font-weight:700;display:block}.break-card.is-running{background:linear-gradient(135deg,#f0fdf4,#fff);border-style:solid;border-color:#86efac}.break-card.is-running strong{color:#15803d;font-variant-numeric:tabular-nums;font-size:1.2rem}.break-link{color:#15803d;background:#fff;border:1px solid #86efac;border-radius:999px;padding:9px 16px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}.break-link:hover{background:#f0fdf4}.break-card.is-over{border-style:solid;border-color:var(--warning-border,#fde68a);background:linear-gradient(135deg,#fffbeb,#fff)}.break-card.is-over strong{color:#b45309}.break-exhausted{border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-light);border-radius:12px;margin:14px 0 0;padding:12px 15px;font-size:.88rem;font-weight:600;line-height:1.6}.break-error{font-weight:700;color:var(--error-color,#dc2626)!important;margin:10px 0 0!important;font-size:.84rem!important}@media (width<=620px){.break-card{text-align:center;flex-direction:column;align-items:center}}.prof-quiz{border:1px solid var(--primary-border);background:linear-gradient(135deg, var(--primary-soft), #fff);border-radius:15px;margin-top:18px;padding:16px}.prof-quiz-title{letter-spacing:.04em;text-transform:uppercase;color:var(--primary-dark);margin:0 0 12px;font-size:.78rem;font-weight:800}.prof-quiz ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.prof-quiz li{border:1px solid var(--border-color);background:var(--surface-color);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.prof-quiz-info strong{color:var(--text-dark);overflow-wrap:anywhere;font-size:.94rem;font-weight:800;display:block}.prof-quiz-info small{color:var(--text-light);margin-top:3px;font-size:.76rem;display:block}.prof-quiz button{flex:none}@media (width<=620px){.prof-quiz li{flex-direction:column;align-items:stretch}}.learning-tools-section{z-index:1;background:var(--surface-color);border:1px solid #dbe8e5;border-radius:18px;margin-top:24px;padding:24px;position:relative;box-shadow:0 8px 24px #0f37320d}.learning-tools-header,.student-profile-hero,.profile-subcard-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.learning-tools-header h2,.student-profile-main h3,.profile-subcard-header h3,.profile-revision-section h3{color:var(--text-dark);margin:4px 0 7px}.learning-tools-header h2{font-size:1.15rem}.learning-tools-header p:last-child,.student-profile-main p:last-child{max-width:620px;color:var(--text-light);margin:0;line-height:1.6}.learning-tabs{border:1px solid var(--border-color);background:var(--surface-soft);border-radius:12px;flex:none;gap:7px;padding:5px;display:flex}.learning-tab{min-height:38px;color:var(--text-medium);background:0 0;border:none;border-radius:9px;padding:8px 14px;font-weight:800}.learning-tab-active{background:linear-gradient(135deg, var(--primary-color), var(--primary-medium));color:#fff}.learning-context{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.learning-context label,.quiz-toolbar label{color:var(--text-medium);flex-direction:column;gap:8px;font-size:.82rem;font-weight:800;display:flex}.learning-context input,.learning-context select,.quiz-toolbar select,.learning-question-card textarea{border:1px solid var(--border-color);width:100%;font:inherit;color:var(--text-dark);background:#fff;border-radius:10px;padding:11px 12px}.learning-note{border:1px solid var(--warning-border);background:var(--warning-background);color:var(--warning-color);border-radius:11px;margin:16px 0 0;padding:12px 14px;line-height:1.55}.learning-panel{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.quiz-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.quiz-toolbar label{width:190px}.learning-main-button,.learning-submit-quiz{width:auto}.learning-error{border:1px solid var(--error-border);background:var(--error-background);color:var(--error-color);border-radius:11px;margin-top:15px;padding:13px 14px;line-height:1.55}.learning-question-list{gap:13px;margin-top:16px;display:grid}.learning-question-card{border:1px solid var(--border-color);background:#f9fcfb;border-radius:14px;padding:18px}.learning-question-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:.75rem;font-weight:800;display:flex}.learning-question-card h3{color:var(--text-dark);margin:12px 0 15px;font-size:.98rem;line-height:1.65}.learning-options{gap:8px;display:grid}.learning-option{cursor:pointer;background:#fff;border:1px solid #dcebe7;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}.learning-option input{flex:none;width:17px;height:17px}.learning-source-row{color:var(--text-muted);flex-wrap:wrap;gap:8px;margin-top:13px;font-size:.74rem;display:flex}.learning-submit-quiz{margin-top:17px}.learning-score-card{border:1px solid var(--primary-border);background:linear-gradient(135deg, var(--primary-soft), #f8fefd);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:18px;display:flex}.learning-score-card h3{color:var(--primary-dark);margin:4px 0 0;font-size:1.6rem}.learning-score-card>strong{color:var(--primary-color);font-size:1.7rem}.student-profile-hero{border:1px solid var(--primary-border);background:linear-gradient(135deg, var(--primary-soft), #fff);border-radius:16px;align-items:center;padding:18px}.student-avatar{background:linear-gradient(135deg, var(--primary-color), var(--primary-medium));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:58px;height:58px;font-size:1.05rem;font-weight:900;display:inline-flex}.student-profile-main{flex:auto;min-width:0}.profile-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.profile-stat-card{border:1px solid var(--border-color);background:var(--surface-soft);border-radius:13px;padding:16px}.profile-stat-primary{border-color:var(--primary-border);background:var(--primary-soft)}.profile-stat-card span,.profile-stat-card small{color:var(--text-muted);display:block}.profile-stat-card span{font-size:.75rem;font-weight:800}.profile-stat-card strong{color:var(--text-dark);margin:7px 0 3px;font-size:1.6rem;display:block}.profile-stat-primary strong{color:var(--primary-dark)}.profile-stat-card small{font-size:.7rem}.profile-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.profile-subcard,.profile-revision-section{border:1px solid var(--border-color);background:#fff;border-radius:14px;padding:18px}.profile-revision-section{margin-top:16px}.subject-performance-list{gap:14px;margin-top:15px;display:grid}.subject-performance-item>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.subject-performance-item strong{color:var(--text-dark);font-size:.85rem}.subject-performance-item span{color:var(--primary-dark);font-size:.78rem;font-weight:850}.subject-performance-track,.revision-progress{background:#e3ece9;border-radius:999px;height:7px;overflow:hidden}.subject-performance-track span,.revision-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--primary-color), var(--primary-medium));height:100%;display:block}.strength-weak-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;display:grid}.strength-weak-grid h4{color:var(--text-dark);margin:0 0 9px;font-size:.82rem}.profile-tag-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.profile-tag{border-radius:10px;justify-content:space-between;align-items:center;gap:9px;padding:9px 10px;font-size:.76rem;display:flex}.profile-tag-strong{border:1px solid var(--primary-border);background:var(--primary-light);color:var(--primary-dark)}.profile-tag-weak{border:1px solid var(--warning-border);background:var(--warning-background);color:var(--warning-color)}.profile-empty{color:var(--text-muted);margin:10px 0 0;font-size:.78rem;line-height:1.55}.coach-guidance{border:1px solid var(--primary-border);background:linear-gradient(135deg, var(--primary-soft), #fff);border-radius:14px;grid-template-columns:1fr auto;gap:8px 16px;margin-top:16px;padding:18px;display:grid}.coach-guidance h3,.revision-item h3{color:var(--text-dark);margin:4px 0 0}.coach-guidance>p{white-space:pre-wrap;color:var(--text-medium);grid-column:1/-1;margin:8px 0 0;line-height:1.75}.revision-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.revision-item{border:1px solid var(--border-color);background:var(--surface-soft);border-radius:13px;padding:17px}.revision-item-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.revision-item-header span{color:var(--text-muted);font-size:.72rem;font-weight:800}.revision-item-header>strong{color:var(--primary-color);font-size:1.15rem}.revision-item>p{color:var(--text-light);line-height:1.55}.revision-item ul{color:var(--text-medium);margin:13px 0 0;padding-left:19px;line-height:1.65}.revision-recommendation{border-top:1px solid var(--border-color);padding-top:12px;margin-top:13px!important}@media (width<=900px){.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-two-column{grid-template-columns:1fr}}@media (width<=800px){.learning-tools-header,.quiz-toolbar,.student-profile-hero{flex-direction:column;align-items:stretch}.learning-context,.revision-list{grid-template-columns:1fr}.quiz-toolbar label,.learning-main-button,.learning-submit-quiz{width:100%}.student-avatar{width:50px;height:50px}}@media (width<=560px){.learning-tools-section{padding:19px}.learning-tabs{width:100%}.learning-tab{flex:1 1 0}.profile-stat-grid,.strength-weak-grid{grid-template-columns:1fr}}.quiz-report{margin-top:18px}.quiz-report-tally{flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;font-size:.82rem;font-weight:700;display:flex}.quiz-tally-correct{color:#15803d}.quiz-tally-wrong{color:var(--error-color)}.quiz-report-list{gap:14px;margin-top:16px;display:grid}.quiz-report-card{border:1px solid var(--border-color);border-left:5px solid var(--border-color);background:#fff;border-radius:14px;padding:18px}.quiz-report-card.is-correct{background:#f6fdf9;border-color:#bbf7d0 #bbf7d0 #bbf7d0 #16a34a}.quiz-report-card.is-wrong{border-color:var(--error-border);border-left-color:var(--error-color);background:var(--error-background)}.quiz-report-card h3{color:var(--text-dark);margin:12px 0 14px;font-size:.98rem;line-height:1.65}.quiz-report-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:800}.quiz-report-badge.is-correct{color:#15803d;background:#dcfce7}.quiz-report-badge.is-wrong{color:var(--error-dark);background:#fee2e2}.quiz-answer-row{background:#fff;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:4px;margin-bottom:10px;padding:11px 13px;display:flex}.quiz-answer-row:last-of-type{margin-bottom:0}.quiz-answer-label{letter-spacing:.03em;text-transform:uppercase;opacity:.85;font-size:.7rem;font-weight:800}.quiz-answer-value{overflow-wrap:anywhere;font-size:.95rem;font-weight:700;line-height:1.6}.quiz-answer-row.is-correct{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.quiz-answer-row.is-wrong{border-color:var(--error-border);color:var(--error-color);background:#fff5f5}.quiz-report-explanation{border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-medium);border-radius:10px;margin:12px 0 0;padding:11px 13px;font-size:.88rem;line-height:1.65}.quiz-coach-card{border:1px solid var(--border-color);background:var(--surface-soft);border-radius:16px;align-items:flex-start;gap:16px;margin-top:16px;padding:18px;display:flex}.quiz-coach-face{flex:none;font-size:2.6rem;line-height:1;animation:.62s ease-out quiz-coach-pop}@keyframes quiz-coach-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}60%{opacity:1;transform:scale(1.15)rotate(6deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.quiz-coach-face{animation:none}}.quiz-coach-body{flex:auto;min-width:0}.quiz-coach-body h4{color:var(--text-dark);margin:0;font-size:1.08rem;font-weight:800;line-height:1.4}.quiz-coach-body p{color:var(--text-medium);margin:7px 0 0;font-size:.94rem;line-height:1.65}.quiz-coach-tips{color:var(--text-medium);gap:6px;margin:12px 0 0;padding:0 0 0 20px;font-size:.9rem;line-height:1.6;display:grid}.quiz-coach-tips li::marker{color:currentColor}.quiz-coach-card.mood-excellent{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#86efac}.quiz-coach-card.mood-good{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#bbf7d0}.quiz-coach-card.mood-average{border-color:var(--primary-border);background:linear-gradient(135deg, var(--primary-soft), #fff)}.quiz-coach-card.mood-low{border-color:var(--warning-border);background:linear-gradient(135deg, var(--warning-background), #fff)}.quiz-coach-card.mood-tough{border-color:var(--error-border);background:linear-gradient(135deg, var(--error-background), #fff)}@media (width<=640px){.quiz-coach-card{text-align:center;flex-direction:column;align-items:center}.quiz-coach-tips{text-align:start}}.quiz-report-stars{color:#b45309;background:linear-gradient(135deg,#fffbeb,#fff);border:1px solid #fde68a;border-radius:12px;align-items:center;gap:8px;margin:12px 0 0;padding:11px 14px;font-size:.94rem;font-weight:800;display:flex}.prof-quiz-banner{border:1px solid var(--primary-border);background:var(--primary-soft);color:var(--primary-dark);border-radius:12px;margin:18px 0 0;padding:12px 15px;font-size:.9rem;font-weight:800}.chat-card{border:1px solid var(--border);background:#fff;border-radius:18px;flex-direction:column;padding:18px;display:flex}.chat-empty{text-align:center;color:var(--text-light);padding:40px 20px}.chat-empty span{margin-bottom:12px;font-size:2.4rem;line-height:1;display:block}.chat-empty p{margin:0;font-size:.92rem}.chat-thread{gap:14px;max-height:46vh;padding-right:6px;display:grid;overflow-y:auto}.chat-line p{white-space:pre-wrap;border-radius:14px;margin:4px 0 0;padding:12px 15px;font-size:.93rem;line-height:1.7}.chat-who{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#94a3b8);font-size:.72rem;font-weight:800}.chat-line.is-prof{text-align:end;justify-self:end;max-width:82%}.chat-line.is-prof p{border:1px solid var(--violet-border,#ddd6fe);background:var(--violet-light,#f5f3ff);color:var(--violet-dark,#5b21b6);text-align:start}.chat-line.is-leon{justify-self:start;max-width:92%}.chat-line.is-leon p{border:1px solid var(--border);background:var(--surface-soft,#f8fafc);color:var(--text-medium)}.chat-thinking{font-style:italic;color:var(--text-light)!important}.chat-input{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;display:flex}.chat-input input{border:1px solid var(--border);font:inherit;color:var(--text-dark);background:#fff;border-radius:12px;flex:240px;padding:12px 15px;font-size:.92rem}.chat-suggestions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.chat-suggestions button{border:1px solid var(--border);font:inherit;color:var(--text-medium);cursor:pointer;background:#fff;border-radius:999px;padding:7px 13px;font-size:.79rem;font-weight:600}.chat-suggestions button:hover:not(:disabled){border-color:var(--violet,#7c3aed);color:var(--violet-dark,#5b21b6)}.chat-suggestions button:disabled{opacity:.5;cursor:not-allowed}.chat-note{color:var(--text-muted,#94a3b8);margin:14px 0 0;font-size:.78rem;line-height:1.6}.content-card{border:1px solid var(--border);background:#fff;border-radius:16px;margin-bottom:20px;padding:20px}.content-card h3{color:var(--text-dark);margin:0 0 14px;font-size:1rem;font-weight:800}.content-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.content-fields+.content-fields{margin-top:12px}.content-fields label,.content-full{letter-spacing:.03em;text-transform:uppercase;color:var(--text-light);font-size:.76rem;font-weight:800;display:block}.content-full{margin-top:12px;display:block}.content-fields select,.content-fields input,.content-full select{border:1px solid var(--border);width:100%;font:inherit;letter-spacing:0;text-transform:none;color:var(--text-dark);background:#fff;border-radius:10px;margin-top:6px;padding:11px 12px;font-size:.9rem;font-weight:600;display:block}.content-fields select:disabled,.content-full select:disabled,.content-fields input:disabled{opacity:.6}.content-drop{border:2px dashed var(--border);background:var(--surface-soft,#f8fafc);text-align:center;cursor:pointer;border-radius:13px;margin-top:16px;padding:20px;display:block}.content-drop:hover:not(.is-locked){border-color:var(--blue,#2563eb)}.content-drop.is-locked{opacity:.6;cursor:not-allowed}.content-drop input{width:100%;font:inherit;margin:0 auto 10px;font-size:.84rem;display:block}.content-drop span{color:var(--text-medium);font-size:.86rem;font-weight:700}.content-action{margin-top:16px}.content-error,.content-success{border-radius:11px;margin:14px 0 0;padding:12px 14px;font-size:.87rem;line-height:1.6}.content-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.content-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.content-note,.content-empty{color:var(--text-muted,#94a3b8);margin:14px 0 0;font-size:.79rem;line-height:1.6}.content-empty{margin:0;font-size:.88rem}.content-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.content-list li{border:1px solid var(--border);background:var(--surface-soft,#f8fafc);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.content-list strong{color:var(--text-dark);overflow-wrap:anywhere;font-size:.89rem;font-weight:700;display:block}.content-list small{color:var(--text-light);margin-top:2px;font-size:.75rem;display:block}.content-remove{font:inherit;color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;flex:none;padding:7px 14px;font-size:.78rem;font-weight:700}.content-remove:hover:not(:disabled){background:#fef2f2}.content-remove:disabled{opacity:.5;cursor:not-allowed}@media (width<=760px){.content-fields{grid-template-columns:1fr}}.teacher-loading{color:var(--text-light);padding:30px 0;font-size:.95rem}.teacher-period{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.teacher-period-button{border:1px solid var(--border);font:inherit;color:var(--text-medium);cursor:pointer;background:#fff;border-radius:999px;padding:8px 15px;font-size:.83rem;font-weight:700}.teacher-period-button.is-active{border-color:var(--green,#16a34a);background:var(--green,#16a34a);color:#fff}.teacher-reco{background:linear-gradient(135deg,#fffbeb,#fff);border:1px solid #fde68a;border-radius:16px;margin-bottom:20px;padding:18px}.teacher-reco-alert{color:#b45309;margin:0;font-size:1rem;font-weight:800;line-height:1.55}.teacher-reco-advice{color:var(--text-medium);margin:10px 0 0;font-size:.94rem;line-height:1.65}.teacher-figures{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.teacher-figure{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;padding:16px}.teacher-figure strong{color:var(--text-dark);font-size:1.7rem;font-weight:800;line-height:1;display:block}.teacher-figure small{color:var(--text-light);margin-top:5px;font-size:.76rem;font-weight:700;display:block}.teacher-figure.est-alerte{background:#fef2f2;border-color:#fecaca}.teacher-figure.est-alerte strong{color:#b91c1c}.teacher-block{border:1px solid var(--border);background:#fff;border-radius:16px;margin-bottom:22px;padding:18px}.teacher-block h3{color:var(--text-dark);margin:0 0 14px;font-size:1rem;font-weight:800}.teacher-empty{color:var(--text-light);margin:0;font-size:.88rem}.teacher-bars{gap:12px;margin:0;padding:0;list-style:none;display:grid}.teacher-bars li{grid-template-columns:170px 1fr 54px;align-items:center;gap:12px;display:grid}.teacher-bar-label{color:var(--text-dark);font-size:.88rem;font-weight:700}.teacher-bar-label small{color:var(--text-light);font-size:.72rem;font-weight:600;display:block}.teacher-bar{background:var(--surface-soft,#f1f5f9);border-radius:999px;height:12px;display:block;overflow:hidden}.teacher-bar>span{border-radius:999px;height:100%;transition:width .4s ease-out;display:block}.teacher-bar-value{text-align:end;color:var(--text-dark);font-size:.88rem;font-weight:800}.est-solide{color:#15803d;background:#16a34a}.est-fragile{color:#b45309;background:#f59e0b}.est-faible{color:#b91c1c;background:#dc2626}strong.est-solide,strong.est-fragile,strong.est-faible{background:0 0}.teacher-lessons{gap:9px;margin:0;padding:0;list-style:none;display:grid}.teacher-lessons li{border:1px solid var(--border);background:var(--surface-soft,#f8fafc);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.teacher-lessons strong{color:var(--text-dark);overflow-wrap:anywhere;font-size:.9rem;font-weight:700;display:block}.teacher-lessons small{color:var(--text-light);font-size:.74rem;display:block}.teacher-lesson-stats{text-align:end;flex:none}.teacher-lesson-stats strong{font-size:1.05rem;font-weight:800}.teacher-students{gap:8px;margin:0;padding:0;list-style:none;display:grid}.teacher-student-row{border:1px solid var(--border);width:100%;font:inherit;text-align:start;cursor:pointer;background:#fff;border-radius:11px;grid-template-columns:1fr auto 64px;align-items:center;gap:14px;padding:12px 14px;display:grid}.teacher-student-row:hover{background:var(--surface-soft,#f8fafc)}.teacher-student-name strong{color:var(--text-dark);font-size:.9rem;font-weight:700;display:block}.teacher-student-name small{color:var(--text-light);font-size:.74rem;display:block}.teacher-student-average{text-align:end;color:var(--text-dark);font-size:1rem;font-weight:800}.teacher-tag{white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:.72rem;font-weight:800}.teacher-tag.est-solide{color:#15803d;background:#dcfce7}.teacher-tag.est-fragile{color:#b45309;background:#fef3c7}.teacher-tag.est-faible{color:#b91c1c;background:#fee2e2}.teacher-tag.est-inactif{background:var(--surface-soft,#f1f5f9);color:var(--text-muted,#94a3b8)}.teacher-student-detail{border:1px solid var(--border);background:var(--surface-soft,#f8fafc);border-radius:11px;margin:6px 0 0;padding:13px 15px}.teacher-student-detail p{color:var(--text-medium);margin:0 0 9px;font-size:.82rem;font-weight:700}.teacher-student-detail ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.teacher-student-detail li{color:var(--text-medium);justify-content:space-between;gap:12px;font-size:.85rem;display:flex}@media (width<=760px){.teacher-figures{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-bars li{grid-template-columns:1fr 46px}.teacher-bar{grid-column:1/-1}.teacher-student-row{grid-template-columns:1fr auto}.teacher-student-average{text-align:start;grid-column:1/-1}}.teacher-student-detail h4{letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);margin:14px 0 8px;font-size:.76rem;font-weight:800}.teacher-student-detail h4:first-of-type{margin-top:4px}.teacher-detail-subjects li{padding:4px 0}.teacher-history{border-collapse:collapse;width:100%;font-size:.83rem}.teacher-history th{border-bottom:1px solid var(--border);letter-spacing:.03em;text-transform:uppercase;text-align:start;color:var(--text-muted,#94a3b8);padding:6px 8px;font-size:.72rem;font-weight:800}.teacher-history td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-medium);padding:9px 8px}.teacher-history tr:last-child td{border-bottom:none}.teacher-history td strong{color:var(--text-dark);overflow-wrap:anywhere;font-size:.85rem;font-weight:700;display:block}.teacher-history td small{color:var(--text-light);font-size:.72rem;display:block}.teacher-history-date{white-space:nowrap;color:var(--text-light);font-size:.76rem}.teacher-history-score{white-space:nowrap;color:var(--text-dark);font-weight:800}.teacher-history-bar{background:var(--surface-soft,#f1f5f9);vertical-align:middle;border-radius:999px;width:66px;height:8px;margin-inline-end:8px;display:inline-block;overflow:hidden}.teacher-history-bar>span{border-radius:999px;height:100%;display:block}@media (width<=700px){.teacher-history-bar{display:none}}.teacher-assistant{border:1px solid var(--violet-border,#ddd6fe);background:linear-gradient(135deg,#f5f3ff,#fff);border-radius:16px;margin-bottom:18px;padding:18px}.teacher-assistant h3{color:var(--text-dark);margin:0 0 12px;font-size:1rem;font-weight:800}.teacher-assistant-row{flex-wrap:wrap;gap:10px;display:flex}.teacher-assistant-row input{border:1px solid var(--border);font:inherit;color:var(--text-dark);background:#fff;border-radius:11px;flex:260px;padding:11px 14px;font-size:.9rem}.teacher-suggestions{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.teacher-suggestions button{border:1px solid var(--border);font:inherit;color:var(--text-medium);cursor:pointer;background:#fff;border-radius:999px;padding:7px 13px;font-size:.79rem;font-weight:600}.teacher-suggestions button:hover:not(:disabled){border-color:var(--violet,#7c3aed);color:var(--violet-dark,#5b21b6)}.teacher-suggestions button:disabled{opacity:.5;cursor:not-allowed}.teacher-assistant-answer{border:1px solid var(--border);white-space:pre-wrap;color:var(--text-medium);background:#fff;border-radius:12px;margin:14px 0 0;padding:14px 16px;font-size:.92rem;line-height:1.7}.teacher-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.teacher-usage{white-space:nowrap;background:var(--surface-soft,#f1f5f9);color:var(--text-medium);border-radius:999px;padding:4px 10px;font-size:.71rem;font-weight:700}.teacher-usage.est-decroche,.teacher-usage.est-jamais{color:#b91c1c;background:#fef2f2}.teacher-usage.est-irregulier{color:#b45309;background:#fffbeb}.teacher-usage.est-regulier{color:#15803d;background:#f0fdf4}@media (width<=760px){.teacher-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}.upload-card{border:1px solid var(--border);background:var(--surface,#fff);border-radius:16px;margin-bottom:20px;padding:18px}.upload-head{align-items:flex-start;gap:12px;display:flex}.upload-emoji{font-size:1.6rem;line-height:1}.upload-head strong{color:var(--text-dark);font-size:1rem;font-weight:800;display:block}.upload-head small{color:var(--text-light);margin-top:3px;font-size:.82rem;line-height:1.5;display:block}.upload-drop{border:2px dashed var(--border);background:var(--surface-soft,#f8fafc);text-align:center;cursor:pointer;border-radius:12px;margin-top:14px;padding:16px;transition:border-color .15s;display:block}.upload-drop:hover{border-color:var(--violet,#7c3aed)}.upload-drop input{width:100%;font:inherit;margin:0 auto 10px;font-size:.84rem;display:block}.upload-drop span{color:var(--text-medium);font-size:.84rem;font-weight:700}.upload-error,.upload-success{border-radius:10px;margin:12px 0 0;padding:11px 13px;font-size:.86rem;line-height:1.55}.upload-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.upload-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.upload-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.upload-list li{border:1px solid var(--border);background:var(--surface-soft,#f8fafc);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.upload-name strong{color:var(--text-dark);overflow-wrap:anywhere;font-size:.88rem;font-weight:700;display:block}.upload-name small{color:var(--text-light);margin-top:2px;font-size:.76rem;display:block}.upload-remove{font:inherit;color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:999px;flex:none;padding:7px 13px;font-size:.78rem;font-weight:700}.upload-remove:hover:not(:disabled){background:#fef2f2}.upload-remove:disabled{opacity:.5;cursor:not-allowed}.upload-note{color:var(--text-muted,#94a3b8);margin:14px 0 0;font-size:.76rem;line-height:1.55}.upload-drops{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.upload-drops .upload-drop{margin-top:0}.upload-progress{border:1px solid var(--blue-border,#bfdbfe);background:var(--blue-light,#eff6ff);color:var(--blue-dark,#1d4ed8);border-radius:10px;margin:12px 0 0;padding:11px 13px;font-size:.86rem;font-weight:700}@media (width<=620px){.upload-drops{grid-template-columns:1fr}}.reward-toast-stack{z-index:120;pointer-events:none;gap:10px;max-width:min(340px,100vw - 36px);display:grid;position:fixed;top:18px;right:18px}.reward-toast{pointer-events:auto;border:1px solid var(--border-color);background:var(--surface-color);text-align:start;cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;padding:13px 15px;animation:.38s cubic-bezier(.2,.9,.3,1.2) reward-in;display:flex;box-shadow:0 12px 28px #0f172a29}@keyframes reward-in{0%{opacity:0;transform:translate(40px)scale(.92)}to{opacity:1;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.reward-toast{animation:none}}.reward-toast-emoji{flex:none;font-size:1.7rem;line-height:1}.reward-toast-text{gap:2px;min-width:0;display:grid}.reward-toast-text strong{color:var(--text-dark);font-size:.92rem;font-weight:800;line-height:1.35}.reward-toast-text small{color:var(--text-light);font-size:.78rem;line-height:1.45}.reward-toast.tone-stars{background:linear-gradient(135deg,#fffbeb,#fff);border-color:#fde68a}.reward-toast.tone-mission{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#bbf7d0}.reward-toast.tone-badge{background:linear-gradient(135deg,#f5f3ff,#fff);border-color:#ddd6fe}@media (width<=640px){.reward-toast-stack{max-width:none;inset:auto 12px 16px}}.idle-nudge{z-index:130;border:1px solid var(--primary-border);background:var(--surface-color);border-radius:18px;align-items:flex-start;gap:14px;max-width:min(380px,100vw - 40px);padding:18px;animation:.42s cubic-bezier(.2,.9,.3,1.2) idle-nudge-in;display:flex;position:fixed;bottom:20px;left:20px;box-shadow:0 18px 40px #0f172a33}@keyframes idle-nudge-in{0%{opacity:0;transform:translateY(28px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.idle-nudge-mascot{flex:none;font-size:2.4rem;line-height:1;animation:1.6s ease-in-out 3 idle-nudge-bounce}@keyframes idle-nudge-bounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-6px)rotate(-8deg)}50%{transform:translateY(0)rotate(0)}75%{transform:translateY(-3px)rotate(6deg)}}@media (prefers-reduced-motion:reduce){.idle-nudge,.idle-nudge-mascot{animation:none}}.idle-nudge-body{min-width:0}.idle-nudge-body strong{color:var(--text-dark);font-size:1.05rem;font-weight:800;line-height:1.4;display:block}.idle-nudge-body p{color:var(--text-medium);margin:6px 0 0;font-size:.9rem;line-height:1.6}.idle-nudge-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.idle-nudge-ghost{border:1px solid var(--border-color);font:inherit;color:var(--text-light);cursor:pointer;background:0 0;border-radius:999px;padding:9px 16px;font-size:.86rem;font-weight:700}.idle-nudge-ghost:hover{background:var(--surface-soft)}.idle-nudge-sound{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-size:.76rem;font-weight:700;text-decoration:underline}.idle-nudge-sound:hover{color:var(--text-medium)}@media (width<=640px){.idle-nudge{max-width:none;bottom:12px;left:12px;right:12px}}.idle-nudge-allow{border:1px dashed var(--primary-border);background:var(--primary-soft);width:100%;font:inherit;color:var(--primary-dark);text-align:start;cursor:pointer;border-radius:11px;margin-top:12px;padding:10px 14px;font-size:.84rem;font-weight:700;display:block}.idle-nudge-allow:hover{border-style:solid}.idle-nudge-hint{background:var(--surface-soft);border-radius:10px;padding:10px 12px;color:var(--text-light)!important;margin:10px 0 0!important;font-size:.78rem!important;line-height:1.55!important}
