:root{--blue:#0f52d3;--indigo:#3d35cb;--violet:#7118bf;--magenta:#7f11bc;--accent:#ff6b2c;--grad:linear-gradient(90deg,#0f52d3,#3d35cb 35%,#7118bf 70%,#7f11bc);--bg:#04040a;--bg-2:#0a0a14;--panel:#0e0e1a;--panel-2:#14142a;--line:#f5f5f71a;--line-2:#f5f5f70f;--ink:#f5f5f7;--ink-2:#c5c5d0;--muted:#7a7a88;--g:#22c55e;--g-bg:#22c55e1f;--g-border:#22c55e40;--a:#f59e0b;--a-bg:#f59e0b1f;--a-border:#f59e0b40;--r:#ef4444;--r-bg:#ef44441f;--r-border:#ef444440;--b-bg:#0f52d324;--b-border:#0f52d34d;--f-display:"Fraunces",Georgia,serif;--f-sans:"Inter",system-ui,-apple-system,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,monospace;--r-card:14px;--r-hero:20px;--r-pill:999px}[data-theme=light]{--bg:#f1f5f9;--bg-2:#e8edf5;--panel:#fff;--panel-2:#f8fafc;--line:#00000014;--line-2:#0000000a;--ink:#0f1623;--ink-2:#374151;--muted:#6b7280;--g-bg:#dcfce7;--g-border:#86efac;--a-bg:#fef3c7;--a-border:#fde68a;--r-bg:#fee2e2;--r-border:#fca5a5;--b-bg:#dbeafe;--b-border:#bfdbfe}.report-root{font-family:var(--f-sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55;transition:background .25s,color .25s}.report-root a{color:var(--blue);text-decoration:none}.report-root a:hover{text-decoration:underline}.report-container{max-width:960px;margin:0 auto;padding:32px 20px 80px}.btn{border-radius:var(--r-pill);font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:6px 13px;font-size:10px;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover{border-color:var(--blue);color:var(--ink)}.btn-theme{justify-content:center;width:36px;padding:6px 0}.field{background:var(--panel-2);border:1px solid var(--line);width:100%;font-size:13px;font-family:var(--f-sans);color:var(--ink);border-radius:8px;outline:none;padding:11px 14px;transition:border-color .15s,box-shadow .15s}.field::placeholder{color:var(--muted)}.field:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--b-bg)}.field.field-error{border-color:var(--r-border)}.field.field-valid{border-color:var(--b-border)}textarea.field{resize:vertical;min-height:72px}select.field{cursor:pointer}.field-label{color:var(--ink-2);margin-bottom:8px;font-size:13px;font-weight:500;display:block}.step-dot{background:var(--panel-2);width:40px;height:40px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:background .2s,color .2s;display:flex}.step-dot.active,.step-dot.done{background:var(--blue);color:#fff}.step-label{color:var(--muted);text-align:center;font-size:12px;font-weight:500}.step-label.active{color:var(--blue)}.hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-hero);margin-bottom:12px;padding:32px 36px 28px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(60% 60% at 10% 0,#0f52d31f,#0000 70%),radial-gradient(50% 50% at 90% 100%,#7f11bc1f,#0000 70%);position:absolute;inset:0}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:relative}.hero-label{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:500}.hero-title{font-family:var(--f-display);color:var(--ink);letter-spacing:-.02em;font-size:28px;font-weight:400;line-height:1.2}.hero-date{font-family:var(--f-mono);color:var(--muted);letter-spacing:.04em;margin-top:5px;font-size:11px}.hero-summary{border-top:1px solid var(--line);color:var(--ink-2);margin-top:20px;padding-top:20px;font-size:13px;line-height:1.7;position:relative}.score-circle{border:3px solid;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:104px;height:104px;display:flex}.score-circle.grade-a{border-color:var(--g);background:var(--g-bg)}.score-circle.grade-b{border-color:var(--blue);background:var(--b-bg)}.score-circle.grade-c{border-color:var(--a);background:var(--a-bg)}.score-circle.grade-d{background:#fb923c1f;border-color:#fb923c}.score-circle.grade-f{border-color:var(--r);background:var(--r-bg)}.score-circle.grade-v{border-color:var(--violet);background:#7118bf1f}.score-num{font-family:var(--f-display);color:var(--ink);letter-spacing:-.03em;font-size:30px;font-weight:300;line-height:1}.score-denom{color:var(--muted);margin-top:1px;font-size:11px}.score-circle-label{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);text-align:center;margin-top:8px;font-size:10px;font-weight:500}.grade{font-family:var(--f-mono);letter-spacing:.06em;border:1px solid;border-radius:5px;align-items:center;padding:2px 9px;font-size:11px;font-weight:500;display:inline-flex}.grade-a{background:var(--g-bg);color:var(--g);border-color:var(--g-border)}.grade-b{background:var(--b-bg);color:#60a5fa;border-color:var(--b-border)}.grade-c{background:var(--a-bg);color:var(--a);border-color:var(--a-border)}.grade-d{color:#fb923c;background:#fb923c1f;border-color:#fb923c40}.grade-f{background:var(--r-bg);color:var(--r);border-color:var(--r-border)}.section{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-card);margin-bottom:12px;overflow:hidden}.section-header{border-bottom:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 24px 14px;display:flex}.section-title-row{align-items:center;gap:8px;display:flex}.section-title{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:600}.section-desc{color:var(--muted);margin-top:4px;font-size:12px}.section-score{text-align:right;flex-shrink:0}.score-val{font-family:var(--f-display);color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:300}.score-val small{font-family:var(--f-sans);color:var(--muted);font-size:12px;font-weight:400}.section-body{padding:18px 24px}.divider{background:var(--line-2);height:1px;margin:16px 0}.eyebrow{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:500;display:block}.pill{border-radius:var(--r-pill);font-family:var(--f-mono);letter-spacing:.04em;border:1px solid;align-items:center;padding:3px 10px;font-size:10px;font-weight:500;display:inline-flex}.pill-g{background:var(--g-bg);color:var(--g);border-color:var(--g-border)}.pill-a{background:var(--a-bg);color:var(--a);border-color:var(--a-border)}.pill-r{background:var(--r-bg);color:var(--r);border-color:var(--r-border)}.pill-b{background:var(--b-bg);color:#60a5fa;border-color:var(--b-border)}.pill-gray{background:var(--panel-2);color:var(--ink-2);border-color:var(--line)}.callout{border:1px solid;border-radius:8px;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 14px;font-size:12.5px;line-height:1.6;display:flex}.callout-b{background:var(--b-bg);border-color:var(--b-border);color:#93c5fd}.callout-a{background:var(--a-bg);border-color:var(--a-border);color:#fcd34d}.callout-r{background:var(--r-bg);border-color:var(--r-border);color:#fca5a5}.callout-g{background:var(--g-bg);border-color:var(--g-border);color:#86efac}.callout-icon{flex-shrink:0;margin-top:1px;font-size:14px}.callout strong{color:inherit;font-weight:600}.report-root table{border-collapse:collapse;width:100%;font-size:13px}.report-root th{text-align:left;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 12px;font-size:10px;font-weight:500}.report-root td{border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--ink-2);padding:10px 12px}.report-root td strong{color:var(--ink)}.report-root tr:last-child td{border-bottom:none}.mono{font-family:var(--f-mono);font-size:11px}.good{color:var(--g)!important}.warn{color:var(--a)!important}.bad{color:var(--r)!important}.btn-primary{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:13px 28px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn-primary:hover:not(:disabled){opacity:.9;text-decoration:none}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.report-root a.btn-primary,.report-root a.btn-primary:hover{color:#fff}.btn-secondary{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:13px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:border-color .15s;display:inline-flex}.btn-secondary:hover{border-color:var(--blue);text-decoration:none}.report-root a.btn-secondary,.report-root a.btn-secondary:hover{color:var(--ink)}.dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.dot-g{background:var(--g)}.dot-a{background:var(--a)}.dot-r{background:var(--r)}.dot-b{background:var(--blue)}.dot-gray{background:var(--muted)}.verbatim-tabs{background:var(--panel-2);border-radius:9px;gap:4px;width:fit-content;margin-bottom:14px;padding:4px;display:flex}.vtab{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:10px;font-weight:500;transition:all .2s}.vtab.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #0000004d}.verbatim-response{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);white-space:pre-wrap;word-break:break-word;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.7;position:relative}.surface-bar{background:var(--line);border-radius:3px;height:5px;margin-bottom:10px;overflow:hidden}.surface-bar-fill{border-radius:3px;height:100%}.fill-g{background:var(--g)}.fill-a{background:var(--a)}.fill-r{background:var(--r)}.fill-b{background:var(--blue)}.cta-section{border-radius:var(--r-hero);text-align:center;background:var(--grad);margin-top:16px;padding:40px 44px;position:relative;overflow:hidden}.cta-section.accent{background:linear-gradient(135deg,#ef4444,#f97316)}.cta-section:before{content:"";background:radial-gradient(60% 80% at 20% 0,#ffffff14,#0000 60%);position:absolute;inset:0}.cta-section h2,.cta-section h3{font-family:var(--f-display);color:#fff;letter-spacing:-.02em;margin-bottom:8px;font-size:24px;font-weight:300;position:relative}.cta-section p{color:#fffc;max-width:500px;margin-bottom:22px;margin-left:auto;margin-right:auto;font-size:13px;position:relative}.cta-btn{color:var(--blue);border-radius:var(--r-pill);letter-spacing:-.01em;background:#fff;padding:11px 26px;font-size:13px;font-weight:700;display:inline-block;position:relative}.cta-btn:hover{background:#ffffffeb;text-decoration:none}.cta-note{font-family:var(--f-mono);color:#ffffff80;letter-spacing:.06em;margin-top:12px;font-size:10px;position:relative}.rec-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--panel-2);margin-bottom:10px;padding:18px 20px}.rec-card-header{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.rec-num{width:26px;height:26px;font-family:var(--f-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.rec-num.p1{background:var(--r-bg);color:var(--r);border:1px solid var(--r-border)}.rec-num.p2{background:var(--a-bg);color:var(--a);border:1px solid var(--a-border)}.rec-num.p3{background:var(--panel);color:var(--ink-2);border:1px solid var(--line)}.rec-title{color:var(--ink);letter-spacing:-.01em;font-size:14px;font-weight:600}.rec-p{color:var(--ink-2);font-size:13px;line-height:1.65}.pri{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:9px;font-weight:500}.pri-p1{background:var(--r-bg);color:var(--r);border:1px solid var(--r-border)}.pri-p2{background:var(--a-bg);color:var(--a);border:1px solid var(--a-border)}.pri-p3{background:var(--panel);color:var(--ink-2);border:1px solid var(--line)}@media (max-width:640px){.hero-top{flex-direction:column}.section-body{padding:14px 16px}.hero{padding:22px 20px}}@media print{@page{margin:14mm}.report-root{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.cta-section,.rec-card,.section,.hero{break-inside:avoid}}
