:root{color-scheme:light;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: clamp(30px, 4vw, 44px);--text-hero: clamp(36px, 5.4vw, 62px);--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;--space-20: 80px;--space-24: 96px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--bg: #f6f8fa;--bg-subtle: #eef1f5;--surface: #ffffff;--surface-2: #f7f9fb;--surface-inset: #f1f4f8;--surface-inverse: #0b1220;--text-inverse: #f2f5f9;--fg: #0b1220;--fg-secondary: #46536a;--fg-muted: #6a7688;--fg-faint: #98a3b4;--border: #e2e7ee;--border-strong: #cbd3de;--brand: #0b1220;--brand-soft: #eef1f5;--on-brand: #ffffff;--accent: #15803d;--accent-hover: #116435;--accent-graphic: #16a34a;--accent-text: #15803d;--accent-soft: #e8f5ec;--accent-border: #bfe3cb;--on-accent: #ffffff;--success: #15803d;--success-soft: #e8f5ec;--success-border: #bfe3cb;--warning: #b45309;--warning-soft: #fdf3e3;--warning-border: #f0d9ac;--danger: #c62828;--danger-hover: #a71f1f;--danger-soft: #fdeeee;--danger-border: #f3c9c9;--info: #1d4ed8;--info-soft: #eaf0ff;--info-border: #c3d3fb;--violet: #6d28d9;--violet-soft: #f3e8ff;--on-danger: #ffffff;--on-info: #ffffff;--shadow-xs: 0 1px 2px rgba(11, 18, 32, .06);--shadow-sm: 0 1px 3px rgba(11, 18, 32, .08), 0 1px 2px rgba(11, 18, 32, .04);--shadow-md: 0 8px 24px rgba(11, 18, 32, .08);--shadow-lg: 0 24px 60px rgba(11, 18, 32, .14);--ring: 0 0 0 3px rgba(21, 128, 61, .24);--ease: cubic-bezier(.2, .8, .3, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .32s;--z-sticky: 40;--z-header: 100;--z-drawer: 200;--z-modal: 300;--z-toast: 400;--header-h: 60px;--sidebar-w: 236px}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0e17;--bg-subtle: #070a11;--surface: #121826;--surface-2: #0f1420;--surface-inset: #182031;--surface-inverse: #f2f5f9;--text-inverse: #0b1220;--fg: #eef2f8;--fg-secondary: #aab5c6;--fg-muted: #8794a8;--fg-faint: #6b788c;--border: #232c3d;--border-strong: #35415a;--brand: #eef2f8;--brand-soft: #182031;--on-brand: #0b1220;--accent: #22c55e;--accent-hover: #34d977;--accent-graphic: #22c55e;--accent-text: #4ade80;--accent-soft: rgba(34, 197, 94, .14);--accent-border: rgba(34, 197, 94, .34);--on-accent: #06170d;--success: #4ade80;--success-soft: rgba(34, 197, 94, .14);--success-border: rgba(34, 197, 94, .32);--warning: #fbbf46;--warning-soft: rgba(251, 191, 70, .14);--warning-border: rgba(251, 191, 70, .3);--danger: #fb7185;--danger-hover: #fda4af;--danger-soft: rgba(251, 113, 133, .14);--danger-border: rgba(251, 113, 133, .32);--info: #7aa5ff;--info-soft: rgba(122, 165, 255, .14);--info-border: rgba(122, 165, 255, .32);--violet: #c4b5fd;--violet-soft: rgba(167, 139, 250, .16);--on-danger: #1c0407;--on-info: #04102b;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .5);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .55);--shadow-md: 0 10px 28px rgba(0, 0, 0, .55);--shadow-lg: 0 26px 64px rgba(0, 0, 0, .62);--ring: 0 0 0 3px rgba(34, 197, 94, .32)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{margin:0;min-width:320px;min-height:100dvh;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100dvh}a{color:inherit;text-decoration:none}button{font-family:inherit}.control-label{display:inline-block;line-height:1.2}@supports (text-box-trim: trim-both){.control-label{text-box:trim-both cap alphabetic}}button:not(:disabled),[role=button]:not([aria-disabled=true]),summary{cursor:pointer}h1,h2,h3,h4,h5,h6{margin:0;color:var(--fg);font-weight:650;line-height:1.16;letter-spacing:-.015em;overflow-wrap:break-word}p{margin:0}code,kbd,pre,samp{font-family:var(--font-mono)}table,.tabular{font-variant-numeric:tabular-nums}::selection{background:var(--accent-soft);color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--radius-full);background:var(--border-strong);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--fg-faint);background-clip:content-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);font-size:var(--text-sm);font-weight:600;transform:translateY(-200%);transition:transform var(--dur) var(--ease)}.skip-link:focus-visible{transform:translateY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-layout,.admin-layout{--bg: #f5f6f8;--sidebar-w: 224px}:root[data-theme=dark] .app-layout,:root[data-theme=dark] .admin-layout{--bg: #111214;--surface: #181a1d;--surface-2: #151719;--surface-inset: #222529;--border: #2d3035;--border-strong: #42464d}.nav-section-label{padding:12px;color:var(--fg-muted);font-size:11px;font-weight:600;letter-spacing:.5px}.app-layout .tests-toolbar{background:var(--surface)}.app-layout .tests-content{background:var(--bg);padding:28px}.admin-layout .admin-panel,.admin-layout .user-panel{border-radius:14px;box-shadow:var(--shadow-xs)}.admin-layout h1{letter-spacing:-.6px;font-weight:600}.app-layout .table-card,.app-layout .settings-card,.app-layout .files-card{border-radius:14px;box-shadow:var(--shadow-xs)}@media (max-width: 680px){.app-layout .tests-content{padding:16px}}
