:root{--sev-critical:#b91c1c;--sev-major:#c2410c;--sev-minor:#a16207;--sev-info:#1d4ed8;--sev-pass:#15803d;--sev-good:#4d7c0f;--tool-border:#e5e7eb;--tool-ink:#0f172a;--tool-body:#334155;--tool-muted:#5b6677;--tool-steel:var(--color-steel,#f8f9fb);--t-xs:.6875rem;--t-sm:.8125rem;--t-base:.9375rem;--t-md:1.0625rem;--t-lg:1.25rem;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-6:1.5rem;--sp-8:2rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono-label{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--tool-muted);font-weight:600}.tool-header{background:#fff;padding:9rem 2rem 2.5rem}.tool-header .container,.tool-section .container{max-width:1100px;margin:0 auto;padding:0}.tool-header h1{letter-spacing:-.02em;max-width:20ch;margin:0 0 1.25rem;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.08}.tool-header .page-sub{color:#475569;max-width:68ch;margin:0;font-size:1.125rem;line-height:1.65}.report-mode .tool-header{padding-top:7rem;padding-bottom:1.5rem}.report-mode .tool-header h1{margin-bottom:.75rem;font-size:clamp(1.5rem,3vw,2rem)}.report-mode .tool-header .page-sub{display:none}.tool-eyebrow{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-nasa);align-items:center;gap:.75rem;margin-bottom:1.25rem;font-weight:600;display:inline-flex}.tool-eyebrow a{color:inherit}.tool-eyebrow .sep{color:#cbd5e1}.tool-section{padding:2.5rem 2rem}.tool-section.alt{background:var(--tool-steel);border-top:1px solid var(--tool-border);border-bottom:1px solid var(--tool-border)}.tool-section h2{margin:0 0 1.25rem;font-size:1.5rem}.tool-section .prose p{margin-bottom:1rem}.check-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.5rem 2rem;margin:0;padding:0;list-style:none;display:grid}.check-list li{font-size:var(--t-base);color:var(--tool-body);padding-left:1.5rem;line-height:1.6;position:relative}.check-list li:before{content:"";background:var(--color-nasa);width:10px;height:2px;position:absolute;top:.65rem;left:0}.faq-list details{border-top:1px solid var(--tool-border);padding:1rem 0}.faq-list details:last-child{border-bottom:1px solid var(--tool-border)}.faq-list summary{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:var(--t-md);color:var(--tool-ink);justify-content:space-between;gap:1rem;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--color-nasa);font-weight:400}.faq-list details[open] summary:after{content:"–"}.faq-list details p{font-size:var(--t-base);margin-top:.75rem;line-height:1.65}.more-tools{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.more-tools a{border:1px solid var(--tool-border);color:var(--tool-ink);font-family:var(--font-display);font-size:var(--t-base);background:#fff;padding:.875rem 1rem;font-weight:500;transition:border-color .15s;display:block}.more-tools a:hover{border-color:var(--color-nasa)}.chip{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--tool-border);color:var(--tool-muted);white-space:nowrap;background:#fff;align-items:center;gap:.375rem;padding:.2rem .55rem;font-size:.625rem;font-weight:600;display:inline-flex}.chip-live,.chip-pass{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.chip-soon,.chip-warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.chip-major{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.chip-fail{color:#991b1b;background:#fef2f2;border-color:#fecaca}.chip-info{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.chip-live:before{content:"";background:var(--sev-pass);border-radius:50%;width:6px;height:6px}.tool-form{align-items:stretch;gap:.5rem;max-width:760px;display:flex}.tool-form input[type=url],.tool-form input[type=text]{min-width:0;color:var(--tool-ink);font-family:var(--font-mono);font-size:var(--t-base);background:#fff;border:1px solid #cbd5e1;flex:1;padding:.9rem 1.1rem;transition:border-color .15s,box-shadow .15s}.tool-form input:focus{border-color:var(--color-nasa);box-shadow:0 0 0 3px var(--color-nasa-dim);outline:none}.tool-form input:focus-visible{outline:2px solid var(--color-nasa);outline-offset:2px}.tool-form .btn{flex-shrink:0;min-height:48px;padding:0 1.5rem}.tool-form .btn[disabled]{opacity:.6;cursor:wait}.tool-hint{font-size:var(--t-sm);color:var(--tool-muted);max-width:72ch;margin-top:.625rem;line-height:1.55}.tool-hint button{color:var(--color-nasa-bright);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.tool-loading{border:1px solid var(--tool-border);background:#fff;margin-top:2rem}.tool-loading .skel-head{border-bottom:1px solid var(--tool-border);align-items:flex-start;gap:2rem;padding:1.75rem;display:flex}.tool-loading .skel-main{flex:1;min-width:0}.tool-loading .skel-status{font-size:var(--t-sm);color:var(--tool-muted);align-items:center;gap:.75rem;padding:1rem 1.75rem;display:flex}.tool-loading .skel-status .cost{color:var(--tool-muted)}.tool-loading .skel-status strong{color:var(--tool-ink);overflow-wrap:anywhere;font-weight:600}.skel{background:#e9edf2;animation:1.4s ease-in-out infinite skel-pulse;display:block}.skel-line{width:100%;max-width:32rem;height:.875rem}.skel-line.lg{max-width:40rem;height:1.375rem;margin-bottom:.875rem}.skel-line.sm{max-width:14rem;height:.75rem}.skel-line+.skel-line{margin-top:.625rem}.skel-ring{border-radius:50%;flex-shrink:0;width:96px;height:96px}.skel-block{height:3.5rem}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.45}}.spinner{border:2px solid #cbd5e1;border-top-color:var(--color-nasa);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite tool-spin}@keyframes tool-spin{to{transform:rotate(360deg)}}.tool-error{border:1px solid #fecaca;border-left:3px solid var(--sev-critical);color:#7f1d1d;font-size:var(--t-base);background:#fef2f2;margin-top:2rem;padding:1.25rem 1.5rem;line-height:1.6}.tool-error.tool-error--wait{border-color:#fde68a;border-left-color:var(--sev-minor);color:#78350f;background:#fffbeb}.tool-error-title{font-family:var(--font-display);font-size:var(--t-md);color:inherit;margin:0 0 .25rem;font-weight:700;display:block}.tool-error p{color:inherit;overflow-wrap:anywhere;max-width:72ch;margin:0}.tool-error ul{font-size:var(--t-sm);margin:.75rem 0 0;padding-left:1.25rem;line-height:1.6}.tool-error li+li{margin-top:.25rem}.tool-error .tr-actions{margin-top:1rem}.tool-error .btn-outline{color:inherit;border-color:currentColor}.tool-result{border:1px solid var(--tool-border);background:#fff;margin-top:2rem;padding:0}.tr-head{border-bottom:1px solid var(--tool-border);align-items:flex-start;gap:2rem;padding:1.75rem;display:flex}.tr-head-main{flex:1;min-width:0}.tr-eyebrow{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-nasa);margin:0 0 .5rem;font-weight:600}.tr-summary{font-family:var(--font-display);color:var(--tool-ink);letter-spacing:-.01em;overflow-wrap:anywhere;max-width:44ch;margin:0 0 .75rem;font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:700;line-height:1.3}.tr-meta{font-size:var(--t-sm);color:var(--tool-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.375rem 1.25rem;display:flex}.tr-meta a{overflow-wrap:anywhere}.tr-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tr-actions .btn{min-height:36px;font-size:var(--t-sm);padding:.4rem .9rem}.tr-warnings{color:#78350f;font-size:var(--t-sm);background:#fffbeb;border-bottom:1px solid #fde68a;margin:0;padding:1rem 1.75rem;line-height:1.55;list-style:none}.tr-warnings li+li{margin-top:.25rem}.tr-body{padding:1.75rem}.tr-body>*+*{margin-top:2rem}.tr-body h3{font-size:var(--t-md);margin:0 0 .875rem}.tr-clean{border:1px solid #bbf7d0;border-left:3px solid var(--sev-pass);color:#14532d;font-size:var(--t-base);background:#f0fdf4;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;line-height:1.55;display:flex}.tr-clean svg{width:20px;height:20px;color:var(--sev-pass);flex-shrink:0;margin-top:.1rem}.tr-clean strong{font-family:var(--font-display);color:inherit;font-weight:700;display:block}.tr-clean p{color:inherit;margin:0}.score-ring{flex-shrink:0;width:96px;height:96px;position:relative}.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.score-ring .track{fill:none;stroke:#e2e8f0;stroke-width:8px}.score-ring .value{fill:none;stroke-width:8px;stroke-linecap:butt;transition:stroke-dashoffset .6s}.score-ring .num{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--tool-ink);flex-direction:column;justify-content:center;align-items:center;font-size:1.75rem;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}.score-ring .num small{font-family:var(--font-mono);letter-spacing:.1em;color:var(--tool-muted);margin-top:.2rem;font-size:.5625rem;font-weight:600}.findings{flex-direction:column;gap:1.25rem;display:flex}.finding-group h4{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--tool-muted);align-items:center;gap:.5rem;margin:0 0 .5rem;font-weight:600;display:flex}.finding-group h4 .count{color:var(--tool-ink);font-variant-numeric:tabular-nums}.finding-group.sev-critical h4{color:var(--sev-critical)}.finding-group.sev-major h4{color:var(--sev-major)}.finding-group.sev-minor h4{color:var(--sev-minor)}.finding-group.sev-info h4{color:var(--sev-info)}.finding{border:1px solid var(--tool-border);background:#fff;border-left-width:3px;padding:.875rem 1rem .875rem 1.125rem}.finding+.finding{margin-top:.5rem}.finding.sev-critical{border-left-color:var(--sev-critical)}.finding.sev-major{border-left-color:var(--sev-major)}.finding.sev-minor{border-left-color:var(--sev-minor)}.finding.sev-info{border-left-color:var(--sev-info)}.finding.sev-pass{border-left-color:var(--sev-pass)}.finding-title{font-family:var(--font-display);color:var(--tool-ink);max-width:72ch;margin:0;font-size:1rem;font-weight:600;line-height:1.4}.finding-detail{font-family:var(--font-sans);color:#475569;max-width:72ch;margin:.375rem 0 0;font-size:.875rem;line-height:1.6}.finding-fix{background:var(--tool-steel);border-left:2px solid var(--color-nasa);color:#1e293b;align-items:flex-start;gap:.75rem;max-width:72ch;margin:.625rem 0 0;padding:.625rem .875rem;font-size:.875rem;line-height:1.6;display:flex}.finding-fix strong{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-nasa-bright);flex-shrink:0;line-height:1.9}.finding-fix span,.finding-fix code{min-width:0}.finding-title,.finding-detail,.finding-fix{overflow-wrap:anywhere}.finding code,.data-table code,.kv code{font-family:var(--font-mono);overflow-wrap:anywhere;background:#f1f5f9;border:1px solid #e2e8f0;padding:.05rem .3rem;font-size:.8125em}details.pass-group>summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--sev-pass);align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;list-style:none;display:inline-flex}details.pass-group>summary::-webkit-details-marker{display:none}details.pass-group>summary:before{content:"+";font-size:.875rem;line-height:1}details.pass-group[open]>summary:before{content:"–"}.tr-details{border:1px solid var(--tool-border)}.tr-details>summary{cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:var(--t-base);color:var(--tool-ink);background:var(--tool-steel);align-items:center;gap:.75rem;padding:.875rem 1.125rem;list-style:none;display:flex}.tr-details>summary::-webkit-details-marker{display:none}.tr-details>summary:after{content:"Show";font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-nasa-bright);margin-left:auto;font-weight:600}.tr-details[open]>summary:after{content:"Hide"}.tr-details>summary .muted{font-family:var(--font-sans);font-size:var(--t-sm);color:var(--tool-muted);font-weight:400}.tr-details>.tr-details-body{border-top:1px solid var(--tool-border);padding:1.25rem 1.125rem}.data-table-wrap{border:1px solid var(--tool-border);-webkit-overflow-scrolling:touch;position:relative;overflow-x:auto}.data-table-wrap:focus-visible{outline:2px solid var(--color-nasa);outline-offset:2px}.table-scroll-hint{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--tool-muted);background:var(--tool-steel);border-bottom:1px solid var(--tool-border);margin:0;padding:.375rem .75rem;display:none}.data-table-wrap[data-overflow=true] .table-scroll-hint{display:block;position:sticky;left:0}.data-table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}.data-table caption{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table th,.data-table td{font-family:var(--font-sans);text-align:left;border-bottom:1px solid var(--tool-border);vertical-align:top;padding:.55rem .75rem}.data-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--tool-muted);background:var(--tool-steel);white-space:nowrap;font-size:.625rem;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table td.wrap{overflow-wrap:anywhere;min-width:14rem}.data-table a{overflow-wrap:anywhere}.kv{grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:.5rem 1rem;margin:0;font-size:.875rem;display:grid}.kv dt{font-family:var(--font-sans);color:var(--tool-muted);overflow-wrap:anywhere;font-size:.8125rem}.kv dd{font-family:var(--font-sans);color:var(--tool-ink);overflow-wrap:anywhere;min-width:0;margin:0}.kv .kv{border-left:2px solid var(--tool-border);margin-top:.25rem;padding-left:.75rem}.raw-json{margin-top:1.5rem}.raw-json>summary{cursor:pointer;font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--tool-muted);align-items:center;gap:.5rem;font-weight:600;list-style:none;display:inline-flex}.raw-json>summary::-webkit-details-marker{display:none}.raw-json>summary:before{content:"+";font-size:.875rem}.raw-json[open]>summary:before{content:"–"}.raw-json pre{background:var(--tool-ink);color:#e2e8f0;max-height:480px;margin-top:.75rem;padding:1rem;font-size:.75rem;line-height:1.5;overflow:auto}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.stat{border:1px solid var(--tool-border);background:var(--tool-steel);min-width:0;padding:1rem}.stat .stat-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--tool-ink);overflow-wrap:anywhere;font-size:1.5rem;font-weight:800;line-height:1.1;display:block}.stat .stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--tool-muted);margin-top:.25rem;font-size:.625rem;display:block}.grade-badge{width:72px;height:72px;font-family:var(--font-display);color:#fff;background:var(--tool-muted);letter-spacing:-.02em;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;font-weight:800;display:inline-flex}.grade-a{background:var(--sev-pass)}.grade-b{background:var(--sev-good)}.grade-c{background:var(--sev-minor)}.grade-d{background:var(--sev-major)}.grade-f{background:var(--sev-critical)}.grade-badge.grade-none{background:var(--tool-muted)}.grade-row{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.grade-row>.stat-row{flex:320px}.serp{border:1px solid var(--tool-border);background:#fff;max-width:600px;padding:1.25rem;font-family:Arial,Helvetica,sans-serif}.serp-site{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.serp-favicon{color:#5f6368;background:#f1f3f4;border:1px solid #ecedef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;display:flex;overflow:hidden}.serp-favicon img{width:16px;height:16px}.serp-host{color:#202124;font-size:14px;line-height:1.3}.serp-url{color:#4d5156;overflow-wrap:anywhere;font-size:12px}.serp-title{color:#1a0dab;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:20px;line-height:1.3;display:-webkit-box;overflow:hidden}.serp-desc{color:#4d5156;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:none;margin:.25rem 0 0;font-size:14px;line-height:1.58;display:-webkit-box;overflow:hidden}.serp-missing{color:#b91c1c;font-style:italic}.serp-measure{font-size:var(--t-sm);color:var(--tool-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.75rem;display:flex}.bar-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.bar-list li{font-size:var(--t-sm);grid-template-columns:minmax(140px,220px) 1fr auto;align-items:center;gap:.75rem;display:grid}.bar-name{color:var(--tool-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-name small{color:var(--tool-muted);font-size:var(--t-xs);text-overflow:ellipsis;display:block;overflow:hidden}.bar-name .chip{vertical-align:middle;margin-left:.375rem}.bar-track{background:#f1f5f9;height:14px;position:relative}.bar-fill{background:var(--color-nasa);min-width:2px;height:100%;display:block}.bar-fill.slow{background:var(--sev-critical)}.bar-fill.mid{background:var(--sev-major)}.bar-val{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tool-ink);text-align:right}.bar-val small{color:var(--tool-muted);font-size:var(--t-xs);display:block}.platform-grid,.tech-grid,.container-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:.75rem;display:grid}.platform{border:1px solid var(--tool-border);font-size:var(--t-sm);background:#fff;border-top:3px solid #cbd5e1;min-width:0;padding:.875rem 1rem}.platform.on{border-top-color:var(--sev-pass)}.platform.dup{border-top-color:var(--sev-major)}.platform-name{font-family:var(--font-display);color:var(--tool-ink);justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:600;display:flex}.platform-ids{font-family:var(--font-mono);color:var(--tool-body);overflow-wrap:anywhere;margin-top:.375rem;font-size:.75rem}.platform-meta{color:var(--tool-muted);margin-top:.375rem;font-size:.75rem}.tech-cat{margin-bottom:1.25rem}.tech-cat h4{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--tool-muted);align-items:center;gap:.5rem;margin:0 0 .5rem;font-weight:600;display:flex}.tech-cat h4 svg{width:14px;height:14px;color:var(--color-nasa)}.tech{border:1px solid var(--tool-border);font-size:var(--t-sm);background:#fff;align-items:flex-start;gap:.75rem;min-width:0;padding:.75rem .875rem;display:flex}.tech-icon{background:var(--tool-steel);width:32px;height:32px;color:var(--color-nasa);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tech-icon svg{width:16px;height:16px}.tech-name{font-family:var(--font-display);color:var(--tool-ink);font-weight:600}.tech-sub{color:var(--tool-muted);overflow-wrap:anywhere;margin-top:.125rem;font-size:.75rem}.container-card{border:1px solid var(--tool-border);border-top:3px solid var(--color-nasa);background:#fff;min-width:0;padding:1rem}.container-card>*+*{margin-top:.875rem}.container-id{font-family:var(--font-mono);font-weight:600;font-size:var(--t-base);color:var(--tool-ink)}.container-stats{flex-wrap:wrap;gap:1rem 1.25rem;display:flex}.container-stats span{font-size:var(--t-sm);color:var(--tool-muted)}.container-stats strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--tool-ink);font-size:1.25rem;display:block}.container-stats .warn strong{color:var(--sev-major)}.chips{flex-wrap:wrap;gap:.375rem;display:flex}.chips .chip{letter-spacing:.05em;text-transform:none;font-size:var(--t-xs);white-space:normal}.doors{background:var(--tool-steel);border-top:1px solid var(--tool-border);border-bottom:1px solid var(--tool-border);padding:3rem 2rem}.doors .container{max-width:1100px;margin:0 auto;padding:0}.doors-head{max-width:68ch;margin-bottom:1.5rem}.doors-head .tool-eyebrow{margin-bottom:.625rem}.doors-head h2{margin:0 0 .5rem;font-size:clamp(1.375rem,3vw,1.75rem)}.doors-head p{font-size:var(--t-base);color:#475569;margin:0;line-height:1.6}.doors-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.doors-grid>[data-door=website]{order:-1}.door{border:1px solid var(--tool-border);border-top:3px solid var(--color-nasa);background:#fff;flex-direction:column;padding:1.5rem;display:flex}.door.door-soon{border-top-color:#cbd5e1}.door[hidden]{display:none}.door-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.door h2,.door h3{margin:0;font-size:1.1875rem;line-height:1.25}.door p{color:#475569;flex-grow:1;max-width:none;margin:0 0 1.25rem;font-size:.9rem;line-height:1.6}.door-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-nasa-bright);margin-bottom:.25rem;font-size:.625rem;font-weight:600;display:block}.door-price{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--tool-ink);margin:0 0 .75rem;font-weight:600}.door .btn{align-self:flex-start}.hub-groups{flex-direction:column;gap:3rem;display:flex}.hub-group-head{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-bottom:1.25rem;display:flex}.hub-group-head h2{margin:0;font-size:1.5rem}.hub-group-head p{color:var(--tool-muted);margin:0;font-size:.9rem}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.hub-card{border:1px solid var(--tool-border);color:inherit;background:#fff;flex-direction:column;padding:1.375rem 1.5rem;transition:border-color .15s,box-shadow .15s;display:flex}.hub-card:hover{border-color:var(--color-nasa);color:inherit;box-shadow:0 2px 10px #0066ff14}.hub-card.is-soon{background:var(--tool-steel)}.hub-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.hub-card h3{font-size:var(--t-md);margin:0;line-height:1.3}.hub-card p{color:#475569;flex-grow:1;max-width:none;margin:0;font-size:.875rem;line-height:1.55}.hub-card .cost{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--tool-muted);margin-top:.875rem}.waitlist{border:1px solid var(--tool-border);background:var(--tool-steel);max-width:760px;padding:1.75rem}.waitlist h2{font-size:var(--t-lg);margin:0 0 .5rem}.waitlist p{font-size:var(--t-base);margin:0 0 1.25rem}.waitlist form{flex-wrap:wrap;gap:.5rem;display:flex}.waitlist input[type=email],.waitlist input[type=url]{min-width:220px;font-family:var(--font-mono);font-size:var(--t-base);background:#fff;border:1px solid #cbd5e1;flex:1;padding:.85rem 1rem}.waitlist .status{width:100%;margin-top:.25rem;font-size:.875rem}.waitlist .status.is-error{color:var(--sev-critical)}.waitlist .status.is-ok{color:var(--color-nasa-bright)}.watch-list{font-size:var(--t-base);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1.5rem;margin:0;padding-left:1.5rem;display:grid}.watch-list li{padding:.25rem 0}.watch-list a{color:var(--tool-ink);border-bottom:1px solid var(--tool-border);text-decoration:none}.watch-list a:hover{color:var(--color-nasa-bright);border-bottom-color:var(--color-nasa-bright)}.watch-price-grid{grid-template-columns:1fr 1.4fr;gap:1rem;display:grid}.watch-price-grid .price{margin:.25rem 0 .75rem}.watch-per{color:var(--tool-muted);margin-left:.25rem;font-size:1.125rem;font-weight:600}.watch-price-grid a{color:var(--color-nasa-bright);text-underline-offset:2px;text-decoration:underline}@media (width<=860px){.watch-price-grid{grid-template-columns:1fr}}.calc-grid{grid-template-columns:1fr 1fr;align-items:start;gap:1.25rem;display:grid}.calc-panel{border:1px solid var(--tool-border);background:#fff;flex-direction:column;gap:1.25rem;min-width:0;margin:0;padding:1.75rem;display:flex}.calc-results{border-left:3px solid var(--color-nasa);background:var(--tool-steel)}.calc-field{flex-direction:column;gap:.5rem;display:flex}.calc-field label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--tool-ink);font-size:.75rem;font-weight:600}.calc-field .req{color:var(--sev-critical)}.calc-field .calc-note{text-transform:none;letter-spacing:0;color:var(--tool-muted);font-weight:400}.calc-field input,.calc-field textarea{background:var(--tool-steel);width:100%;color:var(--tool-ink);font-family:var(--font-mono);font-size:var(--t-base);font-variant-numeric:tabular-nums;border:1px solid #cbd5e1;padding:.85rem 1rem;transition:border-color .15s,box-shadow .15s}.calc-field textarea{font-family:var(--font-sans);font-variant-numeric:normal}.calc-field input:focus,.calc-field textarea:focus{border-color:var(--color-nasa);box-shadow:0 0 0 3px var(--color-nasa-dim);outline:none}.calc-field input:focus-visible,.calc-field textarea:focus-visible{outline:2px solid var(--color-nasa);outline-offset:2px}.calc-field textarea{resize:vertical;overflow-wrap:anywhere;background:#fff}.calc-field-split{border-top:1px solid var(--tool-border);padding-top:1.25rem}.calc-two{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.calc-out{flex-direction:column;display:flex}.calc-label{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--tool-muted);margin-bottom:.25rem;font-weight:600}.calc-out output{font-family:var(--font-display);color:var(--tool-ink);font-variant-numeric:tabular-nums;font-size:1.875rem;font-weight:700;line-height:1.1}.calc-out output.big{font-size:2.5rem;font-weight:800}.calc-out output.accent{color:var(--color-nasa-bright)}.calc-sub{font-size:var(--t-sm);color:var(--tool-muted);margin-top:.25rem}.calc-steps{font-size:var(--t-base);color:var(--tool-body);max-width:68ch;margin:0;padding-left:1.25rem;line-height:1.7}.calc-steps li+li{margin-top:.5rem}.calc-list{color:var(--tool-body);margin:0;padding-left:1.25rem;font-size:.9rem;line-height:1.7}.utm-form{max-width:860px}.utm-output-wrap{border-top:1px solid var(--tool-border);padding-top:1.25rem}.utm-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}@media (width<=860px){.calc-grid,.calc-two{grid-template-columns:1fr}}.report{margin-top:2rem}.report-head{border:1px solid var(--tool-border);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;padding:1.5rem 1.75rem;display:flex}.report-head-main{flex:1;min-width:0}.report-head .tr-actions{margin-top:0}.report-eyebrow{font-family:var(--font-mono);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.15em;color:var(--color-nasa);overflow-wrap:anywhere;margin-bottom:.375rem;font-weight:600}.report-overall{font-family:var(--font-display);letter-spacing:-.01em;color:var(--tool-ink);font-variant-numeric:tabular-nums;max-width:44ch;margin:0 0 .5rem;font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:700;line-height:1.3}.report-url{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--tool-body);overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.4}.report-head .tr-meta{margin-top:.5rem}.report-summary-chips{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.report-grid-label{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin:1.5rem 0 .75rem;display:flex}.report-grid-label h3{font-size:var(--t-md);margin:0}.report-grid-label p{font-size:var(--t-sm);color:var(--tool-muted);margin:0}.report-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));align-items:stretch;gap:.75rem;display:grid}.tile{border:1px solid var(--tool-border);min-height:9.5rem;font-size:var(--t-sm);background:#fff;flex-direction:column;gap:.75rem;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.tile:hover,.tile:focus-within{border-color:var(--color-nasa);box-shadow:0 2px 10px #0066ff14}.tile.tile-error{background:#fffbeb;border-color:#fde68a}.tile-top{align-items:flex-start;gap:.75rem;display:flex}.tile-vis{flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.tile-vis .skel,.tile-vis .score-ring{width:56px;height:56px}.tile-vis .score-ring .num{font-size:1rem}.tile-vis .score-ring .track,.tile-vis .score-ring .value{stroke-width:10px}.tile-vis .grade-badge{width:56px;height:56px;font-size:1.5rem}.tile-main{flex:1;min-width:0}.tile-title{font-family:var(--font-display);font-size:var(--t-base);color:var(--tool-ink);font-weight:600;line-height:1.3;text-decoration:none;display:block}.tile-title:after{content:"";position:absolute;inset:0}.tile-title:focus-visible{outline:none}.tile-title:focus-visible:after{outline:2px solid var(--color-nasa);outline-offset:2px}.tile-sum{color:#475569;-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:none;margin:.25rem 0 0;line-height:1.45;display:-webkit-box;overflow:hidden}.tile-sum.err{color:#78350f}.tile-sum .skel-line{max-width:none}.tile-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.375rem .5rem;margin-top:auto;display:flex}.tile-sev,.rs-sev{flex-wrap:wrap;gap:.25rem;display:flex}.tile-full{z-index:1;white-space:nowrap;font-family:var(--font-sans);font-size:var(--t-xs);color:var(--tool-muted);position:relative}.tile-full:hover{color:var(--color-nasa)}.word-badge{min-width:56px;height:56px;font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#fff;background:var(--tool-muted);letter-spacing:-.01em;justify-content:center;align-items:center;padding:0 .5rem;font-size:1rem;font-weight:800;display:inline-flex}.word-badge.badge-good{background:var(--sev-pass)}.word-badge.badge-mid{background:var(--sev-minor)}.word-badge.badge-bad{background:var(--sev-critical)}.word-badge.badge-none{border:1px solid var(--tool-border);color:var(--tool-muted);font-size:var(--t-xs);background:#fff}.word-badge.badge-wait{color:#92400e;font-size:var(--t-xs);background:#fff;border:1px solid #fde68a}.report-sections{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.report-section{border:1px solid var(--tool-border);background:#fff;scroll-margin-top:6rem}.report-section:target{border-color:var(--color-nasa)}.report-section>summary{cursor:pointer;align-items:center;gap:1rem;padding:.875rem 1.25rem;list-style:none;display:flex}.report-section>summary::-webkit-details-marker{display:none}.report-section>summary:after{content:"Show";font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-nasa-bright);flex-shrink:0;margin-left:auto;font-weight:600}.report-section[open]>summary:after{content:"Hide"}.report-section[open]>summary{background:var(--tool-steel)}.rs-vis{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.rs-vis .skel,.rs-vis .score-ring{width:40px;height:40px}.rs-vis .score-ring .num{font-size:var(--t-sm)}.rs-vis .score-ring .track,.rs-vis .score-ring .value{stroke-width:11px}.rs-vis .grade-badge,.rs-vis .word-badge{width:40px;min-width:40px;height:40px;padding:0;font-size:1.125rem}.rs-vis .word-badge.badge-none,.rs-vis .word-badge.badge-wait{font-size:.625rem}.rs-title{font-family:var(--font-display);color:var(--tool-ink);font-weight:600}.rs-body{border-top:1px solid var(--tool-border);overflow-x:clip}.rs-body .tool-result,.rs-body .tool-loading{border:none;margin-top:0}.rs-body .tool-error{margin:1.25rem}@media (width<=768px){.tool-header{padding:7.5rem 1.5rem 2rem}.report-mode .tool-header{padding-top:6rem;padding-bottom:1.25rem}.tool-section,.doors{padding-left:1.5rem;padding-right:1.5rem}.tool-form{flex-direction:column}.tr-head,.tool-loading .skel-head{flex-direction:column-reverse;gap:1.25rem;padding:1.25rem}.tool-loading .skel-status{padding:.875rem 1.25rem}.tr-body,.tr-details>.tr-details-body{padding:1.25rem}.tr-details>summary{padding:.75rem 1rem}.score-ring,.skel-ring{width:72px;height:72px}.score-ring .num{font-size:1.375rem}.kv{grid-template-columns:1fr;gap:.125rem 0}.kv dd{margin-bottom:.625rem}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.stat{padding:.75rem}.stat .stat-num{font-size:1.25rem}.bar-list li{grid-template-columns:1fr auto}.bar-list .bar-track{grid-column:1/-1}.finding-fix{flex-direction:column;gap:.25rem}.report-head{flex-direction:column;padding:1.25rem}.report-head .tr-actions{width:100%}.tr-details>summary .muted{display:none}.data-table td:not(.wrap),.data-table td:not(.wrap) code{white-space:nowrap}.data-table td.wrap{min-width:16rem}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.tile{min-height:10rem;padding:.75rem}.tile-vis,.tile-vis .skel,.tile-vis .score-ring,.tile-vis .grade-badge,.tile-vis .word-badge{width:44px;min-width:44px;height:44px}.tile-vis .grade-badge{font-size:1.25rem}.tile-vis .score-ring .num{font-size:.875rem}.tile-vis .word-badge{padding:0 .25rem;font-size:.875rem}.report-section>summary{flex-wrap:wrap;gap:.5rem .75rem;padding:.75rem 1rem}.rs-sev{flex-basis:100%;order:3}.doors{padding-top:2.5rem;padding-bottom:2.5rem}}@media (width<=480px){.tool-header,.tool-section,.doors{padding-left:1rem;padding-right:1rem}.tr-head,.tr-body,.report-head,.tool-loading .skel-head{padding:1rem}.report-grid{grid-template-columns:1fr}.tile{min-height:0}.grade-row{gap:1rem}}.tool-result .muted,.tr-details .muted{color:var(--tool-muted)}.grade-title{font-family:var(--font-display);color:var(--tool-ink);font-weight:600}.mini-list{font-size:var(--t-sm);margin:0;padding-left:1.25rem;line-height:1.5}.mini-list.plain{padding-left:0;list-style:none}.mini-list li+li{margin-top:.125rem}.mini-list li{overflow-wrap:anywhere}details.more{font-size:var(--t-sm);margin-top:.5rem}details.more>summary{cursor:pointer;color:var(--tool-muted);user-select:none;align-items:center;gap:.5rem;font-weight:600;list-style:none;display:inline-flex}details.more>summary::-webkit-details-marker{display:none}details.more>summary:before{content:"+";color:var(--color-nasa-bright)}details.more[open]>summary:before{content:"–"}details.more>summary:hover{color:var(--tool-ink)}details.more[open]>summary{margin-bottom:.5rem}.raw-text{border:1px solid var(--tool-border);white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;max-height:24rem;margin:0;padding:.75rem;font-size:.75rem;line-height:1.5;overflow:auto}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.75rem;display:grid}.info-card{border:1px solid var(--tool-border);background:#fff;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;display:flex}.info-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.seg{flex-direction:column;gap:.625rem;display:flex}.seg-bar{background:0 0;gap:2px;height:14px;display:flex}.seg-part{min-width:2px;height:100%;display:block}.seg-legend{font-size:var(--t-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.375rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.seg-legend li{color:var(--tool-ink);align-items:center;gap:.375rem;display:inline-flex}.seg-swatch{flex:none;width:10px;height:10px}.seg-key{font-weight:600}.og-card{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.og-image{border:1px solid var(--tool-border);background:#f8fafc;width:100%;max-width:320px;height:auto}@media (width>=720px){.og-card{grid-template-columns:200px minmax(0,1fr);align-items:start}.og-image{max-width:200px}}.rsec{margin-top:1.75rem}.rsec:first-child{margin-top:0}.tr-body .grade-row+.stat-row,.tr-body .stat-row+.chips,.tr-body .stat-row+.kv,.tr-details-body .grade-row+.stat-row,.tr-details-body .stat-row+.chips,.tr-details-body .stat-row+.kv{margin-top:1rem}@media (prefers-reduced-motion:reduce){.skel,.spinner{animation:none}.score-ring .value{transition:none}}.email-report{font-size:var(--t-sm);color:var(--tool-muted);margin:0}.er-report{margin-top:var(--sp-4);padding:var(--sp-3)var(--sp-4);border:1px solid var(--tool-border);background:#fff}.er-tool{padding:var(--sp-3)1.75rem;border-bottom:1px solid var(--tool-border);background:var(--tool-steel)}.er-label{margin:0 0 var(--sp-2);font-size:var(--t-sm);color:var(--tool-body);font-weight:600;display:block}.er-row{gap:var(--sp-2);max-width:30rem;display:flex}.er-row input{min-width:0;min-height:36px;font:inherit;font-size:var(--t-base);color:var(--tool-ink);background:#fff;border:1px solid #cbd5e1;border-radius:0;flex:1;padding:.4rem .625rem}.er-row input:focus-visible{outline:2px solid var(--color-nasa);outline-offset:1px}.er-row input[aria-invalid=true]{border-color:var(--sev-critical)}.er-row .btn{min-height:36px;font-size:var(--t-sm);white-space:nowrap;padding:.4rem .9rem}.er-error{margin:var(--sp-2)0 0;color:var(--sev-critical);font-size:var(--t-sm)}.er-consent{align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--t-sm);color:var(--tool-muted);cursor:pointer;line-height:1.4;display:flex}.er-consent input{width:16px;height:16px;accent-color:var(--color-nasa);flex:none;margin:1px 0 0}.er-fine{margin:var(--sp-1)0 0;font-size:var(--t-xs);color:var(--tool-muted)}.er-fine a{color:inherit;text-decoration:underline}.email-report--done p{align-items:center;gap:var(--sp-2);color:var(--sev-pass);overflow-wrap:anywhere;margin:0;font-weight:600;display:flex}.email-report--done svg{flex:none;width:18px;height:18px}@media (width<=480px){.er-tool{padding:var(--sp-3)var(--sp-4)}}.job-progress{border:1px solid var(--tool-border);background:var(--tool-steel);padding:1.25rem}.job-progress .skel-status{font-size:var(--t-sm);color:var(--tool-body);align-items:flex-start;gap:.75rem;display:flex}.job-progress .skel-status strong{color:var(--tool-ink);font-weight:600}.job-progress .spinner{margin-top:.125rem;animation:.9s linear infinite job-spin}.job-progress .cost{overflow-wrap:anywhere}@keyframes job-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.job-progress .spinner{animation:none}.job-bar>span{transition:none}}.job-bar{background:#e2e8f0;height:6px;margin-top:.875rem;display:block;position:relative;overflow:hidden}.job-bar>span{background:var(--color-nasa,#06f);height:100%;transition:width .8s;display:block}.job-bar--tile{height:4px;margin-top:.5rem}.tile-job.tile-loading .tile-sum{-webkit-line-clamp:unset;color:var(--tool-ink);font-weight:600;display:block}.lh-note{border-left:3px solid var(--sev-info);color:var(--tool-body);font-size:var(--t-sm);background:#eff6ff;max-width:none;margin:0 0 1rem;padding:.75rem 1rem}.lh-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.lh-col{border:1px solid var(--tool-border);background:#fff;min-width:0;padding:1rem}.lh-col h3{font-size:var(--t-md);margin:0 0 .75rem}.lh-col h3 .muted{font-family:var(--font-mono);font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;margin-left:.25rem;font-weight:500}.lh-rings{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:grid}.lh-cat{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.lh-ring.score-ring{width:64px;height:64px}.lh-ring.score-ring .num{font-size:1.125rem}.lh-ring.score-ring .track,.lh-ring.score-ring .value{stroke-width:9px}.lh-cat-name{font-size:var(--t-sm);color:var(--tool-ink);margin-top:.375rem;font-weight:600;line-height:1.25}.lh-range{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--tool-muted);font-variant-numeric:tabular-nums;margin-top:.125rem}.lh-metric{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=720px){.lh-cols{grid-template-columns:minmax(0,1fr)}}@media (width<=380px){.lh-rings{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.75rem}}.a11y .stat-row{margin-bottom:.5rem}.a11y-rule .finding-title .chip{vertical-align:.1em;margin-left:.375rem}.a11y-examples{margin-top:.5rem}.a11y-examples .mini-list{margin-top:.25rem}.a11y-examples code{overflow-wrap:anywhere}.a11y-more{margin-top:.375rem}
