:root{color-scheme:light;--bg:#f4f7f9;--surface:#fff;--text:#173340;--muted:#5b7380;--line:#d7e2e7;--accent:#087b8c;--accent-text:#fff;--shadow:0 14px 40px rgba(11,44,58,.07)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0c1b22;--surface:#132831;--text:#eef7f7;--muted:#a7c0c6;--line:#29424b;--accent:#5bd5d1;--accent-text:#08262a;--shadow:none}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0c1b22;--surface:#132831;--text:#eef7f7;--muted:#a7c0c6;--line:#29424b;--accent:#5bd5d1;--accent-text:#08262a;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,sans-serif}a{color:var(--accent)}button,input,textarea{font:inherit}button,.button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:.65rem 1rem;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:var(--accent)}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:700}.quiet{margin-top:1rem}.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem max(1.5rem,calc((100vw - 1200px)/2));background:var(--surface);border-bottom:1px solid var(--line);gap:1rem}.brand{font:700 1.25rem system-ui,sans-serif;color:var(--text);text-decoration:none;white-space:nowrap}.topbar nav{display:flex;align-items:center;gap:.6rem}.topbar nav a{white-space:nowrap}.topbar nav button{padding:.3rem .55rem}.separator{color:var(--muted)}.inline{display:inline}.shell{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 4rem;min-height:calc(100vh - 140px)}h1,h2,h3{font-family:system-ui,sans-serif;line-height:1.15}h1{font-size:clamp(2.3rem,5vw,4.5rem);margin:.5rem 0 1.2rem}h2{font-size:1.4rem;margin:.8rem 0 1rem}.hero{padding:3.5rem 0 4rem;max-width:780px}.hero p{font-size:1.15rem;color:var(--muted)}.eyebrow,.index{font:700 .75rem system-ui,sans-serif;letter-spacing:.17em;color:var(--accent)}.grid{display:grid;gap:1.25rem}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);margin-bottom:1.25rem}.card p{color:var(--muted)}.panel.narrow{max-width:530px;margin:3rem auto}.pagehead{display:flex;justify-content:space-between;align-items:start;margin-bottom:1.5rem}.pagehead h1{font-size:2.7rem}.status-pill{border:1px solid var(--accent);color:var(--accent);border-radius:100px;padding:.3rem .8rem;font-size:.75rem;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.domain-name{font-size:1.35rem!important;font-weight:700;color:var(--text)!important}.proof{background:var(--bg);padding:.8rem;margin:.8rem 0;border:1px solid var(--line);border-radius:8px;overflow:auto}.proof code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0}form p{display:flex;flex-direction:column;gap:.35rem}form p input,textarea{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:.6rem;width:100%}.helptext,.muted{color:var(--muted);font-size:.9rem}ul.errorlist{color:#b52a48}.messages{border-left:4px solid var(--accent);background:var(--surface);padding:.2rem 1rem;margin-bottom:1rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:.8rem;border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);padding:1.5rem;text-align:center;color:var(--muted);font-size:.9rem}@media(max-width:800px){.grid.three,.grid.two{grid-template-columns:1fr}.topbar{padding:1rem}.topbar nav{flex-wrap:wrap;justify-content:end}.shell{padding:1.5rem 1rem 3rem}}@media(max-width:480px){.topbar{align-items:start;flex-direction:column}.topbar nav{justify-content:start}.hero{padding:2rem 0}}
.url-entry{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:.6rem 0;overflow-wrap:anywhere}.url-entry button{padding:.25rem .6rem}.url-cell{max-width:17rem;overflow-wrap:anywhere}.finding{display:inline-block;padding:.2rem .55rem;border-radius:100px;border:1px solid var(--line);white-space:nowrap}.finding.observation{border-color:#c56153}.finding.hint{border-color:#bb9339}.finding.not_checked{border-color:#7b8893}

/* Selected LOGO-01 mark and shared footer controls. */
.brand{display:inline-flex;align-items:center;gap:.55rem}
.brand-logo{display:inline-flex;width:42px;height:42px;flex:none}
.brand-logo img{display:block;width:42px;height:42px}
.brand-logo-dark{display:none!important}
@media(prefers-color-scheme:dark){
  :root:not([data-theme=light]) .brand-logo-light{display:none}
  :root:not([data-theme=light]) .brand-logo-dark{display:block!important}
}
:root[data-theme=dark] .brand-logo-light{display:none}
:root[data-theme=dark] .brand-logo-dark{display:block!important}
.site-footer{background:var(--surface);padding:1.4rem 1.5rem;text-align:left}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap}
.footer-branding{max-width:38rem}
.footer-credit{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0;color:var(--text);font-weight:600}
.footer-credit a{color:var(--text)}
.footer-note{margin:.25rem 0 0;max-width:38rem;font-size:.8rem}
.footer-controls{display:flex;align-items:center;gap:.75rem 1.25rem;flex-wrap:wrap}
.language-switch{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted)}
.globe-icon{width:1.2rem;height:1.2rem;flex:none;margin-right:.2rem}
.language-switch a{color:var(--text);text-decoration:none;padding:.2rem .25rem}
.language-switch a[aria-current=true]{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:.25rem}
.footer-theme{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:8px;white-space:nowrap}
.brand:focus-visible,.site-footer a:focus-visible,.site-footer button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:800px){.footer-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.topbar{align-items:center;flex-direction:row}.footer-controls{gap:.65rem 1rem}.footer-theme{font-size:.85rem}}

.topbar-login{border-radius:999px;padding:.48rem 1.05rem;box-shadow:0 5px 16px rgba(8,123,140,.16);font-weight:700;line-height:1.3}
.topbar-login:hover{box-shadow:0 7px 22px rgba(8,123,140,.25)}
.topbar-login:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Public product page. */
.landing-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding:clamp(3rem,7vw,6.5rem) 0 5rem}
.landing-hero-copy h1{max-width:12ch;letter-spacing:-.035em}
.landing-lead{max-width:42rem;color:var(--muted);font-size:clamp(1.05rem,1.5vw,1.2rem)}
.landing-actions{align-items:center;margin-top:2rem}
.landing-actions .button,.landing-final-cta .button{padding:.8rem 1.2rem;font-weight:700}
.landing-hero-note{color:var(--muted);font-size:.85rem;margin:1rem 0 0}
.landing-scan-card{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:1.7rem;transform:rotate(1deg)}
.landing-scan-top{display:flex;align-items:center;gap:.6rem;font-size:.7rem;letter-spacing:.15em;font-weight:700;color:var(--muted)}
.landing-scan-dot{width:.65rem;height:.65rem;border:2px solid var(--accent);border-radius:50%}
.landing-scan-number{display:flex;align-items:baseline;gap:.85rem;color:var(--accent);font-size:clamp(4.5rem,8vw,7rem);font-weight:800;line-height:1.15;letter-spacing:-.07em;margin-top:1rem}
.landing-scan-number span{font-size:.85rem;font-weight:700;letter-spacing:0;color:var(--text)}
.landing-scan-card>p{color:var(--muted);margin:.2rem 0 1.2rem}
.landing-scan-card ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.landing-scan-card li{display:flex;gap:1rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--line);font-weight:600}
.landing-scan-card li span{font-size:.7rem;letter-spacing:.1em;color:var(--accent);font-weight:800}
.landing-scan-card .landing-scan-foot{margin:1rem 0 0;font-size:.8rem}
.landing-section{padding:4rem 0}
.landing-section-head{max-width:49rem;margin-bottom:2rem}
.landing-section-head h2,.landing-final-cta h2{font-size:clamp(2rem,3.5vw,3.2rem);letter-spacing:-.025em;margin:.5rem 0 1rem}
.landing-section-head>p:last-child{color:var(--muted);font-size:1.05rem}
.landing-grid{display:grid;gap:1rem}
.landing-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.landing-feature,.landing-check{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow)}
.landing-feature-index{color:var(--accent);font-size:.75rem;letter-spacing:.15em;font-weight:800}
.landing-feature h3,.landing-check h3,.landing-steps h3{font-size:1.2rem;margin:1.1rem 0 .5rem}
.landing-feature p,.landing-check p,.landing-steps p{color:var(--muted);margin:0}
.landing-checks{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.landing-check{position:relative;padding-right:3rem}
.landing-check-mark{position:absolute;right:1.4rem;top:1.2rem;color:var(--accent);font-size:1.5rem}
.landing-check h3{margin:0 0 .6rem}
.landing-boundary{border-left:3px solid var(--accent);padding:.5rem 0 .5rem 1rem;color:var(--muted);margin:1.5rem 0 0}
.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}
.landing-steps li{border-top:2px solid var(--accent);padding-top:1rem}
.landing-steps li>span{color:var(--accent);font-size:.8rem;letter-spacing:.12em;font-weight:800}
.landing-steps h3{margin:.5rem 0}
.landing-final-cta{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(1.5rem,4vw,3rem);margin:2rem 0 4rem;box-shadow:var(--shadow)}
.landing-final-cta>div{max-width:42rem}
.landing-final-cta p:last-child{color:var(--muted);margin:0}
.landing-final-cta .button{flex:none}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr;padding:3rem 0}.landing-scan-card{max-width:36rem;transform:none}.landing-grid-three,.landing-steps{grid-template-columns:1fr}}
@media(max-width:640px){.landing-grid-two{grid-template-columns:1fr}.landing-section{padding:3rem 0}.landing-final-cta{align-items:flex-start;flex-direction:column}.landing-hero-copy h1{max-width:none}.landing-actions .button{width:100%;text-align:center}}

/* Registration form and password guidance. */
.register-panel{max-width:560px;padding:clamp(1.5rem,4vw,2.2rem)}
.register-panel h1{font-size:clamp(2.4rem,5vw,3.5rem);margin:.6rem 0 .5rem}
.register-intro{color:var(--muted);margin:0 0 1.75rem}
.register-form{display:grid;gap:1.3rem}
.register-field{display:grid;gap:.4rem}
.register-field label{font-weight:650}
.register-field input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:9px;padding:.7rem .85rem;min-height:2.8rem}
.register-field input:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.register-field input[aria-invalid=true]{border-color:#b52a48}
.field-help{color:var(--muted);font-size:.84rem;line-height:1.45;margin:0}
.password-guidance{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin-top:.35rem}
.password-guidance-title{font-weight:700;color:var(--text);margin:0 0 .6rem}
.password-guidance ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.password-guidance li{position:relative;padding-left:1.55rem;color:var(--muted);font-size:.88rem;line-height:1.45}
.password-guidance li::before{content:"•";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
.form-errors ul{list-style:none;margin:.2rem 0 0;padding:.55rem .75rem;border-left:3px solid #b52a48;background:var(--bg);border-radius:4px;color:var(--text);font-size:.88rem}
.register-submit{justify-self:start;padding:.7rem 1.2rem}
.consent-options{border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin:0;display:grid;gap:.85rem}
.consent-options legend{font-weight:700;padding:0 .3rem}
.consent-option{display:flex;align-items:flex-start;gap:.7rem;line-height:1.45;cursor:pointer}
.consent-option input{width:1.15rem;height:1.15rem;flex:none;margin:.2rem 0 0;accent-color:var(--accent)}
.consent-option span{font-size:.94rem}
.consent-option:focus-within{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}

.honeypot-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.account-message h1{font-size:clamp(2rem,4vw,3rem)}
.account-message p{color:var(--muted)}

/* Legal pages and a dismissible information notice for required storage. */
.footer-legal{display:flex;gap:1rem;flex-wrap:wrap}
.legal-page{max-width:780px;margin:1rem auto 3rem}
.legal-page h1{font-size:clamp(2.4rem,5vw,3.5rem)}
.legal-page h2{margin-top:2rem}
.legal-page p,.legal-page li{line-height:1.7}
.legal-page address{font-style:normal;line-height:1.7}
.legal-pending{border-left:3px solid var(--accent);padding:.7rem 1rem;background:var(--bg);border-radius:6px}
.cookie-notice{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:20;max-width:900px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:1rem 1.25rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 12px 40px rgba(0,0,0,.16)}
.cookie-notice[hidden]{display:none}
.cookie-notice p{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}
.cookie-notice button{flex:none}
@media(max-width:600px){.cookie-notice{align-items:stretch;flex-direction:column}.cookie-notice button{align-self:flex-start}}

/* First website onboarding. */
.onboarding{max-width:920px;margin:1rem auto 3rem}
.onboarding h1{font-size:clamp(2rem,3.6vw,2.75rem);max-width:none;letter-spacing:-.025em;margin:.4rem 0 1rem}
.onboarding-lead{max-width:48rem;color:var(--muted);font-size:1.05rem;line-height:1.65}
.proof-methods{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:1.5rem 0}
.proof-method{border:1px solid var(--line);border-radius:12px;padding:1.25rem;min-width:0}
.proof-method h3{margin:0 0 .4rem}
.proof-method p{color:var(--muted)}
.proof-method .proof{min-height:5rem}
.profile-details div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line)}
.profile-details dt{font-weight:700}.profile-details dd{margin:0;overflow-wrap:anywhere}
@media(max-width:700px){.proof-methods{grid-template-columns:1fr}.profile-details div{display:block}}

.dns-steps{padding-left:1.4rem;margin:1rem 0;display:grid;gap:.65rem}
.dns-steps li{padding-left:.2rem;line-height:1.55}
.dns-steps li::marker{color:var(--accent);font-weight:800}
.dns-proof{display:grid;gap:.25rem}
.dns-proof strong{margin-bottom:.25rem}
.dns-proof span{font-size:.82rem;font-weight:700;color:var(--muted)}
.dns-proof code{padding:.3rem .5rem;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.proof-method .dns-note{font-size:.88rem;margin:.8rem 0}
.dns-final-step{margin-top:1.2rem}

.pending-domain-guide{display:grid;gap:1rem;margin-top:1rem}

/* Scan report: live progress and grouped results. */
.report-section{padding:1.5rem}.report-section h2{margin:.3rem 0}.report-section>.muted{margin:.2rem 0 1.2rem}
.report-progress{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:var(--muted)}
.report-spinner{width:1rem;height:1rem;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:report-spin .8s linear infinite;flex:none}
@keyframes report-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.report-spinner{animation:none;border-color:var(--accent)}}
.report-accordion{border:1px solid var(--line);border-radius:12px;margin:.65rem 0;overflow:hidden;background:var(--bg)}
.report-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer;list-style:none}
.report-accordion>summary::-webkit-details-marker{display:none}.report-accordion>summary::after{content:"⌄";color:var(--muted);font-size:1.3rem;transition:transform .15s}
.report-accordion[open]>summary::after{transform:rotate(180deg)}.report-accordion>summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.report-summary-main{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.report-summary-count{color:var(--muted);font-size:.85rem;white-space:nowrap}
.report-page-url,.report-result-url{overflow-wrap:anywhere}.report-page-url{font-weight:700;min-width:0}
.report-icon{display:inline-grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;font-size:1.3rem;font-weight:800;flex:none}
.report-icon.clear{color:#0b6941;background:#dcf5e8}.report-icon.needs-review{color:#a32238;background:transparent;position:relative;font-size:0}.report-icon.needs-review::before,.report-icon.needs-review::after{content:"";position:absolute;left:50%;top:50%;width:.8rem;height:.14rem;border-radius:999px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}.report-icon.needs-review::after{transform:translate(-50%,-50%) rotate(-45deg)}.report-icon.pending{color:var(--muted);background:var(--line)}
.report-accordion-content{padding:.2rem 1rem 1rem;border-top:1px solid var(--line)}
.report-result{padding:.85rem 0;border-bottom:1px solid var(--line)}.report-result:last-child{border-bottom:0}
.report-result-heading{display:flex;align-items:start;justify-content:space-between;gap:.5rem 1rem}.report-result-heading>div{min-width:0}
.report-result-url{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}
.report-result p{margin:.35rem 0 0;color:var(--text)}.report-result .report-guidance{color:var(--muted)}
@media(max-width:700px){.report-accordion>summary{align-items:flex-start;flex-wrap:wrap}.report-summary-count{margin-left:2.55rem}.report-result-heading{flex-direction:column}}

@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .report-icon.needs-review{color:#ef8494}}
:root[data-theme=dark] .report-icon.needs-review{color:#ef8494}


/* Compact product navigation and dashboard action spacing. */
.topbar-nav{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;flex-wrap:wrap}
.topbar-nav>a:not(.topbar-login){display:inline-flex;align-items:center;padding:.48rem .75rem;border-radius:9px;color:var(--muted);text-decoration:none;font-size:.94rem;font-weight:650;line-height:1.3}
.topbar-nav>a:not(.topbar-login):hover,.topbar-nav>a[aria-current="page"]{background:var(--bg);color:var(--text)}
.topbar-nav>a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent)}
.topbar-nav form{margin-left:.4rem}.topbar-nav form button{padding:.45rem .75rem;font-size:.94rem;line-height:1.3}
.topbar-nav a:focus-visible,.topbar-nav button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.dashboard-actions{margin:0 0 1.75rem}
@media(max-width:800px){.topbar-nav{justify-content:flex-start}.topbar{align-items:flex-start;flex-direction:column}.topbar-nav form{margin-left:0}}

.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}
.report-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}
