:root{--brand-navy: #182854;--brand-lime: #bed834;--brand-violet: #7568f9;--color-bg-base: #0c1224;--color-bg-elevated: #131d35;--color-bg-subtle: #1a2744;--color-border: #2a3a5c;--color-border-strong: #3d5080;--color-surface-brand: var(--brand-navy);--color-surface-brand-contrast: #ffffff;--color-surface-light: #f4f6fb;--color-text: #e8eaf0;--color-text-muted: #94a3b8;--color-text-subtle: #64748b;--color-action-primary: var(--brand-lime);--color-action-primary-hover: #d4e85a;--color-on-action: var(--brand-navy);--color-primary: var(--color-action-primary);--color-primary-hover: var(--color-action-primary-hover);--color-on-primary: var(--color-on-action);--color-link: #c4bcfc;--color-link-hover: #e8e4ff;--brand-violet-muted: #7568f9;--color-focus-ring: var(--brand-violet);--color-status-success: #3d9a6e;--color-status-warning: #d97706;--color-status-error: #ef4444;--color-error-bg: #450a0a;--color-error-border: #7f1d1d;--color-error-text: #fecaca;--color-success-bg-muted: #1a2744;--radius-md: 8px;--radius-lg: 12px}:root{font-family:Segoe UI,system-ui,sans-serif;color:var(--color-text);background:var(--color-bg-base)}*{box-sizing:border-box}body{margin:0}.app-shell-topbar{background:var(--color-surface-brand);border-bottom:1px solid var(--color-border)}.app-shell-topbar-inner{max-width:1100px;margin:0 auto;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.app-shell-logo{height:32px;width:auto;display:block}.app-shell-tagline{margin:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.app{max-width:1100px;margin:0 auto;padding:24px}.app-page-title{margin:0 0 24px;font-size:28px;line-height:1.25;max-width:36rem}h1{margin:0;font-size:inherit}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.start-card h2{margin:0 0 8px;font-size:1.25rem}.start-card .form-intro{margin:0 0 20px}.form-field{display:flex;flex-direction:column;gap:6px;margin:0;font-size:14px;color:var(--color-text)}.form-grid{display:flex;flex-direction:column;gap:16px}.form-row-2{display:grid;grid-template-columns:minmax(9rem,11rem) 1fr;gap:16px;align-items:end}.form-row-names{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:560px){.form-row-2,.form-row-names{grid-template-columns:1fr}}.start-card input[type=text],.start-card input[type=email],.start-card select{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background-color:var(--color-bg-base);color:var(--color-text);font-size:16px;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-primary)}.start-card select{cursor:pointer}.start-card input::placeholder{color:var(--color-text-subtle);-webkit-text-fill-color:var(--color-text-subtle);opacity:1}.form-actions{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}input[type=text],input:not([type]){padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background-color:var(--color-bg-base);color:var(--color-text);-webkit-text-fill-color:var(--color-text);caret-color:var(--color-primary)}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background-color:var(--color-bg-subtle);color:var(--color-text);-webkit-text-fill-color:var(--color-text);font-family:system-ui,-apple-system,Ubuntu,Cantarell,sans-serif;font-size:15px;line-height:1.25;font-weight:600;cursor:pointer;min-height:2.75rem;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button:hover:not(:disabled){background-color:var(--color-bg-elevated)}button.btn-primary{border:1px solid var(--brand-navy);background-color:var(--color-action-primary);color:var(--color-on-action);-webkit-text-fill-color:var(--color-on-action)}button.btn-primary:hover:not(:disabled){background-color:var(--color-action-primary-hover)}button:focus-visible{outline:2px solid var(--brand-violet);outline-offset:2px}.start-card .btn-primary{min-width:11rem}.start-card .btn-primary span{display:inline-block;color:var(--color-on-primary);-webkit-text-fill-color:var(--color-on-primary);pointer-events:none}button:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:14px;color:var(--color-text-muted);line-height:1.5}.optional{font-weight:400;color:var(--color-text-subtle)}.hint-list{margin:0 0 16px;padding-left:1.25rem;color:var(--color-text-muted);font-size:14px;line-height:1.6}.exam-pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000000d9;padding:24px}.exam-pause-card{max-width:420px;background:var(--color-bg-elevated);border:1px solid var(--color-error-border);border-radius:var(--radius-lg);padding:24px;text-align:center}.exam-pause-card h2{margin-top:0;color:var(--color-error-text)}.exam-pause-card p{color:var(--color-text-muted);line-height:1.5}.exam-layout--paused{pointer-events:none;-webkit-user-select:none;user-select:none;filter:blur(2px);opacity:.35}.banner{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:15px;line-height:1.5}.banner.error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text)}.banner--guide{background:#d977061a;border:1px solid var(--color-status-warning);color:var(--color-text)}.proctor-notice{max-width:1100px;margin:0 auto 12px;padding:12px 16px;border-radius:var(--radius-md);font-size:14px;line-height:1.45}.proctor-notice--persistent{background:#d977061f;border:1px solid var(--color-status-warning);color:var(--color-text)}.proctor-notice--toast{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:9999;max-width:min(420px,calc(100vw - 32px));background:var(--color-surface-brand);border:1px solid var(--color-border-strong);color:var(--color-text);box-shadow:0 8px 24px #00000059;animation:proctor-toast-in .2s ease-out}@keyframes proctor-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.exam-layout .exam-main,.exam-layout .options label span{user-select:none;-webkit-user-select:none}.start-card input,.start-card select,.start-card textarea{user-select:text;-webkit-user-select:text}.exam-layout{display:grid;grid-template-columns:1fr 280px;gap:16px}@media(max-width:900px){.exam-layout{grid-template-columns:1fr}}.progress{height:6px;background:var(--color-bg-subtle);border-radius:999px;overflow:hidden;margin-bottom:8px}.progress-bar{height:100%;background:var(--color-link)}.progress-text{font-size:13px;color:var(--color-text-muted)}.options{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:10px}.options label{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer}.options label:has(input:checked){border-color:var(--color-link);background:var(--color-success-bg-muted)}.nav-row{display:flex;justify-content:space-between;gap:12px}.webcam-panel{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px}.webcam-label{margin:0 0 8px;font-size:12px;color:var(--color-text-muted)}.webcam-video{width:100%;border-radius:var(--radius-md);background:#000;aspect-ratio:4/3;object-fit:cover}.done-card h2{margin-top:0}.exam-sidebar{display:flex;flex-direction:column;gap:16px}.exam-summary-panel{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.exam-summary-header{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.exam-summary-panel h3{margin:0;font-size:15px;font-weight:600;letter-spacing:.01em}.exam-summary-stats{margin:0;font-size:12px;color:var(--color-text-muted);display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:nowrap;gap:6px;white-space:nowrap}.exam-summary-stat{display:inline-flex;align-items:baseline;gap:.35em;white-space:nowrap}.exam-summary-stat-value{font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.exam-summary-stat-label{white-space:nowrap}.exam-summary-stat-sep{opacity:.45}.exam-summary-hint{margin:0;font-size:11px;color:var(--color-text-subtle);line-height:1.4}.exam-question-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:240px;overflow-y:auto;padding:2px}@media(max-width:900px){.exam-question-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.exam-q-btn{aspect-ratio:1;min-height:40px;padding:0;border-radius:var(--radius-md);border:1px solid transparent;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,color .15s ease}.exam-q-btn:disabled{opacity:.5;cursor:not-allowed}.exam-q-btn.is-pending{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-muted)}.exam-q-btn.is-pending:hover:not(:disabled){border-color:var(--color-status-warning);color:var(--color-text);background:#d977061f}.exam-q-btn.is-answered{background:#3d9a6e38;border-color:var(--color-status-success);color:#c8f0dc}.exam-q-btn.is-answered:hover:not(:disabled){background:#3d9a6e52}.exam-q-btn.is-current{box-shadow:0 0 0 2px var(--brand-violet-muted);border-color:var(--color-link);color:var(--color-text)}.exam-q-btn.is-answered.is-current{box-shadow:0 0 0 2px var(--color-status-success)}.exam-summary-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:.04em}.exam-legend-item{display:inline-flex;align-items:center;gap:6px}.exam-legend-item:before{content:"";width:10px;height:10px;border-radius:3px;border:1px solid var(--color-border)}.exam-legend-item--done:before{background:#3d9a6e59;border-color:var(--color-status-success)}.exam-legend-item--pending:before{background:var(--color-bg-subtle);border-color:var(--color-border)}.exam-timer{font-size:14px;font-variant-numeric:tabular-nums;margin-bottom:8px}.exam-timer--urgent{color:var(--color-warning, #fa8c16);font-weight:600}.exam-exit-row{margin-top:4px;padding-top:12px;border-top:1px solid var(--color-border)}.exam-exit-btn{width:100%;font-size:13px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.exam-exit-btn:hover:not(:disabled){border-color:var(--color-status-error);color:var(--color-error-text);background:#7f1d1d40}.exam-exit-btn:disabled{opacity:.5;cursor:not-allowed}
