:root{--bg: #0b0d10;--panel: #12161b;--panel-2: #171c23;--line: #232a33;--text: #e6eaef;--dim: #8b97a6;--accent: #5ee9b5;--crit: #ff5c5c;--high: #ff9f43;--med: #ffd166;--low: #7b8797;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 50% -10%,#16303a 0%,transparent 60%),var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.55}.page{max-width:900px;margin:0 auto;padding:0 20px 80px}.hero{padding:72px 0 8px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}.hero h1{font-size:clamp(30px,5.2vw,46px);line-height:1.12;letter-spacing:-.025em;margin:0 0 18px;font-weight:640}.hero h1 em{font-style:normal;color:var(--accent)}.sub{color:var(--dim);max-width:60ch;margin:0 0 32px;font-size:16px}.form{display:flex;gap:10px;flex-wrap:wrap}.form input{flex:1 1 380px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:13px 15px;color:var(--text);font-family:var(--mono);font-size:14px;outline:none;transition:border-color .15s}.form input:focus{border-color:var(--accent)}.form button{background:var(--accent);color:#06231a;border:0;border-radius:9px;padding:13px 26px;font-weight:650;font-size:14px;cursor:pointer;transition:opacity .15s}.form button:disabled{opacity:.5;cursor:default}.examples{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.examples button{background:transparent;border:1px solid var(--line);color:var(--dim);border-radius:999px;padding:6px 14px;font-size:12.5px;cursor:pointer;transition:color .15s,border-color .15s}.examples button:hover:not(:disabled){color:var(--text);border-color:var(--dim)}.error{margin-top:18px;color:var(--crit);font-size:14px}.report{margin-top:44px}.status{display:flex;align-items:center;gap:11px;color:var(--dim);font-family:var(--mono);font-size:13.5px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.failed{border:1px solid rgba(255,92,92,.35);background:#ff5c5c12;border-radius:12px;padding:20px 22px}.failed h2{margin:0 0 6px;font-size:17px}.failed p{margin:0;color:var(--dim)}.summary{display:flex;gap:32px;align-items:center;flex-wrap:wrap;padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.summary__meta{flex:1 1 320px;min-width:0}.summary__meta h2{margin:0 0 14px;font-family:var(--mono);font-size:16px;font-weight:600;word-break:break-all}.summary dl{margin:0;display:grid;gap:9px}.summary dl>div{display:flex;gap:12px;font-size:13.5px}.summary dt{color:var(--dim);min-width:118px;flex-shrink:0}.summary dd{margin:0}.summary code{font-family:var(--mono);color:var(--accent)}.ring{position:relative;width:128px;height:128px;flex-shrink:0}.ring svg{transform:rotate(-90deg)}.ring__track{fill:none;stroke:var(--line);stroke-width:9}.ring__value{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1)}.ring--good .ring__value{stroke:var(--accent)}.ring--ok .ring__value{stroke:#8ed081}.ring--warn .ring__value{stroke:var(--high)}.ring--bad .ring__value{stroke:var(--crit)}.ring__label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.ring__label strong{font-size:30px;font-weight:640;letter-spacing:-.03em;line-height:1}.ring__label span{font-family:var(--mono);font-size:12px;color:var(--dim)}.tabs{display:flex;gap:4px;margin:30px 0 18px;border-bottom:1px solid var(--line)}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--dim);padding:10px 15px;font-family:var(--mono);font-size:13px;cursor:pointer;margin-bottom:-1px}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.findings{list-style:none;padding:0;margin:0;display:grid;gap:12px}.finding{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:11px;padding:17px 19px}.finding--critical{border-left-color:var(--crit)}.finding--high{border-left-color:var(--high)}.finding--medium{border-left-color:var(--med)}.finding--low{border-left-color:var(--low)}.finding__head{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}.finding__head h3{margin:0;font-size:15.5px;font-weight:600}.sev{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:2px 7px;border-radius:4px;flex-shrink:0}.finding--critical .sev{background:#ff5c5c29;color:var(--crit)}.finding--high .sev{background:#ff9f4329;color:var(--high)}.finding--medium .sev{background:#ffd16624;color:var(--med)}.finding--low .sev{background:#7b879729;color:var(--low)}.finding__loc{font-family:var(--mono);font-size:12.5px;color:var(--dim);margin:9px 0 0;word-break:break-all}.finding__detail{margin:10px 0 0;color:#c3ccd7;font-size:14px}.finding__fix{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13.5px;color:var(--dim)}.finding__fix span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-right:8px}.empty{color:var(--dim);font-family:var(--mono);font-size:14px}.code{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--panel)}.code__bar{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;background:var(--panel-2);border-bottom:1px solid var(--line)}.code__name{font-family:var(--mono);font-size:12.5px;color:var(--dim)}.code__copy{background:none;border:1px solid var(--line);color:var(--dim);border-radius:6px;padding:3px 11px;font-family:var(--mono);font-size:11.5px;cursor:pointer}.code__copy:hover{color:var(--accent);border-color:var(--accent)}.code pre{margin:0;padding:17px;overflow-x:auto;font-family:var(--mono);font-size:12.8px;line-height:1.65;color:#cbd5e1}.foot{margin-top:70px;padding-top:22px;border-top:1px solid var(--line);color:var(--dim);font-size:13px}.foot p{margin:0;max-width:62ch}@media(max-width:620px){.hero{padding-top:48px}.summary{gap:22px}}
