@charset "UTF-8";html{--mat-sys-background: #fef8fc;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f5eff4;--mat-sys-inverse-primary: #d5baff;--mat-sys-inverse-surface: #323033;--mat-sys-on-background: #1d1b1e;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #5f00c0;--mat-sys-on-primary-fixed: #270057;--mat-sys-on-primary-fixed-variant: #5f00c0;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #4b4357;--mat-sys-on-secondary-fixed: #1f182a;--mat-sys-on-secondary-fixed-variant: #4b4357;--mat-sys-on-surface: #1d1b1e;--mat-sys-on-surface-variant: #49454e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #7b757f;--mat-sys-outline-variant: #cbc4cf;--mat-sys-primary: #7d00fa;--mat-sys-primary-container: #ecdcff;--mat-sys-primary-fixed: #ecdcff;--mat-sys-primary-fixed-dim: #d5baff;--mat-sys-scrim: #000000;--mat-sys-secondary: #645b70;--mat-sys-secondary-container: #eadef7;--mat-sys-secondary-fixed: #eadef7;--mat-sys-secondary-fixed-dim: #cec2db;--mat-sys-shadow: #000000;--mat-sys-surface: #fef8fc;--mat-sys-surface-bright: #fef8fc;--mat-sys-surface-container: #f2ecf1;--mat-sys-surface-container-high: #ede6eb;--mat-sys-surface-container-highest: #e6e1e6;--mat-sys-surface-container-low: #f8f2f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #ded8dd;--mat-sys-surface-tint: #7d00fa;--mat-sys-surface-variant: #e8e0eb;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e}html{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-sys-body-large: 400 1rem / 1.5rem Rubik, system-ui, sans-serif;--mat-sys-body-large-font: Rubik, system-ui, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Rubik, system-ui, sans-serif;--mat-sys-body-medium-font: Rubik, system-ui, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Rubik, system-ui, sans-serif;--mat-sys-body-small-font: Rubik, system-ui, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Rubik, system-ui, sans-serif;--mat-sys-display-large-font: Rubik, system-ui, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Rubik, system-ui, sans-serif;--mat-sys-display-medium-font: Rubik, system-ui, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Rubik, system-ui, sans-serif;--mat-sys-display-small-font: Rubik, system-ui, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Rubik, system-ui, sans-serif;--mat-sys-headline-large-font: Rubik, system-ui, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Rubik, system-ui, sans-serif;--mat-sys-headline-medium-font: Rubik, system-ui, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Rubik, system-ui, sans-serif;--mat-sys-headline-small-font: Rubik, system-ui, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Rubik, system-ui, sans-serif;--mat-sys-label-large-font: Rubik, system-ui, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Rubik, system-ui, sans-serif;--mat-sys-label-medium-font: Rubik, system-ui, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Rubik, system-ui, sans-serif;--mat-sys-label-small-font: Rubik, system-ui, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Rubik, system-ui, sans-serif;--mat-sys-title-large-font: Rubik, system-ui, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Rubik, system-ui, sans-serif;--mat-sys-title-medium-font: Rubik, system-ui, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Rubik, system-ui, sans-serif;--mat-sys-title-small-font: Rubik, system-ui, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500}html{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html{--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--mat-sys-primary: var(--brand);--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: var(--brand-soft);--mat-sys-on-primary-container: var(--brand-ink);--mat-sys-surface: var(--surface);--mat-sys-on-surface: var(--ink);--mat-sys-surface-container: var(--surface-soft);--mat-sys-surface-container-high: var(--surface-sunken);--mat-sys-on-surface-variant: var(--ink-2);--mat-sys-outline: var(--border-strong);--mat-sys-outline-variant: var(--border);--mat-sys-error: var(--error);--mdc-filled-button-container-shape: 8px;--mdc-protected-button-container-shape: 8px;--mdc-outlined-button-container-shape: 8px;--mdc-outlined-text-field-container-shape: 8px;--mdc-filled-text-field-container-shape: 8px}.mat-form-field-appearance-outline .mdc-floating-label{background:var(--surface);padding:0 4px;border-radius:4px}:root{--paper: oklch(.985 .002 265);--surface: oklch(1 0 0);--surface-soft: oklch(.965 .004 265);--surface-sunken: oklch(.95 .006 265);--border: oklch(.89 .006 265);--border-strong: oklch(.8 .008 265);--ink: oklch(.22 .02 265);--ink-2: oklch(.5 .015 265);--ink-3: oklch(.65 .012 265);--brand: oklch(.5 .14 265);--brand-600: oklch(.44 .14 265);--brand-700: oklch(.4 .14 265);--brand-soft: oklch(.95 .02 265);--brand-soft-strong: oklch(.9 .035 265);--brand-ink: oklch(.4 .14 265);--amber: oklch(.72 .15 75);--amber-soft: oklch(.95 .04 75);--amber-ink: oklch(.45 .15 75);--accent: oklch(.65 .12 220);--success: oklch(.6 .14 150);--success-soft: oklch(.95 .03 150);--success-ink: oklch(.38 .14 150);--warning: oklch(.72 .15 75);--warning-soft: oklch(.95 .04 75);--warning-ink: oklch(.45 .15 75);--error: oklch(.55 .19 25);--error-soft: oklch(.95 .03 25);--error-ink: oklch(.4 .19 25);--info: oklch(.6 .12 220);--info-soft: oklch(.95 .02 220);--info-ink: oklch(.4 .12 220);--subj-math:#3E6DB5;--subj-ukr:#BC3B57;--subj-lit:#8A4F9E;--subj-foreign:#2E8C97;--subj-physics:#4C5BB0;--subj-chem:#2E8F5B;--subj-bio:#5C9A3C;--subj-geo:#2A957F;--subj-history:#A87B2C;--subj-it:#6357C9;--subj-art:#B24E86;--subj-other:#5A7D8C;--shadow-sm: 0 1px 2px oklch(.22 .02 265 / .06);--shadow-md: 0 8px 24px oklch(.22 .02 265 / .1);--shadow-lg: 0 16px 48px oklch(.22 .02 265 / .16);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:16px;--radius-pill:999px}:root{--footer-bg: oklch(.2 .02 265);--footer-ink: oklch(.94 .006 265);--footer-ink-2: oklch(.72 .01 265);--footer-border: oklch(.3 .02 265)}html,body{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Rubik,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}a{color:var(--brand)}.mono{font-family:JetBrains Mono,monospace}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-soft);border-radius:6px}.page{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.page-narrow{max-width:720px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}@media(min-width:640px){.page-header{margin-bottom:28px}}.page-header h1{margin:0;font-size:1.6rem;font-weight:600}.page-subtitle{color:var(--ink-2);margin:10px 0 0}.block{margin-top:32px}.block-title{display:flex;align-items:center;gap:8px;font-size:1.3rem;font-weight:800;color:var(--ink);margin:0 0 14px}.block-title mat-icon{color:var(--brand)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px}.stat-card{background:var(--surface);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.stat-card .value{font-size:2rem;font-weight:700;line-height:1}.stat-card .label{color:var(--ink-2);margin-top:8px;font-size:.9rem}.surface{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:24px}.state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 20px;color:var(--ink-2)}.state mat-icon{font-size:48px;width:48px;height:48px;margin-bottom:12px;opacity:.6}.state-error{color:var(--error)}.loading-center{display:flex;justify-content:center;align-items:center;min-height:240px}.form-grid{display:grid;gap:6px}.full-width{width:100%}.form-actions{display:flex;gap:12px;margin-top:12px;flex-wrap:wrap}.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,var(--brand-700) 0%,var(--brand) 100%)}.auth-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-lg)}.auth-card h1{margin:0 0 4px;font-size:1.5rem}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.auth-brand mat-icon{color:var(--brand)}.spacer{flex:1 1 auto}.muted{color:var(--ink-2)}.text-right{text-align:right}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-0{margin-bottom:0}.gap-8{gap:8px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-error{color:var(--error);font-size:.8rem;margin-top:2px}.snack-success{--mdc-snackbar-container-color: var(--success)}.snack-error{--mdc-snackbar-container-color: var(--error)}.answer-correct{color:var(--success-ink);font-weight:600}.answer-wrong{color:var(--error-ink);font-weight:600}.option-correct{background:var(--success-soft);border-radius:8px}.option-selected-wrong{background:var(--error-soft);border-radius:8px}.data-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.data-table-head{display:flex;align-items:center;gap:12px;padding:11px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em}.data-table-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .12s ease}.data-table-row:last-child{border-bottom:none}.data-table-row:hover{background:var(--paper)}.data-table-cell-main{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}.data-table-cell-main .title{font-size:.92rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table-cell-main .subtitle{font-size:.8rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.data-table-actions{display:flex;align-items:center;gap:2px;flex:none;margin-left:auto}@media(max-width:720px){.data-table-head{display:none}.data-table-row{flex-wrap:wrap;align-items:flex-start;padding:14px 16px}.data-table-cell-main,.data-table-badges{flex-basis:100%}.data-table-actions{margin-left:0}}
