:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--surface: #ffffff;--surface-alt: #f8fafc;--bg: #f1f5f9;--primary-50: #eef2ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--primary-800: #3730a3;--primary-900: #312e81;--primary: var(--primary-600);--primary-color: var(--primary);--ring: rgba(79, 70, 229, .14);--surface-ground: #f8fafc;--surface-card: #ffffff;--text-primary: #0f172a;--text-muted: #64748b;--border-color: #e2e8f0;--badge-primary-bg: #eef2ff;--badge-primary-text: #4338ca;--badge-green-bg: #dcfce7;--badge-green-text: #15803d;--badge-yellow-bg: #fef9c3;--badge-yellow-text: #854d0e;--badge-red-bg: #fee2e2;--badge-red-text: #b91c1c;--badge-amber-bg: #fffbeb;--badge-amber-text: #92400e;--badge-emerald-bg: #ecfdf5;--badge-emerald-text: #065f46;--badge-muted-bg: #f1f5f9;--badge-muted-text: #64748b;--nav-active-bg: #eef2ff;--admin-color: #d97706;--admin-hover-bg: #fffbeb;--admin-hover-color: #b45309;--alert-red-bg: #fef2f2;--alert-red-text: #991b1b;--alert-red-border: #fecaca;--sk-from: #f1f5f9;--sk-via: #e2e8f0;--empty-icon: #cbd5e1;--card-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--card-hover-shadow: 0 8px 24px rgba(79, 70, 229, .1);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);color-scheme:light}.ai-progress{margin-top:16px;padding:12px;border:1px solid rgba(139,92,246,.35);border-radius:10px;background:#8b5cf614}.ai-progress-header{display:flex;justify-content:space-between;color:var(--text);font-size:.84rem;font-weight:700}.ai-progress-track{height:7px;margin-top:9px;overflow:hidden;border-radius:999px;background:var(--border)}.ai-progress-fill{height:100%;border-radius:inherit;background:#8b5cf6;transition:width .25s ease}.ai-progress p{margin:8px 0 0;color:var(--muted);font-size:.76rem}[data-theme=dark]{--text: #eef2f7;--muted: #8b9cb5;--border: #263345;--surface: #152236;--surface-alt: #0c1829;--bg: #0a1628;--primary-50: rgba(99, 102, 241, .08);--primary-100: rgba(99, 102, 241, .15);--primary-200: rgba(99, 102, 241, .25);--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary: var(--primary-500);--primary-700: var(--primary-600);--primary-color: var(--primary);--ring: rgba(99, 102, 241, .2);--surface-ground: #0a1628;--surface-card: #152236;--text-primary: #eef2f7;--text-muted: #8b9cb5;--border-color: #263345;--badge-primary-bg: rgba(99, 102, 241, .15);--badge-primary-text: #a5b4fc;--badge-green-bg: rgba(34, 197, 94, .12);--badge-green-text: #86efac;--badge-yellow-bg: rgba(234, 179, 8, .12);--badge-yellow-text: #fde68a;--badge-red-bg: rgba(239, 68, 68, .12);--badge-red-text: #fca5a5;--badge-amber-bg: rgba(245, 158, 11, .12);--badge-amber-text: #fbbf24;--badge-emerald-bg: rgba(52, 211, 153, .12);--badge-emerald-text: #6ee7b7;--badge-muted-bg: rgba(148, 163, 184, .08);--badge-muted-text: #8b9cb5;--nav-active-bg: rgba(99, 102, 241, .14);--admin-color: #fbbf24;--admin-hover-bg: rgba(251, 191, 36, .08);--admin-hover-color: #f59e0b;--alert-red-bg: rgba(239, 68, 68, .08);--alert-red-text: #fca5a5;--alert-red-border: rgba(239, 68, 68, .22);--sk-from: #152236;--sk-via: #1e3350;--row-border: #152236;--empty-icon: #334155;--card-shadow: 0 1px 3px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .4);--card-hover-shadow: 0 8px 32px rgba(99, 102, 241, .2);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font-sans);color:var(--text);background:var(--bg, #f1f5f9);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit}.top-nav{background:var(--surface);height:64px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;color:inherit;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.brand:hover{opacity:.9}.logo{font-size:1.1rem;font-weight:700;color:var(--primary);letter-spacing:-.3px}.nav-links{margin-left:40px;display:flex;gap:2px;align-items:center}.nav-links a{text-decoration:none;color:var(--muted);font-weight:500;font-size:.9rem;padding:6px 12px;border-radius:6px;transition:all .15s}.nav-links a:hover{color:var(--text);background:var(--bg)}.nav-links a.active{color:var(--primary);background:var(--nav-active-bg)}.admin-link{color:var(--admin-color)!important}.admin-link:hover{background:var(--admin-hover-bg)!important;color:var(--admin-hover-color)!important}.top-nav app-user-menu{margin-left:auto}.user-menu{margin-left:auto;display:flex;align-items:center;gap:12px}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-image{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover}.user-email{color:var(--muted);font-size:.85rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{padding:6px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s;white-space:nowrap}.logout-btn:hover{background:var(--alert-red-bg);color:var(--alert-red-text);border-color:var(--alert-red-border)}@media(max-width:768px){.top-nav{height:56px;padding:0 16px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.nav-links,.user-email{display:none}}@media(hover:none)or (pointer:coarse){button:active:not(:disabled),.btn-primary-header:active,.btn-start:active,.chip:active,.action-card:active{transform:scale(.97)!important}}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.simulation-page .sim-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.simulation-page .sim-control-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border:1px solid var(--border);border-radius:10px;background:var(--primary);color:#fff;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease}.simulation-page .sim-control-btn.secondary{background:var(--surface-alt);color:var(--text)}.simulation-page .sim-control-btn:hover:not(:disabled){transform:translateY(-1px)}.simulation-page .sim-control-btn:disabled{cursor:wait;opacity:.55}.simulation-page .sim-action-error{max-width:1100px;margin:16px auto 0;padding:10px 14px;border:1px solid var(--alert-red-border);border-radius:10px;background:var(--alert-red-bg);color:var(--alert-red-text);font-size:.84rem}.simulation-page .pause-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#080f1ec2;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.simulation-page .pause-dialog{width:min(100%,480px);padding:30px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 24px 70px #00000057;text-align:center}.simulation-page .pause-icon{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 14px;border-radius:16px;background:var(--badge-primary-bg);color:var(--primary)}.simulation-page .pause-eyebrow{color:#10b981;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.simulation-page .pause-dialog h2{margin:7px 0 9px;font-size:1.45rem}.simulation-page .pause-dialog>p{margin:0;color:var(--muted);line-height:1.55}.simulation-page .pause-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.simulation-page .pause-summary div{padding:14px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-alt)}.simulation-page .pause-summary strong,.simulation-page .pause-summary span{display:block}.simulation-page .pause-summary strong{font-size:1.1rem}.simulation-page .pause-summary span{margin-top:3px;color:var(--muted);font-size:.72rem}.simulation-page .pause-error{color:var(--alert-red-text)!important;font-size:.82rem}.simulation-page .pause-actions{display:flex;gap:10px}.simulation-page .pause-actions button{flex:1;min-height:44px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);font:inherit;font-size:.84rem;font-weight:750;cursor:pointer}.simulation-page .pause-actions button:disabled{cursor:wait;opacity:.55}.simulation-page .pause-primary{border-color:var(--primary)!important;background:var(--primary);color:#fff}.simulation-page .pause-secondary{background:var(--surface-alt);color:var(--text)}@media(max-width:768px){.simulation-page .sim-actions{gap:6px}.simulation-page .sim-control-btn{width:38px;min-height:38px;padding:7px}.simulation-page .sim-control-btn .action-label{display:none}.simulation-page .pause-dialog{padding:24px 18px}.simulation-page .pause-actions{flex-direction:column-reverse}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.print-exam-layout{display:none}@media print{body{background:#fff!important;color:#000!important;font-size:11pt;line-height:1.4}.sim-header,.sim-body,.modal-backdrop,.time-notice-toast,.sim-load-error-card,nav,footer,header{display:none!important}.print-exam-layout{display:block!important;padding:0;margin:0}.print-header{border-bottom:2px solid #000;padding-bottom:12px;margin-bottom:16px}.print-brand{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#444}.print-title{font-size:16pt;font-weight:800;margin:4px 0 10px;color:#000}.print-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:9pt;margin-bottom:12px;border-top:1px dashed #ccc;border-bottom:1px dashed #ccc;padding:6px 0}.print-candidate-box{margin:12px 0;font-size:9.5pt}.print-field{display:flex;align-items:flex-end;gap:8px;margin-bottom:6px}.print-line{flex:1;border-bottom:1px solid #000;height:14px}.print-line.short{width:140px;flex:none}.print-field-row{display:flex;gap:24px}.print-instructions{font-size:8.5pt;background:#f8f8f8;padding:8px 12px;border:1px solid #ddd;border-radius:4px;margin-top:10px}.print-instructions ol{margin:4px 0 0;padding-left:18px}.print-questions-list{display:block;margin-top:16px}.print-q-card{page-break-inside:avoid;break-inside:avoid;padding:10px 0;border-bottom:1px solid #eee}.print-q-num{font-size:10.5pt;font-weight:800;margin-bottom:6px}.print-q-sub{font-size:9pt;font-weight:400;color:#555;margin-left:6px}.print-q-text{font-size:10.5pt;line-height:1.45;margin:0 0 10px}.print-options{display:flex;flex-direction:column;gap:6px;margin-left:12px}.print-opt{display:flex;align-items:flex-start;gap:8px;font-size:10pt}.print-bubble{font-weight:800;min-width:24px}.print-omr-sheet{page-break-before:always;break-before:page;margin-top:24px;padding-top:16px;border-top:2px solid #000}.print-omr-title{font-size:13pt;font-weight:800;text-align:center;margin-bottom:16px;letter-spacing:.05em}.print-omr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 16px}.print-omr-row{display:flex;align-items:center;gap:8px;font-size:9pt}.print-omr-num{font-weight:800;min-width:22px}.print-omr-bubbles{display:flex;gap:5px}.print-omr-circle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid #000;font-size:7.5pt;font-weight:700}}.error-notebook-printable{display:none}@media print{body.printing-error-notebook .print-exam-layout,body.printing-error-notebook .sim-header,body.printing-error-notebook .sim-body,body.printing-error-notebook .modal-backdrop,body.printing-error-notebook .score-card,body.printing-error-notebook .benchmark-card,body.printing-error-notebook .diagnostic-card,body.printing-error-notebook .metacognition-card,body.printing-error-notebook .review-section,body.printing-error-notebook nav,body.printing-error-notebook footer,body.printing-error-notebook header{display:none!important}body.printing-error-notebook .error-notebook-printable{display:block!important;padding:0;margin:0}.error-nb-header{border-bottom:2px solid #000;padding-bottom:12px;margin-bottom:16px}.error-nb-brand{font-size:8.5pt;font-weight:800;letter-spacing:.1em;color:#444}.error-nb-title{font-size:15pt;font-weight:800;margin:4px 0 8px;color:#000}.error-nb-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:9pt;padding:6px 0;border-top:1px dashed #bbb;border-bottom:1px dashed #bbb;margin-bottom:10px}.error-nb-guide{font-size:8.5pt;font-style:italic;color:#555;margin:6px 0 0}.error-nb-item{page-break-inside:avoid;break-inside:avoid;padding:12px 0;border-bottom:1px solid #ccc}.error-nb-q-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:9pt}.error-nb-q-num{font-weight:800;font-size:10pt}.error-nb-q-meta{background:#eee;padding:2px 6px;border-radius:3px;font-weight:600}.error-nb-wrong-tag{background:#fee2e2;color:#991b1b;padding:2px 6px;border-radius:3px;font-weight:700}.error-nb-flag-tag{background:#fef3c7;color:#92400e;padding:2px 6px;border-radius:3px;font-weight:700}.error-nb-blank-tag{background:#f3f4f6;color:#4b5563;padding:2px 6px;border-radius:3px}.error-nb-q-text{font-size:10pt;line-height:1.45;margin:6px 0 8px}.error-nb-options{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.error-nb-opt{display:flex;align-items:baseline;gap:6px;font-size:9pt;padding:4px 6px;border-radius:4px}.error-nb-opt.correct{background:#ecfdf5;border:1px solid #a7f3d0}.error-nb-opt.chosen-wrong{background:#fef2f2;border:1px solid #fecaca}.badge-gabarito{font-size:7.5pt;font-weight:700;color:#065f46;margin-left:auto}.badge-sua-escolha{font-size:7.5pt;font-weight:700;color:#991b1b;margin-left:auto}.error-nb-explanation{background:#f9fafb;border-left:3px solid #3b82f6;padding:6px 10px;font-size:8.5pt;margin:8px 0}.error-nb-diagnosis-box{border:1px dashed #999;background:#fafafa;border-radius:4px;padding:8px 10px;margin-top:8px}.diagnosis-check-row{display:flex;gap:12px;font-size:8pt;flex-wrap:wrap;margin-bottom:6px}.diagnosis-title{font-weight:700}.diag-chk{color:#444}.diagnosis-notes-area{margin-top:6px}.diagnosis-notes-label{font-size:8pt;font-weight:600;color:#333;display:block;margin-bottom:4px}.notebook-ruled-line{border-bottom:1px dotted #888;height:16px;margin-top:2px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
