:root{--primary: #390590;--primary-hover: #2C047A;--primary-on: #FFFFFF;--primary-gradient: linear-gradient(135deg,#390590 0%,#593990 100%);--secondary: #64539B;--surface: #FFFFFF;--surface-on: #494455;--surface-container: #F2F4F6;--surface-shell: #F8F9FB;--surface-dim: #DDE0E4;--outline: #7A7486;--outline-variant: #E6E8EB;--fg-1: #1B1820;--fg-2: #494455;--fg-3: #6E6878;--fg-4: #9A93A6;--success: #1F8A5B;--success-bg: #E6F4ED;--warning: #B5780E;--warning-bg: #FBF1D9;--danger: #B3261E;--danger-bg: #FBE7E5;--info: #3958CC;--info-bg: #E5EAFB;--xxs:2px;--xs:4px;--sm:8px;--md:12px;--lg:16px;--xl:24px;--2xl:32px;--3xl:48px;--4xl:64px;--r-xs:4px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--border-default: 1px solid var(--outline-variant);--border-strong: 1px solid var(--outline);--elev-1: 0 1px 2px rgba(57,5,144,.08);--elev-2: 0 2px 4px rgba(57,5,144,.1), 0 1px 2px rgba(57,5,144,.14);--elev-3: 0 4px 8px rgba(57,5,144,.12), 0 1px 3px rgba(57,5,144,.18);--elev-4: 0 12px 24px rgba(57,5,144,.14), 0 4px 8px rgba(57,5,144,.18);--ease: cubic-bezier(.2,0,0,1);--dur-fast: .12s;--dur-base: .22s;--dur-slow: .32s;--font-sans: "Lexend", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--surface-shell)}body{font-family:var(--font-sans);font-size:14px;line-height:20px;letter-spacing:.25px;color:var(--surface-on);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}h1,h2,h3,p{margin:0}button{font-family:inherit;cursor:pointer;border:0;transition:background var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease),border-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}button:disabled{cursor:not-allowed}input,select{font-family:inherit;font-size:14px;letter-spacing:.25px;color:var(--fg-1);background:var(--surface);border:1px solid var(--outline);border-radius:var(--r-md);padding:10px 12px;outline:none;transition:border-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease);width:100%}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #39059026}input::placeholder{color:var(--fg-4)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A7486' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3)}.section-title{font-size:20px;line-height:28px;font-weight:700;color:var(--fg-1);letter-spacing:0}.card-title{font-size:16px;line-height:24px;font-weight:600;color:var(--fg-1);letter-spacing:.15px}.body{font-size:14px;line-height:20px;color:var(--fg-2)}.body-sm{font-size:12px;line-height:16px;color:var(--fg-3);letter-spacing:.4px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px var(--xl);background:var(--surface);border-bottom:var(--border-default)}.brand{display:flex;align-items:center;gap:var(--md)}.brand img{height:28px;width:auto;display:block}.topbar-actions{display:flex;align-items:center;gap:var(--sm)}.topbar-actions .meta-line{display:flex;align-items:center;gap:var(--sm);font-size:12px;color:var(--fg-3);letter-spacing:.4px;padding-right:var(--sm);border-right:var(--border-default);margin-right:var(--xs)}.topbar-actions .meta-line strong{color:var(--fg-1);font-weight:600}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:var(--r-md);font-size:13px;font-weight:600;letter-spacing:.15px;font-family:var(--font-sans);white-space:nowrap}.btn svg{width:14px;height:14px;flex-shrink:0}.btn-primary{background:var(--primary);color:var(--primary-on);box-shadow:var(--elev-3)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{background:var(--surface-dim);color:var(--fg-4);box-shadow:none}.btn-gradient{background:var(--primary-gradient);color:#fff;box-shadow:var(--elev-3);padding:11px 18px;font-size:14px}.btn-gradient:hover{filter:brightness(.95)}.btn-gradient:disabled{filter:grayscale(.5) brightness(.95);cursor:progress}.btn-outline{background:transparent;color:var(--primary);border:1px solid var(--outline)}.btn-outline:hover{background:var(--surface-container)}.btn-ghost{background:transparent;color:var(--primary)}.btn-ghost:hover{background:var(--surface-container)}.main{background:var(--surface);flex:1}.content{max-width:1280px;margin:0 auto;padding:var(--xl) var(--xl) var(--3xl);display:flex;flex-direction:column;gap:var(--lg)}.view{display:none;animation:viewIn var(--dur-slow) var(--ease)}.view.active{display:flex;flex-direction:column;gap:var(--lg)}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view.active>*{animation:revealIn .36s var(--ease) backwards}.view.active>*:nth-child(1){animation-delay:40ms}.view.active>*:nth-child(2){animation-delay:.12s}.view.active>*:nth-child(3){animation-delay:.2s}.view.active>*:nth-child(4){animation-delay:.28s}.view.active>*:nth-child(5){animation-delay:.36s}.view.active>*:nth-child(6){animation-delay:.44s}@keyframes revealIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.hero{background:var(--primary-gradient);color:#fff;border-radius:var(--r-lg);padding:28px var(--2xl);box-shadow:var(--elev-4);display:flex;gap:var(--xl);align-items:center;justify-content:space-between;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-40px;top:-40px;width:280px;height:280px;background:radial-gradient(circle at center,#ffffff1a,#fff0 60%);pointer-events:none}.hero-text{max-width:600px;position:relative;z-index:1}.hero .eyebrow{color:#ffffffbf}.hero h1{font-size:28px;line-height:32px;font-weight:700;letter-spacing:-.4px;margin:8px 0 6px;color:#fff}.hero p{font-size:14px;line-height:20px;color:#ffffffd9}.hero-cta{background:#fff;color:var(--primary);padding:12px 20px;border-radius:var(--r-md);font-weight:600;font-size:14px;box-shadow:0 4px 8px #00000014;white-space:nowrap;position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px}.hero-cta:hover{background:#f2f4f6;transform:translateY(-1px)}.hero-cta svg{width:14px;height:14px}.card{background:var(--surface-container);border-radius:var(--r-md);padding:var(--lg)}.card.bordered{background:var(--surface);border:var(--border-default)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--md)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--lg)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3)}.field-help{font-size:12px;color:var(--fg-3);letter-spacing:.4px}.field.full{grid-column:1 / -1}.field.error input,.field.error select{border-color:var(--danger)}.field.error .field-help{color:var(--danger)}.form-section-label{grid-column:1 / -1;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3);display:flex;align-items:center;gap:var(--sm);padding-top:var(--xs)}.form-section-label .badge-optional{font-size:10px;padding:2px 8px;border-radius:var(--r-pill);background:var(--surface);color:var(--fg-3);font-weight:600;letter-spacing:.4px}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:center;gap:var(--md);padding-top:var(--xs)}.loading-stage{display:flex;flex-direction:column;align-items:center;gap:var(--xl);padding:var(--3xl) var(--xl)}.loading-pulse{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.loading-pulse:before,.loading-pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--primary);opacity:0;animation:ringPulse 2.4s ease-out infinite}.loading-pulse:after{animation-delay:1.2s}.loading-pulse .core{width:22px;height:22px;border-radius:50%;background:var(--primary-gradient);box-shadow:var(--elev-3)}@keyframes ringPulse{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.4)}}.loading-headline{text-align:center;display:flex;flex-direction:column;gap:var(--xs);max-width:480px}.loading-headline .eyebrow{color:var(--fg-3)}.loading-headline h2{font-size:28px;line-height:32px;font-weight:700;color:var(--fg-1);letter-spacing:-.4px;margin:6px 0 2px}.loading-headline .sub{font-size:14px;color:var(--fg-3);letter-spacing:.25px}.checklist{width:100%;max-width:480px;background:var(--surface);border-radius:var(--r-md);border:var(--border-default);padding:var(--sm);display:flex;flex-direction:column}.check{display:flex;align-items:center;gap:var(--md);padding:10px var(--md);border-radius:var(--r-sm);font-size:13px;color:var(--fg-3);transition:color var(--dur-base) var(--ease),background var(--dur-base) var(--ease)}.check+.check{border-top:1px solid var(--outline-variant)}.check .ico{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-pill);background:var(--surface-container);color:var(--fg-4)}.check.active{color:var(--fg-1)}.check.active .ico{background:#39059014;color:var(--primary);animation:spinIcon 1s linear infinite}.check.done{color:var(--fg-2)}.check.done .ico{background:var(--success-bg);color:var(--success)}@keyframes spinIcon{to{transform:rotate(360deg)}}.loading-footnote{font-size:12px;color:var(--fg-4);letter-spacing:.4px}.report-header{background:var(--surface);border:var(--border-default);border-radius:var(--r-lg);padding:var(--xl) var(--2xl);display:flex;flex-direction:column;gap:var(--lg);position:relative;overflow:hidden}.report-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary-gradient)}.report-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3)}.report-title h1{font-size:36px;line-height:40px;font-weight:700;color:var(--fg-1);letter-spacing:-.6px;margin-bottom:4px}.report-title .sub{font-size:14px;color:var(--fg-3);letter-spacing:.25px}.report-title .sub strong{color:var(--fg-2);font-weight:600}.score-band{display:grid;grid-template-columns:auto 1fr auto;gap:var(--xl);align-items:center;padding-top:var(--lg);border-top:var(--border-default)}.score-band .score-num{font-size:64px;line-height:64px;font-weight:700;color:var(--fg-1);letter-spacing:-2px;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:4px}.score-band .score-num .of{font-size:20px;color:var(--fg-3);font-weight:500;letter-spacing:-.25px}.score-band .scale{display:flex;gap:6px;align-items:center;margin-top:var(--sm)}.score-band .scale .dot{width:28px;height:8px;border-radius:4px;background:var(--surface-dim)}.score-band .scale .dot.fill{background:var(--primary)}.score-band .scale .dot.fill.warn{background:var(--warning)}.score-band .scale .dot.fill.danger{background:var(--danger)}.score-band .label-stack{display:flex;flex-direction:column;gap:4px}.score-band .label-stack .eyebrow-sm{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3)}.score-band .summary-text{font-size:15px;line-height:22px;color:var(--fg-2);max-width:620px}.score-band .tier-pill{align-self:center;padding:8px 16px;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:var(--r-md)}.tier-pill.poor{background:var(--danger-bg);color:var(--danger)}.tier-pill.fair{background:var(--warning-bg);color:var(--warning)}.tier-pill.good{background:var(--info-bg);color:var(--info)}.tier-pill.strong,.tier-pill.excellent{background:var(--success-bg);color:var(--success)}.rev-hero{background:var(--primary-gradient);color:#fff;border-radius:var(--r-lg);padding:var(--xl) var(--2xl);box-shadow:var(--elev-4);display:grid;grid-template-columns:auto 1fr auto;gap:var(--xl);align-items:center;position:relative;overflow:hidden}.rev-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.rev-hero .pct-block{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px}.rev-hero .pct{font-size:72px;line-height:72px;font-weight:700;letter-spacing:-3px;color:#fff;font-variant-numeric:tabular-nums}.rev-hero .pct-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#ffffffb3}.rev-hero .pct-explain{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px}.rev-hero .pct-explain .title{font-size:22px;font-weight:700;color:#fff;line-height:28px;letter-spacing:-.3px}.rev-hero .pct-explain .body{font-size:14px;color:#ffffffd9;line-height:20px;max-width:560px}.rev-hero .cta-btn{align-self:flex-start;margin-top:var(--sm);display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:var(--r-md);background:#fff;color:var(--primary);font-size:14px;font-weight:600;letter-spacing:.15px;text-decoration:none;box-shadow:var(--elev-2);transition:transform .12s ease,box-shadow .12s ease}.rev-hero .cta-btn:hover{transform:translateY(-1px);box-shadow:var(--elev-4)}.rev-hero .qr-block{display:none;position:relative;z-index:1;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:var(--r-md);background:#fff;box-shadow:var(--elev-2);text-decoration:none}.rev-hero .qr-block svg{width:104px;height:104px;display:block}.rev-hero .qr-caption{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--fg-2)}.insight-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--md)}.insight{background:var(--surface-container);border-radius:var(--r-md);padding:var(--lg);display:flex;flex-direction:column;gap:var(--md)}.insight-head{display:flex;align-items:center;gap:var(--sm)}.insight-head .ico{width:32px;height:32px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.insight-head .ico svg{width:18px;height:18px}.insight-head h3{font-size:15px;font-weight:600;color:var(--fg-1);letter-spacing:.15px}.insight.good .ico{background:var(--success-bg);color:var(--success)}.insight.bad .ico{background:var(--danger-bg);color:var(--danger)}.insight.fix .ico{background:var(--info-bg);color:var(--info)}.insight p{color:var(--fg-2);line-height:22px}.table-card{background:var(--surface-container);border-radius:var(--r-md);padding:var(--lg);display:flex;flex-direction:column;gap:var(--md)}.rule-table{background:var(--surface);border-radius:var(--r-md);border:var(--border-default);overflow:hidden}.rule-row,.rule-head{display:grid;grid-template-columns:200px 110px 1fr;align-items:center;padding:12px var(--lg);border-bottom:var(--border-default)}.rule-head{background:var(--surface-shell);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--fg-3)}.rule-row:last-child{border-bottom:0}.rule-row .channel{display:flex;align-items:center;gap:var(--sm);font-weight:600;color:var(--fg-1);font-size:14px}.rule-row .channel .mp-mark{width:26px;height:26px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-container);font-size:11px;font-weight:700;color:var(--fg-2);letter-spacing:-.5px}.rule-row .detail{color:var(--fg-2);font-size:13px;line-height:18px}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-md);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.pill .dot{width:6px;height:6px;border-radius:var(--r-pill)}.pill.live{background:var(--success-bg);color:var(--success)}.pill.live .dot{background:var(--success)}.pill.warn{background:var(--warning-bg);color:var(--warning)}.pill.warn .dot{background:var(--warning)}.pill.danger{background:var(--danger-bg);color:var(--danger)}.pill.danger .dot{background:var(--danger)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.info .dot{background:var(--info)}.pill.neutral{background:var(--surface);color:var(--fg-2)}.pill.neutral .dot{background:var(--fg-4)}.sources{display:flex;flex-direction:column;gap:var(--sm)}.source-row{display:flex;align-items:center;gap:var(--sm);padding:var(--sm) var(--md);background:var(--surface);border-radius:var(--r-sm);border:var(--border-default);font-size:13px}.source-row .source-idx{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);width:22px;flex-shrink:0}.source-row a{color:var(--primary);font-weight:500;text-decoration:none}.source-row a:hover{text-decoration:underline}.source-row .src-host{color:var(--fg-3);font-size:12px}.empty{background:var(--surface-container);border-radius:var(--r-md);padding:48px var(--xl);display:flex;flex-direction:column;align-items:center;gap:var(--sm);text-align:center}.empty .ico{width:40px;height:40px;border-radius:var(--r-md);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;color:var(--fg-3);margin-bottom:var(--xs);border:var(--border-default)}.empty .ico svg{width:20px;height:20px}.empty h3{font-size:16px;font-weight:600;color:var(--fg-1)}.empty p{font-size:13px;color:var(--fg-3);max-width:420px}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{min-width:280px;max-width:380px;background:var(--surface);color:var(--fg-1);border-radius:var(--r-md);padding:12px var(--md);box-shadow:var(--elev-3);border-left:3px solid var(--primary);display:flex;flex-direction:column;gap:2px;animation:toastIn var(--dur-base) var(--ease)}.toast.success{border-left-color:var(--success)}.toast.warning{border-left-color:var(--warning)}.toast.danger{border-left-color:var(--danger)}.toast .t-title{font-size:13px;font-weight:600;color:var(--fg-1)}.toast .t-body{font-size:12px;color:var(--fg-3)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:880px){.content{padding:var(--lg)}.hero{flex-direction:column;align-items:flex-start;padding:20px}.form-grid,.insight-row{grid-template-columns:1fr}.rule-row,.rule-head{grid-template-columns:1fr;gap:6px}.rule-head{display:none}.topbar{padding:12px var(--lg);flex-wrap:wrap;gap:8px}.topbar-actions .btn{padding:7px 10px;font-size:12px}.topbar-actions .meta-line{display:none}.report-header{padding:var(--lg)}.report-title h1{font-size:24px;line-height:28px}.score-band{grid-template-columns:1fr;gap:var(--md)}.score-band .tier-pill{align-self:flex-start}.rev-hero{grid-template-columns:1fr;gap:var(--md);padding:var(--lg)}.rev-hero .pct{font-size:56px;line-height:56px}.rev-hero .qr-block{justify-self:start}}@media print{@page{size:Letter;margin:.5in}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:#fff!important}body{font-size:11pt;line-height:16pt}.topbar{position:static;border:none;padding:0 0 12pt;border-bottom:1px solid #E6E8EB;margin-bottom:18pt}.topbar-actions,#status-capsule,.toast-stack{display:none!important}.view.active,.view.active>*{animation:none!important}.content{padding:0;max-width:none;gap:16pt}#view-input,#view-loading{display:none!important}#view-results{display:flex!important}.report-header{padding:16pt;box-shadow:none}.report-title h1{font-size:28pt;line-height:32pt}.score-band .score-num{font-size:48pt;line-height:48pt}.rev-hero{box-shadow:none;padding:16pt;page-break-inside:avoid}.rev-hero .pct{font-size:56pt;line-height:56pt}.insight-row{page-break-inside:avoid}.insight{background:#f2f4f6!important}.table-card,.rule-row,.sources,.source-row{page-break-inside:avoid}.print-footer{display:block!important;font-size:9pt;color:#6e6878;letter-spacing:.25pt;margin-top:16pt;padding-top:8pt;border-top:1px solid #E6E8EB;text-align:center}.rev-hero .cta-btn{background:transparent!important;box-shadow:none!important;padding:0!important;margin-top:8pt;color:#fff!important;font-weight:600}.rev-hero .cta-btn .cta-label{display:none}.rev-hero .cta-btn:after{content:"Enter this link to book a free call: " attr(href);font-weight:400;word-break:break-all}.rev-hero .qr-block{display:flex!important}.source-row a:after{content:" (" attr(href) ")";font-size:9pt;color:#6e6878;font-weight:400}}.print-footer{display:none}
