.teacher-area{padding:32px 16px 64px;max-width:1100px}.teacher-signin-card{max-width:420px;margin:48px auto 0;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:32px;box-shadow:var(--shadow-md);text-align:center}.teacher-signin-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--primary-color);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.teacher-signin-card h2{margin:0 0 8px;color:var(--text-primary)}.teacher-signin-card>p{color:var(--text-secondary);font-size:14px;margin:0 0 20px}.teacher-signin-card form{display:flex;flex-direction:column;gap:14px;text-align:left}.teacher-field{display:flex;flex-direction:column;gap:6px}.teacher-field span{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.teacher-error{background:#fef2f2;color:#b91c1c;border-radius:10px;padding:10px 14px;font-size:14px;margin:0}[data-theme=dark] .teacher-error{background:#2a1518;color:#fca5a5}.teacher-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.teacher-topbar h1{font-size:24px;font-weight:800;color:var(--text-primary);margin:0}.teacher-topbar-actions{display:flex;align-items:center;gap:10px}.teacher-loading{color:var(--text-secondary);font-size:14px}.teacher-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.teacher-section-head h2{font-size:19px;font-weight:800;color:var(--text-primary);margin:0}.teacher-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:16px}.teacher-card-title{margin:0 0 14px;font-size:15px;font-weight:700;color:var(--text-primary)}.teacher-empty{color:var(--text-muted);font-size:14px;margin:8px 0}.teacher-classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:16px}.teacher-class-card{display:flex;flex-direction:column;gap:12px;margin-bottom:0}.teacher-class-head{display:flex;align-items:center;gap:12px}.teacher-class-icon{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--primary-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.teacher-class-titles h3{margin:0 0 2px;font-size:15px;font-weight:700;color:var(--text-primary)}.teacher-class-code{margin:0;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.teacher-class-code strong{font-family:ui-monospace,monospace;letter-spacing:.03em}.teacher-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-subtle);color:var(--text-secondary);cursor:pointer;transition:color .15s ease,border-color .15s ease}.teacher-copy-btn:hover{color:var(--primary-color);border-color:var(--primary-color)}.teacher-class-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-secondary)}.teacher-class-meta span{display:inline-flex;align-items:center;gap:5px}.teacher-class-activity{color:var(--text-muted)}.teacher-card-open{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:700;color:var(--primary-color);cursor:pointer}.teacher-card-open:hover{text-decoration:underline}.teacher-created-card{border-left:3px solid var(--primary-color)}.teacher-created-card p{margin:0 0 6px;color:var(--text-secondary);font-size:14px}.teacher-created-code{font-family:ui-monospace,monospace;font-size:22px;font-weight:800;letter-spacing:.06em;color:var(--primary-color)!important}.teacher-new-class{border-style:dashed}.teacher-add-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;font-family:inherit;font-size:15px;font-weight:700;color:var(--primary-color);cursor:pointer}.teacher-add-btn:hover{text-decoration:underline}.teacher-new-class-form{display:flex;flex-direction:column;gap:12px;max-width:420px}.teacher-form-actions{display:flex;gap:10px}.teacher-table{width:100%;border-collapse:collapse;font-size:14px}.teacher-table th{text-align:left;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:8px 10px;border-bottom:1px solid var(--border-color)}.teacher-table td{padding:10px;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.teacher-table tr:last-child td{border-bottom:none}.teacher-table-actions{text-align:right;white-space:nowrap}.teacher-unit-cell{display:inline-flex;align-items:center;gap:2px}.teacher-link-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600;color:var(--primary-color);cursor:pointer}.teacher-link-btn:hover{text-decoration:underline}.teacher-tiny-btn{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.teacher-tiny-btn:hover{color:var(--primary-color);border-color:var(--primary-color);background:var(--brand-soft)}.teacher-tiny-btn.teacher-danger{color:#b91c1c;border-color:#fecaca}.teacher-tiny-btn.teacher-danger:hover{background:#fef2f2;border-color:#ef4444;color:#b91c1c}[data-theme=dark] .teacher-tiny-btn.teacher-danger{color:#fca5a5;border-color:#7f1d1d}[data-theme=dark] .teacher-tiny-btn.teacher-danger:hover{background:#2a1518}.teacher-confirm-inline{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary)}.teacher-small-btn{height:36px;padding:0 14px;font-size:13.5px}.teacher-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin-bottom:8px;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer}.teacher-back:hover{color:var(--primary-color)}.teacher-class-code-inline{margin:0;font-size:13.5px;color:var(--text-secondary);display:inline-flex;align-items:center}.teacher-class-code-inline strong{font-family:ui-monospace,monospace;margin-left:4px}.teacher-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.teacher-filters select{height:38px;font-size:13.5px}.teacher-feed{list-style:none;margin:0;padding:0}.teacher-feed-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-color)}.teacher-feed-row:last-child{border-bottom:none}.teacher-feed-main{display:flex;flex-direction:column;min-width:0}.teacher-feed-main strong{font-size:14px;color:var(--text-primary)}.teacher-feed-topic{font-size:12.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.teacher-feed-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.teacher-kind-badge{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:9999px}.teacher-kind-mcq{background:var(--brand-soft);color:var(--primary-dark)}.teacher-kind-written{background:#ecfdf5;color:#047857}.teacher-kind-exam{background:#fffbeb;color:#b45309}.teacher-kind-ai{background:#fdf2f8;color:#be185d}[data-theme=dark] .teacher-kind-mcq{background:#10312d;color:#5eead4}[data-theme=dark] .teacher-kind-written{background:#10312d;color:#34d399}[data-theme=dark] .teacher-kind-exam{background:#2c2410;color:#fbbf24}[data-theme=dark] .teacher-kind-ai{background:#33141f;color:#f472b6}.teacher-feed-score{font-size:13.5px;font-weight:700;color:var(--text-primary);min-width:44px;text-align:right}.teacher-feed-time{font-size:12px;color:var(--text-muted);min-width:70px}.teacher-answer-open{flex-basis:100%;background:var(--surface-subtle);border:1px solid var(--border-color);border-radius:12px;padding:14px 16px;margin-top:4px}.teacher-answer-text{font-size:14px;line-height:1.65;color:var(--text-primary);margin:0 0 10px;white-space:pre-wrap}.teacher-feedback-detail p{font-size:13.5px;line-height:1.6;color:var(--text-secondary);margin:4px 0}.teacher-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--nav-bg);color:var(--nav-fg);border-radius:12px;padding:12px 20px;font-size:14px;box-shadow:var(--shadow-lg);z-index:300;max-width:min(480px,calc(100vw - 32px))}.footer-teacher-link{background:none;border:none;padding:0;font-family:inherit;font-size:13px;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.footer-teacher-link:hover{color:var(--primary-color)}@media (max-width: 640px){.teacher-area{padding:20px 12px 48px}.teacher-topbar{flex-direction:column;align-items:flex-start}.teacher-filters select{flex:1 1 100%}.teacher-feed-time{display:none}}.teacher-code-input{text-align:center;font-size:22px!important;font-weight:700;letter-spacing:.3em}.teacher-signin-links{display:flex;justify-content:space-between;gap:8px}.teacher-signin-foot{margin:18px 0 0;font-size:13px;color:var(--text-secondary)}.teacher-signin-foot a{color:var(--primary-color)}.teacher-account{max-width:760px}.teacher-account-intro,.teacher-account-note{color:var(--text-secondary);font-size:14px;margin:0 0 14px}.teacher-card-title svg{vertical-align:-2px;margin-right:4px;color:var(--primary-color)}.teacher-account-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}@media (max-width: 640px){.teacher-account-form{grid-template-columns:1fr}}.teacher-account-row{display:flex;flex-wrap:wrap;gap:10px}.teacher-account-row input{flex:1 1 220px}.teacher-account-made{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--brand-soft)}.teacher-account-made code{flex:1;min-width:0;word-break:break-all;font-size:14px}.teacher-account-list{list-style:none;margin:14px 0 0;padding:0}.teacher-account-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--border-color);font-size:14px}.teacher-account-list small{display:block;color:var(--text-secondary);font-size:12px}.teacher-account-list em{font-style:normal;font-size:12px;color:var(--primary-color)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes achievementPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}:root{--primary-color: #2563eb;--primary-dark: #1e40af;--secondary-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--background: #f8fafc;--background-subtle: #f1f5f9;--surface: #ffffff;--surface-elevated: #ffffff;--surface-subtle: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--border-radius: 12px;--spacing-unit: 8px;--state-info-bg: #eff6ff;--state-info-text: #1e40af;--state-success-bg: #f0fdf4;--state-success-text: #166534;--state-warning-bg: #fefce8;--state-warning-text: #854d0e;--state-error-bg: #fef2f2;--state-error-text: #991b1b;--surface-overlay: rgba(0, 0, 0, .05)}[data-theme=dark]{--background: #0f172a;--background-subtle: #1a2744;--surface: #1e293b;--surface-elevated: #273549;--surface-subtle: #243044;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5);--primary-color: #3b82f6;--primary-dark: #2563eb;--secondary-color: #10b981;--danger-color: #f87171;--warning-color: #fbbf24;--state-info-bg: #1e3a5f;--state-info-text: #93c5fd;--state-success-bg: #14532d;--state-success-text: #86efac;--state-warning-bg: #451a03;--state-warning-text: #fcd34d;--state-error-bg: #450a0a;--state-error-text: #fca5a5;--surface-overlay: rgba(255, 255, 255, .05)}*,*:before,*:after{transition:background-color .3s ease,border-color .3s ease,color .3s ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important}}.theme-toggle{display:flex;align-items:center;gap:4px;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:4px 10px;cursor:pointer;color:#fff;font-size:.75rem;font-weight:600;white-space:nowrap;transition:background .2s ease,transform .15s ease}.theme-toggle:hover{background:#ffffff40;transform:translateY(-1px)}.theme-toggle-icon{font-size:.9rem;line-height:1}.theme-toggle-label{font-size:.7rem;letter-spacing:.02em}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary);line-height:1.6}.explain-aloud-container{margin:calc(var(--spacing-unit) * 3) 0}.practice-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);font-size:1.125rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s;width:100%;max-width:400px;display:block;margin:0 auto}.practice-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.explain-aloud-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:calc(var(--spacing-unit) * 2);overflow-y:auto}.explain-aloud-content{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 4);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d}.close-button{position:absolute;top:calc(var(--spacing-unit) * 2);right:calc(var(--spacing-unit) * 2);background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button:hover{background:var(--background);color:var(--text-primary)}.explain-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 3)}.explain-header h2{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit))}.explain-subtitle{color:var(--text-secondary);font-size:1rem}.streak-display{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);text-align:center;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-sm)}.tip-box{background:var(--brand-soft);border-left:4px solid var(--primary-color);padding:calc(var(--spacing-unit) * 2);border-radius:8px;margin-bottom:calc(var(--spacing-unit) * 3);color:var(--text-primary)}.instructions{background:var(--background);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 3)}.instructions h3{font-size:1.25rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.instructions ol{padding-left:calc(var(--spacing-unit) * 3)}.instructions li{margin-bottom:calc(var(--spacing-unit));color:var(--text-secondary)}.start-section{text-align:center;padding:calc(var(--spacing-unit) * 4) 0}.no-concepts{margin-top:calc(var(--spacing-unit) * 2);color:var(--text-secondary)}.practice-section{margin-top:calc(var(--spacing-unit) * 3)}.prompt-card{background:var(--primary-color);color:#fff;padding:calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md)}.prompt-card h3{font-size:1.125rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 2)}.prompt-text{font-size:1.25rem;font-weight:500;line-height:1.5}.timer-display{text-align:center;margin-bottom:calc(var(--spacing-unit) * 3)}.timer-value{font-size:4rem;font-weight:700;color:var(--primary-color);font-variant-numeric:tabular-nums;margin-bottom:calc(var(--spacing-unit))}.timer-label{font-size:1rem;color:var(--text-secondary);font-weight:500}.action-buttons{display:flex;gap:calc(var(--spacing-unit) * 2);justify-content:center;flex-wrap:wrap;margin-bottom:calc(var(--spacing-unit) * 3)}.primary-button{background:var(--primary-color);color:#fff;border:none;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.primary-button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.primary-button:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}.secondary-button{background:var(--surface);color:var(--primary-color);border:2px solid var(--primary-color);padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.secondary-button:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.challenge-button{background:var(--surface);color:var(--warning-color);border:2px solid var(--warning-color);padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.challenge-button:hover{background:var(--warning-color);color:#fff;transform:translateY(-1px)}.try-another{display:block;margin:calc(var(--spacing-unit) * 3) auto 0}.model-answer{background:var(--state-success-bg);border-left:4px solid var(--secondary-color);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);margin-bottom:calc(var(--spacing-unit) * 3)}.model-answer h3{font-size:1.125rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--secondary-color)}.model-answer p{color:var(--text-primary);line-height:1.6}.diagram-hint{margin-top:calc(var(--spacing-unit) * 2);padding-top:calc(var(--spacing-unit) * 2);border-top:1px solid #bbf7d0}.diagram-hint strong{display:block;margin-bottom:calc(var(--spacing-unit));color:var(--secondary-color)}.practice-history{background:var(--background);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);margin-top:calc(var(--spacing-unit) * 4)}.practice-history h3{font-size:1.125rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.practice-history ul{list-style:none}.practice-history li{padding:calc(var(--spacing-unit)) 0;border-bottom:1px solid var(--border-color);color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}.practice-history li:last-child{border-bottom:none}.history-time{font-size:.875rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}@media (max-width: 768px){.explain-aloud-content{padding:calc(var(--spacing-unit) * 3)}.timer-value{font-size:3rem}.prompt-text{font-size:1.125rem}.action-buttons{flex-direction:column}.action-buttons button{width:100%}}.container{margin:0 auto;padding:0 calc(var(--spacing-unit) * 2);width:100%}.welcome-section{text-align:center;margin-bottom:calc(var(--spacing-unit) * 6)}.welcome-section h2{font-size:2rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.welcome-section p{font-size:1.125rem;color:var(--text-secondary);max-width:700px;margin:0 auto;line-height:1.7}.units-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 4)}.unit-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md);cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.unit-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--unit-accent-color, var(--primary-color))}.unit-card[data-unit="1"]:before{background:var(--primary-color)}.unit-card[data-unit="2"]:before{background:linear-gradient(90deg,#10b981,#34d399)}.unit-card[data-unit="3"]:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.unit-card[data-unit="4"]:before{background:linear-gradient(90deg,#ef4444,#f87171)}.unit-card[data-unit="5"]:before{background:var(--primary-color)}.unit-card[data-unit="6"]:before{background:linear-gradient(90deg,#ec4899,#f472b6)}.unit-card[data-unit="1"] h3{color:var(--primary-color)}.unit-card[data-unit="2"] h3{color:#10b981}.unit-card[data-unit="3"] h3{color:#f59e0b}.unit-card[data-unit="4"] h3{color:#ef4444}.unit-card[data-unit="5"] h3{color:var(--primary-color)}.unit-card[data-unit="6"] h3{color:#ec4899}.unit-card[data-unit="1"]:hover{border-color:var(--primary-color)}.unit-card[data-unit="2"]:hover{border-color:#10b981}.unit-card[data-unit="3"]:hover{border-color:#f59e0b}.unit-card[data-unit="4"]:hover{border-color:#ef4444}.unit-card[data-unit="5"]:hover{border-color:var(--primary-color)}.unit-card[data-unit="6"]:hover{border-color:#ec4899}.unit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.unit-icon{font-size:3rem;margin-bottom:calc(var(--spacing-unit) * 2)}.unit-card h3{color:var(--primary-color);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:calc(var(--spacing-unit) * 1)}.unit-card h4{font-size:1.375rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.unit-card p{color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 3);line-height:1.6}.explore-button{background-color:var(--primary-color);color:#fff;border:none;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);border-radius:calc(var(--border-radius) / 2);font-size:.9375rem;font-weight:600;cursor:pointer;transition:background-color .2s;width:100%}.explore-button:hover{background-color:var(--primary-dark)}.back-button{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);font-size:.9375rem;cursor:pointer;transition:all .2s;margin-bottom:calc(var(--spacing-unit) * 3)}.back-button:hover{background-color:var(--background);border-color:var(--text-secondary)}.unit-header{margin-bottom:calc(var(--spacing-unit) * 4)}.unit-header h2{font-size:2rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.unit-header p{font-size:1.125rem;color:var(--text-secondary);line-height:1.7}.subunits-list{display:grid;gap:calc(var(--spacing-unit) * 2)}.subunit-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s ease;border:2px solid transparent}.subunit-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translate(4px)}.subunit-card h3{font-size:1.25rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1);color:var(--text-primary)}.objectives-preview{color:var(--text-secondary);font-size:.9375rem;margin-bottom:calc(var(--spacing-unit) * 1)}.badge{display:inline-block;background-color:var(--brand-soft);color:var(--primary-dark);padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 3);font-size:.875rem;font-weight:500;margin-top:calc(var(--spacing-unit) * 1)}.subunit-content{max-width:900px;margin:0 auto}.section{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-sm)}.section h3{font-size:1.5rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 3);color:var(--text-primary)}.objectives-list li{padding:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * 1);background-color:var(--state-info-bg);border-left:4px solid var(--primary-color);border-radius:calc(var(--border-radius) / 3);line-height:1.6}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--border-radius)}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:var(--border-radius)}.content-text p{margin-bottom:calc(var(--spacing-unit) * 2);line-height:1.8;color:var(--text-primary)}.diagram-container{text-align:center}.diagram-container img{max-width:100%;height:auto;border-radius:var(--border-radius);box-shadow:var(--shadow-md)}.terminology-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:calc(var(--spacing-unit) * 2)}.term-card{background-color:#fefce8;border:1px solid #fde047;border-radius:calc(var(--border-radius) / 2);padding:calc(var(--spacing-unit) * 2);transition:transform .2s}.term-card:hover{transform:translateY(-2px)}.term-card h4{font-size:1.125rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1);color:#854d0e}.term-card p{color:#713f12;line-height:1.6;font-size:.9375rem}.quiz-section{text-align:center;padding:calc(var(--spacing-unit) * 2) 0}.quiz-section p{color:var(--text-secondary);margin:calc(var(--spacing-unit) * 2) 0}.quiz-button{background-color:var(--secondary-color);color:#fff;border:none;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border-radius:calc(var(--border-radius) / 2);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.quiz-button:hover{background-color:#059669;transform:translateY(-2px);box-shadow:var(--shadow-md)}.quiz-container{max-width:800px;margin:0 auto}.quiz-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 4)}.quiz-header h2{font-size:1.75rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2)}.quiz-progress{margin-top:calc(var(--spacing-unit) * 3)}.progress-bar{background-color:var(--border-color);height:8px;border-radius:4px;overflow:hidden;margin-bottom:calc(var(--spacing-unit) * 1)}.progress-fill{background-color:var(--primary-color);height:100%;transition:width .3s ease}.question-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 4);box-shadow:var(--shadow-md)}.question-difficulty{margin-bottom:calc(var(--spacing-unit) * 2)}.difficulty-badge{display:inline-block;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 3);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.difficulty-badge.easy{background-color:#d1fae5;color:#065f46}.difficulty-badge.medium{background-color:#fed7aa;color:#92400e}.difficulty-badge.hard{background-color:var(--state-error-bg);color:#991b1b}.question-text{font-size:1.375rem;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 4);line-height:1.5;color:var(--text-primary)}.options-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3)}.option-button{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 2);background:var(--background);border:2px solid var(--border-color);border-radius:calc(var(--border-radius) / 2);font-size:1rem;text-align:left;cursor:pointer;transition:all .2s}.option-button:hover:not(:disabled){border-color:var(--primary-color);background-color:var(--brand-soft)}.option-button.selected{border-color:var(--primary-color);background-color:var(--brand-soft)}.option-button.correct{border-color:var(--secondary-color);background-color:#d1fae5}.option-button.incorrect{border-color:var(--danger-color);background-color:var(--state-error-bg)}.option-button:disabled{cursor:not-allowed}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--surface);border-radius:50%;font-weight:600;flex-shrink:0}.option-text{flex:1;line-height:1.5}.explanation{background-color:var(--state-info-bg);border-left:4px solid var(--primary-color);padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 3);margin-bottom:calc(var(--spacing-unit) * 3)}.explanation h4{font-size:.875rem;font-weight:600;text-transform:uppercase;color:var(--primary-dark);margin-bottom:calc(var(--spacing-unit) * 1)}.explanation p{color:var(--text-primary);line-height:1.6}.question-actions{display:flex;justify-content:center}.submit-button,.next-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border:none;border-radius:calc(var(--border-radius) / 2);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.submit-button{background-color:var(--primary-color);color:#fff}.submit-button:hover:not(:disabled){background-color:var(--primary-dark)}.submit-button:disabled{background-color:var(--border-color);cursor:not-allowed}.next-button{background-color:var(--secondary-color);color:#fff}.next-button:hover{background-color:#059669}.quiz-result{max-width:600px;margin:0 auto;text-align:center;background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 6);box-shadow:var(--shadow-lg)}.quiz-result h2{font-size:2rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 4);color:var(--text-primary)}.score-display{margin-bottom:calc(var(--spacing-unit) * 4)}.score-circle{width:180px;height:180px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;margin:0 auto calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-lg)}.score-number{font-size:3rem;font-weight:700;color:#fff}.score-text{font-size:1.25rem;color:var(--text-secondary)}.result-message{font-size:1.125rem;padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);margin-bottom:calc(var(--spacing-unit) * 4);line-height:1.6}.result-message.excellent{background-color:#d1fae5;color:#065f46}.result-message.good{background-color:var(--brand-soft);color:var(--state-info-text)}.result-message.needs-work{background-color:var(--state-warning-bg);color:#92400e}.result-actions{display:flex;gap:calc(var(--spacing-unit) * 2);justify-content:center;flex-wrap:wrap}.no-questions{text-align:center;padding:calc(var(--spacing-unit) * 8);background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.no-questions h3{font-size:1.5rem;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.no-questions p{color:var(--text-secondary)}.teaching-notes{background:linear-gradient(135deg,#fef3c7,#fde68a,#fcd34d);border:none;border-radius:calc(var(--border-radius) * 1.5);box-shadow:0 8px 20px #0000001f;overflow:hidden;position:relative}.teaching-notes:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-color)}.teaching-notes h3{background:var(--primary-color);color:#fff;margin:0 -32px calc(var(--spacing-unit) * 3) -32px;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);font-size:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2);border-bottom:4px solid rgba(255,255,255,.3)}.notes-content{line-height:1.9}.notes-content h4{font-size:1.3rem;font-weight:700;margin:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * -2) calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border-radius:12px;border-left:5px solid;box-shadow:0 4px 12px #0000001a;transition:transform .2s,box-shadow .2s}.notes-content h4.section-0{background:var(--brand-soft);color:var(--primary-dark);border-left-color:var(--primary-color)}.notes-content h4.section-1{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:var(--state-success-text);border-left-color:#22c55e}.notes-content h4.section-2{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;border-left-color:#f59e0b}.notes-content h4.section-3,.notes-content h4.section-4{background:var(--brand-soft);color:var(--primary-dark);border-left-color:var(--primary-color)}.notes-content h4.section-5{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#7c2d12;border-left-color:#f97316}.notes-content h4:hover{transform:translate(4px);box-shadow:0 6px 16px #0d948840}.notes-content h4:first-of-type{margin-top:0}.notes-content p{margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary);font-size:1.05rem}.notes-content li{margin-left:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 1.5);color:var(--text-primary);font-size:1.05rem;position:relative;padding-left:calc(var(--spacing-unit) * 2)}.notes-content li:before{content:"→";position:absolute;left:0;color:#f59e0b;font-weight:700;font-size:1.2rem}.notes-content .highlight{background:var(--brand-soft);padding:calc(var(--spacing-unit) * 2);border-radius:10px;font-weight:500;margin:calc(var(--spacing-unit) * 2) 0;border-left:4px solid var(--primary-color);box-shadow:none;font-size:1.05rem}.notes-content strong,.notes-content b{color:var(--primary-dark);font-weight:700;background:var(--brand-soft);padding:2px 6px;border-radius:4px}.notes-content p:has(strong:first-child){background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:calc(var(--spacing-unit) * 2);border-radius:8px;border-left:4px solid #10b981;margin:calc(var(--spacing-unit) * 2) 0}.notes-content hr{border:none;height:3px;background:linear-gradient(90deg,transparent,#f59e0b,transparent);margin:calc(var(--spacing-unit) * 3) 0}.footer{background-color:var(--text-primary);color:#fff;padding:calc(var(--spacing-unit) * 3) 0;text-align:center;margin-top:auto}.footer p{opacity:.8}@media (max-width: 768px){.units-grid,.terminology-grid{grid-template-columns:1fr}.welcome-section h2{font-size:1.5rem}.welcome-section p{font-size:1rem}.section{padding:calc(var(--spacing-unit) * 3)}.question-text{font-size:1.125rem}.quiz-result{padding:calc(var(--spacing-unit) * 4)}.score-circle{width:150px;height:150px}.score-number{font-size:2.5rem}.result-actions{flex-direction:column}.result-actions button{width:100%}}@media (max-width: 480px){.container{padding:0 calc(var(--spacing-unit) * 1.5)}.unit-card,.section{padding:calc(var(--spacing-unit) * 2)}.question-card{padding:calc(var(--spacing-unit) * 3)}.option-button{padding:calc(var(--spacing-unit) * 1.5)}}.flashcard-section{background:linear-gradient(135deg,#fef3c7,#fde68a,#fcd34d);border-radius:calc(var(--border-radius) * 1.5);box-shadow:0 8px 20px #0000001f;position:relative}.flashcard-section:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#f59e0b,#d97706,#b45309);border-radius:var(--border-radius) var(--border-radius) 0 0}.flashcard-stats{background:var(--surface-elevated);padding:calc(var(--spacing-unit) * 2);border-radius:10px;margin-bottom:calc(var(--spacing-unit) * 3);text-align:center;font-weight:600;color:#78350f}.flashcard{perspective:1000px;height:300px;margin-bottom:calc(var(--spacing-unit) * 3);cursor:pointer}.flashcard-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--spacing-unit) * 4);background:var(--surface);border-radius:12px;box-shadow:0 4px 12px #00000026}.flashcard-back{transform:rotateY(180deg)}.flashcard-label{font-size:.875rem;font-weight:600;text-transform:uppercase;color:#f59e0b;margin-bottom:calc(var(--spacing-unit) * 2)}.flashcard-text{font-size:1.5rem;font-weight:600;color:#78350f;text-align:center;line-height:1.5}.flashcard-hint{margin-top:calc(var(--spacing-unit) * 3);font-size:.875rem;color:#a16207;font-style:italic}.flashcard-controls{display:flex;justify-content:space-between;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.flashcard-nav-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.flashcard-nav-button:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-2px);box-shadow:0 6px 15px #f59e0b66}.flashcard-nav-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.mastery-button{flex:1;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:var(--text-primary);border:2px solid #9ca3af;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.mastery-button:hover{background:linear-gradient(135deg,#d1d5db,#9ca3af);transform:translateY(-2px)}.mastery-button.mastered{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#047857}.mastery-button.mastered:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 15px #10b98166}.flashcard-actions{margin-top:calc(var(--spacing-unit) * 3);text-align:center}.reset-button{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 4);background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:2px solid #fca5a5;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease}.reset-button:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:translateY(-2px);box-shadow:0 6px 15px #dc26264d}.flashcard-filter-section{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3)}.flashcard-filters{display:flex;flex-wrap:wrap;gap:calc(var(--spacing-unit) * 1.5);justify-content:center}.flashcard-filters button{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2.5);border:2px solid transparent;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:var(--surface-elevated);color:#78350f}.flashcard-filters button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.flashcard-filters button.active{border-width:3px;transform:scale(1.05);box-shadow:0 6px 15px #0003}.card-type-explain{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.card-type-explain.active{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.card-type-analyse{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a)}.card-type-analyse.active{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.card-type-discuss{border-color:var(--primary-color);background:var(--brand-soft)}.card-type-discuss.active{background:var(--primary-color);color:#fff}.shuffle-button{align-self:center;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 4);background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.shuffle-button:hover{background:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 15px #0d948866}.flashcard-stats{display:flex;justify-content:space-around;align-items:center;background:var(--surface-elevated);padding:calc(var(--spacing-unit) * 2);border-radius:10px;margin-bottom:calc(var(--spacing-unit) * 3)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:calc(var(--spacing-unit) * .5)}.stat-label{font-size:.85rem;font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:1.1rem;font-weight:700;color:#78350f}.flashcard-type-badge{position:absolute;top:calc(var(--spacing-unit) * 2);left:calc(var(--spacing-unit) * 2);display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);border-radius:8px;font-size:.9rem;font-weight:700}.flashcard.card-type-define .flashcard-type-badge{background:var(--primary-color);color:#fff}.flashcard.card-type-explain .flashcard-type-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.flashcard.card-type-analyse .flashcard-type-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.flashcard.card-type-discuss .flashcard-type-badge{background:var(--primary-color);color:#fff}.flashcard.card-type-define .flashcard-front,.flashcard.card-type-define .flashcard-back{border:3px solid var(--primary-color)}.flashcard.card-type-explain .flashcard-front,.flashcard.card-type-explain .flashcard-back{border:3px solid #10b981}.flashcard.card-type-analyse .flashcard-front,.flashcard.card-type-analyse .flashcard-back{border:3px solid #f59e0b}.flashcard.card-type-discuss .flashcard-front,.flashcard.card-type-discuss .flashcard-back{border:3px solid var(--primary-color)}.flashcard-answer ul{list-style:none;padding:0;margin:0;text-align:left;width:100%}.flashcard-answer li{margin-bottom:calc(var(--spacing-unit) * 1);padding-left:calc(var(--spacing-unit) * 3);position:relative;font-size:1.1rem;line-height:1.6;color:var(--text-primary)}.flashcard-answer li:before{content:"•";position:absolute;left:calc(var(--spacing-unit) * 1);color:#f59e0b;font-weight:700;font-size:1.3rem}.flashcard-answer li.sub-bullet{padding-left:calc(var(--spacing-unit) * 5);font-size:1rem}.flashcard-answer li.sub-bullet:before{content:"◦";left:calc(var(--spacing-unit) * 3);font-size:1.1rem}.flashcard-answer .answer-subheading{font-size:1.2rem;font-weight:700;color:#92400e;margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 1);text-align:left;width:100%}.flashcard-answer p{text-align:left;font-size:1.1rem;line-height:1.6;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1)}.flashcard{height:400px}.keyboard-hints{display:flex;justify-content:center;gap:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 2);font-size:.85rem;color:#92400e;font-weight:600}.keyboard-hints span{padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);background:var(--surface-elevated);border-radius:6px;border:1px solid #fbbf24}.no-cards-message{text-align:center;padding:calc(var(--spacing-unit) * 4);background:var(--surface-elevated);border-radius:12px}.no-cards-message p{font-size:1.1rem;color:#78350f;margin-bottom:calc(var(--spacing-unit) * 2)}.no-cards-message button{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.no-cards-message button:hover{background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-2px)}.mcq-section{background:var(--surface);border-left:4px solid var(--primary-color);border-radius:calc(var(--border-radius) * 1.5);box-shadow:0 8px 20px #0000001f;position:relative}.mcq-section:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-color);border-radius:var(--border-radius) var(--border-radius) 0 0}.mcq-stats{background:var(--surface-elevated);padding:calc(var(--spacing-unit) * 2);border-radius:10px;margin-bottom:calc(var(--spacing-unit) * 3);text-align:center;font-weight:600;color:var(--text-primary)}.mcq-container{background:var(--surface);padding:calc(var(--spacing-unit) * 4);border-radius:12px;box-shadow:0 4px 12px #00000014}.mcq-question{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 4);line-height:1.6}.mcq-options{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.mcq-option{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 3);background:var(--state-info-bg);border:3px solid var(--brand-soft);border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:1rem;text-align:left;width:100%}.mcq-option:hover:not(:disabled){background:var(--brand-soft);border-color:var(--primary-color);transform:translate(8px)}.mcq-option:disabled{cursor:not-allowed}.option-letter{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;font-size:1.1rem;flex-shrink:0}.option-text{flex:1;color:var(--text-primary);font-weight:500}.option-indicator{font-size:1.5rem;font-weight:700;flex-shrink:0}.mcq-option.correct{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981}.mcq-option.correct .option-letter{background:linear-gradient(135deg,#10b981,#059669)}.mcq-option.correct .option-indicator{color:#059669}.mcq-option.incorrect{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.mcq-option.incorrect .option-letter{background:linear-gradient(135deg,#ef4444,#dc2626)}.mcq-option.incorrect .option-indicator{color:#dc2626}.mcq-explanation{margin-top:calc(var(--spacing-unit) * 4);padding:calc(var(--spacing-unit) * 3);background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:5px solid #f59e0b;border-radius:10px}.mcq-explanation h4{color:#92400e;margin-bottom:calc(var(--spacing-unit) * 2);font-size:1.1rem}.mcq-explanation p{color:#78350f;line-height:1.7}.mcq-controls{display:flex;justify-content:space-between;gap:calc(var(--spacing-unit) * 2);margin-top:calc(var(--spacing-unit) * 4)}.mcq-nav-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);background:var(--primary-color);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.mcq-nav-button:hover:not(:disabled){background:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 15px #0ea5e966}.mcq-nav-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.written-questions-section{background:var(--surface);border-left:4px solid var(--primary-color);border-radius:calc(var(--border-radius) * 1.5);box-shadow:0 8px 20px #0000001f;position:relative}.written-questions-section:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--primary-color);border-radius:var(--border-radius) var(--border-radius) 0 0}.written-question-selector{display:flex;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3);flex-wrap:wrap}.question-selector-btn{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);background:var(--surface);color:var(--primary-color);border:2px solid var(--primary-color);border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease}.question-selector-btn:hover{background:var(--surface-subtle);border-color:var(--primary-color);transform:translateY(-2px)}.question-selector-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.question-selector-btn.submitted{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#10b981;color:#065f46}.question-selector-btn.saved{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e}.written-question-container{background:var(--surface);padding:calc(var(--spacing-unit) * 4);border-radius:12px;box-shadow:0 4px 12px #00000014}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 3)}.question-header h4{color:var(--primary-color);font-size:1.3rem;margin:0}.marks-badge{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);background:var(--primary-color);color:#fff;border-radius:20px;font-weight:700;font-size:.95rem}.question-text{font-size:1.1rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 3);padding:calc(var(--spacing-unit) * 3);background:var(--surface-subtle);border-left:4px solid var(--primary-color);border-radius:8px;line-height:1.6}.answer-textarea{width:100%;padding:calc(var(--spacing-unit) * 3);border:3px solid var(--brand-soft);border-radius:12px;font-size:1rem;font-family:inherit;line-height:1.7;resize:vertical;transition:border-color .3s ease}.answer-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #a855f71a}.answer-textarea:disabled{background:var(--surface-subtle);cursor:not-allowed}.answer-controls{display:flex;gap:calc(var(--spacing-unit) * 2);margin-top:calc(var(--spacing-unit) * 3)}.save-button{flex:1;padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 4);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.save-button:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b,#d97706);transform:translateY(-2px);box-shadow:0 6px 15px #f59e0b66}.save-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.submit-button{flex:1;padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 4);background:var(--primary-color);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease}.submit-button:hover:not(:disabled){background:var(--primary-color);transform:translateY(-2px);box-shadow:0 6px 15px #a855f766}.submit-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.feedback-container{margin-top:calc(var(--spacing-unit) * 4);padding:calc(var(--spacing-unit) * 4);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;border:2px solid #86efac}.score-display{font-size:1.3rem;font-weight:700;color:#065f46;margin-bottom:calc(var(--spacing-unit) * 3)}.score-bar{width:100%;height:20px;background:#d1fae5;border-radius:10px;margin-top:calc(var(--spacing-unit) * 2);overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .5s ease}.feedback-text{margin-top:calc(var(--spacing-unit) * 3)}.feedback-text h4{color:#065f46;margin-bottom:calc(var(--spacing-unit) * 2);font-size:1.1rem}.feedback-text pre{white-space:pre-wrap;font-family:inherit;color:#047857;line-height:1.7;margin:0}.ai-generator{background:linear-gradient(135deg,#fce7f3,#fbcfe8,#f9a8d4);border-radius:calc(var(--border-radius) * 1.5);box-shadow:0 8px 20px #0000001f;position:relative}.ai-generator:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#ec4899,#db2777,#be185d);border-radius:var(--border-radius) var(--border-radius) 0 0}.ai-description{color:#831843;font-size:1.05rem;margin-bottom:calc(var(--spacing-unit) * 3);line-height:1.6}.ai-setup{background:var(--surface);padding:calc(var(--spacing-unit) * 4);border-radius:12px;box-shadow:0 4px 12px #00000014}.setup-info{margin-bottom:calc(var(--spacing-unit) * 4);padding:calc(var(--spacing-unit) * 3);background:var(--brand-soft);border-radius:10px;border-left:4px solid var(--primary-color)}.setup-info h4{color:var(--state-info-text);font-size:1.2rem;margin-bottom:calc(var(--spacing-unit) * 2)}.setup-info ol{margin-left:calc(var(--spacing-unit) * 3);color:var(--state-info-text);line-height:1.8}.setup-info li{margin-bottom:calc(var(--spacing-unit) * 2)}.setup-info ul{margin-left:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 1)}.setup-info a{color:var(--primary-color);font-weight:600;text-decoration:underline}.setup-info a:hover{color:var(--state-info-text)}.api-key-form{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.api-key-form label{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1);font-weight:600;color:#831843}.api-key-form select,.api-key-form input{padding:calc(var(--spacing-unit) * 2);border:2px solid #f9a8d4;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.api-key-form select:focus,.api-key-form input:focus{outline:none;border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a}.save-key-button{padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 4);background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1.05rem;font-weight:600;transition:all .3s ease}.save-key-button:hover{background:linear-gradient(135deg,#db2777,#be185d);transform:translateY(-2px);box-shadow:0 6px 15px #ec489966}.ai-generator-controls{background:var(--surface);padding:calc(var(--spacing-unit) * 4);border-radius:12px;box-shadow:0 4px 12px #00000014}.generator-header{display:flex;justify-content:flex-end;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3)}.change-key-button,.clear-key-button{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);background:var(--background-subtle);color:#4b5563;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.change-key-button:hover{background:#e5e7eb;border-color:#9ca3af}.clear-key-button:hover{background:var(--state-error-bg);border-color:#fca5a5;color:#991b1b}.question-controls{display:flex;gap:calc(var(--spacing-unit) * 3);align-items:flex-end;margin-bottom:calc(var(--spacing-unit) * 3)}.question-controls label{flex:1;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1);font-weight:600;color:#831843}.question-controls select{padding:calc(var(--spacing-unit) * 2);border:2px solid #f9a8d4;border-radius:8px;font-size:1rem}.generate-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;white-space:nowrap}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#be185d);transform:translateY(-2px);box-shadow:0 6px 15px #ec489966}.generate-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.error-message{padding:calc(var(--spacing-unit) * 2);background:var(--state-error-bg);color:#991b1b;border-left:4px solid #ef4444;border-radius:8px;font-weight:500}.generated-content{margin-top:calc(var(--spacing-unit) * 4)}.question-box{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:calc(var(--spacing-unit) * 4);border-radius:12px;border:2px solid #fbbf24}.question-box h4{color:#92400e;font-size:1.1rem;margin-bottom:calc(var(--spacing-unit) * 2)}.question-text{font-size:1.2rem;font-weight:600;color:#78350f;line-height:1.6;margin-bottom:calc(var(--spacing-unit) * 3)}.question-actions{display:flex;gap:calc(var(--spacing-unit) * 2);flex-wrap:wrap}.regenerate-button,.show-answer-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease}.regenerate-button{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.regenerate-button:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.show-answer-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.show-answer-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.show-answer-button:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;transform:none}.regenerate-button:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.answer-box{margin-top:calc(var(--spacing-unit) * 3);background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:calc(var(--spacing-unit) * 4);border-radius:12px;border:2px solid #10b981}.answer-box h4{color:#065f46;font-size:1.1rem;margin-bottom:calc(var(--spacing-unit) * 2)}.answer-text{color:#047857;line-height:1.8;font-size:1.05rem}.answer-text p{margin-bottom:calc(var(--spacing-unit) * 2)}@media (max-width: 768px){.question-controls{flex-direction:column;align-items:stretch}.generate-button{width:100%}.question-actions{flex-direction:column}.regenerate-button,.show-answer-button{width:100%}}.question-marks-label{font-size:.85rem;color:#92400e;font-weight:600;margin-top:0}.answer-writing-box{margin-top:calc(var(--spacing-unit) * 3);background:var(--surface-subtle);border:2px solid #e2e8f0;border-radius:12px;padding:calc(var(--spacing-unit) * 4)}.answer-writing-box h4{color:var(--text-primary);font-size:1.05rem;margin-bottom:calc(var(--spacing-unit) * 1)}.answer-writing-hint{font-size:.9rem;color:#64748b;margin-bottom:calc(var(--spacing-unit) * 2)}.user-answer-textarea{width:100%;box-sizing:border-box;padding:calc(var(--spacing-unit) * 2.5);border:1.5px solid #cbd5e1;border-radius:8px;font-size:1rem;font-family:inherit;line-height:1.6;color:var(--text-primary);background:var(--surface);resize:vertical;transition:border-color .2s;margin-bottom:calc(var(--spacing-unit) * 3)}.user-answer-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d94881a}.answer-writing-actions{display:flex;gap:calc(var(--spacing-unit) * 2);flex-wrap:wrap;align-items:center}.mark-answer-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;background:var(--primary-color);color:#fff}.mark-answer-button:hover:not(:disabled){background:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0d948859}.mark-answer-button:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;transform:none}.show-answer-button--skip{background:transparent;border:1.5px solid #94a3b8;color:#64748b;font-size:.85rem;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2.5)}.show-answer-button--skip:hover:not(:disabled){background:var(--background-subtle);border-color:#64748b;color:#475569;transform:none;box-shadow:none}.ai-marking-results{margin-top:calc(var(--spacing-unit) * 3);border:2px solid #e2e8f0;border-radius:12px;overflow:hidden}.marking-header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);background:#1e293b}.marking-header h4{color:#fff;font-size:1.05rem;margin:0}.marking-score{font-size:1.5rem;font-weight:700;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 2);border-radius:8px;line-height:1}.marking-score--high{background:#d1fae5;color:#065f46}.marking-score--mid{background:var(--state-warning-bg);color:#92400e}.marking-score--low{background:var(--state-error-bg);color:#991b1b}.marking-student-answer{padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);background:var(--surface-subtle);border-bottom:1px solid #e2e8f0}.marking-student-answer h5{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:calc(var(--spacing-unit) * 1)}.marking-student-answer p{color:var(--text-primary);line-height:1.6;font-size:.95rem;white-space:pre-wrap}.marking-section{padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);border-bottom:1px solid #e2e8f0}.marking-section h5{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 1)}.marking-section p{font-size:.95rem;line-height:1.7;white-space:pre-wrap}.marking-section--positive{background:var(--state-success-bg)}.marking-section--positive h5,.marking-section--positive p{color:var(--state-success-text)}.marking-section--improve{background:var(--state-warning-bg)}.marking-section--improve h5{color:#92400e}.marking-section--improve p{color:#b45309}.marking-section--missing{background:var(--state-error-bg)}.marking-section--missing h5{color:#991b1b}.marking-section--missing p{color:#b91c1c}.marking-actions{display:flex;gap:calc(var(--spacing-unit) * 2);flex-wrap:wrap;padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);background:var(--surface-subtle)}@media (max-width: 768px){.answer-writing-actions{flex-direction:column;align-items:stretch}.answer-writing-actions button{width:100%}.marking-actions{flex-direction:column}.marking-actions button{width:100%}}.practice-questions{background:linear-gradient(135deg,#f0fdfa,#ccfbf1,#99f6e4);border-radius:calc(var(--border-radius) * 1.5);box-shadow:0 8px 20px #0000001f;position:relative}.practice-questions:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#14b8a6,#0d9488,#0f766e);border-radius:var(--border-radius) var(--border-radius) 0 0}.practice-stats{background:var(--surface-elevated);padding:calc(var(--spacing-unit) * 2);border-radius:10px;margin-bottom:calc(var(--spacing-unit) * 3);text-align:center;font-weight:600;color:var(--text-secondary);display:flex;justify-content:center;gap:calc(var(--spacing-unit) * 4);flex-wrap:wrap}.filter-controls{margin-bottom:calc(var(--spacing-unit) * 3)}.filter-controls label{display:block;font-weight:600;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 2);font-size:1.05rem}.filter-buttons{display:flex;gap:calc(var(--spacing-unit) * 2);flex-wrap:wrap}.filter-buttons button{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);background:var(--surface);color:var(--text-secondary);border:2px solid #99f6e4;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease}.filter-buttons button:hover{background:var(--state-success-bg);border-color:#14b8a6;transform:translateY(-2px)}.filter-buttons button.active{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border-color:#0f766e}.question-container{background:var(--surface);padding:calc(var(--spacing-unit) * 4);border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:calc(var(--spacing-unit) * 3)}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 3);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:2px solid #ccfbf1}.question-header-left{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2)}.question-type{padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:8px;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.question-marks{font-weight:700;font-size:1.1rem;color:#0f766e}.timer{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2.5);background:var(--brand-soft);border-radius:10px;box-shadow:0 2px 6px #0d948833}.timer-icon{font-size:1.2rem}.timer-value{font-weight:700;font-size:1.1rem;color:var(--state-info-text);font-variant-numeric:tabular-nums;min-width:50px;text-align:center}.answer-input{width:100%;padding:calc(var(--spacing-unit) * 3);border:3px solid #ccfbf1;border-radius:12px;font-size:1rem;font-family:inherit;line-height:1.8;resize:vertical;min-height:250px;transition:border-color .3s ease}.answer-input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a}.answer-meta{display:flex;justify-content:space-between;margin-top:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * 3);color:#64748b;font-size:.875rem;font-style:italic}.word-count{font-weight:600}.feedback-container .answer-section{margin-bottom:calc(var(--spacing-unit) * 4)}.feedback-container h4{color:var(--text-secondary);font-size:1.2rem;margin-bottom:calc(var(--spacing-unit) * 2);font-weight:700}.user-answer{background:var(--surface-subtle);padding:calc(var(--spacing-unit) * 3);border-radius:10px;border-left:4px solid #94a3b8;line-height:1.8;color:var(--text-primary);white-space:pre-wrap}.keyword-check{background:var(--brand-soft);padding:calc(var(--spacing-unit) * 2);border-radius:8px;margin-bottom:calc(var(--spacing-unit) * 3);font-weight:600;color:var(--state-info-text);border-left:4px solid var(--primary-color)}.model-answer-section{margin-bottom:calc(var(--spacing-unit) * 4)}.model-answer{background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:calc(var(--spacing-unit) * 3);border-radius:10px;border-left:4px solid #10b981;line-height:1.8;color:#065f46;white-space:pre-wrap}.mark-scheme-section{margin-bottom:calc(var(--spacing-unit) * 4)}.mark-scheme{list-style:none;padding:0}.mark-scheme li{background:var(--state-warning-bg);padding:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 1.5);border-radius:8px;border-left:4px solid #f59e0b;display:flex;justify-content:space-between;align-items:center}.mark-point{color:#78350f;flex:1;font-weight:500}.mark-value{color:#92400e;font-weight:700;font-size:.9rem;background:var(--surface);padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:6px}.self-assessment{margin-bottom:calc(var(--spacing-unit) * 4);background:var(--state-info-bg);padding:calc(var(--spacing-unit) * 3);border-radius:10px;border-left:4px solid var(--primary-color)}.self-assessment h4{color:var(--state-info-text)}.score-input{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 2)}.score-input input[type=range]{flex:1;height:8px;border-radius:4px;background:var(--brand-soft);outline:none;-webkit-appearance:none}.score-input input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary-color);cursor:pointer;box-shadow:0 2px 6px #0d948866}.score-input input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none;box-shadow:0 2px 6px #0d948866}.score-display{font-weight:700;font-size:1.3rem;color:var(--state-info-text);min-width:80px;text-align:center;background:var(--surface);padding:calc(var(--spacing-unit) * 1.5);border-radius:8px}.feedback-section{margin-top:calc(var(--spacing-unit) * 4)}.www{background:linear-gradient(135deg,#d1fae5,#a7f3d0);padding:calc(var(--spacing-unit) * 3);border-radius:10px;margin-bottom:calc(var(--spacing-unit) * 2);border-left:4px solid #10b981}.www h4{color:#065f46}.www p{color:#047857;line-height:1.7;margin:0}.ebi{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:calc(var(--spacing-unit) * 3);border-radius:10px;border-left:4px solid #f59e0b}.ebi h4{color:#92400e}.ebi p{color:#78350f;line-height:1.7;margin:0}.history-section{margin-top:calc(var(--spacing-unit) * 6);padding-top:calc(var(--spacing-unit) * 4);border-top:2px solid #ccfbf1}.history-toggle{background:transparent;border:2px solid #99f6e4;color:var(--text-secondary);padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .3s ease;width:100%;text-align:left}.history-toggle:hover{background:var(--state-success-bg);border-color:#14b8a6}.history-list{margin-top:calc(var(--spacing-unit) * 3);display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.history-item{background:var(--surface);padding:calc(var(--spacing-unit) * 3);border-radius:10px;border-left:4px solid #14b8a6;box-shadow:0 2px 6px #0000000d}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 1);flex-wrap:wrap;gap:calc(var(--spacing-unit) * 2)}.history-type{font-weight:600;color:var(--text-secondary)}.history-score{font-weight:700;color:#0f766e;background:#ccfbf1;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:6px}.history-date{color:#64748b;font-size:.875rem}.history-question{color:#475569;line-height:1.6;margin:0}.unit-practice-banner{background:linear-gradient(135deg,#f0fdfa,#ccfbf1,#99f6e4);padding:calc(var(--spacing-unit) * 4);border-radius:12px;margin-bottom:calc(var(--spacing-unit) * 3);text-align:center;box-shadow:0 4px 12px #14b8a633;border:2px solid #5eead4}.unit-practice-banner h3{color:var(--text-secondary);font-size:1.5rem;margin-bottom:calc(var(--spacing-unit) * 1)}.unit-practice-banner p{color:#0f766e;margin-bottom:calc(var(--spacing-unit) * 3)}@media (max-width: 768px){.filter-buttons{flex-direction:column}.filter-buttons button{width:100%}.practice-stats{flex-direction:column;gap:calc(var(--spacing-unit) * 1)}.question-container{padding:calc(var(--spacing-unit) * 3)}.answer-input{min-height:200px}.question-header{flex-direction:column;align-items:flex-start;gap:calc(var(--spacing-unit) * 2)}.question-header-left{flex-wrap:wrap}.timer{width:100%;justify-content:center}.flashcard-filters{flex-direction:column}.flashcard-filters button{width:100%}.flashcard-stats{flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.flashcard{height:350px}.flashcard-text{font-size:1.2rem}.flashcard-answer li{font-size:1rem}.keyboard-hints{flex-direction:column;gap:calc(var(--spacing-unit) * 1)}}:root{--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}.app{min-height:100vh;display:flex;flex-direction:column}.home-button-header{display:flex;align-items:center;gap:calc(var(--spacing-unit));background:var(--surface-overlay);border:1px solid rgba(255,255,255,.2);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-primary)}.home-button-header:hover{background:var(--surface-overlay);border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.home-button-header:active{transform:translateY(0)}.home-button-icon{font-size:1.125rem;line-height:1}.home-button-label{font-weight:600}.cambridge-badge{display:flex;align-items:center;gap:calc(var(--spacing-unit));background:var(--surface-overlay);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.badge-icon{font-size:1.5rem}.badge-text{font-size:.875rem;font-weight:600;text-align:center;line-height:1.2}.main-navigation{background:var(--surface);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100;border-bottom:2px solid var(--border-color)}.nav-wrapper{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--spacing-unit) * 1.5) 0;gap:calc(var(--spacing-unit) * 2)}.nav-left{flex:1;display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2)}.mobile-menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:calc(var(--spacing-unit));color:var(--text-primary)}.nav-items{display:flex;gap:calc(var(--spacing-unit));flex-wrap:wrap}.nav-item{display:flex;align-items:center;gap:calc(var(--spacing-unit));background:none;border:none;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.nav-item:hover{background:var(--background);color:var(--text-primary);transform:translateY(-1px)}.nav-item.active{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-md)}.nav-icon{font-size:1.125rem}.nav-right{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2)}.search-container{position:relative;width:240px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:calc(var(--spacing-unit) * 1.5);font-size:1.125rem;color:var(--text-secondary)}.search-input{width:100%;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 5);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;transition:all .2s}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #00bcd41a}.search-clear{position:absolute;right:calc(var(--spacing-unit) * 1.5);background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1.125rem;padding:calc(var(--spacing-unit) * .5)}.search-results{position:absolute;top:calc(100% + calc(var(--spacing-unit)));left:0;right:0;background:var(--surface);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-xl);max-height:400px;overflow-y:auto;z-index:1000}.search-result-item{display:flex;gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 2);cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border-color)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--background)}.search-result-item.no-results{cursor:default}.search-result-item.no-results:hover{background:var(--surface)}.result-icon{font-size:1.5rem;flex-shrink:0}.result-content{flex:1}.result-title{font-weight:600;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.result-snippet{font-size:.875rem;color:var(--text-secondary)}.utility-nav{position:relative}.utility-toggle{background:none;border:2px solid var(--border-color);padding:calc(var(--spacing-unit) * 1.5);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;font-size:1.25rem;color:var(--text-primary)}.utility-toggle:hover{background:var(--background);border-color:var(--primary-color)}.utility-dropdown{position:absolute;top:calc(100% + calc(var(--spacing-unit)));right:0;background:var(--surface);border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-xl);min-width:200px;z-index:1000}.utility-item{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5);width:100%;padding:calc(var(--spacing-unit) * 2);background:none;border:none;cursor:pointer;transition:background .2s;text-align:left;font-size:.875rem;font-weight:500;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.utility-item:last-child{border-bottom:none}.utility-item:hover{background:var(--background)}.utility-item-icon{font-size:1.25rem}.main-content{flex:1;padding:calc(var(--spacing-unit) * 4) 0}.modern-footer{background:var(--text-primary);color:#fff;padding:calc(var(--spacing-unit) * 6) 0 calc(var(--spacing-unit) * 3) 0;margin-top:calc(var(--spacing-unit) * 8)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 4)}.footer-section{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.footer-heading{font-size:1.125rem;font-weight:600;margin-bottom:calc(var(--spacing-unit))}.footer-links{display:flex;flex-direction:column;gap:calc(var(--spacing-unit))}.footer-link{background:none;border:none;color:#fffc;text-align:left;cursor:pointer;padding:calc(var(--spacing-unit) * .5) 0;transition:color .2s;font-size:.9375rem}.footer-link:hover{color:#fff;text-decoration:underline}.footer-description{color:#fffc;line-height:1.6;margin:0}.footer-external-link{color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s}.footer-external-link:hover{color:var(--secondary-color)}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:calc(var(--spacing-unit) * 3);text-align:center}.footer-copyright{color:#ffffffe6;margin-bottom:calc(var(--spacing-unit));font-size:.9375rem}.footer-note{color:#fff9;font-size:.875rem}.visitor-stats{margin-top:calc(var(--spacing-unit) * 1.5);display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 1.5);font-size:.8rem;color:#ffffff8c}.visitor-stats strong{color:#ffffffd9;font-weight:600}.visitor-stats-separator{color:#ffffff4d}.container{margin:0 auto;padding:0 calc(var(--spacing-unit) * 2)}.loading{text-align:center;padding:calc(var(--spacing-unit) * 6);font-size:1.125rem;color:var(--text-secondary)}.page-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 5)}.page-header h2{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.page-header p{font-size:1.125rem;color:var(--text-secondary)}@media (max-width: 1024px){.search-container{width:180px}.nav-item{padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1);font-size:.75rem}.nav-wrapper{gap:calc(var(--spacing-unit) * .5)}.nav-left{gap:calc(var(--spacing-unit) * 1)}.nav-items{gap:calc(var(--spacing-unit) * .5)}.nav-icon{display:none}}@media (max-width: 768px){.main-title{font-size:1.75rem}.title-icon{font-size:2rem}.cambridge-badge{display:none}.mobile-menu-toggle{display:block}.nav-items{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);flex-direction:column;box-shadow:var(--shadow-lg);padding:calc(var(--spacing-unit) * 2)}.nav-items.mobile-open{display:flex}.nav-item{width:100%;justify-content:flex-start}.search-container{width:100%;max-width:240px}}.definitions-page{padding:calc(var(--spacing-unit) * 4) 0}.definitions-filters{display:flex;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 3);flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.definitions-search{width:100%;padding:calc(var(--spacing-unit) * 2);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:all .2s}.definitions-search:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #00bcd41a}.unit-filter{width:100%;padding:calc(var(--spacing-unit) * 2);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;cursor:pointer;background:var(--surface);transition:all .2s}.unit-filter:focus{outline:none;border-color:var(--primary-color)}.definitions-count{text-align:center;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 3);font-weight:500}.definitions-list{display:grid;gap:calc(var(--spacing-unit) * 2)}.definition-card{background:var(--surface);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-sm);transition:all .2s}.definition-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color)}.definition-header{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.definition-term{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0}.definition-unit-badge{background:var(--primary-color);color:#fff;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) * .5);font-size:.8125rem;font-weight:600;white-space:nowrap}.definition-text{font-size:1rem;line-height:1.6;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.definition-context{font-size:.875rem;color:var(--text-secondary);font-style:italic}.no-results{text-align:center;padding:calc(var(--spacing-unit) * 6);color:var(--text-secondary)}.exam-tips-page{padding:calc(var(--spacing-unit) * 4) 0}.tips-sections{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 6)}.tip-section{background:var(--surface);border-radius:calc(var(--border-radius) * 1.5);padding:calc(var(--spacing-unit) * 4);box-shadow:var(--shadow-md)}.tip-section-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 3);padding-bottom:calc(var(--spacing-unit) * 2);border-bottom:3px solid var(--primary-color)}.tip-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:calc(var(--spacing-unit) * 3)}.tip-card{background:var(--background);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3)}.tip-card h4{font-size:1.25rem;font-weight:700;color:var(--primary-color);margin-bottom:calc(var(--spacing-unit) * 1.5)}.tip-card p{margin-bottom:calc(var(--spacing-unit) * 1.5);line-height:1.6;color:var(--text-secondary)}.tip-card ul{padding-left:calc(var(--spacing-unit) * 3);margin:0}.tip-card li{margin-bottom:calc(var(--spacing-unit));color:var(--text-primary);line-height:1.5}.tip-content{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.tip-card-horizontal{display:flex;gap:calc(var(--spacing-unit) * 3);background:var(--background);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);align-items:flex-start}.tip-number{background:var(--primary-color);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0}.tip-text h4{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit))}.tip-text p{color:var(--text-secondary);line-height:1.6;margin:0}.dos-donts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:calc(var(--spacing-unit) * 3)}.dos,.donts{background:var(--background);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3)}.dos{border:3px solid var(--success-color)}.donts{border:3px solid var(--danger-color)}.dos h4{color:var(--success-color);font-size:1.375rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2)}.donts h4{color:var(--danger-color);font-size:1.375rem;font-weight:700;margin-bottom:calc(var(--spacing-unit) * 2)}.dos ul,.donts ul{padding-left:calc(var(--spacing-unit) * 3);margin:0}.dos li,.donts li{margin-bottom:calc(var(--spacing-unit) * 1.5);line-height:1.5;color:var(--text-primary)}.strategy-timeline{display:grid;gap:calc(var(--spacing-unit) * 3)}.strategy-item{background:var(--background);border-left:4px solid var(--primary-color);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius)}.strategy-item h4{font-size:1.25rem;font-weight:700;color:var(--primary-color);margin-bottom:calc(var(--spacing-unit) * 1.5)}.strategy-item p{color:var(--text-secondary);line-height:1.6;margin:0}.command-words{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:calc(var(--spacing-unit) * 2)}.command-word-item{background:var(--background);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);font-size:.9375rem;line-height:1.5}.command-word-item strong{color:var(--primary-color);display:block;margin-bottom:calc(var(--spacing-unit) * .5);font-size:1.125rem}.about-page{padding:calc(var(--spacing-unit) * 4) 0}.about-content{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 5)}.about-section{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 4);box-shadow:var(--shadow-sm)}.about-section h3{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.about-section p{font-size:1.0625rem;line-height:1.7;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 2)}.about-section p:last-child{margin-bottom:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 3)}.feature-box{background:var(--background);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);text-align:center;transition:all .2s}.feature-box:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.feature-box .feature-icon{font-size:3rem;margin-bottom:calc(var(--spacing-unit) * 2)}.feature-box h4{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.feature-box p{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin:0}.usage-steps{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 3)}.usage-step{display:flex;gap:calc(var(--spacing-unit) * 3);align-items:flex-start}.step-number{background:var(--primary-color);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:700;flex-shrink:0;box-shadow:var(--shadow-md)}.step-content h4{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit))}.step-content p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0}.coverage-list{display:grid;gap:calc(var(--spacing-unit) * 2);margin-top:calc(var(--spacing-unit) * 3)}.coverage-item{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);background:var(--background);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);font-size:1rem}.coverage-icon{font-size:1.75rem;flex-shrink:0}.tips-list{padding-left:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 2)}.tips-list li{margin-bottom:calc(var(--spacing-unit) * 1.5);line-height:1.6;color:var(--text-secondary)}.exam-info-list{padding-left:calc(var(--spacing-unit) * 3);margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.exam-info-list li{margin-bottom:calc(var(--spacing-unit) * 1.5);line-height:1.6;color:var(--text-secondary)}.about-section.disclaimer{background:var(--brand-soft);border:2px solid var(--border-color)}.disclaimer p{font-size:.9375rem;font-style:italic;color:var(--text-primary)}.utility-nav-header{display:flex;gap:calc(var(--spacing-unit));align-items:center}.utility-item-header{background:var(--surface-overlay);border:none;padding:calc(var(--spacing-unit) * 1.5);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;font-size:1.25rem;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.utility-item-header:hover{background:var(--surface-overlay);transform:translateY(-2px)}.header-utility-columns{display:flex;flex-direction:row;gap:calc(var(--spacing-unit) * 1)}.header-top-utility-group{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .75)}.header-top-utility-btn{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);background:var(--surface-overlay);border:1px solid rgba(255,255,255,.15);padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 1.5);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%}.header-top-utility-btn:hover{background:var(--surface-overlay);transform:translate(2px);box-shadow:0 2px 8px #0003}.header-top-utility-btn.active{background:var(--surface-overlay);border-color:#fff6;box-shadow:0 2px 10px #00000040}.header-top-utility-icon{font-size:1rem;flex-shrink:0}.header-top-utility-label{font-size:.8125rem;font-weight:600;letter-spacing:.01em}@media (min-width: 1025px){.search-container{position:relative;width:280px}}@media (max-width: 1024px){.search-container{position:relative;width:180px}}.search-input{background:var(--surface);color:var(--text-primary)}.search-input::placeholder{color:var(--text-secondary)}.main-navigation{display:none!important}.unit-placeholder{text-align:center;padding:calc(var(--spacing-unit) * 8) calc(var(--spacing-unit) * 4);max-width:800px;margin:0 auto}.placeholder-icon{font-size:5rem;margin-bottom:calc(var(--spacing-unit) * 3);animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.placeholder-title{font-size:2.5rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.placeholder-subtitle{font-size:1.5rem;color:var(--primary-color);margin-bottom:calc(var(--spacing-unit) * 3)}.placeholder-message{font-size:1.125rem;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 4);line-height:1.6}.placeholder-features{background:var(--surface);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);text-align:left;max-width:500px;margin:0 auto}.placeholder-features p{font-weight:600;margin-bottom:calc(var(--spacing-unit) * 2);color:var(--text-primary)}.placeholder-features ul{list-style:none;padding:0}.placeholder-features li{padding:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit));background:var(--background);border-radius:var(--border-radius);color:var(--text-secondary)}.definitions-page{min-height:100vh;padding-bottom:calc(var(--spacing-unit) * 8)}.definitions-header{text-align:center;padding:calc(var(--spacing-unit) * 6) 0 calc(var(--spacing-unit) * 4);background:var(--primary-color);color:#fff;margin:0 calc(var(--spacing-unit) * -3) calc(var(--spacing-unit) * 4);border-radius:0 0 calc(var(--border-radius) * 2) calc(var(--border-radius) * 2)}.definitions-main-title{font-size:2.5rem;margin-bottom:calc(var(--spacing-unit) * 2);font-weight:700}.definitions-subtitle{font-size:1.125rem;opacity:.95;margin-bottom:calc(var(--spacing-unit) * 3)}.definitions-count-badge{display:inline-block;background:var(--surface-overlay);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);border-radius:calc(var(--border-radius) * 2);font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.definitions-search-section{margin-bottom:calc(var(--spacing-unit) * 4)}.search-input-wrapper-definitions{position:relative;max-width:600px;margin:0 auto}.search-icon-definitions{position:absolute;left:calc(var(--spacing-unit) * 2);top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--text-secondary)}.definitions-search-input{width:100%;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 5);font-size:1rem;border:2px solid var(--border-color);border-radius:calc(var(--border-radius) * 2);background:var(--surface);color:var(--text-primary);transition:all .2s}.definitions-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #38bdf81a}.search-clear-button{position:absolute;right:calc(var(--spacing-unit) * 2);top:50%;transform:translateY(-50%);background:var(--text-secondary);border:none;color:#fff;width:calc(var(--spacing-unit) * 3);height:calc(var(--spacing-unit) * 3);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all .2s}.search-clear-button:hover{background:var(--text-primary)}.quick-navigation{margin-bottom:calc(var(--spacing-unit) * 4);text-align:center}.quick-nav-title{font-size:1rem;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 2);font-weight:500}.quick-nav-buttons{display:flex;gap:calc(var(--spacing-unit) * 1.5);flex-wrap:wrap;justify-content:center}.quick-nav-btn{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2.5);background:var(--surface);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-size:.875rem;font-weight:600;color:var(--text-primary);transition:all .2s}.quick-nav-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.view-toggle{display:flex;gap:calc(var(--spacing-unit) * 1.5);justify-content:center;margin-bottom:calc(var(--spacing-unit) * 4)}.view-toggle-btn{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);background:var(--surface);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-size:1rem;font-weight:600;color:var(--text-primary);transition:all .2s}.view-toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.view-toggle-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:var(--shadow-md)}.unit-section{margin-bottom:calc(var(--spacing-unit) * 4);scroll-margin-top:calc(var(--spacing-unit) * 4)}.unit-header-btn{width:100%;display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 2.5);background:var(--surface);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;text-align:left;transition:all .2s;margin-bottom:calc(var(--spacing-unit) * 2)}.unit-header-btn:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.expand-icon{font-size:1.25rem;color:var(--primary-color);flex-shrink:0}.unit-section-title{flex:1;font-size:1.5rem;color:var(--text-primary);margin:0;font-weight:700}.unit-def-count{font-size:.875rem;color:var(--text-secondary);font-weight:500}.definitions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:calc(var(--spacing-unit) * 2.5)}.definition-card-full{background:var(--surface);padding:calc(var(--spacing-unit) * 3);border-radius:var(--border-radius);border:1px solid var(--border-color);transition:all .2s}.definition-card-full:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--primary-color)}.def-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.definition-term-title{font-size:1.25rem;color:var(--primary-color);margin:0 0 calc(var(--spacing-unit) * 2);font-weight:700}.unit-badge-small{background:var(--primary-color);color:#fff;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) * 2);font-size:.75rem;font-weight:600;white-space:nowrap;flex-shrink:0}.definition-text-full{color:var(--text-primary);line-height:1.6;margin:0 0 calc(var(--spacing-unit) * 1.5)}.definition-example{color:var(--text-secondary);line-height:1.6;margin:0;padding-top:calc(var(--spacing-unit) * 1.5);border-top:1px solid var(--border-color)}.alphabetical-title{font-size:1.75rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 3);font-weight:700}.back-to-top-btn{position:fixed;bottom:calc(var(--spacing-unit) * 4);right:calc(var(--spacing-unit) * 4);width:calc(var(--spacing-unit) * 6);height:calc(var(--spacing-unit) * 6);background:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all .2s;z-index:50}.back-to-top-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #38bdf866}@media (max-width: 768px){.definitions-main-title{font-size:1.75rem}.definitions-header{margin:0 calc(var(--spacing-unit) * -2) calc(var(--spacing-unit) * 3);padding:calc(var(--spacing-unit) * 4) calc(var(--spacing-unit) * 2)}.quick-nav-buttons{gap:calc(var(--spacing-unit))}.quick-nav-btn{font-size:.8125rem;padding:calc(var(--spacing-unit)) calc(var(--spacing-unit) * 1.5)}.definitions-grid{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 2)}.unit-section-title{font-size:1.125rem}.back-to-top-btn{width:calc(var(--spacing-unit) * 5);height:calc(var(--spacing-unit) * 5);right:calc(var(--spacing-unit) * 2);bottom:calc(var(--spacing-unit) * 2)}}.subunits-view{padding:calc(var(--spacing-unit) * 4) 0;min-height:70vh}.unit-header-section{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 3);margin:calc(var(--spacing-unit) * 4) 0;padding:calc(var(--spacing-unit) * 4);background:var(--brand-soft);border-radius:var(--border-radius);box-shadow:var(--shadow-md)}.unit-header-section .unit-icon-large{font-size:72px;flex-shrink:0}.unit-header-text{flex:1}.unit-main-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.unit-description-text{font-size:1.1rem;color:var(--text-secondary);line-height:1.6}.subunits-intro{text-align:center;margin:calc(var(--spacing-unit) * 5) 0}.subunits-intro h2{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.subunits-intro p{font-size:1.1rem;color:var(--text-secondary);max-width:700px;margin:0 auto}.subunit-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 3);margin:calc(var(--spacing-unit) * 4) 0}.subunit-card-modern{padding:calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);border:2px solid;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.subunit-card-modern:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.subunit-card-header{margin-bottom:calc(var(--spacing-unit) * 2)}.subunit-number-badge{display:inline-block;padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);border-radius:6px;color:#fff;font-weight:700;font-size:.9rem}.subunit-card-title{font-size:1.4rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.learning-objectives{margin:calc(var(--spacing-unit) * 3) 0}.objectives-label{font-weight:600;color:var(--text-secondary);font-size:.9rem;margin-bottom:calc(var(--spacing-unit) * 1)}.objectives-list{list-style:none;padding:0}.objectives-list li{padding:calc(var(--spacing-unit) * 1) 0;padding-left:calc(var(--spacing-unit) * 3);position:relative;color:var(--text-secondary);font-size:.95rem}.objectives-list li:before{content:"✓";position:absolute;left:0;color:var(--secondary-color);font-weight:700}.subunit-card-footer{margin-top:calc(var(--spacing-unit) * 3)}.start-topic-button{width:100%;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.start-topic-button:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.unit-practice-section{margin-top:calc(var(--spacing-unit) * 6)}.practice-card{background:linear-gradient(135deg,#f0fdf4,#dcfce7);padding:calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);text-align:center;border:2px solid var(--secondary-color);box-shadow:var(--shadow-md)}.practice-card h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.practice-card p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * 3)}.unit-practice-button{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);background-color:var(--secondary-color);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.unit-practice-button:hover{background-color:#059669;transform:translateY(-2px);box-shadow:var(--shadow-md)}.study-guide-card{margin-top:calc(var(--spacing-unit) * 3);background:var(--surface);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-sm)}.study-guide-card-content{display:flex;align-items:flex-start;gap:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 2)}.study-guide-card-icon{flex-shrink:0;width:48px;height:48px;background:var(--primary-color);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.8rem;letter-spacing:.05em}.study-guide-card-text h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.study-guide-card-text p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.study-guide-button-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.study-guide-download-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:var(--state-info-text);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .2s ease,transform .15s ease,box-shadow .15s ease;box-shadow:0 2px 4px #1e3a8a40}.study-guide-download-btn:hover:not(:disabled){background-color:var(--state-info-text);transform:translateY(-1px);box-shadow:0 4px 8px #1e3a8a4d}.study-guide-download-btn:active:not(:disabled){transform:translateY(0)}.study-guide-download-btn:disabled{opacity:.75;cursor:not-allowed}.study-guide-download-btn.success{background-color:#059669}.btn-icon{font-size:1rem;font-weight:700;line-height:1}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.study-guide-error{font-size:.8rem;color:var(--danger-color);margin:0}.study-guide-hint{font-size:.78rem;color:var(--text-secondary);margin:0}[data-theme=dark] .study-guide-card{background:var(--surface);border-color:var(--border-color)}[data-theme=dark] .study-guide-card-icon{background:var(--primary-color)}@media (max-width: 768px){.unit-header-section{flex-direction:column;text-align:center}.unit-main-title{font-size:1.5rem}.subunit-cards-grid{grid-template-columns:1fr}}@media print{.definitions-search-section,.quick-navigation,.view-toggle,.back-to-top-btn,.expand-icon{display:none}.unit-header-btn{pointer-events:none}.definitions-header{background:none;color:#000}.definition-card-full{break-inside:avoid;page-break-inside:avoid}}.study-streak{display:inline-flex;align-items:center;gap:calc(var(--spacing-unit) * 1);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2.5);border-radius:calc(var(--border-radius) * 2);font-weight:600;font-size:1.125rem;margin:calc(var(--spacing-unit) * 2) 0;box-shadow:0 4px 12px #f59e0b66}.streak-icon{font-size:1.5rem}.review-today-section{margin:calc(var(--spacing-unit) * 4) 0;padding:calc(var(--spacing-unit) * 3);background:var(--surface);border-radius:var(--border-radius);border:2px solid var(--primary-color)}.review-container{max-width:1200px;margin:0 auto}.review-container h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:calc(var(--spacing-unit) * 2)}.review-count{color:var(--primary-color);font-weight:600;margin-bottom:calc(var(--spacing-unit) * 2);font-size:1.125rem}.no-reviews{text-align:center;color:var(--text-primary);font-size:1.125rem;padding:calc(var(--spacing-unit) * 3)}.review-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.review-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);border-left:4px solid var(--primary-color);box-shadow:var(--shadow-sm);transition:all .3s}.review-item:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.review-item-info{flex:1}.review-item-info h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.review-streak{color:var(--primary-color);font-size:.875rem}.review-link{background:var(--primary-color);color:#fff;padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);text-decoration:none;font-weight:600;transition:all .2s;white-space:nowrap;margin-left:calc(var(--spacing-unit) * 2)}.review-link:hover{background:#075985;transform:translateY(-2px)}.review-indicator{background:var(--surface);border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);margin:calc(var(--spacing-unit) * 2) 0}.review-info{display:flex;gap:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * 1);color:var(--text-primary)}.review-status{display:flex;gap:calc(var(--spacing-unit) * 1);align-items:center}.review-status.due{color:#dc2626;font-weight:600}.review-status.upcoming{color:var(--primary-color)}.review-badge-urgent{display:inline-block;background:#dc2626;color:#fff;padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);font-weight:600;font-size:.875rem}.unit-review-status{margin-top:calc(var(--spacing-unit) * 2);padding-top:calc(var(--spacing-unit) * 2);border-top:1px solid rgba(0,0,0,.1);font-size:.875rem}.last-studied{color:var(--primary-color);font-weight:500}.card-review-recent{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#10b981}.card-review-recommended{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.card-review-overdue{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#ef4444}.card-review-urgent{background:linear-gradient(135deg,#fecaca,#fca5a5);border-color:#dc2626;border-width:2px}@media (max-width: 768px){.study-streak{font-size:1rem;padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2)}.review-today-section{padding:calc(var(--spacing-unit) * 2);margin:calc(var(--spacing-unit) * 2) 0}.review-container h3{font-size:1.25rem}.review-item{flex-direction:column;align-items:flex-start;gap:calc(var(--spacing-unit) * 1)}.review-link{margin-left:0;width:100%;text-align:center}.review-indicator{padding:calc(var(--spacing-unit) * 1.5);margin:calc(var(--spacing-unit) * 1.5) 0}}.progress-dashboard{background:var(--surface);margin:calc(var(--spacing-unit) * 4) 0;padding:calc(var(--spacing-unit) * 4) 0;border-top:2px solid var(--primary-color);border-bottom:2px solid var(--primary-color)}.dashboard-container{max-width:1200px;margin:0 auto;padding:0 calc(var(--spacing-unit) * 2)}.dashboard-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 4)}.dashboard-header h2{font-size:2rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1)}.motivational-message{font-size:1.125rem;color:var(--primary-color);font-weight:500}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 4)}.stat-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md);display:flex;align-items:flex-start;gap:calc(var(--spacing-unit) * 2);transition:all .3s;border-left:4px solid var(--primary-color)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.stat-card.score-green{border-left-color:#10b981}.stat-card.score-yellow{border-left-color:#f59e0b}.stat-card.score-red{border-left-color:#ef4444}.stat-card.stat-streak{border-left-color:#f59e0b}.stat-icon{font-size:2.5rem;min-width:60px;text-align:center}.stat-content{flex:1}.stat-number{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1);text-transform:uppercase;letter-spacing:.5px}.progress-bar-container{margin-bottom:calc(var(--spacing-unit) * 1)}.progress-bar-outer{height:6px;background:var(--brand-soft);border-radius:3px;overflow:hidden;margin-bottom:calc(var(--spacing-unit) * .5)}.progress-bar-inner{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s ease}.stat-sublabel{font-size:.75rem;color:var(--text-secondary)}.score-indicator{font-size:.875rem;font-weight:600;margin-top:calc(var(--spacing-unit) * .5)}.streak-message{font-size:.875rem;color:#f59e0b;font-weight:600;margin-top:calc(var(--spacing-unit) * .5)}.unit-progress-section{margin:calc(var(--spacing-unit) * 4) 0}.unit-progress-section h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 3)}.unit-progress-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md);margin-bottom:calc(var(--spacing-unit) * 3)}.unit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(var(--spacing-unit) * 2);gap:calc(var(--spacing-unit) * 2)}.unit-header h4{color:var(--text-primary);font-size:1.125rem;margin:0}.unit-completion{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);min-width:200px}.large-progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.large-progress-fill{height:100%;background:var(--primary-color);border-radius:4px;transition:width .3s ease}.completion-percentage{font-weight:600;color:var(--text-primary);min-width:45px;text-align:right}.subunits-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.subunit-progress-row{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 1.5);background:var(--surface-subtle);border-radius:calc(var(--border-radius) / 2);transition:background .2s}.subunit-progress-row:hover{background:var(--background-subtle)}.subunit-info{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1);min-width:200px}.status-icon{font-size:1.5rem}.subunit-name{font-weight:600;color:var(--text-primary)}.score-label{font-size:.75rem;color:var(--text-secondary);margin-left:calc(var(--spacing-unit) * 1)}.progress-bar-wrapper{flex:1}.mini-progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.mini-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.progress-percentage{font-weight:600;color:var(--text-primary);min-width:45px;text-align:right;font-size:.875rem}.dashboard-bottom{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 4)}.activity-breakdown-card,.weak-topics-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md)}.activity-breakdown-card h4,.weak-topics-card h4{color:var(--text-primary);font-size:1.125rem;margin-bottom:calc(var(--spacing-unit) * 2)}.breakdown-section{margin-bottom:calc(var(--spacing-unit) * 2.5)}.breakdown-section h5{color:var(--primary-color);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:calc(var(--spacing-unit) * 1.5);font-weight:600}.empty-state{color:var(--text-secondary);font-size:.875rem;text-align:center;padding:calc(var(--spacing-unit) * 2)}.question-types{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.question-type-row{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5)}.type-label{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .5);min-width:120px;font-weight:500;color:var(--text-primary)}.type-icon{font-size:1.25rem}.type-bar-container{flex:1;display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1)}.type-bar-wrapper{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.type-bar{height:100%;background:var(--primary-color);border-radius:3px;transition:width .3s ease}.type-count{min-width:25px;text-align:right;font-weight:600;color:var(--text-primary);font-size:.875rem}.study-materials{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.material-item{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 1.5);background:var(--surface-subtle);border-radius:calc(var(--border-radius) / 2)}.material-icon{font-size:1.5rem}.material-info{flex:1}.material-label{font-size:.875rem;color:var(--text-secondary)}.material-value{font-weight:600;color:var(--text-primary)}.no-weak-topics{text-align:center;padding:calc(var(--spacing-unit) * 3);background:var(--state-success-bg);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #10b981}.no-weak-topics p{color:var(--state-success-text);font-weight:500}.weak-topics-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.topics-count{font-size:.875rem;color:var(--text-secondary);margin-bottom:calc(var(--spacing-unit) * .5)}.weak-topic-item{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5);padding:calc(var(--spacing-unit) * 1.5);background:var(--state-warning-bg);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #f59e0b;text-decoration:none;transition:all .2s;color:var(--text-primary)}.weak-topic-item:hover{background:var(--state-warning-bg);transform:translate(4px)}.topic-header{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .75);font-weight:600}.warning-icon{font-size:1.125rem}.topic-name{color:var(--text-primary)}.topic-reason{font-size:.8rem;color:#92400e}.recent-activity-section{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md);margin-bottom:calc(var(--spacing-unit) * 4)}.recent-activity-section h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:calc(var(--spacing-unit) * 2)}.no-activity{text-align:center;padding:calc(var(--spacing-unit) * 3);color:var(--text-secondary)}.activity-feed{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.activity-item{display:flex;gap:calc(var(--spacing-unit) * 2);padding:calc(var(--spacing-unit) * 2);background:var(--surface-subtle);border-radius:calc(var(--border-radius) / 2);border-left:4px solid var(--primary-color);transition:all .2s}.activity-item:hover{background:var(--background-subtle)}.activity-icon{font-size:1.5rem;min-width:40px}.activity-details{flex:1}.activity-description{font-weight:500;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.activity-time{font-size:.75rem;color:var(--text-secondary)}@media (max-width: 768px){.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:calc(var(--spacing-unit) * 2)}.dashboard-header h2{font-size:1.5rem}.stat-card{flex-direction:column;text-align:center}.stat-icon{width:100%}.unit-header{flex-direction:column;align-items:flex-start}.unit-completion{width:100%}.dashboard-bottom{grid-template-columns:1fr}.unit-progress-section h3{font-size:1.25rem}.subunit-progress-row{flex-wrap:wrap}.subunit-info,.progress-bar-wrapper{width:100%}}@media (max-width: 480px){.dashboard-stats{grid-template-columns:1fr}.progress-dashboard{padding:calc(var(--spacing-unit) * 2) 0}.dashboard-header h2{font-size:1.25rem}.stat-number{font-size:1.5rem}}.exam-tips-page .page-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * 4)}.print-button{background:var(--primary-color);color:#fff;border:none;padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:calc(var(--spacing-unit) * 1)}.print-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media print{.print-button,.table-of-contents,.expand-icon,.toc-link{display:none!important}.question-type-card{page-break-inside:avoid}.question-type-card.expanded{display:block}.question-type-content{display:block!important}}.quick-reference-box{background:var(--surface);border:2px solid var(--primary-color);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 4)}.quick-reference-box h3{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.quick-ref-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:calc(var(--spacing-unit) * 2)}.quick-ref-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);box-shadow:var(--shadow-sm)}.ref-type{font-weight:600;color:var(--text-primary);font-size:.9rem;margin-bottom:calc(var(--spacing-unit) * .5)}.ref-time{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.table-of-contents{background:var(--surface);border-left:4px solid #10b981;border-radius:calc(var(--border-radius) / 2);padding:calc(var(--spacing-unit) * 2.5);margin-bottom:calc(var(--spacing-unit) * 4);box-shadow:var(--shadow-md)}.table-of-contents h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.table-of-contents ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:calc(var(--spacing-unit) * 1.5)}.toc-link{background:none;border:none;padding:calc(var(--spacing-unit) * 1);text-align:left;cursor:pointer;color:var(--primary-color);font-weight:500;transition:all .2s;font-size:.95rem}.toc-link:hover{padding-left:calc(var(--spacing-unit) * 1.5);color:var(--text-primary)}.exam-tips-section{margin-bottom:calc(var(--spacing-unit) * 5)}.section-header{margin-bottom:calc(var(--spacing-unit) * 3)}.section-title{font-size:1.75rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.section-subtitle{color:var(--text-secondary);font-size:1rem}.question-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:calc(var(--spacing-unit) * 2.5)}.question-type-card{background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s;border-left:4px solid var(--primary-color)}.question-type-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.question-type-header{padding:calc(var(--spacing-unit) * 2);background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.question-type-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.type-header-left{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5)}.type-icon{font-size:2rem}.type-title-info h4{margin:0;color:var(--text-primary);font-size:1.1rem}.type-marks{margin:calc(var(--spacing-unit) * .25) 0 0 0;font-size:.85rem;color:var(--text-secondary)}.expand-icon{font-size:1.2rem;color:var(--primary-color);transition:transform .3s}.question-type-card.expanded .expand-icon{transform:rotate(180deg)}.question-type-content{display:none;padding:calc(var(--spacing-unit) * 3);border-top:1px solid #e5e7eb}.question-type-card.expanded .question-type-content{display:block}.content-section{margin-bottom:calc(var(--spacing-unit) * 3)}.content-section h5{color:var(--primary-color);font-size:1rem;margin-bottom:calc(var(--spacing-unit) * 1.5);text-transform:uppercase;letter-spacing:.5px}.checklist{list-style:none;padding:0}.checklist li{padding:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * .75);background:var(--state-success-bg);border-radius:calc(var(--border-radius) / 2);display:flex;gap:calc(var(--spacing-unit) * 1)}.check{color:#10b981;font-weight:700;min-width:20px}.error-list{list-style:none;padding:0}.error-list li{padding:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * .75);background:var(--state-error-bg);border-radius:calc(var(--border-radius) / 2);display:flex;gap:calc(var(--spacing-unit) * 1)}.cross{color:#ef4444;font-weight:700;min-width:20px}.time-box{background:var(--brand-soft);border-left:4px solid var(--primary-color);padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2)}.time-item{padding:calc(var(--spacing-unit) * .75);line-height:1.6}.time-item strong{color:var(--text-primary)}.answer-example{background:var(--surface-subtle);border-radius:calc(var(--border-radius) / 2);padding:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * 1.5)}.question-text{margin-bottom:calc(var(--spacing-unit) * 1.5);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:2px solid #e5e7eb}.question-text strong{color:var(--primary-color)}.answer-text{margin-bottom:calc(var(--spacing-unit) * 1.5);padding:calc(var(--spacing-unit) * 1.5);background:var(--surface);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #10b981}.answer-text.weak{border-left-color:#ef4444}.answer-text strong{color:var(--text-primary)}.answer-text p{margin:calc(var(--spacing-unit) * .75) 0;line-height:1.6}.examiner-box{padding:calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #10b981;background:var(--state-success-bg)}.examiner-box.poor{border-left-color:#ef4444;background:var(--state-error-bg)}.examiner-box strong{color:var(--state-success-text);display:block;margin-bottom:calc(var(--spacing-unit) * .75)}.examiner-box.poor strong{color:#7f1d1d}.mark-allocation{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1)}.mark-item{padding:calc(var(--spacing-unit) * 1.5);background:var(--brand-soft);border-radius:calc(var(--border-radius) / 2);border-left:4px solid var(--primary-color)}.mark-item.warning{background:var(--state-warning-bg);border-left-color:#f59e0b}.secrets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 2.5)}.secret-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2.5);box-shadow:var(--shadow-md);transition:all .3s}.secret-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.secret-card h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.secret-card.gains{border-top:4px solid #10b981}.secret-card.losses{border-top:4px solid #ef4444}.levels-container{display:grid;grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 1.5)}.level-box{padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);border-left:4px solid var(--primary-color)}.level-box.level-1{background:var(--state-error-bg);border-left-color:#ef4444}.level-box.level-2{background:var(--state-warning-bg);border-left-color:#f59e0b}.level-box.level-3{background:var(--state-success-bg);border-left-color:#10b981}.level-title{font-weight:600;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.level-description{font-size:.9rem;color:var(--text-secondary)}.secret-list{list-style:none;padding:0}.secret-list li{padding:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * .75);display:flex;gap:calc(var(--spacing-unit) * 1);align-items:flex-start}.secret-list.bonus li{background:var(--state-success-bg);border-radius:calc(var(--border-radius) / 2)}.secret-list.penalty li{background:var(--state-error-bg);border-radius:calc(var(--border-radius) / 2)}.badge{font-weight:700;color:#10b981;min-width:20px}.bonus-badge{color:#16a34a}.error-badge{color:#ef4444}.strategies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:calc(var(--spacing-unit) * 2.5)}.strategy-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2.5);box-shadow:var(--shadow-md);transition:all .3s;border-top:4px solid var(--primary-color)}.strategy-card.warning{border-top-color:#f59e0b}.strategy-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.strategy-icon{font-size:2rem;margin-bottom:calc(var(--spacing-unit) * 1)}.strategy-card h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.strategy-list{list-style:none;padding:0}.strategy-list li{padding:calc(var(--spacing-unit) * .75) 0;padding-left:calc(var(--spacing-unit) * 2);color:var(--text-secondary);position:relative;line-height:1.5}.dot{position:absolute;left:0;color:var(--primary-color);font-weight:700}.strategy-list.pitfall li{color:#dc2626}.time-guide-container{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 3)}.time-overview{display:grid;grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 2)}.time-item.overview-item{background:var(--brand-soft);padding:calc(var(--spacing-unit) * 2.5);border-radius:var(--border-radius);border-left:4px solid var(--primary-color);display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing-unit) * 2)}.time-label{font-weight:600;color:var(--text-primary)}.time-value{color:var(--primary-color);font-weight:600}.per-question-section{background:var(--surface);padding:calc(var(--spacing-unit) * 2.5);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.per-question-section h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.question-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:calc(var(--spacing-unit) * 1.5)}.question-time-box{background:var(--brand-soft);padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);text-align:center;border:2px solid #10b981}.question-type-label{font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:calc(var(--spacing-unit) * .75)}.question-time-value{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.buffer-section{background:var(--surface);padding:calc(var(--spacing-unit) * 2.5);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.buffer-section h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.buffer-box{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:calc(var(--spacing-unit) * 2);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #f59e0b}.buffer-duration{color:#92400e;font-weight:600;margin-bottom:calc(var(--spacing-unit) * 1)}.buffer-uses{list-style:none;padding:0;margin:0}.buffer-uses li{padding:calc(var(--spacing-unit) * .5) 0;color:#92400e}.buffer-uses span{margin-right:calc(var(--spacing-unit) * .75)}.strategies-section{background:var(--surface);padding:calc(var(--spacing-unit) * 2.5);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.strategies-section h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2)}.strategies-list{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.strategy-item{display:flex;gap:calc(var(--spacing-unit) * 1.5);align-items:flex-start}.strategy-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;flex-shrink:0}.strategy-text{color:var(--text-secondary);padding-top:calc(var(--spacing-unit) * .25)}.red-flags-section{background:var(--surface);padding:calc(var(--spacing-unit) * 2.5);border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.red-flags-section h4{color:#dc2626;margin-bottom:calc(var(--spacing-unit) * 2)}.red-flags{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1)}.red-flag-item{display:flex;gap:calc(var(--spacing-unit) * 1);padding:calc(var(--spacing-unit) * 1.5);background:var(--state-error-bg);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #ef4444;color:#7f1d1d}.flag-icon{font-size:1.25rem}.command-words-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:calc(var(--spacing-unit) * 2)}.command-word-card{background:var(--surface);border-radius:var(--border-radius);box-shadow:var(--shadow-md);overflow:hidden;transition:all .3s}.command-word-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.command-header{background:var(--primary-color);color:#fff;padding:calc(var(--spacing-unit) * 2)}.command-word{margin:0;font-size:1.3rem}.command-content{padding:calc(var(--spacing-unit) * 2)}.meaning,.example,.tip{margin-bottom:calc(var(--spacing-unit) * 1.5)}.meaning strong,.example strong,.tip strong{color:var(--primary-color);display:block;margin-bottom:calc(var(--spacing-unit) * .5)}.meaning p,.example p,.tip p{margin:0;color:var(--text-secondary);line-height:1.5}.dos-donts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 3)}.dos-column,.donts-column{background:var(--surface);padding:calc(var(--spacing-unit) * 2.5);border-radius:var(--border-radius);box-shadow:var(--shadow-md)}.dos-column{border-top:4px solid #10b981}.dos-column h4{color:#10b981}.donts-column{border-top:4px solid #ef4444}.donts-column h4{color:#ef4444}.dos-column h4,.donts-column h4{margin-bottom:calc(var(--spacing-unit) * 1.5)}.dos-column ul,.donts-column ul{list-style:none;padding:0}.dos-column li,.donts-column li{padding:calc(var(--spacing-unit) * .75) 0;padding-left:calc(var(--spacing-unit) * 2);color:var(--text-secondary);position:relative;line-height:1.5}.dos-column li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.donts-column li:before{content:"✗";position:absolute;left:0;color:#ef4444;font-weight:700}.exam-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:calc(var(--spacing-unit) * 2.5)}.exam-day-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);box-shadow:var(--shadow-md);border-top:4px solid var(--primary-color)}.exam-day-card h4{color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1.5)}.exam-day-card ul{list-style:none;padding:0}.exam-day-card li{padding:calc(var(--spacing-unit) * .75);color:var(--text-secondary);border-left:2px solid var(--primary-color);padding-left:calc(var(--spacing-unit) * 1.5);margin-bottom:calc(var(--spacing-unit) * .5)}.key-takeaways{background:var(--surface);border:2px solid var(--primary-color)}.takeaways-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 2)}.takeaway-item{display:grid;grid-template-columns:50px 1fr;gap:calc(var(--spacing-unit) * 1.5)}.takeaway-number{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--primary-color);color:#fff;border-radius:50%;font-weight:700;font-size:1.3rem}.takeaway-content strong{color:var(--text-primary);display:block;margin-bottom:calc(var(--spacing-unit) * .5)}.takeaway-content p{color:var(--text-secondary);margin:0;line-height:1.5}@media (max-width: 768px){.question-types-grid,.secrets-grid,.strategies-grid,.table-of-contents ul{grid-template-columns:1fr}.quick-ref-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:1.5rem}}.supply-demand-practice{padding:calc(var(--spacing-unit) * 2)}.practice-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 4)}.practice-header h2{font-size:2rem;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * .5)}.practice-header p{color:var(--text-secondary);font-size:1.05rem}.practice-controls{display:grid;grid-template-columns:auto 1fr;gap:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 4);background:var(--surface);padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);align-items:center}.control-group{display:flex;gap:calc(var(--spacing-unit) * 1);align-items:center}.control-group label{font-weight:600;color:var(--text-primary)}.control-group select{padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1);border:2px solid var(--primary-color);border-radius:calc(var(--border-radius) / 2);font-size:.95rem;background:var(--surface);cursor:pointer;color:var(--text-primary);font-weight:500}.practice-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--spacing-unit) * 2)}.stat{display:flex;flex-direction:column;align-items:center;background:var(--surface);padding:calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);border-left:4px solid var(--primary-color)}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.practice-container{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing-unit) * 3);margin-bottom:calc(var(--spacing-unit) * 4)}.scenario-section{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2)}.scenario-card{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2.5);box-shadow:var(--shadow-md);border-top:4px solid var(--primary-color)}.level-badge{display:inline-block;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1);border-radius:calc(var(--border-radius) / 2);font-weight:600;font-size:.85rem;margin-bottom:calc(var(--spacing-unit) * 1)}.level-badge.level-1,.level-badge.level-2{background:var(--brand-soft);color:var(--text-primary)}.level-badge.level-3,.level-badge.level-4{background:var(--state-warning-bg);color:#92400e}.level-badge.level-5{background:var(--state-error-bg);color:#7f1d1d}.scenario-text{margin-bottom:calc(var(--spacing-unit) * 1)}.scenario-text strong{color:var(--primary-color);display:block;margin-bottom:calc(var(--spacing-unit) * .75)}.scenario-text p{font-size:1.1rem;color:var(--text-primary);font-weight:500;line-height:1.6}.diagram-container{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2);box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;gap:calc(var(--spacing-unit) * 1.5)}.diagram-legend{display:flex;gap:calc(var(--spacing-unit) * 2);justify-content:center;flex-wrap:wrap}.legend-item{display:flex;gap:calc(var(--spacing-unit) * .75);align-items:center;font-size:.9rem;color:var(--text-secondary)}.legend-color{width:20px;height:3px;border-radius:2px}.legend-color.demand{background:#3b82f6}.legend-color.supply{background:#ef4444}.legend-color.new{background:#10b981}.answers-section{background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 2.5);box-shadow:var(--shadow-md)}.question-prompt{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 2);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:2px solid #e5e7eb}.answer-grid{display:grid;grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 1);margin-bottom:calc(var(--spacing-unit) * 2)}.answer-button{padding:calc(var(--spacing-unit) * 1.25) calc(var(--spacing-unit) * 1.5);border:2px solid #e5e7eb;border-radius:calc(var(--border-radius) / 2);background:var(--surface);cursor:pointer;font-weight:500;font-size:.95rem;color:var(--text-primary);transition:all .2s}.answer-button:hover:not(:disabled){border-color:var(--primary-color);background:var(--state-info-bg);transform:translate(4px)}.answer-button:disabled{opacity:.6;cursor:not-allowed}.answer-button.selected{border-color:var(--primary-color);background:var(--brand-soft)}.hint-button{padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;border-radius:calc(var(--border-radius) / 2);font-weight:600;cursor:pointer;transition:all .3s;margin-top:calc(var(--spacing-unit) * 1)}.hint-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.hint-box{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);border-left:4px solid #f59e0b;margin-top:calc(var(--spacing-unit) * 1.5);color:#92400e}.hint-box strong{display:block;margin-bottom:calc(var(--spacing-unit) * .5);color:#b45309}.feedback-box{padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius);margin-top:calc(var(--spacing-unit) * 2)}.feedback-box.correct{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #10b981}.feedback-box.incorrect{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444}.feedback-header{display:flex;gap:calc(var(--spacing-unit) * 1);align-items:center;margin-bottom:calc(var(--spacing-unit) * 1.5);padding-bottom:calc(var(--spacing-unit) * 1.5);border-bottom:2px solid}.feedback-box.correct .feedback-header{border-bottom-color:#10b981}.feedback-box.incorrect .feedback-header{border-bottom-color:#ef4444}.feedback-icon{font-size:1.5rem;font-weight:700}.feedback-box.correct .feedback-icon{color:#10b981}.feedback-box.incorrect .feedback-icon{color:#ef4444}.feedback-text{font-weight:600;font-size:1.05rem}.feedback-box.correct .feedback-text{color:var(--state-success-text)}.feedback-box.incorrect .feedback-text{color:#7f1d1d}.both-shift-followup{background:var(--surface);padding:calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);margin-bottom:calc(var(--spacing-unit) * 1.5);border-left:4px solid var(--primary-color)}.followup-question{font-weight:600;color:var(--text-primary);margin-bottom:calc(var(--spacing-unit) * 1)}.followup-answers{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing-unit) * 1)}.followup-section{display:flex;justify-content:space-between;align-items:center;font-weight:500}.followup-section strong{color:var(--text-primary)}.demand-right,.supply-right{color:#10b981;font-weight:700}.demand-left,.supply-left{color:#ef4444;font-weight:700}.explanation-box{background:var(--surface);padding:calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);margin-bottom:calc(var(--spacing-unit) * 1.5);border-left:4px solid var(--primary-color)}.explanation-box strong{display:block;color:var(--primary-color);margin-bottom:calc(var(--spacing-unit) * .75)}.explanation-box p{color:var(--text-secondary);line-height:1.6}.effect-box{background:var(--surface);padding:calc(var(--spacing-unit) * 1.5);border-radius:calc(var(--border-radius) / 2);margin-bottom:calc(var(--spacing-unit) * 1.5);border-left:4px solid var(--primary-color)}.effect-box strong{display:block;color:var(--primary-color);margin-bottom:calc(var(--spacing-unit) * 1)}.effects{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--spacing-unit) * 1)}.effect-item{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--spacing-unit) * .75);background:var(--surface-subtle);border-radius:calc(var(--border-radius) / 2);font-weight:500}.effect-item span:first-child{color:var(--text-primary)}.effect-up{color:#10b981;font-weight:700}.effect-down{color:#ef4444;font-weight:700}.next-button,.try-again-button{padding:calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 2);border:none;border-radius:calc(var(--border-radius) / 2);font-weight:600;cursor:pointer;transition:all .3s;margin-top:calc(var(--spacing-unit) * 1)}.next-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.next-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.try-again-button{background:var(--primary-color);color:#fff}.try-again-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.learning-aids{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:calc(var(--spacing-unit) * 2);background:var(--surface);border-radius:var(--border-radius);padding:calc(var(--spacing-unit) * 3);box-shadow:var(--shadow-md);border-top:4px solid #10b981}.aid-section{grid-column:1 / -1}.aid-section h4{color:var(--text-primary);font-size:1.3rem;margin-bottom:calc(var(--spacing-unit) * 2);text-align:center}.aid-card{padding:calc(var(--spacing-unit) * 1.75);border-radius:calc(var(--border-radius) / 2);border-left:4px solid var(--primary-color);background:linear-gradient(135deg,#f8fafc,#f1f5f9);grid-column:auto}.aid-card strong{display:block;color:var(--primary-color);margin-bottom:calc(var(--spacing-unit) * 1);font-size:.95rem}.aid-card ul{list-style:none;padding:0;margin:0}.aid-card li{padding:calc(var(--spacing-unit) * .5) 0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.shifted-curve{animation:curveShift 1s ease-in-out}.new-equilibrium-point{animation:pointAppear .8s ease-in}@keyframes curveShift{0%{opacity:0}to{opacity:1}}@keyframes pointAppear{0%{r:0;opacity:0}to{r:5px;opacity:1}}@media (max-width: 1024px){.practice-container,.practice-stats,.effects{grid-template-columns:1fr}}@media (max-width: 768px){.practice-controls{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 1.5)}.practice-stats{grid-template-columns:repeat(3,1fr)}.diagram-container svg{max-width:100%;height:auto}.followup-answers,.learning-aids{grid-template-columns:1fr}}.app-body{display:flex;flex:1;min-height:0}@media (max-width: 900px){.sidebar{display:none}.app-body{flex-direction:column}}.exam-simulator-page{min-height:100vh;background:var(--background)}.exam-landing{padding-bottom:48px}.exam-landing-hero{text-align:center;padding:48px 0 32px}.exam-landing-title{font-size:2rem;font-weight:800;color:var(--text-primary);margin-bottom:12px}.exam-landing-subtitle{font-size:1.0625rem;color:var(--text-secondary);max-width:560px;margin:0 auto;line-height:1.6}.exam-paper-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto 40px}.exam-paper-card{background:var(--surface);border-radius:16px;border:2px solid var(--border-color);padding:32px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;transition:box-shadow .2s,transform .2s}.exam-paper-card:hover{box-shadow:0 8px 32px #0000001a;transform:translateY(-2px)}.paper1-card{border-color:var(--primary-color)}.paper2-card{border-color:#059669}.exam-paper-card-icon{font-size:2.25rem;font-weight:800;line-height:1;color:var(--text-secondary)}.paper1-card .exam-paper-card-icon{color:var(--primary-color)}.paper2-card .exam-paper-card-icon{color:#059669}.exam-paper-card-body{flex:1}.exam-paper-card-title{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.exam-paper-card-subtitle{font-size:.9375rem;color:var(--text-secondary);margin-bottom:16px}.exam-paper-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.exam-paper-features li{font-size:.875rem;color:var(--text-secondary);padding-left:20px;position:relative}.exam-paper-features li:before{content:"✓";position:absolute;left:0;color:#10b981;font-weight:700}.exam-paper-start-btn{background:var(--primary-color);color:#fff;border:none;border-radius:10px;padding:12px 24px;font-size:.9375rem;font-weight:600;cursor:pointer;width:100%;transition:background .15s,transform .1s}.exam-paper-start-btn:hover{background:var(--primary-color);transform:translateY(-1px)}.exam-paper-start-btn.paper2-start{background:#059669}.exam-paper-start-btn.paper2-start:hover{background:#047857}.exam-recent{max-width:700px;margin:0 auto;background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:24px}.exam-recent-title{font-size:1.0625rem;font-weight:700;color:var(--text-primary);margin-bottom:16px}.exam-recent-list{display:flex;flex-direction:column;gap:8px}.exam-recent-row{display:grid;grid-template-columns:110px 1fr 80px 90px;align-items:center;padding:8px 12px;background:var(--background);border-radius:8px;font-size:.875rem}.exam-recent-paper{font-weight:600;color:var(--text-primary)}.exam-recent-pct{font-weight:700}.exam-recent-marks{color:var(--text-secondary)}.exam-recent-date{color:var(--text-secondary);text-align:right}.exam-setup-container{display:flex;justify-content:center;padding:24px 16px 48px}.exam-setup-card{background:var(--surface);border-radius:16px;border:1px solid var(--border-color);max-width:680px;width:100%;box-shadow:0 4px 24px #00000012;overflow:hidden}.exam-setup-header{padding:32px 32px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid var(--border-color)}.exam-setup-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:12px}.paper1-badge{background:var(--brand-soft);color:var(--state-info-text)}.paper2-badge{background:#d1fae5;color:#065f46}.exam-setup-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:8px}.exam-setup-desc{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;margin:0}.exam-setup-body{padding:28px 32px;display:flex;flex-direction:column;gap:28px}.setup-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.setup-section-title{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin:0}.setup-unit-actions{display:flex;gap:6px;align-items:center}.setup-action-link{background:none;border:none;color:var(--primary-color);font-size:.8125rem;font-weight:600;cursor:pointer;padding:0}.setup-action-link:hover{text-decoration:underline}.setup-action-sep{color:var(--border-color);font-size:.8125rem}.setup-unit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.setup-unit-chip{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.setup-unit-chip:hover{border-color:var(--primary-color);background:var(--state-info-bg)}.setup-unit-chip.selected{border-color:var(--primary-color);background:var(--brand-soft)}.setup-unit-chip-num{font-size:.6875rem;font-weight:700;color:var(--primary-color);letter-spacing:.05em;text-transform:uppercase}.setup-unit-chip-label{font-size:.8125rem;color:var(--text-primary);font-weight:500;line-height:1.3;margin-top:2px}.setup-hint{font-size:.8125rem;color:var(--text-secondary);margin-top:8px;font-style:italic}.setup-count-options{display:flex;gap:10px}.setup-count-btn{padding:10px 24px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface);font-size:1rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:border-color .15s,background .15s}.setup-count-btn:hover{border-color:var(--primary-color)}.setup-count-btn.selected{border-color:var(--primary-color);background:var(--brand-soft);color:var(--state-info-text)}.setup-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.setup-type-chip{display:flex;flex-direction:column;align-items:flex-start;padding:10px 14px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.setup-type-chip:hover{border-color:#6ee7b7;background:var(--state-success-bg)}.setup-type-chip.selected{border-color:#059669;background:var(--state-success-bg)}.setup-type-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.setup-type-marks{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.setup-summary-box{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;background:var(--surface-subtle);border:1px solid var(--border-color);border-radius:12px;padding:16px}.setup-summary-item{display:flex;flex-direction:column;gap:4px}.setup-summary-label{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.setup-summary-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.exam-setup-footer{padding:20px 32px;background:var(--surface-subtle);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.exam-cancel-btn{padding:10px 22px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface);font-size:.9375rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s}.exam-cancel-btn:hover{background:var(--background-subtle);color:var(--text-primary)}.exam-start-btn{padding:10px 28px;border:none;border-radius:10px;background:var(--primary-color);color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.exam-start-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.exam-fullscreen{min-height:100vh;background:var(--surface-subtle);display:flex;flex-direction:column}.exam-topbar{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:2px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px;box-shadow:0 2px 8px #0000000f}.exam-topbar-left{display:flex;align-items:center;gap:16px}.exam-abort-btn{background:none;border:1px solid var(--border-color);border-radius:8px;padding:6px 14px;font-size:.8125rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.exam-abort-btn:hover{background:var(--state-error-bg);color:#dc2626;border-color:#fca5a5}.exam-paper-label{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.exam-topbar-center{display:flex;align-items:center;gap:12px}.exam-q-counter{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.exam-answered-badge{font-size:.75rem;font-weight:600;color:#059669;background:#d1fae5;padding:3px 10px;border-radius:20px}.exam-topbar-right{display:flex;align-items:center;gap:12px}.exam-submit-btn{padding:8px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s}.exam-submit-btn:hover{background:var(--primary-dark)}.exam-timer{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;background:var(--background-subtle);border:1px solid var(--border-color);transition:background .3s,border-color .3s}.exam-timer.warning{background:var(--state-warning-bg);border-color:#f59e0b}.exam-timer.danger{background:var(--state-error-bg);border-color:#ef4444;animation:exam-timer-pulse 1s infinite}@keyframes exam-timer-pulse{0%,to{opacity:1}50%{opacity:.7}}.exam-timer-icon{font-size:1rem}.exam-timer-display{font-size:1.0625rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:.02em}.exam-timer.danger .exam-timer-display{color:#dc2626}.exam-timer-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}.exam-timer.danger .exam-timer-label{color:#dc2626}.exam-body{display:grid;grid-template-columns:1fr 240px;gap:0;flex:1;max-width:1200px;margin:0 auto;width:100%;padding:32px 24px;align-items:start}.exam-main-col{padding-right:24px}.exam-sidebar-col{position:sticky;top:76px}.exam-question-card{background:var(--surface);border-radius:16px;border:1px solid var(--border-color);padding:32px;box-shadow:0 2px 12px #0000000d;margin-bottom:20px}.exam-q-meta{display:flex;align-items:center;gap:12px;margin-bottom:20px}.exam-q-num{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.exam-q-marks{font-size:.75rem;font-weight:700;color:var(--primary-color);background:var(--brand-soft);padding:3px 10px;border-radius:20px}.exam-q-type-badge{font-size:.75rem;font-weight:700;color:#059669;background:#d1fae5;padding:3px 10px;border-radius:20px;text-transform:capitalize}.exam-q-text{font-size:1.0625rem;line-height:1.65;color:var(--text-primary);font-weight:500;margin-bottom:24px}.exam-mcq-options{display:flex;flex-direction:column;gap:10px}.exam-mcq-option{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;border:2px solid var(--border-color);border-radius:12px;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,background .15s;width:100%}.exam-mcq-option:hover{border-color:var(--primary-color);background:var(--state-info-bg)}.exam-mcq-option.selected{border-color:var(--primary-color);background:var(--brand-soft)}.exam-mcq-key{font-size:.875rem;font-weight:800;color:var(--primary-color);background:var(--brand-soft);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.exam-mcq-option.selected .exam-mcq-key{background:var(--primary-color);color:#fff}.exam-mcq-text{font-size:.9375rem;color:var(--text-primary);line-height:1.5;padding-top:4px}.exam-answer-textarea{width:100%;border:2px solid var(--border-color);border-radius:12px;padding:16px;font-size:.9375rem;font-family:inherit;line-height:1.6;color:var(--text-primary);resize:vertical;transition:border-color .15s;box-sizing:border-box}.exam-answer-textarea:focus{outline:none;border-color:var(--primary-color)}.exam-answer-hint{font-size:.8125rem;color:var(--text-secondary);margin-top:8px}.exam-nav-btns{display:flex;justify-content:space-between;gap:12px}.exam-nav-btn{padding:10px 24px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface);font-size:.9375rem;font-weight:600;cursor:pointer;color:var(--text-primary);transition:background .15s}.exam-nav-btn:hover:not(:disabled){background:var(--background-subtle)}.exam-nav-btn:disabled{opacity:.4;cursor:default}.exam-nav-btn.next{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.exam-nav-btn.next:hover:not(:disabled){background:var(--primary-dark)}.qnav{background:var(--surface);border:1px solid var(--border-color);border-radius:14px;padding:16px}.qnav-header{margin-bottom:12px}.qnav-title{font-size:.8125rem;font-weight:700;color:var(--text-primary);display:block;margin-bottom:8px}.qnav-legend{font-size:.6875rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.qnav-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.qnav-dot.answered{background:#10b981}.qnav-dot.unanswered{background:#e2e8f0;border:1px solid #cbd5e1}.qnav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.qnav-btn{width:100%;aspect-ratio:1;border-radius:8px;border:2px solid transparent;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s}.qnav-btn.unanswered{background:var(--background-subtle);border-color:#e2e8f0;color:var(--text-secondary)}.qnav-btn.answered{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.qnav-btn.current{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #2563eb26}.qnav-btn:hover{transform:scale(1.08)}.exam-selfassess-page{max-width:720px;margin:0 auto;padding:32px 16px 48px}.exam-selfassess-header{text-align:center;margin-bottom:24px}.exam-selfassess-header h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:4px}.exam-selfassess-header p{font-size:.9375rem;color:var(--text-secondary);margin-bottom:12px}.exam-selfassess-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.exam-selfassess-progress-fill{height:100%;background:#059669;border-radius:3px;transition:width .3s ease}.selfassess-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.selfassess-modal{background:var(--surface);border-radius:16px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.selfassess-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-color)}.selfassess-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0}.selfassess-close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:4px;line-height:1}.selfassess-close:hover{color:var(--text-primary)}.selfassess-body{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.selfassess-section-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.selfassess-question-text{font-size:1rem;line-height:1.6;color:var(--text-primary);font-weight:500;margin:0}.selfassess-answer-box,.selfassess-markscheme-box{background:var(--surface-subtle);border:1px solid var(--border-color);border-radius:10px;padding:14px 16px;font-size:.9375rem;line-height:1.6;color:var(--text-primary)}.selfassess-markscheme-box{background:var(--state-success-bg);border-color:#6ee7b7}.selfassess-no-answer{color:var(--text-secondary);font-style:italic}.selfassess-answer-box p,.selfassess-markscheme-box p{margin:0}.selfassess-marks-row{display:flex;gap:10px;flex-wrap:wrap}.selfassess-mark-btn{width:48px;height:48px;border:2px solid var(--border-color);border-radius:10px;background:var(--surface);font-size:1.125rem;font-weight:700;color:var(--text-primary);cursor:pointer;transition:all .15s}.selfassess-mark-btn:hover{border-color:#059669;color:#059669}.selfassess-mark-btn.selected{background:#059669;border-color:#059669;color:#fff}.selfassess-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:10px}.selfassess-cancel{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface);font-size:.9375rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.selfassess-cancel:hover{background:var(--background-subtle)}.selfassess-save{padding:10px 24px;border:none;border-radius:8px;background:#059669;color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .15s}.selfassess-save:disabled{background:#d1d5db;cursor:default}.selfassess-save:hover:not(:disabled){background:#047857}.exam-results-page{padding-bottom:48px}.exam-results-hero{background:linear-gradient(135deg,var(--band-color, var(--primary-color)) 0%,color-mix(in srgb,var(--band-color, var(--primary-color)) 70%,#000) 100%);color:#fff;padding:48px 24px;display:flex;align-items:center;justify-content:center;gap:48px}.exam-results-ring-wrap{flex-shrink:0}.exam-results-grade-label{font-size:2rem;font-weight:800;color:#fff;margin-bottom:8px}.exam-results-score{font-size:1.25rem;color:#ffffffe6;font-weight:600;margin-bottom:6px}.exam-results-paper{font-size:.9375rem;color:#ffffffbf}.exam-results-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:860px;margin:32px auto;padding:0 24px}.exam-stat-card{background:var(--surface);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:6px}.exam-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-primary)}.exam-stat-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.exam-results-review{max-width:860px;margin:0 auto 32px;padding:0 24px;background:var(--surface);border-radius:16px;border:1px solid var(--border-color);overflow:hidden}.exam-results-review-header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px}.exam-results-review-header h3{font-size:1.0625rem;font-weight:700;color:var(--text-primary);margin:0}.exam-toggle-details{background:none;border:1px solid var(--border-color);border-radius:8px;padding:6px 14px;font-size:.8125rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.exam-toggle-details:hover{background:var(--background-subtle)}.exam-results-q-grid{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:20px}.exam-result-q-chip{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;border:none;cursor:pointer;transition:all .2s ease}.exam-result-q-chip:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.exam-result-q-chip:active{transform:scale(.95)}.exam-result-q-chip.correct{background:#d1fae5;color:#065f46}.exam-result-q-chip.incorrect{background:var(--state-error-bg);color:#991b1b}.exam-results-detail-list{border-top:1px solid var(--border-color);padding:8px 0 20px;display:flex;flex-direction:column;gap:8px}.exam-result-detail-row{display:grid;grid-template-columns:40px 1fr 32px;gap:12px;align-items:flex-start;padding:12px;border-radius:10px;background:var(--surface-subtle)}.exam-result-detail-row.correct{background:var(--state-success-bg)}.exam-result-detail-row.incorrect{background:var(--state-error-bg)}.exam-result-detail-num{font-size:.8125rem;font-weight:700;color:var(--text-secondary);padding-top:2px}.exam-result-detail-q{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin-bottom:6px}.exam-result-detail-answers{display:flex;gap:16px;flex-wrap:wrap}.exam-result-your-answer,.exam-result-correct-answer{font-size:.8125rem;color:var(--text-secondary)}.exam-result-correct-answer{color:#059669}.exam-result-tick{font-size:1rem;font-weight:700;padding-top:2px}.exam-result-tick.correct{color:#059669}.exam-result-tick.incorrect{color:#dc2626}.exam-results-actions{display:flex;justify-content:center;gap:16px;padding:0 24px;max-width:860px;margin:0 auto}.exam-results-home-btn{padding:12px 28px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface);font-size:.9375rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .15s}.exam-results-home-btn:hover{background:var(--background-subtle)}.exam-results-retry-btn{padding:12px 32px;border:none;border-radius:10px;background:var(--primary-color);color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;transition:background .15s}.exam-results-retry-btn:hover{background:var(--primary-dark)}.exam-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--text-secondary);font-size:1rem;font-weight:500}.exam-loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.exam-error-banner{max-width:680px;margin:0 auto 16px;padding:12px 20px;background:var(--state-error-bg);border:1px solid #fca5a5;border-radius:10px;color:#991b1b;font-size:.9375rem;font-weight:500}@media (max-width: 900px){.exam-paper-cards{grid-template-columns:1fr}.exam-body{grid-template-columns:1fr;padding:16px}.exam-main-col{padding-right:0}.exam-sidebar-col{position:static;order:-1}.exam-topbar{padding:8px 12px;height:auto;min-height:56px;flex-wrap:wrap;gap:8px}.exam-paper-label{display:none}.exam-results-stats{grid-template-columns:1fr 1fr}.exam-results-hero{flex-direction:column;text-align:center;gap:24px;padding:32px 24px}.setup-unit-grid,.setup-summary-box{grid-template-columns:1fr 1fr}.setup-type-grid{grid-template-columns:1fr}.exam-setup-body{padding:20px}.exam-setup-footer{padding:16px 20px}.exam-setup-header{padding:24px 20px 20px}}@media (max-width: 600px){.exam-topbar-left .exam-paper-label{display:none}.exam-topbar-center{order:3;width:100%;justify-content:space-between;gap:8px}.exam-q-counter{font-size:.8125rem}.exam-abort-btn{padding:5px 10px}.exam-submit-btn{padding:6px 12px}.exam-results-stats{grid-template-columns:1fr 1fr;gap:10px}.exam-recent-row{grid-template-columns:90px 1fr 70px}.exam-recent-date{display:none}.setup-unit-grid{grid-template-columns:1fr 1fr}.setup-count-options{flex-wrap:wrap}.exam-results-actions{flex-direction:column;align-items:stretch}}.flashcard-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.flashcard-section-header h3{margin:0}.start-study-session-btn{padding:10px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.start-study-session-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d948866}.start-study-session-btn--all{background:linear-gradient(135deg,#10b981,#059669)}.start-study-session-btn--all:hover{box-shadow:0 4px 12px #10b98166}.filter-due-btn{background:linear-gradient(135deg,#ef4444,#dc2626)!important;color:#fff!important;border:none!important;padding:6px 14px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}.filter-due-btn.active{box-shadow:0 0 0 3px #ef44444d;transform:scale(1.05)}.rating-section{margin-top:16px;text-align:center;padding:20px 16px;background:var(--surface-elevated);border-radius:12px;border:1px solid #e2e8f0}.rating-prompt{margin:0 0 14px;font-size:.95rem;font-weight:600;color:var(--text-primary)}.rating-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.rating-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 24px;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;min-width:90px;min-height:64px}.rating-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.rating-btn:active{transform:translateY(0)}.rating-btn--hard{background:linear-gradient(135deg,#fee2e2,#fca5a5);color:#991b1b;border:2px solid #f87171}.rating-btn--hard:hover{background:linear-gradient(135deg,#fca5a5,#f87171)}.rating-btn--medium{background:linear-gradient(135deg,#fef3c7,#fcd34d);color:#92400e;border:2px solid #f59e0b}.rating-btn--medium:hover{background:linear-gradient(135deg,#fcd34d,#f59e0b)}.rating-btn--easy{background:linear-gradient(135deg,#d1fae5,#6ee7b7);color:#065f46;border:2px solid #10b981}.rating-btn--easy:hover{background:linear-gradient(135deg,#6ee7b7,#10b981)}.rating-btn-label{font-size:.9rem;font-weight:700}.rating-btn-sublabel{font-size:.72rem;opacity:.75}.rating-keyboard-hint{margin-top:12px;font-size:.78rem;color:#94a3b8}.rating-keyboard-hint kbd{background:var(--background-subtle);border:1px solid #cbd5e1;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:.75rem;color:#475569}.study-session-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.study-session-modal{background:var(--surface);border-radius:20px;padding:32px 28px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 60px #0000004d}.session-close-btn{position:absolute;top:16px;right:16px;background:var(--background-subtle);border:none;border-radius:8px;width:36px;height:36px;font-size:1rem;cursor:pointer;color:#64748b;transition:background .15s}.session-close-btn:hover{background:#e2e8f0}.session-close-btn--inline{position:static;padding:6px 14px;width:auto;height:auto;font-size:.8rem;font-weight:600;border-radius:6px}.study-session-setup{text-align:center}.session-setup-icon{font-size:3rem;margin-bottom:12px}.session-setup-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0 0 6px}.session-setup-subtitle{font-size:.9rem;color:#64748b;margin:0 0 24px}.session-due-summary{display:flex;align-items:center;justify-content:center;gap:0;background:var(--surface-subtle);border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid #e2e8f0}.session-due-item{flex:1;display:flex;flex-direction:column;align-items:center}.session-due-count{font-size:2rem;font-weight:700;color:var(--text-primary)}.session-due-label{font-size:.8rem;color:#64748b}.session-due-divider{width:1px;height:40px;background:#e2e8f0;margin:0 16px}.session-option-group{text-align:left;margin-bottom:20px}.session-option-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:10px}.session-toggle-row{display:flex;gap:8px}.session-toggle-btn{flex:1;padding:10px 16px;border:2px solid #e2e8f0;border-radius:8px;background:var(--surface);color:#64748b;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.session-toggle-btn.active{border-color:var(--primary-color);background:var(--brand-soft);color:var(--state-info-text)}.session-goal-row{display:flex;gap:8px}.session-goal-btn{flex:1;padding:10px;border:2px solid #e2e8f0;border-radius:8px;background:var(--surface);color:#64748b;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.session-goal-btn.active{border-color:#10b981;background:var(--state-success-bg);color:#065f46}.session-start-btn{width:100%;padding:14px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:8px}.session-start-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #0d948866}.session-start-btn:disabled{opacity:.5;cursor:not-allowed}.study-session-active{padding:20px}.session-top-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.session-progress-info{flex:1}.session-progress-text{font-size:.8rem;color:#64748b;font-weight:600;display:block;margin-bottom:4px}.session-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.session-progress-fill{height:100%;background:var(--primary-color);border-radius:3px;transition:width .4s ease}.session-timer{font-size:.85rem;font-weight:600;color:#64748b;background:var(--background-subtle);padding:5px 10px;border-radius:6px}.session-rating-tally{display:flex;gap:12px;margin-bottom:16px;font-size:.78rem;font-weight:600}.tally-hard{color:#ef4444}.tally-medium{color:#f59e0b}.tally-easy{color:#10b981}.session-card{height:260px;margin-bottom:0;cursor:pointer;perspective:1200px;border-radius:16px}.session-show-answer{text-align:center;margin-top:20px}.session-show-btn{padding:14px 40px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.session-show-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.session-skip-btn{margin-top:10px;background:none;border:none;color:#94a3b8;font-size:.82rem;cursor:pointer;text-decoration:underline;padding:4px}.session-skip-btn:hover{color:#64748b}.study-session-complete{text-align:center}.session-complete-icon{font-size:3.5rem;margin-bottom:12px}.session-complete-title{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0 0 20px}.session-complete-stats{display:flex;gap:24px;justify-content:center;margin-bottom:20px}.complete-stat{display:flex;flex-direction:column;align-items:center}.complete-stat-value{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.complete-stat-label{font-size:.8rem;color:#64748b}.session-rating-breakdown{display:flex;gap:20px;justify-content:center;margin-bottom:20px}.breakdown-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 20px;border-radius:10px;min-width:80px}.breakdown-easy{background:#d1fae5;color:#065f46}.breakdown-medium{background:var(--state-warning-bg);color:#92400e}.breakdown-hard{background:var(--state-error-bg);color:#991b1b}.breakdown-count{font-size:1.4rem;font-weight:700}.breakdown-label{font-size:.78rem;font-weight:600}.session-next-review{font-size:.88rem;color:#64748b;margin:0 0 20px}.session-complete-actions{display:flex;gap:12px;justify-content:center}.session-restart-btn{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.session-restart-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d948859}.session-done-btn{padding:12px 24px;background:var(--background-subtle);color:var(--text-primary);border:1px solid #e2e8f0;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.session-done-btn:hover{background:#e2e8f0}.daily-review-section{background:var(--brand-soft);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:24px}.daily-review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.daily-review-title{font-size:1.1rem;font-weight:700;color:var(--state-info-text);margin:0}.daily-review-streak{font-size:.88rem;font-weight:600;color:#92400e;background:var(--state-warning-bg);border:1px solid #fcd34d;padding:4px 10px;border-radius:20px}.daily-review-counts{display:flex;align-items:center;gap:0;margin-bottom:16px}.daily-count-item{flex:1;display:flex;flex-direction:column;align-items:center}.daily-count-number{font-size:2rem;font-weight:800;line-height:1}.daily-count-label{font-size:.78rem;color:#64748b;margin-top:2px}.daily-count-due .daily-count-number{color:var(--state-info-text)}.daily-count-new .daily-count-number{color:#059669}.daily-count-divider{width:1px;height:36px;background:var(--border-color);margin:0 16px}.daily-review-start-btn{display:block;width:100%;padding:12px;background:var(--primary-color);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:10px}.daily-review-start-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0d948859}.daily-review-done{text-align:center;padding:10px;color:#059669;font-weight:600;font-size:.9rem;margin-bottom:10px}.daily-review-tomorrow{text-align:center;font-size:.8rem;color:#64748b;margin:0 0 12px}.daily-review-links{display:flex;gap:12px;justify-content:center}.daily-review-link{background:none;border:none;color:var(--primary-color);font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.daily-review-link:hover{color:var(--state-info-text)}.flashcard-stats-page{padding:24px 0 48px}.stats-page-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.stats-page-title{flex:1;font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0}.stats-calendar-link{padding:8px 16px;background:var(--brand-soft);color:var(--state-info-text);border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.stats-calendar-link:hover{background:var(--brand-soft)}.stats-top-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat-card{background:var(--surface);border:1px solid #e2e8f0;border-radius:14px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 4px #0000000d}.stat-card-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);line-height:1}.stat-card-label{font-size:.75rem;color:#64748b;text-align:center}.stat-card--green .stat-card-value{color:#059669}.stat-card--amber .stat-card-value{color:#d97706}.stat-card--red .stat-card-value{color:#dc2626}.stat-card--fire .stat-card-value{font-size:1.2rem}.stats-mid-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}.stats-section-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 16px}.stats-donut-card,.stats-sessions-card{background:var(--surface);border:1px solid #e2e8f0;border-radius:14px;padding:20px}.donut-chart-wrap{display:flex;align-items:center;gap:20px}.donut-legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--text-primary)}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sessions-list{display:flex;flex-direction:column;gap:10px}.session-row{display:flex;align-items:center;gap:10px}.session-date{font-size:.78rem;color:#64748b;width:52px;flex-shrink:0}.session-cards{font-size:.78rem;font-weight:600;color:var(--text-primary);width:56px;flex-shrink:0}.session-bar-mini{flex:1;height:8px;border-radius:4px;overflow:hidden;display:flex}.session-bar-easy{background:#10b981}.session-bar-medium{background:#f59e0b}.session-bar-hard{background:#ef4444}.stats-empty{color:#94a3b8;font-size:.85rem}.stats-unit-section,.stats-weak-section{background:var(--surface);border:1px solid #e2e8f0;border-radius:14px;padding:20px;margin-bottom:20px}.unit-stats-list{display:flex;flex-direction:column;gap:20px}.unit-stat-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:16px}.unit-stat-info{display:flex;flex-direction:column}.unit-stat-label{font-weight:700;font-size:.85rem;color:var(--text-primary)}.unit-stat-title{font-size:.75rem;color:#64748b}.stat-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.stat-bar-label{font-size:.75rem;color:#64748b;width:52px}.stat-bar-track{flex:1;height:6px;background:var(--background-subtle);border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.stat-bar-value{font-size:.75rem;color:var(--text-primary);font-weight:600;width:28px;text-align:right}.unit-stat-retention{font-size:.75rem;color:#059669;font-weight:600;white-space:nowrap}.weak-cards-list{display:flex;flex-direction:column;gap:10px}.weak-card-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:var(--state-error-bg);border:1px solid #fecaca;border-radius:8px}.weak-card-type{font-size:.75rem;font-weight:700;color:#dc2626;background:var(--state-error-bg);padding:2px 6px;border-radius:4px;flex-shrink:0;align-self:flex-start;margin-top:1px}.weak-card-question{font-size:.85rem;color:var(--text-primary);line-height:1.4}.study-calendar-page{padding:24px 0 48px}.calendar-page-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.calendar-page-title{flex:1;font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0}.calendar-streak-badge{display:inline-block;background:linear-gradient(135deg,#fef3c7,#fcd34d);border:1px solid #f59e0b;color:#92400e;font-weight:700;font-size:.95rem;padding:8px 18px;border-radius:24px;margin-bottom:20px}.calendar-card{background:var(--surface);border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 8px #0000000f}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-month-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.calendar-nav-btn{background:var(--background-subtle);border:1px solid #e2e8f0;border-radius:8px;width:36px;height:36px;font-size:1.3rem;cursor:pointer;color:var(--text-primary);transition:background .15s;display:flex;align-items:center;justify-content:center}.calendar-nav-btn:hover{background:#e2e8f0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-day-label{text-align:center;font-size:.72rem;font-weight:700;color:#94a3b8;padding:4px 0;text-transform:uppercase;letter-spacing:.05em}.calendar-day{aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:var(--surface-subtle);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;transition:all .15s;padding:0}.calendar-day--empty{background:transparent;border-color:transparent;cursor:default}.calendar-day:hover:not(.calendar-day--empty){background:var(--brand-soft);border-color:var(--border-color)}.calendar-day--today{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.calendar-day--today .calendar-day-num{color:#fff!important}.calendar-day--done{background:#d1fae5;border-color:#6ee7b7}.calendar-day--done .calendar-day-num{color:#065f46}.calendar-day--future-due{background:var(--state-warning-bg);border-color:#fcd34d}.calendar-day--missed{background:var(--surface-subtle)}.calendar-day--selected{box-shadow:0 0 0 3px var(--primary-color)}.calendar-day-num{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1}.calendar-day-check{font-size:.65rem;color:#059669;font-weight:700}.calendar-day-dots{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.calendar-dot{width:4px;height:4px;border-radius:50%;background:#d97706;display:inline-block}.calendar-day-detail{background:var(--surface);border:1px solid #e2e8f0;border-radius:12px;padding:18px 20px;margin-bottom:16px}.calendar-detail-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.calendar-detail-activity{display:flex;align-items:center;gap:8px;color:#059669;font-size:.88rem;font-weight:500}.detail-check{font-size:1rem}.calendar-detail-missed{color:#94a3b8;font-size:.85rem;margin:0}.calendar-detail-due{color:#d97706;font-size:.88rem;font-weight:500;margin-top:6px}.calendar-detail-today{color:var(--primary-color);font-size:.88rem;font-weight:500;margin:0}.calendar-legend{padding:12px 0}.legend-row{display:flex;gap:20px;flex-wrap:wrap}.legend-swatch{width:16px;height:16px;border-radius:4px;border:1px solid transparent}.legend-swatch--done{background:#d1fae5;border-color:#6ee7b7}.legend-swatch--today{background:var(--primary-dark)}.legend-dot-wrap{display:flex;gap:2px;align-items:center}@media (max-width: 640px){.rating-buttons{gap:8px}.rating-btn{padding:16px 12px;min-width:80px;min-height:72px}.rating-btn-label{font-size:.95rem}.stats-top-grid{grid-template-columns:repeat(2,1fr)}.stats-mid-grid{grid-template-columns:1fr}.unit-stat-row{grid-template-columns:1fr;gap:8px}.unit-stat-retention{align-self:flex-start}.session-complete-stats{gap:16px}.session-goal-row{flex-wrap:wrap}.session-goal-btn{flex:1 1 40%}.calendar-grid{gap:4px}.calendar-day-num{font-size:.75rem}.flashcard-section-header{flex-direction:column;align-items:flex-start}.start-study-session-btn{width:100%;text-align:center}.study-session-modal{padding:24px 16px;border-radius:16px}}.unit-color-blue{background-color:var(--brand-soft);border-color:var(--primary-color)}.unit-color-green{background-color:#f0fdf4;border-color:#10b981}.unit-color-amber{background-color:#fef3c7;border-color:#f59e0b}.unit-color-pink{background-color:#fce7f3;border-color:#ec4899}.unit-color-violet,.unit-color-sky{background-color:var(--brand-soft);border-color:var(--primary-color)}[data-theme=dark] .unit-color-blue{background-color:var(--surface-elevated);border-color:var(--primary-color)}[data-theme=dark] .unit-color-green{background-color:#14532d;border-color:#10b981}[data-theme=dark] .unit-color-amber{background-color:#451a03;border-color:#f59e0b}[data-theme=dark] .unit-color-pink{background-color:#500724;border-color:#ec4899}[data-theme=dark] .unit-color-violet{background-color:var(--brand-soft);border-color:var(--primary-color)}[data-theme=dark] .unit-color-sky{background-color:var(--text-primary);border-color:var(--primary-color)}[data-theme=dark] .tip-box{background:var(--state-info-bg);color:var(--text-primary)}[data-theme=dark] .badge{background-color:var(--state-info-bg);color:var(--state-info-text)}[data-theme=dark] .term-card{background-color:var(--state-warning-bg);border-color:var(--warning-color)}[data-theme=dark] .difficulty-badge.easy{background-color:var(--state-success-bg);color:var(--state-success-text)}[data-theme=dark] .difficulty-badge.medium{background-color:var(--state-warning-bg);color:var(--state-warning-text)}[data-theme=dark] .difficulty-badge.hard{background-color:var(--state-error-bg);color:var(--state-error-text)}[data-theme=dark] .option-button:hover:not(:disabled){background-color:var(--state-info-bg);border-color:var(--primary-color)}[data-theme=dark] .option-button.correct{background-color:var(--state-success-bg);border-color:var(--secondary-color);color:var(--state-success-text)}[data-theme=dark] .option-button.incorrect{background-color:var(--state-error-bg);border-color:var(--danger-color);color:var(--state-error-text)}[data-theme=dark] .result-message.excellent,[data-theme=dark] .result-message.good{background-color:var(--state-success-bg);color:var(--state-success-text)}[data-theme=dark] .result-message.average{background-color:var(--state-warning-bg);color:var(--state-warning-text)}[data-theme=dark] .result-message.needs-work{background-color:var(--state-error-bg);color:var(--state-error-text)}[data-theme=dark] .flashcard-nav-button:disabled{background:var(--border-color);color:var(--text-muted)}[data-theme=dark] .mastery-button{background:linear-gradient(135deg,var(--surface-elevated),var(--surface));color:var(--text-primary);border:1px solid var(--border-color)}[data-theme=dark] .qnav-dot.unanswered,[data-theme=dark] .qnav-btn.unanswered{background:var(--surface-elevated);border-color:var(--border-color)}[data-theme=dark] .qnav-btn.answered{background:var(--state-success-bg);border-color:var(--secondary-color);color:var(--state-success-text)}[data-theme=dark] .unit-header-section{background:linear-gradient(135deg,var(--state-info-bg) 0%,var(--surface) 100%)!important}[data-theme=dark] .progress-bar-track,[data-theme=dark] .progress-track,[data-theme=dark] .session-bar-bg{background:var(--border-color)!important}[data-theme=dark] .quiz-feedback.correct,[data-theme=dark] .feedback-correct{background:var(--state-success-bg);color:var(--state-success-text);border-color:var(--secondary-color)}[data-theme=dark] .quiz-feedback.incorrect,[data-theme=dark] .feedback-incorrect{background:var(--state-error-bg);color:var(--state-error-text);border-color:var(--danger-color)}[data-theme=dark] .learning-objective-item,[data-theme=dark] .objective-item,[data-theme=dark] .teaching-note,[data-theme=dark] .teaching-notes-content,[data-theme=dark] .note-box{background:var(--surface-subtle);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .info-box,[data-theme=dark] .highlight-box{background:var(--state-info-bg);border-color:var(--primary-color);color:var(--text-primary)}[data-theme=dark] .success-box{background:var(--state-success-bg);border-color:var(--secondary-color);color:var(--state-success-text)}[data-theme=dark] .warning-box{background:var(--state-warning-bg);border-color:var(--warning-color);color:var(--state-warning-text)}[data-theme=dark] .card,[data-theme=dark] .content-card,[data-theme=dark] .panel{background:var(--surface);border-color:var(--border-color)}[data-theme=dark] .flashcard-front,[data-theme=dark] .flashcard-back{background:var(--surface);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .modal-content,[data-theme=dark] .modal-body{background:var(--surface);color:var(--text-primary)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:var(--surface);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-muted)}[data-theme=dark] .correct-answer-highlight{background:var(--state-success-bg)!important;color:var(--state-success-text)!important}[data-theme=dark] .wrong-answer-highlight{background:var(--state-error-bg)!important;color:var(--state-error-text)!important}[data-theme=dark] .score-excellent{background:var(--state-success-bg);color:var(--state-success-text)}[data-theme=dark] .score-good{background:var(--state-info-bg);color:var(--state-info-text)}[data-theme=dark] .score-average{background:var(--state-warning-bg);color:var(--state-warning-text)}[data-theme=dark] .definition-card,[data-theme=dark] .definition-item{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .subunit-name{color:var(--text-primary)}[data-theme=dark] .sub-unit-card,[data-theme=dark] .unit-card{background:var(--surface)!important;border-color:var(--border-color)!important}[data-theme=dark] .exam-tips-section,[data-theme=dark] .tips-card,[data-theme=dark] .progress-section,[data-theme=dark] .stat-card,[data-theme=dark] .stats-card{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .main-content,[data-theme=dark] .app-body,[data-theme=dark] .page-content,[data-theme=dark] .container{background:transparent;color:var(--text-primary)}[data-theme=dark] table{background:var(--surface);color:var(--text-primary)}[data-theme=dark] th{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] td{border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] tr:nth-child(2n) td{background:var(--surface-subtle)}[data-theme=dark] code,[data-theme=dark] pre{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .exam-question-area,[data-theme=dark] .exam-answer-box{background:var(--surface);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .written-question-card,[data-theme=dark] .practice-question-card{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .model-answer,[data-theme=dark] .mark-scheme{background:var(--state-success-bg);border-color:var(--secondary-color);color:var(--text-primary)}[data-theme=dark] .hint-box,[data-theme=dark] .hint-content{background:var(--state-warning-bg);border-color:var(--warning-color);color:var(--state-warning-text)}[data-theme=dark] .nav-tabs .tab-btn,[data-theme=dark] .tab-button{background:var(--surface-subtle);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .nav-tabs .tab-btn.active,[data-theme=dark] .tab-button.active{background:var(--primary-color);color:#fff}[data-theme=dark] .search-input,[data-theme=dark] .filter-input,[data-theme=dark] .search-result-item,[data-theme=dark] .dropdown-item{background:var(--surface);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .search-result-item:hover,[data-theme=dark] .dropdown-item:hover{background:var(--surface-elevated)}[data-theme=dark] .progress-bar-fill.info{background:var(--primary-color)}[data-theme=dark] .tag,[data-theme=dark] .label{background:var(--surface-elevated);color:var(--text-secondary);border-color:var(--border-color)}[data-theme=dark] .empty-state,[data-theme=dark] .no-data{color:var(--text-muted)}[data-theme=dark] .divider,[data-theme=dark] hr{border-color:var(--border-color)}[data-theme=dark] .modern-footer{background:#0a111e;border-color:#1e293b}[data-theme=dark] .about-section,[data-theme=dark] .about-card,[data-theme=dark] .leaderboard-row,[data-theme=dark] .leaderboard-item{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .achievement-card,[data-theme=dark] .achievement-item{background:var(--surface);border-color:var(--border-color)}[data-theme=dark] .calendar-day{background:var(--surface-subtle);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .calendar-day.studied{background:var(--state-success-bg);color:var(--state-success-text)}[data-theme=dark] .calendar-day.today{background:var(--state-info-bg);color:var(--state-info-text);border-color:var(--primary-color)}[data-theme=dark] .supply-demand-container,[data-theme=dark] .diagram-panel,[data-theme=dark] .scenario-card,[data-theme=dark] .scenario-item{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .daily-review-section{background:var(--surface-elevated);border-color:var(--border-color)}[data-theme=dark] .daily-review-streak{color:var(--state-warning-text);background:var(--state-warning-bg);border-color:#92400e}[data-theme=dark] .daily-count-label{color:var(--text-secondary)}[data-theme=dark] .daily-count-divider{background:var(--border-color)}[data-theme=dark] .daily-review-tomorrow{color:var(--text-secondary)}[data-theme=dark] .daily-review-link{color:var(--primary-color)}[data-theme=dark] .review-today-section{background:var(--surface-elevated);border-color:var(--primary-color)}[data-theme=dark] .review-container h3{color:var(--text-primary)}[data-theme=dark] .review-count{color:var(--state-info-text)}[data-theme=dark] .no-reviews{color:var(--text-primary)}[data-theme=dark] .review-item{border-left-color:var(--primary-color)}[data-theme=dark] .progress-dashboard{background:var(--surface-elevated);border-top-color:var(--primary-color);border-bottom-color:var(--primary-color)}[data-theme=dark] .dashboard-header h2{color:var(--text-primary)}[data-theme=dark] .motivational-message{color:var(--state-info-text)}[data-theme=dark] .stat-number{color:var(--text-primary)}[data-theme=dark] .stat-card{border-left-color:var(--primary-color)}[data-theme=dark] .progress-bar-outer{background:var(--border-color)}[data-theme=dark] .unit-progress-section h3,[data-theme=dark] .unit-header h4{color:var(--text-primary)}[data-theme=dark] .large-progress-bar{background:var(--border-color)}[data-theme=dark] .completion-percentage{color:var(--text-primary)}.question-detail-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.question-detail-modal{background:var(--surface-primary);border-radius:16px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.question-detail-header{padding:24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.question-detail-header h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.question-detail-close{background:none;border:none;font-size:28px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.question-detail-close:hover{background:var(--surface-subtle);color:var(--text-primary)}.question-detail-content{padding:24px;overflow-y:auto;flex:1}.question-detail-text{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 24px;line-height:1.6}.question-detail-options{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.question-detail-option{padding:16px;border-radius:12px;border:2px solid var(--border-color);display:flex;gap:12px;align-items:flex-start;cursor:default;transition:all .2s ease;background:var(--surface-subtle)}.question-detail-option.correct{border-color:#10b981;background:#10b98114}.question-detail-option.wrong{border-color:#ef4444;background:#ef444414}.question-detail-option-key{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--border-color);font-weight:700;color:var(--text-primary);font-size:.875rem}.question-detail-option.correct .question-detail-option-key{background:#10b981;color:#fff}.question-detail-option.wrong .question-detail-option-key{background:#ef4444;color:#fff}.question-detail-option-text{flex:1;color:var(--text-primary);font-size:.95rem;line-height:1.5;word-break:break-word}.question-detail-option-label{font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:4px;white-space:nowrap;margin-left:auto}.question-detail-option.correct .question-detail-option-label{background:#10b98133;color:#065f46}.question-detail-option.wrong .question-detail-option-label{background:#ef444433;color:#7f1d1d}.question-detail-explanation{padding:16px;background:var(--surface-subtle);border-radius:12px;border-left:4px solid var(--primary-color)}.question-detail-explanation h4{margin:0 0 8px;font-size:.875rem;font-weight:600;color:var(--primary-color);text-transform:uppercase;letter-spacing:.5px}.question-detail-explanation p{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.6}.question-detail-footer{padding:16px 24px;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:space-between}.question-detail-nav-btn{flex:1;padding:12px 16px;border:1px solid var(--border-color);background:var(--surface-subtle);color:var(--text-primary);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.question-detail-nav-btn:hover:not(:disabled){background:var(--border-color);border-color:var(--text-secondary)}.question-detail-nav-btn:disabled{opacity:.5;cursor:not-allowed}.question-detail-nav-btn:active:not(:disabled){transform:scale(.98)}[data-theme=dark] .question-detail-modal{background:var(--surface-primary)}[data-theme=dark] .question-detail-option{background:var(--surface-subtle);border-color:var(--border-color)}[data-theme=dark] .question-detail-option-key{background:var(--border-color);color:var(--text-primary)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-color: #0d9488;--primary-dark: #0f766e;--secondary-color: #14b8a6;--background: #f9fafb;--background-subtle: #f3f4f6;--surface: #ffffff;--surface-elevated: #ffffff;--surface-subtle: #f9fafb;--text-primary: #1a1d24;--text-secondary: #475063;--text-muted: #94a3b8;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 24px rgba(15, 23, 42, .08);--border-radius: 16px;--state-info-bg: #e6faf6;--state-info-text: #0f766e;--brand: #0d9488;--brand-soft: #e6faf6;--nav-bg: #0f3d3a;--nav-fg: #bfe0db;--nav-dim: #6f9a94;--nav-active: #155049;--nav-accent: #2dd4bf;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-reading: Georgia, "Times New Roman", serif}[data-theme=dark]{--primary-color: #2dd4bf;--primary-dark: #14b8a6;--background: #0f141f;--background-subtle: #131927;--surface: #161c28;--surface-elevated: #1c2333;--surface-subtle: #131927;--text-primary: #e7ebf3;--text-secondary: #aab3c5;--text-muted: #6b7280;--border-color: #28303f;--brand: #2dd4bf;--brand-soft: #10312d;--nav-bg: #0a1f1d;--state-info-bg: #10312d;--state-info-text: #5eead4}body{font-family:var(--font-sans)}.topbar{position:sticky;top:0;z-index:200;background:var(--surface);border-bottom:1px solid var(--border-color);height:64px;display:flex;align-items:stretch}.topbar-inner{display:flex;align-items:center;gap:16px;height:100%;max-width:none;padding-left:24px;padding-right:24px}.topbar .container{max-width:none;padding-left:24px;padding-right:24px}.topbar-brand{display:flex;align-items:center;gap:10px;cursor:pointer;flex-shrink:0;border-radius:8px}.topbar-logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#14b8a6,#0f766e);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.topbar-titles{display:flex;flex-direction:column;line-height:1.2}.topbar-title{font-size:16px;font-weight:700;color:var(--text-primary);white-space:nowrap}.topbar-subtitle{font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.08em;color:var(--text-muted);white-space:nowrap}.topbar-search{flex:1;min-width:260px;max-width:640px;margin:0 auto}.topbar-search .search-container{width:100%}.search-input-wrapper input.search-input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([hidden]){border:1px solid var(--border-color);border-radius:12px;padding:9px 40px 9px 44px;font-size:.875rem}.search-input-wrapper input.search-input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([hidden]):focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--brand-soft)}.search-input-wrapper .search-icon{left:14px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none}.topbar-search .search-results{border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-lg)}.topbar-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}.topbar-exam-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;background:var(--brand-soft);border:1px solid transparent;font-size:12px;line-height:1;white-space:nowrap}.topbar-exam-label{font-weight:700;color:var(--state-info-text)}.topbar-exam-sep{color:var(--text-muted)}.topbar-exam-date{font-weight:600;color:var(--text-primary)}.topbar-exam-days{font-weight:800;color:var(--primary-color)}.topbar-icon-btn{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:none;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.topbar-icon-btn:hover{background:var(--surface-subtle);color:var(--primary-color)}.topbar-icon-btn svg{display:block}.topbar .theme-toggle,.theme-toggle{background:var(--surface-subtle);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:10px;padding:7px 12px}.theme-toggle:hover{background:var(--brand-soft);color:var(--primary-color);border-color:var(--primary-color)}.topbar-actions .signin-pill{background:transparent;border:1px solid #99f6e4;color:#0f766e}.topbar-actions .signin-pill:hover{background:#e6faf6;color:#0f766e;border-color:#99f6e4}.topbar-actions .signin-pill svg{color:currentColor}.topbar-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:9999px;background:transparent;border:1px solid #99f6e4;color:#0f766e;font-family:inherit;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .15s;white-space:nowrap}.topbar-signin-btn:hover{background:#e6faf6;color:#0f766e;border-color:#99f6e4}.topbar-signin-btn:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}[data-theme=dark] .topbar-actions .signin-pill{background:transparent;color:#2dd4bf;border:1px solid #115e59}[data-theme=dark] .topbar-actions .signin-pill:hover{background:#134e4a4d;color:#2dd4bf;border-color:#115e59}.topbar-mobile-search,.topbar-mobile-menu{display:none}@media (max-width: 767px){.topbar{height:56px}.topbar-inner,.topbar .container{padding-left:16px;padding-right:16px}.topbar-search,.topbar-exam-pill{display:none}.topbar-icon-btn{display:flex}.topbar-actions .theme-toggle{display:none}.topbar-mobile-search{display:block;overflow:hidden;max-height:0;border-bottom:0 solid var(--border-color);transition:max-height .25s ease,border-width .25s ease,padding .25s ease;padding:0 16px}.topbar-mobile-search.open{max-height:96px;padding:12px 16px;border-bottom-width:1px}.topbar-mobile-search .search-container{width:100%}.topbar-mobile-menu{display:flex;flex-direction:column;overflow:hidden;max-height:0;background:var(--nav-bg);transition:max-height .3s ease}.topbar-mobile-menu.open{max-height:75vh;overflow-y:auto}.topbar-mobile-label{padding:14px 20px 6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--nav-dim)}.topbar-mobile-menu-item{display:flex;align-items:center;gap:12px;padding:10px 20px;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;text-align:left;width:100%;color:var(--nav-fg);font-size:13px;transition:background .15s ease}.topbar-mobile-menu-item .sidebar-icon{color:var(--nav-dim)}.topbar-mobile-menu-item.active{background:var(--nav-active);border-left-color:var(--nav-accent);color:#fff}.topbar-mobile-menu-item.active .sidebar-icon{color:var(--nav-accent)}.topbar-mobile-menu-item:hover{background:#ffffff0d}.topbar-mobile-menu-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.topbar-mobile-menu-num{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--nav-dim)}.topbar-mobile-menu-item.active .topbar-mobile-menu-num{color:var(--nav-accent)}.topbar-mobile-menu-title{font-size:13px;font-weight:500;color:var(--nav-fg)}.topbar-mobile-menu-item.active .topbar-mobile-menu-title{color:#fff;font-weight:600}}@media (max-width: 640px){.topbar-signin-btn{padding:6px}.topbar-signin-label{display:none}}.sidebar{width:272px;flex-shrink:0;background:var(--nav-bg);border-right:none;box-shadow:none;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:10}.sidebar-inner{padding:16px 0 32px;display:flex;flex-direction:column}.sidebar-home-link,.sidebar-unit-btn,.sidebar-subunit-btn,.sidebar-utility-btn{display:flex;align-items:center;gap:10px;background:transparent;border:none;border-left:3px solid transparent;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.35;text-align:left;width:100%;color:var(--nav-fg);transition:background .15s ease,color .15s ease}.sidebar-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--nav-dim)}.sidebar-icon svg{display:block}.sidebar-home-link:hover,.sidebar-unit-btn:hover,.sidebar-subunit-btn:hover,.sidebar-utility-btn:hover{background:#ffffff0d;color:#fff}.sidebar-home-link:hover .sidebar-icon,.sidebar-unit-btn:hover .sidebar-icon,.sidebar-utility-btn:hover .sidebar-icon{color:var(--nav-fg)}.sidebar-section-label{padding:16px 20px 6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-dim)}.sidebar-nav,.sidebar-utility-nav,.sidebar-unit{display:flex;flex-direction:column}.sidebar-home-link{padding:10px 20px;font-weight:600}.sidebar-home-link.active{background:var(--nav-active);color:#fff;border-left-color:var(--nav-accent);font-weight:600}.sidebar-home-link.active .sidebar-icon{color:var(--nav-accent)}.sidebar-unit-btn{justify-content:space-between;padding:10px 16px 10px 17px;min-height:56px}.sidebar-unit-left{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-unit-text{display:flex;flex-direction:column;min-width:0}.sidebar-unit-label{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--nav-dim);line-height:1.2}.sidebar-unit-title{font-size:.875rem;font-weight:500;color:var(--nav-fg);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.sidebar-unit-btn.active{background:var(--nav-active);border-left-color:var(--nav-accent)}.sidebar-unit-btn.active .sidebar-icon{color:var(--nav-accent)}.sidebar-unit-btn.active .sidebar-unit-label{color:var(--nav-dim)}.sidebar-unit-btn.active .sidebar-unit-title{color:#fff;font-weight:600}.sidebar-unit-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.sidebar-unit-pct{font-size:.75rem;font-weight:600;color:var(--nav-dim)}.sidebar-unit-btn.active .sidebar-unit-pct{color:var(--nav-accent)}.sidebar-chevron{font-size:1.1rem;line-height:1;color:var(--nav-dim);display:inline-block;transition:transform .2s ease}.sidebar-chevron.expanded{transform:rotate(90deg)}.sidebar-subunits{display:flex;flex-direction:column;background:#00000026;margin-left:29px;padding:4px 0}.sidebar-subunits-loading{padding:8px 12px;font-size:.8125rem;color:var(--nav-dim)}.sidebar-subunit-btn{align-items:flex-start;gap:8px;padding:7px 12px;font-size:.8125rem;border-left:2px solid transparent}.sidebar-subunit-btn:hover{background:#ffffff0d;color:#fff}.sidebar-subunit-btn.active{background:#ffffff0f;border-left-color:var(--nav-accent);font-weight:600}.sidebar-subunit-btn.active .sidebar-subunit-num,.sidebar-subunit-btn.active .sidebar-subunit-title{color:#fff}.sidebar-subunit-num{font-size:.75rem;font-weight:600;color:var(--nav-dim);flex-shrink:0;padding-top:1px;min-width:28px}.sidebar-subunit-title{color:var(--nav-fg);line-height:1.4}.sidebar-divider{height:1px;background:#ffffff14;margin:16px 20px}.sidebar-utility-btn{padding:9px 20px}.sidebar-utility-btn.active{background:var(--nav-active);color:#fff;border-left-color:var(--nav-accent);font-weight:600}.sidebar-utility-btn.active .sidebar-icon{color:var(--nav-accent)}.hp-home{padding:48px 0 72px}.hp-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:32px}.hp-pill{display:inline-block;padding:5px 14px;border-radius:9999px;background:#e6faf6;color:#0f766e;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}.hp-heading{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-primary);margin:0 0 14px}.hp-heading-accent{color:var(--primary-color)}.hp-subtitle{font-size:16px;line-height:1.6;color:var(--text-secondary);max-width:46ch;margin:0}.hp-progress-card{flex-shrink:0;background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:var(--shadow-sm)}.hp-progress-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.hp-progress-ring{display:block}.hp-continue{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:linear-gradient(135deg,#14b8a6,#0f766e);color:#fff;border:none;border-radius:16px;padding:18px 22px;margin-bottom:40px;cursor:pointer;font-family:inherit;transition:transform .15s ease,box-shadow .15s ease}.hp-continue:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0d948847}.hp-continue-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ffffffbf;flex-shrink:0}.hp-continue-title{flex:1;font-size:16px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-section{margin-bottom:48px}.hp-section-title{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--text-primary);margin:0 0 18px}.hp-tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hp-tool-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:16px;cursor:pointer;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.hp-tool-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.hp-tool-icon{width:36px;height:36px;border-radius:10px;background:#e6faf6;color:var(--primary-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hp-tool-title{font-size:15px;font-weight:600;color:var(--text-primary)}.hp-tool-desc{font-size:13px;line-height:1.5;color:var(--text-secondary)}.hp-units-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.hp-unit-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:16px;cursor:pointer;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.hp-unit-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.hp-unit-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-color)}.hp-unit-title{font-size:16px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.hp-unit-bar{width:100%;height:4px;border-radius:2px;background:var(--background-subtle);overflow:hidden}.hp-unit-bar-fill{height:100%;border-radius:2px;background:var(--primary-color);transition:width .5s ease}.hp-unit-meta{font-size:12px;color:var(--text-muted)}@media (max-width: 1024px){.hp-tools-grid,.hp-units-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.hp-home{padding:32px 0 56px}.hp-intro{flex-direction:column-reverse;gap:24px}.hp-progress-card{align-self:flex-start}.hp-tools-grid,.hp-units-grid{grid-template-columns:1fr}}.subunit-content{position:relative;max-width:960px;min-width:0;background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:32px;box-shadow:var(--shadow-sm)}.subunit-content h2{font-family:var(--font-sans);font-weight:700;color:var(--text-primary);line-height:1.25;margin:0 0 16px}.subunit-content .content-text p,.subunit-content .notes-content p,.subunit-content .notes-content li{font-size:17px;line-height:1.7;color:var(--text-primary)}.subunit-content h3,.subunit-content h4{font-family:var(--font-sans);font-weight:700;color:var(--text-primary)}.subunit-content .content-text p,.subunit-content .notes-content p,.subunit-content .notes-content li,.subunit-content .objectives-list li{max-width:78ch}.sv-layout{display:grid;grid-template-columns:minmax(0,960px);justify-content:center;gap:28px}.sv-section{scroll-margin-top:90px}.sv-rail{display:none}.sv-onpage ul{list-style:none;margin:0;padding:0}.sv-onpage-chips ul{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 24px}.sv-onpage-chips a{display:inline-block;padding:5px 12px;border:1px solid var(--border-color);border-radius:999px;font-size:13px;font-weight:500;color:var(--text-secondary);text-decoration:none;background:var(--surface)}.sv-onpage-chips a:hover,.sv-onpage-chips a.active{border-color:var(--primary-color);color:var(--primary-color)}@media (min-width: 1280px){.sv-layout{grid-template-columns:minmax(0,960px) 200px}.sv-rail{display:block}.sv-onpage-chips{display:none}.sv-onpage-rail{position:sticky;top:96px}.sv-onpage-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:8px 0 10px}.sv-onpage-rail a{display:block;padding:6px 12px;border-left:2px solid var(--border-color);font-size:14px;color:var(--text-secondary);text-decoration:none}.sv-onpage-rail a:hover{color:var(--primary-color)}.sv-onpage-rail a.active{border-left-color:var(--primary-color);color:var(--primary-color);font-weight:600}}.tb-breadcrumb{font-size:12px;letter-spacing:.02em;color:var(--text-muted);margin-bottom:10px}.subunit-content .term-card{background:#eefdfb;border:none;border-left:3px solid #0d9488;border-radius:8px;box-shadow:none}.subunit-content .term-card h4{font-weight:700;color:var(--text-primary);margin:0 0 6px}.subunit-content .term-card p{font-size:15px;line-height:1.6;margin:0}.subunit-content .tip-box,.subunit-content .highlight{background:#fff6e6;border:none;border-left:3px solid #e08a00;border-radius:8px}.tb-nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--border-color)}.tb-nav-btn{background:var(--surface);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease;min-width:0}.tb-nav-btn:hover:not(:disabled){background:var(--brand-soft);box-shadow:none;transform:none}.tb-nav-btn:disabled{opacity:.4;cursor:default}.tb-nav-btn:first-child{max-width:48%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-nav-btn:last-child{max-width:48%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.subunit-content{padding:18px;border-radius:12px}.tb-nav{flex-direction:column}.tb-nav-btn:first-child,.tb-nav-btn:last-child{max-width:100%;text-align:left}}[data-theme=dark] .subunit-content{background:#161c28;border-color:#28303f}[data-theme=dark] .subunit-content .term-card{background:#0c2b27;border-left-color:#2dd4bf}[data-theme=dark] .subunit-content .tip-box,[data-theme=dark] .subunit-content .highlight{background:#2c2410;border-left-color:#d99a1e}[data-theme=dark] .teaching-notes{background:linear-gradient(135deg,#221c0f,#1d1a12 60%,#161c28);box-shadow:0 8px 20px #00000059}[data-theme=dark] .notes-content p:has(strong:first-child){background:#0f2a20;border-left-color:#10b981}[data-theme=dark] .notes-content h4.section-1{background:#0f2a20;color:#6ee7b7}[data-theme=dark] .notes-content h4.section-2{background:#2c2410;color:#fcd34d}[data-theme=dark] .notes-content h4.section-5{background:#2e1a0c;color:#fdba74}[data-theme=dark] .tb-nav{border-top-color:#28303f}[data-theme=dark] .tb-nav-btn{background:transparent;color:#2dd4bf;border-color:#2dd4bf}[data-theme=dark] .tb-nav-btn:hover:not(:disabled){background:#10312d}.subunit-number-badge,.start-topic-button{background:var(--primary-color)}.start-topic-button:hover{background:var(--primary-dark)}.primary-button,.mcq-nav-button,.flashcard-nav-button,.start-study-session-btn,.quiz-button,.shuffle-button,.unit-practice-button,.study-guide-download-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:none;transform:none;transition:background .15s ease}.primary-button:hover,.mcq-nav-button:hover:not(:disabled),.flashcard-nav-button:hover:not(:disabled),.start-study-session-btn:hover,.quiz-button:hover,.shuffle-button:hover,.unit-practice-button:hover,.study-guide-download-btn:hover:not(:disabled):not(.success){background:var(--primary-dark);box-shadow:none;transform:none}.study-guide-download-btn.success{background:#059669}.start-study-session-btn--all{background:var(--primary-color)}.start-study-session-btn--all:hover{box-shadow:none}.secondary-button{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;background:var(--surface);color:var(--primary-color);border:1px solid var(--primary-color);border-radius:12px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:none;transform:none;transition:background .15s ease}.secondary-button:hover{background:var(--brand-soft);box-shadow:none;transform:none}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]),select{height:44px;padding:0 14px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface);color:var(--text-primary);font-family:inherit;font-size:.95rem;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0d948826}.mcq-option{background:var(--surface);border:1.5px solid var(--border-color);border-radius:8px;transition:border-color .15s ease,background .15s ease}.mcq-option:hover:not(:disabled){background:var(--surface);border-color:var(--primary-color);transform:none}.mcq-option.selected{background:var(--brand-soft);border-color:var(--primary-color)}.mcq-option.correct{background:#f0fdf4;border-color:#10b981}.mcq-option.correct .option-letter{background:#10b981}.mcq-option.incorrect{background:#fef2f2;border-color:#ef4444}.mcq-option.incorrect .option-letter{background:#ef4444}.exam-mcq-option{border-width:1.5px;border-radius:8px}.exam-mcq-option:hover{background:var(--brand-soft)}.flashcard-front,.flashcard-back{background:var(--surface);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 1px 3px #0000000f}.flashcard.card-type-define .flashcard-front,.flashcard.card-type-define .flashcard-back,.flashcard.card-type-explain .flashcard-front,.flashcard.card-type-explain .flashcard-back,.flashcard.card-type-analyse .flashcard-front,.flashcard.card-type-analyse .flashcard-back,.flashcard.card-type-discuss .flashcard-front,.flashcard.card-type-discuss .flashcard-back{border:1px solid var(--border-color)}.flashcard-text{color:var(--text-primary)}.flashcard-hint{color:var(--text-muted)}.flashcard .flashcard-type-badge,.flashcard.card-type-define .flashcard-type-badge,.flashcard.card-type-explain .flashcard-type-badge,.flashcard.card-type-analyse .flashcard-type-badge,.flashcard.card-type-discuss .flashcard-type-badge{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:6px;padding:0;background:transparent;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.flashcard-type-badge .type-icon{display:none}.flashcard-type-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary-color);flex-shrink:0}.flashcard.card-type-define .flashcard-type-badge:before{background:#0d9488}.flashcard.card-type-explain .flashcard-type-badge:before{background:#10b981}.flashcard.card-type-analyse .flashcard-type-badge:before{background:#f59e0b}.flashcard.card-type-discuss .flashcard-type-badge:before{background:#ec4899}.card-type-define{border-color:var(--primary-color);background:var(--brand-soft)}.card-type-define.active{background:var(--primary-color);color:#fff}.card-type-explain{border-color:#10b981;background:#ecfdf5}.card-type-explain.active{background:#10b981;color:#fff}.card-type-analyse{border-color:#f59e0b;background:#fffbeb}.card-type-analyse.active{background:#f59e0b;color:#fff}.card-type-discuss{border-color:#ec4899;background:#fdf2f8}.card-type-discuss.active{background:#ec4899;color:#fff}.stat-label,.objectives-label,.flashcard-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}[data-theme=dark] .mcq-option.correct{background:#0f2a1f}[data-theme=dark] .mcq-option.incorrect{background:#2a1518}[data-theme=dark] .card-type-explain{background:#10312d}[data-theme=dark] .card-type-analyse{background:#2c2410}[data-theme=dark] .card-type-discuss{background:#33141f}.sd-card{background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 22px 18px;margin-bottom:40px;box-shadow:var(--shadow-sm);outline:none}.sd-title{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}.sd-svg{display:block;width:100%;max-width:420px;height:auto;margin:0 auto}.sd-axis-label{font-size:11px;font-weight:700;fill:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.sd-curve-label{font-size:11px;font-weight:800}.sd-shortage{font-size:10px;font-weight:800;letter-spacing:.08em;fill:#ef4444}.sd-line{transition:opacity .8s ease}.sd-shift{transition:opacity .8s ease,transform .8s ease}.sd-dot{transition:transform .8s ease}.sd-ceiling{transition:opacity .8s ease}.sd-caption{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:10px 0 12px;animation:sd-caption-in .4s ease}@keyframes sd-caption-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.sd-read-link{background:none;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:700;color:var(--primary-color);cursor:pointer}.sd-read-link:hover{text-decoration:underline}.sd-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.sd-pill{padding:6px 14px;border-radius:9999px;border:1px solid var(--border-color);background:var(--surface);color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.sd-pill:hover{border-color:var(--primary-color);color:var(--primary-color)}.sd-pill.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media (prefers-reduced-motion: reduce){.sd-line,.sd-shift,.sd-dot,.sd-ceiling{transition:none}.sd-caption{animation:none}}[data-theme=dark] .sd-card{background:var(--surface)}.signin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:16px;animation:signin-fade-in .15s ease}@keyframes signin-fade-in{0%{opacity:0}to{opacity:1}}.signin-modal{position:relative;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:28px 24px 20px;box-shadow:var(--shadow-lg);animation:signin-pop-in .2s ease}@keyframes signin-pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.signin-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.signin-close:hover{background:var(--surface-subtle);color:var(--text-primary)}.signin-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--primary-color);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.signin-title{font-size:20px;font-weight:800;color:var(--text-primary);margin:0 0 6px;letter-spacing:-.01em}.signin-subtitle{font-size:13px;line-height:1.55;color:var(--text-secondary);margin:0 0 18px}.signin-form{display:flex;flex-direction:column;gap:14px}.signin-field{display:flex;flex-direction:column;gap:6px}.signin-field span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.signin-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5}[data-theme=dark] .signin-error{background:#2a1518;border-color:#7f1d1d;color:#fca5a5}.signin-submit{width:100%;margin-top:4px}.signin-submit:disabled{opacity:.6;cursor:default}.signin-switch{width:100%;background:none;border:none;padding:14px 0 2px;font-family:inherit;font-size:13px;font-weight:600;color:var(--primary-color);cursor:pointer;text-align:center}.signin-switch:hover{text-decoration:underline}.topbar-account{display:flex;align-items:center;gap:8px}.topbar-account-info{display:flex;flex-direction:column;line-height:1.2;text-align:right;min-width:0}.topbar-account-name{font-size:13px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.topbar-account-class{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.topbar-account-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 14px;border-radius:10px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface-subtle);border:1px solid var(--border-color);color:var(--text-secondary);transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.topbar-account-btn:hover{background:var(--brand-soft);color:var(--primary-color);border-color:var(--primary-color)}.topbar-signin-btn{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.topbar-signin-btn:hover{background:var(--primary-dark);color:#fff;border-color:var(--primary-dark)}.signin-gate{background:var(--surface);border:1px solid var(--border-color);border-radius:16px;padding:32px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin:24px 0}.signin-gate-icon{width:48px;height:48px;border-radius:12px;background:var(--brand-soft);color:var(--primary-color);display:flex;align-items:center;justify-content:center}.signin-gate h3{font-size:18px;font-weight:800;color:var(--text-primary);margin:4px 0 0}.signin-gate p{font-size:14px;line-height:1.6;color:var(--text-secondary);max-width:44ch;margin:0}@media (max-width: 767px){.topbar-account-info{display:none}.topbar-account-btn{height:38px;padding:0 12px}}
