@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";:root{--brand-hue: 221;--brand-saturation: 83%;--brand-lightness: 47%;--brand-rgb-components: 37, 99, 235;color-scheme:light;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-monospace: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;--font-size-root: 16px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--spacing-unit: 1rem;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius: .5rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-pill: 9999px;--border-radius-round: 50%;--box-shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--box-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .07), 0 1px 2px -1px rgba(0, 0, 0, .04);--box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--box-shadow-md: 0 6px 10px -2px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--box-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-inner: inset 0 1px 2px rgba(0,0,0,.05);--transition: all .2s ease-in-out;--sidebar-width: 280px;--sidebar-width-collapsed: 60px;--exam-header-height: 56px;--animation-ellipsis-duration: 1.4s;--accent-color: hsl(var(--brand-hue), var(--brand-saturation), var(--brand-lightness));--accent-color-hover: hsl(var(--brand-hue), var(--brand-saturation), calc(var(--brand-lightness) - 5%));--accent-color-light: rgba(var(--brand-rgb-components), .1);--accent-color-rgb: var(--brand-rgb-components);--text-primary: #111827;--text-secondary: #4B5563;--text-tertiary: #6B7280;--text-placeholder: #9CA3AF;--text-accent: hsl(var(--brand-hue), var(--brand-saturation), 40%);--text-on-accent: hsl(var(--brand-hue), 20%, 98%);--text-on-primary-button: var(--text-on-accent);--text-subject-header: var(--text-accent);--text-primary-rgb: 17, 24, 39;--background-primary: #F9FAFB;--background-secondary: #FFFFFF;--background-tertiary: #F3F4F6;--background-hover: hsl(var(--brand-hue), 25%, 95%);--background-accent: var(--accent-color-light);--background-overlay: rgba(30, 41, 59, .5);--background-elevation-1: var(--background-secondary);--card-bg: var(--background-secondary);--border-primary: #E5E7EB;--border-secondary: #D1D5DB;--border-light: var(--border-primary);--border-accent: rgba(var(--brand-rgb-components), .3);--border-question: var(--border-accent);--border-primary-rgb: 229, 231, 235;--purple-accent-base: #7C3AED;--purple-accent-rgb: 124, 58, 237;--purple-accent-light: rgba(124, 58, 237, .15);--purple-accent-dark: #6D28D9;--text-on-purple-accent: #FFFFFF;--input-bg: var(--background-secondary);--input-text: var(--text-primary);--input-border: var(--border-secondary);--input-focus-border: var(--accent-color);--input-focus-shadow: 0 0 0 3px rgba(var(--brand-rgb-components), .25);--datetime-picker-indicator-invert: 1;--form-select-arrow-light: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234B5563%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);--button-primary-bg: var(--accent-color);--button-primary-hover-bg: var(--accent-color-hover);--button-secondary-bg: #E5E7EB;--button-secondary-hover-bg: #D1D5DB;--button-secondary-text: #1F2937;--button-outline-secondary-text: var(--text-secondary);--button-outline-secondary-border: var(--border-secondary);--button-outline-secondary-hover-bg: var(--background-tertiary);--button-outline-secondary-hover-text: var(--text-primary);--button-outline-secondary-hover-border: var(--border-primary);--button-secondary-accent-bg: var(--accent-color-light);--button-secondary-accent-hover-bg: rgba(var(--brand-rgb-components), .15);--button-secondary-accent-text: var(--text-accent);--button-secondary-accent-border: var(--border-accent);--button-danger-bg: #EF4444;--button-danger-hover-bg: #DC2626;--button-warning-bg: #F59E0B;--button-warning-hover-bg: #D97706;--text-on-warning: #1E293B;--button-success-bg: #10B981;--button-success-hover-bg: #059669;--button-info-bg: var(--accent-color);--button-info-hover-bg: var(--accent-color-hover);--text-on-info-button: var(--text-on-accent);--button-disabled-bg: #9CA3AF;--button-disabled-border: #9CA3AF;--button-disabled-opacity: .6;--button-disabled-text: #FFFFFF;--success-color: #16A34A;--success-bg: #DCFCE7;--success-border: #BBF7D0;--danger-color: #DC2626;--danger-bg: #FEE2E2;--danger-border: #FECACA;--warning-color: #F59E0B;--warning-bg: #FEF3C7;--warning-border: #FDE68A;--info-color: var(--accent-color);--info-bg: var(--accent-color-light);--info-border: var(--border-accent);--scrollbar-thumb: #CBD5E1;--scrollbar-track: #F3F4F6;--scrollbar-thumb-hover: #9CA3AF;--color-coin: #FBBF24;--color-pyq: #2DD4BF;--color-pyq-bg: rgba(45, 212, 191, .1);--color-practice: #A855F7;--color-practice-bg: rgba(168, 85, 247, .1);--color-exam: #EC4899;--color-exam-bg: rgba(236, 72, 153, .1);--color-time: var(--color-exam, #EC4899);--color-dpp: #F472B6;--color-dpp-bg: rgba(244, 114, 182, .1);--color-assignments: #60A5FA;--color-assignments-bg: rgba(96,165,250,.1);--color-ai-tutor: var(--accent-color);--color-ai-tutor-bg: var(--accent-color-light);--chart-color-1: var(--accent-color);--chart-color-2: var(--purple-accent-base);--chart-color-3: var(--success-color);--chart-color-4: var(--warning-color);--chart-color-5: #0EA5E9;--chart-color-6: var(--danger-color);--timer-bg: rgba(var(--brand-rgb-components), .08);--timer-border-color: rgba(var(--brand-rgb-components), .7);--timer-text-color: var(--text-primary);--item-bg-color-raw-blue: 59, 130, 246;--item-bg-color-raw-green: 22, 163, 74;--item-bg-color-raw-yellow: 245, 158, 11;--content-padding-x-desktop: var(--spacing-xl);--content-padding-x-mobile: var(--spacing-md);--view-footer-max-width: 900px;--summary-color-1: #3B82F6;--summary-color-2: #10B981;--summary-color-3: #F59E0B;--summary-color-4: #EF4444;--mock-color: #3B82F6;--live-color: #EF4444;--full-length-color: #F59E0B;--pyq-color: #10B981;--sectional-color: #8B5CF6;--general-badge-color: #6B7280;--text-on-badge: #FFFFFF;--btn-reattempt-bg: var(--background-secondary);--btn-reattempt-text: var(--text-accent);--btn-reattempt-border: var(--text-accent);--palette-bg: var(--background-secondary);--palette-text-primary: var(--text-primary);--palette-text-secondary: var(--text-secondary);--palette-border-color: var(--border-primary);--palette-green-answered-bg: var(--success-bg);--palette-green-answered-border: var(--success-color);--palette-green-answered-text: var(--success-color);--palette-green-answered-hover-bg: rgba(22, 163, 74, .2);--palette-red-not-answered-bg: var(--danger-bg);--palette-red-not-answered-border: var(--danger-color);--palette-red-not-answered-text: var(--danger-color);--palette-red-not-answered-hover-bg: rgba(220, 38, 38, .2);--palette-gray-not-visited-bg: var(--background-tertiary);--palette-gray-not-visited-border: var(--border-secondary);--palette-gray-not-visited-text: var(--text-secondary);--palette-gray-not-visited-hover-bg: var(--background-hover);--palette-blue-current-bg: var(--accent-color);--palette-blue-current-border: var(--accent-color);--palette-blue-current-text: var(--text-on-accent);--palette-blue-current-hover-bg: var(--accent-color-hover);--palette-blue-current-hover-border: var(--accent-color-hover);--palette-purple-marked-bg: var(--purple-accent-base);--palette-purple-marked-border: var(--purple-accent-base);--palette-purple-marked-text: var(--text-on-purple-accent);--palette-purple-marked-hover-bg: var(--purple-accent-dark);--palette-purple-marked-hover-border: var(--purple-accent-dark);--section-color-1: #007AFF;--section-color-2: #34C759;--section-color-3: #FF9500;--section-color-4: #FF3B30;--section-color-5: #AF52DE;--section-color-6: #FF6B22;--section-color-7: #5AC8FA;--section-tab-active-text: #ffffff;--section-tab-hover-opacity: .85;--modal-backdrop-bg: rgba(0, 0, 0, .65);--modal-content-bg: var(--background-secondary);--modal-text: var(--text-primary);--modal-border-color: var(--border-light);--modal-header-border: var(--border-light);--modal-title-text: var(--text-primary);--modal-close-button-color: var(--text-secondary);--modal-close-button-hover-color: var(--accent-color);--modal-body-text: var(--text-secondary);--modal-list-item-border: rgba(var(--border-primary-rgb), .3);--modal-list-item-hover-bg: var(--background-hover);--modal-list-item-label-text: var(--text-primary);--modal-list-item-label-span-text: var(--text-tertiary);--modal-footer-border: var(--border-light);--sparkle-light-color: #ffffff;--sparkle-accent-color: #fef08a}:root.dark-mode{color-scheme:dark;--accent-color: hsl(var(--brand-hue), var(--brand-saturation), 65%);--accent-color-hover: hsl(var(--brand-hue), var(--brand-saturation), 70%);--accent-color-light: rgba(var(--brand-rgb-components), .2);--text-primary: #F3F4F6;--text-secondary: #9CA3AF;--text-tertiary: #6B7280;--text-accent: var(--accent-color);--text-on-accent: hsl(var(--brand-hue), 30%, 10%);--background-primary: #111827;--background-secondary: #1F2937;--background-tertiary: #374151;--background-hover: hsl(var(--brand-hue), 15%, 25%);--border-primary: #374151;--border-secondary: #4B5563;--border-accent: rgba(var(--brand-rgb-components), .3);--purple-accent-base: #A78BFA;--purple-accent-light: rgba(167, 139, 250, .2);--purple-accent-dark: #8B5CF6;--text-on-purple-accent: #111827;--background-accent: var(--accent-color-light);--background-elevation-1: #2c3747;--text-primary-rgb: 243, 244, 246;--text-placeholder: #6B7280;--text-subject-header: var(--text-accent);--text-on-primary-button: var(--text-on-accent);--border-light: var(--border-primary);--border-question: var(--border-accent);--border-primary-rgb: 55, 65, 81;--input-bg: var(--background-tertiary);--input-focus-shadow: 0 0 0 3px rgba(var(--brand-rgb-components), .3);--form-select-arrow-light: url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%239CA3AF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);--button-primary-bg: var(--accent-color);--button-primary-hover-bg: var(--accent-color-hover);--button-secondary-bg: #374151;--button-secondary-hover-bg: #4B5563;--button-secondary-text: #F3F4F6;--button-secondary-accent-bg: var(--accent-color-light);--button-secondary-accent-hover-bg: rgba(var(--brand-rgb-components), .25);--button-secondary-accent-text: var(--text-accent);--button-secondary-accent-border: var(--border-accent);--button-danger-hover-bg: #F87171;--button-success-hover-bg: #34D399;--button-info-bg: var(--accent-color);--button-info-hover-bg: var(--accent-color-hover);--button-disabled-bg: #4B5563;--button-disabled-border: #4B5563;--button-disabled-text: #9CA3AF;--success-color: #4ADE80;--success-bg: rgba(74, 222, 128, .15);--success-border: #22C55E;--danger-color: #F87171;--danger-bg: rgba(248, 113, 113, .15);--danger-border: #EF4444;--warning-color: #FACC15;--warning-bg: rgba(250, 204, 21, .15);--warning-border: #F59E0B;--info-color: var(--accent-color);--info-bg: var(--accent-color-light);--info-border: #3B82F6;--box-shadow: 0 4px 6px -1px rgba(0,0,0,.5), 0 2px 4px -1px rgba(0,0,0,.4);--box-shadow-md: 0 6px 10px -2px rgba(0,0,0,.5), 0 4px 6px -2px rgba(0,0,0,.4);--scrollbar-thumb: #4B5563;--scrollbar-track: #1F2937;--scrollbar-thumb-hover: #6B7280;--modal-backdrop-bg: rgba(0, 0, 0, .85);--modal-list-item-border: rgba(var(--border-primary-rgb), .3);--sparkle-light-color: #4B5563;--sparkle-accent-color: #a4800c}@media (max-width: 768px){:root{--font-size-root: 15px}}@media (max-width: 480px){:root{--font-size-root: 14.5px}}@keyframes animated-ellipsis-frames{0%{content:"."}33%{content:".."}66%,to{content:"..."}}.animated-ellipsis:after{display:inline-block;text-align:left;width:1.25em;content:".";animation:animated-ellipsis-frames 1.4s infinite;color:var(--text-secondary);vertical-align:bottom}:root{--button-action-assign-bg: #eef2ff;--button-action-assign-border: #c7d2fe;--button-action-assign-text: #4338ca;--button-action-review-bg: #f0fdfa;--button-action-review-border: #99f6e4;--button-action-review-text: #0f766e;--button-action-print-bg: #f5f3ff;--button-action-print-border: #ddd6fe;--button-action-print-text: #6d28d9;--button-action-sheet-bg: #fdf2f8;--button-action-sheet-border: #fbcfe8;--button-action-sheet-text: #be185d;--button-action-report-bg: #fff7ed;--button-action-report-border: #fed7aa;--button-action-report-text: #9a3412}.dark-mode{--button-action-assign-bg: #3730a3;--button-action-assign-border: #4f46e5;--button-action-assign-text: #e0e7ff;--button-action-review-bg: #115e59;--button-action-review-border: #14b8a6;--button-action-review-text: #ccfbf1;--button-action-print-bg: #5b21b6;--button-action-print-border: #7c3aed;--button-action-print-text: #ede9fe;--button-action-sheet-bg: #9d174d;--button-action-sheet-border: #db2777;--button-action-sheet-text: #fce7f3;--button-action-report-bg: #7c2d12;--button-action-report-border: #f97316;--button-action-report-text: #ffedd5}html{box-sizing:border-box;font-size:var(--font-size-root, 16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;color-scheme:light}html.dark-mode{color-scheme:dark}body{font-family:var(--font-family-sans);margin:0;background-color:var(--background-primary);color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal, 1.6);transition:background-color .2s ease-in-out,color .2s ease-in-out;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0 0 1rem;font-weight:600;line-height:var(--line-height-tight, 1.3)}h1{font-size:var(--font-size-xl, 1.75rem)}h2{font-size:var(--font-size-lg, 1.375rem)}h3{font-size:var(--font-size-md, 1.125rem)}h4{font-size:var(--font-size-base, 1rem)}h5{font-size:var(--font-size-sm, .9rem)}p{margin:0 0 1rem;font-size:var(--font-size-base);font-weight:inherit}a{color:var(--text-accent);text-decoration:none;transition:var(--transition);font-size:inherit}a:hover{text-decoration:underline}ul,ol{padding-left:0;list-style:none;margin:0}li{margin-bottom:0}canvas{max-width:100%;max-height:100%}.text-center{text-align:center}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.ms-2{margin-left:var(--spacing-sm)}.mx-2{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{font-family:inherit;cursor:pointer;background:none;border:none;padding:0;color:inherit;font-size:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:500;text-align:center;cursor:pointer;border:1px solid transparent;padding:.75rem 1.5rem;font-size:var(--font-size-sm, .9rem);line-height:var(--line-height-normal, 1.5);border-radius:var(--border-radius-md);transition:var(--transition);white-space:nowrap}.btn:disabled{background-color:var(--button-disabled-bg)!important;border-color:var(--button-disabled-border)!important;color:var(--button-disabled-text)!important;opacity:var(--button-disabled-opacity)!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.btn-primary{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border-color:var(--button-primary-bg)}.btn-primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-bg);transform:translateY(-1px);box-shadow:var(--box-shadow)}.btn-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);border-color:var(--border-secondary);color:var(--text-primary)}.btn-danger{background-color:var(--button-danger-bg);color:var(--text-on-primary-button);border-color:var(--button-danger-bg)}.btn-danger:hover:not(:disabled){background-color:var(--button-danger-hover-bg);border-color:var(--button-danger-hover-bg)}.btn-warning{background-color:var(--button-warning-bg);color:var(--text-on-warning);border-color:var(--button-warning-bg)}.btn-warning:hover:not(:disabled){background-color:var(--button-warning-hover-bg);border-color:var(--button-warning-hover-bg)}.btn-success{background-color:var(--button-success-bg);color:var(--text-on-primary-button);border-color:var(--button-success-bg)}.btn-success:hover:not(:disabled){background-color:var(--button-success-hover-bg);border-color:var(--button-success-hover-bg)}.btn-sm{padding:.3rem .7rem;font-size:var(--font-size-xs, .85rem)}.btn-lg{padding:.9rem 1.75rem;font-size:var(--font-size-base, 1.05rem)}.btn-xs{padding:.25rem .5rem!important;font-size:var(--font-size-xs, .75rem)!important;line-height:1!important;border-radius:var(--border-radius-sm)!important}.btn-xs svg{width:12px!important;height:12px!important}.btn-secondary-accent{background-color:var(--button-secondary-accent-bg);color:var(--button-secondary-accent-text);border:1px solid var(--button-secondary-accent-border)}.btn-secondary-accent:hover:not(:disabled){background-color:var(--button-secondary-accent-hover-bg)}.btn-full-width{width:100%}.form-control,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=datetime-local],input[type=month],input[type=week],input[type=time],textarea{font-size:var(--font-size-sm, .95rem);display:block;width:100%;padding:var(--spacing-sm, .65rem) var(--spacing-md, 1rem);font-weight:400;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);background-clip:padding-box;border:1px solid var(--input-border);appearance:none;-webkit-appearance:none;-moz-appearance:none;border-radius:var(--border-radius-md);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}input[type=datetime-local]{background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border)}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(var(--datetime-picker-indicator-invert))}.form-control::placeholder{color:var(--input-placeholder);opacity:1}.form-control:focus,input[type=datetime-local]:focus{color:var(--input-text);background-color:var(--input-bg);border-color:var(--input-focus-border);outline:0;box-shadow:var(--input-focus-shadow)}.form-control:disabled,input[type=datetime-local]:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed;color:var(--text-placeholder)}.form-select{font-size:var(--font-size-base, 1rem);width:100%;padding:.75rem 2.5rem .75rem 1rem;border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--form-select-arrow-light);background-repeat:no-repeat;background-position:right 1rem center;background-size:.65em auto;cursor:pointer;transition:var(--transition)}:root.dark-mode .form-select{background-image:var(--form-select-arrow-dark)}.form-select:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed}.form-select:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.form-select option[disabled]{color:var(--text-secondary)}.alert{font-size:var(--font-size-sm, .9rem);padding:.75rem 1rem;margin-bottom:1.25rem;border:1px solid transparent;border-radius:var(--border-radius-md);text-align:left;display:flex;justify-content:space-between;align-items:center}.alert-danger{color:var(--danger-color);background-color:var(--danger-bg);border-color:var(--danger-border)}.alert-success{color:var(--success-color);background-color:var(--success-bg);border-color:var(--success-border)}.alert-warning{color:var(--warning-color);background-color:var(--warning-bg);border-color:var(--warning-border)}.alert-info{color:var(--info-color);background-color:var(--info-bg);border-color:var(--info-border)}.alert strong{font-weight:600;margin-right:.5rem}.alert-close-button{background:none;border:none;color:inherit;opacity:.7;font-size:1.4rem;font-weight:700;line-height:1;padding:0 .25rem;margin-left:1rem;cursor:pointer}body,.main-content,.sidebar,.chapter-list,.leaderboard-list,.modal,.exam-mode-palette,.exam-mode-question-area,.assign-assessment-modal-content .target-selection-scroll-container,.student-search-results,.selected-targets-list{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body::-webkit-scrollbar,.main-content::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.chapter-list::-webkit-scrollbar,.leaderboard-list::-webkit-scrollbar,.modal::-webkit-scrollbar,.exam-mode-palette::-webkit-scrollbar,.exam-mode-question-area::-webkit-scrollbar,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar,.student-search-results::-webkit-scrollbar,.selected-targets-list::-webkit-scrollbar{width:8px;height:8px}body::-webkit-scrollbar-track,.main-content::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track,.chapter-list::-webkit-scrollbar-track,.leaderboard-list::-webkit-scrollbar-track,.modal::-webkit-scrollbar-track,.exam-mode-palette::-webkit-scrollbar-track,.exam-mode-question-area::-webkit-scrollbar-track,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar-track,.student-search-results::-webkit-scrollbar-track,.selected-targets-list::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}body::-webkit-scrollbar-thumb,.main-content::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.chapter-list::-webkit-scrollbar-thumb,.leaderboard-list::-webkit-scrollbar-thumb,.modal::-webkit-scrollbar-thumb,.exam-mode-palette::-webkit-scrollbar-thumb,.exam-mode-question-area::-webkit-scrollbar-thumb,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar-thumb,.student-search-results::-webkit-scrollbar-thumb,.selected-targets-list::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px;border:2px solid var(--scrollbar-track)}body::-webkit-scrollbar-thumb:hover,.main-content::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover,.chapter-list::-webkit-scrollbar-thumb:hover,.leaderboard-list::-webkit-scrollbar-thumb:hover,.modal::-webkit-scrollbar-thumb:hover,.exam-mode-palette::-webkit-scrollbar-thumb:hover,.exam-mode-question-area::-webkit-scrollbar-thumb:hover,.assign-assessment-modal-content .target-selection-scroll-container::-webkit-scrollbar-thumb:hover,.student-search-results::-webkit-scrollbar-thumb:hover,.selected-targets-list::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}.spinner,.loading-spinner{border:3px solid var(--border-secondary);width:32px;height:32px;border-radius:50%;border-left-color:var(--text-accent);margin:2rem auto;animation:spin 1s linear infinite}.spinner.large,.loading-spinner.large{width:50px;height:50px;border-width:4px}.spinner.small,.loading-spinner.small{width:16px;height:16px;border-width:2px;margin:0;display:inline-block;vertical-align:middle}.btn .spinner.small,.btn .loading-spinner.small{border-left-color:currentColor;margin-right:.4rem}.btn.btn-primary .spinner.small,.btn.btn-primary .loading-spinner.small{border-left-color:var(--text-on-primary-button)}.global-error-banner{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:2000;width:auto;max-width:90%;padding:.75rem 1.25rem;border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-lg);display:flex;justify-content:space-between;align-items:center;animation:fadeIn .3s ease-out;color:var(--danger-color);background-color:var(--danger-bg);border:1px solid var(--danger-border)}.global-error-banner span{margin-right:1rem}.global-error-banner.success{color:var(--success-color);background-color:var(--success-bg);border-color:var(--success-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 992px){h1{font-size:var(--font-size-xl, 1.6rem)}h2{font-size:var(--font-size-lg, 1.25rem)}}@media (max-width: 768px){h1{font-size:var(--font-size-h1-mobile, 1.5rem)}h2{font-size:var(--font-size-h2-mobile, 1.2rem)}.btn{padding:.7rem 1.1rem;font-size:var(--font-size-button-mobile, .95rem)}p,.form-control,.form-select,li{font-size:var(--font-size-text-mobile, .9rem)}}@media (max-width: 480px){h1{font-size:var(--font-size-h1-mobile, 1.4rem)}h2{font-size:var(--font-size-h2-mobile, 1.15rem)}.btn{padding:.65rem 1rem;font-size:var(--font-size-button-mobile, .9rem)}p,.form-control,.form-select,li{font-size:var(--font-size-text-mobile, .875rem)}}html,body{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{overflow-x:hidden}:root{--sidebar-width-open: 260px;--sidebar-width-collapsed: 70px;--header-height-main: 60px}.app-body-wrapper{display:flex;flex-grow:1;width:100%;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-width-open);position:fixed;left:0;top:0;bottom:0;background-color:var(--background-secondary);border-right:1px solid var(--border-primary);transition:width .3s ease-in-out,transform .3s ease-in-out;z-index:1000;overflow-x:hidden;display:flex;flex-direction:column}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-toggle-button{position:fixed;top:var(--spacing-md);z-index:1100;background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:var(--box-shadow);transition:left .3s ease-in-out,background-color .2s,color .2s;padding:0}.sidebar-toggle-button:hover{background-color:var(--background-hover);transform:scale(1.05)}.sidebar-toggle-button.hidden{display:none!important}.main-content{flex-grow:1;display:flex;flex-direction:column;transition:margin-left .3s ease-in-out;overflow-y:auto;overflow-x:hidden;position:relative;padding:var(--spacing-lg);margin-left:0;width:100%}.main-content:not(.main-content--no-padding):not(.main-content--full-width){padding-top:env(safe-area-inset-top,24px)}.main-content--no-padding{padding:0!important}.main-content--full-width{margin-left:0!important;padding:0!important;width:100%!important;max-width:100vw!important}@media (min-width: 769px){.main-content--sidebar-open{margin-left:var(--sidebar-width-open)}.main-content--sidebar-closed{margin-left:var(--sidebar-width-collapsed)}.sidebar-toggle-button.sidebar-is-open{left:calc(var(--sidebar-width-open) - 20px)}.sidebar-toggle-button.sidebar-is-closed{left:calc(var(--sidebar-width-collapsed) - 20px)}.sidebar-toggle-button:not(.sidebar-is-open):not(.sidebar-is-closed){left:var(--spacing-md)}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.main-content{margin-left:0!important;padding:var(--spacing-md)}.main-content:not(.main-content--no-padding):not(.main-content--full-width){padding-top:calc(var(--spacing-md) + 24px + var(--spacing-sm))}.sidebar-toggle-button{left:var(--spacing-md);top:var(--spacing-md)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-overlay);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility 0s linear .3s}.sidebar-overlay--visible{opacity:1;visibility:visible;transition-delay:0s}}.app-loading-container,.dashboard-loading-container,.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:var(--background-primary);color:var(--text-primary);text-align:center;padding:var(--spacing-lg)}.dashboard-loading-container,.loading-container{min-height:50vh}.has-global-error:not(.main-content--no-padding):not(.main-content--full-width){padding-bottom:calc(var(--spacing-lg) + 40px)}.App{display:flex;flex-direction:column;min-height:100vh;position:relative;background-color:var(--background-primary);overflow-x:hidden}.auth-flow-container{width:100%;display:flex;flex-direction:column}.auth-form-header{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.auth-subtitle{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.25rem;text-align:center;line-height:1.5}.auth-subtitle strong{color:var(--text-primary);font-weight:500}.form-group{margin-bottom:1.25rem;text-align:left;position:relative}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text],.form-group input[type=number],.form-group input[type=tel]{width:100%;padding:.8rem 1rem;border:1px solid var(--input-border);border-radius:var(--border-radius);font-size:1rem;background-color:var(--input-bg);color:var(--input-text);transition:var(--transition);line-height:1.5;box-sizing:border-box}.form-group input::placeholder{color:var(--input-placeholder);opacity:.7}.form-group input:focus{border-color:var(--input-focus-border);outline:none;box-shadow:var(--input-focus-shadow)}.password-input-wrapper{position:relative}.password-toggle-btn{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{color:var(--text-primary)}.password-toggle-btn svg{width:18px;height:18px}.password-policy-text{font-size:.8rem;color:var(--text-secondary);margin-top:-.75rem;margin-bottom:1rem;text-align:left;line-height:1.3;padding-left:.1rem}.password-policy-text.warning{color:var(--danger-color)}.terms-group{display:flex;align-items:flex-start;font-size:.85rem;margin-bottom:1.5rem;text-align:left}.terms-group input[type=checkbox]{margin-right:.6rem;margin-top:.15rem;width:auto;accent-color:var(--primary-color);flex-shrink:0;cursor:pointer}.terms-group label{color:var(--text-secondary);font-weight:400;margin-bottom:0;line-height:1.4;cursor:pointer}.terms-group a{color:var(--text-accent);text-decoration:none}.terms-group a:hover{text-decoration:underline}.form-helper-link{text-align:right;margin-top:-.5rem;margin-bottom:1.25rem;font-size:.9rem}.link-button{background:none;border:none;padding:0;cursor:pointer;color:var(--text-secondary);font-weight:500;text-decoration:none;font-size:inherit;font-family:inherit;transition:var(--transition);display:inline}.link-button:hover:not(:disabled){color:var(--text-primary);text-decoration:underline}.link-button:disabled{color:var(--text-secondary);opacity:.6;cursor:not-allowed;text-decoration:none}.form-actions-inline{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.form-actions-inline .link-button{font-size:.9rem}.btn.btn-primary.auth-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;width:100%;margin-top:.5rem;display:flex;align-items:center;justify-content:center;line-height:1.5;height:auto}.auth-mode-switch{margin-top:1.5rem;text-align:center}.auth-mode-switch .link-button{font-size:.9rem;font-weight:500;color:var(--text-accent);background:none;border:none;padding:.25rem .5rem;cursor:pointer;text-decoration:none;transition:var(--transition)}.auth-mode-switch .link-button:hover{color:var(--primary-color-hover, var(--primary-color));text-decoration:underline}.back-link{display:block;text-align:center;margin-top:1rem;font-size:.9rem}.alert{padding:.75rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:var(--border-radius);position:relative;font-size:.9rem;text-align:left;line-height:1.4}.alert-danger{color:var(--danger-text);background-color:var(--danger-bg);border-color:var(--danger-border)}.alert-success{color:var(--success-text);background-color:var(--success-bg);border-color:var(--success-border)}.alert-close-button{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;line-height:1;font-weight:700;color:inherit;opacity:.7;cursor:pointer;padding:0}.alert-close-button:hover{opacity:1}.spinner{border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--primary-color);width:18px;height:18px;animation:spin .8s linear infinite;display:inline-block}.btn-primary .spinner{border-color:#ffffff4d;border-top-color:var(--text-on-primary-button, #fff)}.small-spinner{width:16px;height:16px;border-width:2px}@media (max-width: 480px){.auth-form-header{font-size:1.2rem;margin-bottom:1.25rem}.auth-subtitle{font-size:.85rem;margin-bottom:1rem}.form-group input[type=email],.form-group input[type=password],.form-group input[type=text]{padding:.75rem .9rem;font-size:.95rem}.btn.btn-primary.auth-button{padding:.7rem 1.2rem;font-size:.95rem}.password-policy-text{font-size:.75rem}.terms-group{font-size:.8rem}.alert{font-size:.85rem;padding:.6rem .8rem}.form-actions-inline .link-button,.auth-mode-switch .link-button,.back-link,.form-helper-link{font-size:.85rem}}.home-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--background-secondary);color:var(--text-primary);overflow-x:hidden;position:relative;transition:background-color .2s ease-in-out,color .2s ease-in-out}.home-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.5rem;position:relative;z-index:1000;width:100%;box-sizing:border-box;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);transition:background-color .2s ease-in-out}.home-logo-title{font-size:1.6rem;font-weight:700;color:var(--text-accent);text-decoration:none;flex-shrink:0}.home-header-actions{display:flex;flex-direction:row;align-items:center;gap:.8rem}.home-install-text-button{position:relative;background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border:1px solid transparent;padding:.6rem 1.2rem;border-radius:var(--border-radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center;white-space:nowrap;box-shadow:var(--box-shadow-md);right:2rem}.home-install-text-button:hover{background-color:var(--button-primary-hover-bg);transform:translateY(-1px)}.home-theme-toggle-icon-button{position:fixed;background-color:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);padding:0;box-shadow:var(--box-shadow-sm);right:2.5rem;top:.8rem}.home-theme-toggle-icon-button:hover{background-color:var(--background-hover);color:var(--text-primary);transform:scale(1.1)}.home-theme-toggle-icon-button svg{width:28px;height:28px}.hero-section{flex-grow:1;display:flex;align-items:center;justify-content:space-around;gap:2rem;padding:2.5rem 2rem 2rem;position:relative;width:100%;max-width:1320px;margin:0 auto}.hero-left{flex:1 1 55%;max-width:700px;text-align:left;z-index:5;display:flex;flex-direction:column;align-items:flex-start}.infinity-symbol-container{margin-bottom:1.5rem}.infinity-symbol{font-size:9rem;line-height:1;font-weight:200;display:inline-block;color:transparent;-webkit-background-clip:text;background-clip:text;background-size:300% 100%;animation:infinity-sparkle-color-flow 8s linear infinite;background-image:linear-gradient(90deg,var(--text-accent) 0%,var(--sparkle-light-color) 5%,var(--text-accent) 10%,var(--success-color) 30%,var(--sparkle-accent-color) 35%,var(--success-color) 40%,var(--warning-color) 60%,var(--sparkle-light-color) 65%,var(--warning-color) 70%,var(--color-time) 90%,var(--sparkle-accent-color) 95%,var(--color-time) 100%)}@keyframes infinity-sparkle-color-flow{0%{background-position:100% 0}to{background-position:0% 0}}.hero-headline{font-size:3.4rem;font-weight:600;line-height:1.25;margin-bottom:.5rem;color:var(--text-primary);white-space:normal;min-height:100px}.typewriter-cursor{display:inline-block;margin-left:4px;font-weight:700;color:var(--text-primary);animation:blink-dots 1s infinite;vertical-align:baseline;line-height:1}@keyframes blink-dots{0%,to{opacity:1}50%{opacity:0}}.hero-tagline{font-size:1.15rem;margin-top:.5rem;color:var(--text-secondary);line-height:1.55;white-space:normal;max-width:100%}.hero-right{flex:1 1 40%;max-width:420px;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:2rem 2.5rem;box-sizing:border-box;border-radius:var(--border-radius-lg);background-color:var(--background-secondary);border:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg)}.mobile-auth-section{padding:1rem 1rem 2rem;background-color:var(--background-primary);width:100%;box-sizing:border-box}.mobile-auth-section .auth-form-card{margin:0 auto;max-width:400px;background-color:var(--background-secondary);border:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg);border-radius:var(--border-radius-lg);padding:1.5rem}.mobile-auth-section .auth-form-card .auth-flow-container{padding:0}.features-section{padding:3rem 2rem;background-color:var(--background-primary);color:var(--text-primary)}.section-title{text-align:center;font-size:1.8rem;font-weight:600;margin-bottom:2.5rem;color:var(--text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.8rem;max-width:1200px;margin:0 auto}.feature-item{background-color:var(--background-secondary);padding:1.8rem 1.2rem;border-radius:var(--border-radius-lg);text-align:center;box-shadow:var(--box-shadow);transition:transform .2s ease-out,box-shadow .2s ease-out;border:1px solid var(--border-primary)}.feature-item:hover{transform:translateY(-6px);box-shadow:var(--box-shadow-lg)}.feature-icon{font-size:2.5rem;margin-bottom:1rem;display:inline-flex;align-items:center;justify-content:center;background-color:var(--accent-color-light);color:var(--text-accent);width:60px;height:60px;border-radius:50%}.feature-item h3{font-size:1.2rem;font-weight:600;margin-bottom:.6rem;color:var(--text-primary)}.feature-item p{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.teacher-features-section{padding:3rem 2rem;background-color:var(--background-primary)}.teacher-features-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:960px;margin:0 auto}.teacher-feature-card{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);padding:2rem 2.5rem;box-shadow:var(--box-shadow-lg);border:1px solid var(--border-primary);display:flex;flex-direction:row;align-items:flex-start;text-align:left;transition:transform .3s ease,box-shadow .3s ease}.teacher-feature-card:hover{transform:translateY(-8px);box-shadow:0 1rem 1.5rem #0000001f}.teacher-feature-icon-wrapper{margin-bottom:0;margin-right:2rem;flex-shrink:0}.teacher-feature-icon{font-size:3.5rem;color:var(--text-accent);display:inline-block}.teacher-feature-content{text-align:left}.teacher-feature-content h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.teacher-feature-content p{font-size:1rem;color:var(--text-secondary);line-height:1.65;max-width:600px;margin-left:0;margin-right:0}.teacher-cta-container{text-align:center;margin-top:3rem;padding-bottom:1rem}.btn-cta-teacher{font-size:1.1rem;padding:.8rem 2rem;font-weight:600;background-color:var(--button-success-bg, #10B981);color:#fff;border:1px solid transparent}.btn-cta-teacher:hover{background-color:var(--button-success-hover-bg, #059669)}.btn-cta-teacher:focus,.btn-cta-teacher:active{background-color:var(--button-success-hover-bg);box-shadow:0 0 0 .2rem #10b98180}:root.dark-mode .btn-cta-teacher{color:var(--text-primary)}.btn-with-icon{display:inline-flex;align-items:center;gap:.65rem}.btn-with-icon svg{width:20px;height:20px;fill:currentColor}.home-footer{background-color:var(--background-primary);color:var(--text-secondary);padding:2rem 2rem 1rem;border-top:1px solid var(--border-primary)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto 1.5rem}.footer-section{text-align:left}.footer-section h4{font-size:1rem;font-weight:600;margin-bottom:.8rem;color:var(--text-primary)}.footer-section p{font-size:.85rem;line-height:1.6;margin-bottom:.3rem;white-space:normal}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:.4rem}.footer-section a,.footer-section .link-button{color:var(--text-secondary);text-decoration:none;transition:color .2s ease;background:none;border:none;padding:0;font-size:inherit;font-family:inherit;cursor:pointer;text-align:left;display:inline-block}.footer-section a:hover,.footer-section .link-button:hover{color:var(--text-accent);text-decoration:underline}.footer-bottom{text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-primary);font-size:.8rem;color:var(--text-secondary)}@media (max-width: 992px){.home-header{padding:.7rem 1.2rem}.home-logo-title{font-size:1.5rem}.home-install-text-button{font-size:.9rem;padding:.5rem 1rem;right:2rem}.home-theme-toggle-icon-button{width:36px;height:36px;right:2.5rem}.home-theme-toggle-icon-button svg{width:24px;height:24px}.home-header-actions{gap:.6rem}.hero-section{padding:2.5rem 2rem 2rem;gap:2rem;max-width:920px}.hero-headline{font-size:3rem}.infinity-symbol{font-size:8rem}.hero-tagline{font-size:1.1rem}.hero-right{padding:1.8rem 2rem;max-width:400px}.features-section,.teacher-features-section{padding-left:1.2rem;padding-right:1.2rem}.features-grid{max-width:900px}.teacher-features-grid{max-width:600px}.teacher-feature-card{padding:1.8rem 2rem}.teacher-feature-content h3{font-size:1.3rem}.teacher-feature-content p{font-size:.95rem}.footer-content{max-width:900px}}@media (max-width: 768px){.home-header{padding:.6rem 1rem}.home-logo-title{font-size:1.4rem}.home-header-actions{gap:.5rem}.home-install-text-button{font-size:.85rem;padding:.45rem .9rem}.home-theme-toggle-icon-button{width:42px;height:42px}.home-theme-toggle-icon-button svg{width:22px;height:22px}.hero-section{flex-direction:column;padding:2rem 1rem 1rem;margin-top:1rem;min-height:auto;align-items:center;text-align:center;max-width:100%}.hero-left{align-items:center;text-align:center;flex-basis:auto;max-width:100%;margin-bottom:1.5rem}.hero-right{display:none}.features-section,.teacher-features-section{padding-left:1rem;padding-right:1rem}.section-title{font-size:1.6rem;margin-bottom:1.5rem}.footer-content{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.home-header{padding:.5rem .8rem}.home-logo-title{font-size:1.3rem}.home-header-actions{gap:.4rem}.home-install-text-button{font-size:1rem;padding:.4rem .8rem;right:2.5rem}.home-theme-toggle-icon-button{width:38px;height:38px;right:1.5rem;top:3.6rem}.home-theme-toggle-icon-button svg{width:20px;height:20px}.hero-section{padding:1.5rem 1rem 1rem;margin-top:.5rem}.hero-headline{font-size:2.2rem}.infinity-symbol{font-size:7rem}.hero-tagline{font-size:1rem}.mobile-auth-section .auth-form-card{padding:1.2rem}.feature-item{padding:1rem .8rem}.feature-icon{font-size:1.8rem;width:45px;height:45px}.feature-item h3{font-size:1rem}.feature-item p{font-size:.85rem}.teacher-feature-card{padding:1.2rem}.teacher-feature-icon{font-size:2.5rem}.teacher-feature-content h3{font-size:1.1rem}.teacher-feature-content p{font-size:.85rem}.footer-content{grid-template-columns:1fr}}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--background-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease-out}.splash-screen.hidden{opacity:0;pointer-events:none}.splash-screen img{width:120px;height:auto;margin-bottom:20px}.splash-screen .loading-spinner{border:4px solid var(--border-secondary);border-top:4px solid var(--text-accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}.alert{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:.9rem;font-weight:500}.alert svg{font-size:1.2em;flex-shrink:0}.alert-danger{background-color:var(--danger-bg);color:var(--danger-text-color, #7f1d1d);border:1px solid var(--danger-border)}.alert-danger svg{color:var(--danger-color)}.alert-success{background-color:var(--success-bg);color:var(--success-text-color, #052e16);border:1px solid var(--success-border)}.alert-success svg{color:var(--success-color)}:root.dark-mode .alert-danger{color:var(--danger-text-color, #fca5a5)}:root.dark-mode .alert-success{color:var(--success-text-color, #bbf7d0)}.change-password-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay, rgba(0, 0, 0, .7));display:flex;justify-content:center;align-items:center;z-index:1055;padding:var(--spacing-md, 16px);opacity:1;visibility:visible;transition:opacity .25s ease-in-out}.change-password-modal-content{background-color:var(--background-secondary);color:var(--text-primary);padding:var(--spacing-lg, 24px);border-radius:var(--border-radius-lg, 8px);box-shadow:var(--shadow-xl);width:100%;max-width:450px;max-height:90vh;display:flex;flex-direction:column;transform:scale(1);opacity:1;transition:transform .25s ease-in-out,opacity .25s ease-in-out}.change-password-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg, 24px);padding-bottom:var(--spacing-md, 16px);border-bottom:1px solid var(--border-primary);flex-shrink:0}.change-password-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.change-password-modal-header .btn-close-modal{background:none;border:none;color:var(--text-secondary);font-size:1.75rem;cursor:pointer;padding:.1rem;line-height:1;transition:color .2s ease}.change-password-modal-header .btn-close-modal:hover{color:var(--accent-color)}.change-password-modal-body{flex-grow:1;overflow-y:auto}.change-password-modal-body .modal-step-info{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg, 24px);padding-bottom:var(--spacing-sm, 8px);border-bottom:1px dashed var(--border-light);text-align:center}.change-password-modal-body .form-group{margin-bottom:var(--spacing-lg, 1.25rem)}.change-password-modal-body label{display:block;margin-bottom:var(--spacing-sm, 8px);font-size:.9rem;font-weight:500;color:var(--text-secondary-strong, var(--text-secondary))}.change-password-modal-body .form-control{width:100%;padding:var(--input-padding-y, .65rem) var(--input-padding-x, .85rem);font-size:1rem;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.change-password-modal-body .form-control:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.change-password-modal-body .form-control::placeholder{color:var(--input-placeholder)}.change-password-modal-body .password-input-wrapper{position:relative;display:flex;align-items:center}.change-password-modal-body .password-input-wrapper .input-icon{position:absolute;left:var(--spacing-sm, 10px);top:50%;transform:translateY(-50%);color:var(--text-placeholder);pointer-events:none;font-size:1.1em;line-height:1}.change-password-modal-body .password-input-wrapper input.form-control{padding-left:calc(var(--spacing-sm, 10px) + 1.1em + var(--spacing-sm, 10px))}.change-password-modal-body .password-input-wrapper .password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;line-height:1}.change-password-modal-body .password-input-wrapper .password-toggle-btn:hover{color:var(--text-primary)}.change-password-modal-body .password-toggle-btn svg{width:18px;height:18px}.change-password-modal-body .link-button{background:none;border:none;color:var(--accent-color);text-decoration:underline;cursor:pointer;padding:0;font-size:.85rem}.change-password-modal-body .link-button:hover{color:var(--accent-color-hover)}.change-password-modal-body .btn-full-width{width:100%;padding-top:var(--btn-padding-y, .75rem);padding-bottom:var(--btn-padding-y, .75rem)}.change-password-modal-body .display-message{padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem);margin-bottom:var(--spacing-lg, 1.25rem);border-radius:var(--border-radius-sm);font-size:.9rem;display:flex;align-items:center;text-align:left}.change-password-modal-body .display-message.success{background-color:var(--success-bg);color:var(--success-text-strong, var(--success-color));border:1px solid var(--success-border)}.change-password-modal-body .display-message.error{background-color:var(--danger-bg);color:var(--danger-text-strong, var(--danger-color));border:1px solid var(--danger-border)}.change-password-modal-body .display-message svg{margin-right:var(--spacing-sm, .5em);flex-shrink:0;font-size:1.1em}.pricing-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#f3f4f780;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal, 1050);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fadeIn .3s ease;padding:1rem}:root.dark-mode .pricing-modal-overlay{background-color:#16181d99}.pricing-modal-content{background:var(--background-primary);padding:1.5rem 2rem;border-radius:var(--border-radius-xl, 16px);width:100%;max-width:880px;position:relative;box-shadow:0 20px 40px -15px #0003;border:1px solid var(--border-primary);animation:slideInUp .4s cubic-bezier(.25,1,.5,1);max-height:95vh;display:flex;flex-direction:column;overflow-y:auto}@keyframes slideInUp{0%{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}.pricing-modal-close-btn{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:all .2s;padding:.5rem;border-radius:50%;line-height:1}.pricing-modal-close-btn:hover{color:var(--text-primary);background-color:var(--background-hover);transform:rotate(90deg)}.pricing-modal-header{text-align:center;margin-bottom:1.5rem;flex-shrink:0}.pricing-modal-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.pricing-modal-header p{font-size:.95rem;color:var(--text-secondary);max-width:500px;margin:0 auto}.billing-cycle-toggle{display:flex;justify-content:center;background-color:var(--background-secondary);padding:.25rem;border-radius:var(--border-radius-full);margin:0 auto 1.75rem;width:fit-content;border:1px solid var(--border-primary);flex-shrink:0;flex-wrap:nowrap}.billing-cycle-toggle button{padding:.4rem 1.1rem;border:none;background-color:transparent;color:var(--text-secondary);font-weight:600;border-radius:var(--border-radius-full);cursor:pointer;transition:all .3s ease;white-space:nowrap;font-size:.85rem}.billing-cycle-toggle button.active{background-color:var(--brand-color, var(--accent-color));color:#fff;box-shadow:0 3px 10px rgba(var(--brand-rgb-components, 37, 99, 235),.3)}.save-badge{background-color:var(--success-color);color:#fff;font-size:.65rem;padding:2px 6px;border-radius:var(--border-radius-full);margin-left:.5rem;font-weight:500}.pricing-tiers-container{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.pricing-tier-card{display:flex;flex-direction:column;background:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:1.5rem;text-align:center;transition:all .3s ease;position:relative}.pricing-tier-card:hover{transform:translateY(-8px);box-shadow:0 12px 25px #00000014}:root.dark-mode .pricing-tier-card:hover{box-shadow:0 12px 25px #0003}.tier-card-body{display:flex;flex-direction:column;flex-grow:1}.pricing-tier-card.popular{border-color:var(--purple-accent-base);transform:scale(1.05);background:var(--background-primary)}.pricing-tier-card.popular:hover{transform:scale(1.05) translateY(-8px)}.popular-badge{position:absolute;top:-1px;right:-1px;background:var(--purple-accent-base);color:#fff;padding:.35rem 1rem;font-size:.75rem;font-weight:600;border-radius:0 var(--border-radius-lg) 0 var(--border-radius-lg)}.tier-header{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.5rem}.tier-icon{font-size:1.5rem}.pricing-tier-card:nth-child(1) .tier-icon{color:var(--success-color)}.pricing-tier-card:nth-child(2) .tier-icon{color:var(--info-color)}.pricing-tier-card:nth-child(3) .tier-icon{color:var(--purple-accent-base)}.tier-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.tier-description{color:var(--text-secondary);font-size:.85rem;min-height:2.5em;margin-bottom:.75rem}.tier-price{margin:.5rem 0 1.25rem}.price-amount{font-size:2rem;font-weight:700;color:var(--text-primary)}.original-price{font-size:1rem;color:var(--text-disabled);text-decoration:line-through;margin-left:.4rem}.price-cycle{font-size:.85rem;color:var(--text-secondary)}.contact-text{font-size:1rem;font-weight:500;color:var(--text-primary);min-height:44px;display:flex;align-items:center;justify-content:center}.tier-features{list-style:none;padding:0;margin:1.5rem 0;text-align:left}.tier-features li{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:.875rem;color:var(--text-primary);transition:color .2s ease}.tier-features li.disabled{color:var(--text-disabled)}.feature-icon-wrapper{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-icon-wrapper.enabled{background-color:hsla(var(--success-h),var(--success-s),var(--success-l),.15);color:var(--success-color)}.feature-icon-wrapper.disabled{background-color:var(--background-tertiary);color:var(--text-disabled)}.feature-icon-wrapper svg{width:12px;height:12px}.feature-note{margin-left:auto;font-size:.7rem;font-weight:500;padding:3px 7px;border-radius:var(--border-radius-md);white-space:nowrap}.feature-note.limit{background-color:hsla(var(--warning-h),var(--warning-s),var(--warning-l),.15);color:var(--warning-color-dark)}:root.dark-mode .feature-note.limit{color:var(--warning-color-light)}.feature-note.unlimited{background-color:hsla(var(--success-h),var(--success-s),var(--success-l),.15);color:var(--success-color-dark)}:root.dark-mode .feature-note.unlimited{color:var(--success-color-light)}.tier-cta-button-wrapper{margin-top:auto;padding-top:1rem}.tier-cta-btn{width:100%;padding:.7rem 1rem;border-radius:var(--border-radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid transparent;display:flex;align-items:center;justify-content:center;gap:.5rem}.pricing-tier-card.popular .tier-cta-btn:not(.institute-cta){background-color:var(--purple-accent-base);color:#fff;border-color:var(--purple-accent-base)}.pricing-tier-card:not(.popular) .tier-cta-btn:not(.institute-cta){background:transparent;color:var(--brand-color);border-color:var(--brand-color)}.pricing-tier-card:not(.popular) .tier-cta-btn:not(.institute-cta):hover:not(:disabled){background:var(--brand-color);color:#fff}.tier-cta-btn.institute-cta{background:transparent;color:var(--text-primary);border-color:var(--border-secondary)}.tier-cta-btn.institute-cta:hover:not(:disabled){background:var(--background-hover);border-color:var(--border-primary)}.pricing-tier-card.current .tier-cta-btn{background-color:var(--background-tertiary);border-color:var(--border-primary);color:var(--text-secondary);cursor:default}.tier-cta-btn:disabled:not(.current){opacity:.4;cursor:not-allowed}.tier-cta-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px -2px #0000001a}.tier-cta-btn:disabled:hover{transform:none;box-shadow:none}.coupon-section{text-align:center;margin-top:1.5rem;padding:.75rem;background-color:var(--background-secondary);border-radius:var(--border-radius-md);border:1px dashed var(--brand-color);color:var(--text-secondary);font-size:.85rem;flex-shrink:0}.coupon-section span{color:var(--text-primary);font-weight:600}.coupon-code{background-color:var(--brand-color-light);color:var(--brand-color)!important;padding:3px 8px;border-radius:var(--border-radius-sm);margin:0 5px}@media (max-width: 800px){.pricing-tiers-container{grid-template-columns:1fr;gap:1.25rem}.pricing-tier-card.popular{transform:scale(1)}}@media (max-width: 480px){.pricing-modal-overlay{padding:0;align-items:flex-end}.pricing-modal-content{border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;max-height:90vh;animation:slideInFromBottom .4s ease-out}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.billing-cycle-toggle{width:100%}.billing-cycle-toggle button{flex:1}}.dashboard-container{padding:1.5rem;max-width:1200px;margin:0 auto;color:var(--text-primary);overflow-x:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.dashboard-greeting-area{display:flex;align-items:center;gap:1.25rem;flex-grow:1}.institute-logo-container{flex-shrink:0;background-color:var(--background-secondary);padding:.5rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--box-shadow-sm)}.dashboard-institute-logo{max-height:48px;max-width:160px;object-fit:contain}.dashboard-greeting{flex-grow:1;min-width:180px}.dashboard-greeting h1{margin:0;font-size:var(--font-size-xl);font-weight:600;line-height:var(--line-height-tight);color:var(--text-primary)}.dashboard-greeting p{margin:.25rem 0 0;font-size:var(--font-size-base);color:var(--text-secondary)}.dashboard-header__right{display:flex;align-items:center;gap:.75rem;flex-shrink:0;flex-wrap:nowrap}.dashboard-filter-select,.dashboard-coin-display{padding:.5rem .8rem;font-size:var(--font-size-sm);line-height:var(--line-height-normal);height:auto;background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:var(--border-radius);flex-grow:0;flex-shrink:1;flex-basis:auto;min-width:80px}.dashboard-filter-select{padding-right:2rem;flex-grow:1;min-width:100px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-coin-display{display:flex;align-items:center;gap:.4rem;font-weight:500;white-space:nowrap}.dashboard-coin-display .coin-icon{font-size:1.5em;line-height:1;color:var(--color-coin, #FFD700)}.kpi-item-wrapper{display:flex;flex-direction:row;align-items:center;gap:1rem;padding:.75rem}.kpi-item-icon-area{font-size:2.2rem;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-item-details{display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;flex-grow:1}.kpi-item-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1.1}.kpi-item-title{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500;margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.kpi-item--questions .kpi-item-icon-area{color:var(--color-questions, #60A5FA);background-color:var(--color-questions-bg, rgba(96, 165, 250, .1))}.kpi-item--accuracy .kpi-item-icon-area{color:var(--color-accuracy, #2DD4BF);background-color:var(--color-accuracy-bg, rgba(45, 212, 191, .1))}.kpi-item--time .kpi-item-icon-area{color:var(--color-time, #EC4899);background-color:var(--color-time-bg, rgba(236, 72, 153, .1))}.kpi-item--time-today .kpi-item-icon-area{color:var(--color-time-today, #FBBF24);background-color:var(--color-time-today-bg, rgba(251, 191, 36, .1))}.activity-item--today .kpi-item-icon-area{color:var(--color-activity-today, #F97316);background-color:var(--color-activity-today-bg, rgba(249, 115, 22, .1))}.activity-item--month .kpi-item-icon-area{color:var(--color-activity-month, #10B981);background-color:var(--color-activity-month-bg, rgba(16, 185, 129, .1))}.activity-item--assignments .kpi-item-icon-area{color:var(--color-activity-assignments, #0EA5E9);background-color:var(--color-activity-assignments-bg, rgba(14, 165, 233, .1))}.activity-item--dpps .kpi-item-icon-area{color:var(--color-activity-dpps, #8B5CF6);background-color:var(--color-activity-dpps-bg, rgba(139, 92, 246, .1))}.single-kpi-card-container{background-color:var(--background-secondary);padding:1.5rem;border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-md);display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;border:1px solid var(--border-primary)}.single-kpi-card-container .kpi-item-wrapper{flex-direction:column;align-items:center;justify-content:center;text-align:center}.single-kpi-card-container .kpi-item-details{align-items:center}.section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-primary)}.chart-filter-note{font-size:var(--font-size-sm);font-weight:400;color:var(--text-tertiary);margin-left:.5em}.practice-modes-selection-panel{background-color:var(--background-secondary);padding:1.5rem;border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-md);display:flex;flex-wrap:nowrap;justify-content:space-around;align-items:flex-start;gap:1rem;margin-top:1rem;margin-bottom:2rem;border:1px solid var(--border-primary);overflow-x:auto}.practice-mode-circular-button{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;width:100px;height:110px;padding:.75rem .25rem;border-radius:var(--border-radius-lg);background-color:transparent;border:2px solid transparent;cursor:pointer;transition:var(--transition);text-align:center;color:var(--text-primary)}.practice-mode-circular-button:hover:not(.practice-mode-circular-button--disabled){transform:translateY(-3px);background-color:var(--background-tertiary);border-color:var(--accent-color)}.practice-mode-circular-button--disabled{opacity:.6;cursor:not-allowed}.practice-mode-circular-button--disabled:hover{transform:none;background-color:transparent;border-color:transparent}.practice-mode-circular-icon-wrapper{position:relative;width:60px;height:60px;margin-bottom:.6rem;display:flex;align-items:center;justify-content:center}.practice-mode-circular-icon{font-size:2.5rem;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:var(--transition)}.practice-mode-circular-button--disabled .practice-mode-circular-icon-wrapper:not(.has-coming-soon-tag) .practice-mode-circular-icon{background-color:var(--background-tertiary);opacity:.7}.practice-mode-circular-button--disabled .practice-mode-circular-icon-wrapper:not(.has-coming-soon-tag) .practice-mode-circular-icon svg{color:var(--text-tertiary)}.practice-mode-circular-button--disabled .practice-mode-circular-icon-wrapper.has-coming-soon-tag .practice-mode-circular-icon{opacity:1}.mode-button--pyq .practice-mode-circular-icon{color:var(--color-pyq, #2DD4BF);background-color:var(--color-pyq-bg, rgba(45, 212, 191, .1))}.mode-button--practice .practice-mode-circular-icon{color:var(--color-practice, #A855F7);background-color:var(--color-practice-bg, rgba(168, 85, 247, .1))}.mode-button--exam .practice-mode-circular-icon{color:var(--color-exam, #EC4899);background-color:var(--color-exam-bg, rgba(236, 72, 153, .1))}.mode-button--dpp .practice-mode-circular-icon{color:var(--color-dpp, #F472B6);background-color:var(--color-dpp-bg, rgba(244, 114, 182, .1))}.mode-button--assignments .practice-mode-circular-icon{color:var(--color-assignments, #60A5FA);background-color:var(--color-assignments-bg, rgba(96,165,250,.1))}.mode-button--ai-tutor .practice-mode-circular-icon{color:var(--color-ai-tutor);background-color:var(--color-ai-tutor-bg)}.coming-soon-tag{position:absolute;top:-5px;right:-8px;background-color:#ec4899;color:#fff;font-size:.6rem;font-weight:600;padding:2px 5px;border-radius:var(--border-radius-sm);line-height:1;white-space:nowrap;z-index:1;box-shadow:0 1px 2px #0003;transform:rotate(10deg)}.practice-mode-circular-button--disabled .coming-soon-tag{background-color:#c53078;color:#f0f0f0;opacity:.85}.practice-mode-circular-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);line-height:1.2;margin-top:.2rem}.practice-mode-circular-button:hover:not(.practice-mode-circular-button--disabled) .practice-mode-circular-title{color:var(--text-primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem;margin-bottom:2rem}.chart-card{background-color:var(--background-secondary);padding:1.5rem;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow);min-height:280px;display:flex;flex-direction:column}.chart-card h3{font-size:var(--font-size-md);margin-bottom:1.25rem;color:var(--text-primary);font-weight:600}.chart-legend-container{display:flex;align-items:center;gap:1.5rem;margin-top:.5rem;flex-grow:1}.doughnut-chart-wrapper{width:130px;height:130px;flex-shrink:0;position:relative}.subject-legend{display:flex;flex-direction:column;gap:.75rem;font-size:var(--font-size-sm);flex-grow:1;justify-content:center;padding:0;margin:0;list-style:none;color:var(--text-secondary)}.subject-legend li{display:flex;align-items:center}.legend-color-box{width:10px;height:10px;border-radius:2px;margin-right:.6rem;flex-shrink:0}.activity-summary-card .activity-stats-items-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:.5rem;justify-content:space-around}.activity-summary-card .kpi-item-wrapper{flex-direction:column;align-items:center;text-align:center}.activity-summary-card .kpi-item-details{align-items:center}.chapter-performance-section{margin-top:1.5rem}.chapter-category-selectors{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border-primary);padding-bottom:.75rem}.category-selector-btn{display:inline-flex;align-items:center;justify-content:center;flex-grow:1;flex-basis:0;padding:.45rem .9rem;font-size:var(--font-size-sm);font-weight:500;border-radius:var(--border-radius-md);border:1px solid transparent;background-color:var(--background-tertiary);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.category-selector-btn:hover{background-color:var(--background-hover);color:var(--text-primary)}.category-selector-btn.active{background-color:var(--accent-color-light);color:var(--accent-color);border-color:var(--accent-color);font-weight:600;box-shadow:0 1px 3px #0000001a}.selector-color-box{width:10px;height:10px;border-radius:2px;margin-right:.5rem;flex-shrink:0}.chapter-feedback-card.single-active-list{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow);border-left-width:4px;border-left-style:solid;display:flex;flex-direction:column;max-height:400px;width:100%;overflow:hidden;margin-top:.5rem}.chapter-feedback-card.strong-chapters{border-left-color:var(--success-color)}.chapter-feedback-card.needs-accuracy{border-left-color:var(--warning-color)}.chapter-feedback-card.not-yet-practiced{border-left-color:var(--info-color)}.chapter-feedback-card-header{padding:1rem 1.25rem .75rem;flex-shrink:0;border-bottom:1px solid var(--border-primary);background-color:var(--background-secondary)}.chapter-feedback-card-header h4{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.4rem}.chapter-feedback-card-header h4 svg{width:16px;height:16px;flex-shrink:0}.chapter-list{flex-grow:1;overflow-y:auto;min-height:0;padding:0;margin:0;list-style:none}.subject-header{font-weight:700;font-size:var(--font-size-sm);color:var(--text-subject-header);padding:.6rem 1.25rem;margin:0;border-bottom:1px solid var(--border-secondary);letter-spacing:.3px;position:sticky;top:0;background-color:var(--background-tertiary);z-index:10}:root.dark-mode .subject-header{background-color:var(--background-hover)}.chapter-list-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1.25rem;border-bottom:1px dashed var(--border-primary)}.chapter-list li:last-child .chapter-list-item{border-bottom:none}.chapter-info{flex-grow:1;min-width:0;font-size:var(--font-size-base);color:var(--text-secondary);font-weight:500}.chapter-name-display{display:block;white-space:normal;word-break:break-word}.chapter-practice-btn{padding:.3rem .6rem;font-size:var(--font-size-xs);line-height:1.2;flex-shrink:0;display:inline-flex;align-items:center;gap:.3rem;border-radius:var(--border-radius-sm);background-color:var(--button-secondary-accent-bg);color:var(--button-secondary-accent-text);border:1px solid var(--button-secondary-accent-border);transition:var(--transition)}.chapter-practice-btn:hover:not(:disabled){background-color:var(--button-secondary-accent-hover-bg);border-color:var(--button-secondary-accent-border);transform:scale(1.03)}.chapter-practice-btn svg{width:14px;height:14px}.chapter-practice-btn-text{display:inline}.no-data-text-small{font-size:var(--font-size-sm)}.no-data-text{font-size:var(--font-size-base)}.dashboard-loading-container,.dashboard-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;min-height:300px;text-align:center}.dashboard-loading-container p{margin-top:1rem;font-size:var(--font-size-base);color:var(--text-secondary)}.dashboard-error-container .alert{width:100%;max-width:500px}.info-message{background-color:var(--info-bg);color:var(--info-color);border:1px solid var(--info-border);border-radius:var(--border-radius-md);padding:1.5rem;margin:1.5rem 0;display:flex;align-items:center;gap:1rem;font-size:var(--font-size-base)}.info-message svg{flex-shrink:0}@media (max-width: 1024px){.single-kpi-card-container{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.practice-modes-selection-panel{flex-wrap:wrap;justify-content:space-around}.practice-mode-circular-button{flex-basis:calc(25% - .75rem)}}@media (max-width: 768px){.dashboard-container{padding:1rem}.dashboard-greeting h1{font-size:1.75rem}.dashboard-greeting p{font-size:var(--font-size-sm)}.section-title{font-size:1.3rem}.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-greeting-area{width:100%;gap:1rem}.dashboard-institute-logo{max-height:40px}.dashboard-header{align-items:flex-start}.dashboard-header__right{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin-top:.75rem}.dashboard-header__right>*{flex:1 1 0px;min-width:0}.dashboard-filter-select{font-size:.9rem;padding:.45rem 1.5rem .45rem .5rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-coin-display{flex-grow:.5;font-size:.9rem;padding:.45rem .5rem;justify-content:center}.single-kpi-card-container{grid-template-columns:repeat(2,1fr);padding:1rem;gap:1rem}.kpi-item-wrapper{flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1rem;background-color:var(--background-elevation-1, var(--background-tertiary));border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm)}.kpi-item-details{align-items:center}.kpi-item-icon-area{font-size:2rem;width:48px;height:48px}.kpi-item-value{font-size:1.75rem}.kpi-item-title{font-size:var(--font-size-xs)}.practice-modes-selection-panel{gap:1rem;padding:1rem;flex-wrap:wrap;justify-content:space-around;overflow-x:hidden}.practice-mode-circular-button{flex-basis:calc(50% - .75rem);width:auto;min-width:0;max-width:150px;min-height:120px;padding:1rem .5rem}.practice-mode-circular-icon-wrapper{width:64px;height:64px;margin-bottom:.75rem}.practice-mode-circular-icon{font-size:2.8rem}.coming-soon-tag{font-size:.55rem;padding:1px 4px;top:-4px;right:-6px}.practice-mode-circular-title{font-size:var(--font-size-sm)}.dashboard-grid{grid-template-columns:1fr}.activity-summary-card .activity-stats-items-container{grid-template-columns:repeat(2,1fr);gap:.75rem}.subject-breakdown-card .chart-legend-container{flex-direction:column;align-items:stretch}.doughnut-chart-wrapper{margin:0 auto 1rem;width:160px;height:160px}.subject-legend{font-size:var(--font-size-sm)}.category-selector-btn{padding:.5rem 1rem;font-size:var(--font-size-sm)}.chapter-feedback-card.single-active-list{max-height:380px}.chapter-feedback-card-header h4{font-size:var(--font-size-base)}.chapter-list-item{padding:.8rem 1.25rem}.subject-header{font-size:var(--font-size-sm)}.chapter-info{font-size:.9rem}.chapter-practice-btn{font-size:var(--font-size-xs);padding:.4rem .7rem}.chapter-practice-btn svg{margin-right:.3em}}@media (max-width: 480px){.dashboard-container{padding:.75rem}.dashboard-greeting h1{font-size:1.6rem}.dashboard-greeting p{font-size:var(--font-size-base)}.section-title{font-size:1.2rem}.dashboard-header{align-items:flex-start}.dashboard-header__right{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:.4rem;width:100%;margin-top:.5rem}.dashboard-header__right>*{flex:1 1 0px;min-width:0}.dashboard-filter-select,.dashboard-coin-display{font-size:var(--font-size-sm);padding:.5rem .8rem;line-height:var(--line-height-normal);height:auto;background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:var(--border-radius);flex-grow:0;flex-shrink:1;flex-basis:auto;min-width:80px}.dashboard-filter-select{padding-right:1.2rem}.dashboard-coin-display{padding-left:.5rem;padding-right:.5rem;justify-content:center}.single-kpi-card-container{padding:.75rem;gap:.75rem}.kpi-item-value{font-size:1.5rem}.kpi-item-title{font-size:var(--font-size-xs)}.kpi-item-icon-area{font-size:1.75rem;width:44px;height:44px}.practice-modes-selection-panel{gap:.75rem;padding:.75rem}.practice-mode-circular-button{flex-basis:calc(50% - .5rem);min-height:110px;padding:.75rem .25rem}.practice-mode-circular-icon-wrapper{width:54px;height:54px;margin-bottom:.5rem}.practice-mode-circular-icon{font-size:2.5rem}.coming-soon-tag{font-size:.5rem;padding:1px 3px;top:-3px;right:-5px}.practice-mode-circular-title{font-size:var(--font-size-sm)}.chart-card{padding:1rem}.chart-card h3{font-size:var(--font-size-md);margin-bottom:1rem}.doughnut-chart-wrapper{width:120px;height:120px}.subject-legend{font-size:var(--font-size-xs)}.chapter-feedback-card.single-active-list{max-height:320px}.chapter-feedback-card-header{padding:.75rem 1rem .6rem}.chapter-feedback-card-header h4{font-size:var(--font-size-sm)}.chapter-list-item{padding:.7rem 1rem}.subject-header{padding:.6rem 1rem;font-size:var(--font-size-xs)}.chapter-info{font-size:.875rem}.chapter-practice-btn{font-size:calc(var(--font-size-xs) * .9);padding:.35rem .6rem}.chapter-practice-btn svg{width:12px;height:12px}.category-selector-btn{padding:.4rem .8rem;font-size:var(--font-size-sm)}}.dashboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1050;opacity:0;transition:opacity .25s ease-in-out}.dashboard-modal-overlay.visible{opacity:1}.dashboard-modal{background-color:var(--background-secondary);padding:2rem;border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-lg);width:90%;max-width:420px;border:1px solid var(--border-primary);transform:scale(.95) translateY(10px);transition:transform .25s ease-in-out,opacity .25s ease-in-out;text-align:center;opacity:0}.dashboard-modal-overlay.visible .dashboard-modal{transform:scale(1) translateY(0);opacity:1}.dashboard-modal-icon{font-size:3.5rem;color:var(--warning-color);margin-bottom:1rem;line-height:1}.dashboard-modal h3{margin-top:0;margin-bottom:.75rem;font-size:var(--font-size-xl);color:var(--text-primary);font-weight:600}.dashboard-modal p{margin-bottom:2rem;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.6}.dashboard-modal-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.dashboard-modal-actions .btn{font-size:var(--font-size-sm);padding:.6rem 1.2rem;display:inline-flex;align-items:center;gap:.5rem}:root{--subject-color-physics: #2979ff;--subject-color-chemistry: #ab47bc;--subject-color-maths: #26a69a;--subject-color-biology: #66bb6a;--subject-color-default: var(--border-secondary);--kpi-color-exam-type: var(--info-color, #17a2b8);--kpi-color-score: var(--accent-color, #007bff);--kpi-color-accuracy: var(--primary-color, #6f42c1);--kpi-color-time: #fd7e14;--kpi-color-rank: var(--warning-color, #ffc107);--kpi-color-exam-type-rgb: 23, 162, 184;--kpi-color-score-rgb: 0, 123, 255;--kpi-color-accuracy-rgb: 111, 66, 193;--kpi-color-time-rgb: 253, 126, 20;--kpi-color-rank-rgb: 255, 193, 7}.exam-result-detail-page{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-primary);color:var(--text-primary);padding:0}.result-page-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-sm);height:60px;flex-shrink:0;position:sticky;top:0;z-index:1010}.result-page-header h1{font-size:1.1rem;font-weight:500;margin:0;text-align:center;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--spacing-sm);color:var(--text-primary)}.result-page-header .btn-icon-only{background:transparent;border:none;font-size:1.4rem;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);cursor:pointer;transition:color .2s,background-color .2s}.result-page-header .btn-back{color:var(--text-primary)}.result-page-header .btn-back:hover{color:var(--text-accent);background-color:var(--background-hover)}.result-page-header .btn-close-page{color:var(--danger-color)}.result-page-header .btn-close-page:hover{color:var(--danger-color-darker, darkred);background-color:var(--danger-bg-subtle, rgba(220,53,69,.1))}.result-content-area{flex-grow:1;padding:var(--spacing-lg);overflow-y:auto}.result-card{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-primary)}.result-card h2{font-size:1.25rem;font-weight:600;color:var(--text-accent);margin-top:0;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);text-align:center}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.performance-item{padding:var(--spacing-md);border-radius:var(--border-radius-md);display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid var(--border-light);box-shadow:var(--shadow-xs-inset);transition:background-color .3s ease}.performance-item.kpi-exam-type{background-color:rgba(var(--kpi-color-exam-type-rgb),.07)}.performance-item.kpi-score{background-color:rgba(var(--kpi-color-score-rgb),.07)}.performance-item.kpi-accuracy{background-color:rgba(var(--kpi-color-accuracy-rgb),.07)}.performance-item.kpi-time{background-color:rgba(var(--kpi-color-time-rgb),.07)}.performance-item.kpi-rank{background-color:rgba(var(--kpi-color-rank-rgb),.07)}.performance-item .kpi-icon{font-size:1.6rem;flex-shrink:0}.performance-item.kpi-exam-type .kpi-icon{color:var(--kpi-color-exam-type)}.performance-item.kpi-score .kpi-icon{color:var(--kpi-color-score)}.performance-item.kpi-accuracy .kpi-icon{color:var(--kpi-color-accuracy)}.performance-item.kpi-time .kpi-icon{color:var(--kpi-color-time)}.performance-item.kpi-rank .kpi-icon{color:var(--kpi-color-rank)}.performance-item div{display:flex;flex-direction:column}.performance-item .kpi-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:2px;text-transform:uppercase;font-weight:500}.performance-item .kpi-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.results-hidden-text{font-style:italic;color:var(--text-placeholder);font-size:1rem}.results-policy-notice{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--info-bg-subtle, var(--info-bg));color:var(--info-color);border:1px solid var(--info-border, var(--info-color));border-radius:var(--border-radius-md);font-size:.85rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.results-policy-notice.centered{margin-left:auto;margin-right:auto;max-width:90%}.sectional-performance-card .sectional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.section-item{background-color:var(--background-tertiary);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--border-light);border-left-width:5px;transition:border-left-color .3s ease}.section-item.subject-accent-physics{border-left-color:var(--subject-color-physics)}.section-item.subject-accent-chemistry{border-left-color:var(--subject-color-chemistry)}.section-item.subject-accent-maths{border-left-color:var(--subject-color-maths)}.section-item.subject-accent-biology{border-left-color:var(--subject-color-biology)}.section-item.subject-accent-default{border-left-color:var(--subject-color-default)}.section-item h3{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-primary)}.section-item p{font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs);display:flex;justify-content:space-between}.section-item p .stat-label{font-weight:500}.section-item p strong{color:var(--text-primary);font-weight:600}.section-item p strong.score-positive{color:var(--success-color-darker, var(--success-color))}.section-item p strong.score-negative{color:var(--danger-color-darker, var(--danger-color))}.section-item p strong.accuracy-high{color:var(--success-color-darker, var(--success-color))}.section-item p strong.accuracy-medium{color:var(--warning-color-darker, var(--warning-color))}.section-item p strong.accuracy-low{color:var(--danger-color-darker, var(--danger-color))}.section-quick-stats{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px dashed var(--border-light);font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:nowrap;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:5px}.section-quick-stats .quick-stat-item{color:var(--text-secondary);display:inline-block;text-align:center;flex-shrink:0;white-space:nowrap}.section-quick-stats .stat-number-correct{color:var(--success-color);font-weight:600}.section-quick-stats .stat-number-incorrect{color:var(--danger-color);font-weight:600}.section-quick-stats .stat-number-skipped{color:var(--text-secondary);font-weight:600}.subject-question-group{margin-bottom:var(--spacing-lg)}.subject-group-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light)}.question-analysis-card .question-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--spacing-sm);max-height:300px;overflow-y:auto;padding:var(--spacing-xs);border:1px solid var(--border-primary);border-radius:var(--border-radius-sm)}.palette-item{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;border:1px solid transparent}.palette-item:hover{transform:scale(1.1);box-shadow:var(--shadow-md)}.palette-item.status-correct{background-color:var(--success-bg);color:var(--success-color-darker, var(--success-color));border-color:var(--success-border, var(--success-color))}.palette-item.status-incorrect{background-color:var(--danger-bg);color:var(--danger-color-darker, var(--danger-color));border-color:var(--danger-border, var(--danger-color))}.palette-item.status-not_attempted{background-color:var(--background-tertiary);color:var(--text-secondary);border-color:var(--border-secondary)}.palette-item.status-unknown{background-color:var(--background-tertiary);color:var(--text-placeholder);border-color:var(--border-secondary)}.palette-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md);font-size:.8rem;color:var(--text-secondary);margin-top:var(--spacing-lg)}.legend-item{display:inline-flex;align-items:center}.legend-color{width:12px;height:12px;border-radius:3px;margin-right:var(--spacing-xs);border:1px solid rgba(0,0,0,.1)}.legend-color.status-correct{background-color:var(--success-bg);border-color:var(--success-border)}.legend-color.status-incorrect{background-color:var(--danger-bg);border-color:var(--danger-border)}.legend-color.status-not_attempted{background-color:var(--background-tertiary);border-color:var(--border-secondary)}.topper-comparison-grid{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--spacing-sm) var(--spacing-md);align-items:center}.comparison-header{font-weight:600;font-size:.9rem;color:var(--text-secondary);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light);text-align:center}.your-stats-header{color:var(--text-accent)}.topper-stats-header{color:var(--warning-color)}.comparison-label{font-weight:500;font-size:.85rem;color:var(--text-primary);text-align:right;padding-right:var(--spacing-md)}.comparison-value{font-size:.9rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);text-align:center}.your-value{background-color:var(--accent-bg-subtle, rgba(var(--accent-color-rgb), .1));color:var(--text-accent-darker, var(--text-accent))}.topper-value{background-color:var(--warning-bg-subtle, rgba(var(--warning-color-rgb), .1));color:var(--warning-color-darker, var(--warning-color))}.result-page-actions{display:flex;margin-top:var(--spacing-xl);gap:var(--spacing-md);justify-content:space-between;flex-wrap:nowrap}.result-page-actions .btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);flex-grow:1;flex-basis:0;min-width:100px;border-radius:var(--border-radius-md);text-align:center}.result-page-actions .btn svg{font-size:1.1em;margin-right:6px}.loading-spinner-container,.no-data-message,.full-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-xxl) var(--spacing-lg);min-height:300px}.full-page-error{color:var(--danger-color);gap:var(--spacing-md)}.full-page-error .btn{margin-top:var(--spacing-md)}@media (max-width: 768px){.result-page-header h1{font-size:1rem;font-weight:500}.performance-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.performance-item .kpi-value{font-size:1rem}.sectional-performance-card .sectional-grid{grid-template-columns:1fr}.topper-comparison-grid{grid-template-columns:1fr;gap:var(--spacing-xs)}.comparison-header{text-align:left;padding-left:0;margin-bottom:var(--spacing-xs)}.comparison-label,.comparison-value{text-align:left;padding-left:0}.comparison-label{font-size:.8rem;color:var(--text-secondary)}.comparison-value{font-size:.85rem;background-color:transparent;padding:2px 0}.comparison-label:after{content:":";margin-right:var(--spacing-xs)}.your-value:before{content:"You: ";font-weight:500;color:var(--text-secondary)}.topper-value:before{content:"Rank 1: ";font-weight:500;color:var(--text-secondary)}.topper-comparison-grid>div:nth-child(3n+1){grid-column:1 / 2;margin-top:var(--spacing-sm)}.topper-comparison-grid>div:nth-child(3n+2){grid-column:1 / 2}.topper-comparison-grid>div:nth-child(3n+3){grid-column:1 / 2;padding-bottom:var(--spacing-sm);border-bottom:1px dashed var(--border-lighter)}.topper-comparison-grid>div:first-child{margin-top:0}.topper-comparison-grid>div:last-child{border-bottom:none}.topper-comparison-grid .comparison-header{display:none}.result-page-actions{flex-wrap:nowrap;justify-content:space-between}.result-page-actions .btn{flex-grow:1;flex-basis:calc(50% - (var(--spacing-md) / 2));max-width:calc(50% - (var(--spacing-md) / 2));min-width:0;padding:var(--spacing-sm) var(--spacing-xs);font-size:.85rem}.section-quick-stats{font-size:.75rem}}@media (max-width: 480px){.result-page-header h1{font-size:.9rem;font-weight:500}.result-content-area{padding:var(--spacing-md)}.result-card{padding:var(--spacing-sm)}.result-card h2{font-size:1.1rem;margin-bottom:var(--spacing-sm)}.performance-grid{grid-template-columns:1fr}.performance-item .kpi-icon{font-size:1.4rem}.performance-item .kpi-label{font-size:.7rem}.performance-item .kpi-value{font-size:.95rem}.question-analysis-card .question-palette{grid-template-columns:repeat(auto-fill,minmax(35px,1fr));gap:var(--spacing-xs)}.palette-item{width:35px;height:35px;font-size:.8rem}.subject-group-title{font-size:.95rem}.section-quick-stats{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:6px;font-size:.7rem;overflow-x:auto;padding-bottom:5px}.section-quick-stats .quick-stat-item{font-size:.7rem;flex-shrink:0;white-space:nowrap;margin-right:8px}.section-quick-stats .quick-stat-item:last-child{margin-right:0}.result-page-actions{flex-direction:row;justify-content:space-between;align-items:stretch}.result-page-actions .btn{flex-grow:1;flex-basis:calc(50% - (var(--spacing-md) / 2));max-width:calc(50% - (var(--spacing-md) / 2));min-width:0;font-size:.8rem;padding:var(--spacing-sm) 6px}.result-page-actions .btn svg{margin-right:4px}}.question-review-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay);display:flex;align-items:center;justify-content:center;z-index:1050;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease-in-out,visibility 0s linear .2s}.question-review-modal-overlay.modal-overlay--visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.question-review-modal{max-width:800px;width:90%;max-height:90vh;display:flex;flex-direction:column;background-color:var(--background-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;position:relative;z-index:1}.question-review-modal-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-primary);background-color:var(--background-secondary);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.question-review-modal-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.question-review-modal-header .btn-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary);padding:0;line-height:1;cursor:pointer}.question-review-modal-header .btn-close:hover{color:var(--text-accent)}.qrm-subject-tabs{display:flex;overflow-x:auto;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);padding:0 var(--spacing-sm);flex-shrink:0}.qrm-subject-tab{padding:var(--spacing-sm) var(--spacing-md);border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;white-space:nowrap;border-bottom:3px solid transparent;transition:color .2s,border-color .2s;margin-bottom:-1px}.qrm-subject-tab:hover{color:var(--text-accent)}.qrm-subject-tab.active{color:var(--text-accent);border-bottom-color:var(--text-accent);font-weight:600}.qrm-horizontal-selector{display:flex;overflow-x:auto;padding:var(--spacing-sm);background-color:var(--background-tertiary);border-bottom:1px solid var(--border-light);gap:var(--spacing-xs);flex-shrink:0}.qrm-horizontal-item{min-width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:500;font-size:.85rem;cursor:pointer;transition:transform .1s ease,background-color .2s,color .2s,border-color .2s;border:1px solid var(--border-light);background-color:var(--background-secondary);color:var(--text-secondary)}.qrm-horizontal-item:hover{background-color:var(--background-hover);color:var(--text-primary)}.qrm-horizontal-item.active{background-color:var(--text-accent);color:var(--text-on-accent);border-color:var(--text-accent)!important;font-weight:700}.qrm-horizontal-item.status-correct{border-color:var(--success-color)}.qrm-horizontal-item.status-incorrect{border-color:var(--danger-color)}.qrm-horizontal-item.status-not_attempted,.qrm-horizontal-item.status-unknown{border-color:var(--border-secondary)}.qrm-horizontal-item.status-correct.active{background-color:var(--success-color);color:var(--text-on-badge)}.qrm-horizontal-item.status-incorrect.active{background-color:var(--danger-color);color:var(--text-on-badge)}.qrm-horizontal-item.status-not_attempted.active,.qrm-horizontal-item.status-unknown.active{background-color:var(--text-secondary);color:var(--background-primary)}.question-review-modal-body{padding:var(--spacing-md);overflow-y:auto;flex-grow:1}.qrm-content-section{margin-bottom:var(--spacing-md)}.qrm-question-main-content{margin-top:var(--spacing-sm)}.qrm-content-section h4{font-size:.9rem;font-weight:600;color:var(--text-accent);margin:0 0 var(--spacing-xs) 0;padding-bottom:var(--spacing-xs);border-bottom:1px dashed var(--border-light)}.qrm-html-content{font-size:.95rem;line-height:1.6;color:var(--text-primary)}.qrm-html-content img{max-width:100%;height:auto}.qrm-html-content .MathJax,.qrm-html-content .MJXc-display{overflow-x:auto;overflow-y:hidden;max-width:100%}.qrm-options-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.qrm-option-item{display:flex;align-items:flex-start;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background-color:var(--input-bg)}.qrm-option-indicator{margin-right:var(--spacing-sm);margin-top:.1em;font-size:1rem;width:18px;text-align:center;flex-shrink:0}.qrm-option-item.student-correct{border-left:3px solid var(--success-color);background-color:var(--success-bg-subtle, rgba(var(--success-color-rgb), .1))}.qrm-option-item.student-incorrect{border-left:3px solid var(--danger-color);background-color:var(--danger-bg-subtle, rgba(var(--danger-color-rgb), .1))}.qrm-option-item.correct-answer-only{border-left:3px solid var(--success-color)}.icon-student-correct{color:var(--success-color)}.icon-student-incorrect{color:var(--danger-color)}.icon-correct-only{color:var(--success-color);opacity:.7}.qrm-text-answer{font-size:.95rem;font-weight:500;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);background-color:var(--background-tertiary);border:1px solid var(--border-light);color:var(--text-primary);word-break:break-word}.qrm-text-answer.student-correct-text{border-left:3px solid var(--success-color)}.qrm-text-answer.student-incorrect-text{border-left:3px solid var(--danger-color)}.qrm-text-answer.correct-answer-only-text{border-left:3px solid var(--info-color, #17a2b8)}.qrm-explanation-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-primary)}.qrm-floating-nav{position:fixed!important;bottom:30px!important;background-color:var(--text-accent)!important;border:2px solid var(--background-primary)!important;color:var(--text-on-accent)!important;opacity:1!important;z-index:10000!important;width:44px!important;height:44px!important;font-size:1.8rem!important;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:background-color .2s,color .2s,transform .2s,border-color .2s}.qrm-floating-nav:hover:not(:disabled){background-color:var(--background-hover)!important;color:var(--text-accent)!important;border-color:var(--text-accent)!important;transform:scale(1.1)}.qrm-floating-nav:disabled{opacity:.5!important;cursor:not-allowed!important;background-color:var(--background-secondary)!important;color:var(--text-placeholder)!important;border-color:var(--border-secondary)!important}.qrm-floating-nav--prev{left:30px!important}.qrm-floating-nav--next{right:30px!important}.no-data-text-small{font-size:.85rem;color:var(--text-placeholder);font-style:italic}@media (max-width: 850px){.qrm-floating-nav{bottom:25px!important}.qrm-floating-nav--prev{left:25px!important}.qrm-floating-nav--next{right:25px!important}}@media (max-width: 600px){.question-review-modal{max-width:98%;width:98%;max-height:95vh}.question-review-modal-header h3{font-size:.9rem}.question-review-modal-body{padding:var(--spacing-sm)}.qrm-html-content,.qrm-text-answer{font-size:.9rem}.qrm-horizontal-item{min-width:30px;height:30px;font-size:.75rem}.qrm-subject-tab{padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem}.qrm-floating-nav{bottom:20px!important}.qrm-floating-nav--prev{left:20px!important}.qrm-floating-nav--next{right:20px!important}}.selection-form-wrapper{max-width:800px;margin:2rem auto;padding:2.5rem;background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);border:1px solid var(--border-color-light)}.dark-mode .selection-form-wrapper{border-color:var(--border-color-dark)}.selection-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.selection-form .full-width{grid-column:1 / -1}.selection-form__select{width:100%;padding:.8rem 1rem;font-size:1rem;line-height:1.5;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236C757D' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:.8em}.dark-mode .selection-form__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ADB5BD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2 5l6 6 6-6'/%3E%3C/svg%3E")}.form-footer{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.selection-form__button{width:100%;padding:.9rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius-md);border:1px solid transparent;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;text-align:center}.selection-form__button--primary{background-color:#f7931a;color:#fff;border-color:#f7931a}.selection-form__button--primary:hover{background-color:#e68618;border-color:#e68618;box-shadow:0 2px 8px #0000001a}.selection-form__alert{padding:.8rem 1rem;border-radius:var(--border-radius-md);font-size:.9rem;text-align:left;border:1px solid transparent}.selection-form__alert--danger{background-color:var(--danger-background-soft);color:var(--danger-text-strong);border-color:var(--danger-border-soft)}.selection-form__message{font-size:.85rem;color:var(--text-tertiary);text-align:center}@media (max-width: 768px){.selection-form-wrapper{margin:1rem;padding:1.5rem}.selection-form{grid-template-columns:1fr;gap:1.5rem}.selection-form__title{font-size:1.4rem;margin-bottom:2rem}}@media (max-width: 480px){.selection-form-wrapper{padding:1rem}.selection-form__title{font-size:1.25rem}}.loading-spinner-overlay{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%}.spinner{border:4px solid rgba(0,0,0,.1);width:36px;height:36px;border-radius:50%;border-left-color:#09f;animation:spin 1s ease infinite}.loading-message{margin-top:10px;font-size:1rem;color:#333}.practice-screen-adapted-root{display:flex;flex-direction:column;height:100vh;width:100vw;background-color:var(--background-primary);color:var(--text-primary);font-family:Poppins,sans-serif;overflow:hidden;position:relative}.practice-adapted-header{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;z-index:10}.practice-adapted-header-row{display:flex;align-items:center;gap:1rem;width:100%}.practice-adapted-quit-button{display:inline-flex;align-items:center;gap:.5rem;background-color:transparent;border:1px solid var(--danger-color);color:var(--danger-color);padding:.5rem 1rem;height:38px;box-sizing:border-box;border-radius:var(--border-radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.practice-adapted-quit-button svg{width:16px;height:16px}.practice-adapted-quit-button:hover:not(:disabled){background-color:var(--danger-bg)}:root.dark-mode .practice-adapted-quit-button:hover:not(:disabled){background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}.practice-adapted-session-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex-grow:1}.practice-adapted-timer{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary);background-color:var(--background-tertiary);padding:.5rem 1rem;height:38px;box-sizing:border-box;border-radius:var(--border-radius-sm);border:1px solid var(--border-primary);font-variant-numeric:tabular-nums}.practice-accuracy-container{flex-grow:1;min-width:80px;height:16px;background-color:#8b000040;border-radius:var(--border-radius-pill);position:relative;overflow:hidden;align-self:center;display:flex;align-items:center;justify-content:center}.practice-accuracy-bar{height:100%;background-color:#00640059;border-radius:var(--border-radius-pill);transition:width .5s cubic-bezier(.25,1,.5,1);position:absolute;left:0;top:0;z-index:0}:root.dark-mode .practice-accuracy-container{background-color:#8b000073}:root.dark-mode .practice-accuracy-bar{background-color:#0064008c}.practice-accuracy-text{position:relative;z-index:1;font-size:.7rem;font-weight:600;color:var(--text-primary);text-shadow:none;padding:0 .25rem;line-height:1;white-space:nowrap}:root.dark-mode .practice-accuracy-text{text-shadow:0 0 3px rgba(0,0,0,.6)}.practice-adapted-main{flex-grow:1;overflow-y:auto;padding:1.5rem clamp(1rem,5vw,3rem);display:flex;flex-direction:column;gap:1.5rem;position:relative}.practice-adapted-question-card{background:var(--background-secondary);border-radius:var(--border-radius-lg);padding:1.5rem;border:1px solid var(--border-primary);box-shadow:var(--box-shadow-sm);position:relative}.practice-adapted-question-card .question-text-p{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.6;font-weight:500;color:var(--text-primary);margin:0}.question-content-area>.card-style,.question-text-card{background:var(--background-secondary);border-radius:var(--border-radius-lg);padding:1.5rem;border:1px solid var(--border-primary);box-shadow:var(--box-shadow-sm);position:relative}.question-content-area>.card-style strong,.question-text-card strong{display:block;margin-bottom:.75rem;font-size:.9rem;color:var(--text-tertiary);font-weight:600}.practice-adapted-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.practice-adapted-option-button{padding:1rem 1.25rem;font-size:1rem;border:1px solid var(--border-primary);background-color:transparent;color:var(--text-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;justify-content:space-between;min-height:60px;line-height:1.5}.practice-adapted-option-button .option-text-content{flex-grow:1}.practice-adapted-option-button:hover:not(:disabled){border-color:var(--accent-color);background-color:var(--background-hover)}.practice-adapted-option-button.selected:not(.submitted){border-color:var(--info-border);background-color:var(--info-bg-light);color:var(--info-color);font-weight:500}.practice-adapted-option-button.faded{opacity:.6;background-color:transparent;border-color:var(--border-secondary)}.practice-adapted-option-button.correct{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-color);font-weight:500}.practice-adapted-option-button.incorrect{border-color:var(--danger-border);background-color:var(--danger-bg);color:var(--danger-color);font-weight:500}.practice-adapted-option-button .option-icon{font-size:1.5rem;stroke-width:2.5;margin-left:.5rem}.practice-adapted-option-button .option-icon svg{width:22px;height:22px}.practice-adapted-explanation{margin-top:1.5rem;padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);background-color:var(--background-secondary);box-shadow:var(--box-shadow-sm)}.practice-adapted-explanation.correct{border-left:4px solid var(--success-color)}.practice-adapted-explanation.incorrect{border-left:4px solid var(--danger-color)}.practice-adapted-explanation.error{border-left:4px solid var(--warning-color)}.practice-adapted-explanation h4{margin-top:0;margin-bottom:1rem;font-size:1.2rem;font-weight:600;color:var(--text-primary);padding-bottom:.75rem;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:.5rem}.practice-adapted-explanation h4 .feedback-icon svg{width:20px;height:20px}.practice-adapted-explanation .explanation-content{line-height:1.7;font-size:1rem;color:var(--text-primary)}.practice-adapted-explanation .explanation-content p:last-child{margin-bottom:0}.practice-adapted-explanation .explanation-block strong{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:600}.practice-adapted-explanation .stats-text{font-size:.95rem;color:var(--text-secondary);margin-top:.5rem;margin-bottom:.25rem}.practice-adapted-explanation .stats-text strong{color:var(--text-primary)}.practice-adapted-footer{padding:1rem 1.5rem;background-color:var(--background-secondary);border-top:1px solid var(--border-primary);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;min-height:70px}.practice-adapted-feedback-summary{display:flex;align-items:center;gap:1rem;font-size:.9rem;font-weight:600;flex-wrap:wrap}.practice-adapted-feedback-summary span{display:inline-flex;align-items:center;gap:.5rem}.practice-adapted-feedback-summary .summary-correct{color:var(--success-color)}.practice-adapted-feedback-summary .summary-incorrect{color:var(--danger-color)}.practice-adapted-feedback-summary .summary-error{color:var(--warning-color)}.practice-adapted-feedback-summary .summary-time,.practice-adapted-feedback-summary .summary-coins{color:var(--text-tertiary);font-weight:500;font-size:.9rem}.practice-adapted-feedback-summary .summary-coins .coins-positive{color:var(--success-color)}.practice-adapted-feedback-summary .summary-coins .coins-negative{color:var(--danger-color)}.practice-adapted-feedback-summary .summary-coins .coins-neutral{color:var(--text-secondary)}.practice-adapted-footer-placeholder{color:var(--text-tertiary);font-style:italic;font-size:.9rem;flex-grow:1;text-align:left}.practice-adapted-button-primary{background:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:.75rem 1.75rem;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease;font-size:.95rem;height:42px;box-sizing:border-box}.practice-adapted-button-primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);box-shadow:0 0 15px rgba(var(--accent-color-rgb),.2)}.practice-adapted-button-primary svg{width:18px;height:18px}.practice-adapted-button-primary:disabled .spinner.small-spinner,.practice-adapted-button-primary .spinner.small-spinner{width:18px;height:18px;border-width:2px;border-color:currentColor;border-top-color:transparent}.practice-adapted-button-primary:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed}.practice-top-header,.practice-header{display:none}.question-content-area{display:flex;flex-direction:column;gap:1rem}.passage-section strong,.assertion-section strong,.reason-section strong,.statement-section strong,.conclusion-section strong{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:1rem}.passage-section div,.assertion-section div,.reason-section div,.statement-section div,.conclusion-section div{line-height:1.6;color:var(--text-primary);font-size:.95rem}.assertion-reasoning-question .reason-section,.statement-conclusion-question .conclusion-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-secondary)}.practice-adapted-question-card .question-images{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.practice-adapted-question-card .question-images img{max-width:100%;height:auto;border-radius:var(--border-radius-sm);border:1px solid var(--border-secondary);object-fit:contain;max-height:300px}.practice-adapted-option-button .option-images{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.practice-adapted-option-button .option-image-item{max-width:100%;height:auto;max-height:200px;border-radius:var(--border-radius-sm);border:1px solid var(--border-secondary);object-fit:contain}.options-card{background:none;padding:0;border:none;box-shadow:none;margin-bottom:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.practice-adapted-explanation .relevance-feedback-area{margin-top:1.25rem;padding-top:1rem;border-top:1px dashed var(--border-secondary);text-align:center}.practice-actions{display:none}.fallback-message-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1rem;height:100%}.fallback-message{color:var(--text-secondary);font-style:italic;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:.5rem;color:var(--text-secondary);height:100%}.spinner.large-spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.relevance-feedback-area p{margin-bottom:10px;font-size:.9em;color:var(--text-secondary)}.relevance-buttons{display:flex;justify-content:center;align-items:center;gap:15px}.btn-feedback{padding:8px;border:none;border-radius:0;background-color:transparent;cursor:pointer;transition:color .2s ease-in-out,transform .1s ease-in-out;color:var(--text-secondary);display:inline-flex;justify-content:center;align-items:center}.btn-feedback:hover:not(:disabled){background-color:transparent;transform:scale(1.1);color:var(--text-primary)}.btn-feedback:disabled{opacity:.5;cursor:not-allowed;background-color:transparent;transform:none}.btn-feedback.selected{background-color:transparent;color:var(--button-warning-bg);transform:scale(1.1)}body.dark-mode .btn-feedback.selected{color:var(--warning-color)}.btn-feedback:focus{outline:none}.relevance-spinner.small-spinner{margin-left:10px;width:20px;height:20px;border-width:2px}.feedback-submit-message{font-size:.85em;margin-top:8px;min-height:1.2em}.feedback-submit-message.success{color:var(--success-color)}.feedback-submit-message.error{color:var(--danger-color)}.btn-feedback svg{width:24px;height:24px;stroke:currentColor;fill:none}@media (max-width: 768px){.practice-adapted-header{padding:.5rem .75rem}.practice-adapted-session-title{font-size:.9rem;white-space:normal}.practice-adapted-quit-button{padding:.4rem .8rem;height:36px;font-size:.85rem}.practice-adapted-timer{padding:.4rem .8rem;height:36px;font-size:.9rem}.practice-accuracy-container{height:14px}.practice-accuracy-text{font-size:.65rem}.practice-adapted-main{padding:1rem .75rem;gap:1rem}.practice-adapted-question-card,.question-content-area>.card-style,.question-text-card{padding:1rem 1.25rem}.practice-adapted-question-card .question-text-p{font-size:1.05rem}.passage-section strong,.assertion-section strong,.reason-section strong,.statement-section strong,.conclusion-section strong,.passage-section div,.assertion-section div,.reason-section div,.statement-section div,.conclusion-section div{font-size:.9rem}.practice-adapted-options-grid{grid-template-columns:1fr;gap:.75rem}.practice-adapted-option-button{font-size:.95rem;padding:.8rem 1rem;min-height:50px}.practice-adapted-explanation{padding:1rem}.practice-adapted-explanation h4{font-size:1.1rem}.practice-adapted-explanation .explanation-content{font-size:.95rem}.practice-adapted-footer{padding:.75rem 1rem;flex-direction:column;gap:.75rem;align-items:stretch}.practice-adapted-feedback-summary{justify-content:center;gap:.75rem}.practice-adapted-button-primary{width:100%;justify-content:center}}@media (max-width: 480px){.practice-adapted-session-title{font-size:.85rem}.practice-adapted-question-card,.question-content-area>.card-style,.question-text-card{padding:.75rem 1rem}.practice-adapted-question-card .question-text-p{font-size:1rem}.practice-adapted-option-button{font-size:.9rem}.practice-adapted-explanation h4{font-size:1rem}.practice-adapted-explanation .explanation-content{font-size:.9rem}.practice-adapted-option-image-item,.practice-adapted-question-card .question-images img{max-height:150px}.practice-accuracy-text{font-size:.6rem}}.answer-input-area{padding:var(--spacing-md)}.practice-answer-input{width:100%;padding:var(--spacing-md);font-size:1.1rem;border:2px solid var(--border-primary);border-radius:var(--border-radius-lg);background-color:var(--background-primary);color:var(--text-primary);text-align:center;box-shadow:var(--box-shadow-sm)}.practice-answer-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-light)}.practice-answer-input:disabled{background-color:var(--background-secondary);cursor:not-allowed}.subjective-info{text-align:center;color:var(--text-secondary)}.subjective-info p{margin:.25rem 0}html,body{overflow-x:hidden}.practice-history-page{max-width:100%;margin:0 auto;padding:1rem;box-sizing:border-box;padding-bottom:120px}.practice-history-page .practice-top-header{text-align:center;margin-bottom:1rem;padding:1rem;background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm)}.history-controls-bar{margin-bottom:1rem}.back-box{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm)}.back-box button{all:unset;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:var(--text-primary)}.history-item-meta-container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.meta-box{flex:1 1 calc(50% - .5rem);background-color:var(--card-bg);border:1px solid var(--border-primary);padding:.75rem 1rem;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm)}.meta-label{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.meta-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.question-content-card,.options-content-card,.feedback-section{background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-xl);padding:1.5rem;box-shadow:var(--box-shadow);margin-bottom:1rem}.options-container .option{margin-bottom:1rem;padding:.75rem 1rem;border-radius:var(--border-radius-md);background-color:var(--background-tertiary);border:1px solid var(--border-secondary);color:var(--text-primary);transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,opacity .2s ease-in-out}.options-container .option:last-child{margin-bottom:0}.options-container .option.selected.incorrect{background-color:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-color)}.options-container .option.selected.incorrect .option-label,.options-container .option.selected.incorrect .option-label *{color:var(--danger-color)!important}.options-container .option.actual-correct{background-color:var(--success-bg);border-color:var(--success-border);color:var(--success-color)}.options-container .option.actual-correct .option-label,.options-container .option.actual-correct .option-label *{color:var(--success-color)!important}.options-container .option.faded-option{opacity:.7}.feedback-section.correct-feedback{background-color:var(--success-bg);border-color:var(--success-border)}.feedback-section.correct-feedback h4,.feedback-section.correct-feedback h4 .feedback-icon{color:var(--success-color)}.feedback-section.incorrect-feedback{background-color:var(--danger-bg);border-color:var(--danger-border)}.feedback-section.incorrect-feedback h4,.feedback-section.incorrect-feedback h4 .feedback-icon{color:var(--danger-color)}.feedback-section .explanation-block strong{color:var(--text-primary)}.feedback-section .explanation-block div{color:var(--text-secondary)}.history-fixed-footer{display:none}.nav-floating-btn{position:fixed;bottom:20px;width:48px;height:48px;background-color:#1e293bcc;color:#fff;border:none;border-radius:var(--border-radius-round);display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;z-index:200;box-shadow:var(--box-shadow-md);transition:transform .2s ease}.nav-floating-btn.nav-prev{left:16px}.nav-floating-btn.nav-next{right:16px}.nav-floating-btn:disabled{opacity:.4;cursor:default}.nav-floating-btn:not(:disabled):hover{transform:scale(1.1)}.dark-mode .question-content-card,.dark-mode .options-content-card{background-color:var(--background-elevation-1);border-color:var(--border-primary)}.dark-mode .feedback-section.correct-feedback{background-color:var(--success-bg);border-color:var(--success-border)}.dark-mode .feedback-section.correct-feedback h4,.dark-mode .feedback-section.correct-feedback h4 .feedback-icon{color:var(--success-color)}.dark-mode .feedback-section.incorrect-feedback{background-color:var(--danger-bg);border-color:var(--danger-border)}.dark-mode .feedback-section.incorrect-feedback h4,.dark-mode .feedback-section.incorrect-feedback h4 .feedback-icon{color:var(--danger-color)}.dark-mode .options-container .option{background-color:var(--background-tertiary);border-color:var(--border-secondary);color:var(--text-primary)}.dark-mode .options-container .option.faded-option{opacity:.6}.dark-mode .feedback-section .explanation-block strong{color:var(--text-primary)}.dark-mode .feedback-section .explanation-block div{color:var(--text-secondary)}@media (max-width: 768px){.practice-history-page{padding:.5rem;padding-bottom:100px}.question-content-card,.options-content-card,.feedback-section{padding:1rem;border-radius:var(--border-radius-lg)}.options-container .option{padding:.6rem .8rem;border-radius:var(--border-radius-sm)}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay, rgba(0, 0, 0, .65));display:flex;justify-content:center;align-items:center;z-index:99999!important;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility 0s linear .3s}.modal-overlay.modal-overlay--visible{opacity:1!important;visibility:visible!important;transition-delay:0s}.modal{background:var(--background-secondary, #ffffff);color:var(--text-primary, #111827);padding:var(--spacing-lg, 24px);border-radius:var(--border-radius-lg, .75rem);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05));width:90%;max-width:550px;max-height:90vh;overflow-y:auto;position:relative;z-index:100000!important;transform:scale(.95) translateY(10px);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.modal-overlay--visible .modal{transform:scale(1) translateY(0);opacity:1}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-primary, #e5e7eb);padding-bottom:var(--spacing-md, 16px);margin-bottom:var(--spacing-md, 16px)}.modal-header h2{margin:0;font-size:1.375rem;font-weight:600;color:var(--text-primary);line-height:1.3}.btn-close{background:transparent;border:none;font-size:1.5rem;color:var(--text-secondary, #6b7280);cursor:pointer;padding:var(--spacing-xs, 4px);line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm)}.btn-close:hover{color:var(--text-primary, #111827);background-color:var(--background-hover, #f3f4f6)}.modal-body{padding-bottom:var(--spacing-md, 16px)}.referral-info-text{font-size:.95rem;color:var(--text-secondary, #4b5563);margin-bottom:var(--spacing-lg, 24px);text-align:center}.referral-link-display-modal{display:flex;align-items:stretch;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-lg, 24px);background-color:var(--background-tertiary, #f3f4f6);padding:var(--spacing-sm, 8px);border-radius:var(--border-radius-md, .5rem);border:1px solid var(--border-primary, #e5e7eb)}.referral-link-display-modal input[type=text]{flex-grow:1;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);border:1px solid var(--input-border, #d1d5db);border-radius:var(--border-radius-sm, .375rem);background-color:var(--input-bg, #ffffff);color:var(--input-text, #111827);font-size:.9rem;min-width:0}.referral-link-display-modal .btn{flex-shrink:0}.share-divider{border:0;border-top:1px solid var(--border-primary, #e5e7eb);margin:var(--spacing-lg, 24px) 0}.share-options-title{font-size:1rem;font-weight:500;margin-bottom:var(--spacing-md, 16px);color:var(--text-primary, #111827);text-align:center}.share-buttons-container{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md, 16px)}.btn-share{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:var(--border-radius-round, 50%);font-size:1.6rem;border:none;transition:var(--transition, all .2s ease-in-out);color:#fff;box-shadow:var(--shadow-sm)}.btn-share:hover:not(:disabled){opacity:.85;transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-md)}.btn-share:disabled{background-color:var(--button-disabled-bg, #9ca3af)!important;color:var(--button-disabled-text, #ffffff)!important;opacity:var(--button-disabled-opacity, .6)!important;cursor:not-allowed!important}.btn-share.native-share{background-color:var(--button-secondary-bg, #e5e7eb);color:var(--button-secondary-text, #1f2937);border-radius:var(--border-radius-md, 8px);width:auto;height:auto;padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);font-size:.9rem}.btn-share.native-share svg{font-size:1.2rem;margin-right:var(--spacing-sm, 8px)}.btn-share.native-share:hover:not(:disabled){background-color:var(--button-secondary-hover-bg, #d1d5db)}.btn-share.whatsapp{background-color:#25d366}.btn-share.twitter{background-color:#1da1f2}.btn-share.facebook{background-color:#1877f2}.btn-share.email{background-color:var(--general-badge-color, #7F8C8D)}.modal-footer{border-top:1px solid var(--border-primary, #e5e7eb);padding-top:var(--spacing-md, 16px);margin-top:var(--spacing-lg, 24px);display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px)}.sidebar{width:var(--sidebar-width, 260px);padding-top:env(safe-area-inset-top,24px);background-color:var(--background-secondary);border-right:1px solid var(--border-primary);height:100vh;position:fixed;top:0;left:0;z-index:var(--z-index-sidebar, 1000);display:flex;flex-direction:column;transform:translate(0);transition:transform .3s ease-in-out,width .3s ease-in-out;overflow-y:auto}.sidebar--closed{transform:translate(-100%);width:0;border-right:none}.sidebar-inner{padding:.75rem 0;flex-grow:1;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease-in-out .1s}.sidebar--closed .sidebar-inner{opacity:0;padding:0;transition:opacity .1s ease-in-out;overflow:hidden}.sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-primary);flex-shrink:0;min-height:50px}.sidebar .sidebar-header-action-left{display:flex;align-items:center;justify-content:flex-start;flex-shrink:0;min-width:40px}.sidebar .sidebar-header-user-details{display:flex;flex-direction:column;align-items:center;text-align:center;flex-grow:1;overflow:hidden;padding:0 var(--spacing-xs, .5rem);min-width:60px;min-height:40px;justify-content:center}.sidebar .sidebar-header-user-details .sidebar-username-display{margin:0;font-size:var(--font-size-md, 1.125rem);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sidebar .sidebar-header-user-details .sidebar-membership-badge-display{font-size:var(--font-size-xs, .75rem);padding:.15em .5em;background-color:var(--accent-color-light);color:var(--accent-color);border-radius:var(--border-radius-sm);font-weight:500;display:inline-block;margin-top:var(--spacing-xxs, .25rem);white-space:nowrap;line-height:1.3}.sidebar .sidebar-header-action-right{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;min-width:40px}.sidebar .sidebar-header .sidebar-action-btn{background:none;border:none;color:var(--text-secondary);padding:.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s ease-in-out,background-color .2s ease-in-out;width:32px;height:32px;flex-shrink:0}.sidebar .sidebar-header .sidebar-action-btn:hover{color:var(--text-primary);background-color:var(--background-hover)}.sidebar .sidebar-header .sidebar-action-btn svg{width:18px;height:18px}.sidebar .sidebar-section{margin-bottom:1.5rem;padding:0 .75rem}.sidebar .sidebar-section:last-of-type{margin-bottom:1rem}.sidebar .cta-card{background:linear-gradient(135deg,var(--background-tertiary) 0%,var(--background-secondary) 100%);border-radius:var(--border-radius-lg);padding:1.25rem;border:1px solid var(--border-primary);box-shadow:var(--shadow-md);transition:transform .2s ease-out,box-shadow .2s ease-out;position:relative;overflow:hidden;text-align:center}.sidebar .cta-card:before{content:"";position:absolute;top:-60px;right:-60px;width:120px;height:120px;background-color:var(--accent-color-light);opacity:.3;border-radius:50%;transform:rotate(45deg);pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:0}.sidebar .cta-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.sidebar .cta-card:hover:before{opacity:.5;transform:rotate(55deg) scale(1.1)}.sidebar .cta-header{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.75rem;position:relative;z-index:1}.sidebar .cta-header h4{margin:0;font-size:var(--font-size-md, 1.1rem);font-weight:600;color:var(--text-primary)}.sidebar .cta-text{font-size:var(--font-size-sm, .9rem);color:var(--text-secondary);margin-bottom:1rem;line-height:1.5;position:relative;z-index:1}.sidebar .cta-header svg{width:22px;height:22px;flex-shrink:0}.sidebar .cta-header svg.pro-star-icon{color:var(--warning-color)}.sidebar .cta-header svg.upgrade-icon{color:var(--purple-accent-base, var(--accent-color))}.sidebar .cta-header svg.gift-icon{color:var(--info-color)}.sidebar .btn-share-referral,.sidebar .btn-upgrade-to-pro{border:none;padding:.6rem 1.2rem;font-weight:600;width:100%;margin-top:.5rem;gap:.5rem;border-radius:var(--border-radius-md);transition:var(--transition),transform .1s ease-out;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-sm, .875rem);position:relative;z-index:1}.sidebar .btn-share-referral svg,.sidebar .btn-upgrade-to-pro svg{width:14px;height:14px}.sidebar .btn-share-referral{background-color:var(--button-info-bg);color:var(--text-on-info-button)}.sidebar .btn-share-referral:hover:not(:disabled){background-color:var(--button-info-hover-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}.sidebar .btn-upgrade-to-pro{background-color:var(--purple-accent-base, var(--button-primary-bg));color:var(--text-on-purple-accent, var(--text-on-primary-button))}.sidebar .btn-upgrade-to-pro:hover:not(:disabled){background-color:var(--purple-accent-dark, var(--button-primary-hover-bg));transform:translateY(-2px);box-shadow:var(--shadow-md)}.sidebar .cta-text-small{font-size:var(--font-size-xs, .75rem);color:var(--text-secondary);font-style:italic;margin-top:1rem;text-align:center}.sidebar .sidebar-leaderboard-widget{background-color:var(--background-tertiary);border-radius:var(--border-radius-lg);padding:1rem;border:1px solid var(--border-primary);box-shadow:var(--shadow-sm);margin-top:1.5rem;display:flex;flex-direction:column;max-height:300px}.sidebar .leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-primary);flex-shrink:0}.sidebar .leaderboard-title{font-size:var(--font-size-base, 1rem);font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.sidebar .leaderboard-title svg{width:18px;height:18px;color:var(--brand-color, var(--text-accent))}.sidebar .leaderboard-refresh-btn{background:none;border:1px solid transparent;color:var(--text-secondary);padding:.35rem;border-radius:50%;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.sidebar .leaderboard-refresh-btn:hover:not(:disabled){color:var(--brand-color, var(--text-accent));background-color:var(--background-hover)}.sidebar .leaderboard-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar .leaderboard-refresh-btn svg{width:15px;height:15px;transition:transform .3s ease}.sidebar .leaderboard-refresh-btn.loading svg{animation:spin 1s linear infinite}.sidebar .leaderboard-scope-toggle{display:flex;background-color:var(--background-primary);border-radius:var(--border-radius-md);padding:4px;margin-bottom:8px;flex-shrink:0}.sidebar .leaderboard-scope-toggle button{flex:1;padding:6px 8px;border:none;background-color:transparent;color:var(--text-secondary);font-weight:500;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease-in-out;font-size:.8rem}.sidebar .leaderboard-scope-toggle button:disabled{cursor:not-allowed;opacity:.6}.sidebar .leaderboard-scope-toggle button.active{background-color:var(--brand-color, var(--accent-color));color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.sidebar .leaderboard-filter{display:flex;gap:0;background-color:var(--background-primary);padding:4px;border-radius:var(--border-radius-md);margin-bottom:.75rem;flex-shrink:0}.sidebar .leaderboard-filter button{flex:1;padding:.4rem .5rem;font-size:var(--font-size-xs, .75rem);font-weight:500;border-radius:var(--border-radius-sm);color:var(--text-secondary);background-color:transparent;transition:all .25s ease-in-out;border:none;text-align:center;cursor:pointer;position:relative}.sidebar .leaderboard-filter button.active{background-color:var(--background-secondary);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-xs)}.sidebar .leaderboard-filter button:not(.active):hover:not(:disabled){color:var(--text-primary);background-color:var(--background-hover-subtle, var(--background-hover))}.sidebar .leaderboard-filter button:disabled{opacity:.6;cursor:not-allowed}.sidebar .scrollable-list{overflow-y:auto;flex-grow:1;padding-right:.25rem}.sidebar .leaderboard-list{min-height:60px}.sidebar .leaderboard-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .25rem;font-size:var(--font-size-sm, .875rem);margin-bottom:2px;border-radius:var(--border-radius-sm);transition:background-color .15s ease-in-out,border-color .15s ease-in-out;gap:.5rem;border-left:4px solid transparent}.sidebar .leaderboard-item:last-child{margin-bottom:0}.sidebar .leaderboard-item:hover{background-color:var(--background-hover)}.sidebar .leaderboard-item .rank{font-weight:700;color:var(--text-primary);width:25px;text-align:right;flex-shrink:0;font-size:inherit;position:relative;padding-right:4px}.sidebar .leaderboard-item .rank:after{content:".";position:absolute;right:0}.sidebar .leaderboard-item .name{flex-grow:1;margin-left:0;margin-right:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary);font-weight:500}.sidebar .leaderboard-item .score{font-weight:600;color:var(--text-accent);flex-shrink:0;font-size:var(--font-size-xs, .75rem);background-color:var(--background-primary);padding:2px 5px;border-radius:4px}.sidebar .leaderboard-item.current-user{background-color:var(--background-hover);border-left-color:var(--brand-color, var(--accent-color))}.sidebar .leaderboard-item.current-user .rank,.sidebar .leaderboard-item.current-user .name{color:var(--brand-color, var(--accent-color));font-weight:700}.sidebar .leaderboard-item.current-user .score{color:var(--brand-color, var(--accent-color));background-color:transparent;font-weight:700}.sidebar .leaderboard-loading,.sidebar .leaderboard-empty,.sidebar .leaderboard-error{padding:1rem .5rem;text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm, .875rem);flex-grow:1;display:flex;align-items:center;justify-content:center}.sidebar .leaderboard-loading .spinner{margin-right:.5em;width:.8em;height:.8em}.sidebar .leaderboard-error{color:var(--danger-color)}.sidebar .leaderboard-user-rank-info{font-size:.85rem;color:var(--text-secondary);text-align:center;padding:.5rem 0 0;margin-top:.5rem;border-top:1px solid var(--border-primary);flex-shrink:0}.sidebar .leaderboard-user-rank-info .rank{font-weight:700;color:var(--text-primary);margin:0 .25rem}.sidebar .sidebar-section--footer{margin-top:auto;margin-bottom:0;padding:1rem .75rem;border-top:1px solid var(--border-primary);background-color:var(--background-secondary);flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-sm, .75rem)}.sidebar .sidebar-divider{border:none;height:1px;background-color:var(--border-primary);margin:1.25rem .75rem}.sidebar .btn-change-password,.sidebar .btn-signout{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.7rem .5rem;font-weight:500;border-radius:var(--border-radius-md);transition:var(--transition);font-size:var(--font-size-base, 1rem)}.sidebar .btn-change-password{background-color:var(--button-secondary-bg, hsl(210, 15%, 95%));color:var(--button-secondary-text, hsl(210, 10%, 40%));border:1px solid var(--button-secondary-border, hsl(210, 15%, 88%));font-weight:500}.sidebar .btn-change-password:hover:not(:disabled){background-color:var(--button-secondary-hover-bg, hsl(210, 15%, 90%));color:var(--button-secondary-hover-text, hsl(210, 10%, 20%));border-color:var(--button-secondary-hover-border, hsl(210, 15%, 80%))}.sidebar .btn-signout{background-color:transparent;border:1px solid var(--button-danger-border, var(--danger-color));color:var(--danger-color);font-weight:600}.sidebar .btn-signout:hover:not(:disabled){background-color:var(--button-danger-bg);color:var(--text-on-danger-button, #FFFFFF);border-color:var(--button-danger-bg)}.sidebar .btn-change-password .sidebar-icon svg,.sidebar .btn-signout .sidebar-icon svg{width:16px;height:16px}.sidebar .btn-change-password .sidebar-icon,.sidebar .btn-signout .sidebar-icon{margin-right:0;color:inherit}.sidebar .sidebar-contact-widget{text-align:center;padding-top:0;margin-top:-.25rem}.sidebar .contact-widget-title{font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.sidebar .contact-widget-links{display:flex;justify-content:center;gap:1.25rem}.sidebar .contact-link{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-secondary);background-color:var(--background-primary);border:1px solid var(--border-primary);transition:all .2s ease-in-out}.sidebar .contact-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:#fff}.sidebar .contact-link.whatsapp:hover{background-color:#25d366;border-color:#25d366}.sidebar .contact-link.phone:hover{background-color:var(--info-color, #3B82F6);border-color:var(--info-color, #3B82F6)}.sidebar .contact-link.email:hover{background-color:var(--brand-color, var(--accent-color));border-color:var(--brand-color, var(--accent-color))}.sidebar .contact-link svg{width:18px;height:18px}@media (max-width: 768px){.sidebar{width:var(--sidebar-width-mobile, 260px);transform:translate(-100%);box-shadow:var(--shadow-xl)}.sidebar.sidebar--open{transform:translate(0)}.sidebar .sidebar-header{padding:.75rem .5rem}.sidebar .sidebar-header-action-left,.sidebar .sidebar-header-action-right{min-width:32px;flex-basis:32px}.sidebar .sidebar-header-user-details .sidebar-username-display{font-size:var(--font-size-base, 1rem);max-width:150px}.sidebar .sidebar-header-user-details .sidebar-membership-badge-display{font-size:.7rem}.sidebar .sidebar-header .sidebar-action-btn{width:30px;height:30px}.sidebar .sidebar-header .sidebar-action-btn svg{width:16px;height:16px}.sidebar .sidebar-section{padding:0 .5rem}.sidebar .sidebar-leaderboard-widget{padding:.75rem}.sidebar .cta-card{padding:1rem}.sidebar .sidebar-section--footer{padding:.75rem .5rem}.sidebar .sidebar-header-action-left{order:1}.sidebar .sidebar-header-user-details{order:2}.sidebar .sidebar-header-action-right{order:3}}@media (max-width: 480px){.sidebar{width:var(--sidebar-width-small-mobile, 240px)}.sidebar .sidebar-header-user-details .sidebar-username-display{font-size:var(--font-size-sm, .875rem);max-width:100px}}.sidebar::-webkit-scrollbar,.sidebar .scrollable-list::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track,.sidebar .scrollable-list::-webkit-scrollbar-track{background:var(--scrollbar-track, transparent)}.sidebar::-webkit-scrollbar-thumb,.sidebar .scrollable-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, rgba(0,0,0,.2));border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover,.sidebar .scrollable-list::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, rgba(0,0,0,.4))}:root.dark-mode .sidebar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-dark, rgba(255,255,255,.2))}:root.dark-mode .sidebar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-dark, rgba(255,255,255,.4))}.sidebar .scrollable-list::-webkit-scrollbar{width:5px}.sidebar .scrollable-list::-webkit-scrollbar-thumb{border-radius:2.5px}.static-page-container{min-height:80vh;padding:2rem 1rem;background-color:var(--background-primary);color:var(--text-primary);display:flex;flex-direction:column;align-items:center}.static-page-content{max-width:800px;width:100%;margin:0 auto;padding:1.5rem;background-color:var(--background-secondary);border-radius:var(--border-radius-md, 8px);box-shadow:var(--box-shadow, 0 2px 10px rgba(0,0,0,.1));border:1px solid var(--border-primary)}.static-page-content h1{font-size:2rem;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.static-page-content h2{font-size:1.5rem;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem;border-bottom:1px solid var(--border-light);padding-bottom:.5rem}.static-page-content h3{font-size:1.2rem;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.5rem}.static-page-content p,.static-page-content li{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:1rem}.static-page-content ul,.static-page-content ol{margin-left:1.5rem;margin-bottom:1rem}.static-page-content a{color:var(--text-accent);text-decoration:underline}.static-page-content a:hover{color:var(--text-accent-hover);text-decoration:none}.static-page-header{width:100%;padding:1rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);text-align:center;margin-bottom:2rem}.static-page-header .logo-link{font-size:1.5rem;font-weight:700;color:var(--text-accent);text-decoration:none}.whitelabel-auth-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-secondary, #f0f2f5);padding:1rem}.auth-box{background:var(--background-primary);padding:2.5rem 3rem;border-radius:var(--border-radius-lg, 12px);box-shadow:var(--shadow-md);width:100%;max-width:450px;text-align:center;border:1px solid var(--border-color, #e2e8f0)}.client-logo-container{margin-bottom:2rem;min-height:40px}.client-logo{max-height:40px;width:auto;object-fit:contain}@media (max-width: 480px){.auth-box{padding:2rem 1.5rem}}.list-page-container.modern-dark-theme.exam-list-page-styles.dpp-list-page{background-color:var(--background-primary);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-family-sans)}.exam-list-page-combined-header{padding:var(--spacing-md) var(--content-padding-x-desktop, var(--spacing-sm));background-color:var(--background-primary);position:sticky;top:0;z-index:990}.exam-list-page-top-header-row{display:flex;align-items:center;gap:var(--spacing-md);max-width:var(--max-content-width, 1200px);margin:0 auto;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;background-color:var(--background-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.btn-back-icon{background:none;border:none;color:var(--text-secondary);font-size:1.3rem;padding:var(--spacing-sm);cursor:pointer;border-radius:var(--border-radius-sm);transition:background-color .2s,color .2s,border-color .2s;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border-primary)}.exam-list-page-category-dropdown{flex-grow:0;flex-shrink:1;flex-basis:auto;padding:.5rem 2.2rem .5rem .9rem;font-size:.9rem;font-weight:500;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);background-image:var(--form-select-arrow-light);background-repeat:no-repeat;background-position:right .9rem center;background-size:12px 9px;border:1px solid var(--input-border);border-radius:var(--border-radius-md);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;height:40px;min-width:120px;max-width:200px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-list-wrapper{padding:var(--spacing-lg) var(--content-padding-x-desktop, var(--spacing-xl));display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:var(--spacing-lg);flex-grow:1;max-width:var(--max-content-width, 1400px);width:100%;margin:0 auto;box-sizing:border-box}.exam-list-card-v2.dpp-card{background-color:var(--card-bg, var(--background-secondary));border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, var(--border-primary));padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);transition:transform .2s ease-out,box-shadow .2s ease-out,opacity .2s ease-out;position:relative;cursor:pointer}.exam-list-card-v2.dpp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.dpp-card.locked-content{opacity:.65}.dpp-card.locked-content:hover{opacity:.8;transform:translateY(-1px)}.dpp-status-indicator{font-size:.8rem;color:var(--text-secondary);text-align:right;font-style:italic;white-space:nowrap}.dpp-status-indicator .status-text{font-weight:500}.dpp-status-indicator .status-completed{color:var(--success-color)}.dpp-status-indicator .status-inprogress{color:var(--warning-color)}.dpp-status-indicator .status-abandoned,.dpp-status-indicator .status-failed{color:var(--danger-color)}.dpp-card .btn-exam-action{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .15s;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;min-width:100px;text-align:center;white-space:nowrap;line-height:1.5;box-sizing:border-box;flex-grow:0;flex-shrink:0}.dpp-card .btn-exam-action svg{margin-right:.4em}.dpp-card .btn-exam-action:hover:not(:disabled){transform:translateY(-2px);filter:brightness(95%)}.dpp-card .btn-exam-action:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:grayscale(50%)}.dpp-card .btn-start{background-color:var(--button-modern-start-bg);color:var(--button-modern-start-text);border-color:var(--button-modern-start-bg)}.dpp-card .btn-resume{background-color:var(--button-modern-resume-bg);color:var(--button-modern-resume-text);border-color:var(--button-modern-resume-bg)}.dpp-card .btn-solution{background-color:var(--button-modern-solution-bg);color:var(--button-modern-solution-text);border-color:var(--button-modern-solution-bg)}.dpp-card .btn-reattempt{background-color:var(--button-modern-reattempt-bg);color:var(--button-modern-reattempt-text);border-color:var(--button-modern-reattempt-bg)}.dpp-card .btn-locked{background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, #ffffff);border-color:var(--button-secondary-bg, #6c757d)}.dpp-card .btn-locked:hover{background-color:var(--button-secondary-hover-bg, #5a6268);border-color:var(--button-secondary-hover-bg, #5a6268)}@media (max-width: 768px){.item-list-wrapper{padding:var(--spacing-lg) var(--spacing-md);grid-template-columns:1fr}.card-row-main-v2{flex-direction:column;align-items:stretch}.card-title-v2{margin-right:0;width:100%;text-align:left;font-size:1.1rem}.card-action-area-v2{width:100%;justify-content:flex-start;margin-top:var(--spacing-sm);gap:var(--spacing-xs)}.dpp-card .btn-exam-action{flex-grow:1;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm);min-width:80px}.dpp-card .btn-exam-action:only-child{flex-grow:0;max-width:200px}}@media (max-width: 480px){.exam-list-page-combined-header{padding:var(--spacing-sm) var(--spacing-xs)}.exam-list-page-top-header-row{gap:var(--spacing-sm)}.btn-back-icon{font-size:1.2rem;padding:var(--spacing-sm);height:38px;min-height:38px;box-sizing:border-box}.exam-list-page-category-dropdown{font-size:.8rem;padding:.5rem 1.8rem .5rem .7rem;height:38px;min-width:80px;max-width:160px}.exam-list-main-title{font-size:1.4rem}.item-list-wrapper{padding:var(--spacing-md) var(--spacing-sm)}.exam-list-card-v2.dpp-card{padding:var(--spacing-md)}.card-row-meta-v2 .meta-items-group .questions{display:none}.card-row-meta-v2{font-size:.75rem}.exam-access-badge-v2{font-size:.7rem;padding:3px 6px}.dpp-status-indicator{font-size:.75rem}.card-title-v2{font-size:1rem}.card-action-area-v2{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:var(--spacing-sm)}.dpp-card .btn-exam-action{flex-grow:1;flex-shrink:1;flex-basis:auto;padding:6px 8px;font-size:.75rem;line-height:1.4;min-height:32px;box-sizing:border-box;text-align:center}.card-action-area-v2 .btn-exam-action:only-child{flex-basis:100%;flex-grow:0}}.dpp-elapsed-time-display{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem;font-weight:600;font-family:var(--font-family-monospace);color:var(--text-primary);background-color:var(--background-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);min-width:80px;text-align:center}.dpp-timer-icon{font-size:1.1em;color:var(--text-accent)}@media (max-width: 768px){.dpp-elapsed-time-display{font-size:.85rem;padding:var(--spacing-xs);min-width:70px}}.exam-palette-container.dpp-palette-container{background-color:var(--palette-bg);color:var(--palette-text-primary);width:var(--sidebar-width);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:width .3s ease-in-out,transform .3s ease-in-out;flex-shrink:0;border-left:1px solid var(--palette-border-color);box-sizing:border-box;position:relative;z-index:100}.dpp-palette-container .palette-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--palette-border-color);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.dpp-palette-container .palette-header h2{color:var(--palette-text-primary);font-size:1.15rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dpp-palette-close-btn-mobile{display:none;background:none;border:none;color:var(--palette-text-secondary);font-size:1.5rem;cursor:pointer;padding:5px}.dpp-palette-close-btn-mobile:hover{color:var(--palette-text-primary)}.dpp-palette-container .palette-content{flex-grow:1;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.dpp-palette-container .palette-content::-webkit-scrollbar{width:8px}.dpp-palette-container .palette-content::-webkit-scrollbar-track{background:transparent}.dpp-palette-container .palette-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.dpp-palette-container .question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:var(--spacing-xs)}.dpp-palette-container .question-grid-placeholder{color:var(--palette-text-secondary);font-size:.9rem;text-align:center;padding:var(--spacing-lg) 0}.dpp-palette-container .question-item{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-sizing:border-box;border:2px solid transparent;padding:0;margin:0;position:relative}.dpp-palette-container .question-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.dpp-palette-container .question-item:hover{transform:scale(1.05)}.dpp-palette-container .question-item.not-visited:not(.marked-for-review){background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border);color:var(--palette-gray-not-visited-text)}.dpp-palette-container .question-item.answered:not(.marked-for-review){background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border);color:var(--palette-green-answered-text)}.dpp-palette-container .question-item.not-answered-visited:not(.marked-for-review){background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border);color:var(--palette-red-not-answered-text)}.dpp-palette-container .question-item.marked-for-review{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border-color:var(--palette-purple-marked-border)}.dpp-palette-container .question-item.answered-marked{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border:2px solid var(--palette-green-answered-border)}.dpp-palette-container .question-item.unanswered-marked{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border-color:var(--palette-purple-marked-border)}.dpp-palette-container .question-item.current{background-color:var(--palette-blue-current-bg);color:var(--palette-blue-current-text);border-color:var(--palette-blue-current-border);font-weight:700;box-shadow:0 0 0 2px var(--palette-blue-current-border);transform:scale(1.1)}.dpp-palette-container .question-item.current.marked-for-review{outline:2px dashed var(--palette-purple-marked-border);outline-offset:2px}.dpp-palette-container .question-item.not-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-gray-not-visited-hover-bg)}.dpp-palette-container .question-item.answered:not(.marked-for-review):not(.current):hover{background-color:var(--palette-green-answered-hover-bg)}.dpp-palette-container .question-item.not-answered-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-red-not-answered-hover-bg)}.dpp-palette-container .question-item.marked-for-review:not(.current):hover{background-color:var(--palette-purple-marked-hover-bg);border-color:var(--palette-purple-marked-hover-border)}.dpp-palette-container .question-item.current:hover{opacity:.9}.dpp-palette-container .palette-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--palette-border-color);flex-shrink:0;background-color:var(--palette-bg)}.dpp-palette-container .legend-container{margin-bottom:var(--spacing-md)}.dpp-palette-container .legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-xs);font-size:.75rem;color:var(--palette-text-secondary);align-items:center}.dpp-palette-container .legend.legend-second-row{margin-top:var(--spacing-sm)}.dpp-palette-container .legend-item{display:flex;align-items:center;padding:var(--spacing-xs) 0}.dpp-palette-container .color-indicator{width:12px;height:12px;border-radius:3px;margin-right:var(--spacing-sm);display:inline-block;flex-shrink:0;box-sizing:border-box;border:1px solid transparent}.dpp-palette-container .color-indicator.answered-bg{background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border)}.dpp-palette-container .color-indicator.not-answered-bg{background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border)}.dpp-palette-container .color-indicator.not-visited-bg{background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border)}.dpp-palette-container .color-indicator.current-bg{background-color:var(--palette-blue-current-bg);border-color:var(--palette-blue-current-border)}.dpp-palette-container .color-indicator.unanswered-marked-indicator{background-color:var(--palette-purple-marked-bg);border-color:var(--palette-purple-marked-border)}.dpp-palette-container .color-indicator.answered-marked-indicator{background-color:var(--palette-purple-marked-bg);border:2px solid var(--palette-green-answered-border)}.dpp-palette-container .submit-exam-button{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s ease-in-out,transform .15s ease-out;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.dpp-palette-container .submit-exam-button:hover:not(:disabled){background-color:var(--button-primary-hover-bg);transform:translateY(-1px)}.dpp-palette-container .submit-exam-button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;opacity:.7}.dpp-palette-container .loading-spinner-palette{width:1em;height:1em;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.dpp-palette-container .submit-icon-palette{font-size:1.3rem}@media (min-width: 769px){.exam-palette-container.dpp-palette-container.collapsed{width:var(--sidebar-width-collapsed, 60px)}.exam-palette-container.dpp-palette-container.collapsed .palette-header h2,.exam-palette-container.dpp-palette-container.collapsed .palette-content,.exam-palette-container.dpp-palette-container.collapsed .legend-container{display:none}.exam-palette-container.dpp-palette-container.collapsed .palette-footer{padding:var(--spacing-md) var(--spacing-sm)}.exam-palette-container.dpp-palette-container.collapsed .submit-exam-button span{display:none}.exam-palette-container.dpp-palette-container.collapsed .submit-exam-button .loading-spinner-palette,.exam-palette-container.dpp-palette-container.collapsed .submit-exam-button .submit-icon-palette{margin:0 auto;font-size:1.6rem}.exam-palette-container.dpp-palette-container.collapsed .submit-exam-button{padding:var(--spacing-sm) 0}.exam-palette-container.dpp-palette-container.collapsed .dpp-palette-close-btn-mobile{display:none}}@media (max-width: 768px){.exam-palette-container.dpp-palette-container{position:fixed;top:0;left:0;height:100vh;width:clamp(280px,80vw,320px);transform:translate(-100%);z-index:1005;border-left:none;border-right:1px solid var(--palette-border-color)}.exam-palette-container.dpp-palette-container.open{transform:translate(0)}.dpp-palette-container .dpp-palette-close-btn-mobile{display:inline-flex;align-items:center}.dpp-palette-container .palette-footer{position:sticky;bottom:0;z-index:1;width:100%;box-sizing:border-box}}.question-card-content{font-size:1.1rem;line-height:1.7;color:var(--text-primary);word-wrap:break-word}.option-item-text{flex-grow:1;line-height:1.6;color:var(--text-primary);word-wrap:break-word;font-size:1rem}.question-card-actions .btn{font-size:1rem;padding:var(--spacing-md) var(--spacing-lg);font-weight:500;min-width:170px;justify-content:center;flex-grow:0;flex-shrink:0}@media (max-width: 768px){.question-content-wrapper{padding:var(--spacing-sm) 0}.question-card-header{padding-right:0;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.question-card-number{margin-right:0}.question-options-container{padding:var(--spacing-md)}.question-card-content{font-size:1.1rem;margin-bottom:var(--spacing-lg)}.question-option-item{padding:var(--spacing-sm) var(--spacing-md)}.option-indicator{width:18px;height:18px;margin-right:var(--spacing-sm)}.option-item-text{font-size:1rem}.question-input{padding:var(--spacing-sm);font-size:.9rem}textarea.descriptive-input{min-height:100px}.question-card-actions{gap:var(--spacing-md);justify-content:space-between;flex-wrap:nowrap}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:130px}.question-feedback-section{justify-content:space-between}.feedback-message{text-align:left;margin-bottom:0;flex-basis:60%}.feedback-buttons-container{margin-bottom:0;margin-left:0}}@media (max-width: 480px){.question-card-header{gap:var(--spacing-xs)}@media (max-width: 480px) and (orientation: portrait){.question-card-header{padding-right:0;flex-direction:column;align-items:flex-start}}.question-card-actions{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:var(--spacing-sm)}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);font-size:1rem}.question-card-actions .btn svg{margin-right:var(--spacing-xs);font-size:1em}.feedback-btn{font-size:1rem;padding:var(--spacing-xs)}.question-feedback-section{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.feedback-message{text-align:center;width:100%}.feedback-buttons-container{margin-left:0}}:root{--dpp-session-footer-height-desktop: 60px}.exam-main-footer,.dpp-session-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);height:var(--dpp-session-footer-height-desktop);background-color:var(--background-secondary);border-top:1px solid var(--border-primary);box-shadow:var(--shadow-md);flex-shrink:0;z-index:1000;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}.exam-footer-progress,.dpp-footer-progress{font-size:.9rem;color:var(--text-secondary);text-align:center;flex-grow:1;padding:0 var(--spacing-md);white-space:nowrap}@media (max-width: 768px){.exam-main-footer,.dpp-session-footer{height:auto;min-height:var(--dpp-footer-height, 70px);padding:var(--spacing-md);flex-wrap:nowrap;gap:var(--spacing-md)}.footer-nav-btn.prev-btn,.footer-nav-btn.next-btn{flex-grow:1;flex-basis:0;justify-content:center;min-width:100px}.exam-footer-progress,.dpp-footer-progress{display:none}.dpp-session-screen.mobile-palette-open .dpp-session-footer,.dpp-session-screen.mobile-palette-open .exam-main-footer{opacity:0;visibility:hidden;pointer-events:none;height:0;min-height:0;padding:0;border:none;overflow:hidden}}@media (max-width: 480px){.exam-main-footer,.dpp-session-footer{gap:var(--spacing-sm);padding:var(--spacing-sm)}.footer-nav-btn{font-size:.85rem;padding:var(--spacing-sm)}}.error-final-view .final-card-content{text-align:center}.modal-main-icon.danger-icon{color:var(--danger-color);margin-bottom:var(--spacing-lg);font-size:4rem}.error-view-actions{justify-content:center;gap:var(--spacing-md)}.error-view-actions .btn-lg{min-width:180px}@media (max-width: 480px){.error-view-actions{flex-direction:column}.error-view-actions .btn-lg{width:100%}}.dpp-submitted-final-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:var(--spacing-md)}.dpp-submitted-final-view .final-card-content{text-align:center;padding:var(--spacing-lg);max-width:400px;width:100%;box-shadow:var(--shadow-lg);border-radius:var(--border-radius-lg);background:var(--background-secondary);border:1px solid var(--border-primary);margin-bottom:var(--spacing-xl)}.dpp-submitted-final-view .view-title{font-size:1.75rem;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-primary)}.dpp-submitted-final-view .modal-view-subtitle{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6;max-width:360px;margin-left:auto;margin-right:auto}@media (max-width: 420px){.dpp-submitted-final-view .final-card-content{padding:var(--spacing-md);max-width:calc(100% - (2 * var(--spacing-sm)))}.submitted-view-actions{gap:var(--spacing-sm);max-width:calc(100% - (2 * var(--spacing-sm)))}.submitted-view-actions .btn-lg{font-size:.85rem;padding:var(--spacing-sm) var(--spacing-xs)}.modal-main-icon.success-icon{font-size:3.5rem}.dpp-submitted-final-view .view-title{font-size:1.5rem}.dpp-submitted-final-view .modal-view-subtitle{font-size:.9rem}.final-submission-summary h3{font-size:.95rem}.final-submission-summary p{font-size:.85rem}}.dpp-session-screen{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-sans);position:relative}.dpp-screen-loading-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-primary);z-index:2000}.dpp-screen-loading-fullscreen p{margin-top:var(--spacing-md);font-size:1.1rem;color:var(--text-secondary)}.dpp-screen-loading-fullscreen .loading-spinner.large{width:50px;height:50px;border-width:4px}.dpp-view{display:flex;flex-direction:column;align-items:center;flex-grow:1;padding:0;overflow-y:auto;width:100%;box-sizing:border-box}.dpp-view .view-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.dpp-view-footer{width:100%;padding:var(--spacing-lg) var(--content-padding-x-desktop, var(--spacing-xl));box-sizing:border-box;border-top:1px solid var(--border-primary);background-color:var(--background-secondary);margin-top:auto;flex-shrink:0}.dpp-view-footer .btn{flex-grow:1;max-width:calc(50% - (var(--spacing-md) / 2));text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.dpp-view-footer .btn:only-child{max-width:250px;flex-grow:0}.dpp-main-layout{display:flex;flex-grow:1;overflow:hidden;position:relative;height:calc(100vh - var(--dpp-header-height, 56px))}.dpp-question-area{flex-grow:1;padding:var(--spacing-lg);overflow-y:auto;background-color:var(--background-primary);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);transition:margin-right .3s ease-in-out}.dpp-question-area::-webkit-scrollbar{width:8px}.dpp-question-area::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.dpp-session-screen.mobile-palette-open .palette-mobile-overlay{opacity:1;visibility:visible;transition-delay:0s}.dpp-palette-fab{position:fixed;bottom:calc(var(--dpp-footer-height, 60px) + var(--spacing-md, 16px));right:var(--spacing-lg, 24px);width:56px;height:56px;border-radius:50%;background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:none;box-shadow:var(--shadow-lg);cursor:pointer;z-index:1003;transition:transform .2s ease-out,background-color .2s;outline:none}.dpp-palette-fab:hover{background-color:var(--accent-color-dark);transform:scale(1.05)}.dpp-palette-fab:focus-visible{box-shadow:0 0 0 3px var(--accent-color-light)}@media (max-width: 768px){.dpp-question-area{padding:var(--spacing-md)}.modal-content-box{max-width:90vw;padding:var(--spacing-lg)}.dpp-view-footer{padding-left:var(--content-padding-x-mobile, var(--spacing-md));padding-right:var(--content-padding-x-mobile, var(--spacing-md))}.view-footer-buttons-container{flex-direction:row;gap:var(--spacing-sm)}.dpp-view-footer .btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}}@media (max-width: 480px){.view-footer-buttons-container{flex-direction:column;gap:var(--spacing-md)}.dpp-view-footer .btn{width:100%;max-width:100%}.dpp-palette-fab{right:var(--spacing-md, 16px);bottom:calc(var(--dpp-footer-height, 70px) + var(--spacing-sm, 8px));width:50px;height:50px;font-size:1.6rem}}:root{--button-modern-start-bg: #1abc9c;--button-modern-start-text: #ffffff;--button-modern-resume-bg: #f39c12;--button-modern-resume-text: #ffffff;--button-modern-solution-bg: #3498db;--button-modern-solution-text: #ffffff;--button-modern-reattempt-bg: #ffcccb;--button-modern-reattempt-text: #a94442}.exam-list-page-header-area{display:flex;flex-direction:column;align-items:center;margin-bottom:15px;padding-top:1rem}.exam-list-page-app-logo-text{font-size:1.8rem;font-weight:700;color:var(--text-accent);margin-bottom:4px;line-height:1.1;letter-spacing:.5px}.exam-list-main-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.exam-list-page-combined-header{display:flex;flex-direction:column;margin-bottom:25px;gap:12px;padding:0 var(--spacing-sm);position:sticky;top:0;background-color:var(--background-primary);z-index:990}.exam-list-page-top-header-row{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:nowrap;background-color:var(--background-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);overflow-x:auto}.exam-list-page-styles .btn-back-icon{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;flex-shrink:0}.exam-list-page-styles .btn-back-icon:hover{background-color:var(--background-tertiary);color:var(--text-accent);border-color:var(--text-accent)}.exam-list-page-styles .btn-back-icon svg{width:18px;height:18px}.exam-list-page-header-dropdown,.exam-list-page-category-dropdown{flex-grow:1;flex-shrink:1;flex-basis:0;padding:.5rem 2.2rem .5rem .9rem;font-size:.9rem;font-weight:500;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);background-image:var(--form-select-arrow-light);background-repeat:no-repeat;background-position:right .9rem center;background-size:12px 9px;border:1px solid var(--input-border);border-radius:var(--border-radius-md);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;height:40px;min-width:120px;box-sizing:border-box}:root.dark-mode .exam-list-page-header-dropdown,:root.dark-mode .exam-list-page-category-dropdown{background-image:var(--form-select-arrow-dark)}.exam-list-page-header-dropdown:focus,.exam-list-page-category-dropdown:focus{border-color:var(--input-focus-border);outline:0;box-shadow:var(--input-focus-shadow)}.exam-list-page-header-dropdown:disabled,.exam-list-page-category-dropdown:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed}.exam-list-page-header-dropdown option,.exam-list-page-category-dropdown option{font-weight:400;background-color:var(--background-primary);color:var(--text-primary)}.exam-list-page-styles .item-list-wrapper{display:flex;flex-direction:column;gap:1rem;padding:0 var(--spacing-sm) var(--spacing-lg)}.exam-list-card-v2{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--border-primary);transition:border-color .2s,box-shadow .2s,transform .2s;cursor:pointer;box-shadow:var(--shadow-sm)}.exam-list-card-v2:hover{border-color:var(--text-accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.card-row-meta-v2{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;font-size:.8rem;color:var(--text-secondary)}.badges-container{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.exam-type-badge-v2,.exam-access-badge-v2{padding:4px 10px;font-size:.7rem;font-weight:600;border-radius:var(--border-radius-sm);line-height:1.3;text-transform:capitalize;display:inline-flex;align-items:center}.exam-access-badge-v2.free-badge{background-color:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.exam-access-badge-v2.pro-badge{background-color:#ffc107;color:#212529;border:1px solid #E0A800}.badge-icon{margin-right:4px;vertical-align:middle}.meta-items-group{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.meta-item-v2{display:inline-flex;align-items:center;color:var(--text-secondary);font-size:.85rem}.meta-item-v2 .meta-icon{margin-right:5px;color:var(--text-secondary);vertical-align:middle}.card-row-main-v2{display:flex;justify-content:space-between;align-items:center;gap:1rem}.card-title-v2{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0;flex-grow:1;line-height:1.3}.card-action-area-v2{flex-shrink:0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.btn-exam-action{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .15s;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;min-width:100px;text-align:center;white-space:nowrap;line-height:1.5;box-sizing:border-box;flex-grow:0;flex-shrink:0}.btn-exam-action:hover{transform:translateY(-2px);filter:brightness(95%)}.btn-start{background-color:var(--button-modern-start-bg);color:var(--button-modern-start-text);border-color:var(--button-modern-start-bg)}.btn-resume{background-color:var(--button-modern-resume-bg);color:var(--button-modern-resume-text);border-color:var(--button-modern-resume-bg)}.btn-reattempt{background-color:var(--button-modern-reattempt-bg);color:var(--button-modern-reattempt-text);border-color:var(--button-modern-reattempt-bg)}.btn-view-result{background-color:var(--button-modern-solution-bg);color:var(--button-modern-solution-text);border-color:var(--button-modern-solution-bg)}.exam-list-card-v2.locked-content{opacity:.7}.exam-list-card-v2.locked-content:hover{opacity:.8;transform:translateY(-1px)}.btn-exam-action.btn-locked{background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, #ffffff);border-color:var(--button-secondary-bg, #6c757d)}.btn-exam-action.btn-locked:hover{background-color:var(--button-secondary-hover-bg, #5a6268);border-color:var(--button-secondary-hover-bg, #5a6268)}.exam-list-page-styles .loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:50px 0;color:var(--text-secondary);font-size:1.1rem}.loading-spinner-icon{font-size:2.5rem;color:var(--text-accent);animation:spin-imspinner 1.5s linear infinite}@keyframes spin-imspinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.exam-list-page-styles .error-message,.exam-list-page-styles .no-items-message{background-color:var(--background-secondary);color:var(--text-secondary);padding:2rem;border-radius:var(--border-radius-md);margin:1rem auto;font-size:1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;border:1px solid var(--border-primary);max-width:600px}.exam-list-page-styles .error-message{color:var(--danger-color);background-color:var(--danger-bg);border-color:var(--danger-border)}.exam-list-page-styles .error-message p,.exam-list-page-styles .no-items-message p{margin:0}@media (max-width: 768px){.exam-list-page-header-area{margin-bottom:15px}.exam-list-page-app-logo-text{font-size:1.6rem}.exam-list-main-title{font-size:1.3rem}.exam-list-page-combined-header{margin-bottom:20px;padding:0 var(--spacing-xs)}.exam-list-page-top-header-row{padding:10px}.exam-list-card-v2{padding:.8rem 1rem}.card-title-v2{font-size:1.05rem}.meta-items-group{gap:.6rem}.meta-item-v2{font-size:.8rem}.card-action-area-v2{margin-top:var(--spacing-sm);gap:var(--spacing-xs)}.btn-exam-action{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm);min-width:80px}.btn-exam-action:only-child{flex-grow:0;max-width:200px}}@media (max-width: 480px){.exam-list-page-app-logo-text{font-size:1.5rem}.exam-list-main-title{font-size:1.2rem}.exam-list-page-top-header-row{gap:var(--spacing-sm)}.exam-list-page-header-dropdown,.exam-list-page-category-dropdown{height:38px;font-size:.85rem;min-width:100px}.exam-list-card-v2{padding:.75rem}.card-title-v2{font-size:1rem}.card-row-meta-v2,.meta-item-v2{font-size:.75rem}.badges-container{gap:.3rem}.exam-type-badge-v2,.exam-access-badge-v2{padding:3px 7px;font-size:.65rem}.card-action-area-v2{gap:6px;margin-top:var(--spacing-sm)}.btn-exam-action{flex-grow:1;flex-shrink:1;flex-basis:auto;padding:6px 8px;font-size:.75rem;line-height:1.4;min-height:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-action-area-v2 .btn-exam-action:only-child{flex-basis:100%;flex-grow:0}}.exam-screen-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-sans)}.exam-palette-fab{position:fixed;bottom:calc(var(--exam-footer-height, 60px) + var(--spacing-md, 16px));right:var(--spacing-lg, 24px);width:56px;height:56px;border-radius:50%;background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:none;box-shadow:var(--shadow-lg);cursor:pointer;z-index:1003;transition:transform .2s ease-out,background-color .2s;outline:none}.exam-palette-fab:hover{background-color:var(--accent-color-dark);transform:scale(1.05)}.exam-palette-fab:focus-visible{box-shadow:0 0 0 3px var(--accent-color-light)}.exam-screen-loading-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-primary);z-index:2000}.exam-screen-loading-fullscreen p{margin-top:var(--spacing-md);font-size:1.1rem;color:var(--text-secondary)}.exam-screen-loading-fullscreen .loading-spinner.large{width:50px;height:50px;border-width:4px}.exam-view{display:flex;flex-direction:column;align-items:center;flex-grow:1;padding:0;overflow-y:auto;width:100%;box-sizing:border-box}.exam-view .view-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.exam-view-footer{width:100%;padding:var(--spacing-lg) var(--content-padding-x-desktop, var(--spacing-xl));box-sizing:border-box;border-top:1px solid var(--border-primary);background-color:var(--background-secondary);margin-top:auto;flex-shrink:0}.exam-view-footer .btn{flex-grow:1;max-width:calc(50% - (var(--spacing-md) / 2));text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.exam-view-footer .btn:only-child{max-width:250px;flex-grow:0}.exam-main-layout{display:flex;flex-grow:1;overflow:hidden;position:relative;height:calc(100vh - var(--exam-header-height, 56px))}.exam-question-area{flex-grow:1;padding:var(--spacing-lg);overflow-y:auto;background-color:var(--background-primary);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.exam-question-area::-webkit-scrollbar{width:8px}.exam-question-area::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.palette-mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-overlay);z-index:1004}.exam-details-card .summary-item-icon.color-1{color:var(--summary-color-1)}.exam-details-card .summary-item-icon.color-2{color:var(--summary-color-2)}.exam-details-card .summary-item-icon.color-3{color:var(--summary-color-3)}.exam-details-card .summary-item-icon.color-4{color:var(--summary-color-4)}@media (max-width: 768px){.exam-question-area{padding:var(--spacing-md)}.modal-content-box{max-width:90vw;padding:var(--spacing-lg)}.exam-view-footer{padding-left:var(--content-padding-x-mobile, var(--spacing-md));padding-right:var(--content-padding-x-mobile, var(--spacing-md))}.view-footer-buttons-container{flex-direction:row;gap:var(--spacing-sm)}.exam-view-footer .btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}}@media (max-width: 480px){.view-footer-buttons-container{flex-direction:column;gap:var(--spacing-md)}.exam-view-footer .btn{width:100%;max-width:100%}.exam-palette-fab{right:var(--spacing-md, 16px);bottom:calc(var(--exam-footer-height, 70px) + var(--spacing-sm, 8px));width:50px;height:50px;font-size:1.6rem}}.exam-view.details-view{background-color:var(--background-primary);width:100%;height:100%;padding:0}.details-content-card{background-color:var(--background-secondary);width:100%;max-width:var(--view-content-max-width, 900px);margin:var(--spacing-lg) auto;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.details-content-card.loading-placeholder{justify-content:center;align-items:center;text-align:center;padding:var(--spacing-xl)}.details-content-card.loading-placeholder p{color:var(--text-secondary);font-size:1.1rem}.details-scrollable-content{padding:var(--spacing-lg) var(--spacing-xl);overflow-y:auto;flex-grow:1;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.details-scrollable-content::-webkit-scrollbar{width:6px}.details-scrollable-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.details-header{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:rgba(var(--accent-color-rgb, 31, 111, 235),.05);border-radius:var(--border-radius-lg);border:1px solid rgba(var(--accent-color-rgb, 31, 111, 235),.1)}.details-title-main{font-size:1.6rem;margin-bottom:var(--spacing-xs);color:var(--text-primary);font-weight:600;line-height:1.2}.details-type{font-size:.9rem;color:var(--text-secondary);text-transform:capitalize}.details-summary-section{margin-bottom:var(--spacing-xl);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md)}.detail-item{background-color:rgba(var(--item-bg-color-raw),.15);border:1px solid rgba(var(--item-bg-color-raw),.4);color:var(--text-primary);padding:var(--spacing-md);border-radius:var(--border-radius-md);display:flex;align-items:center;text-align:left;box-shadow:none;transition:transform .2s ease-out,background-color .2s ease-out}.detail-item:hover{transform:translateY(-2px);background-color:rgba(var(--item-bg-color-raw),.25)}.detail-icon{font-size:1.2rem;color:rgba(var(--item-bg-color-raw),1);margin-right:var(--spacing-sm);flex-shrink:0}.detail-text-content{display:flex;flex-direction:column}.detail-label{font-size:.75rem;color:var(--text-secondary);font-weight:500;margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.95rem;color:var(--text-primary);font-weight:600}.details-description-section{margin-top:var(--spacing-xl);padding:var(--spacing-lg);border-radius:var(--border-radius-md);background-color:rgba(var(--text-primary-rgb, 201, 209, 217),.03);border:1px solid var(--border-light)}.details-description-section h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-primary);font-weight:600}.exam-description-text{font-size:.9rem;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap}.details-view .view-footer{background-color:var(--background-secondary);border-top:1px solid var(--border-primary);padding:var(--spacing-lg);flex-shrink:0}.details-view .view-footer .btn-back{background-color:var(--background-tertiary);color:var(--text-secondary);border-color:var(--border-primary)}.details-view .view-footer .btn-back:hover{background-color:var(--border-primary);color:var(--text-primary)}@media (max-width: 768px){.details-content-card{margin:var(--spacing-md) var(--spacing-sm);border-radius:var(--border-radius-lg);height:calc(100% - (2 * var(--spacing-md)))}.details-scrollable-content{padding:var(--spacing-lg) var(--spacing-md)}.details-summary-section{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.detail-item{padding:var(--spacing-sm) var(--spacing-md)}.details-description-section,.details-view .view-footer{padding:var(--spacing-md)}}@media (max-width: 480px){.details-title-main{font-size:1.3rem}.details-header{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.details-summary-section{grid-template-columns:1fr;gap:var(--spacing-sm)}.detail-item{flex-direction:row;align-items:center}.detail-icon{margin-bottom:0;margin-right:var(--spacing-sm);font-size:1.1rem}.detail-label{font-size:.7rem}.detail-value{font-size:.9rem}.details-description-section{padding:var(--spacing-md);margin-top:var(--spacing-lg)}.details-description-section h3{font-size:1rem;margin-bottom:var(--spacing-sm)}.exam-description-text{font-size:.85rem}.details-view .view-footer .view-footer-buttons-container{flex-direction:row;gap:var(--spacing-sm)}.details-view .view-footer .btn{font-size:.85rem;width:auto;max-width:calc(50% - (var(--spacing-sm) / 2));flex-grow:1;padding:var(--spacing-sm) var(--spacing-sm)}}.instruction-page-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-primary);box-sizing:border-box;width:100%}.instruction-card-wrapper{flex-grow:1;display:flex;flex-direction:column;width:100%;overflow-y:auto}.instruction-content-card{background-color:var(--background-secondary);width:100%;max-width:var(--view-content-max-width, 900px);margin:var(--spacing-lg) auto;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.instruction-content-card.loading-placeholder{justify-content:center;align-items:center;text-align:center;padding:var(--spacing-xl);min-height:300px}.instruction-content-card.loading-placeholder p{color:var(--text-secondary);font-size:1.1rem}.instruction-scrollable-content{padding:var(--spacing-lg) var(--spacing-xl);overflow-y:auto;flex-grow:1;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.instruction-scrollable-content::-webkit-scrollbar{width:6px}.instruction-scrollable-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:3px}.instruction-card-header{text-align:center;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:rgba(var(--accent-color-rgb, 31, 111, 235),.05);border-radius:var(--border-radius-lg);border:1px solid rgba(var(--accent-color-rgb, 31, 111, 235),.1)}.instruction-exam-title-main{font-size:1.6rem;margin-bottom:0;color:var(--text-primary);font-weight:600;line-height:1.2}.instruction-section{margin-bottom:var(--spacing-lg)}.instruction-section:last-of-type{margin-bottom:0}.instruction-section.exam-sections-info{background-color:rgba(var(--item-bg-color-raw-blue),.15);border:1px solid rgba(var(--item-bg-color-raw-blue),.4);color:var(--text-primary);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-xl)}.instruction-section.exam-sections-info h3{font-size:1.1rem;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(var(--item-bg-color-raw-blue),.5);font-weight:600}.exam-sections-info ul{list-style:none;padding-left:0;margin-bottom:0}.exam-sections-info li{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs);line-height:1.6}.exam-sections-info li strong{color:rgb(var(--item-bg-color-raw-blue));font-weight:500}.exam-sections-info li:last-child{margin-bottom:0}.instructions-body-html .instructions-main-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:var(--spacing-sm)}.instructions-body-html .instructions-main-title svg{font-size:1.2em;color:var(--text-accent)}.instructions-body-html{font-size:.9rem;line-height:1.7;color:var(--text-secondary)}.instructions-body-html p{margin-bottom:var(--spacing-md)}.instructions-body-html>ol{list-style-type:decimal;padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md)}.instructions-body-html>ol>li{margin-bottom:var(--spacing-lg);position:relative}.instructions-body-html>ol>li:last-child{margin-bottom:0}.instructions-body-html>ol>li::marker{font-weight:600;color:var(--text-primary)}.instructions-body-html>ol>li ul{list-style-type:disc;padding-left:var(--spacing-lg);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.instructions-body-html>ol>li ul li{margin-bottom:var(--spacing-xs)}.instructions-body-html strong{color:var(--text-accent);font-weight:600}.instructions-body-html strong.highlight-purple{color:var(--purple-accent-base, #8957e5)}.instructions-body-html strong.highlight-blue{color:var(--accent-color)}.legend-color-box{display:inline-block;width:12px;height:12px;margin-right:var(--spacing-xs);border:1px solid var(--border-primary);vertical-align:middle}.legend-color-box.answered{background-color:var(--palette-green-answered)}.legend-color-box.not-visited{background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border)}.legend-color-box.unanswered{background-color:var(--palette-red-not-answered)}.legend-color-box.marked-review{background-color:var(--palette-purple-marked)}.legend-color-box.current-question{background-color:var(--palette-blue-current)}.agreement-section-instr{margin-top:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md)}.agreement-label-instr{display:flex;align-items:flex-start;font-size:.9rem;color:var(--text-primary);cursor:pointer;line-height:1.6}.agreement-checkbox-instr{margin-right:var(--spacing-sm);margin-top:.25em;accent-color:var(--text-accent);transform:scale(1.2);flex-shrink:0}.agreement-label-instr span{flex-grow:1}.instruction-page-footer.view-footer{background-color:var(--background-secondary);border-top:1px solid var(--border-primary);padding:var(--spacing-lg);flex-shrink:0}.instruction-page-footer .btn-start:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);border-color:var(--button-disabled-border);cursor:not-allowed;opacity:.6}@media (max-width: 768px){.instruction-content-card{margin:var(--spacing-md) var(--spacing-sm);border-radius:var(--border-radius-lg);height:calc(100% - (2 * var(--spacing-md)))}.instruction-scrollable-content{padding:var(--spacing-lg) var(--spacing-md)}.instruction-card-header{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.instruction-exam-title-main{font-size:1.3rem}.instructions-body-html .instructions-main-title{font-size:1.15rem}.instruction-section.exam-sections-info h3{font-size:1rem}.instructions-body-html,.exam-sections-info li,.agreement-label-instr{font-size:.85rem}.instruction-page-footer.view-footer{padding:var(--spacing-md)}}@media (max-width: 480px){.instruction-exam-title-main{font-size:1.2rem}.instructions-body-html .instructions-main-title{font-size:1.05rem}.instruction-section.exam-sections-info h3{font-size:.95rem}.instruction-page-footer .view-footer-buttons-container{flex-direction:row;gap:var(--spacing-sm)}.instruction-page-footer .btn{width:auto;max-width:calc(50% - (var(--spacing-sm) / 2));flex-grow:1;font-size:.85rem;padding:var(--spacing-sm)}}.exam-header-main{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);height:var(--exam-header-height, 56px);background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);box-shadow:var(--shadow-sm);flex-shrink:0;position:sticky;top:0;z-index:1010}.exam-header-left{justify-content:flex-start;gap:var(--spacing-md)}.exam-header-logo{font-size:1.2rem;font-weight:700;color:var(--text-accent);white-space:nowrap}.exam-header-center{flex-grow:1;justify-content:center;overflow:hidden;padding:0 var(--spacing-sm)}.exam-header-right{justify-content:flex-end;gap:var(--spacing-md)}.exam-header-btn{color:var(--text-secondary);font-size:1.3rem;padding:var(--spacing-xs);background-color:transparent;border-radius:var(--border-radius-sm);transition:color .2s,background-color .2s}.exam-header-btn:hover{color:var(--text-accent);background-color:var(--background-hover)}.exam-header-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.exam-header-title-text{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}@media (max-width: 768px){.exam-header-main{height:52px;padding:0 var(--spacing-sm)}.exam-header-group{gap:var(--spacing-xs)}.exam-header-left{gap:var(--spacing-sm)}.exam-header-logo{font-size:1.1rem}.exam-header-right{gap:var(--spacing-sm)}.exam-header-btn{font-size:1.2rem}.exam-header-title-text{font-size:1rem}}@media (max-width: 480px){.exam-header-logo{display:none}.exam-header-left{gap:var(--spacing-xs)}}.exam-palette-container{background-color:var(--palette-bg);color:var(--palette-text-primary);width:var(--sidebar-width);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:width .3s ease-in-out,transform .3s ease-in-out;flex-shrink:0;border-left:1px solid var(--palette-border-color);box-sizing:border-box;position:relative;z-index:100}.palette-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--palette-border-color);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.palette-header h2{color:var(--palette-text-primary);font-size:1.15rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.palette-close-btn-mobile{display:none;background:none;border:none;color:var(--palette-text-secondary);font-size:1.5rem;cursor:pointer;padding:5px}.palette-close-btn-mobile:hover{color:var(--palette-text-primary)}.section-selector-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--palette-border-color);background-color:var(--palette-bg);flex-shrink:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.section-selector-container::-webkit-scrollbar{height:4px}.section-selector-container::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:2px}.section-tab-btn{background-color:transparent;color:var(--palette-text-secondary);border:1px solid var(--palette-border-color);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-xl);font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,opacity .2s;white-space:nowrap;display:inline-flex;align-items:center}.section-tab-btn:hover{opacity:var(--section-tab-hover-opacity);border-color:var(--text-accent)}.section-tab-btn.active{color:var(--section-tab-active-text)!important;font-weight:600;box-shadow:var(--shadow-sm);opacity:1;border-color:transparent}.palette-content{flex-grow:1;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.palette-content::-webkit-scrollbar{width:8px}.palette-content::-webkit-scrollbar-track{background:transparent}.palette-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:var(--spacing-xs)}.question-grid-placeholder{color:var(--palette-text-secondary);font-size:.9rem;text-align:center;padding:var(--spacing-lg) 0}.question-item{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,outline .2s,transform .1s;box-sizing:border-box;border:2px solid transparent;padding:0;margin:0;position:relative}.question-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.question-item:hover{transform:scale(1.05)}.question-item.not-visited:not(.marked-for-review){background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border);color:var(--palette-gray-not-visited-text)}.question-item.answered:not(.marked-for-review){background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border);color:var(--palette-green-answered-text)}.question-item.not-answered-visited:not(.marked-for-review){background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border);color:var(--palette-red-not-answered-text)}.question-item.marked-for-review{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border-color:var(--palette-purple-marked-border)}.question-item.marked-for-review.answered-marked{border-color:var(--palette-green-answered-border)}.question-item.current{background-color:var(--palette-blue-current-bg);color:var(--palette-blue-current-text);border-color:var(--palette-blue-current-border);font-weight:700;box-shadow:0 0 0 2px var(--palette-blue-current-border);transform:scale(1.1)}.question-item.current.marked-for-review{outline:2px dashed var(--palette-purple-marked-border);outline-offset:2px}.question-item.not-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-gray-not-visited-hover-bg)}.question-item.answered:not(.marked-for-review):not(.current):hover{background-color:var(--palette-green-answered-hover-bg)}.question-item.not-answered-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-red-not-answered-hover-bg)}.question-item.marked-for-review:not(.current):hover{background-color:var(--palette-purple-marked-hover-bg);border-color:var(--palette-purple-marked-hover-border)}.question-item.current:hover{opacity:.9}.palette-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--palette-border-color);flex-shrink:0;background-color:var(--palette-bg)}.legend-container{margin-bottom:var(--spacing-md)}.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-xs);font-size:.75rem;color:var(--palette-text-secondary);align-items:center}.legend.legend-second-row{margin-top:var(--spacing-sm)}.legend-item{display:flex;align-items:center;padding:var(--spacing-xs) 0}.color-indicator{width:12px;height:12px;border-radius:3px;margin-right:var(--spacing-sm);display:inline-block;flex-shrink:0;box-sizing:border-box;border:1px solid transparent}.color-indicator.answered-bg{background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border)}.color-indicator.not-answered-bg{background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border)}.color-indicator.not-visited-bg{background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border)}.color-indicator.current-bg{background-color:var(--palette-blue-current-bg);border-color:var(--palette-blue-current-border)}.color-indicator.unanswered-marked-indicator{background-color:var(--palette-purple-marked-bg);border-color:var(--palette-purple-marked-border)}.color-indicator.answered-marked-indicator{background-color:var(--palette-purple-marked-bg);border:2px solid var(--palette-green-answered-border)}.submit-exam-button{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s ease-in-out,transform .15s ease-out;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.submit-exam-button:hover:not(:disabled){background-color:var(--button-primary-hover-bg);transform:translateY(-1px)}.submit-exam-button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;opacity:.7}.loading-spinner-palette{width:1em;height:1em;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.submit-icon-palette{font-size:1.3rem}@media (min-width: 769px){.exam-palette-container.collapsed{width:var(--sidebar-width-collapsed);padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.exam-palette-container.collapsed .palette-header,.exam-palette-container.collapsed .section-selector-container,.exam-palette-container.collapsed .palette-content,.exam-palette-container.collapsed .legend-container{display:none}.exam-palette-container.collapsed .palette-footer{padding:0 var(--spacing-sm)}.exam-palette-container.collapsed .submit-exam-button .submit-text-content{display:none}.exam-palette-container.collapsed .submit-exam-button .loading-spinner-palette,.exam-palette-container.collapsed .submit-exam-button .submit-icon-palette{margin:0 auto;font-size:1.6rem}.exam-palette-container.collapsed .submit-exam-button{padding:var(--spacing-sm) 0}.exam-palette-container .palette-close-btn-mobile{display:none}}@media (max-width: 768px){.exam-palette-container{position:fixed;top:0;left:0;height:100vh;width:clamp(280px,80vw,320px);z-index:1005;transform:translate(-100%);border-radius:0;border-left:none;border-right:1px solid var(--palette-border-color);box-shadow:var(--shadow-lg)}.exam-palette-container.open{transform:translate(0)}.exam-palette-container .palette-close-btn-mobile{display:inline-flex;align-items:center}.palette-header h2{font-size:1.1rem}.section-selector-container{padding:var(--spacing-sm) var(--spacing-md)}.section-tab-btn{font-size:.75rem;padding:var(--spacing-xs) var(--spacing-sm)}.question-item{width:36px;height:36px;font-size:.85rem}.legend{font-size:.7rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.submit-exam-button{font-size:.9rem;padding:var(--spacing-sm)}.palette-footer{position:sticky;bottom:0;background-color:var(--palette-bg);z-index:1}}@media (max-width: 480px){.section-selector-container{gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.section-tab-btn{font-size:.7rem}.legend{grid-template-columns:1fr}}.question-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.question-card-number{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-right:var(--spacing-md);flex-shrink:0}.question-header-meta-right{display:flex;align-items:baseline;gap:var(--spacing-md);margin-left:auto;flex-shrink:0}.question-card-marks-box{font-size:.8rem;color:var(--text-secondary);background-color:var(--background-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);white-space:nowrap;border:1px solid var(--border-primary)}.question-timer-display{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem;font-weight:600;font-family:var(--font-family-monospace);color:var(--timer-text-color, var(--text-primary));background-color:var(--timer-bg, var(--background-tertiary));padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);min-width:90px;text-align:center;border:1px solid var(--timer-border-color, var(--border-primary));box-shadow:var(--shadow-xs)}.question-timer-icon{font-size:1.1em;color:var(--text-accent)}@media (max-width: 768px){.question-content-wrapper{padding:var(--spacing-sm) 0}.question-card-header{flex-wrap:wrap;gap:var(--spacing-sm)}.question-card-number{margin-right:0;flex-basis:auto}.question-header-meta-right{flex-basis:100%;justify-content:flex-end;gap:var(--spacing-sm);margin-left:0}.question-card-marks-box{margin-left:0;margin-right:0}.question-timer-display{font-size:.85rem;padding:var(--spacing-xs);min-width:80px}.question-options-container{padding:var(--spacing-md)}.question-card-content{font-size:.95rem;margin-bottom:var(--spacing-lg)}.question-option-item{padding:var(--spacing-sm) var(--spacing-md)}.option-indicator{width:18px;height:18px;margin-right:var(--spacing-sm)}.option-item-text{font-size:.9rem}.question-input{padding:var(--spacing-sm);font-size:.9rem}textarea.descriptive-input{min-height:100px}.question-card-actions{gap:var(--spacing-md);justify-content:space-between}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:130px}.question-feedback-section{justify-content:space-between}.feedback-message{text-align:left;margin-bottom:0;flex-basis:60%}.feedback-buttons-container{margin-bottom:0;margin-left:0}}@media (max-width: 480px){.question-card-header{gap:var(--spacing-xs)}.question-header-meta-right{justify-content:flex-start;margin-top:var(--spacing-xs)}.question-card-actions{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:var(--spacing-sm)}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);font-size:.85rem}.question-card-actions .btn svg{margin-right:var(--spacing-xs);font-size:1em}.feedback-btn{font-size:1rem;padding:var(--spacing-xs)}.question-feedback-section{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.feedback-message{text-align:center;width:100%}.feedback-buttons-container{margin-left:0}}.exam-main-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);height:60px;background-color:var(--background-secondary);border-top:1px solid var(--border-primary);box-shadow:var(--shadow-md);flex-shrink:0;z-index:1010}.exam-footer-progress{font-size:.9rem;color:var(--text-secondary);text-align:center;flex-grow:1;padding:0 var(--spacing-md);white-space:nowrap}@media (max-width: 768px){.exam-main-footer{height:auto;padding:var(--spacing-md);flex-wrap:nowrap;gap:var(--spacing-md)}.footer-nav-btn.prev-btn,.footer-nav-btn.next-btn{flex-grow:1;flex-basis:0;justify-content:center;min-width:100px}.exam-footer-progress,.exam-main-footer.palette-open .footer-nav-btn.prev-btn,.exam-main-footer.palette-open .footer-nav-btn.next-btn{display:none}.exam-screen-container .exam-main-footer.palette-open{display:none!important;z-index:1000}}@media (max-width: 480px){.exam-main-footer{gap:var(--spacing-sm);padding:var(--spacing-sm)}.footer-nav-btn{font-size:.85rem;padding:var(--spacing-sm)}}.pause-modal-specific-content{max-width:480px}.modal-main-icon.pause-icon{color:var(--warning-color);margin-bottom:var(--spacing-lg)}.pause-modal-summary{background-color:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);text-align:left}.pause-modal-summary h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.pause-modal-summary p{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center}.pause-modal-summary p strong{color:var(--text-primary);font-weight:500}.pause-modal-summary p span{font-weight:600;color:var(--text-primary)}@media (max-width: 480px){.pause-modal-specific-content{padding:var(--spacing-lg)}.pause-modal-summary{padding:var(--spacing-md)}.pause-modal-summary h3{font-size:1rem}.pause-modal-summary p{font-size:.9rem}.modal-view-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.modal-view-actions .btn{width:100%}}.submit-confirm-modal-specific-content{max-width:360px;width:calc(100% - (2 * var(--spacing-md)));margin-left:auto;margin-right:auto;padding:var(--spacing-lg);text-align:center}.submit-confirm-modal-specific-content .modal-view-title{font-size:1.1rem;color:var(--text-primary);font-weight:600;line-height:1.3;text-align:left}.submit-confirm-modal-specific-content .modal-view-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.5}.submit-modal-summary{background-color:var(--background-tertiary);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:left;box-shadow:var(--shadow-xs)}.submit-modal-summary h3{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-primary)}.submit-modal-summary p{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs);display:flex;justify-content:space-between;align-items:center}.submit-modal-summary p strong{color:var(--text-primary);font-weight:500}.submit-modal-summary p span.value-status{font-weight:700;padding:3px 7px;border-radius:var(--border-radius-pill);font-size:.75rem;min-width:26px;text-align:center;line-height:1}.submit-modal-summary p span.value-total{background-color:var(--background-modifier-accent);color:var(--text-primary)}.submit-modal-summary p span.value-attempted{background-color:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border, var(--success-color))}.submit-modal-summary p span.value-marked{background-color:var(--info-bg, #e0f2fe);color:var(--info-color, #0ea5e9);border:1px solid var(--info-border, var(--info-color))}.submit-modal-summary p span.value-unattempted{background-color:var(--background-primary);color:var(--text-secondary);border:1px solid var(--border-secondary)}.submit-modal-summary p span.value-unattempted.has-unattempted{background-color:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border, var(--warning-color))}.modal-view-actions.confirm-submit-actions .btn-danger .loading-spinner.small{width:.8em;height:.8em;margin-right:calc(var(--spacing-xs) / 2)}@media (max-width: 320px){.submit-confirm-modal-specific-content{padding:var(--spacing-sm)}.modal-view-actions.confirm-submit-actions .btn{font-size:.75rem;padding:var(--spacing-xs) calc(var(--spacing-xs) / 3)}.modal-view-actions.confirm-submit-actions .btn svg{margin-right:calc(var(--spacing-xs) / 3)}.modal-main-icon.warning-icon{font-size:1.5rem}.submit-confirm-modal-specific-content .modal-view-title{font-size:1rem}.submit-confirm-modal-specific-content .modal-view-subtitle{font-size:.75rem}}.submitted-final-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:var(--spacing-md)}.submitted-final-view .final-card-content{text-align:center;padding:var(--spacing-lg);max-width:400px;width:100%;box-shadow:var(--shadow-lg);border-radius:var(--border-radius-lg);background:var(--background-secondary);border:1px solid var(--border-primary);margin-bottom:var(--spacing-xl)}.submitted-final-view .view-title{font-size:1.75rem;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-primary)}.submitted-final-view .modal-view-subtitle{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6;max-width:360px;margin-left:auto;margin-right:auto}.final-submission-summary{padding:var(--spacing-md);background-color:var(--background-tertiary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);text-align:left;margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-xs-inset)}.final-submission-summary h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-primary);text-align:center}.final-submission-summary p{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xxs) 0}.final-submission-summary p strong{color:var(--text-primary);font-weight:500}.final-submission-summary p span{font-weight:600;color:var(--text-primary);background-color:var(--background-primary);padding:3px 7px;border-radius:var(--border-radius-sm);border:1px solid var(--border-secondary);font-size:.85rem}.submitted-view-actions .btn-lg svg{font-size:1.1em}@media (max-width: 420px){.submitted-final-view .final-card-content{padding:var(--spacing-md);max-width:calc(100% - (2 * var(--spacing-sm)))}.submitted-view-actions{gap:var(--spacing-sm);max-width:calc(100% - (2 * var(--spacing-sm)))}.submitted-view-actions .btn-lg{font-size:.85rem;padding:var(--spacing-sm) var(--spacing-xs)}.modal-main-icon.success-icon{font-size:3.5rem}.submitted-final-view .view-title{font-size:1.5rem}.submitted-final-view .modal-view-subtitle{font-size:.9rem}.final-submission-summary h3{font-size:.95rem}.final-submission-summary p{font-size:.85rem}}@media (max-width: 360px){.submitted-view-actions .btn-lg{font-size:.8rem}.submitted-view-actions .btn-lg svg{font-size:1em;margin-right:4px!important;margin-left:4px!important}.final-submission-summary p span{font-size:.8rem;padding:2px 5px}}.list-page-container.modern-dark-theme.exam-list-page-styles.pyq-list-page{background-color:var(--background-primary);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-family-sans)}.exam-list-page-header-area{padding:var(--spacing-lg) var(--content-padding-x-desktop, var(--spacing-xl));background-color:transparent;border-bottom:none;text-align:center;margin-bottom:var(--spacing-sm)}.exam-list-main-title{font-size:1.6rem;font-weight:600;color:var(--text-primary);margin:0}.exam-list-page-combined-header.pyq-filter-header{padding:0 var(--content-padding-x-desktop, var(--spacing-sm));background-color:var(--background-primary);position:sticky;top:0;z-index:990;margin-bottom:var(--spacing-lg)}.pyq-filter-row{display:flex;align-items:center;gap:var(--spacing-md);max-width:var(--max-content-width, 1200px);margin:0 auto;width:100%;background-color:var(--background-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap}.btn-back-icon{background:none;border:none;color:var(--text-secondary);font-size:1.3rem;padding:var(--spacing-sm);cursor:pointer;border-radius:var(--border-radius-sm);transition:background-color .2s,color .2s,border-color .2s;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border-primary);height:40px;width:40px;box-sizing:border-box}.btn-back-icon:hover{background-color:var(--background-tertiary);color:var(--text-accent);border-color:var(--text-accent)}.exam-list-page-category-dropdown{padding:.5rem 2.2rem .5rem .9rem;font-size:var(--font-size-base, 1rem);font-weight:500;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);background-image:var(--form-select-arrow-light);background-repeat:no-repeat;background-position:right .9rem center;background-size:12px 9px;border:1px solid var(--input-border);border-radius:var(--border-radius-md);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;height:40px;min-width:120px;box-sizing:border-box;flex-grow:1;flex-shrink:1;flex-basis:calc(50% - var(--spacing-md) / 2 - 20px)}.exam-list-page-category-dropdown.chapter-filter-dropdown-pyq{flex-basis:100%;margin-top:var(--spacing-md)}:root.dark-mode .exam-list-page-category-dropdown{background-image:var(--form-select-arrow-dark)}.exam-list-page-category-dropdown:focus{border-color:var(--input-focus-border);outline:0;box-shadow:var(--input-focus-shadow)}.exam-list-page-category-dropdown:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed}.exam-list-page-category-dropdown option{font-weight:400;background-color:var(--background-primary);color:var(--text-primary)}.loading-indicator,.error-message,.no-items-message,.info-message{text-align:center;padding:var(--spacing-xl) var(--spacing-md);margin-top:var(--spacing-lg);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);flex-grow:1;justify-content:center}.loading-indicator .loading-spinner-icon{font-size:2.5rem;color:var(--text-accent);animation:spin 1s linear infinite}.error-message{color:var(--danger-color);background-color:var(--danger-bg-light, var(--danger-bg));padding:var(--spacing-lg);border-radius:var(--border-radius-md);border:1px solid var(--danger-border);max-width:600px;margin-left:auto;margin-right:auto}.no-items-message,.info-message{background-color:var(--background-secondary);padding:var(--spacing-lg);border-radius:var(--border-radius-md);max-width:600px;margin-left:auto;margin-right:auto}.error-message p,.no-items-message p,.info-message p{font-size:1rem;line-height:1.6;margin:0}.error-message svg,.no-items-message svg,.info-message svg{margin-bottom:var(--spacing-xs);font-size:1.8rem}.error-message button{margin-top:var(--spacing-md)}.item-list-wrapper{padding:0 var(--content-padding-x-desktop, var(--spacing-xl)) var(--spacing-lg);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:var(--spacing-lg);flex-grow:1;max-width:var(--max-content-width, 1400px);width:100%;margin:0 auto;box-sizing:border-box}.exam-list-card-v2.pyq-card{background-color:var(--card-bg, var(--background-secondary));border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light, var(--border-primary));padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);transition:transform .2s ease-out,box-shadow .2s ease-out,opacity .2s ease-out;position:relative;cursor:pointer}.exam-list-card-v2.pyq-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.pyq-card.locked-content{opacity:.65}.pyq-card.locked-content:hover{opacity:.8;transform:translateY(-1px)}.card-row-meta-v2{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-tertiary, var(--text-secondary));gap:var(--spacing-sm)}.meta-left-group{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:nowrap}.badges-container{display:flex;gap:var(--spacing-xs);align-items:center}.exam-access-badge-v2{padding:4px 10px;border-radius:var(--border-radius-sm);font-weight:500;display:inline-flex;align-items:center;gap:5px;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.exam-access-badge-v2 .badge-icon{font-size:1em}.exam-access-badge-v2.free-badge{background-color:var(--success-bg-light, rgba(39, 174, 96, .1));color:var(--badge-free-text-color, var(--success-color));border:1px solid var(--success-border-light, var(--badge-free-text-color, var(--success-color)))}.exam-access-badge-v2.pro-badge{background-color:var(--warning-bg-light, rgba(230, 126, 34, .1));color:var(--badge-pro-text-color, var(--warning-color));border:1px solid var(--warning-border-light, var(--badge-pro-text-color, var(--warning-color)))}.exam-access-badge-v2.institute-badge{background-color:var(--purple-accent-light, rgba(124, 58, 237, .1));color:var(--purple-accent-base, #7C3AED);border:1px solid var(--purple-accent-base, #7C3AED)}.exam-access-badge-v2.locked-badge{background-color:var(--background-tertiary);color:var(--text-placeholder);border:1px solid var(--text-placeholder)}.meta-items-group{display:flex;gap:var(--spacing-sm);align-items:center}.meta-item-v2.questions{display:inline-flex;align-items:center;gap:5px;font-size:.85rem}.meta-item-v2.year-tag{font-weight:500;color:var(--text-secondary);background-color:var(--background-tertiary);padding:3px 8px;border-radius:var(--border-radius-sm);border:1px solid var(--border-primary)}.pyq-status-indicator{font-size:.8rem;color:var(--text-secondary);text-align:right;font-style:italic;white-space:nowrap}.pyq-status-indicator .status-text{font-weight:500}.pyq-status-indicator .status-completed{color:var(--success-color)}.pyq-status-indicator .status-inprogress{color:var(--warning-color)}.pyq-status-indicator .status-abandoned,.pyq-status-indicator .status-failed{color:var(--danger-color)}.card-row-main-v2{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-grow:1}.card-title-v2{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex-grow:1;margin-right:var(--spacing-md)}.card-action-area-v2{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;flex-shrink:0;justify-content:flex-end}.pyq-card .btn-exam-action{padding:.5rem 1rem;font-size:.9rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .15s;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;min-width:100px;text-align:center;white-space:nowrap;line-height:1.5;box-sizing:border-box;flex-grow:0;flex-shrink:0}.pyq-card .btn-exam-action svg{margin-right:.4em}.pyq-card .btn-exam-action:hover:not(:disabled){transform:translateY(-2px);filter:brightness(95%)}.pyq-card .btn-exam-action:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:grayscale(50%)}.pyq-card .btn-start{background-color:var(--button-modern-start-bg);color:var(--button-modern-start-text);border-color:var(--button-modern-start-bg)}.pyq-card .btn-resume{background-color:var(--button-modern-resume-bg);color:var(--button-modern-resume-text);border-color:var(--button-modern-resume-bg)}.pyq-card .btn-solution{background-color:var(--button-modern-solution-bg);color:var(--button-modern-solution-text);border-color:var(--button-modern-solution-bg)}.pyq-card .btn-reattempt{background-color:var(--button-modern-reattempt-bg);color:var(--button-modern-reattempt-text);border-color:var(--button-modern-reattempt-bg)}.pyq-card .btn-locked{background-color:var(--button-secondary-bg, #6c757d);color:var(--button-secondary-text, #ffffff);border-color:var(--button-secondary-bg, #6c757d)}.pyq-card .btn-locked:hover{background-color:var(--button-secondary-hover-bg, #5a6268);border-color:var(--button-secondary-hover-bg, #5a6268)}@media (min-width: 769px){.pyq-filter-row{flex-wrap:nowrap;overflow-x:auto}.exam-list-page-category-dropdown{flex-basis:0;min-width:150px}.exam-list-page-category-dropdown.chapter-filter-dropdown-pyq{margin-top:0}.item-list-wrapper{padding:var(--spacing-lg) var(--content-padding-x-desktop, var(--spacing-xl))}.card-row-main-v2{flex-direction:row}.card-title-v2{text-align:left}.card-action-area-v2{width:auto;justify-content:flex-end;margin-top:0}.pyq-card .btn-exam-action{flex-grow:0}}@media (max-width: 768px){.exam-list-page-category-dropdown{font-size:var(--font-size-input-mobile, .95rem)}.item-list-wrapper{padding:var(--spacing-lg) var(--spacing-md);grid-template-columns:1fr}.card-row-main-v2{flex-direction:column;align-items:stretch}.card-title-v2{margin-right:0;width:100%;text-align:left;font-size:1.1rem}.card-action-area-v2{width:100%;justify-content:flex-start;margin-top:var(--spacing-sm);gap:var(--spacing-xs)}.pyq-card .btn-exam-action{flex-grow:1;font-size:var(--font-size-sm, .875rem);padding:var(--spacing-xs) var(--spacing-sm);min-width:80px}.pyq-card .btn-exam-action:only-child{flex-grow:0;max-width:200px}}@media (max-width: 480px){.exam-list-page-combined-header.pyq-filter-header{padding:0 var(--spacing-xs)}.pyq-filter-row{gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.btn-back-icon{font-size:1.2rem;padding:var(--spacing-sm);height:38px;width:38px}exam-list-page-category-dropdown{font-size:var(--font-size-sm, .875rem);padding:.5rem 1.8rem .5rem .7rem;height:38px;min-width:100px}.exam-list-page-category-dropdown:not(.chapter-filter-dropdown-pyq){flex-basis:calc(50% - var(--spacing-sm)/2 - 20px)}.exam-list-page-category-dropdown.chapter-filter-dropdown-pyq{flex-basis:100%;margin-top:var(--spacing-sm)}.exam-list-main-title{font-size:1.4rem}.item-list-wrapper{padding:var(--spacing-md) var(--spacing-sm)}.exam-list-card-v2.pyq-card{padding:var(--spacing-md)}.card-row-meta-v2 .meta-items-group .questions{display:none}.card-row-meta-v2{font-size:.75rem}.exam-access-badge-v2{font-size:.7rem;padding:3px 6px}.meta-item-v2.year-tag{font-size:.7rem;padding:2px 5px}.pyq-status-indicator{font-size:.75rem}.card-title-v2{font-size:1rem}.card-action-area-v2{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:var(--spacing-sm)}.pyq-card .btn-exam-action{flex-grow:1;flex-shrink:1;flex-basis:auto;padding:6px 8px;font-size:.8rem;line-height:1.4;min-height:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;text-align:center;display:inline-block}.card-action-area-v2 .btn-exam-action:only-child{flex-basis:100%;flex-grow:0}}.exam-header-main{display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-md);height:var(--session-header-height, 56px);background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);color:var(--text-primary);flex-shrink:0;position:relative;z-index:1001}.exam-header-group{display:flex;align-items:center;gap:var(--spacing-sm)}.exam-header-left{justify-content:flex-start}.exam-header-center{flex-grow:1;justify-content:center;text-align:center;overflow:hidden}.exam-header-right{justify-content:flex-end}.exam-header-logo{font-size:1.2rem;font-weight:700;color:var(--text-accent);text-decoration:none;white-space:nowrap}.exam-header-title-text{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-header-btn{background-color:transparent;color:var(--text-secondary);border:none;padding:var(--spacing-sm);border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;transition:background-color .2s,color .2s}.exam-header-btn:hover:not(:disabled){background-color:var(--background-hover);color:var(--text-primary)}.exam-header-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.exam-header-main{padding:0 var(--spacing-sm);height:var(--session-header-height-mobile, 50px)}.exam-header-title-text{font-size:.9rem}.exam-header-logo{font-size:1rem}.exam-header-btn{font-size:1.2rem;padding:var(--spacing-xs)}}@media (max-width: 480px){.pyq-header-main .exam-header-center{flex-grow:2}}.exam-palette-container.pyq-palette-container{background-color:var(--palette-bg);color:var(--palette-text-primary);width:var(--sidebar-width);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:width .3s ease-in-out,transform .3s ease-in-out;flex-shrink:0;border-left:1px solid var(--palette-border-color);box-sizing:border-box;position:relative;z-index:100}.pyq-palette-container .palette-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--palette-border-color);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.pyq-palette-container .palette-header h2{color:var(--palette-text-primary);font-size:1.15rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pyq-palette-close-btn-mobile{display:none;background:none;border:none;color:var(--palette-text-secondary);font-size:1.5rem;cursor:pointer;padding:5px}.pyq-palette-close-btn-mobile:hover{color:var(--palette-text-primary)}.pyq-palette-container .palette-content{flex-grow:1;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.pyq-palette-container .palette-content::-webkit-scrollbar{width:8px}.pyq-palette-container .palette-content::-webkit-scrollbar-track{background:transparent}.pyq-palette-container .palette-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.pyq-palette-container .question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:var(--spacing-xs)}.pyq-palette-container .question-grid-placeholder{color:var(--palette-text-secondary);font-size:.9rem;text-align:center;padding:var(--spacing-lg) 0}.pyq-palette-container .question-item{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-sizing:border-box;border:2px solid transparent;padding:0;margin:0;position:relative}.pyq-palette-container .question-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.pyq-palette-container .question-item:hover{transform:scale(1.05)}.pyq-palette-container .question-item.not-visited:not(.marked-for-review){background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border);color:var(--palette-gray-not-visited-text)}.pyq-palette-container .question-item.answered:not(.marked-for-review){background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border);color:var(--palette-green-answered-text)}.pyq-palette-container .question-item.not-answered-visited:not(.marked-for-review){background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border);color:var(--palette-red-not-answered-text)}.pyq-palette-container .question-item.marked-for-review{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border-color:var(--palette-purple-marked-border)}.pyq-palette-container .question-item.answered-marked{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border:2px solid var(--palette-green-answered-border)}.pyq-palette-container .question-item.current{background-color:var(--palette-blue-current-bg);color:var(--palette-blue-current-text);border-color:var(--palette-blue-current-border);font-weight:700;box-shadow:0 0 0 2px var(--palette-blue-current-border);transform:scale(1.1)}.pyq-palette-container .question-item.current.marked-for-review{outline:2px dashed var(--palette-purple-marked-border);outline-offset:2px}.pyq-palette-container .question-item.not-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-gray-not-visited-hover-bg)}.pyq-palette-container .question-item.answered:not(.marked-for-review):not(.current):hover{background-color:var(--palette-green-answered-hover-bg)}.pyq-palette-container .question-item.not-answered-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-red-not-answered-hover-bg)}.pyq-palette-container .question-item.marked-for-review:not(.current):hover{background-color:var(--palette-purple-marked-hover-bg);border-color:var(--palette-purple-marked-hover-border)}.pyq-palette-container .question-item.current:hover{opacity:.9}.pyq-palette-container .palette-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--palette-border-color);flex-shrink:0;background-color:var(--palette-bg)}.pyq-palette-container .legend-container{margin-bottom:var(--spacing-md)}.pyq-palette-container .legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-xs);font-size:.75rem;color:var(--palette-text-secondary);align-items:center}.pyq-palette-container .legend.legend-second-row{margin-top:var(--spacing-sm)}.pyq-palette-container .legend-item{display:flex;align-items:center;padding:var(--spacing-xs) 0}.pyq-palette-container .color-indicator{width:12px;height:12px;border-radius:3px;margin-right:var(--spacing-sm);display:inline-block;flex-shrink:0;box-sizing:border-box;border:1px solid transparent}.pyq-palette-container .color-indicator.answered-bg{background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border)}.pyq-palette-container .color-indicator.not-answered-bg{background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border)}.pyq-palette-container .color-indicator.not-visited-bg{background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border)}.pyq-palette-container .color-indicator.current-bg{background-color:var(--palette-blue-current-bg);border-color:var(--palette-blue-current-border)}.pyq-palette-container .color-indicator.unanswered-marked-indicator{background-color:var(--palette-purple-marked-bg);border-color:var(--palette-purple-marked-border)}.pyq-palette-container .color-indicator.answered-marked-indicator{background-color:var(--palette-purple-marked-bg);border:2px solid var(--palette-green-answered-border)}.pyq-palette-container .submit-exam-button{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s ease-in-out,transform .15s ease-out;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.pyq-palette-container .submit-exam-button:hover:not(:disabled){background-color:var(--button-primary-hover-bg);transform:translateY(-1px)}.pyq-palette-container .submit-exam-button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;opacity:.7}.pyq-palette-container .loading-spinner-palette{width:1em;height:1em;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.pyq-palette-container .submit-icon-palette{font-size:1.3rem}@media (min-width: 769px){.exam-palette-container.pyq-palette-container.collapsed{width:var(--sidebar-width-collapsed, 60px)}.exam-palette-container.pyq-palette-container.collapsed .palette-header h2,.exam-palette-container.pyq-palette-container.collapsed .palette-content,.exam-palette-container.pyq-palette-container.collapsed .legend-container{display:none}.exam-palette-container.pyq-palette-container.collapsed .palette-footer{padding:var(--spacing-md) var(--spacing-sm)}.exam-palette-container.pyq-palette-container.collapsed .submit-exam-button span{display:none}.exam-palette-container.pyq-palette-container.collapsed .submit-exam-button .loading-spinner-palette,.exam-palette-container.pyq-palette-container.collapsed .submit-exam-button .submit-icon-palette{margin:0 auto;font-size:1.6rem}.exam-palette-container.pyq-palette-container.collapsed .submit-exam-button{padding:var(--spacing-sm) 0}.exam-palette-container.pyq-palette-container.collapsed .pyq-palette-close-btn-mobile{display:none}}@media (max-width: 768px){.exam-palette-container.pyq-palette-container{position:fixed;top:0;left:0;height:100vh;width:clamp(280px,80vw,320px);transform:translate(-100%);z-index:1005;border-left:none;border-right:1px solid var(--palette-border-color)}.exam-palette-container.pyq-palette-container.open{transform:translate(0)}.pyq-palette-container .pyq-palette-close-btn-mobile{display:inline-flex;align-items:center}.pyq-palette-container .palette-footer{position:sticky;bottom:0;z-index:1;width:100%;box-sizing:border-box}}.question-card-number{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-right:auto}.question-card-content{font-size:1.4rem;line-height:1.7;color:var(--text-primary);word-wrap:break-word;font-weight:600}.option-item-text{flex-grow:1;line-height:1.6;color:var(--text-primary);word-wrap:break-word;font-size:1rem;font-weight:400}.question-input{width:100%;padding:var(--spacing-md);font-size:1.1rem;border:1px solid var(--input-border);border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--input-text);transition:border-color .2s ease,box-shadow .2s ease;font-family:var(--font-family-sans)}.question-card-actions .btn{font-size:var(--font-size-base, 1rem);padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;min-width:160px;justify-content:center;flex-grow:0;flex-shrink:0}.question-feedback-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-light);display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.feedback-buttons-container{display:flex;gap:var(--spacing-sm);margin-left:auto}.feedback-btn{font-size:1.1rem;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);border:1px solid var(--border-primary);background-color:transparent;color:var(--text-secondary);transition:all .2s ease;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.feedback-btn:not(.disabled):hover{background-color:var(--background-hover);border-color:var(--accent-color-light)}.feedback-btn.thumbs-up:not(.disabled):hover{color:var(--success-color)}.feedback-btn.thumbs-down:not(.disabled):hover{color:var(--danger-color)}.feedback-btn.selected{border-width:2px;box-shadow:var(--shadow-sm)}.feedback-btn.thumbs-up.selected{color:var(--success-color);border-color:var(--success-color);background-color:var(--success-bg)}.feedback-btn.thumbs-down.selected{color:var(--danger-color);border-color:var(--danger-color);background-color:var(--danger-bg)}.feedback-btn.disabled{opacity:.6;cursor:not-allowed}.feedback-btn.disabled:not(.selected){color:var(--text-disabled);border-color:var(--border-secondary)}.feedback-message{font-size:.8rem;color:var(--text-secondary);text-align:left;margin:0}.feedback-message.success{color:var(--success-color)}.feedback-message.error{color:var(--danger-color)}@media (max-width: 768px){.question-content-wrapper{padding:var(--spacing-sm) 0}.question-card-header{padding-right:0;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.question-card-number{font-size:1.2rem;margin-right:0}.question-options-container{padding:var(--spacing-md)}.question-card-content{font-size:1.3rem;margin-bottom:var(--spacing-lg)}.question-option-item{padding:var(--spacing-sm) var(--spacing-md)}.option-indicator{width:18px;height:18px;margin-right:var(--spacing-sm)}.option-item-text{font-size:var(--font-size-text-mobile, .9rem)}.question-input{padding:var(--spacing-sm);font-size:1rem}textarea.descriptive-input{min-height:100px}.question-card-actions{gap:var(--spacing-md);justify-content:space-between;flex-wrap:nowrap}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:130px;font-size:var(--font-size-button-mobile, .95rem)}.question-feedback-section{justify-content:space-between}.feedback-message{text-align:left;margin-bottom:0;flex-basis:60%}.feedback-buttons-container{margin-bottom:0;margin-left:0}}@media (max-width: 480px){.question-card-header{gap:var(--spacing-xs)}@media (max-width: 480px) and (orientation: portrait){.question-card-header{flex-direction:column;align-items:flex-start}}.question-card-number{font-size:1.15rem}.question-input{padding:var(--spacing-sm);font-size:.95rem}.question-card-content{font-size:1.25rem;margin-bottom:var(--spacing-lg)}.question-card-actions{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:var(--spacing-sm)}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-button-mobile, .925rem)}.question-card-actions .btn svg{margin-right:var(--spacing-xs);font-size:1em}.feedback-btn{font-size:1rem;padding:var(--spacing-xs)}.question-feedback-section{flex-direction:column;align-items:center;gap:var(--spacing-sm)}.feedback-message{text-align:center;width:100%}.feedback-buttons-container{margin-left:0}.option-item-text{font-size:var(--font-size-text-mobile, .875rem)}}:root{--session-footer-height-desktop: 60px;--session-footer-height-mobile: 70px}.exam-main-footer.pyq-session-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);height:var(--session-footer-height-desktop);background-color:var(--background-secondary);border-top:1px solid var(--border-primary);box-shadow:var(--shadow-md- ऊपर);flex-shrink:0;z-index:1000;transition:opacity .3s ease-in-out,visibility .3s ease-in-out,height .3s ease-in-out}.pyq-footer-progress{font-size:.9rem;color:var(--text-secondary);text-align:center;flex-grow:1;padding:0 var(--spacing-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.exam-main-footer.pyq-session-footer{height:auto;min-height:var(--session-footer-height-mobile);padding:var(--spacing-md);flex-wrap:nowrap;gap:var(--spacing-md)}.footer-nav-btn.prev-btn,.footer-nav-btn.next-btn{flex-grow:1;flex-basis:0;justify-content:center;min-width:100px}.pyq-footer-progress{display:none}}@media (max-width: 480px){.exam-main-footer.pyq-session-footer{gap:var(--spacing-sm);padding:var(--spacing-sm);min-height:calc(var(--session-footer-height-mobile) - 10px)}.footer-nav-btn{font-size:.85rem;padding:var(--spacing-sm);min-width:80px}}.pause-modal-specific-content.pyq-pause-modal-content{max-width:480px}.modal-view-title{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.modal-view-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.pause-modal-summary.pyq-pause-summary{background-color:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);text-align:left}.pyq-pause-summary h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.pyq-pause-summary p{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center}.pyq-pause-summary p strong{color:var(--text-primary);font-weight:500}.pyq-pause-summary p span{font-weight:600;color:var(--text-primary)}@media (max-width: 480px){.pause-modal-specific-content.pyq-pause-modal-content{padding:var(--spacing-lg)}.pyq-pause-summary{padding:var(--spacing-md)}.pyq-pause-summary h3{font-size:1rem}.pyq-pause-summary p{font-size:.9rem}.modal-view-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.modal-view-actions .btn{width:100%;min-width:auto}}.submit-confirm-modal-specific-content.pyq-submit-confirm-content{max-width:360px;width:calc(100% - (2 * var(--spacing-md)));margin-left:auto;margin-right:auto;padding:var(--spacing-lg);text-align:center}.submit-confirm-modal-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.modal-main-icon.warning-icon{color:var(--warning-color);font-size:1.7rem;flex-shrink:0}.pyq-submit-confirm-content .modal-view-title{font-size:1.1rem;color:var(--text-primary);font-weight:600;line-height:1.3;text-align:left}.pyq-submit-confirm-content .modal-view-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.5}.submit-modal-summary.pyq-submit-summary{background-color:var(--background-tertiary);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:left;box-shadow:var(--shadow-xs)}.pyq-submit-summary h3{font-size:.9rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-primary)}.pyq-submit-summary p{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--spacing-xs);display:flex;justify-content:space-between;align-items:center}.pyq-submit-summary p strong{color:var(--text-primary);font-weight:500}.pyq-submit-summary p span.value-status{font-weight:700;padding:3px 7px;border-radius:var(--border-radius-pill);font-size:.75rem;min-width:26px;text-align:center;line-height:1}.pyq-submit-summary p span.value-total{background-color:var(--background-modifier-accent);color:var(--text-primary)}.pyq-submit-summary p span.value-attempted{background-color:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border, var(--success-color))}.pyq-submit-summary p span.value-marked{background-color:var(--info-bg, #e0f2fe);color:var(--info-color, #0ea5e9);border:1px solid var(--info-border, var(--info-color))}.pyq-submit-summary p span.value-unattempted{background-color:var(--background-primary);color:var(--text-secondary);border:1px solid var(--border-secondary)}.pyq-submit-summary p span.value-unattempted.has-unattempted{background-color:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border, var(--warning-color))}.modal-view-actions.confirm-submit-actions{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.modal-view-actions.confirm-submit-actions .btn{padding:var(--spacing-sm) var(--spacing-xs);font-size:.8rem;font-weight:500;border-radius:var(--border-radius-md);transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease;flex-grow:1;flex-shrink:1;flex-basis:0%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;justify-content:center}.modal-view-actions.confirm-submit-actions .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-view-actions.confirm-submit-actions .btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.modal-view-actions.confirm-submit-actions .btn.btn-danger{background-color:var(--danger-color);color:var(--text-on-danger, #fff);border:1px solid var(--danger-color)}.modal-view-actions.confirm-submit-actions .btn.btn-danger:hover:not(:disabled){background-color:var(--danger-hover-color, #c81e1e);border-color:var(--danger-hover-color, #c81e1e)}.modal-view-actions.confirm-submit-actions .btn.btn-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border, var(--border-primary))}.modal-view-actions.confirm-submit-actions .btn.btn-secondary:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);border-color:var(--button-secondary-hover-border, var(--border-secondary))}.modal-view-actions.confirm-submit-actions .btn-danger .loading-spinner.small{width:.8em;height:.8em;margin-right:calc(var(--spacing-xs) / 2);border-color:currentColor;border-left-color:transparent}.modal-view-actions.confirm-submit-actions .btn svg{margin-right:calc(var(--spacing-xs) / 2);vertical-align:middle;font-size:1em;flex-shrink:0}@media (max-width: 320px){.submit-confirm-modal-specific-content.pyq-submit-confirm-content{padding:var(--spacing-sm)}.modal-view-actions.confirm-submit-actions .btn{font-size:.75rem;padding:var(--spacing-xs) calc(var(--spacing-xs) / 3)}.modal-view-actions.confirm-submit-actions .btn svg{margin-right:calc(var(--spacing-xs) / 3)}.modal-main-icon.warning-icon{font-size:1.5rem}.pyq-submit-confirm-content .modal-view-title{font-size:1rem}.pyq-submit-confirm-content .modal-view-subtitle{font-size:.75rem}}.pyq-view.pyq-submitted-final-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:var(--spacing-md);box-sizing:border-box}.submitted-content-card-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.pyq-submitted-final-view .final-card-content{text-align:center;padding:var(--spacing-lg);max-width:400px;width:100%;box-shadow:var(--shadow-lg);border-radius:var(--border-radius-lg);background:var(--background-secondary);border:1px solid var(--border-primary);margin-bottom:var(--spacing-xl)}.modal-main-icon.success-icon{color:var(--success-color);margin-bottom:var(--spacing-md);font-size:4rem;animation:icon-pop .5s ease-out forwards}@keyframes icon-pop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.pyq-submitted-final-view .view-title{font-size:1.75rem;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--text-primary)}.pyq-submitted-final-view .modal-view-subtitle{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6;max-width:360px;margin-left:auto;margin-right:auto}.final-submission-summary.pyq-final-summary{padding:var(--spacing-md);background-color:var(--background-tertiary);border:1px solid var(--border-light);border-radius:var(--border-radius-md);text-align:left;margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-xs-inset)}.pyq-final-summary h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-primary);text-align:center}.pyq-final-summary p{font-size:.9rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xxs) 0}.pyq-final-summary p strong{color:var(--text-primary);font-weight:500}.pyq-final-summary p span{font-weight:600;color:var(--text-primary);background-color:var(--background-primary);padding:3px 7px;border-radius:var(--border-radius-sm);border:1px solid var(--border-secondary);font-size:.85rem}.submitted-view-actions{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:var(--spacing-md);width:100%;max-width:400px;margin-left:auto;margin-right:auto}.submitted-view-actions .btn-lg{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;justify-content:center;flex-grow:1;flex-shrink:1;flex-basis:0%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--border-radius-md)}.submitted-view-actions .btn-lg:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.submitted-view-actions .btn-lg.btn-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border, var(--border-primary))}.submitted-view-actions .btn-lg.btn-secondary:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);border-color:var(--button-secondary-hover-border, var(--border-secondary))}.submitted-view-actions .btn-lg.btn-primary{background-color:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--button-primary-border, var(--button-primary-bg))}.submitted-view-actions .btn-lg.btn-primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);border-color:var(--button-primary-hover-border, var(--button-primary-hover-bg))}.submitted-view-actions .btn-lg svg{font-size:1.1em;margin-right:var(--spacing-xs)}.submitted-view-actions .btn-lg.btn-primary svg{margin-left:var(--spacing-xs);margin-right:0}@media (max-width: 420px){.pyq-submitted-final-view .final-card-content{padding:var(--spacing-md);max-width:calc(100% - (2 * var(--spacing-sm)))}.submitted-view-actions{flex-direction:column;gap:var(--spacing-sm);max-width:calc(100% - (2 * var(--spacing-sm)))}.submitted-view-actions .btn-lg{font-size:.85rem;padding:var(--spacing-sm) var(--spacing-xs);width:100%}.modal-main-icon.success-icon{font-size:3.5rem}.pyq-submitted-final-view .view-title{font-size:1.5rem}.pyq-submitted-final-view .modal-view-subtitle{font-size:.9rem}.pyq-final-summary h3{font-size:.95rem}.pyq-final-summary p{font-size:.85rem}}@media (max-width: 360px){.submitted-view-actions .btn-lg{font-size:.8rem}.submitted-view-actions .btn-lg svg{font-size:1em;margin-right:4px!important;margin-left:4px!important}.pyq-final-summary p span{font-size:.8rem;padding:2px 5px}}.pyq-session-screen{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-sans);position:relative}.pyq-screen-loading-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-primary);z-index:2000}.pyq-screen-loading-fullscreen p{margin-top:var(--spacing-md);font-size:1.1rem;color:var(--text-secondary)}.pyq-screen-loading-fullscreen .loading-spinner.large{width:50px;height:50px;border-width:4px}.pyq-view{display:flex;flex-direction:column;align-items:center;flex-grow:1;padding:0;overflow-y:auto;width:100%;box-sizing:border-box}.pyq-view .view-title{font-size:1.75rem;font-weight:700;text-align:center;margin-bottom:var(--spacing-lg);color:var(--text-primary)}.pyq-view-footer{width:100%;padding:var(--spacing-lg) var(--content-padding-x-desktop, var(--spacing-xl));box-sizing:border-box;border-top:1px solid var(--border-primary);background-color:var(--background-secondary);margin-top:auto;flex-shrink:0}.view-footer-buttons-container{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:var(--spacing-md);width:100%;max-width:var(--view-footer-max-width, 800px);margin:0 auto}.pyq-view-footer .btn{flex-grow:1;max-width:calc(50% - (var(--spacing-md) / 2));text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.pyq-view-footer .btn:only-child{max-width:250px;flex-grow:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-overlay);display:flex;justify-content:center;align-items:center;z-index:1050;padding:var(--spacing-md);opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s .2s}.modal-overlay.visible{opacity:1;visibility:visible;transition-delay:0s}.modal-content-box{background-color:var(--card-bg);padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:450px;text-align:center;transform:scale(.95) translateY(10px);opacity:0;transition:transform .25s ease-out,opacity .25s ease-out}.modal-overlay.visible .modal-content-box{transform:scale(1) translateY(0);opacity:1}.submitting-indicator{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.submitting-indicator .loading-spinner.large{margin:0}.submitting-indicator p{font-size:1.05rem;color:var(--text-secondary);margin-bottom:0}.pyq-main-layout{display:flex;flex-grow:1;overflow:hidden;position:relative;height:calc(100vh - var(--session-header-height, 56px))}.pyq-question-area{flex-grow:1;padding:var(--spacing-lg);overflow-y:auto;background-color:var(--background-primary);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);transition:margin-right .3s ease-in-out}.pyq-question-area::-webkit-scrollbar{width:8px}.pyq-question-area::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.question-display-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;text-align:center;color:var(--text-secondary)}.question-display-placeholder p{font-size:1.1rem}.palette-mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:1004;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility 0s .3s linear}.pyq-session-screen.mobile-palette-open .palette-mobile-overlay{opacity:1;visibility:visible;transition-delay:0s}.pyq-palette-fab{position:fixed;bottom:calc(var(--session-footer-height, 60px) + var(--spacing-md, 16px));right:var(--spacing-lg, 24px);width:56px;height:56px;border-radius:50%;background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:none;box-shadow:var(--shadow-lg);cursor:pointer;z-index:1003;transition:transform .2s ease-out,background-color .2s;outline:none}.pyq-palette-fab:hover{background-color:var(--accent-color-dark);transform:scale(1.05)}.pyq-palette-fab:focus-visible{box-shadow:0 0 0 3px var(--accent-color-light)}@media (max-width: 768px){.pyq-question-area{padding:var(--spacing-md)}.modal-content-box{max-width:90vw;padding:var(--spacing-lg)}.pyq-view-footer{padding-left:var(--content-padding-x-mobile, var(--spacing-md));padding-right:var(--content-padding-x-mobile, var(--spacing-md))}.view-footer-buttons-container{flex-direction:row;gap:var(--spacing-sm)}.pyq-view-footer .btn{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}}@media (max-width: 480px){.view-footer-buttons-container{flex-direction:column;gap:var(--spacing-md)}.pyq-view-footer .btn{width:100%;max-width:100%}.pyq-palette-fab{right:var(--spacing-md, 16px);bottom:calc(var(--session-footer-height-mobile, 70px) + var(--spacing-sm, 8px));width:50px;height:50px;font-size:1.6rem}}.pyq-session-screen.mobile-palette-open .pyq-session-footer{opacity:0;visibility:hidden;pointer-events:none;height:0;min-height:0;padding:0;border:none;overflow:hidden}.student-assignment-list-page{max-width:none;margin:0;padding:var(--spacing-md) var(--content-padding-x-desktop, var(--spacing-lg));min-height:100vh;background-color:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-sans)}.assignment-page-title-header{text-align:center;margin-bottom:var(--spacing-lg)}.assignment-page-title-header h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.assignment-filter-controls-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary);background-color:var(--background-primary);position:sticky;top:0;z-index:var(--z-index-sticky, 990);flex-wrap:nowrap}.btn-assignment-back{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--spacing-sm);font-size:1.3rem;cursor:pointer;border-radius:var(--border-radius-sm);transition:color .2s,background-color .2s,border-color .2s;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:40px;width:40px;box-sizing:border-box}.btn-assignment-back:hover{color:var(--text-accent);background-color:var(--background-tertiary);border-color:var(--text-accent)}.btn-assignment-back svg{width:18px;height:18px}.assignment-filters-group-inline{display:flex;gap:var(--spacing-md);align-items:center;flex-grow:1;flex-wrap:nowrap;overflow-x:auto}.assignment-filter-select{flex-grow:1;flex-shrink:1;flex-basis:auto;padding:.5rem 2.2rem .5rem .9rem;font-size:.9rem;font-weight:500;line-height:1.5;color:var(--input-text);background-color:var(--input-bg);background-image:var(--form-select-arrow-light);background-repeat:no-repeat;background-position:right .9rem center;background-size:12px 9px;border:1px solid var(--input-border);border-radius:var(--border-radius-md);appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;height:40px;min-width:150px;max-width:300px;box-sizing:border-box}:root.dark-mode .assignment-filter-select{background-image:var(--form-select-arrow-dark)}.assignment-filter-select:focus{border-color:var(--input-focus-border);outline:0;box-shadow:var(--input-focus-shadow)}.assignment-filter-select:disabled{background-color:var(--background-tertiary);opacity:.7;cursor:not-allowed}.assignment-filter-select option{font-weight:400;background-color:var(--background-primary);color:var(--text-primary)}.page-level-ai-disclaimer.assignment-ai-disclaimer{background-color:var(--info-bg-extralight, var(--background-tertiary));border:1px solid var(--info-border-subtle, var(--border-light));border-left:3px solid var(--info-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-sm) 0 var(--spacing-lg);line-height:1.4}.page-level-ai-disclaimer.assignment-ai-disclaimer svg{font-size:1.2em;color:var(--info-color);flex-shrink:0}.assignment-item-list-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md)}.assignment-card-styled{background-color:var(--card-bg, var(--background-secondary));border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:transform .15s ease-out,box-shadow .15s ease-out}.assignment-card-styled:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-mobile-top-meta{display:flex;justify-content:flex-end;align-items:center;font-size:.8rem;color:var(--text-secondary);padding-bottom:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.card-mobile-status{font-weight:500;font-size:.85rem}.card-mobile-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);line-height:1.3;margin:0 0 var(--spacing-xs) 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.card-mobile-meta-detail{display:flex;align-items:center;gap:.4em;font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.meta-icon-inline{font-size:1em;color:var(--icon-color-muted, var(--text-tertiary));margin-right:.3em;flex-shrink:0}.card-mobile-actions{margin-top:auto;padding-top:var(--spacing-sm);border-top:1px solid var(--border-ultralight, var(--border-light));display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.btn-card-action.mobile-action-btn{flex-grow:1;padding:.5rem .8rem;font-size:.8rem;min-width:80px}.btn-card-action.mobile-action-btn:only-child{flex-grow:0;min-width:100px;margin-left:auto}.card-desktop-content-wrapper,.card-desktop-actions,.card-desktop-title-status-row{display:none}.status-text-mobile.status-assigned,.status-text-mobile.status-not-started,.card-desktop-status.status-assigned,.card-desktop-status.status-not-started{color:var(--info-text-strong, var(--info-color))}.status-text-mobile.status-inprogress,.status-text-mobile.status-started,.card-desktop-status.status-inprogress,.card-desktop-status.status-started{color:var(--warning-text-strong, var(--warning-color))}.status-text-mobile.status-completed,.status-text-mobile.status-submitted,.card-desktop-status.status-completed,.card-desktop-status.status-submitted{color:var(--success-text-strong, var(--success-color))}.status-text-mobile.status-overdue,.card-desktop-status.status-overdue{color:var(--danger-text-strong, var(--danger-color))}.btn-card-action{font-weight:500;border-radius:var(--border-radius-md);text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.3em;transition:background-color .2s,transform .1s;border:1px solid transparent;cursor:pointer;padding:.5rem 1rem;font-size:.85rem;min-width:100px}.btn-card-action svg{font-size:1.1em}.btn-card-action.action-resume,.btn-card-action.action-start{background-color:var(--warning-color);color:var(--text-on-warning, #000);border-color:var(--warning-color)}.btn-card-action.action-resume:hover,.btn-card-action.action-start:hover{background-color:var(--warning-color-hover, var(--warning-color));filter:brightness(.9);transform:translateY(-1px)}.btn-card-action.action-view-results,.btn-card-action.action-solution{background-color:var(--accent-color);color:var(--accent-color-contrast, #fff);border-color:var(--accent-color)}.btn-card-action.action-view-results:hover,.btn-card-action.action-solution:hover{background-color:var(--accent-color-hover, var(--accent-color));filter:brightness(.9);transform:translateY(-1px)}.btn-card-action.action-reattempt{background-color:var(--button-modern-reattempt-bg, var(--info-color));color:var(--button-modern-reattempt-text, #fff);border-color:var(--button-modern-reattempt-bg, var(--info-color))}.btn-card-action.action-reattempt:hover{background-color:var(--info-color-hover, var(--info-color));filter:brightness(.9);transform:translateY(-1px)}.btn-card-action:disabled{background-color:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important;border-color:var(--button-disabled-border)!important;cursor:not-allowed;opacity:.6;transform:none}.loading-indicator.assignments-loading,.error-message.assignments-error,.no-items-message.assignments-no-items{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--text-secondary);background-color:var(--background-card, var(--background-secondary));border-radius:var(--border-radius-lg);border:1px dashed var(--border-primary);margin:var(--spacing-lg) auto;max-width:600px}.loading-indicator.assignments-loading .loading-spinner-icon{font-size:2rem;color:var(--text-accent);animation:spin 1s linear infinite}.error-message.assignments-error{color:var(--danger-text-strong, var(--danger-color));background-color:var(--danger-bg-subtle);border-color:var(--danger-border-subtle)}@media (min-width: 769px){.assignment-card-styled{flex-direction:row;align-items:center;padding:var(--spacing-md);gap:var(--spacing-lg)}.card-mobile-top-meta,.card-mobile-title,.card-mobile-meta-detail,.card-mobile-actions{display:none!important}.card-desktop-content-wrapper{display:flex!important;flex-direction:column;flex-grow:1;gap:var(--spacing-xxs)}.card-desktop-title-status-row{display:flex!important;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.card-desktop-title{font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex-grow:1;padding-right:var(--spacing-sm)}.card-desktop-status{font-size:.85rem;font-weight:500;white-space:nowrap;flex-shrink:0}.card-desktop-details-row{display:flex!important;flex-wrap:wrap;gap:var(--spacing-sm);font-size:.85rem;color:var(--text-secondary)}.card-desktop-details-row span{display:inline-flex;align-items:center}.card-desktop-actions{display:flex!important;gap:var(--spacing-sm);flex-wrap:nowrap;align-items:center;flex-shrink:0}.card-desktop-actions .btn-card-action{padding:.5rem 1rem;font-size:.85rem;min-width:90px;flex-grow:0;flex-shrink:0}}@media (max-width: 768px){.student-assignment-list-page{padding:var(--spacing-md) var(--spacing-sm);max-width:var(--page-max-width, 1200px);margin:0 auto}.assignment-filter-controls-row{gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.assignment-filter-select{font-size:.85rem;padding:.5rem 1.8rem .5rem .7rem;height:38px;min-width:120px;max-width:none}.btn-assignment-back{height:38px;width:38px}.btn-assignment-back svg{width:16px;height:16px}}@media (max-width: 480px){.assignment-page-title-header h1{font-size:1.5rem}.assignment-filter-controls-row{gap:var(--spacing-xs)}.assignment-filter-select{font-size:.8rem;min-width:100px}.btn-assignment-back{padding:var(--spacing-xs);font-size:1.2rem}.card-mobile-top-meta{font-size:.75rem}.card-mobile-title{font-size:1rem}.card-mobile-meta-detail{font-size:.8rem}.card-mobile-actions{flex-direction:column;align-items:stretch}.btn-card-action.mobile-action-btn{width:100%;font-size:.8rem;padding:.6rem;min-width:auto}.page-level-ai-disclaimer.assignment-ai-disclaimer{font-size:.75rem;margin-left:0;margin-right:0}}.assignment-card-styled.is-offline-pending{cursor:default;background-color:var(--background-secondary-alt, #f7f7f9)}.offline-badge-icon{color:var(--text-tertiary);margin-right:.5em;vertical-align:middle}.offline-badge-desktop{font-size:.8em;font-weight:600;padding:.2em .6em;border-radius:var(--border-radius-sm);background-color:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.offline-badge-mobile{font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:.3em;padding:.2rem .5rem;border-radius:var(--border-radius-md);color:var(--text-secondary);background-color:var(--background-tertiary-alpha)}.btn-card-action.action-start[disabled]{background-color:var(--button-disabled-bg, #e9ecef);color:var(--button-disabled-text, #6c757d);cursor:not-allowed;border-color:transparent}.assessment-timer-display{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.9rem;font-weight:600;font-family:var(--font-family-monospace);color:var(--text-primary);background-color:var(--background-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:1px solid var(--border-primary);min-width:80px;text-align:center;margin-left:var(--spacing-md)}.assessment-timer-display.critical{color:var(--danger-color);background-color:var(--danger-bg-light);border-color:var(--danger-border)}.assessment-timer-icon{font-size:1.1em;color:var(--text-accent)}.assessment-timer-display.critical .assessment-timer-icon{color:var(--danger-color)}@media (max-width: 768px){.assessment-timer-display{font-size:.85rem;padding:var(--spacing-xs);min-width:70px;margin-left:var(--spacing-sm)}}@media (max-width: 480px){.assessment-header .exam-header-title-text,.assessment-timer-display{font-size:.8rem}}.question-display-area-feedback-wrapper{display:flex;flex-direction:column;gap:var(--spacing-lg);position:relative}.question-content-wrapper{padding:var(--spacing-sm) 0;position:relative}.question-display-card-loading,.question-display-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);min-height:250px;text-align:center;color:var(--text-secondary);border-radius:var(--border-radius-lg);background-color:var(--background-secondary)}.question-display-card-loading p,.question-display-placeholder p{margin-top:var(--spacing-md);font-size:1.05rem;line-height:1.6}.question-display-placeholder.error-placeholder{color:var(--danger-color);background-color:var(--danger-bg);border:1px solid var(--danger-border);padding:var(--spacing-lg)}.question-display-placeholder .placeholder-icon{color:var(--text-placeholder);margin-bottom:var(--spacing-md);font-size:2.5rem}.question-display-placeholder.error-placeholder .placeholder-icon{color:var(--danger-color)}.question-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light);padding-right:var(--spacing-sm);position:relative}.question-card-number{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-right:auto}.question-card-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-primary);background-color:var(--background-secondary-alt)}.question-card-number{font-weight:600;color:var(--text-primary)}.question-card-type{font-size:.8rem;font-weight:500;color:var(--text-secondary);background-color:var(--background-secondary);padding:3px 8px;border-radius:4px;border:1px solid var(--border-primary);white-space:nowrap}.question-card-marks-box{margin-left:auto;font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.question-card-marks-box{font-size:.8rem;color:var(--text-secondary);background-color:var(--background-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);white-space:nowrap;border:1px solid var(--border-primary);flex-shrink:0;margin-left:var(--spacing-sm)}.mark-value{font-weight:600}.mark-value.positive-mark{color:var(--success-color)}.mark-value.negative-mark{color:var(--danger-color)}.mark-separator{color:var(--text-secondary);margin:0 var(--spacing-xs)}.question-card-content{font-size:1rem;line-height:1.7;color:var(--text-primary);word-wrap:break-word}.rich-text-content p{margin-bottom:var(--spacing-sm)}.rich-text-content p:first-child{margin-top:0}.rich-text-content p:last-child{margin-bottom:0}.rich-text-content ul,.rich-text-content ol{padding-left:var(--spacing-lg);margin:var(--spacing-sm) 0;list-style-position:outside}.rich-text-content ul li{list-style-type:disc}.rich-text-content ol li{list-style-type:decimal}.rich-text-content li{margin-bottom:var(--spacing-xs)}.rich-text-content strong{font-weight:600;color:var(--text-primary)}.rich-text-content em{font-style:italic}.rich-text-content u{text-decoration:underline}.rich-text-content img{max-width:100%;height:auto;border-radius:var(--border-radius-md);margin:var(--spacing-md) 0;border:1px solid var(--border-primary);display:block;background-color:var(--background-primary)}.rich-text-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg) 0;font-size:.9rem;border:1px solid var(--border-secondary)}.rich-text-content th,.rich-text-content td{border:1px solid var(--border-secondary);padding:var(--spacing-sm) var(--spacing-md);text-align:left;vertical-align:top}.rich-text-content th{background-color:var(--background-tertiary);font-weight:600;color:var(--text-primary)}.rich-text-content pre{background-color:var(--background-tertiary);padding:var(--spacing-md);border-radius:var(--border-radius-md);overflow-x:auto;font-family:var(--font-family-monospace);font-size:.9rem;border:1px solid var(--border-primary);white-space:pre-wrap;word-break:break-all;color:var(--text-primary)}.question-options-container{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);background-color:var(--card-bg);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.question-option-item{display:flex;align-items:flex-start;padding:var(--spacing-md);border:1px solid var(--input-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease-out;background-color:var(--input-bg);position:relative}.question-option-item:hover{border-color:var(--accent-color);background-color:var(--accent-color-light)}.question-option-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px;border-color:var(--accent-color)}.question-option-item.selected{border-color:var(--accent-color);background-color:var(--accent-color);color:var(--text-on-accent);box-shadow:0 0 0 2px var(--accent-color-light)}.question-option-item.selected .option-indicator{border-color:var(--text-on-accent)}.question-option-item.selected .option-indicator.radio{background-color:var(--text-on-accent)}.question-option-item.selected .option-indicator.checkbox:before{content:"✓";color:var(--accent-color);font-size:1em;line-height:1;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.question-option-item.selected .option-indicator.checkbox{background-color:var(--text-on-accent)}.question-option-item.selected .option-item-text,.question-option-item.selected .option-item-text *,.question-option-item.selected .rich-text-content *{color:var(--text-on-accent)!important}.option-indicator{width:20px;height:20px;border:2px solid var(--border-secondary);margin-right:var(--spacing-md);margin-top:.1em;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease-out;position:relative}.option-indicator.radio{border-radius:50%}.option-indicator.checkbox{border-radius:var(--border-radius-sm)}.option-item-text{flex-grow:1;line-height:1.6;color:var(--text-primary);word-wrap:break-word}.option-item-text.rich-text-content p:first-child{margin-top:0}.option-item-text.rich-text-content p:last-child{margin-bottom:0}.true-false-options-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--spacing-md)}.question-tf-btn{padding:var(--spacing-md);font-size:1rem;font-weight:500}.question-tf-btn.selected.btn-primary{background-color:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color)}.question-input{width:100%;padding:var(--spacing-md);font-size:1rem;border:1px solid var(--input-border);border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--input-text);transition:border-color .2s ease,box-shadow .2s ease;font-family:var(--font-family-sans)}.question-input::placeholder{color:var(--input-placeholder)}.question-input:focus{border-color:var(--input-focus-border);outline:none;box-shadow:var(--input-focus-shadow)}textarea.descriptive-input{min-height:120px;line-height:1.6;resize:vertical}.question-card-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-primary);display:flex;justify-content:flex-start;gap:var(--spacing-lg);flex-wrap:nowrap}.question-card-actions .btn{font-size:.95rem;padding:var(--spacing-sm) var(--spacing-lg);font-weight:500;min-width:160px;justify-content:center;flex-grow:0;flex-shrink:0}.question-card-actions .btn svg{margin-right:var(--spacing-sm);font-size:1.1em}.btn-clear-response{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--border-primary)}.btn-clear-response:hover:not(:disabled){background-color:var(--button-secondary-hover-bg);color:var(--text-primary);border-color:var(--border-secondary)}.btn-clear-response:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);border-color:var(--button-disabled-border);opacity:.7}.btn-mark-review.btn-outline-secondary{background-color:transparent;color:var(--button-outline-secondary-text);border:1px solid var(--button-outline-secondary-border)}.btn-mark-review.btn-outline-secondary:hover:not(:disabled){background-color:var(--button-outline-secondary-hover-bg);color:var(--button-outline-secondary-hover-text);border-color:var(--button-outline-secondary-hover-border)}.btn-purple{background-color:var(--purple-accent-base);color:var(--text-on-purple-accent);border:1px solid var(--purple-accent-base)}.btn-purple:hover:not(:disabled){background-color:var(--purple-accent-dark);border-color:var(--purple-accent-dark)}.btn-purple.active-mark{box-shadow:0 0 0 2px var(--purple-accent-light)}@media (max-width: 768px){.question-content-wrapper{padding:var(--spacing-sm) 0}.question-card-header{padding-right:0;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.question-card-number{margin-right:0}.question-options-container{padding:var(--spacing-md)}.question-card-content{font-size:.95rem;margin-bottom:var(--spacing-lg)}.question-option-item{padding:var(--spacing-sm) var(--spacing-md)}.option-indicator{width:18px;height:18px;margin-right:var(--spacing-sm)}.option-item-text{font-size:.9rem}.question-input{padding:var(--spacing-sm);font-size:.9rem}textarea.descriptive-input{min-height:100px}.question-card-actions{gap:var(--spacing-md);justify-content:space-between;flex-wrap:nowrap}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:130px}}@media (max-width: 480px){.question-card-header{gap:var(--spacing-xs)}@media (max-width: 480px) and (orientation: portrait){.question-card-header{flex-direction:column;align-items:flex-start}}.question-card-actions{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;gap:var(--spacing-sm)}.question-card-actions .btn{flex-grow:1;flex-basis:0;min-width:0;padding:var(--spacing-xs) var(--spacing-sm);font-size:.85rem}.question-card-actions .btn svg{margin-right:var(--spacing-xs);font-size:1em}}.exam-palette-container.assessment-palette-container{background-color:var(--palette-bg);color:var(--palette-text-primary);width:var(--sidebar-width);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:width .3s ease-in-out,transform .3s ease-in-out;flex-shrink:0;border-left:1px solid var(--palette-border-color);box-sizing:border-box;position:relative;z-index:100}.assessment-palette-container .palette-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--palette-border-color);flex-shrink:0;display:flex;justify-content:space-between;align-items:center}.assessment-palette-container .palette-header h2{color:var(--palette-text-primary);font-size:1.15rem;font-weight:500;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assessment-palette-close-btn-mobile{display:none;background:none;border:none;color:var(--palette-text-secondary);font-size:1.5rem;cursor:pointer;padding:5px}.assessment-palette-close-btn-mobile:hover{color:var(--palette-text-primary)}.assessment-palette-container .palette-content{flex-grow:1;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}.assessment-palette-container .palette-content::-webkit-scrollbar{width:8px}.assessment-palette-container .palette-content::-webkit-scrollbar-track{background:transparent}.assessment-palette-container .palette-content::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.assessment-palette-container .question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:var(--spacing-xs)}.assessment-palette-container .question-grid-placeholder{color:var(--palette-text-secondary);font-size:.9rem;text-align:center;padding:var(--spacing-lg) 0}.assessment-palette-container .question-item{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;box-sizing:border-box;border:2px solid transparent;padding:0;margin:0;position:relative}.assessment-palette-container .question-item:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.assessment-palette-container .question-item:hover{transform:scale(1.05)}.assessment-palette-container .question-item.not-visited:not(.marked-for-review){background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border);color:var(--palette-gray-not-visited-text)}.assessment-palette-container .question-item.answered:not(.marked-for-review){background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border);color:var(--palette-green-answered-text)}.assessment-palette-container .question-item.not-answered-visited:not(.marked-for-review){background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border);color:var(--palette-red-not-answered-text)}.assessment-palette-container .question-item.marked-for-review{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border-color:var(--palette-purple-marked-border)}.assessment-palette-container .question-item.answered-marked{background-color:var(--palette-purple-marked-bg);color:var(--palette-purple-marked-text);border:2px solid var(--palette-green-answered-border)}.assessment-palette-container .question-item.current{background-color:var(--palette-blue-current-bg);color:var(--palette-blue-current-text);border-color:var(--palette-blue-current-border);font-weight:700;box-shadow:0 0 0 2px var(--palette-blue-current-border);transform:scale(1.1)}.assessment-palette-container .question-item.current.marked-for-review{outline:2px dashed var(--palette-purple-marked-border);outline-offset:2px}.assessment-palette-container .question-item.not-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-gray-not-visited-hover-bg)}.assessment-palette-container .question-item.answered:not(.marked-for-review):not(.current):hover{background-color:var(--palette-green-answered-hover-bg)}.assessment-palette-container .question-item.not-answered-visited:not(.marked-for-review):not(.current):hover{background-color:var(--palette-red-not-answered-hover-bg)}.assessment-palette-container .question-item.marked-for-review:not(.current):hover{background-color:var(--palette-purple-marked-hover-bg);border-color:var(--palette-purple-marked-hover-border)}.assessment-palette-container .question-item.current:hover{opacity:.9}.assessment-palette-container .palette-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--palette-border-color);flex-shrink:0;background-color:var(--palette-bg)}.assessment-palette-container .legend-container{margin-bottom:var(--spacing-md)}.assessment-palette-container .legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-xs);font-size:.75rem;color:var(--palette-text-secondary);align-items:center}.assessment-palette-container .legend.legend-second-row{margin-top:var(--spacing-sm)}.assessment-palette-container .legend-item{display:flex;align-items:center;padding:var(--spacing-xs) 0}.assessment-palette-container .color-indicator{width:12px;height:12px;border-radius:3px;margin-right:var(--spacing-sm);display:inline-block;flex-shrink:0;box-sizing:border-box;border:1px solid transparent}.assessment-palette-container .color-indicator.answered-bg{background-color:var(--palette-green-answered-bg);border-color:var(--palette-green-answered-border)}.assessment-palette-container .color-indicator.not-answered-bg{background-color:var(--palette-red-not-answered-bg);border-color:var(--palette-red-not-answered-border)}.assessment-palette-container .color-indicator.not-visited-bg{background-color:var(--palette-gray-not-visited-bg);border-color:var(--palette-gray-not-visited-border)}.assessment-palette-container .color-indicator.current-bg{background-color:var(--palette-blue-current-bg);border-color:var(--palette-blue-current-border)}.assessment-palette-container .color-indicator.unanswered-marked-indicator{background-color:var(--palette-purple-marked-bg);border-color:var(--palette-purple-marked-border)}.assessment-palette-container .color-indicator.answered-marked-indicator{background-color:var(--palette-purple-marked-bg);border:2px solid var(--palette-green-answered-border)}.assessment-palette-container .submit-assessment-button{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s ease-in-out,transform .15s ease-out;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.assessment-palette-container .submit-assessment-button:hover:not(:disabled){background-color:var(--button-primary-hover-bg);transform:translateY(-1px)}.assessment-palette-container .submit-assessment-button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;opacity:.7}.assessment-palette-container .loading-spinner-palette{width:1em;height:1em;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.assessment-palette-container .submit-icon-palette{font-size:1.3rem}@media (min-width: 769px){.exam-palette-container.assessment-palette-container.collapsed{width:var(--sidebar-width-collapsed, 60px)}.exam-palette-container.assessment-palette-container.collapsed .palette-header h2,.exam-palette-container.assessment-palette-container.collapsed .palette-content,.exam-palette-container.assessment-palette-container.collapsed .legend-container{display:none}.exam-palette-container.assessment-palette-container.collapsed .palette-footer{padding:var(--spacing-md) var(--spacing-sm)}.exam-palette-container.assessment-palette-container.collapsed .submit-assessment-button span{display:none}.exam-palette-container.assessment-palette-container.collapsed .submit-assessment-button .loading-spinner-palette,.exam-palette-container.assessment-palette-container.collapsed .submit-assessment-button .submit-icon-palette{margin:0 auto;font-size:1.6rem}.exam-palette-container.assessment-palette-container.collapsed .submit-assessment-button{padding:var(--spacing-sm) 0}.exam-palette-container.assessment-palette-container.collapsed .assessment-palette-close-btn-mobile{display:none}}@media (max-width: 768px){.exam-palette-container.assessment-palette-container{position:fixed;top:0;left:0;height:100vh;width:clamp(280px,80vw,320px);transform:translate(-100%);z-index:1005;border-left:none;border-right:1px solid var(--palette-border-color)}.exam-palette-container.assessment-palette-container.open{transform:translate(0)}.assessment-palette-container .assessment-palette-close-btn-mobile{display:inline-flex;align-items:center}.assessment-palette-container .palette-footer{position:sticky;bottom:0;z-index:1;width:100%;box-sizing:border-box}}.palette-section{margin-bottom:1rem}.palette-section-header{display:flex;justify-content:space-between;align-items:center;width:100%;background-color:var(--background-hover);border:none;padding:.5rem .75rem;border-radius:6px;cursor:pointer;text-align:left;margin-bottom:.75rem}.palette-section-header h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.palette-section-header svg{color:var(--text-secondary);transition:transform .2s ease-in-out}.exam-main-footer.assessment-session-footer{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);height:var(--session-footer-height-desktop, 60px);background-color:var(--background-secondary);border-top:1px solid var(--border-primary);box-shadow:var(--shadow-md-up);flex-shrink:0;z-index:1000;transition:opacity .3s ease-in-out,visibility .3s ease-in-out,height .3s ease-in-out}.footer-nav-btn{font-size:.9rem;padding:var(--spacing-sm) var(--spacing-lg);min-width:120px;gap:var(--spacing-sm)}.footer-nav-btn svg{font-size:1.2em}.assessment-footer-progress{font-size:.9rem;color:var(--text-secondary);text-align:center;flex-grow:1;padding:0 var(--spacing-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.exam-main-footer.assessment-session-footer{height:auto;min-height:var(--session-footer-height-mobile, 70px);padding:var(--spacing-md);gap:var(--spacing-md)}.footer-nav-btn.prev-btn,.footer-nav-btn.next-btn{flex-grow:1;flex-basis:0;justify-content:center;min-width:100px}.assessment-footer-progress{display:none}}@media (max-width: 480px){.exam-main-footer.assessment-session-footer{gap:var(--spacing-sm);padding:var(--spacing-sm);min-height:calc(var(--session-footer-height-mobile, 70px) - 10px)}.footer-nav-btn{font-size:.85rem;padding:var(--spacing-sm);min-width:80px}}.pause-modal-specific-content.assessment-pause-modal-content{max-width:480px}.modal-main-icon.pause-icon{color:var(--warning-color);margin-bottom:var(--spacing-lg);font-size:3.5rem}.assessment-pause-modal-content .modal-view-title{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.assessment-pause-modal-content .modal-view-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:var(--spacing-xl);line-height:1.6}.pause-modal-summary.assessment-pause-summary{background-color:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);text-align:left}.assessment-pause-summary h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.assessment-pause-summary p{font-size:.95rem;color:var(--text-secondary);margin-bottom:var(--spacing-sm);display:flex;justify-content:space-between;align-items:center}.assessment-pause-summary p strong{color:var(--text-primary);font-weight:500}.assessment-pause-summary p span{font-weight:600;color:var(--text-primary)}.assessment-pause-summary .time-left-value.critical{color:var(--danger-color);font-weight:700}.modal-view-actions{display:flex;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-lg);width:100%}.modal-view-actions .btn{min-width:150px}.modal-view-actions .btn svg{margin-right:var(--spacing-xs)}.modal-view-actions .btn-lg{font-size:1rem}@media (max-width: 480px){.pause-modal-specific-content.assessment-pause-modal-content{padding:var(--spacing-lg)}.assessment-pause-summary{padding:var(--spacing-md)}.assessment-pause-summary h3{font-size:1rem}.assessment-pause-summary p{font-size:.9rem}.modal-view-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.modal-view-actions .btn{width:100%;min-width:auto}}.assessment-submit-confirm-content{max-width:480px;text-align:center;padding:var(--spacing-lg) var(--spacing-xl)}.submit-confirm-modal-header{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-md)}.submit-confirm-modal-header .modal-main-icon.warning-icon{font-size:3.5rem;color:var(--warning-color);margin-bottom:var(--spacing-md)}.submit-confirm-modal-header .modal-view-title{font-size:1.6rem;font-weight:600;color:var(--text-primary);margin:0}.assessment-submit-confirm-content .modal-view-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.submit-modal-summary.assessment-submit-summary{background-color:var(--background-tertiary);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--border-primary);text-align:left}.assessment-submit-summary h3{font-size:1.15rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.assessment-submit-summary p{margin-bottom:var(--spacing-sm);font-size:.9rem;display:flex;justify-content:space-between;align-items:center}.assessment-submit-summary p strong{color:var(--text-secondary);margin-right:var(--spacing-sm)}.assessment-submit-summary .value-status{font-weight:600;color:var(--text-primary);padding:.1em .3em;border-radius:var(--border-radius-xs)}.assessment-submit-summary .value-status.value-unattempted.has-unattempted,.assessment-submit-summary .value-status.value-marked{color:var(--warning-text-strong, var(--warning-color));background-color:var(--warning-bg-subtle, transparent)}.modal-view-actions.confirm-submit-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.confirm-submit-actions .btn{padding:var(--btn-padding-y, .7rem) var(--btn-padding-x, 1.5rem);font-size:var(--btn-font-size, .9rem);min-width:120px}.confirm-submit-actions .btn .loading-spinner.small{width:.9em;height:.9em;margin-right:.5em;vertical-align:text-bottom}.confirm-submit-actions .btn svg:not(.loading-spinner){margin-right:.4em;font-size:1.1em}@media (max-width: 480px){.assessment-submit-confirm-content{padding:var(--spacing-md)}.submit-confirm-modal-header .modal-main-icon.warning-icon{font-size:3rem}.submit-confirm-modal-header .modal-view-title{font-size:1.4rem}.assessment-submit-confirm-content .modal-view-subtitle{font-size:.9rem}.assessment-submit-summary p{font-size:.85rem}.modal-view-actions.confirm-submit-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.confirm-submit-actions .btn{width:100%}}.assessment-view.assessment-submitted-final-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;padding:var(--spacing-lg);text-align:center;background-color:var(--background-primary)}.submitted-content-card-wrapper{background-color:var(--background-card, var(--background-secondary));padding:var(--spacing-xl);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);max-width:650px;width:100%}.final-card-content .modal-main-icon.success-icon{font-size:4.5rem;color:var(--success-color);margin-bottom:var(--spacing-md)}.final-card-content .view-title{font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.final-card-content .modal-view-subtitle{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-xl)}.final-submission-summary.assessment-final-summary{background-color:var(--background-tertiary);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--border-primary);text-align:left}.assessment-final-summary h3{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin-top:0;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.assessment-final-summary p{margin-bottom:var(--spacing-sm);font-size:1rem;display:flex;justify-content:space-between;align-items:center}.assessment-final-summary p strong{color:var(--text-secondary);margin-right:var(--spacing-lg);font-weight:500}.assessment-final-summary p span{font-weight:600;color:var(--text-primary)}.view-footer.submitted-view-actions{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-lg);width:100%}.submitted-view-actions .btn{padding:var(--btn-padding-y-lg, .8rem) var(--btn-padding-x-lg, 1.75rem);font-size:var(--btn-font-size-lg, 1rem);width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:500}.submitted-view-actions .btn svg{font-size:1.2em}@media (min-width: 600px){.view-footer.submitted-view-actions{flex-direction:row;justify-content:center;flex-wrap:wrap}.submitted-view-actions .btn{width:auto;min-width:200px}}@media (max-width: 480px){.submitted-content-card-wrapper{padding:var(--spacing-lg)}.final-card-content .view-title{font-size:1.6rem}.final-card-content .modal-view-subtitle{font-size:.9rem;margin-bottom:var(--spacing-lg)}.assessment-final-summary h3{font-size:1.1rem}.assessment-final-summary p{font-size:.9rem}}.assessment-session-screen{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--background-primary);color:var(--text-primary);font-family:var(--font-family-sans);position:relative}.assessment-screen-loading-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-primary);z-index:2000}.assessment-screen-loading-fullscreen p{margin-top:var(--spacing-md);font-size:1.1rem;color:var(--text-secondary)}.assessment-screen-loading-fullscreen .loading-spinner.large{width:50px;height:50px;border-width:4px}.assessment-view{display:flex;flex-direction:column;align-items:center;flex-grow:1;padding:0;overflow-y:auto;width:100%;box-sizing:border-box}.assessment-main-layout{display:flex;flex-grow:1;overflow:hidden;position:relative;height:calc(100vh - var(--session-header-height, 56px))}.assessment-question-area{flex-grow:1;padding:var(--spacing-lg);overflow-y:auto;background-color:var(--background-primary);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.assessment-question-area::-webkit-scrollbar{width:8px}.assessment-question-area::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:4px}.assessment-session-screen.mobile-palette-open .palette-mobile-overlay{opacity:1;visibility:visible;transition-delay:0s}.assessment-palette-fab{position:fixed;bottom:calc(var(--session-footer-height-mobile, 70px) + var(--spacing-md, 16px));right:var(--spacing-lg, 24px);width:56px;height:56px;border-radius:50%;background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:1.8rem;border:none;box-shadow:var(--shadow-lg);cursor:pointer;z-index:1003;transition:transform .2s ease-out,background-color .2s;outline:none}.assessment-ai-disclaimer-banner{background-color:var(--warning-bg-light, rgba(243, 156, 18, .1));color:var(--warning-text-strong, #c07c0a);padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;text-align:center;border-bottom:1px solid var(--warning-border, rgba(243, 156, 18, .3));display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.assessment-ai-disclaimer-banner svg{flex-shrink:0}@media (max-width: 768px){.assessment-question-area{padding:var(--spacing-md)}}@media (max-width: 480px){.assessment-palette-fab{right:var(--spacing-md, 16px);bottom:calc(var(--session-footer-height-mobile, 70px) + var(--spacing-sm, 8px));width:50px;height:50px;font-size:1.6rem}}.assessment-session-screen.mobile-palette-open .assessment-session-footer{opacity:0;visibility:hidden;pointer-events:none;height:0;min-height:0;padding:0;border:none;overflow:hidden}.assessment-result-ai-disclaimer{background-color:var(--info-bg-subtle, rgba(59,130,246,.05));color:var(--info-text-strong, #2563eb);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-md);border:1px solid var(--info-border-subtle, rgba(59,130,246,.2));font-size:.9rem;text-align:left;line-height:1.5}.assessment-result-ai-disclaimer p{margin:0;display:flex;align-items:flex-start;gap:var(--spacing-sm)}.assessment-result-ai-disclaimer svg{flex-shrink:0;margin-top:2px;color:var(--info-color)}.spinner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background-color:#ffffff80;z-index:999}.dark-mode .spinner-overlay{background-color:#00000080}@keyframes spinner-anim{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:50px;height:50px;border:6px solid var(--border-primary);border-top:6px solid var(--accent-color);border-radius:50%;animation:spinner-anim 1.2s linear infinite}.teacher-dashboard-container{padding:clamp(1rem,4vw,2rem);max-width:1400px;margin:0 auto}.teacher-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.teacher-dashboard-header h1{font-size:clamp(1.8rem,5vw,2.5rem);font-weight:700;margin:0;color:var(--text-primary)}.teacher-main-actions{display:flex;gap:1rem;flex-wrap:wrap}.teacher-tools-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.assessment-list-section{background-color:var(--background-secondary);padding:clamp(1rem,4vw,2rem);border-radius:12px;border:1px solid var(--border-primary)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.assessment-filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-filter{padding:.5rem 1rem;font-size:.9rem;background-color:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border-secondary);border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-filter.active,.btn-filter:hover{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.btn-icon-only{background-color:transparent;border:1px solid var(--border-secondary);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.btn-icon-only:hover{color:var(--accent-color);border-color:var(--accent-color);transform:rotate(45deg)}.assessment-date-group{margin-bottom:2rem}.date-group-header{font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border-secondary)}.assessment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.assessment-card{background-color:var(--background-tertiary);border:1px solid var(--border-primary);border-radius:8px;display:flex;flex-direction:column;transition:all .2s ease-in-out}.assessment-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000014;border-color:var(--accent-color-light)}.assessment-card.status-draft{border-left:4px solid var(--warning-border)}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.card-title{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary);line-height:1.4}.card-type-badge{display:inline-block;padding:.2rem .7rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize;border:1px solid}.type-assignment{background-color:var(--info-bg-light);color:var(--info-text);border-color:var(--info-border)}.type-test{background-color:var(--warning-bg-light);color:var(--warning-text);border-color:var(--warning-border)}.type-mock_paper{background-color:var(--info-bg-light);color:var(--info-text);border-color:var(--info-border)}.card-body{padding:1.25rem;display:flex;gap:1.5rem;flex-grow:1}.card-stat{display:flex;flex-direction:column}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase}.card-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border-primary);display:flex;gap:.75rem;background-color:var(--background-secondary);border-bottom-left-radius:8px;border-bottom-right-radius:8px}.card-action-btn{flex-grow:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .75rem;font-size:.9rem;border-radius:6px}.card-action-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--background-tertiary);color:var(--text-secondary)}.loading-message,.error-message,.no-items-message{padding:3rem 1rem;text-align:center;color:var(--text-secondary);border:2px dashed var(--border-secondary);border-radius:8px;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-direction:column}.error-message{color:var(--danger-text);background-color:var(--danger-bg-light);border-color:var(--danger-border)}.create-assessment-page{max-width:900px;margin-left:auto;margin-right:auto;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);background-color:var(--background-secondary);border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-md);border:1px solid var(--border-primary);box-sizing:border-box}.create-assessment-header{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-primary)}.create-assessment-header h2{font-size:var(--font-size-2xl);color:var(--text-primary);font-weight:700;margin-bottom:var(--spacing-xs);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.create-assessment-header h2 svg{color:var(--accent-color);width:1.2em;height:1.2em}.create-assessment-header .form-subheading{font-size:var(--font-size-base);color:var(--text-secondary)}.assessment-form .form-section{background-color:var(--background-primary);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--border-primary)}.assessment-form .form-section-title{font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary);font-weight:600}.assessment-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.assessment-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.assessment-form .deadline-form-group{cursor:pointer}.assessment-form .form-group label{font-weight:500;font-size:var(--font-size-sm);color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.assessment-form .form-group label svg{font-size:1.1em;color:var(--text-tertiary)}.assessment-form .form-group label .loading-spinner-icon.inline-small{width:.9em;height:.9em;margin-left:var(--spacing-xs)}.assessment-form .form-control,.assessment-form .form-select,.assessment-form .form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--input-border);border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--input-text);transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.assessment-form .form-control::placeholder,.assessment-form .form-textarea::placeholder{color:var(--text-placeholder)}.assessment-form .form-control:focus,.assessment-form .form-select:focus,.assessment-form .form-textarea:focus{border-color:var(--input-focus-border);outline:none;box-shadow:var(--input-focus-shadow)}.assessment-form .form-select:disabled,.assessment-form .form-control:disabled{background-color:var(--background-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.assessment-form .form-group.full-width{grid-column:1 / -1}.ai-disclaimer-preview{font-size:var(--font-size-sm);color:var(--text-secondary);background-color:var(--background-accent);padding:var(--spacing-md);border-radius:var(--border-radius-md);border:1px solid var(--border-accent);margin-top:var(--spacing-lg)}.ai-disclaimer-preview p{margin:0}.ai-disclaimer-preview strong{color:var(--text-primary)}.assessment-form .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-primary)}.assessment-form .form-actions .btn{padding:.6rem 1.25rem;font-size:var(--font-size-base);font-weight:600}.assessment-form .form-actions .btn-primary{background-color:var(--button-primary-bg);color:var(--text-on-primary-button)}.assessment-form .form-actions .btn-primary:hover{background-color:var(--button-primary-hover-bg)}.assessment-form .form-actions .btn-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text)}.assessment-form .form-actions .btn-secondary:hover{background-color:var(--button-secondary-hover-bg)}.alert{padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--border-radius-md);display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.alert-danger{background-color:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.alert-success{background-color:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.alert svg{font-size:1.2em}.submission-type-group{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.radio-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--input-border);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease-in-out;background-color:var(--input-bg);flex-grow:1}.radio-option:hover{border-color:var(--input-focus-border);background-color:var(--background-tertiary)}.radio-option input[type=radio]{display:none}.radio-option .radio-label-text{color:var(--input-text);font-weight:500;font-size:var(--font-size-sm)}.radio-option .radio-label-desc{color:var(--text-secondary);font-size:.8rem}.radio-custom-circle{width:18px;height:18px;border-radius:50%;border:2px solid var(--input-border);background-color:var(--background-primary);transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}.radio-custom-circle:after{content:"";width:10px;height:10px;border-radius:50%;background-color:var(--button-primary-bg);transform:scale(0);transition:transform .2s ease-in-out}.radio-option input[type=radio]:checked+.radio-custom-circle{border-color:var(--button-primary-bg)}.radio-option input[type=radio]:checked+.radio-custom-circle:after{transform:scale(1)}.radio-option input[type=radio]:checked~.radio-label-content .radio-label-text{color:var(--text-primary)}@media (max-width: 768px){.create-assessment-page{padding:var(--spacing-lg);margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.create-assessment-header h2{font-size:1.5rem}}.assessment-form .form-group.full-width-grid{grid-column:1 / -1}.assessment-form .form-text-helper{font-size:.8rem;color:var(--text-tertiary);margin-top:var(--spacing-xxs);padding-left:var(--spacing-xxs)}.create-mock-paper-page{padding:2rem;max-width:1000px;margin:0 auto;background-color:var(--background-primary);color:var(--text-primary)}.create-mock-paper-header{border-bottom:1px solid var(--border-primary);padding-bottom:1rem;margin-bottom:1.5rem}.create-mock-paper-header h2{display:flex;align-items:center;gap:.75rem;font-size:1.75rem;color:var(--text-primary);margin-bottom:.5rem}.create-mock-paper-header .form-subheading{font-size:.95rem;color:var(--text-secondary)}.mock-paper-form .form-section{background-color:var(--background-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000000d}.mock-paper-form .form-section-title{font-size:1.2rem;margin-bottom:1.5rem;color:var(--text-primary);font-weight:600}.mock-paper-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.mock-paper-form .form-group.full-width{grid-column:1 / -1}.sections-container{display:flex;flex-direction:column;gap:1.5rem}.mock-paper-section-card{border:1px solid var(--border-accent);background-color:var(--background-primary);border-radius:8px;padding:1.5rem;position:relative;transition:box-shadow .2s ease-in-out}.mock-paper-section-card:hover{box-shadow:0 4px 12px rgba(var(--accent-color-rgb),.1)}.section-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-secondary)}.section-card-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.btn-remove-section{background-color:transparent;border:1px solid var(--danger-border);color:var(--danger-text);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;gap:.4rem;transition:all .2s ease}.btn-remove-section:hover{background-color:var(--danger-bg);color:#fff}.constraints-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--border-secondary)}.constraint-row{display:grid;grid-template-columns:1fr 100px 40px;gap:1rem;align-items:center}.btn-remove-constraint{background:none;border:none;color:var(--text-placeholder);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.btn-remove-constraint:hover{color:var(--danger-text);background-color:var(--danger-bg-light)}.btn-add-constraint,.btn-add-section{margin-top:1rem;width:fit-content}.form-actions{margin-top:2rem;display:flex;justify-content:flex-end;gap:1rem}@media (max-width: 768px){.create-mock-paper-page{padding:1rem}.mock-paper-form .form-grid{grid-template-columns:1fr;gap:1.25rem}.mock-paper-section-card{padding:1.25rem}.constraint-row{grid-template-columns:1fr auto;gap:.75rem;row-gap:1rem}.constraint-row>div:first-of-type{grid-column:1 / -1}.constraint-row>input[type=number]{grid-column:1 / 2;width:120px}.btn-remove-constraint{grid-column:2 / 3;grid-row:2 / 3;justify-self:end}.form-actions{flex-direction:column;gap:.75rem}.form-actions .btn{width:100%;justify-content:center}}.apqm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-backdrop-bg, rgba(0, 0, 0, .65));display:flex;align-items:center;justify-content:center;z-index:1050;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}.apqm-overlay.apqm-overlay--visible{opacity:1;visibility:visible;transition:opacity .3s ease}.apqm-modal{background-color:var(--modal-content-bg, var(--background-secondary));border-radius:var(--border-radius-lg, 8px);box-shadow:var(--box-shadow-lg);width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--modal-border-color, var(--border-primary))}.apqm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--modal-header-border, var(--border-primary));background-color:var(--background-tertiary);flex-shrink:0}.apqm-header h3{margin:0;font-size:var(--font-size-lg, 1.25rem);color:var(--modal-title-text, var(--text-primary));font-weight:600}.apqm-btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--modal-close-button-color, var(--text-secondary));padding:.5rem;line-height:1;transition:var(--transition)}.apqm-btn-close:hover{color:var(--modal-close-button-hover-color, var(--accent-color));transform:rotate(90deg)}.apqm-quick-nav{padding:.75rem 1.5rem;border-bottom:1px solid var(--border-primary);background-color:var(--background-tertiary);font-size:var(--font-size-sm);flex-shrink:0}.apqm-quick-nav-select{padding:.375rem .75rem;font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);border:1px solid var(--input-border);background-color:var(--input-bg);color:var(--input-text);margin-left:.5rem}.apqm-quick-nav-select:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.apqm-body{padding:1.5rem;overflow-y:auto;flex-grow:1;background-color:var(--background-primary)}.apqm-body .assessment-question-display-wrapper{border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:1rem;background-color:var(--background-secondary)}.apqm-body .assessment-question-display-wrapper.preview-mode .question-card-header{padding-bottom:.5rem}.apqm-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--border-primary);background-color:var(--background-tertiary);flex-shrink:0}.apqm-nav-btn{background-color:var(--button-primary-bg, var(--accent-color));color:var(--text-on-primary-button, white);border:none;padding:.5rem 1rem;border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;display:inline-flex;align-items:center;gap:.5rem;transition:var(--transition)}.apqm-nav-btn:hover:not(:disabled){background-color:var(--button-primary-hover-bg, var(--accent-color-hover));transform:translateY(-1px);box-shadow:var(--box-shadow-sm)}.apqm-nav-btn:disabled{background-color:var(--button-disabled-bg, #6c757d);color:var(--button-disabled-text, #e9ecef);cursor:not-allowed;transform:none;box-shadow:none}.apqm-nav-status{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.assessment-question-display-wrapper.preview-mode .question-option-item.correct-preview{border-color:var(--success-color);background-color:var(--success-bg)}.assessment-question-display-wrapper.preview-mode .question-option-item.correct-preview .option-indicator.radio,.assessment-question-display-wrapper.preview-mode .question-option-item.correct-preview .option-indicator.checkbox{border-color:var(--success-color)}.assessment-question-display-wrapper.preview-mode .question-option-item.correct-preview .option-indicator.radio:after,.assessment-question-display-wrapper.preview-mode .question-option-item.correct-preview .option-indicator.checkbox:after{background-color:var(--success-color)}.assessment-question-display-wrapper.preview-mode .question-explanation-preview{margin-top:1rem;padding:.75rem 1rem;border:1px dashed var(--border-secondary);background-color:var(--background-tertiary);border-radius:var(--border-radius-md)}.assessment-question-display-wrapper.preview-mode .question-explanation-preview h4{margin-top:0;margin-bottom:.5rem;font-size:var(--font-size-base);color:var(--text-primary);font-weight:600}.teacher-assessment-detail-page{padding:1.5rem;background-color:var(--background-primary);min-height:100vh}.detail-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.header-title-wrapper{display:flex;align-items:center;gap:.75rem;flex-grow:1}.detail-page-header h1{font-size:1.5rem;color:var(--text-primary);margin:0;line-height:1.3}.btn-back{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--background-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);padding:.5rem 1rem;border-radius:.375rem;font-weight:500;transition:all .2s ease-in-out;flex-shrink:0;cursor:pointer}.btn-back:hover{background-color:var(--background-hover-subtle);border-color:var(--border-secondary)}.detail-page-content-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.detail-page-main-content,.detail-page-sidebar{display:flex;flex-direction:column;gap:1.5rem}.content-card{background-color:var(--card-bg);border:1px solid var(--border-primary);border-radius:.75rem;box-shadow:var(--shadow-md);overflow:hidden}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.card-header h3{font-size:1.1rem;margin:0;font-weight:600;display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.card-body{padding:1.25rem}.summary-grid{display:grid;grid-template-columns:1fr;gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;font-size:.9rem;padding-bottom:.75rem;border-bottom:1px dashed var(--border-secondary)}.summary-item:last-child{border-bottom:none;padding-bottom:0}.summary-item strong{font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5em;flex-shrink:0}.summary-item span{font-weight:500;color:var(--text-primary);text-align:right;word-break:break-word}.assessment-description{margin-top:1rem;font-size:.9rem;line-height:1.6;color:var(--text-secondary);background-color:var(--background-tertiary);padding:.75rem;border-radius:.375rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.btn-card-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.75rem .5rem;border-radius:.5rem;border:1px solid;font-weight:500;font-size:.8rem;text-align:center;transition:all .2s ease;cursor:pointer}.btn-card-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-card-action:disabled{opacity:.6;cursor:not-allowed}.btn-card-action svg{font-size:1.25rem}.btn-card-action .loading-icon{animation:spin 1s linear infinite}.btn-card-action.action-assign{background-color:var(--button-action-assign-bg);border-color:var(--button-action-assign-border);color:var(--button-action-assign-text)}.btn-card-action.action-review{background-color:var(--button-action-review-bg);border-color:var(--button-action-review-border);color:var(--button-action-review-text)}.btn-card-action.action-print{background-color:var(--button-action-print-bg);border-color:var(--button-action-print-border);color:var(--button-action-print-text)}.btn-card-action.action-sheet{background-color:var(--button-action-sheet-bg);border-color:var(--button-action-sheet-border);color:var(--button-action-sheet-text)}.btn-card-action.action-report{background-color:var(--button-action-report-bg);border-color:var(--button-action-report-border);color:var(--button-action-report-text)}.no-data-placeholder{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.95rem;background-color:var(--background-tertiary);border-radius:.5rem;margin-top:1rem}.student-filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.filter-tab-btn{background-color:var(--background-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);padding:.4rem .8rem;border-radius:.375rem;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-tab-btn:hover{background-color:var(--background-hover-subtle);border-color:var(--border-primary);color:var(--text-primary)}.student-results-table-container{width:100%;overflow-x:auto;margin-top:1rem}.student-results-table{width:100%;border-collapse:collapse}.student-results-table th,.student-results-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-secondary);vertical-align:middle}.student-results-table th{font-weight:600;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.student-results-table td{font-size:.9rem;color:var(--text-primary)}.student-results-table .action-cell{text-align:right}.student-results-table tr:last-child td{border-bottom:none}.status-text{font-style:italic;color:var(--text-muted);font-size:.9em}.btn-view-result,.btn-upload-grade{display:inline-flex;align-items:center;gap:.5em;font-size:.85rem;padding:.4rem .8rem;border-radius:.25rem;border:1px solid;font-weight:500;cursor:pointer}.btn-view-result{background-color:transparent;border-color:var(--text-secondary);color:var(--text-primary)}.btn-view-result:hover{background-color:var(--background-hover-subtle)}.btn-upload-grade{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent)}.btn-upload-grade:disabled{opacity:.7;cursor:not-allowed}.btn-upload-grade .loading-icon{animation:spin 1s linear infinite}.assessment-type-badge{padding:.25rem .6rem;border-radius:1rem;font-size:.8rem;font-weight:600;text-transform:capitalize}.type-test{background-color:var(--badge-test-bg);color:var(--badge-test-text)}.type-assignment{background-color:var(--badge-assignment-bg);color:var(--badge-assignment-text)}@media (min-width: 992px){.detail-page-content-grid{grid-template-columns:2fr 1fr}}@media (max-width: 991.98px){.detail-page-content-grid{display:flex;flex-direction:column}.detail-page-sidebar{order:1}.detail-page-main-content{order:2}}@media (max-width: 768px){.detail-page-header{flex-direction:column;align-items:flex-start}.header-title-wrapper{width:100%}.summary-grid{grid-template-columns:1fr}}.review-card{background-color:var(--background-primary);border:1px solid var(--border-primary);border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;overflow:hidden}.review-card-header{display:flex;align-items:center;padding:.75rem 1.25rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary)}.question-number{font-weight:600;font-size:1.1rem;color:var(--text-primary);margin-right:auto}.question-type-badge{background-color:var(--background-tertiary);color:var(--text-secondary);padding:.25rem .6rem;border-radius:12px;font-size:.8rem;font-weight:500;margin-right:1rem}.remove-btn{background-color:var(--danger-bg-light);color:var(--danger-text);border:1px solid var(--danger-border);border-radius:50%;width:28px;height:28px;font-size:1.5rem;line-height:26px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.remove-btn:hover:not(:disabled){background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}.remove-btn:disabled{opacity:.5;cursor:not-allowed}.review-card-body{padding:1.25rem}.review-block{background-color:var(--background-secondary-light);border:1px dashed var(--border-secondary);padding:1rem;margin-bottom:1.25rem;border-radius:6px}.review-block h4{margin-top:0;margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.question-html{font-size:1rem;line-height:1.6;color:var(--text-primary)}.question-html p:first-child{margin-top:0}.options-container{margin-top:1.5rem}.options-container h4{margin-bottom:.5rem;font-size:1rem;color:var(--text-secondary)}.options-container ul{list-style:none;padding-left:0;margin:0}.options-container li{padding:.75rem 1rem;border:1px solid var(--border-primary);margin-top:.5rem;border-radius:6px;background-color:var(--background-primary);transition:border-color .2s;line-height:1.5}.options-container li.correct-option{background-color:var(--success-bg-light);border-color:var(--success-border);color:var(--success-text);font-weight:600}.options-container li.correct-option:before{content:"✔ ";color:var(--success-color);margin-right:.5em;font-weight:700}.review-card-footer{padding:1rem 1.25rem;background-color:var(--background-secondary);border-top:1px solid var(--border-primary)}.solution-toggle-btn{width:100%;background:none;border:none;padding:.5rem;margin:-.5rem;border-radius:4px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:.9rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:background-color .2s}.solution-toggle-btn:hover{background-color:var(--background-tertiary)}.solution-toggle-btn span{color:var(--text-primary)}.solution-content{margin-top:1rem;animation:fadeIn .5s ease-in-out}.correct-answer-display{font-size:1rem;margin-bottom:1rem;padding:.75rem;background-color:var(--background-primary);border:1px solid var(--border-secondary);border-left:4px solid var(--accent-color);border-radius:4px}.correct-answer-display strong{color:var(--accent-color-dark)}.explanation-html{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border-secondary);font-size:.95rem;line-height:1.6;color:var(--text-primary)}.review-page-container{padding:clamp(1rem,3vw,1.5rem);display:flex;flex-direction:column;gap:1.5rem;width:100%;flex-grow:1}.review-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;background-color:var(--background-secondary);padding:1.5rem 2rem;border-radius:8px;border:1px solid var(--border-primary)}.header-info h1{margin:0 0 .25rem;font-size:1.6rem;color:var(--text-primary)}.header-info .assessment-title{margin:0;color:var(--text-secondary);font-size:1rem}.status-badge{display:inline-block;margin-top:.5rem;padding:.3rem .8rem;border-radius:12px;font-weight:600;font-size:.8rem;text-transform:capitalize;border:1px solid}.status-draft{background-color:var(--warning-bg-light);color:var(--warning-text);border-color:var(--warning-border)}.header-actions{display:flex;align-items:center;gap:1rem}.generation-status{text-align:center}.generation-status .count-bubble{font-size:1.3rem;font-weight:700;padding:.4rem .9rem;border-radius:20px;background-color:var(--accent-color-light);color:var(--accent-color)}.generation-status p{margin:.4rem 0 0;font-size:.8rem;color:var(--text-secondary)}.action-btn{padding:.7rem 1.2rem;font-size:.9rem;display:flex;align-items:center;gap:.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease-in-out}.action-btn span{display:block}.action-btn:disabled{cursor:not-allowed;opacity:.6;filter:grayscale(50%)}.regenerate-btn{background-color:var(--accent-color);color:#fff}.publish-btn{background-color:var(--success-color);color:#fff}.review-controls{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;background-color:var(--background-secondary);border-radius:8px;border:1px solid var(--border-primary);align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group.filter-group{flex:1 1 200px}.control-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.control-select{width:100%;padding:.6rem;border-radius:4px;background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);height:44px}.navigation-group{flex:2 1 300px;display:flex;justify-content:flex-end;align-items:flex-end;gap:1rem}.navigation-group .control-group{min-width:180px;flex-grow:1}.carousel-nav-arrows{display:flex;gap:.5rem}.carousel-arrow{background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:4px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.carousel-arrow:hover:not(:disabled){background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.carousel-arrow:disabled{opacity:.4;cursor:not-allowed}.carousel-arrow svg{font-size:1.8rem}.review-carousel-wrapper{position:relative;width:100%}.review-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.review-carousel::-webkit-scrollbar{display:none}.carousel-item{flex:0 0 100%;width:100%;scroll-snap-align:start;padding:0}.empty-state-review{padding:4rem 1rem;text-align:center}.scroll-to-top-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000}@media (max-width: 768px){.review-header{flex-direction:column;align-items:stretch;padding:1rem;margin-bottom:0}.header-info{text-align:center;margin-bottom:.5rem}.review-controls{padding:.5rem}.review-card{margin-top:0}}.manage-batches-page{max-width:900px;margin:var(--spacing-lg) auto;padding:var(--spacing-lg);color:var(--text-primary)}.manage-batches-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary);flex-wrap:wrap}.manage-batches-header h2{font-size:1.6rem;font-weight:600;margin:0;color:var(--text-primary)}.manage-batches-header .btn svg{margin-right:.5em}.batch-list-container{margin-top:1.5rem}.batch-list-table-container{width:100%;overflow-x:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);background-color:var(--background-secondary)}.batch-list-table{width:100%;min-width:600px;border-collapse:collapse;font-size:.9rem}.batch-list-table .batch-description{white-space:normal;font-size:.85rem;color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis}.no-batches-message,.loading-batches-message,.error-batches-message{padding:2rem;text-align:center;color:var(--text-secondary);background-color:var(--background-secondary);border-radius:var(--border-radius-md);margin-top:1rem;border:1px dashed var(--border-secondary)}.error-batches-message{color:var(--danger-color);border:1px solid var(--danger-border)}.loading-batches-message .loading-spinner-icon{font-size:1.5rem;margin-right:.5em}.loading-spinner-icon{animation:spin 1s linear infinite;display:inline-block;line-height:1}.loading-spinner-icon.small{width:1em;height:1em}.manage-students-page{max-width:1000px;margin:var(--spacing-xl, 2rem) auto;padding:var(--spacing-lg, 1.5rem);color:var(--text-primary);background-color:var(--background-primary);min-height:100vh}.page-main-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl, 2rem);padding-bottom:var(--spacing-lg, 1.5rem);border-bottom:2px solid var(--accent-color);flex-wrap:wrap;gap:var(--spacing-md, 1rem)}.page-main-header h2{font-size:2rem;font-weight:600;margin:0;color:var(--text-primary);display:flex;align-items:center}.page-main-header h2 svg{margin-right:.6em;font-size:.9em;color:var(--accent-color)}.page-main-header .btn-back-to-teacher-dash{display:inline-flex;align-items:center}.manage-batches-section{margin-top:var(--spacing-lg)}.batch-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg, 1.5rem);flex-wrap:wrap;gap:var(--spacing-md, 1rem)}.batch-list-header .section-title{margin-bottom:0;flex-shrink:0;font-size:1.5rem;padding-left:var(--spacing-md, 1rem);border-left:4px solid var(--accent-color)}.batch-list-header .btn-create-batch svg{margin-right:.5em}.batch-list-table-container{width:100%;overflow-x:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-lg, 8px);background-color:var(--background-secondary);box-shadow:var(--shadow-sm, 0 2px 6px rgba(0,0,0,.1));margin-top:0}.batch-list-table{width:100%;min-width:700px;border-collapse:collapse;font-size:.9rem}.batch-list-table th,.batch-list-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);vertical-align:middle;white-space:nowrap}.batch-list-table th{background-color:var(--background-tertiary);font-weight:600;color:var(--text-secondary);text-transform:uppercase;font-size:.75rem}.batch-list-table tbody tr:last-child td{border-bottom:none}.batch-list-table tbody tr:hover{background-color:var(--background-hover)}.batch-list-table .batch-name{font-weight:500;color:var(--text-primary)}.batch-list-table .batch-description{white-space:normal;font-size:.85rem;color:var(--text-secondary);max-width:250px;overflow:hidden;text-overflow:ellipsis}.batch-list-table .actions-cell .btn{margin-right:.5rem;padding:.3rem .6rem;font-size:.8rem}.batch-list-table .actions-cell .btn:last-child{margin-right:0}.batch-list-table .actions-cell .btn svg{margin-right:.3em}.user-management-message{margin-top:var(--spacing-lg, 1.5rem);padding:var(--spacing-md, 1rem);border-radius:var(--border-radius-md, 6px);font-size:.95rem;display:flex;align-items:center;border-width:1px;border-style:solid}.user-management-message.success{background-color:var(--alert-success-bg, #2f855a);color:var(--alert-success-text, #f0fff4);border-color:var(--alert-success-border, #38a169)}.user-management-message.error{background-color:var(--alert-danger-bg, #c53030);color:var(--alert-danger-text, #fff5f5);border-color:var(--alert-danger-border, #e53e3e)}.user-management-message.info{background-color:var(--alert-info-bg, #2c5282);color:var(--alert-info-text, #ebf8ff);border-color:var(--alert-info-border, #4299e1)}.user-management-message svg{margin-right:.6em}.loading-message-container,.info-message-container,.error-message-container,.loading-batches-message,.no-batches-message,.error-batches-message{padding:var(--spacing-xl, 2rem);text-align:center;color:var(--text-secondary);background-color:var(--background-secondary);border-radius:var(--border-radius-lg, 8px);margin-top:var(--spacing-lg, 1.5rem);border:1px dashed var(--border-secondary, var(--border-primary))}.error-message-container,.error-batches-message{color:var(--alert-danger-text, #fff5f5);border-color:var(--alert-danger-border, #e53e3e);background-color:var(--alert-danger-bg-translucent, rgba(197, 48, 48, .3))}.error-message-container .btn-danger,.error-batches-message .btn-danger{margin-left:10px}.loading-message-container .loading-spinner-icon,.loading-batches-message .loading-spinner-icon{font-size:1.5rem;margin-right:.5em;vertical-align:middle}.batch-form-section{background-color:var(--background-secondary-accent, var(--background-tertiary));padding:var(--spacing-xl, 2rem);border-radius:var(--border-radius-xl, 12px);margin-top:var(--spacing-lg, 1.5rem);margin-bottom:var(--spacing-xl, 2rem);border:1px solid var(--border-primary-light, var(--border-primary));box-shadow:var(--shadow-lg, 0 8px 25px rgba(0,0,0,.2))}.batch-form-section .section-title-form{font-size:1.4rem;color:var(--text-primary);margin-bottom:var(--spacing-xl, 2rem);padding-bottom:var(--spacing-md, 1rem);border-bottom:1px solid var(--border-primary);font-weight:600}.batch-form .form-group{margin-bottom:var(--spacing-lg, 1.5rem)}.batch-form label{display:block;margin-bottom:var(--spacing-sm, .5rem);font-size:.95rem;color:var(--text-secondary-strong, var(--text-secondary));font-weight:500}.batch-form .form-control{width:100%;padding:var(--input-padding-y, .6rem) var(--input-padding-x, .8rem);color:var(--input-text);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md, 6px);line-height:1.4;font-size:.95rem}.batch-form .form-control::placeholder{color:var(--input-placeholder)}.batch-form .form-control:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}.batch-form textarea.form-control{min-height:80px;resize:vertical}.batch-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md, 1rem);margin-top:var(--spacing-xl, 2rem);padding-top:var(--spacing-lg, 1.5rem);border-top:1px solid var(--border-primary-light, var(--border-primary))}.batch-form-actions .btn{min-width:120px;padding:var(--btn-padding-y, .6rem) var(--btn-padding-x, 1.2rem);font-size:.95rem}.batch-form-actions .btn svg{margin-right:.5em}.batch-student-management-view{padding-top:var(--spacing-lg)}.batch-student-management-header{display:flex;align-items:center;margin-bottom:var(--spacing-xl, 2rem);padding-bottom:var(--spacing-lg, 1.5rem);border-bottom:1px solid var(--border-primary)}.batch-student-management-header .btn-back-to-batches{background:transparent;border:1px solid var(--button-outline-secondary-border, var(--border-secondary, var(--border-primary)));color:var(--button-outline-secondary-text, var(--text-secondary-strong, var(--text-secondary)));padding:var(--spacing-xs, .4rem) var(--spacing-sm, .8rem);border-radius:var(--border-radius-md);margin-right:var(--spacing-lg, 1.5rem);display:inline-flex;align-items:center;font-size:.9rem;transition:var(--transition)}.batch-student-management-header .btn-back-to-batches:hover{background-color:var(--button-outline-secondary-hover-bg, var(--background-hover));color:var(--button-outline-secondary-hover-text, var(--text-primary));border-color:var(--button-outline-secondary-hover-border, var(--border-primary))}.batch-student-management-header .btn-back-to-batches svg{margin-right:.5em}.batch-student-management-header .header-title{font-size:1.6rem;font-weight:600;color:var(--text-primary);margin:0}.batch-student-management-header .batch-name-highlight{color:var(--accent-color-light, var(--accent-color));font-weight:500}.batch-student-management-content{display:flex;flex-direction:column;gap:var(--spacing-xl, 2rem)}.add-students-section{order:1}.current-students-section{order:2}.batch-student-management-section{background-color:var(--background-secondary);padding:var(--spacing-lg, 1.5rem);border-radius:var(--border-radius-lg, 8px);border:1px solid var(--border-light, var(--border-primary))}.batch-student-management-section .sub-section-title{font-size:1.15rem;color:var(--text-primary-muted, var(--text-secondary));margin-top:0;margin-bottom:var(--spacing-lg, 1.5rem);font-weight:500;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light, var(--border-primary))}.student-management-list{list-style:none;padding:0;max-height:300px;overflow-y:auto;border:1px solid var(--border-light, var(--border-primary));border-radius:var(--border-radius-sm)}.available-students-list{max-height:250px}.current-batch-students-list{max-height:300px}.student-management-list li{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm, .75rem) var(--spacing-xs, .25rem);border-bottom:1px solid var(--modal-list-item-border, var(--border-light-transparent, rgba(var(--border-primary-rgb), .3)));font-size:.9rem}.student-management-list li:last-child{border-bottom:none}.student-management-list li .student-info{color:var(--text-primary)}.student-management-list li .student-info .student-email{font-size:.8em;color:var(--text-muted, var(--text-secondary));display:block;margin-top:.1em}.student-management-list li .btn-list-action{padding:.3rem .6rem;font-size:.85rem;border-radius:var(--border-radius-sm)}.student-management-list li .btn-list-action svg{margin-right:.4em}.search-students-for-batch-form{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg, 1.5rem);align-items:stretch}.search-students-for-batch-form .form-group{flex-grow:1;margin-bottom:0}.search-students-for-batch-form .form-control{height:100%}.search-students-for-batch-form .btn-search-icon{padding:var(--input-padding-y, .6rem) var(--input-padding-x, 1rem);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.search-students-for-batch-form .btn-search-icon svg{margin-right:.3em}.empty-list-placeholder{text-align:center;padding:var(--spacing-lg);color:var(--text-muted, var(--text-secondary));font-style:italic}@media (max-width: 768px){.manage-students-page{padding:var(--spacing-md, 1rem)}.page-main-header h2{font-size:1.6rem}.section-title{font-size:1.3rem;padding-left:var(--spacing-sm, .5rem)}.batch-list-header{flex-direction:column;align-items:stretch}.batch-list-header .btn-create-batch{width:100%;justify-content:center;margin-top:var(--spacing-sm)}.batch-list-table-container{overflow-x:visible;border:none;background-color:transparent;box-shadow:none}.batch-list-table{width:100%;min-width:unset;border-spacing:0 var(--spacing-md, 1rem);font-size:.9rem}.batch-list-table thead{display:none}.batch-list-table tbody,.batch-list-table tr,.batch-list-table td{display:block;width:100%!important;box-sizing:border-box}.batch-list-table tr{margin-bottom:var(--spacing-lg, 1.5rem);border:1px solid var(--border-primary);border-radius:var(--border-radius-md, 6px);padding:var(--spacing-md, 1rem);background-color:var(--background-secondary);box-shadow:var(--shadow-sm)}.batch-list-table tr:last-child{margin-bottom:0}.batch-list-table td{text-align:right;position:relative;min-height:1.5em;vertical-align:top;color:var(--text-primary-muted, var(--text-secondary));border-bottom:1px dashed var(--border-light, var(--border-primary));padding:var(--spacing-sm, .6rem) var(--spacing-xs, .25rem) var(--spacing-sm, .6rem) 40%;white-space:normal}.batch-list-table td:last-of-type{border-bottom:none}.batch-list-table td:before{content:attr(data-label);position:absolute;left:var(--spacing-sm, .5rem);padding-right:var(--spacing-sm, .5rem);text-align:left;font-weight:700;color:var(--text-secondary-strong, var(--text-primary));font-size:.85em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:35%}.batch-list-table td.actions-cell{text-align:center;padding:var(--spacing-md, 1rem) 0}.batch-list-table td.actions-cell:before{display:none}.batch-list-table td.actions-cell .btn{margin:var(--spacing-xs, .25rem)}.batch-form-section{padding:var(--spacing-lg)}.batch-form-section .section-title-form{font-size:1.3rem;margin-bottom:var(--spacing-lg)}.batch-form-actions{flex-direction:column-reverse;align-items:stretch}.batch-form-actions .btn{width:100%}.batch-student-management-header{flex-direction:column;align-items:flex-start}.batch-student-management-header .btn-back-to-batches{margin-bottom:var(--spacing-md);margin-right:0;width:100%;justify-content:center}.batch-student-management-header .header-title{font-size:1.4rem;text-align:center;width:100%}.search-students-for-batch-form{flex-direction:column;align-items:stretch}.search-students-for-batch-form .form-control{margin-bottom:var(--spacing-sm)}.search-students-for-batch-form .btn-search-icon{width:100%;justify-content:center}.student-management-list li{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.student-management-list li .btn-list-action{align-self:flex-end;margin-top:var(--spacing-xs)}}@media (max-width: 480px){.page-main-header h2{font-size:1.4rem}.section-title{font-size:1.1rem}.batch-list-table td{font-size:.85rem;padding-left:45%}.batch-list-table td:before{width:40%}}.teacher-student-search-page{padding:2rem;max-width:700px;margin:3rem auto;background-color:var(--background-card, var(--background-secondary));border-radius:var(--border-radius-xl);box-shadow:var(--box-shadow-deep, 0 10px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1));border:1px solid var(--border-primary);overflow:hidden}.search-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-secondary)}.search-page-header h2{margin:0;font-size:1.6rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center}.search-page-header h2 svg{margin-right:.75rem;color:var(--accent-color);font-size:1.2em}.btn-back-to-teacher-dash{padding:.5rem 1rem;font-size:.85rem;border-radius:var(--border-radius-md)}.btn-back-to-teacher-dash:hover{background-color:var(--button-secondary-hover-bg)}.teacher-search-form-container{margin-bottom:2rem}.student-search-label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.student-search-input-row{display:flex;gap:0;align-items:stretch;position:relative}.student-search-input-row .form-control{flex-grow:1;padding:.85rem 1.25rem;font-size:1rem;background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-right:none;border-radius:var(--border-radius-md) 0 0 var(--border-radius-md);transition:border-color .2s,box-shadow .2s;line-height:1.5}.student-search-input-row .form-control:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.15);outline:none;z-index:1}.student-search-input-row .form-control::placeholder{color:var(--text-tertiary);opacity:.8}.student-search-input-row .btn-search{padding:.85rem 1.5rem;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;background-color:var(--accent-color);color:var(--accent-color-contrast, #fff);border:1px solid var(--accent-color);transition:background-color .2s,transform .1s;flex-shrink:0}.student-search-input-row .btn-search:hover:not(:disabled){background-color:var(--accent-color-hover);transform:translateY(-1px)}.student-search-input-row .btn-search:active:not(:disabled){transform:translateY(0)}.student-search-input-row .btn-search:disabled{opacity:.6;cursor:not-allowed}.student-search-input-row .btn-search svg.loading-spinner-icon{width:1em;height:1em}.search-message{margin-top:1.5rem;padding:1rem 1.25rem;border-radius:var(--border-radius-md);font-size:.9rem;text-align:center}.search-message.alert{display:flex;align-items:center;justify-content:center;gap:.6rem}.search-message.info-message{background-color:var(--info-bg-subtle, rgba(var(--info-color-rgb), .1));color:var(--info-text-strong, var(--info-color));border:1px solid var(--info-border-subtle, rgba(var(--info-color-rgb), .2))}.search-results-container{margin-top:2rem}.search-results-container h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-secondary)}.search-results-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.search-results-list li{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background-color:var(--background-list-item, var(--background-tertiary));border-radius:var(--border-radius-lg);transition:background-color .15s ease-in-out,transform .15s ease-in-out,box-shadow .15s ease-in-out;border:1px solid var(--border-secondary)}.search-results-list li:hover{background-color:var(--background-list-item-hover, var(--background-hover));transform:translateY(-2px);box-shadow:var(--box-shadow-sm)}.student-info{flex-grow:1;min-width:0}.student-info .name{font-weight:600;color:var(--text-primary);font-size:1rem;display:block;margin-bottom:.1rem}.student-info .email{font-size:.85rem;color:var(--text-secondary);display:block}.btn-view-analytics{padding:.5rem 1rem;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;margin-left:1rem;border-radius:var(--border-radius-md);background-color:var(--accent-color-subtle-bg, rgba(var(--accent-color-rgb), .15));color:var(--accent-color);border:1px solid transparent;transition:background-color .2s,color .2s,transform .1s,border-color .2s}.btn-view-analytics svg{font-size:1.1em}.btn-view-analytics:hover:not(:disabled){background-color:var(--accent-color);color:var(--accent-color-contrast, #fff);border-color:var(--accent-color);transform:scale(1.03)}@media (max-width: 768px){.teacher-student-search-page{padding:1.5rem;margin:1.5rem;max-width:none}.search-page-header h2{font-size:1.3rem}.student-search-input-row .form-control,.student-search-input-row .btn-search{font-size:.9rem}.search-results-list li{flex-direction:column;align-items:flex-start;gap:.5rem}.btn-view-analytics{align-self:flex-start;margin-left:0;margin-top:.5rem;width:auto}}@media (max-width: 480px){.teacher-student-search-page{padding:1rem;margin:1rem;border-radius:var(--border-radius-lg)}.search-page-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}.search-page-header .btn-back-to-teacher-dash{align-self:flex-start;padding:.4rem .8rem;font-size:.8rem}.student-search-input-row{flex-direction:column;gap:.75rem}.student-search-input-row .form-control{border-radius:var(--border-radius-md);border-right:1px solid var(--input-border)}.student-search-input-row .btn-search{border-radius:var(--border-radius-md);width:100%}.student-info .name{font-size:.95rem}.student-info .email{font-size:.8rem}.btn-view-analytics{padding:.4rem .8rem;font-size:.75rem}}.teacher-view-student-dashboard{padding:1.5rem;max-width:1200px;margin:0 auto;color:var(--text-primary)}.teacher-view-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.teacher-view-header h2{margin:0;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;flex-grow:1;min-width:200px}.teacher-view-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.teacher-chapter-feedback-card.strong-chapters{border-left-color:var(--success-color, green)}.teacher-chapter-feedback-card.needs-accuracy{border-left-color:var(--warning-color, orange)}.teacher-chapter-feedback-card.not-yet-practiced{border-left-color:var(--info-color, var(--text-secondary, gray))}.teacher-chapter-list-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1.25rem;border-bottom:1px dashed var(--border-primary)}.teacher-chapter-list li:last-child .teacher-chapter-list-item{border-bottom:none}.teacher-chapter-info{flex-grow:1;min-width:0;font-size:.85rem;color:var(--text-secondary);font-weight:500}.teacher-chapter-name-display{display:block;white-space:normal;word-break:break-word}.teacher-chapter-subject-tag{font-size:.7rem;color:var(--text-tertiary);margin-left:.3rem}.btn-assign-chapter{padding:.25rem .5rem;font-size:.75rem;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--border-radius-sm);background-color:var(--accent-color-subtle-bg, rgba(var(--accent-color-rgb), .1));color:var(--accent-color);border:1px solid var(--accent-color-light-border, rgba(var(--accent-color-rgb), .3));transition:var(--transition);font-weight:500}.btn-assign-chapter:hover:not(:disabled){background-color:var(--accent-color-subtle-hover-bg, rgba(var(--accent-color-rgb), .2));border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.btn-assign-chapter svg{width:14px;height:14px}.loading-details-message,.no-details-message,.error-details-message{padding:2rem;text-align:center;font-size:1rem;color:var(--text-secondary)}.loading-details-message .loading-spinner-icon.large,.no-details-message .icon,.error-details-message .icon{display:block;margin:0 auto .75rem;font-size:2.5rem}.error-details-message{margin:1rem auto;max-width:600px}.teacher-view-filter-select{padding:.5rem 1.75rem .5rem .8rem;font-size:.9rem;background-color:var(--input-bg);color:var(--text-primary);border:1px solid var(--input-border);border-radius:var(--border-radius);min-width:120px}@media (max-width: 768px){.teacher-view-header{flex-direction:column;align-items:flex-start}.teacher-view-header-actions{width:100%;justify-content:space-between}.teacher-view-filter-select{font-size:.8rem;padding:.3rem 1.2rem .3rem .6rem;min-width:100px}.btn-assign-chapter{font-size:.7rem;padding:.2rem .4rem}.btn-assign-chapter svg{width:12px;height:12px}}@media (max-width: 480px){.teacher-view-header h2{font-size:1.25rem}.teacher-view-header-actions .btn{font-size:.8rem;padding:.3rem .6rem}.teacher-chapter-list-item{padding:.5rem 1rem}.teacher-chapter-info{font-size:.8rem}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--modal-backdrop-bg, rgba(0, 0, 0, .65));display:flex;justify-content:center;align-items:center;z-index:var(--z-index-modal, 1050);padding:var(--spacing-md, 1rem);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s linear}.modal-overlay.visible{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s 0s linear}.modal-content-box.assign-assessment-modal-content{background-color:var(--modal-content-bg, var(--background-secondary));color:var(--modal-text, var(--text-primary));border-radius:var(--border-radius-xl, 12px);box-shadow:var(--shadow-xl, 0 10px 30px rgba(0,0,0,.2));width:100%;max-width:550px;max-height:90vh;display:flex;flex-direction:column;border:1px solid var(--modal-border-color, var(--border-primary));transform:scale(.95);opacity:0;transition:transform .3s ease,opacity .3s ease}.modal-overlay.visible .modal-content-box.assign-assessment-modal-content{transform:scale(1);opacity:1}.assign-assessment-modal-content .modal-header{padding:var(--spacing-sm, 12px) var(--spacing-lg, 24px);border-bottom:1px solid var(--modal-header-border, var(--border-light));display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.assign-assessment-modal-content .modal-header h2{font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:var(--spacing-sm, 10px);margin:0}.assign-assessment-modal-content .modal-header h2 svg{color:var(--accent-color);font-size:1.2em}.assign-assessment-modal-content .btn-close{font-size:1.5rem;color:var(--modal-close-button-color, var(--text-secondary));background:none;border:none;cursor:pointer;transition:var(--transition)}.assign-assessment-modal-content .btn-close:hover{color:var(--modal-close-button-hover-color, var(--text-primary));background-color:var(--background-hover-subtle)}.assign-assessment-modal-content .btn-close:disabled{opacity:.5;cursor:not-allowed}.assign-assessment-modal-content .modal-body{padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);flex-grow:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.assign-assessment-modal-content .assessment-title-display{font-size:.9rem;color:var(--text-secondary);padding-bottom:var(--spacing-sm, 12px);border-bottom:1px solid var(--border-light);flex-shrink:0}.assign-assessment-modal-content .assessment-title-display strong{color:var(--text-primary);font-weight:600}.assign-assessment-modal-content .form-group{margin-bottom:0}.assign-assessment-modal-content .form-group label{font-weight:500;font-size:.85rem;color:var(--text-primary);margin-bottom:var(--spacing-xs, 6px);display:block}.assign-assessment-modal-content .form-select,.assign-assessment-modal-content .form-control{width:100%;font-size:.9rem;padding:var(--input-padding-y, .5rem) var(--input-padding-x, .75rem)}.assign-assessment-modal-content .student-search-results{max-height:160px;overflow-y:auto;border:1px solid var(--input-border);border-top:none;border-radius:0 0 var(--border-radius-md) var(--border-radius-md);background-color:var(--input-bg)}.assign-assessment-modal-content .student-search-results ul{list-style:none;padding:0;margin:0}.assign-assessment-modal-content .student-list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs, 6px) var(--spacing-sm, 10px);font-size:.85rem;border-bottom:1px solid var(--border-ultralight);cursor:pointer;transition:background-color .15s ease}.assign-assessment-modal-content .student-list-item:last-child{border-bottom:none}.assign-assessment-modal-content .student-list-item:hover{background-color:var(--background-hover)}.assign-assessment-modal-content .student-list-item .student-info{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-assessment-modal-content .student-list-item .student-name{color:var(--text-primary);font-weight:500}.assign-assessment-modal-content .student-list-item .student-email{color:var(--text-secondary);font-size:.8rem;margin-left:var(--spacing-xs)}.assign-assessment-modal-content .student-list-item .btn-xs{padding:.2rem .5rem;font-size:.75rem;flex-shrink:0}.assign-assessment-modal-content .no-results-message{text-align:center;color:var(--text-muted);font-size:.85rem;padding:var(--spacing-sm, .75rem) 0;border:1px dashed var(--border-secondary);border-radius:var(--border-radius-md);margin-top:var(--spacing-sm)}.assign-assessment-modal-content .selected-targets-list{max-height:120px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--border-radius-md);padding:var(--spacing-xs, 4px);background-color:var(--background-primary)}.assign-assessment-modal-content .selected-targets-list ul{list-style:none;padding:0;margin:0}.assign-assessment-modal-content .selected-target-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs, 6px) var(--spacing-sm, 8px);font-size:.85rem;background-color:var(--background-secondary-accent, var(--background-secondary));border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-xxs, 4px)}.assign-assessment-modal-content .selected-target-item:last-child{margin-bottom:0}.assign-assessment-modal-content .selected-target-item .target-item-info{display:flex;align-items:center;flex-grow:1;overflow:hidden;gap:var(--spacing-xs, 6px)}.assign-assessment-modal-content .selected-target-item .target-name{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-assessment-modal-content .selected-target-item .target-email{color:var(--text-secondary);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assign-assessment-modal-content .selected-target-item .btn-remove-target{padding:.2rem .4rem;font-size:.75rem;line-height:1;flex-shrink:0}.assign-assessment-modal-content .due-date-group{flex-shrink:0}.assign-assessment-modal-content .modal-footer{padding:var(--spacing-sm, 12px) var(--spacing-lg, 24px);border-top:1px solid var(--modal-footer-border, var(--border-light));display:flex;justify-content:flex-end;gap:var(--spacing-sm, 8px);flex-shrink:0}.assign-assessment-modal-content .modal-footer .btn{min-width:90px}.assign-assessment-modal-content .modal-footer .btn-primary{min-width:140px}.assign-assessment-modal-content .modal-footer .btn svg{margin-right:.4em}.assign-assessment-modal-content .alert{margin:0;padding:var(--spacing-sm, 10px) var(--spacing-md, 12px);font-size:.88rem;border-radius:var(--border-radius-sm);display:flex;align-items:center;flex-shrink:0}@media (max-width: 768px){.modal-content-box.assign-assessment-modal-content{max-width:95%;max-height:90vh}.assign-assessment-modal-content .modal-body{padding:var(--spacing-md, 16px)}.assign-assessment-modal-content .modal-footer{flex-direction:column-reverse;padding:var(--spacing-md, 16px)}.assign-assessment-modal-content .modal-footer .btn{width:100%}}.ai-tutor-selection-container{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background-color:var(--background-primary);animation:fadeIn .3s ease-out}.selection-form-wrapper{width:100%;max-width:450px;margin:1rem auto;padding:2rem;background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);border:1px solid var(--border-primary)}.selection-form__back-button{display:flex;align-items:center;gap:.4rem;background-color:transparent;color:var(--text-secondary);border:none;padding:.25rem 0;margin-bottom:1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:color .2s ease}.selection-form__back-button:hover{color:var(--text-primary)}.selection-form__back-button svg{width:18px;height:18px}.selection-form__title{text-align:center;color:var(--text-primary);font-weight:600;font-size:1.6rem;margin-top:0;margin-bottom:2.5rem}.selection-form{display:flex;flex-direction:column;gap:1.75rem}.selection-form__group{display:flex;flex-direction:column}.selection-form__label{display:block;margin-bottom:.6rem;font-weight:500;color:var(--text-secondary);font-size:.9rem}.selection-form__select{width:100%;padding:.8rem 1rem;font-size:1rem;line-height:1.5;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--border-radius-md);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236C757D' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2 5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:.8em}.dark-mode .selection-form__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ADB5BD' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2 5l6 6 6-6'/%3E%3C/svg%3E")}.selection-form__select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 .2rem var(--accent-color-light-translucent)}.dark-mode .selection-form__select:focus{box-shadow:0 0 0 .2rem var(--accent-color-dark-translucent)}.selection-form__select:disabled{background-color:var(--input-disabled-bg);color:var(--text-tertiary);cursor:not-allowed;opacity:.7}.selection-form__select option:disabled{color:var(--text-tertiary);background-color:var(--background-disabled)}.selection-form__button{width:100%;padding:.9rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius-md);border:1px solid transparent;cursor:pointer;transition:all .2s ease;margin-top:1rem;text-align:center}.selection-form__button--primary{background-color:var(--accent-color);color:var(--accent-text-color, #fff);border-color:var(--accent-color)}.selection-form__button--primary:hover{background-color:var(--accent-color-hover);border-color:var(--accent-color-hover);box-shadow:0 2px 8px #0000001a}.selection-form__button:disabled{background-color:var(--button-disabled-bg);color:var(--button-disabled-text);border-color:var(--button-disabled-border, var(--button-disabled-bg));cursor:not-allowed;opacity:.65;box-shadow:none}.selection-form__alert{display:flex;align-items:center;padding:.8rem 1rem;border-radius:var(--border-radius-md);font-size:.9rem;text-align:left;border:1px solid transparent;background-color:var(--danger-background-soft);color:var(--danger-text-strong);border-color:var(--danger-border-soft)}.selection-form__message{font-size:.85rem;color:var(--text-tertiary);margin-top:.6rem;padding-left:.1rem}.spinner-inline{width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite;display:inline-block;vertical-align:text-bottom}@media (max-width: 480px){.selection-form-wrapper{margin:.5rem;padding:1.5rem;box-shadow:none;border:none;background-color:transparent}.selection-form__title{font-size:1.4rem;margin-bottom:2rem}}.explainer-overlay-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem;animation:fadeIn .3s ease}.explainer-overlay-content{background-color:var(--card-bg);color:var(--text-secondary);border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slideInUp .4s cubic-bezier(.16,1,.3,1)}.explainer-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.explainer-header h3{margin:0;font-size:1.25rem;color:var(--text-primary);text-align:center;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-button,.close-button{background:var(--button-secondary-bg);border:1px solid var(--border-primary);border-radius:var(--border-radius-round);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .2s ease;flex-shrink:0}.back-button:hover,.close-button:hover{background:var(--button-secondary-hover-bg);color:var(--text-primary)}.explainer-body{padding:1.5rem;overflow-y:auto;flex-grow:1}.loading-state{text-align:center;padding:4rem 1rem;color:var(--text-secondary)}.loading-state .spinner{width:32px;height:32px;margin:0 auto 1rem;border:3px solid var(--border-primary);border-top-color:var(--text-accent);border-radius:50%;animation:spin 1s linear infinite}.loading-state.small{padding:1rem}.loading-state.small .spinner{width:24px;height:24px}.error-state{color:var(--danger-color);text-align:center;padding:2rem 1rem}.explanation-html-content h4{font-size:1.1rem;color:var(--text-accent);margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:2px solid var(--border-primary)}.explanation-html-content h4:first-child{margin-top:0}.explanation-html-content p,.explanation-html-content li{line-height:1.7;color:var(--text-secondary)}.explanation-html-content ul{padding-left:20px;list-style-type:"✓ "}.explanation-html-content li::marker{color:var(--text-accent)}.explanation-html-content b,.explanation-html-content strong{color:var(--text-primary);font-weight:600}.explanation-html-content dfn{color:var(--text-accent);border-bottom:1px dotted;font-style:normal;cursor:pointer;transition:all .2s ease}.explanation-html-content dfn:hover{background-color:var(--accent-color-light);border-bottom-style:solid}.action-buttons-container{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px dashed var(--border-secondary)}.btn-action,.btn-see-solution{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--button-secondary-accent-bg);color:var(--button-secondary-accent-text);border:1px solid var(--button-secondary-accent-border);padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;border-radius:var(--border-radius-pill);cursor:pointer;transition:all .2s ease}.btn-action:hover,.btn-see-solution:hover{background-color:var(--button-secondary-accent-hover-bg);transform:translateY(-2px)}.btn-action:disabled,.btn-see-solution:disabled{opacity:.6;cursor:not-allowed;transform:none}.action-content-section{margin-top:1.5rem;text-align:left;background-color:var(--background-tertiary);padding:1rem 1.5rem;border-radius:var(--border-radius-md);border:1px solid var(--border-primary)}.action-content-section h5{font-size:1.05rem;color:var(--text-primary);margin-top:0;margin-bottom:.75rem}@keyframes summary-fade-in{0%{opacity:0}to{opacity:1}}@keyframes summary-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.summary-overlay-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:3000;padding:1rem;animation:summary-fade-in .3s ease}.summary-overlay-card{background-color:var(--card-bg);color:var(--text-secondary);border-radius:var(--border-radius-xl);border:1px solid var(--border-primary);box-shadow:var(--box-shadow-lg);width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:summary-slide-up .4s cubic-bezier(.16,1,.3,1)}.summary-header{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1.5rem 1.5rem;background-color:var(--background-tertiary)}.summary-icon-wrapper{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--success-color),var(--success-border));display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;margin-bottom:1rem;box-shadow:0 4px 15px rgba(var(--success-color-rgb),.3)}.summary-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.summary-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.summary-item{display:flex;align-items:flex-start;gap:1rem;background-color:var(--background-tertiary);padding:1rem;border-radius:var(--border-radius-md);border-left:4px solid}.summary-item-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff}.summary-item-text h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.summary-item-text p{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.summary-item.win{border-color:var(--success-color)}.summary-item.win .summary-item-icon{background-color:var(--success-bg);color:var(--success-color)}.summary-item.polish{border-color:var(--warning-color)}.summary-item.polish .summary-item-icon{background-color:var(--warning-bg);color:var(--warning-color)}.summary-item.suggestion{border-color:var(--accent-color)}.summary-item.suggestion .summary-item-icon{background-color:var(--accent-color-light);color:var(--accent-color)}.summary-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-primary);text-align:right;background-color:var(--card-bg)}.summary-finish-button{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:.75rem 2rem;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;transition:background-color .2s ease}.summary-finish-button:hover{background-color:var(--button-primary-hover-bg)}.ask-jiya-orb{position:fixed;bottom:90px;right:20px;width:60px;height:60px;background-color:transparent;border:none;border-radius:50%;cursor:pointer;z-index:1000;padding:0;transition:transform .2s ease-in-out}.ask-jiya-orb:hover{transform:scale(1.1)}.ask-jiya-orb-inner{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at center,var(--purple-accent-base) 0%,var(--accent-color) 70%);box-shadow:0 0 5px var(--accent-color),0 0 10px var(--purple-accent-base),inset 0 0 8px #fff3;animation:pulse-ask-jiya 4s infinite ease-in-out}.ask-jiya-icon{color:#fff;font-size:24px;z-index:1;filter:drop-shadow(0 0 3px rgba(0,0,0,.5))}@keyframes pulse-ask-jiya{0%,to{transform:scale(.95);box-shadow:0 0 5px var(--accent-color),0 0 10px var(--purple-accent-base),inset 0 0 8px #fff3}50%{transform:scale(1);box-shadow:0 0 10px var(--accent-color),0 0 20px var(--purple-accent-base),inset 0 0 10px #ffffff4d}}@keyframes fadeInPopup{0%{opacity:0}to{opacity:1}}@keyframes slideInUpPopup{0%{transform:translateY(30px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.topic-list-popup-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1050;animation:fadeInPopup .3s ease}.topic-list-popup{background-color:var(--background-secondary);padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);box-shadow:var(--box-shadow-xl);width:90%;max-width:450px;max-height:80vh;display:flex;flex-direction:column;animation:slideInUpPopup .4s cubic-bezier(.16,1,.3,1)}.topic-list-popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-primary)}.topic-list-popup-header h4{margin:0;font-size:1.1rem;color:var(--text-primary);font-weight:600}.topic-list-popup-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;line-height:1}.topic-list-popup-header .close-btn:hover{color:var(--text-primary)}.topic-list-popup-body{overflow-y:auto;flex-grow:1}.topic-list-popup .loading-state.small{padding:2rem;text-align:center;color:var(--text-secondary)}.topic-list-popup .loading-state.small .spinner{width:24px;height:24px;margin:0 auto .5rem;border:3px solid var(--border-primary);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.topic-list-popup ul{list-style:none;padding:0;margin:0}.topic-list-popup li{display:flex;align-items:center;padding:.7rem .2rem;font-size:.95rem;border-bottom:1px solid var(--border-secondary);color:var(--text-secondary);transition:background-color .2s ease}.topic-list-popup li:last-child{border-bottom:none}.topic-list-popup .status-indicator{width:10px;height:10px;border-radius:50%;margin-right:.8rem;flex-shrink:0}.topic-list-popup .status-weak{background-color:var(--danger-color)}.topic-list-popup .status-learning{background-color:#f59e0b}.topic-list-popup .status-strong{background-color:var(--success-color)}.topic-list-popup .status-current{background-color:var(--accent-color)}.topic-list-popup .status-not-started{background-color:var(--text-tertiary)}.topic-list-popup .topic-name{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.topic-list-popup .topic-score{font-size:.8rem;color:var(--text-tertiary);margin-left:.5rem;font-weight:500;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(30px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.mastery-screen-new{display:flex;flex-direction:column;height:100vh;width:100vw;background-color:var(--background-primary);color:var(--text-primary);font-family:Poppins,sans-serif;overflow:hidden;position:relative}.mastery-header-new{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem;background-color:var(--background-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0;z-index:10}.mastery-header-row{display:flex;align-items:center;gap:1rem;width:100%}.mastery-quit-button{display:inline-flex;align-items:center;gap:.5rem;background-color:transparent;border:1px solid var(--danger-color);color:var(--danger-color);padding:.5rem 1rem;height:38px;box-sizing:border-box;border-radius:var(--border-radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.mastery-quit-button:hover{background-color:var(--danger-bg);color:var(--danger-color)}:root.dark-mode .mastery-quit-button:hover{background-color:var(--danger-color);color:#fff;border-color:var(--danger-color)}.mastery-chapter-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex-grow:1}.mastery-timer{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary);background-color:var(--background-tertiary);padding:.5rem 1rem;height:38px;box-sizing:border-box;border-radius:var(--border-radius-sm);border:1px solid var(--border-primary);font-variant-numeric:tabular-nums}.mastery-progress-container{flex-grow:1;min-width:80px;height:16px;background-color:var(--background-tertiary);border-radius:var(--border-radius-pill);position:relative;overflow:visible;align-self:center}.mastery-progress-bar-wrapper{position:relative;width:100%;height:100%;border-radius:var(--border-radius-pill);overflow:hidden}.mastery-progress-bar{height:100%;background:linear-gradient(90deg,var(--my-brand-purple, #6b21a8),var(--my-brand-blue, #2563eb));border-radius:var(--border-radius-pill);transition:width .5s cubic-bezier(.25,1,.5,1);display:flex;align-items:center;justify-content:center}.mastery-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:600;color:#000;z-index:1;text-shadow:0 0 2px rgba(255,255,255,.3);white-space:nowrap}:root.dark-mode .mastery-progress-text{color:#fff;text-shadow:0 0 3px rgba(0,0,0,.4)}.mastery-main-new{flex-grow:1;overflow-y:auto;padding:2rem clamp(1rem,5vw,4rem);display:flex;flex-direction:column;gap:1.5rem;position:relative}.mastery-question-card{background:var(--background-secondary);border-radius:var(--border-radius-lg);padding:2.5rem 2rem 2rem;border:1px solid var(--border-primary);box-shadow:var(--box-shadow-sm);position:relative;animation:slideInUp .4s cubic-bezier(.16,1,.3,1)}.mastery-question-topic-tag{position:absolute;top:-12px;left:20px;display:inline-flex;align-items:center;gap:.5rem;color:#fff;padding:.3rem .8rem;font-size:.8rem;font-weight:500;border-radius:var(--border-radius-sm);box-shadow:var(--box-shadow-md);cursor:pointer}.mastery-question-topic-tag:hover{opacity:.9}.mastery-question-topic-tag.learning{background:linear-gradient(90deg,var(--accent-color-hover),var(--accent-color))}.mastery-question-topic-tag.review{background:linear-gradient(90deg,#ca8a04,#eab308)}:root.dark-mode .mastery-question-topic-tag.review{background:linear-gradient(90deg,#f59e0b,#facc15)}.mastery-question-topic-tag strong{display:inline-block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.mastery-question-topic-tag .info-icon{margin-left:.3rem;vertical-align:middle;font-size:.9rem;color:inherit;line-height:1}.mastery-question-content{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.6}.mastery-question-content p{margin-bottom:1em}.mastery-question-content p:last-child{margin-bottom:0}.mastery-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;animation:fadeIn .5s .2s ease backwards}.mastery-option-button{padding:1rem 1.25rem;font-size:1rem;border:1px solid var(--border-primary);background-color:transparent;color:var(--text-secondary);border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;text-align:left;display:flex;align-items:center;justify-content:space-between;min-height:60px}.mastery-option-button:hover:not(:disabled){border-color:var(--accent-color);background-color:var(--background-hover)}.mastery-option-button.faded{opacity:.5;background-color:transparent;border-color:var(--border-secondary)}.mastery-option-button.correct{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-color)}.mastery-option-button.incorrect{border-color:var(--danger-border);background-color:var(--danger-bg);color:var(--danger-color)}.option-icon{font-size:1.5rem;stroke-width:3}.explanation-section{margin-top:1.5rem;padding:1.5rem;border-radius:var(--border-radius-lg);border:1px solid var(--border-primary);background-color:var(--background-secondary);box-shadow:var(--box-shadow-sm);animation:slideInUp .4s ease}.explanation-section.correct{border-left:4px solid var(--success-color)}.explanation-section.incorrect{border-left:4px solid var(--danger-color)}.explanation-section h4{margin-top:0;margin-bottom:1rem;font-size:1.2rem;font-weight:600;color:var(--text-primary);padding-bottom:.75rem;border-bottom:1px solid var(--border-primary)}.explanation-content{line-height:1.7;font-size:1rem}.explanation-content p{margin-bottom:.75em}.explanation-content p:last-child{margin-bottom:0}.explanation-content ul,.explanation-content ol{margin-bottom:.75em;padding-left:1.5em}.explanation-content li{margin-bottom:.25em}.mastery-footer-new{padding:1rem 2rem;background-color:var(--background-secondary);border-top:1px solid var(--border-primary);flex-shrink:0;display:flex;justify-content:space-between;align-items:center;min-height:68px}.feedback-summary{display:flex;align-items:center;gap:1rem;font-size:1rem;font-weight:600}.feedback-summary span{display:inline-flex;align-items:center;gap:.5rem}.summary-correct{color:var(--success-color)}.summary-incorrect{color:var(--danger-color)}.summary-time{color:var(--text-tertiary);font-weight:500;font-size:.9rem}.footer-placeholder{color:var(--text-tertiary);font-style:italic;font-size:.9rem}.mastery-button.primary{background:var(--button-primary-bg);color:var(--text-on-primary-button);border:none;padding:.8rem 2rem;border-radius:var(--border-radius-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease}.mastery-button.primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);box-shadow:0 0 20px rgba(var(--accent-color-rgb),.3)}.mastery-loading-view,.mastery-error-view,.mastery-locked-view{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--text-secondary);padding:2rem}.mastery-error-view h3,.mastery-locked-view h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.mastery-error-view p,.mastery-locked-view p{max-width:500px;line-height:1.6;margin-bottom:2rem}.mastery-error-view .icon-container,.mastery-locked-view .icon-container{margin-bottom:1.5rem}.mastery-error-view .icon-container{color:var(--danger-color)}.mastery-locked-view .icon-container{color:var(--text-secondary)}.mastery-error-view .button-group{display:flex;gap:1rem;margin-top:1rem}.mastery-spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem}.ai-tutor-screen{display:flex;flex-direction:column;height:100vh;max-height:100vh;font-family:Poppins,sans-serif;overflow:hidden;background-color:var(--background-primary);color:var(--text-primary)}.ai-tutor-intro-screen{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem;text-align:center;box-sizing:border-box;overflow-y:auto}.ai-tutor-heading{font-size:2.2rem;font-weight:700;color:var(--text-primary);margin-top:calc(1rem + 20px);margin-bottom:.5rem;flex-shrink:0}.intro-main-content-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;width:100%;padding:.5rem 0}.intro-avatar-container{position:relative;width:70vw;max-width:160px;aspect-ratio:1 / 1;display:flex;justify-content:center;align-items:center;z-index:1}.sci-fi-orb{width:100%;height:100%;border-radius:50%;position:relative;background:radial-gradient(circle at center,var(--purple-accent-base) 0%,var(--accent-color) 40%,transparent 70%);animation:pulse-orb 8s infinite ease-in-out;box-shadow:0 0 8px rgba(var(--text-primary-rgb),.3),0 0 20px var(--accent-color),0 0 45px var(--purple-accent-base),inset 0 0 15px rgba(var(--text-primary-rgb),.1)}@keyframes pulse-orb{0%,to{transform:scale(.97);opacity:.85}50%{transform:scale(1.03);opacity:1}}.ai-tutor-welcome-message,.interaction-prompt{margin-top:calc(1.5rem + 20px);color:var(--text-secondary);max-width:400px;line-height:1.6;position:relative;z-index:2}.ai-tutor-welcome-message{font-size:1.2rem}.interaction-prompt{font-size:.9rem;color:rgba(var(--text-primary-rgb),.8);background-color:rgba(var(--background-secondary-rgb),.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:.5rem 1rem;border-radius:20px;border:1px solid rgba(var(--border-primary-rgb),.5);animation:fadeInPrompt 1s ease}@keyframes fadeInPrompt{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro-actions{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;visibility:hidden;opacity:0;transition:visibility 0s .5s,opacity .5s ease-in-out;width:100%;max-width:480px;padding:1rem;box-sizing:border-box;flex-shrink:0;margin-bottom:.5rem}.intro-actions.visible{visibility:visible;opacity:1;transition-delay:0s}.intro-action-button{border:1px solid transparent;padding:.9rem 1rem;font-size:.95rem;font-weight:600;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;flex-grow:1;flex-basis:0;min-width:130px;box-sizing:border-box;text-align:center}.intro-action-button.primary{background-color:var(--button-primary-bg);color:var(--text-on-primary-button);border-color:var(--button-primary-bg)}.intro-action-button.primary:hover:not(:disabled){background-color:var(--button-primary-hover-bg);transform:translateY(-2px);box-shadow:0 4px 15px rgba(var(--accent-color-rgb),.3)}.intro-action-button.secondary{background-color:var(--button-secondary-bg, var(--background-tertiary));color:var(--button-secondary-text, var(--text-primary));border-color:var(--button-secondary-border, var(--border-primary))}.intro-action-button.secondary:hover:not(:disabled){background-color:var(--button-secondary-hover-bg, var(--background-hover));border-color:var(--button-secondary-hover-border, var(--border-secondary));transform:translateY(-2px)}.intro-action-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ai-tutor-selection-form-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--background-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;z-index:1000;animation:fadeInOverlay .3s ease-out;overflow-y:auto}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@media (max-width: 400px){.ai-tutor-heading{font-size:1.8rem;margin-top:calc(.5rem + 20px)}.intro-avatar-container{max-width:130px}.ai-tutor-welcome-message,.interaction-prompt{margin-top:calc(1rem + 20px)}.ai-tutor-welcome-message{font-size:1rem}.interaction-prompt{font-size:.85rem}.intro-action-button{font-size:.9rem;padding:.8rem .5rem;min-width:100px}.intro-actions{gap:.5rem;padding:.5rem;margin-bottom:0}}.admin-sidebar{width:260px;height:100vh;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--background-secondary);color:var(--text-secondary);padding:1rem;border-right:1px solid var(--border-primary);transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.admin-sidebar-header{display:flex;align-items:center;gap:.75rem;padding:1rem .5rem;margin-bottom:1.5rem;flex-shrink:0}.admin-sidebar-logo-icon{color:var(--accent-color)}.admin-sidebar-logo-text{font-size:1.25rem;font-weight:700;line-height:1;color:var(--text-primary);white-space:nowrap;opacity:1;transition:opacity .2s ease}.admin-sidebar-nav{flex-grow:1;display:flex;flex-direction:column;gap:.25rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.admin-sidebar-nav::-webkit-scrollbar{display:none}.admin-nav-item{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:var(--border-radius-md);font-size:.95rem;font-weight:500;width:100%;text-align:left;transition:all .2s ease;color:var(--text-secondary)}.admin-nav-item svg{flex-shrink:0;width:20px;height:20px}.admin-nav-item-text{white-space:nowrap;opacity:1;transition:opacity .2s ease}.admin-nav-item:hover:not(.active){background-color:var(--background-tertiary);color:var(--text-primary)}.admin-nav-item.active{background-color:var(--accent-color-light);color:var(--text-accent);font-weight:600}.admin-sidebar-footer{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.sidebar-actions-tray{display:flex;justify-content:space-around;align-items:center}.sidebar-action-button{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary);padding:.5rem;border-radius:var(--border-radius-md);flex-grow:1;font-size:.9rem}.sidebar-action-button:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.admin-user-profile{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:var(--border-radius-md);background-color:var(--background-tertiary)}.admin-user-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.admin-user-details{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}.admin-user-name,.admin-user-role{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:1;transition:opacity .2s ease}.admin-user-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.admin-user-role{font-size:.8rem;text-transform:capitalize;color:var(--text-secondary)}.admin-logout-button{color:var(--text-secondary);padding:.5rem;border-radius:50%;transition:all .2s ease}.admin-logout-button:hover{background-color:var(--danger-bg);color:var(--danger-color)}.admin-sidebar.is-collapsed{width:80px;padding:1rem .5rem}.admin-sidebar.is-collapsed .admin-sidebar-logo-text,.admin-sidebar.is-collapsed .admin-nav-item-text,.admin-sidebar.is-collapsed .admin-user-details,.admin-sidebar.is-collapsed .sidebar-action-button .admin-nav-item-text{opacity:0;width:0;overflow:hidden}.admin-sidebar.is-collapsed .admin-nav-item,.admin-sidebar.is-collapsed .sidebar-action-button,.admin-sidebar.is-collapsed .admin-sidebar-header{justify-content:center;padding-left:.5rem;padding-right:.5rem}.admin-sidebar.is-collapsed .admin-user-profile{justify-content:center}.admin-sidebar.is-collapsed .admin-logout-button{display:none}.admin-page-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-page-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary)}.admin-page-title{font-size:var(--font-size-2xl);font-weight:600;margin-bottom:.25rem}.admin-page-intro{font-size:var(--font-size-md);color:var(--text-secondary)}.admin-card{background-color:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm);display:flex;flex-direction:column}.admin-card-header{padding:var(--spacing-md);border-bottom:1px solid var(--border-primary);font-weight:600;font-size:var(--font-size-lg)}.admin-card-body{padding:var(--spacing-md);flex:1 1 auto}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-lg)}.kpi-card{background-color:var(--background-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-md);display:flex;flex-direction:column;position:relative}.kpi-card-icon-wrapper{width:3rem;height:3rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-sm);color:var(--icon-color, var(--accent-color));background-color:var(--icon-bg, rgba(var(--accent-rgb), .15));font-size:1.5rem}.kpi-card-content{display:flex;flex-direction:column;gap:.15rem}.kpi-card-value{font-size:var(--font-size-xl);font-weight:600}.kpi-card-title{font-size:var(--font-size-sm);color:var(--text-secondary)}.kpi-card-note{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-secondary)}.dashboard-main-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-lg)}.chart-card{height:100%}.chart-container{position:relative;height:280px}.user-breakdown-card ul{list-style:none;margin:0;padding:0}.user-breakdown-list li{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;font-size:var(--font-size-md);border-bottom:1px solid var(--border-primary)}.user-breakdown-list li:last-child{border-bottom:none}.role-name{text-transform:capitalize}.role-count{font-weight:600}:root{--info-color: #3b82f6;--info-bg: rgba(59, 130, 246, .15);--success-color: #22c55e;--success-bg: rgba(34, 197, 94, .15);--warning-color: #f59e0b;--warning-bg: rgba(245, 158, 11, .15);--danger-color: #ef4444;--danger-bg: rgba(239, 68, 68, .15);--purple-color: #a855f7;--purple-bg: rgba(168, 85, 247, .15)}.centered-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:40vh;text-align:center}.loading-icon,.error-icon{font-size:2.5rem;animation:pulse 1.1s infinite ease-in-out}.error-message{color:var(--danger-color)}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@media (max-width: 1024px){.dashboard-main-grid{grid-template-columns:1fr}}@media (max-width: 640px){.kpi-grid{grid-template-columns:1fr 1fr}}.confirmation-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-overlay);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}.confirmation-modal-card{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);width:100%;max-width:420px;text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.confirmation-modal-icon-wrapper{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--info-bg);color:var(--info-color)}.confirmation-modal-icon-wrapper.is-destructive{background-color:var(--danger-bg);color:var(--danger-color)}.confirmation-modal-icon-wrapper svg{width:32px;height:32px}.confirmation-modal-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.confirmation-modal-message{color:var(--text-secondary);line-height:1.6;margin:0}.confirmation-modal-actions{display:flex;gap:.75rem;margin-top:1.5rem;width:100%}.confirmation-modal-actions .btn{flex-grow:1;justify-content:center}.btn-icon .loading-spinner-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon.is-pending{cursor:not-allowed;background-color:var(--background-tertiary);color:var(--text-accent)}.btn-icon.is-completed{cursor:not-allowed;background-color:var(--success-bg);color:var(--success-color)}.btn-icon.is-failed{background-color:var(--danger-bg);color:var(--danger-color)}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background-color:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%}.form-divider{border:none;border-top:1px solid var(--border-primary);margin:1.5rem 0}.form-section-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin-bottom:1rem;margin-top:1rem}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.admin-form-input-group{display:flex;gap:.75rem}.admin-form-input-group .btn{flex-shrink:0}.permission-notice{padding:1rem;background-color:var(--info-bg);color:var(--info-color);border-radius:var(--border-radius-md);margin-bottom:1rem;font-weight:500;border:1px solid var(--info-border)}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.permission-column{display:flex;flex-direction:column;gap:.5rem}.permission-checkbox-container{max-height:200px;overflow-y:auto;border:1px solid var(--border-primary);border-radius:var(--border-radius-md);padding:.75rem;background-color:var(--background-secondary)}.permission-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.25rem}.permission-checkbox-item:not(:last-child){margin-bottom:.25rem}.permission-checkbox-item label{font-weight:500;cursor:pointer;margin-bottom:0;flex-grow:1}.permission-checkbox-item input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.permission-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.permission-section-header>label{font-weight:600;font-size:var(--font-size-base)}.select-all-label{display:flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-secondary)}.permission-placeholder{display:flex;justify-content:center;align-items:center;height:100%;color:var(--text-secondary);font-style:italic;text-align:center;padding:1rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control{padding-right:3rem}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;background-color:transparent;border:none;color:var(--text-secondary);width:36px;height:36px;border-radius:50%;cursor:pointer;transition:color .2s ease,background-color .2s ease}.password-toggle-btn:hover{color:var(--text-primary);background-color:var(--background-tertiary)}.password-toggle-btn svg{width:20px;height:20px}.admin-filters-bar{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-primary)}.admin-search-input{flex-grow:1;position:relative}.admin-search-input svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-placeholder);pointer-events:none}.admin-search-input input{padding-left:3rem;font-size:var(--font-size-base)}.admin-card-body.no-padding{padding:0;position:relative}.table-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(var(--background-secondary-rgb, 255, 255, 255),.7);display:flex;align-items:center;justify-content:center;z-index:10}.table-empty-state,.table-error-state{padding:var(--spacing-xl);text-align:center;color:var(--text-secondary)}.table-empty-state svg,.table-error-state svg{font-size:2.5rem;margin-bottom:var(--spacing-sm);color:var(--text-tertiary)}.table-error-state{color:var(--danger-color)}.table-error-state svg{color:var(--danger-color)}.user-cell{display:flex;align-items:center;gap:.75rem}.user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;text-transform:uppercase;flex-shrink:0}.user-name-link{font-weight:600;color:var(--text-primary)}.user-name-link:hover{color:var(--text-accent);text-decoration:underline}.user-subtext{font-size:var(--font-size-sm);color:var(--text-secondary)}.role-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:.75rem;text-transform:capitalize;border:1px solid currentColor}.role-badge.role-student,.role-badge.role-free,.role-badge.role-pro,.role-badge.role-plus{color:var(--info-color);background-color:var(--info-bg)}.role-badge.role-teacher{color:var(--purple-accent-base, #8B5CF6);background-color:var(--purple-accent-light, rgba(139, 92, 246, .1))}.role-badge.role-admin{color:var(--warning-color);background-color:var(--warning-bg)}.role-badge.role-superadmin{color:var(--danger-color);background-color:var(--danger-bg)}.admin-pagination-footer{display:flex;justify-content:center;align-items:center;gap:1rem;padding:var(--spacing-md);border-top:1px solid var(--border-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-pagination-footer .btn-icon{border:1px solid var(--border-secondary)}.admin-pagination-footer .btn-icon:disabled{opacity:.5;background-color:transparent}.admin-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-primary)}.admin-page-header .btn{flex-shrink:0}.admin-table-wrapper{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.admin-table th,.admin-table td{padding:.9rem 1rem;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-primary)}.admin-table th{background-color:var(--background-primary);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}.admin-table tbody tr:hover{background-color:var(--background-tertiary)}.admin-table .text-right{text-align:right}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:.75rem;text-transform:capitalize}.status-badge.status-active{background-color:var(--success-bg);color:var(--success-color)}.status-badge.status-inactive,.status-badge.status-archived{background-color:var(--warning-bg);color:var(--warning-color)}.code-badge{font-family:var(--font-family-monospace);background-color:var(--background-tertiary);color:var(--text-secondary);padding:.2rem .5rem;border-radius:var(--border-radius-sm);font-size:.8rem}.admin-actions-cell{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-secondary);transition:all .2s ease}.btn-icon:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.btn-icon.icon-danger:hover{background-color:var(--danger-bg);color:var(--danger-color)}.btn-icon.icon-success:hover{background-color:var(--success-bg);color:var(--success-color)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--background-overlay);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding-top:5vh;overflow-y:auto;animation:fadeIn .3s ease}.admin-modal-card{background-color:var(--background-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-lg);width:100%;max-width:700px;margin:1rem;display:flex;flex-direction:column}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary)}.admin-modal-title{margin-bottom:0}.admin-modal-close-btn{color:var(--text-secondary)}.admin-modal-close-btn:hover{color:var(--text-primary)}.admin-modal-body{padding:1.5rem}.admin-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;background-color:var(--background-primary);border-top:1px solid var(--border-primary);border-bottom-left-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg)}.form-error-banner{background-color:var(--danger-bg);color:var(--danger-color);padding:.75rem 1rem;border-radius:var(--border-radius-md);margin-bottom:1rem;font-weight:500}.modal-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary)}.modal-loading-state .loading-icon{font-size:2rem;margin-bottom:1rem}.admin-form-grid{display:grid;gap:1.25rem}.admin-form-grid.two-columns{grid-template-columns:1fr 1fr}.admin-form-group{display:flex;flex-direction:column;gap:.4rem}.admin-form-group.full-width{grid-column:1 / -1}.admin-form-group label{font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.color-input-wrapper{display:flex;align-items:center;gap:.75rem;border:1px solid var(--input-border);border-radius:var(--border-radius-md);padding-left:.5rem}.color-input-wrapper:focus-within{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.color-input-wrapper input[type=color]{width:32px;height:32px;padding:0;border:none;background:none;flex-shrink:0}.color-input-wrapper span{font-family:var(--font-family-monospace);color:var(--text-secondary)}@media (max-width: 640px){.admin-form-grid.two-columns{grid-template-columns:1fr}}.admin-page-header .admin-filters-bar.single-filter{padding:0;border:none;align-self:center}.engagement-table th,.engagement-table td{vertical-align:middle}.engagement-table th svg{margin-right:.5rem;vertical-align:text-bottom;color:var(--text-tertiary)}.risk-cell{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;border-radius:var(--border-radius-pill);font-weight:600;font-size:var(--font-size-sm);white-space:nowrap}.risk-cell svg{width:16px;height:16px}.risk-cell.risk-high{background-color:var(--danger-bg);color:var(--danger-color)}.risk-cell.risk-medium{background-color:var(--warning-bg);color:var(--warning-color)}.risk-cell.risk-low{background-color:var(--success-bg);color:var(--success-color)}.score-high,.score-medium,.score-low{font-weight:600}.score-high{color:var(--success-color)}.score-medium{color:var(--warning-color)}.score-low{color:var(--danger-color)}.overdue-active{font-weight:600;color:var(--danger-color);background-color:var(--danger-bg);padding:.1rem .5rem;border-radius:var(--border-radius-sm)}.font-semibold{font-weight:600;color:var(--text-primary)}.type-badge{display:inline-block;padding:.25rem .6rem;border-radius:var(--border-radius-md);font-weight:500;font-size:.8rem;text-transform:capitalize;background-color:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.admin-filters-bar .admin-filter-select{min-width:220px;flex-shrink:0}.batch-manager-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.batch-manager-container .admin-form-group{margin:0}.batch-manager-container .form-control[multiple]{height:220px;padding:var(--spacing-sm);background-color:var(--input-bg)}.batch-manager-container .form-control[multiple] option{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);margin:2px}.batch-manager-container .form-control[multiple] option:checked{background-color:var(--accent-color);color:var(--text-on-accent)}.field-instructions{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.batch-manager-container .btn{align-self:flex-start}.batch-manager-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:var(--spacing-lg) 0;color:var(--text-secondary)}.batch-manager-state .loading-icon.small{width:20px;height:20px;margin:0;animation:spin 1s linear infinite}.batch-manager-state.error{color:var(--danger-color);background-color:var(--danger-bg);padding:var(--spacing-md);border-radius:var(--border-radius-md)}.user-profile-page .admin-page-header{align-items:center}.user-profile-title{display:flex;align-items:center;gap:1rem}.user-profile-avatar{width:60px;height:60px;flex-shrink:0;border-radius:50%;background-color:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.75rem;text-transform:uppercase}.user-profile-title .admin-page-title{margin-bottom:0}.user-profile-title .admin-page-intro{font-family:var(--font-family-monospace);font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-lg);align-items:start}.admin-card-header.with-action{display:flex;justify-content:space-between;align-items:center}.admin-card-header h3{margin:0;display:flex;align-items:center;gap:.75rem}.details-list{display:flex;flex-direction:column;gap:1.25rem}.details-list li{display:flex;align-items:center;gap:1rem;font-size:var(--font-size-base)}.details-list li svg{color:var(--text-tertiary);width:20px;height:20px}.details-list li strong{color:var(--text-secondary);min-width:100px}.details-list li span{color:var(--text-primary);font-weight:500}.details-list li.highlight-item{background-color:var(--background-primary);padding:.75rem 1rem;border-radius:var(--border-radius-md)}.details-list li.highlight-item span:not(.role-badge):not(.status-badge){font-weight:600}.batch-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.batch-column{display:flex;flex-direction:column;gap:var(--spacing-md);background-color:var(--background-primary);padding:var(--spacing-md);border-radius:var(--border-radius-lg)}.column-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin-bottom:0}.results-list{list-style:none;padding:0;margin:0;height:350px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--background-secondary);border-radius:var(--border-radius-md);border:1px solid var(--border-primary);transition:background-color .2s ease,border-color .2s ease}.list-item:hover{background-color:var(--background-tertiary);border-color:var(--border-secondary)}.list-item-content{display:flex;flex-direction:column}.item-title{font-weight:500;color:var(--text-primary)}.item-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary)}.list-state-item{display:flex;align-items:center;justify-content:center;gap:.5rem;height:100%;color:var(--text-secondary);font-style:italic}@media (max-width: 768px){.batch-manage-grid{grid-template-columns:1fr}}.admin-layout{display:grid;grid-template-columns:260px 1fr;grid-template-rows:100vh;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}.admin-layout.sidebar-collapsed{grid-template-columns:80px 1fr}.admin-content-wrapper{display:flex;flex-direction:column;overflow-y:auto;background-color:var(--background-primary)}.admin-main-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem var(--spacing-lg);border-bottom:1px solid var(--border-primary);background-color:var(--background-secondary);position:sticky;top:0;z-index:900}.mobile-menu-trigger{display:none;font-size:1.5rem;color:var(--text-secondary);background-color:transparent;border:none;padding:.5rem;margin-right:1rem;border-radius:var(--border-radius-md)}.mobile-menu-trigger:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.global-filter-container{margin-left:auto}.admin-filter-select{min-width:250px;font-size:var(--font-size-sm);padding:.5rem 1rem;background-color:var(--input-bg);border:1px solid var(--border-secondary)}.admin-main-content{flex-grow:1;padding:var(--spacing-lg)}@media (max-width: 992px){.admin-layout{grid-template-columns:1fr}.admin-layout .admin-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .3s ease-in-out;z-index:1001;box-shadow:var(--box-shadow-lg)}.admin-layout.mobile-menu-open .admin-sidebar{transform:translate(0)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu-trigger{display:block}.admin-sidebar .collapse-button{display:none}.admin-main-header{justify-content:flex-start}.admin-main-content{padding:var(--spacing-md)}}
