:root{color:#202124;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text:#202124;--muted:#5f6368;--accent:#1a73e8;--border:#d2e3fc;--panel:#fffffff0;--shadow:0 1px 2px #3c404326, 0 4px 12px #3c404314;--success:#188038;--danger:#d93025;--surface-soft:#f8f9fa;--surface-blue:#e8f0fe;background:radial-gradient(circle at top,#4285f41a,#0000 24%),linear-gradient(#f8fbff 0%,#eef3fd 100%);font-family:Arial,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);font-family:Arial,Helvetica Neue,sans-serif;font-weight:500}h1{margin-bottom:14px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05}h2{margin-bottom:10px;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15}a{color:inherit}#root{min-height:100vh}.app-shell{width:min(1400px,100% - 32px);margin:0 auto;padding:110px 0 40px}.timer-modal{z-index:20;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:220px;box-shadow:var(--shadow);text-align:center;background:#fffffff0;border-radius:16px;padding:14px 18px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.timer-label{letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-size:.76rem;font-weight:600;display:block}.timer-modal strong{color:var(--accent);font-size:1.9rem;line-height:1;display:block}.layout-grid{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:24px;display:grid}.launch-panel{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:28px;padding:32px}.launch-panel h1{margin:0;font-size:clamp(2.2rem,5vw,4rem)}.launch-copy{max-width:760px;color:var(--muted);margin:14px 0 0;font-size:1.02rem;line-height:1.6}.launch-exam-switch{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:28px;display:grid}.launch-exam-button{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:#fff;border:1px solid #d0d7e2;border-radius:18px;gap:6px;padding:16px 18px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.launch-exam-button strong{font-size:1rem}.launch-exam-button span{color:var(--muted);font-size:.9rem}.launch-exam-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a14}.launch-exam-button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--surface-blue)}.launch-grid{grid-template-columns:minmax(0,280px) minmax(0,280px) minmax(0,1fr);gap:20px;margin-top:28px;display:grid}.launch-card{border:1px solid var(--border);background:#fff;border-radius:24px;padding:22px}.launch-card-wide{grid-column:span 1}.launch-label{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:14px;font-size:.82rem;font-weight:700;display:block}.launch-mode-switch{margin-top:0}.launch-user{gap:6px;display:grid}.launch-user strong{font-size:1.1rem}.launch-user span{color:var(--muted)}.resume-panel{background:#fff8e1;border:1px solid #fbbc056b;border-radius:20px;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px;display:flex}.resume-panel h2{margin:0;font-size:1.35rem}.resume-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.launch-module-list{gap:10px;display:grid}.auth-panel{max-width:560px;margin:0 auto}.auth-form{gap:16px;margin-top:24px;display:grid}.form-field{gap:8px;display:grid}.form-field span{color:var(--text);font-size:.92rem;font-weight:600}.form-field input{width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #dadce0;border-radius:14px;padding:14px 16px}.form-field input:focus{border-color:var(--accent);outline:2px solid #1a73e829}.launch-actions{justify-content:flex-end;margin-top:24px;display:flex}.sidebar-panel,.exam-panel,.summary-panel,.workspace-header{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:24px}.sidebar-panel{padding:22px;position:sticky;top:96px}.sidebar-panel.locked .module-list,.sidebar-panel.locked .mode-switch{pointer-events:none}.candidate-card{justify-items:center;gap:14px;margin-bottom:22px;display:grid}.candidate-avatar{border:1px solid var(--border);width:116px;height:116px;color:var(--accent);background:linear-gradient(#edf4ff,#d9e7ff);border-radius:28px;place-items:center;font-weight:700;display:grid}.candidate-info{text-align:center;background:linear-gradient(#f5f7fa,#e8edf5);border:1px solid #d0d7e2;border-radius:16px;width:100%;padding:14px}.candidate-info strong,.candidate-info span{display:block}.candidate-info span{color:var(--muted);margin-top:4px;font-size:.92rem}.module-list{gap:10px;display:grid}.module-button{width:100%;color:var(--text);font:inherit;cursor:pointer;background:#d7e2ef;border:1px solid #b8c7da;border-radius:0;padding:16px 12px;font-weight:700;transition:background .18s,transform .18s,border-color .18s}.module-button:hover{background:#c7d8ea;transform:translateY(-1px)}.module-button:disabled,.mode-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.module-button:disabled:hover,.mode-button:disabled:hover{box-shadow:none;transform:none}.module-button.active{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent);background:#becfe2}.mode-switch{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.mode-button{color:var(--text);font:inherit;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:14px;padding:12px 10px;font-weight:600}.mode-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.workspace-panel,.workspace-stack{gap:20px;display:grid}.workspace-header{justify-content:space-between;align-items:center;gap:18px;padding:24px 28px;display:flex}.eyebrow{letter-spacing:.08em;color:var(--accent);margin:0 0 8px;font-size:.78rem;font-weight:600}.workspace-header h1,.panel-header h2,.summary-panel h2,.warning-modal h2,.question-card h3{margin:0}.brand-mark{color:#5f6368;align-items:center;gap:10px;font-weight:700;display:flex}.brand-icon{color:#fff;background:linear-gradient(135deg,#34a853,#1a73e8);border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.brand-text{letter-spacing:.04em;font-size:1.2rem}.exam-panel{padding:26px}.panel-header{justify-content:space-between;align-items:start;gap:18px;margin-bottom:20px;display:flex}.panel-header p,.summary-copy,.feedback,.warning-counter,.summary-box p,.camera-copy,.camera-inline-note{color:var(--muted)}.panel-actions{gap:12px;display:flex}.camera-inline-note{margin:12px 0 0;font-size:.95rem}.camera-inline-note.success{color:var(--success)}.camera-inline-note.danger{color:var(--danger)}.primary-button,.secondary-button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:12px 20px;transition:transform .18s,box-shadow .18s,opacity .18s}.primary-button{background:var(--accent);color:#fff}.secondary-button{color:var(--text);background:#fff;border-color:#dadce0}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);box-shadow:0 1px 3px #3c404333}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none;transform:none}.progress-strip{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:10px;margin-bottom:18px;display:grid}.progress-dot{color:var(--text);font:inherit;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:12px;padding:10px 0;font-weight:600}.progress-dot.active{border-color:var(--accent);background:var(--surface-blue)}.progress-dot.answered{color:var(--accent)}.question-card{background:#fff;border:1px solid #e0e3e7;border-radius:24px;padding:24px}.question-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.question-number,.question-badge{border-radius:999px;align-items:center;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.question-number{background:var(--surface-blue);color:var(--accent)}.question-badge.success,.feedback.success{color:var(--success)}.question-badge.danger,.feedback.danger{color:var(--danger)}.question-badge.success{background:#1880381f}.question-badge.danger{background:#d930251f}.question-card h3{margin-bottom:18px;font-size:1.18rem;line-height:1.45}.question-image-frame{background:#f8fafc;border:1px solid #e0e3e7;border-radius:18px;margin-bottom:18px;overflow:hidden}.question-image{object-fit:contain;background:#fff;width:100%;max-height:420px;display:block}.options-list{gap:12px;display:grid}.option-item{cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .18s,background .18s,transform .18s;display:flex}.option-item:hover{background:#f8fbff;border-color:#aecbfa;transform:translateY(-1px)}.option-item.selected{border-color:var(--accent);background:var(--surface-blue)}.option-item.correct{background:#e6f4eaf5;border-color:#18803847}.option-item.wrong{background:#fce8e6fa;border-color:#d9302540}.option-item input{accent-color:var(--accent);flex:none;block-size:18px;inline-size:18px;margin:0}.feedback{margin:14px 0 0;font-size:.95rem}.question-navigation{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.metrics-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.metric-card{box-shadow:var(--shadow);text-align:center;border:1px solid #00000014;border-radius:16px;padding:18px}.metric-card span,.summary-box span{color:var(--muted);margin-bottom:8px;font-size:.84rem;display:block}.metric-card strong,.summary-box strong{font-size:1.35rem}.metric-card.warning{background:linear-gradient(#ffe9a9,#ffd866)}.metric-card.success{background:linear-gradient(#ccf0c6,#9add8f)}.metric-card.danger{background:linear-gradient(#ffc8c1,#ff8b80)}.metric-card.neutral{background:linear-gradient(#eef2f7,#cfd8e3)}.metric-card.accent{color:#fff;background:linear-gradient(#9ad335,#6ba80f)}.metric-card.accent span,.metric-card.accent strong{color:#fff}.summary-panel{grid-template-columns:1.5fr 1fr;gap:18px;padding:24px 28px;display:grid}.summary-box{background:#fff;border:1px solid #e0e3e7;border-radius:20px;padding:18px}.summary-box.approved{background:#e6f4eaf2;border-color:#18803838}.summary-box.rejected{background:#fce8e6f5;border-color:#d9302538}.camera-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);border-radius:24px;padding:24px 28px}.camera-card.compact{border-radius:18px;padding:14px}.camera-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.camera-header.compact h2{font-size:1rem}.camera-pill{border-radius:999px;align-items:center;padding:8px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.camera-pill.success{color:var(--success);background:#1880381f}.camera-pill.warning{color:#8a5a00;background:#ffd86659}.camera-pill.danger{color:var(--danger);background:#d930251f}.camera-pill.neutral{color:var(--muted);background:#5f63681f}.camera-frame{aspect-ratio:4/3;background:linear-gradient(#1a73e814,#1a73e805),#0f1720;border-radius:22px;margin-top:18px;position:relative;overflow:hidden}.camera-frame.compact{border-radius:14px;margin-top:10px}.camera-frame video{object-fit:cover;background:#000;width:100%;height:100%;display:block;position:absolute;inset:0;transform:scaleX(-1)}.camera-guide,.camera-face-box{pointer-events:none;position:absolute}.camera-guide{border:2px dashed #ffffffe6;border-radius:20px;inset:15% 20% 10%;box-shadow:0 0 0 999px #0f17202e}.camera-guide.compact{border-radius:12px}.camera-face-box{border:2px solid;border-radius:16px}.camera-face-box.valid{border-color:#188038f2;box-shadow:0 0 0 999px #18803814}.camera-face-box.invalid{border-color:#d93025f2;box-shadow:0 0 0 999px #d9302514}.camera-progress{background:#5f636829;border-radius:999px;height:8px;margin-top:10px;overflow:hidden}.camera-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#fbbc04,#f29900);height:100%;transition:width .2s}.camera-progress-bar.danger{background:linear-gradient(90deg,#ea4335,#c5221f)}.camera-debug{color:var(--muted);gap:4px;margin-top:12px;font-size:.82rem;display:grid}.camera-floating-layer{z-index:35;pointer-events:none;position:fixed;inset:0}.camera-modal-shell{width:min(20vw,340px);min-width:260px;max-height:80vh;position:relative;overflow:hidden}.camera-modal-shell.floating{pointer-events:auto;cursor:move;-webkit-user-select:none;user-select:none;position:fixed}.camera-modal-shell.blocked{opacity:.72}.camera-modal-topbar{justify-content:space-between;align-items:start;gap:16px;margin-bottom:14px;padding:0 4px;display:flex}.camera-modal-topbar.floating{align-items:center;margin-bottom:8px}.camera-modal-blocker{z-index:2;color:#fff;letter-spacing:.04em;text-transform:uppercase;background:#0f1720d1;border-radius:14px;place-items:center;font-weight:700;display:grid;position:absolute;inset:42px 14px 14px}.warning-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2021246b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.warning-modal{border:1px solid var(--border);background:#fff;border-radius:24px;width:min(100%,520px);padding:28px;box-shadow:0 12px 36px #3c40433d}.warning-modal.cancelled{border-color:#d9302547;box-shadow:0 12px 36px #d930252e}.warning-counter{margin:18px 0}@media (width<=1100px){.layout-grid{grid-template-columns:1fr}.sidebar-panel{position:static}.metrics-row,.summary-panel{grid-template-columns:1fr 1fr}.launch-grid{grid-template-columns:1fr}}@media (width<=760px){.app-shell{width:min(100% - 20px,1400px);padding:94px 0 30px}.workspace-header,.exam-panel,.summary-panel,.sidebar-panel,.camera-card{padding:20px}.workspace-header,.panel-header,.question-head,.question-navigation,.panel-actions,.resume-panel,.metrics-row,.summary-panel,.camera-modal-topbar{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.metrics-row,.summary-panel{display:grid}.mode-switch{grid-template-columns:1fr}.timer-modal{min-width:190px;padding:12px 16px;top:12px}.timer-modal strong{font-size:1.7rem}.camera-modal-shell{width:min(60vw,320px)}}
