@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/fraunces-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400 900;src:url(/fonts/fraunces-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/space-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/space-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/space-mono-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/space-mono-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper:#faf6ef;--ink:#2b2a26;--ink-soft:#6f6a60;--mint:#bfe8d4;--mint-d:#4fa880;--peach:#ffd9c7;--peach-d:#e8835a;--lilac:#ddd2f3;--lilac-d:#8a6fc4;--sky:#cfe6f5;--sky-d:#4f93c4;--butter:#feb;--butter-d:#d2a83a;--rose:#ffd2dd;--rose-d:#d4607e;--card:#fffdf8;--line:#e7ddca;--texture-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)' opacity='0.05'/%3E%3C/svg%3E");--c1:var(--mint);--c2:var(--peach);--c3:var(--lilac);--c4:var(--sky);--c5:var(--butter);--c6:var(--rose);--display:"Fraunces", Georgia, serif;--mono:"Space Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--paper);color:var(--ink);font-family:var(--mono);background-image:radial-gradient(circle at 15% 12%,#bfe8d480,#0000 38%),radial-gradient(circle at 85% 8%,#ddd2f373,#0000 36%),radial-gradient(circle at 70% 95%,#ffd9c773,#0000 40%),radial-gradient(circle at 10% 90%,#cfe6f566,#0000 38%);min-height:100dvh;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");position:fixed;inset:0}.wrap{z-index:1;max-width:900px;margin:0 auto;padding:54px 22px 90px;position:relative}mark{--color:var(--butter);white-space:nowrap;background-color:unset;color:var(--ink);isolation:isolate;display:inline-block;position:relative}mark:before{content:"";background-color:var(--color);background-image:var(--texture-noise);opacity:.75;width:calc(100% + 1ch);height:110%;box-shadow:inset -2px 0 1px hsl(from var(--color) h s calc(l - 20)), inset -4px 0 5px hsl(from var(--color) h s calc(l - 20));filter:url(#filter-rough);z-index:-1;border-bottom-right-radius:20px 30px;position:absolute;inset:-5% 0 0 -.25ch}mark:after{content:"";background:radial-gradient(hsl(from var(--color) h s calc(l - 30)), hsl(from var(--color) h s l));opacity:.4;filter:url(#filter-rough);z-index:-1;border-radius:10px 0 50px/200px 0;width:.5ch;height:1ch;position:absolute;top:2px;right:-.25em;rotate:15deg}header{text-align:center;margin-bottom:40px}.logo{font-family:var(--display);letter-spacing:-1.5px;font-size:clamp(38px,9vw,52px);font-weight:900;line-height:1}.logo .meta{color:var(--ink)}.logo .end{color:var(--mint-d);font-style:italic}.logo .grade{vertical-align:super;background:var(--butter);color:var(--butter-d);border:2px solid var(--butter-d);border-radius:20px;margin-left:6px;padding:2px 12px;font-size:22px;font-weight:600;display:inline-block;transform:rotate(-3deg)}.tag{font-family:var(--display);color:var(--ink);margin-top:16px;font-size:19px}.subtag{color:var(--ink-soft);margin-top:4px;font-size:13px}.scanbar{gap:10px;max-width:640px;margin:0 auto 14px;display:flex}.scanbar input{background:var(--card);border:2.5px solid var(--ink);min-width:0;color:var(--ink);font-family:var(--mono);box-shadow:4px 4px 0 var(--lilac);border-radius:16px;outline:none;flex:1;padding:16px 20px;font-size:16px;transition:box-shadow .15s,transform .15s}.scanbar input:focus{box-shadow:6px 6px 0 var(--mint-d);transform:translate(-2px,-2px)}.scanbar input::placeholder{color:var(--ink-soft)}.scanbar button{background:var(--mint-d);color:#fff;border:2.5px solid var(--ink);font-family:var(--display);cursor:pointer;box-shadow:4px 4px 0 var(--ink);border-radius:16px;padding:0 30px;font-size:17px;font-weight:900;transition:transform .1s,box-shadow .1s}.scanbar button:hover{box-shadow:6px 6px 0 var(--ink);transform:translate(-2px,-2px)}.scanbar button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.scanbar button:disabled{opacity:.5;cursor:wait;box-shadow:4px 4px 0 var(--ink);transform:none}.opts{text-align:center;color:var(--ink-soft);margin-bottom:8px;font-size:12.5px}.opts a{color:var(--lilac-d);cursor:pointer;font-weight:700;text-decoration:none}.opts a:hover{text-decoration:underline}.toggle{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.toggle input{accent-color:var(--mint-d);width:15px;height:15px}.agentbar{background:var(--sky);border:2px dashed var(--sky-d);max-width:640px;color:var(--ink);text-align:center;border-radius:14px;margin:16px auto 28px;padding:11px 16px;font-size:12px}.agentbar code{background:#fff9;border-radius:5px;padding:1px 6px;font-size:11px}.agentbar b{color:var(--sky-d)}.status{text-align:center;color:var(--ink-soft);min-height:22px;margin-bottom:22px;font-size:13px}.status .live{color:var(--mint-d);font-weight:700;animation:1s steps(2,start) infinite blink}.status.err{color:var(--rose-d)}.status code{background:var(--card);border:1px solid var(--line);border-radius:5px;padding:1px 6px}@keyframes blink{50%{opacity:0}}.report{animation:.45s cubic-bezier(.2,.8,.2,1) rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.quickrow{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px;display:grid}.chip{background:var(--card);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--peach);border-radius:14px;padding:13px 16px;font-size:13px}.chip .k{color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;font-size:11px}.chip .v{color:var(--ink);align-items:center;gap:7px;margin-top:6px;font-weight:700;display:inline-flex}.chip .v svg{color:var(--mint-d)}.scorecard{background:var(--card);border:2.5px solid var(--ink);box-shadow:6px 6px 0 var(--lilac);border-radius:22px;align-items:center;gap:28px;margin-bottom:30px;padding:26px 28px;display:flex}.ring{flex-shrink:0;width:110px;height:110px;position:relative}.ring .pct{font-family:var(--display);justify-content:center;align-items:center;font-size:26px;font-weight:900;display:flex;position:absolute;inset:0}.scoremeta .gradeletter{font-family:var(--display);font-size:52px;font-weight:900;line-height:.9}.scoremeta h2{font-family:var(--mono);word-break:break-all;margin:6px 0 2px;font-size:16px}.scoremeta .passline{color:var(--ink-soft);font-size:13px}.cat{background:var(--card);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--accent,var(--mint));border-radius:16px;margin-bottom:14px;overflow:hidden}.cat-head{cursor:pointer;user-select:none;background:var(--card);width:100%;font:inherit;color:inherit;text-align:left;border:none;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.cat-head:hover{background:color-mix(in srgb, var(--accent) 35%, transparent)}.cat-name{font-family:var(--display);align-items:center;gap:9px;font-size:16px;font-weight:600;display:flex}.dot{border:1.5px solid var(--ink);border-radius:50%;flex-shrink:0;width:11px;height:11px}.dot.good{background:var(--mint-d)}.dot.warn{background:var(--butter-d)}.dot.bad{background:var(--rose-d)}.dot.info{background:var(--card)}.cat-score{font-family:var(--mono);color:var(--ink-soft);font-size:13px;font-weight:700}.badge-info{background:var(--lilac);color:var(--lilac-d);border:1.5px solid var(--lilac-d);border-radius:10px;padding:1px 8px;font-size:10px;font-weight:700}.cat-body{border-top:2px dashed var(--line);padding:6px 18px 16px;display:none}.cat.open .cat-body{display:block}.check{align-items:flex-start;gap:10px;padding:6px 0;font-size:13.5px;display:flex}.check .mark{border:1.5px solid var(--ink);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.check .mark svg{width:12px;height:12px}.check.pass .mark{background:var(--mint);color:var(--mint-d)}.check.fail .mark{background:var(--rose);color:var(--rose-d)}.check .opt{color:var(--ink-soft);margin-left:6px;font-size:10px;font-style:italic}.hint{color:var(--ink-soft);background:color-mix(in srgb, var(--accent) 25%, transparent);border-radius:10px;margin-top:8px;padding:9px 12px;font-size:12.5px;font-style:italic}.sk,.sk-card,.sk-ring,.sk-cat,.sk-lines span{background:linear-gradient(100deg, var(--line) 30%, #f3ecdc 50%, var(--line) 70%);background-size:200% 100%;border-radius:14px;animation:1.3s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chip.sk{height:64px;box-shadow:3px 3px 0 var(--peach)}.sk-card{border-radius:22px;align-items:center;gap:28px;height:138px;margin-bottom:30px;padding:26px 28px;display:flex}.sk-ring{border-radius:50%;flex-shrink:0;width:110px;height:110px}.sk-lines{flex-direction:column;flex:1;gap:12px;display:flex}.sk-lines span{height:18px}.sk-lines span:last-child{width:60%}.sk-cat{height:52px;margin-bottom:14px}.sharebar{background:var(--card);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--sky);border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-8px 0 26px;padding:14px 18px;display:flex}.share-label{font-family:var(--display);font-size:14px;font-weight:600}.share-btns{flex-wrap:wrap;gap:9px;margin-left:auto;display:flex}.share-btn{cursor:pointer;font-family:var(--mono);color:#fff;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:12px;align-items:center;gap:7px;padding:8px 14px;font-size:12.5px;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex}.share-btn:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.share-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.share-bluesky{background:#1185fe}.share-nostr{background:#8e30eb}.share-farcaster{background:#7c5cff}.share-copy{background:var(--ink)}.share-donate{background:var(--rose-d)}@media (width<=560px){.share-btns{width:100%;margin-left:0}.share-btn{flex:1;justify-content:center}}footer{text-align:center;color:var(--ink-soft);margin-top:48px;font-size:11.5px;line-height:1.8}footer a{color:var(--lilac-d)}.follow-nostr{font-family:var(--mono);color:#fff;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);background:#8e30eb;border-radius:12px;align-items:center;gap:6px;margin-top:14px;padding:7px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-flex}.follow-nostr:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.follow-nostr svg{width:15px;height:15px}.contact-dm{background:var(--sky-d);margin-left:8px}.reco{background:var(--sky);border:2.5px solid var(--ink);box-shadow:5px 5px 0 var(--lilac);border-radius:16px;margin:-8px 0 22px;padding:16px 20px}.reco h3{font-family:var(--display);margin-bottom:6px;font-size:18px}.reco p{font-size:13.5px;line-height:1.7}.reco a{color:var(--lilac-d);font-weight:700;text-decoration:none}.reco a:hover{text-decoration:underline}.reco .reco-audit{background:var(--lilac-d);color:#fff;font-weight:700;font-family:var(--mono);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:12px;margin-top:12px;padding:8px 14px;font-size:12.5px;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-block}.reco .reco-audit:hover{box-shadow:3px 3px 0 var(--ink);text-decoration:none;transform:translate(-1px,-1px)}.paywall{background:var(--butter);border:2.5px solid var(--ink);box-shadow:6px 6px 0 var(--peach-d);border-radius:20px;margin-bottom:26px;padding:24px;animation:.4s rise}.paywall h3{font-family:var(--display);margin-bottom:8px;font-size:22px}.paywall p{margin-bottom:6px;font-size:13px}.paywall .price{font-family:var(--display);color:var(--peach-d);font-size:30px;font-weight:900}.paywall .price .per{font-size:13px;font-weight:400}.paywall .muted{margin-top:10px}.paywall code{background:var(--card);border-radius:4px;padding:1px 5px}.paywall pre{background:var(--card);border:1.5px solid var(--ink);white-space:pre-wrap;border-radius:10px;margin:12px 0;padding:12px;font-size:11px;overflow-x:auto}.pay-btns{flex-wrap:wrap;gap:10px;margin:14px 0 6px;display:flex}.pay-btn{background:var(--peach-d);color:#fff;border:2.5px solid var(--ink);font-family:var(--display);cursor:pointer;box-shadow:3px 3px 0 var(--ink);border-radius:14px;padding:11px 22px;font-size:15px;font-weight:900;transition:transform .1s,box-shadow .1s}.pay-btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.pay-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.pay-terms{margin-top:12px}.pay-terms summary{cursor:pointer;color:var(--ink-soft);font-size:12px;font-weight:700}@media (width<=560px){.scorecard{text-align:center;flex-direction:column;gap:16px}.scoremeta h2{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}
