:root{--color-instrument-blue: #1B4F8A;--color-calibration-teal: #1A7A7A;--color-signal-amber: #E8A020;--color-warm-white: #F7F8FA;--color-indeterminate-slate: #8A9BB0;--color-positive-red: #C0392B;--color-negative-green: #1A7A45;--color-graphite: #2D3748;--color-mid-grey: #6B7A8D;--color-border: #DDE2EB;--color-surface: #FFFFFF;--color-bg: var(--color-warm-white);--color-text: var(--color-graphite);--color-text-muted: var(--color-mid-grey);--color-primary: var(--color-instrument-blue);--color-primary-contrast: #FFFFFF;--color-secondary: var(--color-calibration-teal);--color-accent: var(--color-signal-amber);--color-danger: var(--color-positive-red);--color-success: var(--color-negative-green);--color-focus-ring: #0B63C4;--font-heading: "Sora", -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;--text-h1: 600 32px/1.2 var(--font-heading);--text-h2: 600 24px/1.3 var(--font-heading);--text-h3: 500 20px/1.4 var(--font-heading);--text-h4: 500 17px/1.4 var(--font-heading);--text-body: 400 15px/1.6 var(--font-body);--text-label: 500 13px/1.5 var(--font-body);--text-mono: 400 13px/1.6 var(--font-mono);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 56px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(45, 55, 72, .06), 0 8px 24px rgba(45, 55, 72, .08);color-scheme:light}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(/focal/assessment/fonts/sora-500.woff2) format("woff2")}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/focal/assessment/fonts/sora-600.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/focal/assessment/fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/focal/assessment/fonts/inter-500.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/focal/assessment/fonts/jetbrains-mono-400.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--color-bg);color:var(--color-text);font:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-instrument-blue);margin:0 0 var(--space-2)}h1{font:var(--text-h1)}h2{font:var(--text-h2)}h3{font:var(--text-h3)}h4{font:var(--text-h4)}p{margin:0 0 var(--space-4);line-height:1.6}a{color:var(--color-calibration-teal)}a:hover{text-decoration:none}button,input,select,textarea{font-family:inherit}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}#root,.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__brand{display:flex;align-items:center;gap:var(--space-3)}.app-header__wordmark{font:var(--text-h4);color:var(--color-instrument-blue);letter-spacing:.2px}.app-header__tagline{font:var(--text-label);color:var(--color-mid-grey);margin-top:2px}.page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-7);max-width:560px;width:100%}@media(max-width:480px){.page{padding:var(--space-3)}.card{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md)}h1{font-size:24px}h2{font-size:20px}}.card--narrow{max-width:460px}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--tight{gap:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 24px;border-radius:var(--radius-md);font:var(--text-label);font-weight:500;font-size:15px;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease;text-decoration:none;line-height:1.2}.btn-primary{background:var(--color-instrument-blue);color:#fff}.btn-primary:hover:not(:disabled){background:#163f6f}.btn-secondary{background:transparent;border-color:var(--color-calibration-teal);color:var(--color-calibration-teal)}.btn-secondary:hover:not(:disabled){background:#1a7a7a14}.btn-ghost{background:transparent;color:var(--color-mid-grey);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-warm-white)}.btn-lg{padding:16px 32px;font-size:16px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.w-full{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.field-block{margin-bottom:var(--space-5)}.hint-block{margin-top:var(--space-4)}.field label{font:var(--text-label);color:var(--color-graphite)}.field .hint{font:var(--text-label);font-weight:400;color:var(--color-mid-grey)}.field input[type=text],.field input[type=email],.field input[type=tel],.field select{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:var(--text-body);color:var(--color-graphite);background:#fff}.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px}.choice-list{display:flex;flex-direction:column;gap:var(--space-2)}.choice-option{display:flex;align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text);font:var(--text-body);cursor:pointer;text-align:left;transition:border-color .15s ease,background-color .15s ease}.choice-option:hover{border-color:var(--color-calibration-teal)}.choice-option[aria-expanded=true]{border-color:var(--color-instrument-blue);background:#1b4f8a0d}.choice-option strong{color:var(--color-instrument-blue);font-family:var(--font-heading)}.choice-option input{margin-top:3px;accent-color:var(--color-instrument-blue)}.consent-gate{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-warm-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);font:var(--text-label);font-weight:400;font-size:14px;color:var(--color-text);cursor:pointer;line-height:1.5;text-align:left}.consent-gate input[type=checkbox]{flex-shrink:0;margin-top:2px;accent-color:var(--color-instrument-blue);width:17px;height:17px}.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.notice{font-size:13px;line-height:1.6;border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);text-align:left}.notice--info{color:var(--color-graphite);background:var(--color-warm-white);border:1px solid var(--color-border)}.notice--alert{color:var(--color-graphite);background:#e8a0201f;border:1px solid rgba(232,160,32,.4)}.notice--danger{color:var(--color-graphite);background:#c0392b14;border:1px solid rgba(192,57,43,.35)}.notice strong{color:var(--color-graphite)}.notice__list{padding-left:18px;margin:var(--space-2) 0 0}.banner{position:sticky;top:0;z-index:50;padding:var(--space-2) var(--space-4);font:var(--text-label);text-align:center}.banner--offline{background:var(--color-signal-amber);color:var(--color-graphite)}.banner--warning{background:#fcefd8;color:var(--color-graphite);border-bottom:1px solid rgba(232,160,32,.4)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font:var(--text-label);font-size:11px}.badge--slate{background:#8a9bb026;color:var(--color-indeterminate-slate)}.progress-track{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden;margin:var(--space-4) 0}.progress-fill{height:100%;background:var(--color-instrument-blue);border-radius:3px;transition:width .3s ease}.calibration-verdict{font:var(--text-h2);margin:var(--space-4) 0 var(--space-2)}.calibration-verdict.pass{color:var(--color-negative-green)}.calibration-verdict.fail{color:var(--color-positive-red)}.spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-instrument-blue);border-radius:50%;animation:spin .8s linear infinite;margin:var(--space-4) auto}@keyframes spin{to{transform:rotate(360deg)}}.app-footer{padding:var(--space-3) var(--space-4);text-align:center;font:var(--text-label);font-size:12px;color:var(--color-mid-grey);background:var(--color-surface);border-top:1px solid var(--color-border)}.mono{font:var(--text-mono)}.text-center{text-align:center}.heading-danger{color:var(--color-positive-red)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
