:root{
  --bg:#f3f7f5;
  --bg-2:#edf3f0;
  --ink:#17211e;
  --muted:#66736e;
  --line:rgba(23,33,30,.10);
  --panel:rgba(255,255,255,.42);
  --panel-strong:rgba(255,255,255,.78);
  --mint:#36b99c;
  --mint-soft:rgba(54,185,156,.12);
  --coral:#e8898b;
  --lav:#b2a6e9;
  --shadow:0 18px 50px rgba(40,70,60,.07);
  --radius:26px;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;background:linear-gradient(180deg,#f6f9f7 0%,var(--bg) 55%,#eef4f1 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 14%,rgba(94,201,177,.07),transparent 28%),radial-gradient(circle at 87% 18%,rgba(178,166,233,.06),transparent 24%);z-index:-2}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid rgba(54,185,156,.38);outline-offset:3px}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,52px);position:sticky;top:0;z-index:30;background:rgba(246,249,247,.54);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,33,30,.05)}
.wordmark{text-decoration:none;font-size:21px;font-weight:800;letter-spacing:-.035em}
.top-actions{display:flex;align-items:center;gap:3px}
.quiet-btn,.link-btn,.text-cta,.secondary-cta{border:0;background:none;padding:10px 13px;font-size:15px;font-weight:720;color:#4f5e59}
.quiet-btn:hover,.link-btn:hover,.text-cta:hover{text-decoration:underline;text-underline-offset:4px}
.app{width:min(1080px,calc(100% - 28px));margin:0 auto;padding:20px 0 42px}
.hero{min-height:calc(100svh - 78px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px 0 46px}
.hero-copy{width:min(780px,100%)}
.eyebrow,.dialog-kicker,.result-kicker,.audit-label{font-size:11px;letter-spacing:.16em;font-weight:800;color:#7d8984;text-transform:uppercase}
.hero h1{font-size:clamp(48px,7.2vw,84px);line-height:.98;letter-spacing:-.06em;margin:15px 0 18px;font-weight:850}
.hero-copy p{max-width:650px;margin:0 auto;color:var(--muted);font-size:clamp(18px,2vw,21px);line-height:1.48}
.orb-wrap{width:min(400px,86vw);height:min(360px,78vw);position:relative;margin:14px auto 0;display:grid;place-items:center}
.scan-orb{width:min(255px,54vw);aspect-ratio:1;border-radius:50%;position:relative;transform-style:preserve-3d;perspective:900px;filter:drop-shadow(0 24px 30px rgba(40,90,76,.10));animation:floatOrb 6.2s ease-in-out infinite}
.orb-shell{position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle at 31% 24%,rgba(255,255,255,.78) 0 3%,transparent 15%),radial-gradient(circle at 66% 61%,rgba(178,166,233,.65),transparent 33%),radial-gradient(circle at 40% 34%,#8edfc9 0,#52c7ad 28%,#2aaf95 55%,#238c79 77%,#23695e 100%);box-shadow:inset -22px -28px 42px rgba(28,69,59,.18),inset 12px 12px 22px rgba(255,255,255,.34),0 0 0 1px rgba(255,255,255,.5);transform:rotateX(12deg) rotateY(-18deg)}
.orb-shell:after{content:"";position:absolute;inset:10%;border-radius:50%;border:1px solid rgba(255,255,255,.22)}
.orb-ring{position:absolute;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;transform-style:preserve-3d}
.ring-a{inset:4%;transform:rotateX(73deg) rotateY(-8deg) rotateZ(16deg);animation:spinA 10s linear infinite}
.ring-b{inset:14%;border-color:rgba(255,255,255,.32);transform:rotateY(70deg) rotateZ(-18deg);animation:spinB 13s linear infinite reverse}
.orb-core{position:absolute;width:24%;aspect-ratio:1;border-radius:50%;left:38%;top:38%;background:radial-gradient(circle at 38% 30%,#fff 0,rgba(255,255,255,.94) 15%,#e3fbf3 37%,#a9eedc 60%,rgba(54,185,156,.12) 74%,transparent 75%);box-shadow:0 0 26px rgba(163,239,219,.58);animation:pulseCore 2.8s ease-in-out infinite}
.orb-glow{position:absolute;inset:-4%;border-radius:50%;background:radial-gradient(circle,rgba(54,185,156,.10),rgba(178,166,233,.07) 45%,transparent 70%);filter:blur(12px);animation:glow 3.6s ease-in-out infinite}
.orb-shine{position:absolute;width:22%;height:9%;border-radius:50%;top:22%;left:28%;background:rgba(255,255,255,.30);filter:blur(5px);transform:rotate(-28deg)}
.orb-shadow{position:absolute;width:43%;height:11%;border-radius:50%;bottom:10%;left:28.5%;background:rgba(44,74,64,.10);filter:blur(18px);transform:scaleX(1.4)}
.scan-cta{min-height:62px;padding:0 30px;border:1px solid rgba(23,33,30,.08);border-radius:18px;background:rgba(23,33,30,.94);color:#fff;font-size:18px;font-weight:800;letter-spacing:-.02em;box-shadow:0 12px 24px rgba(23,33,30,.11);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.scan-cta:hover{transform:translateY(-2px);box-shadow:0 16px 29px rgba(23,33,30,.15)}
.scan-cta:active{transform:translateY(0)}
.scan-cta:disabled{opacity:.72;cursor:progress}
.privacy-note{display:flex;gap:8px;align-items:center;justify-content:center;color:#7d8883;font-size:13px;margin-top:12px;flex-wrap:wrap}
.scan-progress{width:min(560px,100%);margin:19px auto 0}
.progress-track{height:6px;background:rgba(23,33,30,.08);border-radius:999px;overflow:hidden}
.progress-track i{display:block;height:100%;width:0;background:#63cbb3;border-radius:inherit;transition:width .25s ease}
.progress-meta{margin-top:8px;display:flex;justify-content:space-between;font-size:13px;color:#7a8580}
.result{max-width:970px;margin:0 auto;padding:8px 0 18px}
.result-state{text-align:center;padding:12px 0 16px}
.result-state h2{font-size:clamp(36px,5vw,56px);letter-spacing:-.05em;line-height:1.04;margin:8px 0 10px}
.result-state p{margin:0 auto;max-width:680px;color:var(--muted);font-size:18px}
.result-state.good h2{color:#217e69}.result-state.mixed h2{color:#9a6f1e}.result-state.alert h2{color:#ad5459}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:24px}
.summary-card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:21px;box-shadow:none;transition:background .18s ease,border-color .18s ease,transform .18s ease;min-width:0}
.summary-card:hover{background:rgba(255,255,255,.60);border-color:rgba(54,185,156,.22);transform:translateY(-1px)}
.summary-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#89948f;font-weight:800;margin-bottom:10px}
.summary-card strong{display:block;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}
.summary-card small{display:block;color:var(--muted);margin-top:5px;font-size:14px}
.reasons{margin-top:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reasons-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}
.reasons-head h3{margin:0;font-size:18px}
.reason-list{padding:0 0 16px;display:grid;gap:9px}
.reason{background:rgba(255,255,255,.30);border:1px solid var(--line);border-radius:15px;padding:13px 15px}.reason strong{font-size:15px}.reason p{margin:4px 0 0;color:var(--muted);font-size:14px}
.advanced-links{display:flex;justify-content:center;gap:10px;align-items:center;padding-top:21px;flex-wrap:wrap}
.secondary-cta{min-height:44px;border-radius:12px;background:rgba(255,255,255,.50);border:1px solid var(--line);padding:0 17px;color:var(--ink);font-size:15px;box-shadow:none}
.secondary-cta:hover{border-color:rgba(54,185,156,.25);background:rgba(255,255,255,.66)}
.text-cta.danger{color:#95585c}
.trust-strip{display:flex;justify-content:center;align-items:center;gap:11px;flex-wrap:wrap;max-width:900px;margin:38px auto 0;text-align:center;border-top:1px solid var(--line);padding:20px 0;color:#74807b;font-size:14px}
.trust-strip p{margin:0}.trust-strip strong{color:#4c5954}
.site-footer{display:flex;justify-content:center;padding:26px 0 5px}
.made-by{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:-.01em;color:#35544c;background:rgba(255,255,255,.24);border:1px solid rgba(54,185,156,.25);box-shadow:0 0 0 1px rgba(255,255,255,.18),0 6px 20px rgba(52,128,108,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;animation:makerPulse 3.2s ease-in-out infinite}
.made-by:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.46) 48%,transparent 76%);transform:translateX(-120%);animation:makerSweep 3.8s ease-in-out infinite}
.made-by:hover{border-color:rgba(54,185,156,.45);background:rgba(255,255,255,.40)}
.made-by{z-index:0}.made-by:before{z-index:-1}
.dialog{width:100%;max-width:none;height:100%;max-height:none;padding:15px;border:0;background:rgba(27,38,34,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dialog::backdrop{background:rgba(27,38,34,.12);backdrop-filter:blur(10px)}
.dialog-card{position:relative;margin:auto;width:min(980px,100%);max-height:min(92vh,900px);overflow:auto;background:rgba(250,252,251,.97);border:1px solid rgba(255,255,255,.85);border-radius:25px;box-shadow:0 28px 70px rgba(23,33,30,.16);padding:31px}
.compact-dialog{width:min(700px,100%)}
.dialog-close{position:absolute;top:15px;right:15px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.66);font-size:25px;line-height:1;color:#4e5b56}
.dialog-card h2{font-size:clamp(32px,4.8vw,52px);line-height:1.03;letter-spacing:-.05em;margin:10px 55px 14px 0}
.dialog-card p{color:var(--muted);font-size:17px}.dialog-sub{max-width:760px}
.how-steps{display:grid;gap:9px;margin-top:20px}.how-steps>div{display:flex;gap:14px;align-items:center;padding:13px 14px;border-radius:15px;background:rgba(240,245,242,.82)}.how-steps b{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--mint-soft);color:#1e806d}
.audit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.audit-card{padding:20px;border-radius:19px;border:1px solid var(--line);background:rgba(255,255,255,.58)}
.audit-card h3{margin:8px 0 8px;font-size:25px;line-height:1.1;letter-spacing:-.035em}.audit-card p{margin:0 0 14px;font-size:15px}
.audit-local{background:rgba(218,249,240,.52)}.audit-server{background:rgba(239,236,251,.55)}
.audit-list{display:grid;gap:7px}.audit-list>div{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.58);border:1px solid rgba(23,33,30,.06)}.audit-list b{display:block;font-size:14px}.audit-list span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.audit-note{margin-top:13px!important;padding-top:12px;border-top:1px solid rgba(23,33,30,.08);font-size:14px!important}
.audit-section{margin-top:18px;padding-top:20px;border-top:1px solid var(--line)}.audit-section h3{margin:8px 0 12px;font-size:28px;letter-spacing:-.035em}.audit-facts{display:grid;gap:8px}.audit-facts p{margin:0;padding:12px 13px;border-radius:12px;background:rgba(255,255,255,.46);border:1px solid rgba(23,33,30,.06);font-size:15px}
.audit-facts code,.audit-card code{font:600 .92em ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;background:rgba(23,33,30,.06);border-radius:5px;padding:2px 5px}
.simple-audit{margin-bottom:0}.audit-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.audit-checks p{margin:0;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.46);border:1px solid rgba(23,33,30,.06);font-size:15px}.audit-checks span{display:inline-block;margin-right:7px;color:#2c8b75;font-weight:900}
.audit-download{display:inline-flex;align-items:center;min-height:44px;margin-top:13px;padding:0 16px;border-radius:12px;background:rgba(255,255,255,.70);border:1px solid var(--line);text-decoration:none;font-size:15px;font-weight:780}
.audit-download:hover{border-color:rgba(54,185,156,.3)}
.privacy-footer{display:flex;justify-content:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.detail-tabs{display:flex;gap:7px;overflow:auto;padding:16px 0 13px;position:sticky;top:0;background:rgba(250,252,251,.97);z-index:2}.detail-tab{border:1px solid var(--line);background:rgba(243,246,244,.82);border-radius:999px;min-height:38px;padding:0 14px;font-size:14px;font-weight:760;white-space:nowrap}.detail-tab.active{background:#22302b;color:#fff;border-color:#22302b}
.detail-panel{display:none}.detail-panel.active{display:block}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-item{padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.48)}.detail-item span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#87928d;font-weight:800}.detail-item strong{display:block;margin-top:5px;font-size:16px;overflow-wrap:anywhere}.detail-note,.detail-wide{margin-top:13px;padding:14px 15px;border-radius:14px;background:rgba(237,234,250,.72);color:#5d5576;font-size:14px}.marker-item{padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.60);margin-top:9px}.marker-item strong{display:block}.marker-item p{font-size:14px;margin:5px 0 0}.sev-high{border-color:#efc8ca;background:#fff8f8}.sev-med{border-color:#ead6b1;background:#fffaf1}.sev-low{border-color:#cbe5dd;background:#f5fcf9}
.raw-data{max-height:48vh;overflow:auto;margin:0;padding:15px;border-radius:14px;background:#202b27;color:#e4f3ee;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;white-space:pre-wrap;overflow-wrap:anywhere}.raw-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}.help-copy p{font-size:18px;padding:13px 0;margin:0;border-bottom:1px solid var(--line)}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#22302b;color:#fff;padding:10px 15px;border-radius:999px;font-size:14px;font-weight:700;z-index:100;transition:opacity .18s ease,transform .18s ease}.toast.show{opacity:1;transform:translate(-50%,0)}
.ambient span,.ambient i,.ambient b{position:fixed;border-radius:50%;pointer-events:none;filter:blur(28px);z-index:-1}.ambient span{width:240px;height:240px;left:-110px;top:18%;background:rgba(92,203,177,.07)}.ambient i{width:300px;height:300px;right:-140px;top:15%;background:rgba(181,166,233,.06)}.ambient b{width:220px;height:220px;left:50%;bottom:-150px;background:rgba(232,137,139,.05)}
@keyframes floatOrb{0%,100%{transform:translateY(0) rotateZ(-1deg)}50%{transform:translateY(-7px) rotateZ(1deg)}}
@keyframes spinA{from{transform:rotateX(73deg) rotateY(-8deg) rotateZ(0deg)}to{transform:rotateX(73deg) rotateY(-8deg) rotateZ(360deg)}}
@keyframes spinB{from{transform:rotateY(70deg) rotateZ(0deg)}to{transform:rotateY(70deg) rotateZ(360deg)}}
@keyframes pulseCore{0%,100%{transform:scale(.94);opacity:.88}50%{transform:scale(1.08);opacity:1}}
@keyframes glow{0%,100%{transform:scale(.97);opacity:.78}50%{transform:scale(1.04);opacity:1}}
@keyframes makerPulse{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 6px 20px rgba(52,128,108,.05)}50%{box-shadow:0 0 0 1px rgba(255,255,255,.28),0 7px 23px rgba(52,128,108,.11)}}
@keyframes makerSweep{0%,35%{transform:translateX(-120%)}55%,65%{transform:translateX(120%)}100%{transform:translateX(120%)}}
@keyframes scanSpin{from{filter:drop-shadow(0 24px 30px rgba(40,90,76,.10)) hue-rotate(0deg)}to{filter:drop-shadow(0 24px 30px rgba(40,90,76,.10)) hue-rotate(18deg)}}
html.scanning .scan-orb{animation:floatOrb 2.8s ease-in-out infinite,scanSpin 2.7s linear infinite}html.scanning .orb-core{animation:pulseCore 1s ease-in-out infinite}
html.scanning .scan-cta{background:#276f61}
html.reduced-motion *,html.reduced-motion *::before,html.reduced-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
@media(max-width:760px){
 body{font-size:17px}.topbar{height:68px;padding:0 13px}.wordmark{font-size:20px}.top-actions{gap:0}.quiet-btn{padding:8px 8px;font-size:14px}.app{width:calc(100% - 18px);padding-top:10px}.hero{min-height:calc(100svh - 70px);padding:7px 0 34px}.hero h1{font-size:clamp(44px,13.2vw,64px);line-height:.99}.hero-copy p{font-size:17px}.orb-wrap{height:min(285px,76vw);margin:4px auto 1px}.scan-orb{width:min(225px,62vw)}.scan-cta{width:min(340px,100%);min-height:60px;padding:0 24px;font-size:17px}.summary-grid{grid-template-columns:1fr;gap:9px}.summary-card{padding:18px}.summary-card strong{font-size:25px}.summary-card small{font-size:14px}.advanced-links{flex-direction:column}.secondary-cta,.text-cta{width:100%;min-height:46px}.trust-strip{margin-top:27px}.dialog{padding:8px}.dialog-card{border-radius:20px;padding:23px 17px 20px;max-height:96vh}.dialog-card h2{font-size:34px;margin-right:45px}.audit-grid,.detail-grid,.audit-checks{grid-template-columns:1fr}.audit-card{padding:17px}.audit-card h3{font-size:23px}.audit-section h3{font-size:25px}.audit-facts p,.audit-checks p{font-size:15px}.detail-tabs{margin:0 -2px;padding-left:2px;padding-right:2px}.raw-data{font-size:12px}.site-footer{padding-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scan-orb,.orb-ring,.orb-core,.orb-glow,.made-by{animation:none!important}.scan-cta,.summary-card{transition:none!important}}

/* Full-results: show the three useful facts before any raw data. */
.result-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}
.highlight-card{min-width:0;padding:18px;border:1px solid rgba(23,33,30,.10);border-radius:18px;background:rgba(255,255,255,.64);box-shadow:0 10px 24px rgba(40,70,60,.035)}
.highlight-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}
.highlight-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:#7f8b86;font-weight:850}
.highlight-card strong{display:block;margin-top:8px;font-size:24px;line-height:1.05;letter-spacing:-.035em;overflow-wrap:anywhere}
.highlight-sub{margin-top:7px;color:#66736e;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.expand-detail{margin-top:14px;border-top:1px solid rgba(23,33,30,.07);padding-top:11px}
.expand-detail summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid rgba(23,33,30,.09);border-radius:12px;background:rgba(246,248,247,.90);color:#33423c;font-size:14px;font-weight:780}
.expand-detail summary::-webkit-details-marker{display:none}
.expand-detail summary::after{content:'+';font-size:18px;line-height:1;color:#6f7b76}
.expand-detail[open] summary::after{content:'−'}
.expand-body{margin-top:10px;padding:11px 12px;border-radius:12px;background:rgba(247,249,248,.92);border:1px solid rgba(23,33,30,.07)}
.expand-body code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:500 14px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;color:#34423d}
.expand-row{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);gap:12px;padding:7px 0;border-bottom:1px solid rgba(23,33,30,.06)}
.expand-row:last-child{border-bottom:0;padding-bottom:0}.expand-row span{color:#76827d;font-size:13px}.expand-row b{font-size:14px;overflow-wrap:anywhere}
@media(max-width:760px){
  .result-highlights{grid-template-columns:1fr;gap:10px}
  .highlight-card{padding:16px}
  .highlight-card strong{font-size:22px}
  .expand-detail summary{width:100%;justify-content:space-between}
}

.feature-detail{margin-bottom:12px}.feature-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-card{min-width:0;padding:18px;border:1px solid rgba(23,33,30,.10);border-radius:18px;background:rgba(255,255,255,.64)}.feature-card .feature-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.10em;color:#7f8b86;font-weight:850}.feature-card>strong{display:block;margin-top:8px;font-size:28px;line-height:1.05;letter-spacing:-.04em;overflow-wrap:anywhere}.feature-card>span:not(.feature-kicker){display:block;margin-top:7px;color:#66736e;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
@media(max-width:760px){.feature-split{grid-template-columns:1fr}.feature-card{padding:16px}.feature-card>strong{font-size:24px}}
