:root{--ink:#000;--ink-soft:#111;--muted:#636b78;--line:#d1d5db;--surface:#f5f5f5;--canvas:#fff;--amber:#d97706;--amber-soft:#fbbf24;--pass:#059669;--pass-bg:#ecfdf5;--fail:#dc2626;--fail-bg:#fef2f2;--warn:#ea8b2c;--warn-bg:#fff7ed;--skip:#9ca3af;--skip-bg:#f5f5f5;--seg-off:#ececec}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:Sora,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.dot-font{font-family:Doto,Sora,monospace}.label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--muted)}.wrap{max-width:1080px;margin:0 auto;padding:0 28px}a{color:inherit}.top{border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.top .wrap{justify-content:space-between;height:64px;gap:16px}.brand,.top .wrap{display:flex;align-items:center}.brand{gap:12px;text-decoration:none}.bell-mark{width:26px;height:26px;position:relative;flex-shrink:0}.bell-mark span{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--ink)}.bell-mark span.a{background:var(--amber)}.brand-name{font-weight:700;font-size:18px;letter-spacing:-.02em}.brand-by{font-size:11px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.scan-meta{text-align:right}.scan-meta .ref{font-size:13px;font-weight:600}.hero-landing{min-height:calc(100vh - 64px);display:flex;align-items:center;overflow:hidden;position:relative}.hero-landing .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) 460px;grid-gap:40px;gap:40px;align-items:center;padding-top:40px;padding-bottom:60px}@media (max-width:920px){.hero-landing .wrap{grid-template-columns:1fr}.hero-landing .bell-stage{order:-1;margin:0 auto;width:320px;height:320px}}.hero-landing h1{font-size:clamp(44px,6.4vw,84px);line-height:1.02;letter-spacing:-.03em;font-weight:700;margin:14px 0 18px}.hero-landing h1 .amber{color:var(--amber)}.hero-landing .lede{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:54ch;line-height:1.55}.hero-stats{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}.hero-stats .stat{display:flex;flex-direction:column}.hero-stats .n{font-family:Doto,monospace;font-weight:900;font-size:34px;line-height:1}.hero-stats .d{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:6px}.scan-form{margin-top:34px;display:flex;gap:10px;max-width:560px;background:var(--canvas);border:1.5px solid var(--ink);border-radius:16px;padding:8px;box-shadow:0 20px 60px rgba(0,0,0,.08)}.scan-form input{flex:1 1;min-width:0;border:none;outline:none;font:inherit;font-size:16px;padding:10px 14px;background:transparent}.scan-form button{border:none;cursor:pointer;font:inherit;font-weight:700;font-size:15px;color:#fff;background:var(--ink);border-radius:11px;padding:12px 22px;white-space:nowrap;transition:transform .12s,background .2s}.scan-form button:hover{background:var(--amber);transform:translateY(-1px)}.scan-form button:disabled{background:var(--muted);cursor:wait;transform:none}.scan-error{margin-top:10px;font-size:13px;color:var(--fail)}.scan-hint{margin-top:12px}.bell-stage{position:relative;width:460px;max-width:86vw;height:460px}.bell-stage:before{content:"";position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff7ed 0,rgba(255,247,237,.4) 45%,transparent 70%)}.bell-stage canvas{position:relative;width:100%;height:100%;display:block}.bell-caption{position:absolute;bottom:-2px;left:0;right:0;text-align:center}.panel{border-top:1px solid var(--line);padding:72px 0}.panel-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:34px;gap:12px;flex-wrap:wrap}.panel-head h2{font-size:clamp(26px,3.2vw,40px);letter-spacing:-.025em;font-weight:700}.grade-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:18px;gap:18px;perspective:1200px}@media (max-width:760px){.grade-strip{grid-template-columns:1fr 1fr}}@media (max-width:520px){.grade-strip{grid-template-columns:1fr}}.grade-card{--acc:99,107,120;border:1px solid rgba(var(--acc),.18);border-radius:22px;padding:20px 22px 24px;background:radial-gradient(130% 90% at 50% 0,rgba(var(--acc),.07),transparent 55%),var(--canvas);position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.04)}.grade-card.g0{--acc:220,38,38}.grade-card.g1{--acc:234,139,44}.grade-card.g2{--acc:217,119,6}.grade-card.g3{--acc:5,150,105}.grade-card .rng{display:inline-block;font-family:Doto,monospace;font-weight:900;font-size:12px;color:rgb(var(--acc));background:rgba(var(--acc),.1);border-radius:999px;padding:4px 12px;margin-bottom:8px}.grade-card .nm{font-weight:700;font-size:21px;margin:2px 0 4px;letter-spacing:-.015em}.grade-card .ds{font-size:13px;color:var(--muted);line-height:1.5}.grade-scene{display:block;width:100%;height:auto;margin:-2px 0 10px}.grade-card.tilt{opacity:0;transform:translateY(44px) rotateX(14deg);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;transform-style:preserve-3d;will-change:transform}.grade-card.tilt.in{opacity:1;transform:none}.grade-card.tilt:hover{box-shadow:0 28px 70px rgba(var(--acc),.18);border-color:rgba(var(--acc),.45);z-index:2}@media (prefers-reduced-motion:reduce){.grade-card.tilt{opacity:1;transform:none;transition:none}}.cta-band{text-align:center;padding:90px 0}.cta-band h2{font-size:clamp(30px,4.4vw,56px);font-weight:700;letter-spacing:-.03em;margin-bottom:12px}.cta-band .amber{color:var(--amber)}.cta-band .scan-form{margin:34px auto 0}.hero-report{padding:64px 0 60px;overflow:hidden}.hero-report .wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-gap:40px;gap:40px;align-items:center}@media (max-width:880px){.hero-report .wrap{grid-template-columns:1fr}.hero-report .bell-stage{order:-1;margin:0 auto;width:300px;height:300px}}.hero-report h1{font-size:clamp(26px,3.4vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:600;margin:12px 0 4px}.hero-report .site{color:var(--amber)}.score-block{margin:28px 0 10px}.score{font-family:Doto,monospace;font-weight:900;font-size:clamp(60px,8.6vw,100px);line-height:.9;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.score .of{font-size:.36em;font-weight:700;color:var(--muted);margin-left:6px}.score-track{margin-top:18px;max-width:420px;height:8px;border-radius:999px;background:var(--seg-off);overflow:hidden}.score-track .fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--amber) 0,var(--amber-soft) 100%);transition:width 1.4s cubic-bezier(.2,.7,.2,1)}.grade-lights{display:flex;gap:8px;align-items:center;margin:24px 0 8px;flex-wrap:wrap}.glight{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;background:var(--canvas);padding:7px 14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted)}.glight i{width:7px;height:7px;border-radius:50%;background:var(--line)}.glight.active{border-color:transparent;color:#7c3a06;font-weight:700;background:linear-gradient(135deg,#fff7ed,#ffedd5);box-shadow:inset 0 0 0 1px rgba(217,119,6,.35),0 4px 14px rgba(217,119,6,.12)}.glight.active i{background:var(--amber);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px rgba(217,119,6,.18)}50%{box-shadow:0 0 0 6px rgba(217,119,6,.08)}}.grade-sub{font-size:15px;color:var(--muted);max-width:46ch}.coverage{margin-top:24px;font-size:13px;color:var(--muted);border-left:2px solid var(--amber);padding-left:14px;max-width:52ch}.coverage strong{color:var(--ink)}.meters{display:grid;grid-gap:22px;gap:22px}.meter{display:grid;grid-template-columns:150px 1fr 84px;align-items:center;grid-gap:18px;gap:18px}@media (max-width:680px){.meter{grid-template-columns:1fr;gap:8px}.meter .val{text-align:left}}.meter .name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.meter .name i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.segbar{display:flex;gap:5px;height:20px}.seg{flex:1 1;border-radius:5px;background:var(--seg-off);transform:scaleY(.6);opacity:.7;transition:background .3s,transform .3s,opacity .3s,box-shadow .3s}.seg.on{transform:scaleY(1);opacity:1}.meter.g-pass .seg.on{background:linear-gradient(180deg,#10b981,#059669);box-shadow:0 2px 8px rgba(5,150,105,.35)}.meter.g-warn .seg.on{background:linear-gradient(180deg,var(--amber-soft),var(--amber));box-shadow:0 2px 8px rgba(217,119,6,.35)}.meter.g-fail .seg.on{background:linear-gradient(180deg,#f87171,var(--fail));box-shadow:0 2px 8px rgba(220,38,38,.3)}.meter .val{font-weight:700;font-size:15px;text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meter.g-pass .name i{background:var(--pass)}.meter.g-pass .val{color:var(--pass)}.meter.g-warn .name i{background:var(--amber)}.meter.g-warn .val{color:var(--amber)}.meter.g-fail .name i{background:var(--fail)}.meter.g-fail .val{color:var(--fail)}.meter.pending .name,.meter.pending .val{color:var(--skip)}.meter.pending .name i{background:var(--skip)}.meter.pending .seg{background:repeating-linear-gradient(45deg,#f1f1f1 0 6px,#e7e7e7 6px 12px)}.pending-chip{font-size:10px;letter-spacing:.12em;font-weight:600;color:var(--skip);border:1px dashed var(--line);border-radius:999px;padding:2px 8px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:5px 12px;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.pass{color:var(--pass);background:var(--pass-bg)}.badge.fail{color:var(--fail);background:var(--fail-bg)}.badge.warn{color:var(--warn);background:var(--warn-bg)}.badge.skip{color:var(--skip);background:var(--skip-bg)}.chip{font-family:Doto,monospace;font-weight:900;font-size:13px;color:var(--ink-soft);background:var(--surface);border-radius:8px;padding:5px 9px;white-space:nowrap}.card-fail{border:1px solid #fecaca;border-radius:18px;overflow:hidden;background:var(--canvas);box-shadow:0 16px 48px rgba(220,38,38,.08);margin-bottom:22px}.card-fail.warn-card{border-color:#fed7aa;box-shadow:0 16px 48px rgba(234,139,44,.08)}.card-fail .cbar{height:4px;background:linear-gradient(90deg,var(--fail),#f87171)}.card-fail.warn-card .cbar{background:linear-gradient(90deg,var(--warn),var(--amber-soft))}.card-fail .inner{padding:26px 28px}.card-fail .head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:4px}.card-fail .head h3{font-size:18px;font-weight:700;letter-spacing:-.01em;flex:1 1;min-width:200px}.card-fail .pts{font-family:Doto,monospace;font-weight:900;font-size:15px;color:var(--fail)}.card-fail.warn-card .pts{color:var(--warn)}.ev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;margin-top:18px}.ev{background:var(--surface);border-radius:12px;padding:12px 14px;min-width:0}.ev .k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:5px}.ev .v{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55;color:var(--ink-soft);overflow-wrap:anywhere}.finding-box{margin-top:18px;border-radius:14px;padding:16px 18px;background:linear-gradient(135deg,var(--fail-bg),#fff);border:1px solid #fecaca;font-size:14px;line-height:1.6}.warn-card .finding-box{background:linear-gradient(135deg,var(--warn-bg),#fff);border-color:#fed7aa}.rows{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--canvas)}.rows-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;background:var(--surface);border-bottom:1px solid var(--line)}.rows-head .t{font-size:13px;font-weight:700}.row{display:grid;grid-template-columns:56px minmax(150px,.8fr) 1.4fr auto;align-items:center;grid-gap:16px;gap:16px;padding:14px 22px;border-bottom:1px solid #ececec;transition:background .15s}.row:last-child{border-bottom:none}.row:hover{background:#fafafa}.row .name{font-size:14px;font-weight:600}.row .ev-inline{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--muted);overflow-wrap:anywhere;line-height:1.5}@media (max-width:720px){.row{grid-template-columns:48px 1fr auto}.row .ev-inline{grid-column:1/-1}}.row.skiprow .name{color:var(--skip)}.footer{border-top:1px solid var(--line);padding:36px 0 48px;margin-top:8px}.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}@media (prefers-reduced-motion:reduce){.score-track .fill,.seg{transition:none}.glight.active i{animation:none}}@media print{.bell-stage,.scan-form,body:before{display:none}.top{position:static}}