:root{--snow:#F4F6F8;--snow-warm:#FAFBFC;--snow-line:#DEE3E8;--snow-line-strong:#C8D1DA;--ink:#0F1A2E;--ink-soft:#1F2B42;--ink-muted:#5A6577;--ink-dim:#8B95A6;--night:#0A0F1A;--night-elev-1:#131A28;--night-elev-2:#1C2436;--night-elev-3:#28324A;--night-line:rgba(255,255,255,0.08);--night-line-strong:rgba(255,255,255,0.16);--night-text:#EDEDEF;--night-muted:#8A95A8;--night-dim:#5A6478;--signal:#16A34A;--signal-soft:rgba(22,163,74,0.10);--signal-border:rgba(22,163,74,0.40);--signal-bright:#22C55E;--font-sans:"Geist",system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,monospace;--fs-xs:12px;--fs-sm:13.5px;--fs-base:15px;--fs-md:17px;--fs-lg:21px;--fs-xl:28px;--fs-2xl:40px;--fs-3xl:56px;--fs-4xl:72px;--lh-tight:1.1;--lh-snug:1.25;--lh-base:1.5;--lh-relaxed:1.6;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;--r-sm:4px;--r-md:7px;--r-lg:12px;--r-xl:18px;--r-2xl:24px;--r-pill:999px;--container:1280px;--container-wide:1440px;--container-pad:32px;--quiz-nav-h:64px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-soft:cubic-bezier(0.4,0,0.2,1);--t-fast:150ms;--t-base:250ms;--t-slow:400ms;--z-nav:100;--z-modal:1000;--z-toast:1100}@media (max-width:968px){:root{--container-pad:24px;--quiz-nav-h:60px}}@media (max-width:480px){:root{--container-pad:16px;--quiz-nav-h:56px;--fs-3xl:40px;--fs-2xl:32px;--fs-xl:24px}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);background:var(--snow);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-width:320px}canvas,embed,iframe,img,object,video{max-width:100%}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{background:none;border:0;cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}img,svg,video{display:block;max-width:100%}ol,ul{list-style:none}::selection{background:var(--ink);color:var(--snow)}.container{max-width:var(--container)}.container,.container-wide{margin:0 auto;padding:0 var(--container-pad);position:relative;z-index:2}.container-wide{max-width:var(--container-wide)}.section-padded{padding-top:var(--sp-32);padding-bottom:var(--sp-32)}.section-light{background:var(--snow);color:var(--ink)}.section-dark{background:var(--night);color:var(--night-text)}@media (max-width:968px){.section-padded{padding-top:var(--sp-20);padding-bottom:var(--sp-20)}}@media (max-width:480px){.section-padded{padding-top:var(--sp-16);padding-bottom:var(--sp-16)}}.eyebrow{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.section-dark .eyebrow{color:var(--night-muted)}.section-title{font-family:var(--font-serif);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:-.02em;font-weight:400;color:var(--ink);margin-top:var(--sp-3)}.section-dark .section-title{color:var(--night-text)}.section-lede{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--ink-muted);max-width:640px;margin-top:var(--sp-5)}.section-dark .section-lede{color:var(--night-muted)}.section-header{margin-bottom:var(--sp-16)}@media (max-width:968px){.section-title{font-size:var(--fs-2xl)}.section-lede{font-size:var(--fs-base)}.section-header{margin-bottom:var(--sp-10)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:14px 22px;min-height:44px;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:500;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background var(--t-fast) var(--ease-soft),color var(--t-fast) var(--ease-soft),border-color var(--t-fast) var(--ease-soft),transform var(--t-fast) var(--ease-soft);border:1px solid transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--snow)}.btn-primary:hover:not(:disabled){background:var(--ink-soft)}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--snow-line-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-muted)}.btn-ghost:hover:not(:disabled){color:var(--ink)}.btn-signal{background:var(--signal);color:white}.btn-signal:hover:not(:disabled){background:var(--signal-bright)}.section-dark .btn-secondary{color:var(--night-text);border-color:var(--night-line-strong)}.section-dark .btn-secondary:hover:not(:disabled){border-color:var(--night-text)}.card{background:var(--snow-warm);border:1px solid var(--snow-line);border-radius:var(--r-xl);padding:var(--sp-8)}.card-elev{box-shadow:0 1px 2px rgba(15,26,46,.04),0 8px 24px rgba(15,26,46,.06)}.section-dark .card{background:var(--night-elev-1);border-color:var(--night-line)}.pill{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 10px;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.04em;background:var(--snow);border:1px solid var(--snow-line);color:var(--ink-muted)}.pill-signal{background:var(--signal-soft);border-color:var(--signal-border);color:var(--signal)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field-label{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.input{width:100%;padding:12px 14px;background:var(--snow-warm);border:1px solid var(--snow-line);border-radius:var(--r-md);font-size:var(--fs-base);color:var(--ink);transition:border-color var(--t-fast) var(--ease-soft)}.input:focus{outline:none;border-color:var(--ink)}.input-error{border-color:#DC2626}.field-hint{font-size:var(--fs-xs);color:var(--ink-dim)}.field-error{font-size:var(--fs-xs);color:#DC2626}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}