@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";:root{--color-primary: #18745b;--color-primary-light: #2d9374;--color-primary-dark: #145c49;--color-primary-50: #f0f8f4;--color-primary-100: #dcefe7;--color-accent: #e8a838;--color-accent-light: #fdf3e0;--color-ink: #172438;--color-muted: #65758a;--color-subtle: #8b98a8;--color-surface: #ffffff;--color-canvas: #f5f7fa;--color-border: #dce3e8;--color-border-light: #e9edf1;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-error: #dc2626;--color-error-bg: #fee2e2;--font-family: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: .9375rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 10px 30px rgba(0,0,0,.1);--shadow-card: 0 1px 3px rgba(0,0,0,.04), 0 4px 12px rgba(0,0,0,.03);--ease: cubic-bezier(.2, .8, .2, 1);--duration-fast: .12s;--duration-normal: .18s}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0;padding:0}body{font-family:var(--font-family);background:radial-gradient(900px 420px at 0% 0%,rgba(24,116,91,.09),transparent 62%),radial-gradient(720px 360px at 100% 0%,rgba(90,98,184,.06),transparent 58%),var(--color-canvas);color:var(--color-ink);font-size:var(--font-size-base);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:transparent;padding:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.text-muted{color:var(--color-muted)}.text-subtle{color:var(--color-subtle)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.grid{display:grid}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.surface-card,.table-card,.stat-card,.empty-panel,.calendar-board,.q-card,.paper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:none}.surface-card{padding:var(--space-6)}.stat-card{padding:var(--space-5)}.table-card{overflow:hidden;padding:0}.surface-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.surface-heading h2{font-size:var(--font-size-lg);font-weight:700;color:var(--color-ink)}.surface-heading p{color:var(--color-muted);font-size:var(--font-size-sm);margin-top:var(--space-1)}.primary-button,.auth-submit{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:38px;padding:0 16px;background:linear-gradient(120deg,#166b40,#2f9a62);color:#fff;border-radius:4px;font-size:14px;font-weight:600;box-shadow:none;transition:background var(--duration-fast) var(--ease)}.primary-button:hover,.auth-submit:hover{background:var(--color-primary-dark)}.primary-button:disabled,.auth-submit:disabled{opacity:.6;cursor:not-allowed}.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);background:#fff;color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;transition:all var(--duration-fast) var(--ease)}.secondary-button:hover{background:var(--color-canvas);border-color:var(--color-primary-100)}.icon-button{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--color-muted);transition:all var(--duration-fast) var(--ease)}.icon-button:hover{background:var(--color-border-light);color:var(--color-ink)}.stack-form{display:grid;gap:var(--space-4)}.field-label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-ink);margin-bottom:var(--space-2)}.input-wrap{display:flex;align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-3);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease)}.input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-50)}.reveal-password{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;color:#5d7a68;flex-shrink:0}.reveal-password:hover{color:var(--color-primary-dark);background:var(--color-primary-50)}.input-wrap input,.input-wrap select{width:100%;border:none;outline:none;background:transparent;font-size:var(--font-size-base);color:var(--color-ink)}.input-wrap input::placeholder{color:var(--color-subtle)}.search-box{display:flex;align-items:center;gap:var(--space-2);height:44px;padding:0 var(--space-3);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);transition:all var(--duration-fast) var(--ease)}.search-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-50)}.search-box input{width:100%;border:none;outline:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-ink)}.form-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-4)}.form-alert.success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #bbf7d0}.form-alert.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #fecaca}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-active{background:#e8f5ee;color:var(--color-success)}.status-inactive{background:var(--color-border-light);color:var(--color-muted)}.band-pill{font-weight:700;color:var(--color-primary-dark)}.band-pill small{color:var(--color-muted);font-size:var(--font-size-xs);font-weight:500}.user-avatar,.student-avatar,.workspace-avatar,.profile-avatar,.top-avatar{display:grid;place-items:center;border-radius:var(--radius-full);font-weight:700;flex-shrink:0}.user-avatar,.top-avatar{width:36px;height:36px;background:var(--color-primary-50);color:var(--color-primary);border-radius:var(--radius-full)}.student-avatar,.workspace-avatar{width:34px;height:34px;background:var(--color-primary-50);color:var(--color-primary);border-radius:var(--radius-md)}.avatar-1{background:#e8f5ee;color:#16a34a}.avatar-2{background:#fef3c7;color:#d97706}.avatar-3{background:#e0f2fe;color:#0284c7}.avatar-4{background:#fce7f3;color:#db2777}.table-toolbar{padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.student-table{width:100%;border-collapse:collapse;text-align:left}.student-table th{padding:var(--space-3) var(--space-4);background:var(--color-canvas);font-size:var(--font-size-xs);font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.student-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-size:var(--font-size-sm)}.student-table tbody tr:hover{background:var(--color-canvas)}.student-name-cell{display:flex;align-items:center;gap:var(--space-3)}.student-name-cell strong{display:block;font-size:var(--font-size-sm);color:var(--color-ink)}.student-name-cell small{display:block;font-size:var(--font-size-xs);color:var(--color-muted)}.row-arrow{width:28px;height:28px;display:grid;place-items:center;color:var(--color-subtle);border-radius:var(--radius-sm)}.row-arrow:hover{background:var(--color-border-light);color:var(--color-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;color:var(--color-muted)}.empty-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary);display:grid;place-items:center;margin-bottom:var(--space-4)}.install-app-button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:#ffffff1a;color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:background .18s ease,transform .18s ease}.install-app-button:hover{background:#ffffff2e;transform:translateY(-1px)}.notification-permission{display:flex;width:calc(100% - 20px);align-items:center;gap:10px;margin:10px;padding:10px 12px;border:1px solid #cce3d5;border-radius:12px;background:#f1faf4;color:#174b33;text-align:left;cursor:pointer}.notification-permission span{display:grid;gap:2px}.notification-permission small,.notification-permission-note{color:#5d7667}.notification-permission-note{margin:10px 14px;font-size:12px;line-height:1.45}.insight-signals .priority-high{background:#fff0ed;color:#a33a2f;border-color:#f2c2ba}.insight-signals .priority-medium{background:#fff7df;color:#8a5b0a;border-color:#efd28b}.insight-signals .priority-steady{background:#edf8f1;color:#216541;border-color:#c4e2cf}@media(max-width:760px){.install-app-button span{display:none}.install-app-button{width:36px;justify-content:center;padding:0}}.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:#fff}.auth-story{background:linear-gradient(145deg,var(--color-primary),var(--color-primary-dark));color:#fff;padding:var(--space-12);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-200px;bottom:-200px;pointer-events:none}.story-copy h1{font-size:clamp(32px,4vw,56px);margin:var(--space-4) 0;letter-spacing:-.04em}.story-copy h1 em{font-style:normal;color:var(--color-primary-100)}.story-copy p{color:#fffc;font-size:var(--font-size-lg);max-width:400px}.auth-form-wrap{display:grid;place-items:center;padding:var(--space-8)}.auth-form-card{width:100%;max-width:400px}.auth-mobile-brand{display:none}.form-heading{text-align:center;margin-bottom:var(--space-8)}.form-heading h2{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.form-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary);display:grid;place-items:center;margin:0 auto var(--space-4)}.auth-submit{width:100%;height:48px;font-size:var(--font-size-base);margin-top:var(--space-4)}.auth-choices{display:grid;gap:var(--space-3);margin-top:var(--space-6)}.auth-choices a{display:block;padding:var(--space-3);background:var(--color-canvas);border-radius:var(--radius-md);text-align:center;color:var(--color-primary);font-weight:700;transition:background var(--duration-fast)}.auth-choices a:hover{background:var(--color-primary-50)}.password-label{display:flex;justify-content:space-between;align-items:center}.text-button{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600}.teacher-code{display:block;background:var(--color-primary-50);color:var(--color-primary);padding:var(--space-3);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-2xl);font-weight:800;letter-spacing:.2em;border:1px dashed var(--color-primary);margin:var(--space-2) 0}.dashboard-welcome{margin-bottom:var(--space-6)}.dashboard-welcome h1{display:flex;align-items:center;gap:8px;font-size:var(--font-size-2xl);margin:0}.greeting-dot{color:var(--color-accent)}.studio-hero{display:none}.dashboard-columns,.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-6);margin-bottom:var(--space-6)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-6)}.stat-card{display:flex;flex-direction:column}.stat-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--color-muted);font-size:var(--font-size-sm)}.stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center}.stat-icon.lilac{background:var(--color-primary-50);color:var(--color-primary)}.stat-icon.mint{background:#dcfce7;color:#16a34a}.stat-icon.peach{background:#fef3c7;color:#d97706}.stat-value{font-size:var(--font-size-3xl);font-weight:700;margin-top:var(--space-4);display:block}.stat-foot{font-size:var(--font-size-xs);color:var(--color-subtle);margin-top:var(--space-2);display:block}.studio-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.studio-action{background:#fff;border:1px solid #c9e0d0;border-radius:12px;padding:20px;display:flex;flex-direction:column}.studio-action:hover{border-color:#8fcaa8}.action-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.action-icon{width:48px;height:48px;border-radius:50%;background:var(--color-primary-50);color:var(--color-primary);display:grid;place-items:center}.action-number{display:none}.studio-action h3{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.studio-action p{color:var(--color-muted);font-size:var(--font-size-sm);flex:1;margin-bottom:var(--space-4)}.action-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700}.roster-summary{display:flex;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);background:#fff;padding:var(--space-4) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.roster-count{display:flex;align-items:center;gap:var(--space-3)}.roster-count strong{font-size:var(--font-size-2xl);font-weight:700;display:block}.roster-count span{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.library-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.library-heading h1{margin:0;color:var(--color-ink)}.library-heading img{max-height:160px;object-fit:contain}.skill-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.skill-row button{padding:8px 16px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:#fff;font-weight:600;color:var(--color-muted);transition:all var(--duration-fast) var(--ease)}.skill-row button:hover{border-color:var(--color-primary);color:var(--color-primary)}.skill-row button.skill-on{background:var(--color-primary-50);border-color:var(--color-primary);color:var(--color-primary)}.skill-row em{margin-left:6px;font-size:.85em;background:var(--color-border-light);padding:2px 6px;border-radius:10px;font-style:normal}.library-tools{display:grid;grid-template-columns:300px 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}.exercise-progress-filter{display:flex;gap:var(--space-2)}.exercise-progress-filter button{padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;background:var(--color-canvas);color:var(--color-muted);border:1px solid transparent}.exercise-progress-filter button.active{background:#fff;color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.exercise-card{background:#fff;padding:16px;border-radius:12px;border:1px solid #c9e0d0;position:relative}.exercise-card:hover{border-color:#8fcaa8}.exercise-symbol{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary);display:grid;place-items:center;margin-bottom:var(--space-3)}.exercise-card strong{display:block;font-size:var(--font-size-base);margin-bottom:var(--space-1);color:var(--color-ink)}.exercise-card small{display:block;font-size:var(--font-size-xs);color:var(--color-muted)}.exercise-card i{position:absolute;bottom:0;left:0;height:4px;background:var(--color-success);border-bottom-left-radius:var(--radius-xl);transition:width var(--duration-normal)}.exam-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}.exam-passage{position:sticky;top:90px;max-height:calc(100vh - 120px);overflow-y:auto;padding:var(--space-6);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.exam-passage h3{margin-bottom:var(--space-4);color:var(--color-primary)}.exam-passage p{margin-bottom:var(--space-4);line-height:1.7}.exercise-data-table{overflow-x:auto;margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-lg)}.exercise-data-table table{width:100%;border-collapse:collapse;min-width:360px}.exercise-data-table th,.exercise-data-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--color-border)}.exercise-data-table th{color:var(--color-primary);background:#edf7f1;font-weight:700}.exercise-data-table tr:last-child td{border-bottom:0}.exam-sheet{display:grid;gap:var(--space-4)}.q-card{background:#fff;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.q-instruction{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-3);font-weight:600}.q-head{display:flex;gap:var(--space-3);align-items:flex-start}.q-num{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:var(--font-size-sm);flex-shrink:0}.q-prompt{font-weight:500;margin:0}.choice-list{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.choice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;transition:all var(--duration-fast) var(--ease);font-weight:500}.choice span{width:24px;height:24px;border-radius:50%;background:var(--color-canvas);display:grid;place-items:center;font-size:var(--font-size-xs);flex-shrink:0}.choice:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-canvas)}.choice.on{border-color:var(--color-primary);background:var(--color-primary-50)}.choice.good{border-color:var(--color-success);background:var(--color-success-bg)}.choice.bad{border-color:var(--color-error);background:var(--color-error-bg)}.blank{border:none;border-bottom:2px solid var(--color-primary);background:var(--color-primary-50);padding:2px 6px;font-weight:700;color:var(--color-primary);border-radius:4px;outline:none;text-align:center}.score-bar{position:sticky;bottom:16px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-lg);z-index:10;margin-top:var(--space-8)}.exam-timer{font-size:var(--font-size-xl);font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-primary);background:var(--color-primary-50);padding:4px 12px;border-radius:var(--radius-md)}.calendar-board{background:#fff;border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-6);box-shadow:var(--shadow-card)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.calendar-range strong{font-size:var(--font-size-xl);color:var(--color-ink)}.calendar-controls{display:flex;gap:var(--space-2)}.calendar-grid{display:grid;grid-template-columns:60px repeat(7,1fr);border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:hidden}.calendar-head{text-align:center;padding:var(--space-3);border-bottom:1px solid var(--color-border-light);border-left:1px solid var(--color-border-light);background:var(--color-canvas)}.calendar-head strong{display:block;font-size:var(--font-size-lg)}.calendar-head span{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase}.calendar-day{border-left:1px solid var(--color-border-light);min-height:400px;position:relative;cursor:crosshair}.calendar-event{background:var(--color-primary-50);color:var(--color-primary-dark);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);margin-bottom:2px;border-left:3px solid var(--color-primary);box-shadow:var(--shadow-sm);position:absolute;left:4px;right:4px;overflow:hidden;cursor:pointer}.calendar-event strong{font-weight:800;display:block}.tone-booked{background:var(--color-warning-bg);color:var(--color-warning);border-left-color:var(--color-warning)}.tone-pending{background:#fef08a;color:#854d0e;border-left-color:#eab308}.calendar-legend{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);font-size:var(--font-size-xs);color:var(--color-muted)}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.legend-dot.free{background:var(--color-primary)}.legend-dot.booked{background:var(--color-warning)}.invite-card{background:linear-gradient(135deg,white,var(--color-canvas));padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.invite-card:after{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:var(--color-primary-50);border-radius:50%;opacity:.5;pointer-events:none}.invite-heading{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);position:relative;z-index:1}.invite-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-50);color:var(--color-primary);display:grid;place-items:center;flex-shrink:0}.invite-heading h2{font-size:var(--font-size-lg);margin-bottom:var(--space-1)}.invite-code-wrap{background:#fff;padding:var(--space-4);border-radius:var(--radius-md);text-align:center;margin-bottom:var(--space-4);border:1px dashed var(--color-border);position:relative;z-index:1}.invite-code{font-size:var(--font-size-3xl);font-weight:800;color:var(--color-primary);letter-spacing:.2em}.invite-footer{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.profile-hero{display:flex;align-items:center;gap:var(--space-6);margin-bottom:var(--space-8)}.profile-avatar{width:80px;height:80px;border-radius:var(--radius-xl);font-size:var(--font-size-2xl);background:var(--color-primary-100);color:var(--color-primary-dark);display:grid;place-items:center;font-weight:800}.profile-name h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-1)}.profile-name span{color:var(--color-muted);font-size:var(--font-size-sm)}.profile-tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);overflow-x:auto}.profile-tabs button{padding:0 0 var(--space-3);color:var(--color-muted);font-weight:600;border-bottom:2px solid transparent;transition:all var(--duration-fast);white-space:nowrap}.profile-tabs button:hover{color:var(--color-ink)}.profile-tabs .tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}@media(max-width:1024px){.exam-layout{grid-template-columns:1fr}.exam-passage{position:static;max-height:400px}.library-tools,.dashboard-columns,.profile-grid{grid-template-columns:1fr}}@media(max-width:768px){.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-mobile-brand{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8);font-size:var(--font-size-xl);font-weight:800;color:var(--color-ink)}.library-heading{flex-direction:column;text-align:center;gap:var(--space-4)}.library-heading img{max-height:120px}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-controls{width:100%;justify-content:space-between}}:root{--color-primary:#176c45;--color-primary-light:#36a86c;--color-primary-dark:#0e5034;--color-primary-50:#eaf6ee;--color-primary-100:#cbe9d5;--color-ink:#18372a;--color-muted:#63786b;--color-canvas:#f5f9f4;--color-border:#d8e8d9;--color-border-light:#edf3e9;--radius-md:12px;--radius-lg:17px;--radius-xl:24px;--shadow-card:0 12px 38px rgba(24,78,45,.075)}body{background:radial-gradient(ellipse 65% 45% at -12% -12%,rgba(153,215,166,.27),transparent 76%),radial-gradient(ellipse 43% 35% at 103% 4%,rgba(118,199,169,.17),transparent 74%),radial-gradient(ellipse 65% 60% at 90% 100%,rgba(212,237,199,.23),transparent 75%),#f7faf5;line-height:1.65}.page-title-row h1,.library-heading h1,.schedule-page-heading h1{font-size:clamp(28px,2.9vw,39px);letter-spacing:-.055em;line-height:1.21;color:#183e2e}.overline,.schedule-page-heading>span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#3d8860}.page-subtitle,.schedule-page-heading p{font-size:13px;line-height:1.7;color:#687f70}.surface-card,.table-card,.stat-card,.empty-panel,.calendar-board,.q-card,.paper,.exam-passage,.exercise-card,.studio-action{border:1px solid #dcebdd;border-radius:18px;background:#fffffff2;box-shadow:var(--shadow-card)}.surface-card{padding:clamp(20px,2.2vw,28px)}.primary-button,.auth-submit{min-height:44px;padding:0 19px;border-radius:11px;background:linear-gradient(120deg,#145a3c,#22844f 53%,#48aa69);box-shadow:0 7px 18px #176c4330;font-size:13px;transition:transform .2s,box-shadow .2s,filter .2s}.primary-button:hover,.auth-submit:hover{background:linear-gradient(120deg,#115135,#197748 53%,#369b5c);transform:translateY(-2px);box-shadow:0 12px 24px #176c4335}.secondary-button{min-height:42px;border-radius:10px;background:#fff;border:1px solid #d5e7d5;color:#255e42;font-size:13px;transition:background .2s,transform .2s,border-color .2s}.secondary-button:hover{background:#f0f8ee;border-color:#a9d1ac;transform:translateY(-1px)}.surface-card h2,.schedule-section-heading h2,.calendar-dialog h2{color:#234c34;letter-spacing:-.04em}.stack-form input,.stack-form textarea,.stack-form select,.schedule-create-form input,.calendar-dialog input,.calendar-dialog select{border:1px solid #d5e5d5;border-radius:10px;background:#fff;min-height:42px;padding:10px 12px;color:#254332}.stack-form :is(input,textarea,select):focus,.calendar-dialog :is(input,select):focus{outline:2px solid #77bc88;outline-offset:2px}.studio-hero{display:flex;min-height:300px;padding:clamp(26px,4vw,50px);border:1px solid #dcebd5;border-radius:24px;background:linear-gradient(110deg,#e9f4df,#e8f2df 53%,#d9ebd8);box-shadow:0 18px 45px #1e60381a;overflow:hidden;position:relative}.studio-hero:after{content:"";position:absolute;width:330px;height:330px;right:-60px;top:-110px;border-radius:50%;border:1px solid #ffffffb8;box-shadow:0 0 0 46px #ffffff15,0 0 0 100px #ffffff0e;pointer-events:none}.hero-copy{position:relative;z-index:1}.hero-copy h2{font-size:clamp(30px,3.2vw,46px);line-height:1.24;letter-spacing:-.055em;color:#204b34}.hero-copy p{color:#587760;max-width:420px;font-size:14px}.hero-illustration{position:relative;z-index:1;object-fit:contain;max-height:275px}.studio-actions{gap:18px}.studio-action{padding:24px;min-height:210px;transition:transform .22s,border-color .22s,box-shadow .22s}.studio-action:hover,.exercise-card:hover{transform:translateY(-4px);border-color:#a8d1a6;box-shadow:0 18px 34px #1c6b3c1c}.action-icon{width:51px;height:51px;border-radius:14px;background:#eaf4e5;color:#447c50}.library-heading{align-items:center;min-height:190px;margin-bottom:27px;padding:24px 30px;border:1px solid #dcebdd;border-radius:22px;background:linear-gradient(110deg,#eff8ec,#f9fcf6 68%);overflow:hidden}.library-heading img{max-height:165px;width:195px;object-fit:contain}.library-tools{grid-template-columns:minmax(260px,370px) 1fr;gap:14px;margin-bottom:17px;align-items:start}.library-search{min-height:46px;padding:0 14px;border:1px solid #d3e7d5;border-radius:12px;background:#fff;display:flex;align-items:center;gap:9px}.library-search input{border:0;outline:0;width:100%;min-width:0}.skill-row button{border-color:#d9e7d8;border-radius:999px;padding:9px 15px;font-size:12px}.skill-row button.skill-on{background:linear-gradient(120deg,#e3f3e6,#d5eddf);border-color:#a7d7b4;color:#176042}.exercise-progress-filter{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 22px;font-size:12px;color:#607a69}.exercise-progress-filter button{padding:8px 13px;border:1px solid #dce9dc;border-radius:999px;background:#fff;font-size:12px}.exercise-progress-filter button.active{background:#e9f5e8}.exercise-grid{gap:18px}.exercise-card{min-height:185px;padding:22px;overflow:hidden;transition:transform .22s,border-color .22s,box-shadow .22s}.exercise-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:13px}.exercise-card-top .exercise-symbol{margin:0}.exercise-arrow{color:#3c8a58;transition:transform .2s}.exercise-card:hover .exercise-arrow{transform:translate(3px,-3px)}.exercise-group{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-bottom:8px;padding:5px 9px;border:1px solid #cfe8d4;border-radius:999px;background:#f1f8ef;color:#337048;font-size:10px;font-weight:800;letter-spacing:.025em}.exercise-symbol{width:45px;height:45px;border-radius:13px}.exercise-card strong{line-height:1.5}.exercise-card small{font-size:11px;line-height:1.6}.exercise-save-note{border:1px solid #d2e8d4;border-radius:10px;background:#eff8ee;padding:10px 15px;font-size:12px;color:#476a51;margin-bottom:20px}.exam-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px}.exam-passage{top:94px;max-height:calc(100svh - 115px);line-height:1.85}.exam-sheet{padding-bottom:110px}.q-map{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:1px solid #d6e9d9;border-radius:14px;background:#f3f9f0}.q-map button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #c9dfcd;border-radius:9px;background:#fff;color:#25563a;font-size:12px;font-weight:800;cursor:pointer}.q-map button.filled{border-color:#84c89a;background:#e4f3e6}.q-map button.good{border-color:#58af75;background:#d9f1df;color:#166b3e}.q-map button.bad{border-color:#e5aaa3;background:#fff0ec;color:#a74236}.score-bar{bottom:14px;margin-top:14px;padding:12px 15px;border-color:#cae2cf;background:#fffffff2}.teacher-attempts .score-bar{position:static;flex-wrap:wrap;justify-content:flex-start;gap:9px;box-shadow:none}.paper-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:15px}.paper-top>strong{flex-shrink:0;padding:8px 12px;border-radius:10px;background:#e4f3e7;color:#145d39;font-size:19px}.teacher-attempts .library-tools{grid-template-columns:minmax(120px,180px) minmax(220px,1fr) auto;align-items:end}.teacher-attempts .library-tools label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#416750}.teacher-attempts .library-tools input,.teacher-attempts .library-tools textarea{min-height:42px;max-width:100%;border:1px solid #d2e4d5;border-radius:9px;padding:9px 11px;background:#fff}.q-card{padding:22px;scroll-margin-top:100px}.choice{border-radius:10px}.calendar-board{padding:25px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.calendar-range{display:grid;gap:4px}.calendar-range>span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#6a9870}.calendar-range strong{font-size:21px;letter-spacing:-.045em}.calendar-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.calendar-legend{display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding:2px 0 13px;margin:0;color:#728176}.calendar-legend>span{display:inline-flex;align-items:center;gap:7px}.legend-dot{margin-right:0}.calendar-view-toggle{display:flex;gap:3px;margin-left:8px;padding:3px;border:1px solid #dce8dd;border-radius:10px;background:#f6faf5}.calendar-view-toggle button{padding:7px 10px;border-radius:7px;font-size:11px;color:#5d7664}.calendar-view-toggle button[aria-pressed=true]{background:#fff;color:#176a43;box-shadow:0 2px 7px #16553618}.calendar-agenda{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:9px;margin:0 0 18px}.calendar-agenda.agenda-hidden{display:none}.agenda-item{display:grid;grid-template-columns:43px 55px 1fr;gap:9px;align-items:center;min-height:71px;padding:10px;border:1px solid #dcebdd;border-left:3px solid #58a773;border-radius:12px;background:#fafff9;text-align:left;font-size:11px;transition:transform .18s,border-color .18s}.agenda-item:hover:not(:disabled){transform:translateY(-2px);border-color:#a8d4ae}.agenda-date{display:grid;justify-items:center;color:#739079;text-transform:uppercase}.agenda-date b{font-size:21px;line-height:1.2;color:#1b5b3b}.agenda-time{color:#245b3b;font-weight:800}.agenda-time small,.agenda-title small{display:block;color:#829488;font-weight:500}.agenda-title{color:#254933;font-weight:700}.agenda-item.tone-booked{border-left-color:#d89362;background:#fffaf5}.agenda-item.tone-pending{border-left-color:#d4b15e;background:#fffdf5}.calendar-scroll{overflow-x:auto;border:1px solid #e2eee0;border-radius:13px}.calendar-grid{min-width:785px;border:0;border-radius:0;grid-template-columns:56px repeat(7,minmax(98px,1fr))}.calendar-head{background:#f5faf5;padding:9px 5px}.calendar-today{background:#e3f0e5}.calendar-today strong{width:28px;height:28px;display:grid;place-items:center;margin:0 auto;border-radius:50%;background:#298052;color:#fff}.calendar-hours>div{padding-top:4px;text-align:center;color:#93a098;font-size:10px;border-bottom:1px solid #eaf1e9}.calendar-day{cursor:default}.calendar-slot{display:block;width:100%;border-bottom:1px solid #eaf1e9;background:transparent;cursor:crosshair}.calendar-slot:hover:not(:disabled){background:#eaf6ebaa}.calendar-event{z-index:1;display:block;border-radius:8px;line-height:1.3;text-align:left;font-size:10px}.calendar-event.tone-booked{background:#fdf0e5;border-left-color:#d89060;color:#815236}.calendar-event.tone-pending{background:#fff6df;border-left-color:#d5af57;color:#836327}.calendar-event:disabled,.agenda-item:disabled{cursor:default;opacity:.85}.calendar-note{margin-top:15px}.calendar-dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:#0f3526a0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.calendar-dialog{width:min(100%,430px);padding:27px;border:1px solid #c9e6d0;border-radius:20px;background:#fff;box-shadow:0 30px 80px #07341f54}.calendar-dialog h2{font-size:23px}.calendar-dialog p{margin:9px 0 18px;color:#657969}.calendar-dialog label{display:grid;gap:8px;margin:14px 0;color:#42694e;font-size:12px;font-weight:700}.calendar-dialog select,.calendar-dialog input{width:100%}.calendar-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.schedule-section,.calendar-availability{margin-top:22px;border-radius:18px}.schedule-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid #edf2e9;padding:12px 0}.schedule-create-form{display:flex;flex-wrap:wrap;gap:13px;align-items:end}.schedule-create-form label{display:grid;gap:6px}.schedule-create-form input,.schedule-create-form select{min-width:190px}.invite-card{border-radius:19px;background:linear-gradient(120deg,#fff,#f3f9f2)}.invite-code-wrap{border-color:#bdd9bf;border-style:dashed;border-radius:12px}@media(max-width:1200px){.site-nav{display:none}.site-header .drawer-toggle{display:grid}.site-header-inner{max-width:100%}}@media(max-width:760px){body{background-attachment:scroll}.site-header,.site-header-inner{height:66px}.site-header-inner{padding:0 14px;gap:10px}.site-header .brand{font-size:16px}.site-header .brand-icon{width:34px;height:34px}.drawer-toggle{width:38px;height:38px}.drawer-scrim{inset:66px 0 0}.nav-drawer{top:66px}.site-tools{gap:3px}.site-logout{font-size:11px;padding:7px 5px}.site-header .language-switch{display:none}.page-content{padding:23px 16px 50px}.page-title-row{flex-wrap:wrap}.studio-hero{min-height:270px;padding:25px}.hero-copy h2{font-size:30px}.hero-illustration{position:absolute;right:-42px;bottom:-30px;width:220px;opacity:.28;pointer-events:none}.studio-actions{grid-template-columns:1fr}.studio-action{min-height:0}.library-heading{padding:21px;min-height:0}.library-heading img{max-height:100px;width:96px}.library-tools{grid-template-columns:1fr}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exercise-card{padding:15px;min-height:190px}.calendar-board{padding:15px}.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-agenda{grid-template-columns:1fr}.calendar-scroll.week-hidden-mobile{display:none}.calendar-controls{width:100%}.calendar-view-toggle{margin-left:auto}.exam-layout{grid-template-columns:1fr}.exam-passage{position:static;max-height:none}}@media(max-width:390px){.site-header .brand span:last-child{display:none}.exercise-grid{grid-template-columns:1fr}.calendar-controls{gap:4px}}@media(max-width:760px){.teacher-attempts .library-tools{grid-template-columns:1fr}}.study-collections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 26px}.study-collection{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:145px;padding:18px;border:1px solid #d4e6d5;border-radius:17px;background:#fff;box-shadow:0 7px 22px #164e2f0a;transition:transform .2s,border-color .2s,box-shadow .2s}.study-collection:hover,.study-collection.active{transform:translateY(-2px);border-color:#83bf94;box-shadow:0 13px 27px #1d674021}.study-collection.active{background:linear-gradient(145deg,#e7f5e9,#f7fbf4)}.study-collection svg{color:#228054;margin-bottom:12px}.study-collection strong{font-size:16px;color:#174c31}.study-collection span{margin-top:4px;font-size:11px;line-height:1.5;color:#637d6a}.collection-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin:0 0 15px}.collection-header h2{font-size:23px;letter-spacing:-.04em;color:#173f2a}.collection-header p{margin-top:4px;color:#6d806f;font-size:13px}.study-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px;border-bottom:1px solid #dceadd;padding-bottom:12px}.study-tabs button{padding:9px 15px;border-radius:10px;color:#55735b;font-size:12px;font-weight:750}.study-tabs button:hover,.study-tabs button.active{background:#e2f1e4;color:#17643e}.study-availability{display:flex;align-items:center;gap:9px;margin:0 0 20px;padding:12px 15px;border:1px solid #d6e9d7;border-radius:12px;background:#f0f8ef;color:#3b704c;font-size:12px}.exercise-import{margin:0 0 18px;border:1px dashed #a9d2b2;border-radius:13px;background:#f6fbf5;color:#245c3c;font-size:12px}.exercise-import summary{padding:12px 16px;cursor:pointer;font-weight:800}.exercise-import>div{display:grid;gap:12px;padding:0 16px 16px;line-height:1.6}.exercise-import input{width:100%;max-width:380px}.exercise-audio{display:flex;align-items:center;gap:16px;margin-bottom:20px}.exercise-audio>svg{flex-shrink:0;color:#248153}.exercise-audio>div{display:grid;gap:7px;flex:1}.exercise-audio audio{width:100%;max-width:620px}.materials-hero-icon{flex-shrink:0;color:#41935d;opacity:.76}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:15px;margin:20px 0 30px}.material-card{display:flex;flex-direction:column;align-items:flex-start;min-height:210px;padding:21px;text-align:left;border:1px solid #d2e5d5;border-radius:17px;background:#fff;box-shadow:0 8px 22px #174f310b;transition:transform .2s,border-color .2s,box-shadow .2s}.material-card:hover,.material-card.selected{transform:translateY(-3px);border-color:#8cc79d;box-shadow:0 16px 31px #1757351d}.material-card-icon{display:grid;place-items:center;width:39px;height:39px;margin-bottom:15px;border-radius:11px;background:#e5f3e7;color:#208053}.material-card-type{color:#428155;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.material-card strong{margin:6px 0;font-size:16px;line-height:1.4;color:#1b4832}.material-card small{color:#6d806f;font-size:11px;line-height:1.55}.material-card-action{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:15px;color:#1d794c;font-size:11px;font-weight:800}.material-article,.flashcard-study{padding:27px;border:1px solid #cee3d2;border-radius:18px;background:linear-gradient(140deg,#fff,#f9fcf8);box-shadow:0 12px 30px #174d2d12}.material-article h2,.flashcard-study h2{margin:8px 0;font-size:25px;color:#1b4832}.material-article>p{color:#65786b}.material-article ul{display:grid;gap:11px;margin:19px 0;padding-left:22px;line-height:1.7}.material-article li::marker{color:#2e9759}.material-example{padding:16px;border-left:4px solid #70bc81;border-radius:7px;background:#edf7ec}.material-example strong{color:#246942}.material-example p{margin-top:5px}.flashcard-study-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.flashcard-study-heading>span{color:#53805f;font-size:12px;font-weight:800}.flashcard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;width:100%;min-height:250px;padding:28px;border:1px solid #aad4b1;border-radius:18px;background:linear-gradient(135deg,#e8f6e9,#f9fcf5);text-align:center;color:#236544;box-shadow:inset 0 1px #fff,0 12px 26px #154a2d15;transition:transform .25s,background .25s}.flashcard:hover{transform:translateY(-2px)}.flashcard.flipped{background:linear-gradient(135deg,#dff2e4,#eaf8e6)}.flashcard>span{font-size:10px;letter-spacing:.15em;font-weight:850}.flashcard strong{max-width:680px;font-size:clamp(20px,2.4vw,30px);line-height:1.4;color:#17452f}.flashcard small{color:#64846c}.flashcard-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:18px}.flashcard-controls button{display:inline-flex;align-items:center;gap:6px}.flashcard-study>.exam-note{text-align:center;margin-top:15px}@media(max-width:900px){.study-collections{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.study-collections{gap:9px}.study-collection{min-height:132px;padding:14px}.collection-header{display:block}.material-article,.flashcard-study{padding:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--paper: #fffefc;--exam-ink: #1d3027;--exam-line: #d8e7dc;--exam-green: #176b45}.study-collection,.exercise-card,.material-card,.primary-button,.secondary-button{transition:background-color .18s ease-out,border-color .18s ease-out,color .18s ease-out,transform .2s ease-out,box-shadow .2s ease-out}.exercise-card:hover,.material-card:hover,.study-collection:hover{transform:translateY(-3px);border-color:#8ac89c;box-shadow:0 14px 34px #1441251f}.exercise-player{max-width:1600px;padding-top:18px}.exercise-player .back-link{font-size:12px;font-weight:700;color:#397656}.exam-toolbar{position:sticky;top:74px;z-index:16;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px;margin:0 0 16px;padding:12px 18px;border:1px solid var(--exam-line);border-radius:17px;background:#fffefcf5;box-shadow:0 8px 24px #16472a12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.exam-toolbar-title{min-width:0;display:grid;gap:3px}.exam-toolbar-title h1,.exam-toolbar h1{color:#173f2d;font-size:clamp(17px,1.6vw,23px);letter-spacing:-.04em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-toolbar .overline{font-size:9px}.exam-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0}.exam-count{color:#526e5c;font-size:12px;font-weight:750;white-space:nowrap}.save-status{display:inline-flex;align-items:center;gap:6px;color:#287248;font-size:12px;font-weight:750;white-space:nowrap}.save-status .exercise-spinner{width:13px;height:13px}.save-status button{color:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.save-failed{color:#ae4138}.save-saving{color:#9c5b12}.exam-font-tools{display:flex;gap:3px;padding:3px;border:1px solid #d8e7dc;border-radius:10px;background:#f6faf4}.exam-font-tools button{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;color:#286a48}.exam-font-tools button:hover{background:#e1f0e4}.exam-width-tool{display:flex;align-items:center;gap:5px;color:#387251}.exam-width-tool input{width:62px;accent-color:#176b45;cursor:pointer}.exam-toolbar .exam-timer{margin:0;border-radius:10px;font-size:17px;white-space:nowrap}.exam-toolbar .exam-timer.low{background:#fff0dc;color:#9c5b12}.exercise-player .exercise-save-note{margin-bottom:15px;padding:8px 14px;background:#f2f8f1;border-color:#dcebdd;font-size:11px}.exercise-inline-error{margin:0 0 14px;padding:12px 15px;border:1px solid #ebc5bd;border-radius:11px;background:#fff4f1;color:#9c302a;font-weight:700}.exercise-player .exam-layout{grid-template-columns:minmax(0,var(--passage-width,48%)) minmax(0,1fr);gap:14px;align-items:start}.exam-passage-wrap,.exam-sheet-wrap{min-width:0}.exercise-player .exam-passage{position:sticky;top:172px;max-height:calc(100svh - 188px);padding:clamp(22px,2.4vw,36px);border-color:var(--exam-line);border-radius:16px;background:var(--paper);box-shadow:0 4px 18px #1441250c;color:var(--exam-ink);font-size:calc(17px + var(--exam-font-adjust,0px));line-height:1.8;overscroll-behavior:contain}.exercise-player .exam-passage p{line-height:1.8}.exercise-player .exam-sheet{gap:12px;padding-bottom:16px}.exercise-player .q-map{position:sticky;top:172px;z-index:10;gap:6px;padding:11px;border-color:#d4e6d5;border-radius:13px;background:#f6faf3ee;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.exercise-player .q-map button{width:37px;height:37px;border-radius:9px;transition:background-color .15s,border-color .15s,transform .15s}.exercise-player .q-map button:hover{transform:translateY(-1px);background:#e1f0e5;border-color:#8ec8a2}.exercise-player .q-map button.flagged{border-color:#d8a45b;box-shadow:inset 0 0 0 1px #d8a45b}.exercise-player .q-card{padding:clamp(18px,2vw,27px);border-color:#e1eae0;border-radius:15px;background:var(--paper);box-shadow:0 4px 18px #1441250b;scroll-margin-top:244px}.exercise-player .q-prompt{flex:1;font-size:calc(16px + var(--exam-font-adjust,0px));line-height:1.65;color:var(--exam-ink)}.exercise-player .choice{min-height:45px;font-size:calc(14px + var(--exam-font-adjust,0px))}.exercise-player .choice:hover:not(:disabled){transform:translate(2px);background:#f1f8ee}.q-flag{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid #d8e7dc;border-radius:9px;color:#789080}.q-flag:hover,.q-flag.on{border-color:#d8a45b;background:#fff5e6;color:#a46b21}.exercise-player .score-bar{bottom:12px;margin-top:10px;padding:10px 14px;border-radius:12px}.teacher-preview-action{display:inline-flex;align-items:center;gap:7px;margin-top:13px}.teacher-preview .exam-toolbar{position:relative;top:auto}.teacher-preview .exam-toolbar-title{min-width:0}.exam-mobile-switch{display:none}@media(max-width:1100px){.exam-toolbar{top:74px}.exam-toolbar-title h1{max-width:340px}.exam-count,.exam-width-tool{display:none}}@media(max-width:900px){.exercise-player .exam-layout{display:block}.exam-mobile-switch{position:sticky;top:150px;z-index:15;display:flex;gap:4px;margin:0 0 10px;padding:4px;border:1px solid var(--exam-line);border-radius:11px;background:#f1f8ef}.exam-mobile-switch button{min-height:38px;flex:1;border-radius:8px;color:#537360;font-size:12px;font-weight:800}.exam-mobile-switch button[aria-pressed=true]{background:#fff;color:#176b45;box-shadow:0 2px 8px #16472a1e}.exam-pane-questions .exam-passage-wrap,.exam-pane-passage .exam-sheet-wrap{display:none}.exercise-player .exam-passage{position:static;max-height:none}.exercise-player .q-map{top:203px}}@media(max-width:760px){.exercise-player{padding:12px 14px 80px}.exam-toolbar{top:66px;min-height:66px;padding:9px 11px;gap:8px;border-radius:12px}.exam-toolbar-title h1{max-width:42vw;font-size:15px}.exam-toolbar-title .overline,.exam-toolbar-title .back-link{display:none}.exam-toolbar-actions{gap:6px}.exam-toolbar .exam-timer{padding:5px 7px;font-size:14px}.save-status{font-size:0;gap:0}.save-status button{max-width:60px;font-size:10px;line-height:1.1}.save-status svg{width:17px;height:17px}.exam-font-tools{display:none}.exam-mobile-switch{top:138px}.exercise-player .q-map{top:191px}.exercise-player .q-card{scroll-margin-top:238px}.exercise-player .exam-passage{padding:20px;font-size:calc(16px + var(--exam-font-adjust,0px))}.exercise-player .score-bar{position:sticky;bottom:env(safe-area-inset-bottom,0px)}.teacher-preview .exam-toolbar{flex-wrap:wrap;align-items:flex-start}.teacher-preview .exam-toolbar h1{max-width:100%;white-space:normal;overflow-wrap:anywhere}.teacher-preview .exam-toolbar>button{max-width:100%}.teacher-preview .exam-mobile-switch{top:66px}.teacher-preview .exam-sheet .q-map{top:120px}}@media(prefers-reduced-motion:reduce){.site-link,.drawer-link,.study-collection,.exercise-card,.material-card,.primary-button,.secondary-button,.exercise-player .q-map button,.exercise-player .choice{transition:none!important;transform:none!important}}.grading-page{max-width:1380px;padding-top:32px;color:#182820}.grading-heading,.grading-detail-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:26px;border-bottom:1px solid #d9dfd8}.grading-heading h1,.grading-detail-head h1{margin:3px 0 8px;font-size:clamp(28px,3vw,38px);line-height:1.16;letter-spacing:-.045em}.grading-heading .page-subtitle,.grading-detail-head p{max-width:680px;margin:0;color:#53645a;font-size:15px;line-height:1.5}.grading-total{display:flex;align-items:baseline;gap:9px;white-space:nowrap;color:#53645a}.grading-total strong{color:#165d3d;font-size:38px;line-height:1;font-variant-numeric:tabular-nums}.grading-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 18px}.grading-tabs{display:flex;align-items:center;gap:4px;border-bottom:1px solid #d9dfd8}.grading-tabs button{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;margin-bottom:-1px;color:#53645a;border-bottom:2px solid transparent;font-weight:700}.grading-tabs button:hover,.grading-tabs button.active{color:#165d3d}.grading-tabs button.active{border-color:#165d3d}.grading-tabs span{padding:2px 7px;border-radius:999px;background:#e8f2e9;color:#165d3d;font-size:12px}.grading-search{width:min(330px,100%);display:flex;align-items:center;gap:9px;height:44px;padding:0 13px;border:1px solid #d9dfd8;border-radius:10px;background:#fff;color:#53645a}.grading-search:focus-within{border-color:#165d3d;box-shadow:0 0 0 3px #165d3d1d}.grading-search input{width:100%;padding:0;border:0;outline:0;background:transparent;color:#182820;font-size:14px}.grading-list{overflow:hidden;border:1px solid #d9dfd8;border-radius:12px;background:#fff}.grading-row{display:grid;grid-template-columns:42px minmax(220px,1.4fr) minmax(170px,1fr) auto 18px;align-items:center;gap:16px;min-height:82px;padding:12px 22px;color:#182820;border-bottom:1px solid #e6eae4;transition:background-color .18s ease}.grading-row:last-child{border-bottom:0}.grading-row:hover,.grading-row:focus-visible{background:#f5f8f3}.grading-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#e8f2e9;color:#165d3d;font-weight:800}.grading-row-main{display:grid;gap:3px;min-width:0}.grading-row-main strong,.grading-row-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grading-row-main strong{font-size:15px}.grading-row-main span,.grading-row-meta{color:#53645a;font-size:13px}.grading-row-meta{display:grid;gap:3px;text-transform:capitalize}.grading-row-meta small{color:#697a70;font-size:12px;text-transform:none}.grading-badge{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border-radius:7px;background:#eef2ed;color:#53645a;font-size:12px;font-weight:800;white-space:nowrap}.grading-badge.submitted{background:#fff1db;color:#88551a}.grading-badge.graded{background:#e8f2e9;color:#165d3d}.grading-empty{display:grid;justify-items:start;gap:8px;padding:48px;border:1px solid #d9dfd8;border-radius:12px;background:#fff;color:#53645a}.grading-empty strong{font-size:18px;color:#182820}.grading-empty p{margin:0}.grading-limit{margin-top:12px;font-size:13px;color:#53645a}.grading-detail>.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:25px;font-size:14px}.grading-detail-head{align-items:center}.grading-detail-head .overline{color:#165d3d}.grading-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:24px;align-items:start;margin-top:24px}.grading-work,.grading-form-panel{min-width:0;padding:24px;border:1px solid #d9dfd8;border-radius:12px;background:#fff}.grading-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #e6eae4}.grading-section-title h2{margin:0;font-size:19px;letter-spacing:-.02em}.grading-section-title span{color:#697a70;font-size:12px}.grading-prompt{margin-bottom:18px;padding:15px;border:1px solid #d9dfd8;border-radius:9px;background:#f8f9f5}.grading-prompt summary{cursor:pointer;color:#165d3d;font-weight:700}.grading-prompt p{white-space:pre-wrap;line-height:1.65}.grading-essay{white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch;font-size:16px;line-height:1.8}.grading-answers{display:grid;gap:0}.grading-answers article{padding:18px 0;border-bottom:1px solid #e6eae4}.grading-answers article:last-child{border-bottom:0}.grading-answers article>span{color:#53645a;font-size:11px;font-weight:800;letter-spacing:.08em}.grading-answers h3{margin:7px 0 12px;font-size:15px;font-weight:650;line-height:1.5}.grading-answers p{margin:5px 0;line-height:1.5;overflow-wrap:anywhere}.grading-correct{color:#165d3d}.grading-form-panel{position:sticky;top:88px}.grading-form-panel>p{margin:0 0 18px;color:#53645a;font-size:14px;line-height:1.55}.grading-form-panel form{display:grid;gap:18px}.grading-form-panel label{display:grid;gap:8px;color:#182820;font-size:13px;font-weight:750}.grading-form-panel input,.grading-form-panel textarea{width:100%;padding:11px 12px;border:1px solid #b9c9bc;border-radius:8px;outline:0;color:#182820;background:#fff;font:inherit;font-weight:400}.grading-form-panel input:focus,.grading-form-panel textarea:focus{border-color:#165d3d;box-shadow:0 0 0 3px #165d3d1d}.grading-form-panel textarea{resize:vertical;line-height:1.6}.grading-form-panel .primary-button{display:inline-flex;justify-content:center;gap:8px;min-height:45px}.grading-message{margin-top:15px!important;color:#165d3d!important;font-weight:700}.grading-exercise-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;color:#165d3d;font-size:13px;font-weight:700}.results-page .grading-controls{justify-content:space-between}.result-score{display:flex;align-items:baseline;gap:10px;margin:4px 0 22px}.result-score strong{font-size:40px;line-height:1;color:#165d3d;font-variant-numeric:tabular-nums}.result-score span{color:#53645a;font-size:13px;font-weight:700}.result-feedback{white-space:pre-wrap;overflow-wrap:anywhere;color:#182820!important;font-size:15px!important;line-height:1.7!important}.grading-paragraph{margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid #e6eae4}.grading-paragraph p{margin:0 0 8px;white-space:pre-wrap}.paragraph-comment-button{color:#165d3d;font-size:12px;font-weight:700;min-height:32px}.paragraph-comment-button:hover{text-decoration:underline}.paragraph-comment-editor{display:grid;gap:12px;padding:15px;background:#f5f8f3;border:1px solid #d9dfd8;border-radius:9px;margin-bottom:18px}.paragraph-comment-editor h3{font-size:15px;margin:0}.paragraph-comment-editor select{padding:10px;border:1px solid #b9c9bc;border-radius:8px;background:#fff}.feedback-tools{padding:12px 0;margin-bottom:12px;border-top:1px solid #e6eae4;font-size:13px}.feedback-tools summary{cursor:pointer;color:#165d3d;font-weight:700}.feedback-tools>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.feedback-tools button{padding:7px 9px;border:1px solid #d9dfd8;border-radius:7px;background:#f5f8f3;color:#165d3d;font-size:12px}.feedback-tools small{display:block;margin-top:10px;color:#53645a;line-height:1.6}.feedback-tools .grading-revision{display:block;padding-bottom:12px;border-bottom:1px solid #e6eae4}.grading-revision p{white-space:pre-wrap;color:#53645a;font-size:13px}.next-submission{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:13px}@media(max-width:850px){.grading-columns{grid-template-columns:1fr}.grading-form-panel{position:static}}@media(max-width:650px){.grading-page{padding-top:20px}.grading-heading,.grading-detail-head{align-items:start}.grading-total{display:none}.grading-controls{display:grid}.grading-search{width:100%}.grading-row{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:14px}.grading-avatar{width:36px;height:36px}.grading-row-meta{grid-column:2}.grading-row>.grading-badge{grid-column:3;grid-row:1}.grading-row>svg{display:none}.grading-detail-head{flex-wrap:wrap}.grading-work,.grading-form-panel{padding:18px}}@media(prefers-reduced-motion:reduce){.grading-row{transition:none}}.exam-focus .site-header,.exam-focus .nav-drawer,.exam-focus .drawer-scrim{display:none}.exam-focus .main-area{min-height:100svh}.exam-focus .exercise-player{padding-top:0}.exam-focus .exercise-player .exam-toolbar{top:0;min-height:72px;border-radius:0;margin-bottom:10px}.exam-focus .exercise-player .exam-passage{top:88px;max-height:calc(100svh - 104px)}.exam-focus .exercise-player .q-card{scroll-margin-top:90px}.exam-focus .exam-toolbar-title h1{white-space:normal;font-size:18px;max-width:550px}.exercise-intro{max-width:1050px;padding-top:35px}.exercise-intro>.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:32px}.exercise-intro header h1{font-size:clamp(28px,4vw,42px);letter-spacing:-.045em;margin:6px 0 12px;line-height:1.15}.exercise-intro header>p:last-child{color:#53645a}.intro-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0}.intro-facts>div{display:grid;gap:12px;padding:22px;border:1px solid #d9dfd8;border-radius:12px;background:#fff}.intro-facts svg{color:#165d3d}.intro-facts span{font-size:14px;color:#53645a;line-height:1.6}.intro-ready{padding:28px;border:1px solid #d9dfd8;border-radius:12px;background:#fffdf9}.intro-ready h2{font-size:20px}.intro-ready ul{padding-left:22px;line-height:1.8;color:#53645a;margin:15px 0}.intro-ready>p{font-size:14px;color:#53645a;margin:18px 0}.intro-ready .primary-button{display:inline-flex;align-items:center;gap:10px}.exam-scratchpad{margin-bottom:16px;padding:16px;background:#fffdf1;border:1px solid #ddd6b9;border-radius:10px}.exam-scratchpad label{display:grid;gap:9px;font-size:14px;font-weight:700}.exam-scratchpad textarea{min-height:120px;padding:12px;border:1px solid #c8c7ad;border-radius:8px;font:inherit;font-weight:400;resize:vertical;background:#fffef8}.exam-scratchpad small{display:block;margin-top:8px;font-size:12px;color:#6b674f}.writing-editor textarea{min-height:440px;font-size:16px;line-height:1.8;padding:22px;background:#fffdf9}.exam-focus .exercise-player>.exam-stack:has(.writing-editor){display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start}.exam-focus .writing-editor{min-width:0}.exam-focus .exercise-player>.exam-stack:has(.writing-editor)>.surface-card{grid-column:1/-1}@media(max-width:1000px){.exam-focus .exercise-player>.exam-stack:has(.writing-editor){grid-template-columns:1fr}}@media(max-width:760px){.intro-facts{grid-template-columns:1fr;gap:10px}.intro-facts>div{padding:17px}.intro-ready{padding:20px}.exercise-intro{padding-top:22px}.exam-focus .exercise-player .exam-mobile-switch{top:72px}.exam-focus .exercise-player .exam-toolbar{flex-wrap:wrap}.exam-focus .exam-toolbar-title{width:100%}.exam-focus .exam-toolbar-title h1{max-width:none}.exam-focus .exam-toolbar-actions{width:100%;justify-content:space-between}.exam-focus .exercise-player .exam-mobile-switch{position:static}.exam-focus .exercise-player .q-card{scroll-margin-top:135px}.writing-editor textarea{min-height:360px;padding:16px}}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5b986e;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.library-group-select{display:flex;align-items:center;gap:12px;font-size:13px;color:#53645a}.library-group-select select{width:min(320px,100%);height:43px;border:1px solid #d9dfd8;border-radius:9px;background:#fff;padding:0 12px;color:#182820}.library-result-count{margin:12px 0;font-size:13px;color:#53645a}.exercise-player{--paper:#fffdf9;--exam-ink:#182820;--exam-line:#d9dfd8;--exam-green:#165d3d}.exercise-player .exam-toolbar{top:64px;min-height:64px;padding:9px 16px;border-color:#d9dfd8;border-radius:0 0 10px 10px;background:#fffdf9;box-shadow:0 4px 14px #1828200c;-webkit-backdrop-filter:none;backdrop-filter:none}.exercise-player .exam-toolbar .overline{font-size:11px;letter-spacing:.06em}.exercise-player .back-link{font-size:13px}.exercise-player .exercise-save-note{margin:0 0 14px;padding:8px 0;border:0;background:transparent;color:#53645a;font-size:13px}.exercise-player .exam-passage{top:146px;max-height:calc(100svh - 162px);border-color:#d9dfd8;border-radius:10px;box-shadow:none}.exercise-player .q-card{border-color:#d9dfd8;border-radius:10px;box-shadow:none;scroll-margin-top:155px}.exercise-player .q-card:hover{border-color:#b9c9bc}.exercise-player .choice{border-color:#d9dfd8;border-radius:8px}.exercise-player .choice:hover:not(:disabled){transform:none;background:#f7f9f5}.exercise-player .choice.on{border-color:#165d3d;background:#e8f2e9}.exercise-player .score-bar{bottom:0;border-radius:9px 9px 0 0;border-color:#d9dfd8;box-shadow:0 -4px 18px #1828200c;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.question-jump{margin:0;border:1px solid #d9dfd8;border-radius:9px;background:#fff}.question-jump summary{display:flex;justify-content:space-between;align-items:center;min-height:42px;padding:0 14px;cursor:pointer;color:#165d3d;font-size:13px;font-weight:750;list-style:none}.question-jump summary::-webkit-details-marker{display:none}.question-jump summary:before{content:"▦";margin-right:9px;font-size:17px;line-height:1}.question-jump summary span{margin-left:auto;color:#53645a;font-size:12px;font-weight:600}.exercise-player .question-jump .q-map{position:static;top:auto;margin:0;padding:12px;border:0;border-top:1px solid #d9dfd8;border-radius:0 0 9px 9px;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.exam-submit-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100svh - 32px);padding:0;border:1px solid #cbd5ca;border-radius:14px;box-shadow:0 24px 70px #10271a3d;color:#182820}.exam-submit-dialog::backdrop{background:#10271a78}.exam-submit-dialog>div{padding:26px}.exam-submit-dialog h2{margin:4px 0 14px;font-size:23px;letter-spacing:-.03em}.exam-submit-dialog p:not(.overline){color:#53645a;font-size:14px;line-height:1.55}.exam-submit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@media(max-width:900px){.exercise-player .exam-passage{position:static;max-height:none}.exercise-player .exam-mobile-switch{top:130px;border-color:#d9dfd8;background:#f5f6f2}}@media(max-width:760px){.exercise-player .exam-toolbar{top:64px;min-height:58px}.exercise-player .exam-mobile-switch{top:122px}.exercise-player .q-card{scroll-margin-top:180px}.exercise-player .score-bar{bottom:env(safe-area-inset-bottom,0px)}.exercise-player .save-status{font-size:12px;gap:4px}.exercise-player .exam-toolbar-title .back-link{display:inline;font-size:11px}.library-heading{text-align:left}}[hidden]{display:none!important}.rubric-editor,.annotation-editor,.speaking-recorder,.published-review{padding:18px 0;border-top:1px solid var(--line,#d9dfd8)}.rubric-editor fieldset{margin:16px 0;padding:14px;border:1px solid #d9dfd8;border-radius:10px}.rubric-editor legend{font-size:14px;font-weight:700;padding:0 6px}.rubric-editor label,.annotation-editor label{display:grid;gap:7px;margin-bottom:12px;font-size:14px}.rubric-editor textarea,.annotation-editor textarea,.rubric-editor input,.rubric-editor select,.annotation-editor select{width:100%;padding:10px;border:1px solid #b9c9bc;border-radius:8px;color:#182820;background:#fff}.annotation-note{margin:12px 0;padding:14px;background:#f5f6f2;border-left:3px solid #1c714a;border-radius:0 8px 8px 0}.annotation-note blockquote,.annotation-editor blockquote{margin:10px 0;padding-left:12px;border-left:2px solid #b9c9bc;white-space:pre-wrap;overflow-wrap:anywhere}.speaking-recorder audio{display:block;width:100%;margin:12px 0}.speaking-recorder button,.speaking-recorder a{margin:6px 8px 6px 0}.queue-pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:24px 0}.queue-pagination button{min-height:44px;padding:8px 16px;border:1px solid #b9c9bc;border-radius:8px;background:#fff}.learning-notifications{margin:20px 0;padding:20px;background:#e8f2e9;border-radius:12px}.learning-notifications a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #b9c9bc}.insight-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid #d9dfd8}.insight-row strong{min-width:140px;text-transform:capitalize}.reading-tools-bar{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0}.reading-tools-bar button{min-height:36px;padding:7px 10px;border:1px solid #b9c9bc;border-radius:8px;background:#fff;color:#165d3d}.reading-serif .exam-passage{font-family:Georgia,Times New Roman,serif}.reading-tools mark,.grading-essay mark{background:#f6e7a6;color:inherit;border-radius:2px}.exam-focus .reading-tools .exam-passage{position:static;max-height:none}@media(max-width:760px){.grading-controls{flex-wrap:wrap}.grading-search{width:100%}.learning-notifications a{flex-direction:column;gap:6px}}:root{--color-primary: #14765c;--color-primary-dark: #105844;--color-primary-50: #eaf7f2;--color-primary-100: #d0eee3;--color-ink: #1b2940;--color-muted: #647187;--color-canvas: #f5f7fb;--color-border: #dde4ec;--color-border-light: #edf1f5;--shadow-card: 0 12px 30px rgba(29,47,77,.055)}body{background:radial-gradient(720px 400px at 100% -8%,#dceee9 0,transparent 70%),radial-gradient(650px 400px at -12% 35%,#eef0fc 0,transparent 72%),#f5f7fb;line-height:1.55}h1,h2,h3,h4,.brand,.stat-value,.insight-stat>strong{letter-spacing:-.035em}p,.page-subtitle{line-height:1.65}:focus-visible{outline:3px solid #6270d8;outline-offset:3px}.page-title-row h1,.library-heading h1,.schedule-page-heading h1,.dashboard-welcome h1,.grading-heading h1{color:#1b2940;letter-spacing:-.045em}.overline,.schedule-page-heading>span{color:#287764}.page-subtitle,.schedule-page-heading p{color:#647187;font-size:14px}.surface-card,.table-card,.stat-card,.empty-panel,.calendar-board,.paper,.exercise-card,.studio-action{border-color:#dfe6ec;background:#fff;box-shadow:var(--shadow-card)}.surface-card h2,.schedule-section-heading h2,.calendar-dialog h2{color:#1b2940}.primary-button,.auth-submit{background:#14765c;box-shadow:0 6px 15px #14765c26;font-weight:700}.primary-button:hover,.auth-submit:hover{background:#0f614c;box-shadow:0 9px 20px #14765c2e}.secondary-button{border-color:#cfdce4;color:#25475b;background:#fff}.secondary-button:hover{background:#f4f8fa;border-color:#9ab6c6}.stack-form input,.stack-form textarea,.stack-form select,.schedule-create-form input,.calendar-dialog input,.calendar-dialog select{border-color:#d4dfe7;color:#243447}.auth-page{background:#f7f9fc}.auth-story{background:radial-gradient(circle at 90% 15%,#467f80 0,transparent 40%),linear-gradient(145deg,#17283d,#194f55 78%,#176c58)}.auth-story:after{border-color:#ffffff24;box-shadow:0 0 0 70px #ffffff0a,0 0 0 140px #ffffff08}.story-copy h1 em{color:#a9e6cc}.auth-form-card{max-width:440px;padding:30px;border:1px solid #e0e7ee;border-radius:22px;background:#fff;box-shadow:0 28px 65px #253e5d13}.form-heading h2{color:#1b2940}.form-icon{background:#e9f6f0}.auth-choices a{color:#245a63;background:#f2f6f8}.auth-choices a:hover{background:#e9f1f5}.dashboard-welcome{padding:29px 34px;border:1px solid #dde9e7;border-radius:20px;background:radial-gradient(circle at 86% 8%,#daeae9 0,transparent 36%),linear-gradient(112deg,#fff 20%,#f1f6f8);box-shadow:var(--shadow-card)}.dashboard-welcome h1{font-size:clamp(29px,3vw,42px);margin:7px 0}.greeting-dot{color:#e2a045}.studio-action{--tone:#14765c;--tone-light:#e9f6f0;position:relative;overflow:hidden;border-top:3px solid var(--tone)}.studio-action:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;top:-82px;right:-68px;background:var(--tone-light);opacity:.7;pointer-events:none}.tone-indigo{--tone:#5a64bf;--tone-light:#eceefe}.tone-teal{--tone:#168888;--tone-light:#e5f5f4}.tone-amber{--tone:#bf7c29;--tone-light:#fcf2e3}.tone-coral{--tone:#c86362;--tone-light:#fbeceb}.studio-action .action-icon,.insight-stat-icon{color:var(--tone);background:var(--tone-light)}.studio-action .action-link{color:var(--tone)}.studio-action h3{color:#213149;font-size:18px}.studio-action p{color:#68778a}.studio-action:hover{transform:translateY(-3px);border-color:var(--tone);box-shadow:0 17px 30px #243b5d17}.stat-card{border-top:3px solid #14765c}.stat-icon.lilac{background:#edecfd;color:#5a64bf}.stat-icon.mint{background:#e5f5f4;color:#168888}.stat-icon.peach{background:#fcf2e3;color:#bf7c29}.stat-value{color:#1b2940}.library-heading{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #dfe6ec}.study-collection{--tone:#14765c;--tone-light:#e9f6f0;border-color:#dfe6ec;border-top:3px solid var(--tone);background:#fff;box-shadow:var(--shadow-card)}.study-collection:nth-child(1){--tone:#14765c;--tone-light:#e9f6f0}.study-collection:nth-child(2){--tone:#c86362;--tone-light:#fbeceb}.study-collection:nth-child(3){--tone:#5a64bf;--tone-light:#eceefe}.study-collection:nth-child(4){--tone:#bf7c29;--tone-light:#fcf2e3}.study-collection svg{color:var(--tone)}.study-collection strong{color:#1e2c42}.study-collection span{color:#6a7788;font-size:12px}.study-collection.active{background:linear-gradient(150deg,#fff,var(--tone-light));border-color:var(--tone)}.study-collection:hover{border-color:var(--tone);box-shadow:0 12px 25px #243b5d14}.skill-row button,.exercise-progress-filter button{border-color:#dce4ec;color:#52637a}.skill-row button:hover,.exercise-progress-filter button:hover{border-color:#9cb2c6;color:#253e66}.skill-row button.skill-on,.exercise-progress-filter button.active{color:#3c4ba7;background:#eff0fc;border-color:#bfc5ec}.library-search,.library-group-select select{border-color:#d5dfe8}.library-tools{display:block;max-width:540px;margin:24px 0 13px}.library-search{min-height:48px;border-radius:12px;box-shadow:0 4px 14px #1c35590a}.exercise-progress-filter{align-items:center;margin-bottom:22px}.library-result-count{margin:0 0 15px;font-size:12px;font-weight:700;color:#69778b}.library-section{--category:#14765c;--category-light:#e6f4ee;--category-deep:#0e4f43;margin:0 0 35px;scroll-margin-top:86px}.library-section.category-grammar{--category:#6155b7;--category-light:#efedfb;--category-deep:#433b87}.library-section.category-vocabulary{--category:#bf7045;--category-light:#fcf0e6;--category-deep:#8e4d2e}.library-section.category-reading{--category:#168890;--category-light:#e4f5f5;--category-deep:#0e626e}.library-section.category-listening{--category:#4372bb;--category-light:#eaf0fb;--category-deep:#31558d}.library-section.category-writing{--category:#ba5f82;--category-light:#faeaf1;--category-deep:#893f64}.library-section.category-speaking{--category:#26916b;--category-light:#e6f5ed;--category-deep:#166949}.library-section-heading{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:145px;margin-bottom:21px;padding:26px 32px;overflow:hidden;border:1px solid var(--category);border-radius:20px;color:#fff;background:linear-gradient(112deg,var(--category-deep),var(--category));box-shadow:0 12px 28px color-mix(in srgb,var(--category) 19%,transparent)}.library-section-heading:after{content:"";position:absolute;width:245px;height:245px;border:1px solid #ffffff42;border-radius:50%;top:-118px;right:-44px;box-shadow:0 0 0 34px #ffffff12,0 0 0 76px #ffffff0b;pointer-events:none}.library-section-heading>div,.library-section-count{position:relative;z-index:1}.library-section-kicker{margin-bottom:4px;color:#ffffffc5;font-size:10px;font-weight:800;letter-spacing:.15em}.library-section-heading h2{color:#fff;font-size:clamp(27px,3vw,37px);line-height:1.18}.library-section-heading p:not(.library-section-kicker){max-width:640px;margin-top:5px;color:#ffffffdf;font-size:13px}.library-section-count{flex-shrink:0;padding:8px 12px;border:1px solid #ffffff52;border-radius:999px;background:#ffffff1c;color:#fff;font-size:12px;font-weight:750}.grammar-tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.library-track{margin:0;padding:15px;border:1px solid #e2e1ef;border-radius:16px;background:#f8f7fd}.library-track-heading{display:flex;align-items:baseline;gap:10px;margin:0 0 11px;padding:0 2px}.library-track-heading h3{color:#2c3651;font-size:17px}.library-track-heading span{color:#8792a3;font-size:11px;font-weight:700}.library-section .exercise-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.library-track .exercise-grid{grid-template-columns:1fr;gap:9px}.library-section .exercise-card{--tone:var(--category);--tone-light:var(--category-light);display:flex;flex-direction:column;min-height:148px;padding:17px;border:1px solid #e0e5ed;border-top:3px solid var(--category);border-radius:14px;background:linear-gradient(160deg,#fff 68%,var(--category-light));box-shadow:0 6px 17px #2538530b}.library-track .exercise-card{min-height:126px;padding:13px}.library-section .exercise-card:hover{border-color:var(--category);box-shadow:0 13px 25px #243b5d1b}.library-section .exercise-card-top{margin-bottom:8px}.library-section .exercise-symbol{width:35px;height:35px;border-radius:9px}.library-section .exercise-card strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#24314a;font-size:14px;line-height:1.35}.exercise-card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;margin-top:auto;padding-top:12px;color:#718096;font-size:11px}.exercise-card-footer b{color:var(--tone);font-size:11px}.library-show-more{display:flex;align-items:center;gap:8px;margin:16px auto 0;padding:9px 15px;border:1px solid var(--category);border-radius:10px;background:#fff;color:var(--category-deep);font-size:12px;font-weight:800}.library-show-more:hover{background:var(--category-light)}.exercise-card{--tone:#14765c;--tone-light:#e9f6f0;border-top:3px solid var(--tone)}.exercise-card.exercise-reading,.exercise-card.exercise-listening{--tone:#5a64bf;--tone-light:#eceefe}.exercise-card.exercise-writing,.exercise-card.exercise-sentences{--tone:#c86362;--tone-light:#fbeceb}.exercise-card.exercise-grammar{--tone:#bf7c29;--tone-light:#fcf2e3}.exercise-card.exercise-speaking{--tone:#168888;--tone-light:#e5f5f4}.library-section .exercise-card{--tone:var(--category);--tone-light:var(--category-light)}.exercise-in-progress{border-color:#aa88df!important}.library-teacher-action{display:flex;justify-content:flex-end;margin:-4px 0 20px}.student-assignments{margin:4px 0 26px;padding:19px 22px;border:1px solid #cfdcf1;border-radius:18px;background:linear-gradient(120deg,#f0f5ff,#fff 72%)}.student-assignments>header{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.student-assignments h2{margin:2px 0 0;color:#263a68;font-size:21px}.student-assignments>header>span{color:#566e9e;font-size:12px;font-weight:800}.student-assignment-list{display:grid;gap:8px}.student-assignment-row{display:flex;align-items:center;gap:13px;min-height:74px;padding:11px 14px;border:1px solid #dde5f1;border-radius:12px;background:#fff;color:#25344d;text-decoration:none}.student-assignment-row:hover{border-color:#7395d2;box-shadow:0 7px 16px #325b9c15}.student-assignment-row .assignment-icon{flex-shrink:0}.student-assignment-title{display:grid;gap:3px;min-width:0;flex:1}.student-assignment-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.student-assignment-title small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#708097;font-size:11px}.assignment-page .grading-heading{margin-bottom:21px}.assignment-layout{display:grid;grid-template-columns:minmax(290px,400px) minmax(0,1fr);gap:20px;align-items:start}.assignment-form{display:grid;gap:14px;padding:22px}.assignment-form-head{display:flex;align-items:center;gap:12px;margin-bottom:3px}.assignment-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;color:#476eb0;background:#eaf1fb}.assignment-form h2,.assignment-list-head h2{margin:2px 0 0;color:#223552;font-size:21px}.assignment-form label{display:grid;gap:5px;color:#435168;font-size:12px;font-weight:750}.assignment-form label small{display:inline;color:#8793a4;font-weight:500}.assignment-form input:not([type=checkbox]),.assignment-form select,.assignment-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid #ccd7e6;border-radius:9px;color:#25344b;background:#fff;font:inherit}.assignment-form textarea{resize:vertical}.assignment-student-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#435168;font-size:12px}.assignment-student-heading button{padding:4px 6px;color:#4e68a5;font-size:11px;font-weight:750}.assignment-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:210px;overflow:auto;padding:8px;border:1px solid #dce3ec;border-radius:10px;background:#fbfcfe}.assignment-students label{display:flex;align-items:center;gap:8px;min-height:34px;padding:6px 8px;border-radius:8px;background:#fff;font-size:12px}.assignment-students input{accent-color:#5077bc}.assignment-students p,.assignment-hint{margin:0;color:#768397;font-size:11px;line-height:1.5}.assignment-form .primary-button{justify-content:center}.assignment-success{padding:11px 14px;border:1px solid #b5dfc8;border-radius:9px;color:#1f714c;background:#edf9f1}.assignment-overview{min-width:0}.assignment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}.assignment-summary>div{display:grid;gap:4px;padding:16px;border:1px solid #dbe3ec;border-radius:13px;background:#fff}.assignment-summary strong{color:#263d68;font-size:26px;line-height:1}.assignment-summary span{color:#758196;font-size:11px;font-weight:700}.assignment-list-head{display:flex;justify-content:space-between;align-items:end;margin:0 0 11px}.assignment-list-head>span{color:#758196;font-size:12px}.assignment-list{display:grid;gap:9px}.assignment-row{display:flex;justify-content:space-between;gap:14px;padding:16px;border:1px solid #dfe6ee;border-radius:12px;background:#fff}.assignment-row-main{min-width:0}.assignment-row-main strong{display:block;margin:4px 0;color:#273952;font-size:14px}.assignment-row-main p{margin:0;color:#68798e;font-size:12px}.assignment-row-main small{display:block;margin-top:7px;color:#607089}.assignment-skill{color:#5276ae;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.assignment-row-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;flex-shrink:0}.assignment-row-actions a,.assignment-row-actions button{color:#4868a4;font-size:11px;font-weight:750}.assignment-state{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;color:#6a7590;background:#eef1f5;font-size:11px;font-weight:800;white-space:nowrap}.assignment-state.state-in_progress{color:#765098;background:#f4edfa}.assignment-state.state-submitted{color:#a36526;background:#fff2de}.assignment-state.state-graded{color:#207851;background:#e8f7ee}.assignment-state.state-overdue{color:#a43d48;background:#fff0f0}.assignment-empty{padding:28px;border:1px dashed #cad5e3;border-radius:12px;color:#748195;text-align:center}@media(max-width:950px){.assignment-layout{grid-template-columns:1fr}}@media(max-width:650px){.assignment-form{padding:17px}.assignment-students{grid-template-columns:1fr}.assignment-row{flex-direction:column}.assignment-row-actions{flex-direction:row;align-items:center;justify-content:space-between}.student-assignment-row{flex-wrap:wrap}.student-assignment-title{flex-basis:calc(100% - 70px)}.student-assignment-row>.assignment-state{margin-left:54px}}.continue-learning{margin:2px 0 28px;padding:20px;border:1px solid #d9d6ee;border-radius:18px;background:linear-gradient(125deg,#f5f3ff,#fff 70%)}.continue-learning-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}.continue-learning-head h2{margin:2px 0 0;color:#312b61;font-size:21px;letter-spacing:-.03em}.continue-learning-head>span{color:#6e6596;font-size:12px;font-weight:700}.continue-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.continue-learning .exercise-card{--tone:#6f58b7;--tone-light:#eeebfa;min-height:124px;padding:14px;border-top-color:#7863bc}.continue-learning .exercise-card strong{font-size:14px}.continue-learning .exercise-card-footer b{color:#5d4a9d}.exercise-card .exercise-symbol{color:var(--tone);background:var(--tone-light)}.exercise-card .exercise-arrow{color:var(--tone)}.exercise-card .exercise-group{color:var(--tone);background:var(--tone-light);border-color:transparent}.exercise-card strong{color:#203149}.exercise-card small{color:#68778b}.exercise-card i{background:var(--tone)}.exercise-card:hover{transform:translateY(-3px);border-color:var(--tone);box-shadow:0 15px 28px #243b5d15}.result-review-summary{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding:14px;border:1px solid #dfe5ed;border-radius:16px;background:#fff}.result-review-summary>div{display:flex;flex-direction:column;min-width:95px;padding:3px 14px;border-right:1px solid #e7eaf0}.result-review-summary strong{color:#203149;font-size:23px;line-height:1}.result-review-summary span{margin-top:5px;color:#68778b;font-size:11px;font-weight:700}.result-review-summary>a{display:inline-flex;align-items:center;gap:7px;margin-left:auto;color:#4f519d;font-size:13px;font-weight:800}.grading-answers article.answer-correct{border-left:3px solid #42a27a;padding-left:14px}.grading-answers article.answer-review{border-left:3px solid #d79256;padding-left:14px;background:#fffaf4}.grading-answers article.answer-blank{border-left:3px solid #a5adbd;padding-left:14px}.grading-answers article>span b{color:#566178;letter-spacing:0}.insight-next-step{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:20px 24px;border:1px solid #dcd9ed;border-radius:17px;background:linear-gradient(110deg,#f1effb,#fff)}.insight-next-step h2{margin:4px 0;color:#292651;font-size:20px}.insight-next-step p:not(.overline){margin:0;color:#667185;font-size:13px}.insight-next-step .primary-button{flex-shrink:0}.question-map-legend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:5px 0 2px;color:#647287;font-size:11px}.question-map-legend span{display:inline-flex;align-items:center;gap:5px}.question-map-legend i{display:inline-block;width:10px;height:10px;border:1px solid #b5bfce;border-radius:3px;background:#fff}.question-map-legend .map-answered{border-color:#2c916e;background:#58b28e}.question-map-legend .map-flagged{border-color:#d18b43;background:#f3c68b}:where(.study-collection,.exercise-card,.library-show-more,.grading-row,.primary-button,.secondary-button,.q-map button,.choice,.grading-tabs button):focus-visible{outline:3px solid #4b68ca;outline-offset:3px}@media(max-width:850px){.continue-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.continue-learning-grid{grid-template-columns:1fr}.continue-learning{padding:15px}.result-review-summary{flex-wrap:wrap}.result-review-summary>div{flex:1;min-width:75px}.result-review-summary>a{width:100%;margin:5px 0 0}.insight-next-step{flex-direction:column;align-items:stretch}}.material-card{border-color:#dfe6ec;border-top:3px solid #168888;box-shadow:var(--shadow-card)}.material-card-icon{background:#e5f5f4;color:#168888}.material-card strong{color:#203149}.material-card-type,.material-card-action{color:#167c7b}.material-card:hover,.material-card.selected{border-color:#168888;box-shadow:0 14px 27px #243b5d15}.teacher-code{background:#eef7f3;color:#146850}.insights-page{max-width:1370px}.insight-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0 20px}.insight-stat{--tone:#14765c;--tone-light:#e9f6f0;display:flex;flex-direction:column;align-items:flex-start;min-height:165px;padding:21px 23px;border:1px solid #dfe6ec;border-top:3px solid var(--tone);border-radius:17px;background:#fff;box-shadow:var(--shadow-card)}.insight-stat-icon{display:grid;place-items:center;width:41px;height:41px;border-radius:11px;margin-bottom:12px}.insight-stat>span:nth-child(2){font-size:13px;color:#65748a}.insight-stat>strong{display:block;margin-top:3px;color:#1b2940;font-size:31px;line-height:1.2}.insight-stat>strong small{font-size:13px;font-weight:600;color:#65748a}.insights-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.85fr);gap:18px;align-items:start}.insight-panel{min-width:0;padding:26px;border:1px solid #dfe6ec;border-radius:18px;background:#fff;box-shadow:var(--shadow-card)}.insight-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.insight-panel-heading h2{margin:4px 0 0;font-size:20px;color:#1b2940}.insight-panel-caption{color:#7b8797;font-size:12px}.skill-chart,.feedback-chart{display:grid;gap:20px}.skill-chart-row{--tone:#14765c;display:grid;grid-template-columns:minmax(105px,155px) minmax(40px,1fr) 60px;align-items:center;gap:14px}.skill-chart-label strong{display:block;text-transform:capitalize;font-size:14px;color:#203149}.skill-chart-label span,.feedback-chart-row span{display:block;font-size:11px;color:#7b8797}.skill-chart-track,.feedback-chart-track{height:10px;border-radius:99px;background:#eef1f5;overflow:hidden}.skill-chart-track>span,.feedback-chart-track>span{display:block;height:100%;min-width:3px;border-radius:99px;background:var(--tone)}.skill-chart-score{text-align:right;font-size:13px;color:#203149;white-space:nowrap}.feedback-chart-row{--tone:#14765c;display:grid;gap:8px}.feedback-chart-row>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.feedback-chart-row strong{font-size:13px;color:#203149;text-transform:capitalize}.feedback-chart-track{height:8px}.insight-empty{padding:20px;border-radius:12px;background:#f5f7fb;color:#67768a;font-size:13px}.insight-panel-footnote,.insight-disclaimer{margin-top:20px;font-size:12px;color:#778398;line-height:1.6}@media(max-width:850px){.insights-grid{grid-template-columns:1fr}}@media(max-width:650px){.insight-stats{grid-template-columns:1fr;gap:10px}.insight-stat{min-height:110px;display:grid;grid-template-columns:42px 1fr;column-gap:13px;align-items:center;padding:14px}.insight-stat-icon{grid-row:span 2;margin:0}.insight-stat>strong{font-size:24px;margin:0}.insight-panel{padding:19px}.skill-chart-row{grid-template-columns:1fr auto;gap:7px 10px}.skill-chart-track{grid-column:1/-1;grid-row:2}.skill-chart-score{grid-column:2;grid-row:1}.dashboard-welcome{padding:24px}.auth-form-card{border:0;box-shadow:none;padding:0}}@media(prefers-reduced-motion:reduce){.studio-action,.study-collection,.exercise-card,.material-card,.primary-button,.secondary-button{transition:none!important}.studio-action:hover,.study-collection:hover,.exercise-card:hover,.material-card:hover{transform:none}}.exercise-player{--paper:#fff;--exam-ink:#243247;--exam-line:#dce4ec;--exam-green:#14765c}.exercise-player .exam-toolbar{border-color:#dce4ec;background:#fff;box-shadow:0 4px 14px #2339540d}.exercise-player .exam-toolbar h1,.exercise-player .exam-toolbar-title h1{color:#1b2940}.exercise-player .exam-toolbar .overline{color:#ad6a1c}.exercise-player .exam-note{color:#69778b;font-size:12px}.exercise-player .exam-sheet{gap:8px}.exercise-player .exam-stack{width:min(100%,900px);margin-inline:auto}.exercise-player .exam-stack .exam-sheet-wrap{width:100%}.exercise-player .exam-task-brief{padding:12px 16px;border:1px solid #e4eaf0;border-left:3px solid #dca15b;border-radius:9px;background:#fff;color:#5c697c;font-size:13px}.exercise-player:has(.exam-stack) .exercise-audio{width:min(100%,900px);margin-inline:auto}.exercise-player .question-jump{border-color:#dce4ec;background:#fff}.exercise-player .question-jump summary{color:#334663}.exercise-player .question-jump .q-map{border-color:#e2e8ee}.exercise-player .q-card{padding:13px 18px;border:1px solid #dce4ec;border-left:3px solid #dca15b;border-radius:12px;background:#fff;box-shadow:0 4px 13px #253b5910}.exercise-player .q-card:hover{border-color:#bfcfdf;border-left-color:#c17b2f}.exercise-player .q-card.q-right{border-left-color:#168566}.exercise-player .q-card.q-wrong{border-left-color:#c96363}.exercise-player .q-head{align-items:center;gap:11px}.exercise-player .q-num{width:25px;height:25px;border-radius:7px;background:#f9ead5;color:#945915;font-size:12px}.exercise-player .q-prompt{font-size:14px;line-height:1.5;color:#25334a;font-weight:650}.exercise-player .q-instruction{padding:6px 9px;margin-bottom:10px;border-radius:7px;background:#fff5e8;color:#935f24;font-size:11px;font-weight:750}.exercise-player .choice-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}.exercise-player .choice{min-height:34px;padding:6px 9px;gap:8px;border-color:#dce4ec;border-radius:8px;background:#fbfcfd;color:#334157;font-size:12px;line-height:1.35}.exercise-player .choice span{width:22px;height:22px;background:#edf1f6;font-size:11px}.exercise-player .choice:hover:not(:disabled){background:#f2f6fa;border-color:#abbccc}.exercise-player .choice.on{border-color:#75b7a0;background:#eaf7f2;color:#165f4c}.exercise-player .blank,.exercise-player .answer-line{min-height:34px;border:1px solid #cbd8e2;border-radius:7px;background:#fbfcfd;color:#1d324b;font-size:13px}.exercise-player .blank{width:min(190px,42vw);padding:5px 8px;text-align:left}.exercise-player .answer-line{width:100%;margin-top:10px;padding:7px 10px}.exercise-player .blank:focus,.exercise-player .answer-line:focus{outline:2px solid #65a891;outline-offset:1px}.exercise-player .exam-passage{border-color:#dce4ec;background:#fff}.exercise-player .score-bar{border-color:#dce4ec}.teacher-preview .exam-toolbar{background:#fff}@media(max-width:760px){.exercise-player .q-card{padding:12px}.exercise-player .choice-list{grid-template-columns:1fr}.exercise-player .choice{min-height:39px}}@media(max-width:900px){.grammar-tracks{grid-template-columns:1fr 1fr}}@media(max-width:650px){.library-section-heading{min-height:0;padding:21px;align-items:flex-start}.library-section-count{font-size:10px;padding:6px 9px}.library-section-heading p:not(.library-section-kicker){font-size:12px}.library-section .exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.library-section .exercise-card{min-height:140px;padding:12px}.library-section .exercise-card strong{font-size:12px}.exercise-card-footer{font-size:10px}}.library-heading{margin-bottom:15px;padding-bottom:13px}.library-heading h1{font-size:clamp(28px,2.5vw,35px)}.library-heading .page-subtitle{margin-top:5px}.student-assignments{margin:0 0 18px;padding:15px 17px 17px;border-color:#d9ddef;background:linear-gradient(115deg,#f5f4ff,#f7fafc 52%,#fff)}.student-assignments>header{align-items:center;margin-bottom:10px}.student-assignments h2{font-size:18px;letter-spacing:-.035em}.student-assignments .overline{color:#6558a2;font-size:10px}.student-assignment-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-assignment-list.focus-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.student-assignment-list.focus-count-1{grid-template-columns:minmax(0,420px)}.student-assignment-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:105px;padding:12px 14px;border-color:#dedfed;border-top:2px solid #7669bd;transition:transform .18s,border-color .18s,box-shadow .18s}.student-assignment-row:hover{transform:translateY(-2px);border-color:#8b7bd1;box-shadow:0 9px 18px #39335b18}.student-assignment-row:focus-visible,.focus-show-all:focus-visible{outline:3px solid #7768c7;outline-offset:2px}.student-assignment-row.focus-overdue{border-top-color:#d56b71}.student-assignment-row.focus-graded{border-top-color:#3c9b77}.student-assignment-row.focus-submitted{border-top-color:#d59b56}.focus-card-top,.focus-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}.focus-card-top{color:#7669bd}.focus-eyebrow{display:flex;align-items:center;gap:5px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.focus-card-title{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#25344d;font-size:14px;line-height:1.35}.focus-card-bottom{margin-top:auto}.focus-card-bottom small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#6d788e;font-size:11px}.focus-card-bottom .assignment-state{flex-shrink:0;padding:4px 7px;font-size:10px}.focus-show-all{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#5b50a4;font-size:12px;font-weight:800;cursor:pointer}.focus-message{margin:0 0 9px;color:#726683;font-size:12px}.study-collections{margin-bottom:14px}.study-collection{min-height:78px;padding:12px 15px}.study-collection svg{width:18px;height:18px;margin-bottom:6px}.study-collection strong{font-size:14px}.study-collection span{margin-top:2px;font-size:11px;line-height:1.35}.collection-header{margin-bottom:11px}.collection-header h2{font-size:21px}.library-tools{margin:14px 0 9px}.exercise-progress-filter{margin-bottom:14px}.library-section-heading{min-height:105px;margin-bottom:14px;padding:17px 24px}.library-section-heading h2{font-size:clamp(25px,2.5vw,30px)}.library-section-heading p:not(.library-section-kicker){margin-top:3px}@media(max-width:850px){.student-assignment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.student-assignments{padding:13px}.student-assignment-list,.student-assignment-list.focus-count-2,.student-assignment-list.focus-count-1{grid-template-columns:1fr}.student-assignment-row{min-height:88px;padding:10px 12px}.library-heading{margin-bottom:12px}.library-heading .page-subtitle{font-size:12px}.study-collection{min-height:100px}.library-section-heading{min-height:0;padding:16px}}@media(prefers-reduced-motion:reduce){.student-assignment-row{transition:none}.student-assignment-row:hover{transform:none}}.exercise-status{align-self:flex-start;width:fit-content;padding:3px 7px;border-radius:6px;color:#65748b;background:#f0f3f7;font-size:9px;font-weight:800;letter-spacing:.035em}.exercise-status.status-working{color:#69509e;background:#f0ebfa}.exercise-status.status-completed{color:#277a60;background:#eaf6ef}.exam-progress-track{height:4px;margin:0 0 10px;overflow:hidden;border-radius:8px;background:#e3e8ef}.exam-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--exam-green,#14765c);transition:width .2s}.exam-quick-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:10px;padding:8px 11px;border:1px solid #dce3eb;border-radius:10px;background:#fff}.exam-quick-nav>span{font-size:12px;font-weight:800;color:#35465c}.exam-quick-nav>div{display:flex;gap:5px;margin-left:auto}.exam-quick-nav button{border:1px solid #dce3eb;border-radius:6px;padding:5px 8px;background:#f8fafc;color:#344c69;font-size:11px;font-weight:700;cursor:pointer}.exam-quick-nav button:hover:not(:disabled){border-color:#9db4ce;background:#eef4fa}.exam-quick-nav button:disabled{opacity:.4;cursor:default}.exam-quick-nav small{color:#8691a1;font-size:10px}.q-card:focus{outline:2px solid #9ab4c7;outline-offset:3px}.review-filter-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 16px}.review-filter-bar>span{color:#768399;font-size:12px}.review-empty{padding:20px;border:1px dashed #d7deea;border-radius:10px;color:#697b92}.grading-answers article{border-radius:10px;padding:14px;margin-bottom:9px;background:#f8fafc}.grading-answers article.answer-correct{background:#f4faf7}.grading-answers article.answer-blank{background:#f5f6f8}@media(max-width:600px){.exam-quick-nav>div{width:100%;margin:0}.exam-quick-nav>div button{flex:1}.exam-quick-nav small{display:none}.review-filter-bar .grading-tabs{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.exam-progress-track>span{transition:none}}:where(.exercise-player,.results-page.grading-detail){--skill:#4372bb;--skill-light:#eaf0fb;--skill-deep:#31558d}.category-grammar,.category-sentences{--skill:#6155b7;--skill-light:#efedfb;--skill-deep:#433b87}.category-vocabulary{--skill:#bf7045;--skill-light:#fcf0e6;--skill-deep:#8e4d2e}.category-reading{--skill:#4372bb;--skill-light:#eaf0fb;--skill-deep:#31558d}.category-listening{--skill:#168890;--skill-light:#e4f5f5;--skill-deep:#0e626e}.category-writing{--skill:#ba5f82;--skill-light:#faeaf1;--skill-deep:#893f64}.category-speaking{--skill:#26916b;--skill-light:#e6f5ed;--skill-deep:#166949}.library-section.category-reading{--category:#4372bb;--category-light:#eaf0fb;--category-deep:#31558d}.library-section.category-listening{--category:#168890;--category-light:#e4f5f5;--category-deep:#0e626e}.exercise-player[class*=category-]{--exam-green:var(--skill)}.exercise-player .exam-toolbar{border-top:3px solid var(--skill)}.exercise-player .exam-toolbar .overline{color:var(--skill-deep)}.exercise-player .q-card{border-left-color:var(--skill)}.exercise-player .q-card:hover{border-left-color:var(--skill-deep)}.exercise-player .q-num,.exercise-player .q-instruction{background:var(--skill-light);color:var(--skill-deep)}.exercise-player .choice.on{border-color:var(--skill);background:var(--skill-light);color:var(--skill-deep)}.exercise-player .blank:focus,.exercise-player .answer-line:focus{outline-color:var(--skill)}.exercise-player .exam-task-brief{border-left-color:var(--skill)}.exercise-player .primary-button{background:var(--skill-deep);border-color:var(--skill-deep)}.exercise-player .q-map .filled{background:var(--skill-light);color:var(--skill-deep);border-color:var(--skill)}.exercise-player .focus-toggle[aria-pressed=true]{background:var(--skill-light);border-color:var(--skill);color:var(--skill-deep)}.exercise-player.exam-focus{max-width:1600px;padding-top:12px}.exam-focus .exercise-save-note,.exam-focus .exam-toolbar .overline,.exam-focus .exam-font-tools,.exam-focus .exam-width-tool{display:none}.exam-focus .exam-toolbar{min-height:60px}.exam-focus .exam-stack{width:min(100%,1000px)}.exam-focus .exam-toolbar-title h1{font-size:17px}.exam-focus .exam-toolbar-title .back-link{font-size:11px}.results-page.grading-detail .grading-detail-head{border-top:3px solid var(--skill);padding-top:17px}.results-page.grading-detail .grading-detail-head .overline,.results-page.grading-detail .result-review-summary>a{color:var(--skill-deep)}.results-page.grading-detail .review-filter-bar .grading-tabs button.active{color:var(--skill-deep);border-color:var(--skill);background:var(--skill-light)}@media(max-width:600px){.exam-focus .exam-toolbar-title h1{font-size:14px}.exercise-player .focus-toggle{padding:7px 9px;font-size:11px}}.teacher-review-workspace{max-width:1600px}.teacher-review-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.teacher-review-layout .grading-columns{min-width:0;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:18px}.review-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;margin:0 0 16px;border:1px solid #dde4ef;border-radius:10px;background:#fff;color:#748196;font-size:12px}.review-navigation strong{color:#32435d}.review-navigation nav{display:flex;align-items:center;gap:13px}.review-navigation a{color:#5362a8;font-weight:800;white-space:nowrap}.review-queue-rail{position:sticky;top:85px;padding:13px;border:1px solid #dce3ee;border-radius:14px;background:#f9fbfe}.review-rail-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.review-rail-heading h2{font-size:16px;color:#293b56}.review-rail-heading>span{font-size:11px;color:#8b653b}.review-rail-search{display:flex;align-items:center;gap:6px;padding:7px 8px;border:1px solid #dce3ee;border-radius:8px;background:#fff;color:#74849a}.review-rail-search input{width:100%;min-width:0;border:0;padding:0;background:transparent;font-size:11px;outline-offset:3px}.review-rail-tabs{display:flex;gap:5px;margin:10px 0}.review-rail-tabs button{flex:1;padding:6px;border:1px solid #dee4ef;border-radius:7px;color:#69798d;background:#fff;font-size:11px;cursor:pointer}.review-rail-tabs button[aria-pressed=true]{border-color:#b9bde4;background:#eeeffb;color:#514e95;font-weight:800}.review-rail-list{display:grid;gap:8px;max-height:calc(100svh - 275px);overflow-y:auto}.review-rail-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:11px;border:1px solid #e0e6ef;border-radius:9px;background:#fff;text-decoration:none;transition:border-color .15s,background .15s}.review-rail-item strong{color:#283c59;font-size:12px}.review-rail-item>span{color:#63758d;font-size:11px;line-height:1.4}.review-rail-item small{color:#8190a3;font-size:10px}.review-rail-item .grading-badge{font-size:9px;padding:3px 6px}.review-rail-item.active{border-color:#8884c3;background:#f1f0fb;box-shadow:inset 3px 0 #7065b5}.review-rail-item:hover{border-color:#a4abc8;background:#f5f7fc}.review-rail-empty{padding:10px 0;font-size:12px;color:#78889e}@media(max-width:1150px){.teacher-review-layout{grid-template-columns:200px minmax(0,1fr)}.teacher-review-layout .grading-columns{grid-template-columns:1fr}}@media(max-width:760px){.teacher-review-layout{grid-template-columns:1fr}.review-queue-rail{position:static}.review-rail-list{display:flex;overflow-x:auto;max-height:180px}.review-rail-item{flex:0 0 190px}.review-navigation{flex-wrap:wrap}.review-navigation nav{width:100%;justify-content:space-between}}@media(prefers-reduced-motion:reduce){.review-rail-item{transition:none}}@media(min-width:901px){.exercise-player .exam-layout:has(.reading-divider){grid-template-columns:minmax(0,var(--passage-width,48%)) 12px minmax(0,1fr);gap:8px}.exercise-player .exam-layout .exam-passage-wrap,.exercise-player .exam-layout .exam-sheet-wrap{position:sticky;top:155px;max-height:calc(100svh - 170px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bac8d8 transparent;padding:3px 4px 10px}.exercise-player .exam-layout .exam-passage{position:static;max-height:none;overflow:visible}.reading-divider{position:sticky;top:155px;height:calc(100svh - 185px);display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none;border-radius:8px;background:#e6ebf2;color:#8092aa}.reading-divider:hover,.reading-divider:focus-visible{background:var(--skill-light);color:var(--skill-deep);outline:2px solid var(--skill);outline-offset:1px}.reading-divider span{padding:8px 0;font-size:23px}.exercise-player .exam-layout .score-bar{position:sticky;bottom:0;z-index:5;background:#fff;padding:10px;box-shadow:0 -5px 14px #26385110}}@media(max-width:900px){.reading-divider{display:none}.exercise-player .exam-mobile-switch{background:var(--skill-light);border-color:color-mix(in srgb,var(--skill) 30%,#fff)}.exercise-player .exam-mobile-switch button[aria-pressed=true]{color:var(--skill-deep);box-shadow:0 2px 7px #243b5d12}}.exercise-player .reading-tools-bar{padding:5px 0 7px;gap:5px}.exercise-player .reading-tools-bar button{min-height:30px;padding:5px 8px;font-size:11px;color:var(--skill-deep);border-color:color-mix(in srgb,var(--skill) 25%,#fff)}.exercise-player .reading-tools-bar button[aria-pressed=true]{background:var(--skill-light);border-color:var(--skill)}.reading-tools-hint{margin:0 0 8px;font-size:10px;color:#7c899b;line-height:1.4}.reading-tools>small{display:block;margin:0 0 8px;color:#5a6c85;font-size:11px}.exercise-intro header .overline,.exercise-intro .intro-facts svg{color:var(--skill-deep)}.exercise-intro .intro-facts>div{border-top:3px solid var(--skill);background:linear-gradient(145deg,#fff,var(--skill-light))}.exercise-intro .primary-button{background:var(--skill-deep);border-color:var(--skill-deep)}.student-today{margin:24px 0 28px}.today-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.today-heading h2{font-size:23px;color:#243650;letter-spacing:-.035em}.today-heading>a{display:flex;align-items:center;gap:6px;color:#65729b;font-size:12px;font-weight:750}.today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}.today-panel{--today:#4372bb;--today-light:#eaf0fb;display:flex;flex-direction:column;min-width:0;padding:17px;border:1px solid #dce3ed;border-top:3px solid var(--today);border-radius:14px;background:#fff;box-shadow:0 4px 14px #243b5d08}.today-amber{--today:#b87832;--today-light:#fcf1e4}.today-violet{--today:#6b5cb2;--today-light:#efedfb}.today-panel>header{display:flex;align-items:center;gap:9px;margin-bottom:12px}.today-panel h3{font-size:15px;color:#2c3c53}.today-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--today-light);color:var(--today)}.today-items{display:grid;gap:8px;margin-bottom:14px}.today-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:11px;border:1px solid #e3e8f0;border-radius:9px;color:#2c3e58;text-decoration:none;transition:background .15s,border-color .15s}.today-item:hover{background:var(--today-light);border-color:var(--today)}.today-item strong{font-size:13px;line-height:1.4}.today-item small{font-size:11px;color:#77869a;text-transform:none}.today-badge{display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:5px;color:var(--today);background:var(--today-light);font-size:10px;font-weight:800}.today-badge.overdue{color:#ac4455;background:#fff0f1}.today-empty{margin:0;padding:13px 0;min-height:85px;color:#7a879a;font-size:12px;line-height:1.65}.today-empty button{color:var(--today);text-decoration:underline;font-weight:700}.today-all{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;border-top:1px solid #e8ecf2;color:var(--today);font-size:12px;font-weight:800}.today-timezone{margin:9px 0 0;color:#8a94a3;font-size:10px}.today-item:focus-visible,.today-all:focus-visible{outline:3px solid var(--today);outline-offset:3px}@media(max-width:850px){.today-grid{grid-template-columns:1fr}.today-panel{padding:14px}.today-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.today-items{grid-template-columns:1fr}.today-heading h2{font-size:20px}}@media(prefers-reduced-motion:reduce){.today-item{transition:none}}@media(max-width:650px){.grammar-tracks{grid-template-columns:1fr}.library-track .exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.library-section .exercise-grid,.library-track .exercise-grid{grid-template-columns:1fr}.library-section-count{display:none}}:root{--color-primary:#16735c;--color-primary-dark:#105642;--color-primary-50:#edf8f3;--color-primary-100:#d6eee3;--color-ink:#203047;--color-muted:#65758a;--color-canvas:#f5f7fa;--color-border:#dce4eb;--color-border-light:#edf1f5;--shadow-card:0 3px 12px #20304706;--studio-emerald:#16735c;--studio-navy:#203047;--studio-violet:#6957ad;--studio-amber:#ad6b36;--studio-blue:#3e6eae;--studio-teal:#167f87;--studio-rose:#ad587b}body{background:radial-gradient(900px 450px at 100% 0,#e9f4ef 0,transparent 70%),#f5f7fa;color:var(--color-ink);font-size:14px}h1,h2,h3,h4{font-weight:750;letter-spacing:-.025em}.page-title-row h1,.library-heading h1,.schedule-page-heading h1,.dashboard-welcome h1,.grading-heading h1{font-size:clamp(27px,2.6vw,34px);letter-spacing:-.04em;line-height:1.25}.overline{font-size:10px;font-weight:800;letter-spacing:.12em}.page-subtitle{font-size:13px}.site-header{background:linear-gradient(105deg,#203047,#1b3b40);border-bottom:1px solid #ffffff16;box-shadow:0 3px 16px #20304716}.site-link{font-size:12px;font-weight:650;border-radius:9px;transition:background .18s,color .18s}.site-link.is-active{background:#def1e8;color:#154d3c;border-color:#def1e8}.site-header .brand-icon{background:linear-gradient(145deg,#e2f4ea,#a9dcca)}.primary-button,.auth-submit{border-radius:9px;background:linear-gradient(135deg,#1b8068,#12634e);box-shadow:0 3px 8px #16735c1c;font-size:12px;transition:background .18s,box-shadow .18s,transform .18s}.primary-button:hover,.auth-submit:hover{background:linear-gradient(135deg,#19735e,#0e533f);box-shadow:0 5px 12px #16735c24}.primary-button:active,.secondary-button:active{transform:translateY(1px)}.secondary-button{border-radius:9px;font-size:12px;box-shadow:none}.surface-card,.table-card,.stat-card,.empty-panel,.calendar-board,.paper,.studio-action,.today-panel,.grading-work,.grading-form-panel{border-radius:14px;border-color:var(--color-border);box-shadow:var(--shadow-card)}.surface-card,.paper{padding:22px}.surface-heading h2,.schedule-section-heading h2{font-size:19px;letter-spacing:-.025em}.dashboard-welcome{padding:23px 28px;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#dceee5,transparent 65%),linear-gradient(120deg,#fff,#f2f8f5);border-color:#dbe8e1}.dashboard-welcome h1{margin:6px 0}.greeting-dot{color:var(--studio-emerald)}.studio-action{padding:21px;border-radius:14px}.studio-action h3{font-size:16px}.studio-action p{font-size:12px;line-height:1.65}.studio-action .action-number{color:#9aa7b7;font-size:11px}.studio-action:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2030470d}.tone-indigo{--tone:var(--studio-violet);--tone-light:#f0edf8}.tone-teal{--tone:var(--studio-teal);--tone-light:#e9f4f4}.tone-amber{--tone:var(--studio-amber);--tone-light:#fbf0e6}.category-grammar,.category-sentences{--skill:var(--studio-violet);--skill-light:#f0edf8;--skill-deep:#4b3e81}.category-vocabulary{--skill:var(--studio-amber);--skill-light:#fbf0e6;--skill-deep:#7b4b29}.category-reading{--skill:var(--studio-blue);--skill-light:#edf2f9;--skill-deep:#2d5080}.category-listening{--skill:var(--studio-teal);--skill-light:#e9f4f4;--skill-deep:#105f67}.category-writing{--skill:var(--studio-rose);--skill-light:#f8ecf1;--skill-deep:#7e3f59}.category-speaking{--skill:var(--studio-emerald);--skill-light:#edf8f3;--skill-deep:#105642}.library-section.category-grammar{--category:var(--studio-violet);--category-light:#f0edf8;--category-deep:#4b3e81}.library-section.category-vocabulary{--category:var(--studio-amber);--category-light:#fbf0e6;--category-deep:#7b4b29}.library-section.category-reading{--category:var(--studio-blue);--category-light:#edf2f9;--category-deep:#2d5080}.library-section.category-listening{--category:var(--studio-teal);--category-light:#e9f4f4;--category-deep:#105f67}.library-section.category-writing{--category:var(--studio-rose);--category-light:#f8ecf1;--category-deep:#7e3f59}.library-section.category-speaking{--category:var(--studio-emerald);--category-light:#edf8f3;--category-deep:#105642}.library-section-heading{border-radius:14px;box-shadow:0 5px 14px color-mix(in srgb,var(--category) 10%,transparent);background:linear-gradient(110deg,var(--category-deep),var(--category))}.library-section-heading:after{opacity:.45}.exercise-card{border-radius:12px;padding:16px;border-top-width:2px;background:linear-gradient(155deg,#fff 70%,var(--tone-light));box-shadow:0 2px 8px #20304705;transition:transform .18s,box-shadow .18s,border-color .18s}.exercise-card strong{font-size:14px;line-height:1.45;font-weight:700}.exercise-card .exercise-symbol{width:34px;height:34px;border-radius:9px}.exercise-card .exercise-symbol svg{width:17px;height:17px}.exercise-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2030470d}.exercise-card:hover .exercise-arrow{transform:translate(2px,-2px)}.exercise-arrow{transition:transform .18s}.exercise-card-footer{font-size:11px}.study-collection{border-radius:12px;border-top-width:2px;box-shadow:0 2px 8px #20304705}.today-panel,.review-queue-rail{background:linear-gradient(155deg,#fff,#fafbfd)}.grading-detail-head h1{font-size:clamp(24px,2.6vw,32px);line-height:1.35}.grading-section-title h2{font-size:18px}.grading-badge,.assignment-state{font-weight:700;border-radius:6px}.grading-row{border-radius:11px;transition:border-color .18s,background .18s}.grading-row:hover{background:#f6f9fc}input,select,textarea{accent-color:var(--studio-emerald)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #76b5a1;outline-offset:2px}.exercise-player .primary-button{background:var(--skill-deep)}.exercise-player .q-card{box-shadow:0 2px 8px #20304704}.exercise-player .choice:hover:not(:disabled){transform:none}.exercise-player .exam-toolbar{border-radius:0 0 10px 10px}@media(max-width:650px){.surface-card,.paper{padding:16px}.dashboard-welcome{padding:19px}.studio-action{padding:17px}.site-link{font-size:11px}}@media(prefers-reduced-motion:reduce){.exercise-arrow,.primary-button,.auth-submit,.site-link,.grading-row{transition:none!important}.exercise-card:hover .exercise-arrow,.primary-button:active,.secondary-button:active{transform:none}}.site-header{background:#fffffff5;border-bottom:1px solid #dfe7e4;box-shadow:0 2px 12px #20304708;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header .brand{color:#203047;font-size:18px;letter-spacing:-.045em}.site-header .brand-icon{width:32px;height:32px;border-radius:9px;color:#16735c;background:#e5f2eb;box-shadow:none}.site-link{position:relative;color:#647487;padding:9px 10px;gap:6px;font-size:11px;border:1px solid transparent}.site-link svg{color:#819194;flex-shrink:0}.site-link:hover{color:#204b3b;background:#f0f6f3}.site-link.is-active{background:#eaf5ee;color:#185d46;border-color:#d4e8dc}.site-link.is-active svg{color:#16735c}.site-user{color:#69788b}.site-logout{color:#526477;border:1px solid #dee6e9;background:#fff;border-radius:8px;padding:6px 9px}.site-logout:hover{background:#f4f7f6;color:#185d46}.site-header .drawer-toggle{color:#48635b;border-color:#dce6e0;background:#f4f8f5}.site-header .drawer-toggle:hover{background:#e9f2ec;transform:none}.drawer-link.is-active{background:#eaf5ee;color:#185d46;border-color:#d4e8dc}.drawer-link.is-active svg{color:#16735c}.dashboard-welcome{position:relative;overflow:hidden;padding-right:245px;min-height:160px}.dashboard-study-art{position:absolute;right:27px;top:50%;transform:translateY(-50%);width:190px;height:auto;opacity:.92;pointer-events:none}.library-heading{position:relative;align-items:center}.library-heading>div{max-width:calc(100% - 160px)}.library-heading img{display:block;width:145px;height:105px;object-fit:contain;opacity:.88}.action-icon svg,.exercise-symbol svg,.today-icon svg,.study-collection svg{stroke-width:1.6}.studio-action .action-icon{width:37px;height:37px;border-radius:10px}.action-icon svg{width:20px;height:20px}@media(max-width:650px){.dashboard-welcome{padding-right:105px;min-height:145px}.dashboard-study-art{width:95px;right:8px;opacity:.7}.library-heading{flex-direction:row;text-align:left}.library-heading>div{max-width:calc(100% - 75px)}.library-heading img{width:65px;height:70px;flex-shrink:0}.site-header .brand{font-size:16px}}.answer-explanation{margin-top:10px;padding:0;border:1px solid #d8e5df;border-radius:9px;background:#f4f9f6}.answer-explanation summary{padding:9px 12px;cursor:pointer;color:#28614c;font-size:12px;font-weight:750}.answer-explanation>div{padding:0 12px 10px}.answer-explanation p{margin:6px 0;color:#41546b;font-size:13px;line-height:1.75;white-space:pre-wrap}.answer-explanation summary:focus-visible{outline:2px solid #16735c;outline-offset:2px;border-radius:8px}.answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.answer-comparison>div{min-width:0;padding:12px 14px;border:1px solid #dbe4ee;border-radius:10px;background:#f5f8fc}.answer-comparison>div>span{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.07em;color:#5f7189}.answer-comparison p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.answer-difference{background:#ffe7dc;color:#8c351c;border-bottom:2px solid #d36d44;border-radius:3px;padding:0 2px}.answer-correction{background:#dff1e8;color:#155b40;border-bottom:2px solid #37946e;border-radius:3px;padding:0 2px}.answer-comparison.is-correct>div{background:#eff8f4;border-color:#c6e3d5}.distractor-reason{padding:10px 12px;background:#fff4e7;border-left:3px solid #d39a44;border-radius:5px}.reading-note-editor,.reading-notes{border:1px solid #d7deec;border-radius:10px;background:#fff;padding:12px;margin:10px 0}.reading-note-editor label{display:grid;gap:5px}.reading-note-editor textarea{width:100%;min-height:80px;border:1px solid #c9d5e5;border-radius:7px;padding:9px}.reading-note-editor blockquote,.reading-notes blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid #8c91d9;background:#f4f3ff;font-size:14px}.reading-notes article{border-top:1px solid #e2e8f0;padding:8px 0}.reading-notes p{white-space:pre-wrap;overflow-wrap:anywhere}.reading-notes button,.reading-note-editor button{padding:7px 10px;margin:5px;border:1px solid #d6dfeb;border-radius:7px}.evidence-hint{padding:9px;border-left:3px solid #d2a540;background:#fff8dd;font-size:12px}.evidence-hint span{display:block}.result-passage{border:1px solid #d9e2ee;background:#fff;border-radius:12px;padding:15px;margin:20px 0}.result-passage>summary{cursor:pointer;font-weight:700}.result-passage-prose{max-height:450px;overflow:auto;line-height:1.85;white-space:pre-wrap;max-width:85ch;margin:auto;padding:15px}.teacher-insights{margin:24px 0}.insight-filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.insight-filters label{display:grid;gap:5px;font-size:12px;color:#586b82}.insight-filters select{padding:9px 12px;min-width:170px;border:1px solid #d4dfeb;background:#fff;border-radius:8px;color:#1e3653}.teacher-insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:16px}.teacher-insight-card{border:1px solid #dbe3ee;border-top:3px solid var(--category-accent,#657baf);border-radius:14px;padding:20px;background:#fff;box-shadow:0 5px 20px #17365206}.teacher-insight-card h3{font-size:17px;margin:12px 0;line-height:1.45}.insight-student{display:flex;justify-content:space-between;gap:12px}.insight-student>span{font-size:11px;text-transform:uppercase;background:#f0f3f9;color:#526685;padding:4px 8px;border-radius:5px}.teacher-insight-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.teacher-insight-metrics strong{display:block;font-size:20px;color:#253e5b}.teacher-insight-metrics span,.teacher-insight-card small{font-size:11px;color:#66778c;line-height:1.5}.insight-error-track{height:6px;background:#f3ebe9;border-radius:4px;overflow:hidden;margin:14px 0 6px}.insight-error-track span{display:block;height:100%;background:#cc785a}.insight-recommendation{font-size:13px;line-height:1.6;color:#536783;background:#f5f8fc;border-radius:8px;padding:10px}.insight-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.insight-actions a{font-size:12px}.teacher-insights .insight-panel-heading p{font-size:13px;color:#66778c}@media(max-width:600px){.answer-comparison{grid-template-columns:1fr}.teacher-insight-metrics{gap:8px}.teacher-insight-card{padding:15px}}.exercise-player .choice.good,.exercise-player .choice.on.good{border:2px solid #258458;background:#eaf7ef;color:#175a38}.exercise-player .choice.bad,.exercise-player .choice.on.bad{border:2px solid #d34141;background:#fff0f0;color:#9a2424}.exercise-player .choice.bad>span{background:#fbd7d7;color:#a22727}.exercise-player .choice.good>span{background:#cdebd9;color:#165737}.exercise-player .q-card.q-wrong{border-color:#df9d9d;border-left-color:#d34141}.exercise-player .q-card.q-right{border-color:#91c5a4;border-left-color:#258458}.exercise-player .blank-wrap.bad .blank{border:2px solid #d34141;background:#fff0f0;color:#9a2424}.exercise-player .blank-wrap.good .blank{border:2px solid #258458;background:#eaf7ef;color:#175a38}:root{--studio-violet:#7650c6;--studio-amber:#b66a21;--studio-blue:#306fc6;--studio-teal:#137f91;--studio-rose:#b44d7a;--studio-emerald:#14785c}body{background:radial-gradient(ellipse at 0 0,#e8f6f0,transparent 42%),radial-gradient(ellipse at 100% 25%,#eef0ff,transparent 40%),#f7f8fc}.site-header{background:linear-gradient(115deg,#fff 45%,#eef8f4);border-bottom-color:#d3e8df}.site-header .brand-icon{background:linear-gradient(135deg,#c6f1dd,#e7e4ff);color:#155c46;border:1px solid #c4dfd3}.site-link.is-active{background:linear-gradient(135deg,#d8f3e6,#e7f2eb);border-color:#b8dec9;box-shadow:0 2px 8px #16735c0c}.library-section.category-grammar{--category:#7650c6;--category-light:#f0e9fc;--category-deep:#55378c}.library-section.category-vocabulary{--category:#b96b20;--category-light:#fff0db;--category-deep:#864915}.library-section.category-reading{--category:#306fc6;--category-light:#e4efff;--category-deep:#244d8a}.library-section.category-listening{--category:#147f91;--category-light:#dff5f6;--category-deep:#115965}.library-section.category-writing{--category:#b44d7a;--category-light:#fce4ef;--category-deep:#823357}.library-section.category-speaking{--category:#14785c;--category-light:#e0f5e9;--category-deep:#125b43}.library-section-heading{background:linear-gradient(115deg,color-mix(in srgb,var(--category-light) 88%,white),#fff 80%);border:1px solid color-mix(in srgb,var(--category) 26%,white);border-left:5px solid var(--category);padding:17px 20px}.library-section .exercise-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 18%,color-mix(in srgb,var(--category-light) 66%,white));border:1px solid color-mix(in srgb,var(--category) 28%,white);border-top:3px solid var(--category);box-shadow:0 4px 15px color-mix(in srgb,var(--category) 7%,transparent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.library-section .exercise-card:before{content:"";position:absolute;width:100px;height:100px;right:-45px;top:-45px;border-radius:50%;background:color-mix(in srgb,var(--category) 7%,transparent);pointer-events:none}.library-section .exercise-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px color-mix(in srgb,var(--category) 14%,transparent);border-color:var(--category)}.library-section .exercise-symbol{background:linear-gradient(140deg,var(--category-light),white);color:var(--category);border:1px solid color-mix(in srgb,var(--category) 18%,white)}.library-track-heading{border-bottom:1px solid color-mix(in srgb,var(--category) 20%,white);color:var(--category-deep)}.study-collection{background:linear-gradient(130deg,#fff 10%,var(--tone-light) 100%);border-color:color-mix(in srgb,var(--tone) 24%,white)}.study-collection.is-active{box-shadow:0 5px 16px color-mix(in srgb,var(--tone) 16%,transparent)}.dashboard-welcome{background:radial-gradient(ellipse at 90% 0,#dceee8,transparent 55%),linear-gradient(125deg,#fff,#eef9f4 60%,#f0edfb);border-color:#c8e3d5}.studio-action,.insight-stat{background:linear-gradient(140deg,white,var(--tone-light,#eef6f2));border-color:color-mix(in srgb,var(--tone,#14785c) 23%,white)}.insight-panel{background:linear-gradient(155deg,#fff 75%,#f0f4ff);border-color:#d5deef}.teacher-insight-card{border-top-color:var(--skill,#14785c);background:linear-gradient(145deg,white 50%,var(--skill-light,#edf8f3))}.material-card{background:linear-gradient(145deg,white 55%,var(--tone-light,#edf3ff))}@media(prefers-reduced-motion:reduce){.library-section .exercise-card{transition:none}.library-section .exercise-card:hover{transform:none}}.library-section-heading{color:#24344b;background:radial-gradient(ellipse at 95% 0,color-mix(in srgb,var(--category) 12%,transparent),transparent 55%),linear-gradient(115deg,var(--category-light),#fff 78%);box-shadow:inset 0 1px #fff,0 8px 24px color-mix(in srgb,var(--category) 9%,transparent)}.library-section-heading h2{color:var(--category-deep);letter-spacing:-.035em}.library-section-heading .library-section-kicker{color:var(--category-deep)}.library-section-heading p:not(.library-section-kicker){color:#45546b;line-height:1.65}.library-section-heading .library-section-count{color:var(--category-deep);background:#ffffffda;border-color:color-mix(in srgb,var(--category) 30%,white);box-shadow:0 2px 8px #20304706}.library-section-heading:after{border-color:color-mix(in srgb,var(--category) 15%,transparent);box-shadow:0 0 0 34px color-mix(in srgb,var(--category) 5%,transparent),0 0 0 76px color-mix(in srgb,var(--category) 3%,transparent)}.site-header{background:linear-gradient(110deg,#fff,#f1faf6 70%,#f0f3ff);border-bottom:1px solid #cbded8;box-shadow:inset 0 1px #fff,0 5px 22px #193c3510;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header .brand-icon{background:linear-gradient(140deg,#eefdf5,#a4ddc5);box-shadow:inset 0 1px #fff,0 3px 8px #175e4217}.site-link{color:#44576b;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.site-link svg{color:#5f7680}.site-link.is-active{color:#fff;background:linear-gradient(135deg,#218666,#135c49);border-color:#14654e;box-shadow:inset 0 1px #fff3,0 3px 10px #13604924}.site-link.is-active svg{color:#e5fff3}.site-link:focus-visible{outline:2px solid #14785c;outline-offset:3px}.library-section .exercise-card{box-shadow:inset 0 1px #fff,0 5px 18px #273e5910}.library-section .exercise-card:hover{box-shadow:inset 0 1px #fff,0 12px 26px color-mix(in srgb,var(--category) 16%,transparent)}.library-section .exercise-card:focus-visible{outline:2px solid var(--category);outline-offset:3px}@media(prefers-reduced-motion:reduce){.site-link{transition:none}}.study-collections{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px}.study-collection{height:112px;min-height:112px;padding:15px 18px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:30px 1fr;column-gap:10px;align-content:start;border-radius:14px;transition:transform .16s ease,border-color .16s ease}.study-collection svg{grid-column:1;grid-row:1;width:22px;height:22px;margin:2px 0 0}.study-collection strong{grid-column:2;grid-row:1;align-self:center;font-size:15px;line-height:1.3}.study-collection span{grid-column:2;grid-row:2;align-self:start;margin:4px 0 0;font-size:12px;line-height:1.5}.study-collection.active,.study-collection.is-active{transform:none;border-color:var(--tone);box-shadow:inset 0 0 0 1px var(--tone),0 3px 10px #20304708}.study-collection:hover{transform:translateY(-1px);box-shadow:0 3px 10px #20304708}.material-tone-0{--tone:#976023;--tone-light:#fff5e7}.material-tone-1{--tone:#6743a6;--tone-light:#f2ecfc}.material-tone-2{--tone:#256696;--tone-light:#ebf4fc}.material-tone-3{--tone:#187570;--tone-light:#e9f7f4}.material-tone-4{--tone:#a34468;--tone-light:#fceef3}.learning-materials .study-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.learning-materials .study-tabs button{min-height:64px;padding:12px;border:1px solid #d7e0e9;border-radius:12px;background:linear-gradient(145deg,#fff,var(--tone-light));color:#34445a;font-size:13px;line-height:1.4;box-shadow:0 2px 8px #20304705;transition:border-color .16s,color .16s}.learning-materials .study-tabs button.active{border-color:var(--tone);color:var(--tone);box-shadow:inset 0 0 0 1px var(--tone)}.learning-materials .study-tabs button span{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:6px;background:#fff;color:var(--tone);font-size:11px}.materials-count{font-size:12px;color:#526478;margin:18px 0 0}.learning-materials .materials-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));align-items:stretch;gap:14px}.learning-materials .material-card{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;padding:20px;border-top:3px solid var(--tone);border-radius:14px;box-shadow:0 3px 12px #20304708;transition:transform .16s,border-color .16s}.material-card small{line-height:1.6}.learning-materials .material-card-icon{color:var(--tone);background:var(--tone-light)}.learning-materials .material-card-type,.learning-materials .material-card-action{color:var(--tone)}.material-card-meta{display:block;font-size:11px;color:#526478;margin:10px 0}.learning-materials .material-card-action{margin-top:auto;padding-top:12px}.learning-materials .material-card:hover,.learning-materials .material-card.selected{border-color:var(--tone);box-shadow:0 5px 14px #2030470e;transform:translateY(-1px)}.material-article{scroll-margin-top:90px;background:#fff;border-color:#dbe2ec;margin:22px 0;max-width:1120px;margin-inline:auto}.topic-guide-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid #e2e7ee;padding-bottom:18px}.topic-guide-heading p{color:#526478;font-size:14px;line-height:1.6}.topic-guide-heading h2{color:var(--tone);margin:8px 0}.topic-guide-heading button{flex-shrink:0}.topic-guide-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.topic-guide-nav a{padding:7px 10px;border:1px solid #dce4ec;border-radius:7px;color:#34475f;font-size:12px;text-decoration:none;background:#f7f9fc}.topic-guide-nav a:hover{border-color:var(--tone);color:var(--tone)}.material-article section{margin-top:28px;scroll-margin-top:90px}.material-article h3{font-size:17px;color:#263a54;margin:0 0 8px;line-height:1.5}.guide-hint{font-size:13px;color:#53677d;line-height:1.7;margin:0 0 14px}.topic-word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.topic-word-grid>div{padding:12px 14px;background:linear-gradient(130deg,#fff,var(--tone-light));border:1px solid #e2e6ed;border-radius:9px}.topic-word-grid dt{font-size:14px;font-weight:700;color:#283b53;line-height:1.5}.topic-word-grid dd{margin:4px 0 0;font-size:13px;line-height:1.6;color:#526478}.material-article .topic-collocations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;gap:8px}.topic-collocations li{background:var(--tone-light);color:var(--tone);border-radius:8px;padding:10px 14px;font-size:14px;font-weight:600}.material-article ol{padding-left:25px;line-height:1.8;font-size:14px;color:#34475f}.material-article ol li{padding:6px 0 6px 6px}.material-article .material-example{border-left:3px solid var(--tone);background:var(--tone-light);font-size:14px;line-height:1.85}.material-article .material-example p{color:#34475f;margin:0}.material-card:focus-visible,.study-tabs button:focus-visible,.topic-guide-nav a:focus-visible{outline:2px solid var(--tone,#14785c);outline-offset:3px}.library-section .exercise-card{transition:transform .16s ease,border-color .16s ease}@media(max-width:900px){.study-collections,.topic-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-materials .study-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.study-collection{height:116px;min-height:116px;padding:13px;column-gap:6px}.study-collection span{font-size:11px}.learning-materials .study-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.learning-materials .materials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-materials .material-card{min-height:240px;padding:14px}.material-card-meta{line-height:1.5}.topic-word-grid,.material-article .topic-collocations{grid-template-columns:1fr}.topic-guide-heading{flex-direction:column}}@media(max-width:380px){.learning-materials .materials-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.study-collection,.learning-materials .material-card,.library-section .exercise-card{transition:none!important;transform:none!important}}:root{--v2-ink:#172438;--v2-copy:#34465e;--v2-muted:#65758a;--v2-line:#dce3e8;--v2-line-strong:#c7d1da;--v2-paper:#fffdf8;--v2-brand:#18745b;--v2-brand-dark:#145c49;--v2-brand-soft:#f0f8f4;--v2-indigo:#5a62b8;--v2-amber:#b76b25;--v2-rose:#b54f71;--v2-teal:#167b83}.app-shell{min-height:100vh}body{color:var(--v2-ink);background:radial-gradient(800px 390px at 0 0,#eaf5f0 0,transparent 65%),radial-gradient(680px 360px at 100% 10%,#eef0fb 0,transparent 62%),#f5f7fa}.site-header{position:sticky;top:0;z-index:40;height:68px;background:#fffffffa;border-bottom:1px solid #dbe4e6;box-shadow:0 4px 16px #19384b0a;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header-inner{height:68px;max-width:1440px;margin:0 auto;padding-inline:clamp(18px,3vw,42px);display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;text-decoration:none}.brand-icon{display:grid;place-items:center;flex-shrink:0}.site-header .brand{color:var(--v2-ink);font-size:18px;letter-spacing:-.045em}.site-header .brand-icon{width:36px;height:36px;border:1px solid #bbddce;border-radius:11px;background:#e3f3eb;color:var(--v2-brand-dark);box-shadow:inset 0 1px #fff}.site-header .drawer-toggle{display:none;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid var(--v2-line);border-radius:10px;background:#f7faf8;color:var(--v2-brand-dark)}.site-nav{display:flex;align-items:center;gap:3px;min-width:0}.site-link,.nav-menu>summary{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid transparent;border-radius:10px;color:#526378;font-size:12px;font-weight:650;white-space:nowrap;transition:background .12s ease,color .12s ease,border-color .12s ease}.site-link svg,.nav-menu>summary svg{color:#718195;flex-shrink:0}.site-link:hover,.nav-menu>summary:hover,.nav-menu[open]>summary{background:#f2f6f5;color:var(--v2-brand-dark)}.site-link.is-active,.nav-menu.has-active>summary{background:#e7f3ed;border-color:#c9e3d7;color:var(--v2-brand-dark)}.site-link.is-active svg,.nav-menu.has-active>summary svg{color:var(--v2-brand)}.nav-menu,.profile-menu{position:relative}.nav-menu>summary,.profile-menu>summary{list-style:none;cursor:pointer}.nav-menu>summary::-webkit-details-marker,.profile-menu>summary::-webkit-details-marker{display:none}.nav-menu[open]>summary svg:last-child,.profile-menu[open]>summary>svg{transform:rotate(180deg)}.nav-menu-popover,.profile-popover{position:absolute;top:calc(100% + 9px);z-index:60;min-width:210px;padding:7px;border:1px solid var(--v2-line);border-radius:13px;background:#fff;box-shadow:0 14px 40px #17243818}.nav-menu-popover{left:0}.nav-menu-popover a,.profile-popover a,.profile-popover button{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:0 11px;border-radius:8px;color:var(--v2-copy);font-size:12px;font-weight:600;text-align:left}.nav-menu-popover a:hover,.profile-popover a:hover,.profile-popover button:hover{background:var(--v2-brand-soft);color:var(--v2-brand-dark)}.nav-menu-popover a[aria-current=page]{background:#e7f3ed;color:var(--v2-brand-dark)}.site-tools{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}.profile-menu>summary{min-height:42px;display:flex;align-items:center;gap:8px;padding:3px 5px 3px 4px;border:1px solid var(--v2-line);border-radius:12px;background:#fff;color:var(--v2-copy)}.profile-avatar-small{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e5f3ec;color:var(--v2-brand-dark)}.site-user{max-width:118px;color:var(--v2-copy);font-size:12px}.profile-popover{right:0;min-width:230px}.profile-popover-head{display:grid;gap:2px;padding:10px 11px 12px;border-bottom:1px solid var(--v2-line);margin-bottom:5px}.profile-popover-head strong{font-size:13px;color:var(--v2-ink)}.profile-popover-head small{font-size:10px;color:var(--v2-muted);overflow:hidden;text-overflow:ellipsis}.profile-popover button{border-top:1px solid var(--v2-line);margin-top:4px;border-radius:0 0 8px 8px;color:#a43c45}.main-area{min-height:calc(100svh - 68px);display:flex;flex-direction:column}.page-content{width:100%;max-width:1440px;margin:0 auto;padding:32px clamp(18px,3vw,40px) 72px}.page-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px}.page-title-row h1,.library-heading h1,.schedule-page-heading h1,.dashboard-welcome h1,.grading-heading h1{color:var(--v2-ink);font-size:clamp(28px,2.6vw,34px);font-weight:750;letter-spacing:-.04em;line-height:1.25}.dashboard-welcome h1{gap:0;flex-wrap:wrap}.page-subtitle{color:var(--v2-muted);font-size:13px;line-height:1.7}.overline{color:var(--v2-brand);font-size:10px;font-weight:750;letter-spacing:.11em}.surface-card,.table-card,.stat-card,.empty-panel,.calendar-board,.paper,.studio-action,.today-panel,.grading-work,.grading-form-panel{border:1px solid var(--v2-line);border-radius:14px;background:#fff;box-shadow:0 1px 2px #17243805,0 5px 18px #17243806}.primary-button,.auth-submit{min-height:42px;padding-inline:17px;border-radius:10px;background:var(--v2-brand-dark);box-shadow:none;font-size:12px;font-weight:700;transition:background .12s ease,transform .1s ease}.primary-button:hover,.auth-submit:hover{background:#0f4e3e;box-shadow:none;transform:none}.primary-button:active,.auth-submit:active,.secondary-button:active{transform:translateY(1px)}.secondary-button{min-height:40px;border-color:var(--v2-line);border-radius:10px;color:var(--v2-copy);background:#fff;transition:background .12s ease,border-color .12s ease}.secondary-button:hover{background:#f7faf9;border-color:#b9ccc5}input,select,textarea{color:var(--v2-ink);accent-color:var(--v2-brand)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4a9b80;outline-offset:2px}.study-collection,.exercise-card,.material-card,.studio-action{transition:transform .12s ease,border-color .12s ease}.study-collection:hover,.exercise-card:hover,.material-card:hover,.studio-action:hover{transform:translateY(-1px)}.drawer-scrim{position:fixed;inset:68px 0 0;z-index:35;border:0;background:#17243855;-webkit-backdrop-filter:none;backdrop-filter:none}.nav-drawer{position:fixed;left:0;bottom:0;z-index:45;top:68px;width:min(330px,calc(100vw - 28px));padding:20px;overflow-y:auto;background:#fff;border-right:1px solid var(--v2-line);box-shadow:12px 0 36px #1724381c;transform:translate(-105%);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.nav-drawer.open{transform:translate(0)}.drawer-heading{display:flex;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--v2-line);margin-bottom:18px}.drawer-heading-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--v2-brand-dark);color:#fff}.drawer-heading strong,.drawer-heading small{display:block}.drawer-heading small{color:var(--v2-muted);font-size:11px;margin-top:2px}.drawer-label{margin:0 7px 8px;color:var(--v2-muted);font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.drawer-group{margin-top:18px;padding-top:14px;border-top:1px solid #edf0f3}.drawer-group>p{margin:0 7px 8px;color:var(--v2-muted);font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.drawer-link{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin-bottom:5px;padding:0 11px;border-color:transparent;border-radius:9px;background:transparent;color:var(--v2-copy);font-size:13px}.drawer-link:hover{transform:none;border-color:transparent;background:#f2f6f5;box-shadow:none}.drawer-link.is-active{background:#e7f3ed;border-color:#c9e3d7;color:var(--v2-brand-dark);box-shadow:none}.drawer-link.is-active svg{color:var(--v2-brand)}.route-view:focus{outline:none}.module-error{width:min(560px,calc(100% - 32px));margin:12vh auto;padding:32px;border:1px solid #e8c6c8;border-radius:16px;background:#fff;box-shadow:0 18px 55px #17243816;text-align:center}.module-error>svg{color:#b94e55}.module-error h1{margin:12px 0 7px;color:var(--v2-ink);font-size:25px}.module-error p{color:var(--v2-muted);line-height:1.65}.module-error>div{display:flex;justify-content:center;gap:9px;margin-top:20px}.skip-link{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-160%);padding:9px 13px;border-radius:8px;background:#172438;color:#fff;font-size:12px;font-weight:700}.skip-link:focus{transform:translateY(0)}.confirm-dialog{width:min(440px,calc(100% - 28px));padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 24px 80px #17243836}.confirm-dialog::backdrop{background:#12203399;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog>div{padding:24px}.confirm-dialog>div>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff5e5;color:#b16c1a}.confirm-dialog>div.danger>span{background:#fff0f1;color:#bc454d}.confirm-dialog h2{margin:13px 0 6px;color:var(--v2-ink);font-size:21px}.confirm-dialog p{color:var(--v2-muted);font-size:13px;line-height:1.65}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:21px}.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:9px;background:#b9434b;color:#fff;font-size:12px;font-weight:700}.danger-button:hover{background:#9e343b}.nav-menu>summary:focus-visible,.profile-menu>summary:focus-visible{outline:2px solid #4a9b80;outline-offset:3px}@media(max-width:1180px){.site-nav{display:none}.site-header .drawer-toggle{display:grid}.site-header-inner{padding-inline:16px}.site-user{display:none}}@media(max-width:650px){.site-header,.site-header-inner{height:62px}.site-header .brand{font-size:16px}.site-header .brand-icon{width:34px;height:34px}.site-header .drawer-toggle{width:36px;height:36px}.nav-drawer{top:62px}.drawer-scrim{inset:62px 0 0}.main-area{min-height:calc(100svh - 62px)}.page-content{padding:22px 14px 52px}.profile-menu>summary{border:0;background:transparent}.profile-menu>summary>.site-user,.profile-menu>summary>svg{display:none}}@media(prefers-reduced-motion:reduce){.site-link,.nav-menu>summary,.primary-button,.auth-submit,.secondary-button,.study-collection,.exercise-card,.material-card,.studio-action,.nav-drawer{transition:none!important;transform:none!important}}.dashboard-welcome{min-height:164px;padding:28px 260px 28px 30px;border:1px solid #d8e6e0;border-radius:18px;background:linear-gradient(118deg,#fff,#f0f8f4 58%,#f0f1fb);box-shadow:none}.dashboard-welcome .page-subtitle{max-width:600px;font-size:14px}.dashboard-study-art{right:34px;width:190px;opacity:.9}.studio-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.studio-action{min-height:205px;padding:20px;border-top:3px solid var(--tone);background:linear-gradient(150deg,#fff 60%,var(--tone-light));box-shadow:none}.studio-action:hover{border-color:var(--tone);box-shadow:none}.studio-action h3{font-size:15px;color:var(--v2-ink)}.studio-action p{font-size:12px;color:var(--v2-muted);line-height:1.65}.student-today{margin:24px 0 30px}.today-heading{margin-bottom:13px}.today-grid{gap:13px}.today-panel{min-height:230px;padding:18px;border-top:3px solid var(--today-tone,#5a62b8);box-shadow:none}.today-blue{--today-tone:#3978b7}.today-amber{--today-tone:#b76b25}.today-violet{--today-tone:#7650b9}.today-item{border-radius:9px;background:#f8fafc;border:1px solid #e6ebef}.today-item:hover{border-color:var(--today-tone);background:#fff}.library-heading{min-height:112px;padding:18px 22px;margin-bottom:18px;border:1px solid #dce5e9;border-radius:16px;background:linear-gradient(120deg,#fff,#f2f8f5 72%,#f1f2fb)}.library-heading>div{max-width:760px}.library-heading img{display:block;width:126px;height:90px}.study-collections{gap:12px;margin-bottom:22px}.study-collection{border:1px solid color-mix(in srgb,var(--tone) 20%,#dce3e8);border-top:3px solid var(--tone);background:linear-gradient(145deg,#fff,var(--tone-light));box-shadow:none}.study-collection:hover{border-color:var(--tone);box-shadow:none}.collection-header{align-items:end;margin:22px 0 15px;padding-bottom:14px;border-bottom:1px solid var(--v2-line)}.collection-header h2{font-size:22px;color:var(--v2-ink)}.library-tools{margin:0 0 12px}.library-search{height:46px;border-color:var(--v2-line);border-radius:11px;box-shadow:none}.exercise-progress-filter{margin:0 0 18px}.exercise-progress-filter button{min-height:36px;border-radius:9px}.library-section{margin-top:30px}.library-section,.materials-topic-section{content-visibility:auto;contain-intrinsic-size:1px 620px}.library-section-heading{min-height:108px;padding:19px 23px;border-radius:16px;box-shadow:none}.library-section-heading h2{font-size:clamp(25px,2.5vw,31px)}.grammar-tracks{gap:14px}.library-track{padding:14px;border-color:#e1e5ed;border-radius:14px;background:#f8f9fc}.library-section .exercise-card{min-height:174px;padding:15px;border-radius:12px;box-shadow:none}.library-section .exercise-card:hover{box-shadow:none}.exercise-card-footer{padding-top:9px}.exercise-intro{max-width:1040px}.intro-facts>div,.intro-ready{border-color:var(--v2-line);border-radius:14px;box-shadow:none}.exercise-player{--paper:var(--v2-paper);--exam-ink:var(--v2-ink);--exam-line:var(--v2-line);--exam-green:var(--v2-brand-dark)}.exercise-player .exam-toolbar{border-color:var(--v2-line);background:#fffdfaf7;box-shadow:0 3px 12px #1724380b}.exercise-player .exam-passage,.exercise-player .paper{background:var(--v2-paper);border-color:#e2ded4}.exercise-player .exam-passage{font-size:16px;line-height:1.85}.exercise-player .q-card{padding:18px;border-color:var(--v2-line);border-left:3px solid var(--skill,#5a62b8);border-radius:11px;background:#fff;box-shadow:none}.exercise-player .q-head{margin-bottom:10px}.exercise-player .q-prompt{font-size:15px;line-height:1.6}.exercise-player .choice-list{gap:7px}.exercise-player .choice{min-height:43px;padding:9px 12px;border-color:#d8e0e7;border-radius:8px;background:#fbfcfd}.exercise-player .choice:hover:not(:disabled){border-color:var(--skill,#5a62b8);background:var(--skill-light,#f0f1fb)}.exercise-player .score-bar{border-color:var(--v2-line);background:#fffffff7;box-shadow:0 -4px 18px #1724380a}.answer-explanation{border-color:#cee1d8;background:#f4faf7}.answer-comparison>div{border-color:var(--v2-line);background:#f7f9fb}.exam-quick-nav button.is-flagged{border-color:#dfa64f;background:#fff5df;color:#8a5614}.exam-quick-nav button svg{vertical-align:-2px;margin-right:4px}.results-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.results-overview>div{min-height:118px;padding:17px 18px;border:1px solid var(--v2-line);border-top:3px solid var(--result-tone,#18745b);border-radius:13px;background:linear-gradient(145deg,#fff,var(--result-bg,#edf7f2));display:flex;flex-direction:column}.results-overview>div:nth-child(2){--result-tone:#5a62b8;--result-bg:#f0f1fb}.results-overview>div:nth-child(3){--result-tone:#c27a2c;--result-bg:#fff5e7}.results-overview>div:nth-child(4){--result-tone:#287f8d;--result-bg:#eaf7f8}.results-overview span,.results-overview small{color:var(--v2-muted);font-size:11px;font-weight:650}.results-overview strong{margin:7px 0 5px;color:var(--v2-ink);font-size:25px;line-height:1}.results-filters{display:flex;align-items:center;gap:10px;margin-left:auto}.results-skill-filter{display:flex;align-items:center;gap:7px;color:var(--v2-muted);font-size:12px;font-weight:650}.results-skill-filter select{height:44px;min-width:130px;padding:0 30px 0 11px;border:1px solid var(--v2-line);border-radius:10px;background:#fff;color:var(--v2-ink)}.notification-menu{position:relative}.notification-menu>summary{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--v2-line);border-radius:10px;background:#fff;color:var(--v2-muted);cursor:pointer;list-style:none}.notification-menu>summary::-webkit-details-marker{display:none}.notification-menu>summary b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#c94f55;color:#fff;font-size:9px}.notification-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:min(360px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--v2-line);border-radius:14px;background:#fff;box-shadow:0 18px 48px #17243824}.notification-popover header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid var(--v2-line)}.notification-popover header div{display:grid}.notification-popover header small{color:var(--v2-muted);font-size:11px}.notification-popover header button{display:flex;align-items:center;gap:5px;color:var(--v2-brand-dark);font-size:11px;font-weight:700}.notification-popover>a{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:13px 15px;border-bottom:1px solid #edf0f2}.notification-popover>a.unread{background:#f0f8f4}.notification-popover>a>span{grid-column:1/-1;color:var(--v2-brand);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.notification-popover>a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.notification-popover>a small{color:var(--v2-muted);font-size:10px}.notification-empty{padding:22px 15px;color:var(--v2-muted);font-size:12px}.material-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.material-detail-actions .is-on{border-color:#c79b46;background:#fff7e6;color:#875914}.material-personal-note{margin-top:22px;padding:17px;border:1px solid var(--v2-line);border-radius:12px;background:#f8faf9}.material-personal-note label{display:grid;gap:8px;color:var(--v2-ink);font-size:13px;font-weight:700}.material-personal-note textarea{min-height:90px;resize:vertical;padding:11px;border:1px solid var(--v2-line);border-radius:9px;background:#fff}.material-personal-note small{color:var(--v2-muted);font-size:10px}.material-next-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:18px;border-top:1px solid var(--v2-line)}.material-next-actions>div{margin-right:auto}.material-next-actions h3{font-size:15px}.material-next-actions p{color:var(--v2-muted);font-size:11px}.insight-signals{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.insight-signals span{padding:4px 7px;border:1px solid color-mix(in srgb,var(--tone,#18745b) 24%,#dce3e8);border-radius:999px;background:var(--tone-light,#edf7f2);color:var(--tone,#18745b);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.exam-icon-action{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--v2-line);border-radius:9px;background:#fff;color:var(--v2-muted)}.exam-offline{display:flex;align-items:center;gap:5px;color:#a23c43;font-size:11px;font-weight:750}.exam-time-warning{margin:0 0 12px;padding:10px 13px;border:1px solid #edcf8f;border-left:4px solid #d58a24;border-radius:9px;background:#fff8e9;color:#71450f;font-size:12px}.exam-time-warning.urgent{border-color:#efb4b7;border-left-color:#c94f55;background:#fff0f1;color:#84363b}.calendar-board{padding:20px;border-color:var(--v2-line);box-shadow:none}.calendar-toolbar{gap:14px;margin-bottom:18px}.calendar-range strong{color:var(--v2-ink);font-size:20px}.calendar-controls button,.calendar-view-toggle button{min-height:38px;border-radius:9px}.calendar-grid{border-color:var(--v2-line);border-radius:12px;background:#fff}.calendar-head{background:#f7f9fb;border-color:var(--v2-line)}.calendar-day{border-color:#e6ebef;background:#fffdfb}.calendar-event{border-radius:7px;box-shadow:none}.calendar-refresh .calendar-week-hidden{display:none}.calendar-refresh .calendar-agenda{display:grid;gap:8px}.calendar-refresh .calendar-agenda.agenda-hidden{display:none}.calendar-refresh .legend-dot.busy{background:#8a94a5}.calendar-refresh .legend-dot.booked{background:#4b74bf}.calendar-refresh .calendar-event.tone-booked,.calendar-refresh .agenda-item.tone-booked{background:#edf3ff;color:#284b87;border-left-color:#5b7fc2}.calendar-refresh .calendar-event.tone-busy,.calendar-refresh .agenda-item.tone-busy{background:#f0f2f5;color:#697386;border-left-color:#939bad}.calendar-refresh .agenda-item{min-height:80px;text-align:left;transition:border-color .12s ease}.calendar-refresh .agenda-item:not(:disabled):hover{border-color:#8bb8a5}.calendar-refresh .agenda-item:disabled{opacity:.85}.calendar-refresh .calendar-slot.is-past{background:repeating-linear-gradient(135deg,#eef0f1 0 7px,#e8ebec 7px 14px);border-bottom-color:#dfe3e4;cursor:not-allowed}.calendar-refresh .calendar-event.is-past,.calendar-refresh .agenda-item.is-past{background:#e8ebed!important;color:#737b82!important;border-color:#cbd0d4!important;box-shadow:none;filter:saturate(.35)}.calendar-refresh .agenda-item.is-past{opacity:.72}.calendar-refresh .calendar-event[draggable=true]{cursor:grab}.calendar-refresh .calendar-event.is-dragging{opacity:.45;cursor:grabbing}.calendar-refresh .calendar-slot.is-drop-target:hover{background:#dff3e6;box-shadow:inset 0 0 0 2px #65a77d}.calendar-refresh .agenda-title small{display:block;font-size:12px;margin-top:5px}.calendar-refresh .calendar-view-toggle button:focus-visible,.calendar-refresh .calendar-event:focus-visible,.calendar-refresh .agenda-item:focus-visible{outline:2px solid #5a62b8;outline-offset:3px}.calendar-refresh .calendar-dialog{border:1px solid var(--v2-line);border-radius:18px;box-shadow:0 20px 60px #17243822}.calendar-refresh .calendar-dialog h2{font-size:23px;margin-bottom:8px}.calendar-refresh .calendar-dialog-actions{margin-top:22px}.calendar-day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 10px}.calendar-day-picker button{display:grid;place-items:center;gap:2px;min-height:54px;border:1px solid var(--v2-line);border-radius:9px;background:#fff;color:var(--v2-muted)}.calendar-day-picker button[aria-pressed=true]{border-color:#77ad97;background:#eaf5ef;color:var(--v2-brand-dark)}.calendar-day-picker span{font-size:9px;text-transform:uppercase}.calendar-day-picker strong{font-size:14px}.calendar-note{display:flex;align-items:center;gap:5px}.grading-page{color:var(--v2-ink)}.grading-heading,.grading-detail-head{border-color:var(--v2-line)}.grading-heading h1,.grading-detail-head h1{font-size:clamp(28px,3vw,34px);color:var(--v2-ink)}.grading-heading .page-subtitle,.grading-detail-head p{color:var(--v2-muted);font-size:14px}.grading-list,.grading-work,.grading-form-panel,.review-queue-rail{border-color:var(--v2-line);border-radius:14px;box-shadow:none}.grading-row{border-color:#e8ecef;color:var(--v2-ink)}.grading-row:hover,.grading-row:focus-visible{background:#f5f9f7}.grading-avatar{background:#e5f3ec;color:var(--v2-brand-dark)}.grading-tabs{border-color:var(--v2-line)}.grading-tabs button.active{border-color:var(--v2-brand);color:var(--v2-brand-dark)}.grading-search{border-color:var(--v2-line);border-radius:10px}.grading-form-panel{top:86px}.insight-stats{gap:13px}.insight-stat{min-height:145px;padding:19px;border:1px solid color-mix(in srgb,var(--tone) 22%,#dce3e8);border-top:3px solid var(--tone);border-radius:14px;background:linear-gradient(145deg,#fff,var(--tone-light));box-shadow:none}.insight-panel{border-color:var(--v2-line);border-radius:14px;background:#fff;box-shadow:none}.skill-chart-track,.feedback-chart-track{background:#edf0f3}.student-table th{background:#f6f8fa;color:var(--v2-muted)}.student-table td,.student-table th{border-color:#e6ebef}.student-table tbody tr:hover{background:#f7faf9}.auth-form-card h1,.auth-form-card h2{color:var(--v2-ink)}.auth-form-wrap{background:#f7f9fb}.input-wrap{border-color:var(--v2-line);border-radius:10px}.input-wrap:focus-within{border-color:#4a9b80;box-shadow:0 0 0 3px #18745b18}@media(max-width:1080px){.studio-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.grammar-tracks{grid-template-columns:1fr 1fr}}@media(max-width:700px){.dashboard-welcome{min-height:145px;padding:20px 100px 20px 18px}.dashboard-study-art{right:8px;width:92px}.studio-actions{grid-template-columns:1fr 1fr;gap:10px}.studio-action{min-height:180px;padding:16px}.today-grid{grid-template-columns:1fr}.library-heading{min-height:0;padding:16px}.library-heading img{width:72px;height:64px}.grammar-tracks{grid-template-columns:1fr}.library-section .exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-section .exercise-card{min-height:150px}.calendar-board{padding:12px}.grading-work,.grading-form-panel{padding:16px}}@media(max-width:800px){.results-overview{grid-template-columns:1fr 1fr}.results-filters{width:100%;margin-left:0}.results-filters .grading-search{flex:1}.results-skill-filter span{display:none}}@media(max-width:760px){.calendar-refresh .calendar-controls{flex-wrap:wrap;gap:7px}.calendar-refresh .calendar-view-toggle{margin-left:auto}.calendar-refresh .calendar-dialog{width:calc(100% - 24px);padding:22px}.calendar-refresh .calendar-dialog-actions{display:flex;flex-wrap:wrap}.calendar-refresh .calendar-dialog-actions button{flex:1}}@media(max-width:390px){.studio-actions,.library-section .exercise-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.today-item,.calendar-event,.grading-row{transition:none!important}}.mistake-notebook{max-width:1320px}.mistake-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.mistake-summary>div{display:grid;gap:4px;padding:18px;border:1px solid var(--v2-line);border-radius:13px;background:linear-gradient(145deg,#fff,#f1f7f4)}.mistake-summary>div:nth-child(2){background:linear-gradient(145deg,#fff,#f0f1fb)}.mistake-summary>div:nth-child(3){background:linear-gradient(145deg,#fff,#fff5e8)}.mistake-summary strong{font-size:26px}.mistake-summary span{color:var(--v2-muted);font-size:11px}.mistake-controls{display:flex;align-items:center;gap:10px;margin:0 0 22px}.mistake-controls>label{display:flex;align-items:center;gap:7px;height:42px;padding:0 11px;border:1px solid var(--v2-line);border-radius:9px;background:#fff;color:var(--v2-muted)}.mistake-controls input,.mistake-controls select{border:0;outline:0;background:transparent;color:var(--v2-ink)}.mistake-controls>label:nth-child(2){margin-left:auto}.mistake-groups{display:grid;gap:26px}.mistake-groups>section{overflow:hidden;border:1px solid var(--v2-line);border-radius:15px;background:#fff}.mistake-groups>section>header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 20px;border-bottom:1px solid var(--v2-line);background:#f8faf9}.mistake-groups header span{color:var(--v2-brand);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.mistake-groups header h2{margin:2px 0;font-size:18px}.mistake-groups header small{color:var(--v2-muted);font-size:11px}.mistake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--v2-line)}.mistake-grid>article{padding:18px;background:#fff}.mistake-grid>article>span{color:var(--v2-muted);font-size:10px;font-weight:750;text-transform:uppercase}.mistake-grid h3{margin:7px 0 11px;font-size:14px;line-height:1.55}.mistake-grid details{margin:10px 0;padding:10px;border-radius:8px;background:#f5f8f7}.mistake-grid summary{cursor:pointer;color:var(--v2-brand-dark);font-size:11px;font-weight:700}.mistake-grid details p{margin-top:8px;color:var(--v2-muted);font-size:12px;line-height:1.65}.mistake-grid>article>button{margin-top:10px}@media(max-width:700px){.mistake-summary{grid-template-columns:repeat(3,1fr)}.mistake-controls{align-items:stretch;flex-direction:column}.mistake-controls>label:nth-child(2){margin-left:0}.mistake-grid{grid-template-columns:1fr}.mistake-groups>section>header{align-items:flex-start;flex-direction:column}.mistake-groups>section>header .secondary-button{width:100%}}.toast-region{position:fixed;right:18px;bottom:18px;z-index:220;display:grid;gap:8px;width:min(360px,calc(100vw - 28px));pointer-events:none}.app-toast{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid #cfe3d8;border-radius:11px;background:#fff;color:#25374a;box-shadow:0 16px 42px #17243825;pointer-events:auto;animation:toast-in .18s ease-out}.app-toast.success>svg{color:#16805e}.app-toast.error{border-color:#edc5c8}.app-toast.error>svg{color:#bc454d}.app-toast.info>svg{color:#5269b8}.app-toast span{font-size:12px;font-weight:650}.app-toast button{color:#7a8797;font-size:20px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.skeleton-panel{display:grid;gap:12px;padding:22px;border:1px solid var(--v2-line);border-radius:14px;background:#fff}.skeleton-panel>span{display:block;height:13px;border-radius:999px;background:linear-gradient(90deg,#edf0f2 25%,#f8fafb,#edf0f2 65%);background-size:220% 100%;animation:skeleton-shift 1.4s ease-in-out infinite}.skeleton-panel .skeleton-title{width:34%;height:22px;margin-bottom:5px}@keyframes skeleton-shift{to{background-position:-220% 0}}.not-found-page{display:grid;justify-items:center;width:min(620px,calc(100% - 32px));margin:11vh auto;padding:45px 30px;border:1px solid var(--v2-line);border-radius:18px;background:linear-gradient(145deg,#fff,#f1f7f4);text-align:center}.not-found-page>svg{color:var(--v2-brand)}.not-found-page h1{margin:8px 0;color:var(--v2-ink);font-size:clamp(25px,4vw,36px)}.not-found-page>p:not(.overline){max-width:480px;margin-bottom:20px;color:var(--v2-muted)}@media(max-width:600px){.toast-region{right:14px;bottom:14px}.exercise-player .question-jump[open]{position:fixed;inset:auto 10px 10px;z-index:90;max-height:68vh;overflow:auto;border-radius:15px;box-shadow:0 18px 65px #17243845}.exercise-player .question-jump[open] summary{position:sticky;top:0;z-index:2;background:#fff}.exercise-player .question-jump[open] .q-map{grid-template-columns:repeat(6,1fr);padding:14px}.exercise-player .question-jump[open]:before{content:"";position:fixed;inset:0;z-index:-1;background:#12203382;pointer-events:none}}@media(prefers-reduced-motion:reduce){.app-toast,.skeleton-panel>span{animation:none}}
