@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);background-color:var(--background-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-duration) var(--transition-timing-function),color var(--transition-duration) var(--transition-timing-function)}:root{--teal-50: hsl(181, 75%, 97%);--teal-100: hsl(181, 72%, 91%);--teal-200: hsl(181, 70%, 79%);--teal-300: hsl(181, 72%, 62%);--teal-400: hsl(181, 74%, 51%);--teal-500: #17b6ba;--teal-600: hsl(181, 78%, 32%);--teal-700: hsl(181, 82%, 23%);--teal-800: hsl(181, 86%, 15%);--teal-900: hsl(181, 90%, 9%);--green-50: hsl(127, 75%, 97%);--green-100: hsl(127, 70%, 91%);--green-200: hsl(127, 68%, 80%);--green-300: hsl(127, 70%, 65%);--green-400: hsl(127, 72%, 53%);--green-500: #15be2f;--green-600: hsl(127, 79%, 32%);--green-700: hsl(127, 80%, 24%);--green-800: hsl(127, 82%, 16%);--green-900: hsl(127, 84%, 10%);--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-200: #e4e4e7;--gray-300: #d1d1d6;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--gray-950: #0a0a0a;--success-50: hsl(142, 76%, 97%);--success-100: hsl(142, 72%, 90%);--success-200: hsl(142, 68%, 78%);--success-300: hsl(142, 70%, 62%);--success-400: hsl(142, 72%, 50%);--success-500: #17c964;--success-600: hsl(142, 78%, 35%);--success-700: hsl(142, 80%, 26%);--success-800: hsl(142, 82%, 17%);--warning-50: hsl(45, 100%, 97%);--warning-100: hsl(45, 97%, 90%);--warning-200: hsl(45, 95%, 78%);--warning-300: hsl(45, 96%, 66%);--warning-400: hsl(45, 97%, 57%);--warning-500: #ffc107;--warning-600: hsl(40, 94%, 45%);--warning-700: hsl(37, 92%, 34%);--warning-800: hsl(35, 90%, 23%);--danger-50: hsl(0, 95%, 97%);--danger-100: hsl(0, 90%, 92%);--danger-200: hsl(0, 88%, 82%);--danger-300: hsl(0, 86%, 70%);--danger-400: hsl(0, 85%, 60%);--danger-500: #dc3545;--danger-600: hsl(0, 88%, 37%);--danger-700: hsl(0, 88%, 28%);--danger-800: hsl(0, 88%, 19%);--info-50: hsl(213, 95%, 97%);--info-100: hsl(213, 88%, 91%);--info-200: hsl(213, 86%, 80%);--info-300: hsl(213, 87%, 66%);--info-400: hsl(213, 88%, 56%);--info-500: #3b82f6;--info-600: hsl(213, 90%, 43%);--info-700: hsl(213, 90%, 32%);--info-800: hsl(213, 92%, 21%)}:root{--font-family: "Roboto", sans-serif;--font-family-display: "Roboto", sans-serif;--font-family-mono: "Roboto Mono", monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 16px;--font-size-md: 18px;--font-size-large: 20px;--font-size-xl: 24px;--font-size-2xl: 30px;--font-size-3xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0em;--letter-spacing-wide: .04em;--letter-spacing-wider: .08em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--spacing-small: var(--space-2);--spacing-medium: var(--space-4);--spacing-large: var(--space-6);--button-padding-sm: 6px 14px;--button-padding: 10px 20px;--button-padding-lg: 13px 28px;--border-radius-sm: 4px;--border-radius: 6px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-full: 9999px}:root{color-scheme:light;--background-color: #f0f2f5;--background-color-gradiante: linear-gradient(135deg, #f5f5f5 0%, #e4f5f5 100%);--background-light-color: #ffffff;--surface-base: #ffffff;--surface-raised: #f8fafb;--surface-overlay: rgba(255, 255, 255, .92);--text-primary: #1a1a1a;--text-secondary: #525252;--text-tertiary: #8a8a8a;--text-disabled: #a3a3a3;--text-inverse: #ffffff;--text-link: var(--teal-500);--text-link-hover: var(--teal-600);--primary-color: var(--teal-500);--primary-color-light: var(--teal-300);--primary-color-dark: var(--teal-600);--primary-bg-subtle: var(--teal-50);--primary-bg-muted: var(--teal-100);--primary-border: var(--teal-200);--primary-text: var(--teal-700);--accent-color: var(--green-500);--accent-color-light: var(--green-300);--accent-color-dark: var(--green-600);--accent-bg-subtle: var(--green-50);--accent-bg-muted: var(--green-100);--accent-border: var(--green-200);--accent-text: var(--green-700);--secondary-color: #161415;--secondary-color-light: #2c2c2c;--color-card-background: #ffffff;--color-card-background-alt: var(--gray-50);--border-color: #e0e0e0;--border-color-medium: #c8c8c8;--border-color-strong: #a0a0a0;--border-color-blue: var(--teal-500);--border-color-primary: var(--teal-500)}:root{--shadow-none: none;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12), 0 4px 12px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .15), 0 8px 20px rgba(0, 0, 0, .1);--box-shadow: var(--shadow-sm);--shadow-primary: 0 4px 16px rgba(23, 182, 186, .28);--shadow-primary-lg: 0 8px 28px rgba(23, 182, 186, .35);--shadow-accent: 0 4px 16px rgba(21, 190, 47, .26)}:root{--color-focus: var(--teal-500);--focus-ring: 0 0 0 3px rgba(23, 182, 186, .3);--focus-ring-sm: 0 0 0 2px rgba(23, 182, 186, .25);--hover-overlay-light: rgba(23, 182, 186, .07);--hover-overlay-medium: rgba(23, 182, 186, .12);--hover-overlay-dark: rgba(0, 0, 0, .05);--button-hover-color: var(--teal-300);--button-active-color: var(--teal-500);--button-disabled-color: #cccccc;--button-disabled-text: #999999;--button-gradient-primary: linear-gradient(135deg, var(--teal-400) 0%, var(--teal-600) 100%);--button-gradient-accent: linear-gradient(135deg, var(--green-400) 0%, var(--green-600) 100%);--transition-duration: .2s;--transition-duration-slow: .35s;--transition-timing-function: cubic-bezier(.4, 0, .2, 1);--transition-timing-bounce: cubic-bezier(.34, 1.56, .64, 1);--transition-base: var(--transition-duration) var(--transition-timing-function);--transition-slow: var(--transition-duration-slow) var(--transition-timing-function);--transition-bounce: var(--transition-duration-slow) var(--transition-timing-bounce)}:root{--color-success: var(--green-500);--color-success-bg: var(--success-50);--color-success-border: var(--success-200);--color-success-text: var(--success-700);--color-warning: var(--warning-500);--color-warning-bg: var(--warning-50);--color-warning-border: var(--warning-200);--color-warning-text: var(--warning-700);--color-error: var(--danger-500);--color-error-bg: var(--danger-50);--color-error-border: var(--danger-200);--color-error-text: var(--danger-700);--color-info: var(--info-500);--color-info-bg: var(--info-50);--color-info-border: var(--info-200);--color-info-text: var(--info-700);--grade-excellent: var(--green-500);--grade-excellent-bg: var(--green-50);--grade-good: var(--info-500);--grade-good-bg: var(--info-50);--grade-regular: var(--warning-500);--grade-regular-bg: var(--warning-50);--grade-fail: var(--danger-500);--grade-fail-bg: var(--danger-50);--progress-track: var(--gray-200);--progress-fill: var(--teal-500);--progress-fill-success: var(--green-500);--progress-fill-warning: var(--warning-500);--progress-fill-danger: var(--danger-500)}.dark-theme{color-scheme:dark;--background-color: #0a0a0a;--background-color-gradiante: linear-gradient(135deg, #0a0a0a 0%, #081414 100%);--background-light-color: #000000;--surface-base: #141414;--surface-raised: #1c1c1c;--surface-overlay: rgba(20, 20, 20, .95);--text-primary: #e5e5e5;--text-secondary: #a3a3a3;--text-tertiary: #666666;--text-disabled: #444444;--text-inverse: #0a0a0a;--text-link: #22f8fc;--text-link-hover: #5ffbff;--primary-color: #22f8fc;--primary-color-light: #5ffbff;--primary-color-dark: #17b6ba;--primary-bg-subtle: hsl(181, 55%, 7%);--primary-bg-muted: hsl(181, 50%, 11%);--primary-border: hsl(181, 45%, 18%);--primary-text: #22f8fc;--accent-color: #20c943;--accent-color-light: #4fe86a;--accent-color-dark: #15be2f;--accent-bg-subtle: hsl(127, 50%, 7%);--accent-bg-muted: hsl(127, 48%, 11%);--accent-border: hsl(127, 42%, 18%);--accent-text: #20c943;--secondary-color: #e5e5e5;--secondary-color-light: #f5f5f5;--color-card-background: #141414;--color-card-background-alt: #1c1c1c;--border-color: #2a2a2a;--border-color-medium: #383838;--border-color-strong: #505050;--border-color-blue: #22f8fc;--border-color-primary: #22f8fc;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 32px rgba(0, 0, 0, .6), 0 4px 14px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 52px rgba(0, 0, 0, .7), 0 8px 22px rgba(0, 0, 0, .5);--box-shadow: var(--shadow-sm);--shadow-primary: 0 4px 18px rgba(34, 248, 252, .22);--shadow-primary-lg: 0 8px 32px rgba(34, 248, 252, .28);--shadow-accent: 0 4px 18px rgba(32, 201, 67, .22);--color-focus: #22f8fc;--focus-ring: 0 0 0 3px rgba(34, 248, 252, .28);--focus-ring-sm: 0 0 0 2px rgba(34, 248, 252, .22);--hover-overlay-light: rgba(34, 248, 252, .07);--hover-overlay-medium: rgba(34, 248, 252, .12);--hover-overlay-dark: rgba(255, 255, 255, .04);--button-hover-color: #5ffbff;--button-active-color: #17b6ba;--button-disabled-color: #404040;--button-disabled-text: #606060;--button-gradient-primary: linear-gradient(135deg, #22f8fc 0%, #17b6ba 100%);--button-gradient-accent: linear-gradient(135deg, #20c943 0%, #15be2f 100%);--color-success: #20c943;--color-success-bg: hsl(127, 50%, 7%);--color-success-border: hsl(127, 42%, 16%);--color-success-text: hsl(127, 68%, 55%);--color-warning: #ffd54f;--color-warning-bg: hsl(45, 55%, 7%);--color-warning-border: hsl(45, 48%, 15%);--color-warning-text: hsl(45, 95%, 60%);--color-error: #ef5350;--color-error-bg: hsl(0, 55%, 7%);--color-error-border: hsl(0, 48%, 16%);--color-error-text: hsl(0, 82%, 62%);--color-info: #4dabf7;--color-info-bg: hsl(213, 52%, 7%);--color-info-border: hsl(213, 45%, 16%);--color-info-text: hsl(213, 80%, 62%);--grade-excellent: #20c943;--grade-excellent-bg: hsl(127, 50%, 7%);--grade-good: #4dabf7;--grade-good-bg: hsl(213, 52%, 7%);--grade-regular: #ffd54f;--grade-regular-bg: hsl(45, 55%, 7%);--grade-fail: #ef5350;--grade-fail-bg: hsl(0, 55%, 7%);--progress-track: #2a2a2a;--progress-fill: #22f8fc;--progress-fill-success: #20c943;--progress-fill-warning: #ffd54f;--progress-fill-danger: #ef5350}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--border-radius)}.dark-theme .skeleton{background:linear-gradient(90deg,#1c1c1c 25%,#262626,#1c1c1c 75%);background-size:800px 100%}
