@layer reset,tokens,base,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}html{scroll-behavior:smooth;text-size-adjust:100%}body{background:var(--ui-color-background);color:var(--ui-color-text);transition:background-color var(--ui-transition-base)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}img,video,canvas,svg{display:block;max-width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ui-color-border);border-radius:var(--ui-radius-full)}}@layer tokens{:root{--ui-space-1: 4px;--ui-space-2: 8px;--ui-space-3: 12px;--ui-space-4: 16px;--ui-space-5: 24px;--ui-space-6: 32px;--ui-space-7: 48px;--ui-space-8: 64px;--ui-radius-sm: 4px;--ui-radius-md: 8px;--ui-radius-lg: 12px;--ui-radius-xl: 16px;--ui-radius-full: 9999px;--ui-touch-target-min: 44px;--ui-text-xs: .75rem;--ui-text-sm: .875rem;--ui-text-base: 1rem;--ui-text-lg: 1.125rem;--ui-text-xl: 1.25rem;--ui-text-2xl: 1.5rem;--ui-text-3xl: 1.875rem;--ui-text-4xl: 2.25rem;--ui-weight-normal: 400;--ui-weight-medium: 500;--ui-weight-semibold: 600;--ui-weight-bold: 700;--ui-transition-fast: .15s ease-out;--ui-transition-base: .25s ease-out;--ui-transition-slow: .35s ease-out;--ui-z-base: 0;--ui-z-sticky: 100;--ui-z-modal: 1000;--ui-z-toast: 1100;--ui-z-tooltip: 1200;--ui-opacity-disabled: .5;--ui-opacity-muted: .6;--ui-color-background: #f8fafc;--ui-color-surface: #ffffff;--ui-color-surface-hover: #f1f5f9;--ui-color-overlay: rgba(15, 23, 42, .5);--ui-color-text: #0f172a;--ui-color-text-muted: #64748b;--ui-color-text-on-primary: #ffffff;--ui-color-primary: #1e293b;--ui-color-primary-hover: #0f172a;--ui-color-primary-active: #020617;--ui-color-secondary: #475569;--ui-color-secondary-hover: #334155;--ui-color-accent: #3b82f6;--ui-color-accent-hover: #2563eb;--ui-color-success: #16a34a;--ui-color-success-hover: #15803d;--ui-color-success-bg: #dcfce7;--ui-color-warning: #ca8a04;--ui-color-warning-hover: #a16207;--ui-color-warning-bg: #fef9c3;--ui-color-danger: #dc2626;--ui-color-danger-hover: #b91c1c;--ui-color-danger-bg: #fee2e2;--ui-color-info: #0284c7;--ui-color-info-bg: #e0f2fe;--ui-color-border: #e2e8f0;--ui-color-border-strong: #cbd5e1;--ui-color-border-focus: #1e293b;--ui-color-exam-bg: #f1f5f9;--ui-color-suspicion: #f59e0b;--ui-color-flagged: #dc2626}[data-theme=dark]{--ui-color-background: #0f172a;--ui-color-surface: #1e293b;--ui-color-surface-hover: #334155;--ui-color-overlay: rgba(0, 0, 0, .7);--ui-color-text: #f1f5f9;--ui-color-text-muted: #94a3b8;--ui-color-text-on-primary: #ffffff;--ui-color-primary: #3b82f6;--ui-color-primary-hover: #2563eb;--ui-color-primary-active: #1d4ed8;--ui-color-secondary: #94a3b8;--ui-color-secondary-hover: #cbd5e1;--ui-color-accent: #60a5fa;--ui-color-accent-hover: #93c5fd;--ui-color-success: #22c55e;--ui-color-success-hover: #16a34a;--ui-color-success-bg: #14532d;--ui-color-warning: #fbbf24;--ui-color-warning-hover: #f59e0b;--ui-color-warning-bg: #713f12;--ui-color-danger: #ef4444;--ui-color-danger-hover: #f87171;--ui-color-danger-bg: #7f1d1d;--ui-color-info: #38bdf8;--ui-color-info-bg: #075985;--ui-color-border: #334155;--ui-color-border-strong: #475569;--ui-color-border-focus: #93c5fd;--ui-color-exam-bg: #0b1220}}@layer base{a{color:var(--ui-color-accent);text-decoration:none;transition:color var(--ui-transition-fast)}a:hover{color:var(--ui-color-accent-hover);text-decoration:underline}button:not(.ui-button-touch-override),input[type=button]:not(.ui-button-touch-override),input[type=submit]:not(.ui-button-touch-override),input[type=checkbox]:not(.ui-button-touch-override),input[type=radio]:not(.ui-button-touch-override),[role=button]:not(.ui-button-touch-override){min-height:var(--ui-touch-target-min)}input[type=checkbox]:not(.ui-button-touch-override),input[type=radio]:not(.ui-button-touch-override){min-width:var(--ui-touch-target-min);width:var(--ui-touch-target-min);height:var(--ui-touch-target-min)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--ui-weight-semibold);line-height:1.3}p{margin:0 0 var(--ui-space-3)}p:last-child{margin-bottom:0}ul,ol{margin:0;padding-left:var(--ui-space-5)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer utilities{.ui-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ui-focus-ring:focus-visible{outline:2px solid var(--ui-color-border-focus);outline-offset:2px}.ui-text-muted{color:var(--ui-color-text-muted)}.ui-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-stack{display:flex;flex-direction:column;gap:var(--ui-space-3)}.ui-stack-sm{gap:var(--ui-space-2)}.ui-stack-md{gap:var(--ui-space-4)}.ui-stack-lg{gap:var(--ui-space-5)}.ui-row{display:flex;align-items:center;gap:var(--ui-space-3)}}@layer ui-fallback{.ui-topbar[data-v-8ff9cc67]{display:flex;align-items:center;justify-content:space-between;padding:var(--ui-space-3) var(--ui-space-5);background:var(--ui-color-surface);border-bottom:1px solid var(--ui-color-border);gap:var(--ui-space-4)}.ui-topbar__brand[data-v-8ff9cc67]{display:flex;align-items:center}.ui-topbar__spacer[data-v-8ff9cc67]{flex:1}.ui-topbar__logo[data-v-8ff9cc67]{font-size:var(--ui-text-xl);font-weight:var(--ui-weight-bold);color:var(--ui-color-text);text-decoration:none}.ui-topbar__nav[data-v-8ff9cc67]{display:flex;gap:var(--ui-space-4);flex:1;justify-content:center}.ui-topbar__link[data-v-8ff9cc67]{color:var(--ui-color-text-muted);padding:var(--ui-space-2) var(--ui-space-3);border-radius:var(--ui-radius-md);text-decoration:none;transition:color var(--ui-transition-fast),background var(--ui-transition-fast)}.ui-topbar__link[data-v-8ff9cc67]:hover,.ui-topbar__link.router-link-active[data-v-8ff9cc67]{color:var(--ui-color-text);background:var(--ui-color-surface-hover)}.ui-topbar__actions[data-v-8ff9cc67]{display:flex;align-items:center;gap:var(--ui-space-3)}.ui-icon-button[data-v-8ff9cc67]{width:36px;height:36px;border-radius:var(--ui-radius-full);border:0;background:transparent;color:var(--ui-color-text);cursor:pointer;transition:background var(--ui-transition-fast)}.ui-icon-button[data-v-8ff9cc67]:hover{background:var(--ui-color-surface-hover)}.ui-topbar__user[data-v-8ff9cc67]{display:flex;align-items:center;gap:var(--ui-space-3)}.ui-topbar__user-info[data-v-8ff9cc67]{display:flex;flex-direction:column;gap:var(--ui-space-1);align-items:flex-end}.ui-topbar__user-name[data-v-8ff9cc67]{font-size:var(--ui-text-sm);color:var(--ui-color-text-muted)}.ui-topbar__user-roles[data-v-8ff9cc67]{display:flex;gap:var(--ui-space-1);flex-wrap:wrap;justify-content:flex-end}.ui-topbar__role-badge[data-v-8ff9cc67]{font-size:var(--ui-text-xs);padding:2px var(--ui-space-2);background:var(--ui-color-accent-bg);color:var(--ui-color-accent);border-radius:var(--ui-radius-sm);font-weight:var(--ui-weight-medium);white-space:nowrap}.ui-topbar__exam-breadcrumb[data-v-8ff9cc67]{display:flex;align-items:center;gap:var(--ui-space-2);flex:1;padding:0 var(--ui-space-5);min-width:0}.ui-topbar__breadcrumb-course[data-v-8ff9cc67]{font-size:var(--ui-text-sm);color:var(--ui-color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.ui-topbar__breadcrumb-sep[data-v-8ff9cc67]{color:var(--ui-color-text-muted);opacity:.5}.ui-topbar__breadcrumb-exam[data-v-8ff9cc67]{font-size:var(--ui-text-sm);color:var(--ui-color-text);font-weight:var(--ui-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.ui-topbar[data-v-8ff9cc67]{flex-wrap:wrap;padding:var(--ui-space-3)}.ui-topbar__nav[data-v-8ff9cc67]{order:3;width:100%;justify-content:flex-start}}}@layer ui-fallback{.ui-toast-stack[data-v-15e14557]{position:fixed;bottom:var(--ui-space-5);right:var(--ui-space-5);display:flex;flex-direction:column;gap:var(--ui-space-2);z-index:var(--ui-z-toast);pointer-events:none}.ui-toast[data-v-15e14557]{pointer-events:auto;display:flex;align-items:center;gap:var(--ui-space-3);padding:var(--ui-space-3) var(--ui-space-4);border-radius:var(--ui-radius-md);background:var(--ui-color-surface);color:var(--ui-color-text);box-shadow:0 10px 30px #0003;border-left:4px solid var(--ui-color-border);min-width:240px;max-width:380px;cursor:pointer}.ui-toast--success[data-v-15e14557]{border-left-color:var(--ui-color-success);background:var(--ui-color-success-bg);color:var(--ui-color-text)}.ui-toast--error[data-v-15e14557]{border-left-color:var(--ui-color-danger);background:var(--ui-color-danger-bg);color:var(--ui-color-text)}.ui-toast--warning[data-v-15e14557]{border-left-color:var(--ui-color-warning);background:var(--ui-color-warning-bg);color:var(--ui-color-text)}.ui-toast--info[data-v-15e14557]{border-left-color:var(--ui-color-info);background:var(--ui-color-info-bg);color:var(--ui-color-text)}.ui-toast__message[data-v-15e14557]{flex:1}.ui-toast__close[data-v-15e14557]{background:transparent;border:0;cursor:pointer;opacity:.6}.ui-toast__close[data-v-15e14557]:hover{opacity:1}.ui-toast-enter-active[data-v-15e14557],.ui-toast-leave-active[data-v-15e14557]{transition:all var(--ui-transition-base)}.ui-toast-enter-from[data-v-15e14557],.ui-toast-leave-to[data-v-15e14557]{opacity:0;transform:translateY(20px)}}@layer ui-fallback{.ui-app-layout[data-v-9c649c37]{display:flex;flex-direction:column;min-height:100vh}.ui-app-layout__main[data-v-9c649c37]{flex:1;padding:var(--ui-space-5);max-width:1280px;margin:0 auto;width:100%}}
