:root{--g-injection:#94600a;--g-auth:#8b3d8f;--g-supply:#a61e4d}:root[data-theme=dark]{--g-injection:#e3a94b;--g-auth:#d391d6;--g-supply:#f783ac}[data-group=injection]{--accent:var(--g-injection)}[data-group=auth]{--accent:var(--g-auth)}[data-group=supply]{--accent:var(--g-supply)}.slider{flex-direction:column;gap:4px;display:flex}.slider .label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;display:flex}.slider .label strong{font:600 13px var(--mono);color:var(--ink);letter-spacing:0}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.lead-note{max-width:70ch;color:var(--ink-2);margin:0 0 20px;font-size:16px}.code-block{font:13px/1.55 var(--mono);color:var(--ink);background:var(--paper);border:1px dashed var(--rule);word-break:break-word;white-space:pre-wrap;padding:12px 14px;display:block}.code-block.danger{border:1px solid var(--bad);background:var(--bad-tint);color:var(--bad)}.comment-text{border-left:2px solid var(--rule);background:var(--paper);word-break:break-word;margin:0;padding:10px 12px;font-size:15px}.vuln-toggle{border:1px solid var(--rule-strong);gap:0;margin-bottom:24px;display:inline-flex}.vt-btn{font:600 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--sheet);cursor:pointer;border:0;align-items:center;gap:8px;padding:10px 18px;display:inline-flex}.vt-btn+.vt-btn{border-left:1px solid var(--rule-strong)}.vt-dot{opacity:.4;background:currentColor;border-radius:50%;width:9px;height:9px}.vt-btn.bad.on{background:var(--bad);color:var(--on-accent,#fff)}.vt-btn.ok.on{background:var(--ok);color:var(--on-accent,#fff)}.vt-btn.on .vt-dot{opacity:1;background:#fff}@media (pointer:coarse){.vt-btn{min-height:44px}}.outcome{border-left:4px solid;flex-wrap:wrap;align-items:baseline;gap:8px;margin:16px 0 0;padding:12px 14px;font-size:15px;display:flex}.outcome.ok{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, var(--sheet));color:var(--ink)}.outcome.bad{border-color:var(--bad);background:var(--bad-tint);color:var(--ink)}.outcome .status-tag{font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.outcome.ok .status-tag{color:var(--ok)}.outcome.bad .status-tag{color:var(--bad)}.outcome code{font:12px var(--mono);word-break:break-all}.danger-btn{border-color:var(--bad);color:var(--bad);white-space:normal;text-align:left;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.danger-btn:hover{background:var(--bad-tint)}.trust-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.trust-list li{border:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.trust-list li.ok{border-color:var(--ok)}.trust-list li.bad{border-color:var(--bad);background:var(--bad-tint)}.trust-src{flex:200px;font-size:14px}.boundary{margin-top:24px}.boundary-row{align-items:stretch;gap:0;margin-bottom:12px;display:flex}.boundary .zone{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;flex:1;place-items:center;padding:18px;display:grid}.boundary .zone.outside{background:var(--bad-tint);color:var(--bad)}.boundary .zone.inside{background:color-mix(in srgb, var(--ok) 12%, var(--sheet));color:var(--ok)}.boundary .boundary-line{border-left:3px dashed var(--ink);flex:none;width:0;position:relative}.boundary .boundary-line:after{content:attr(aria-label)}.boundary figcaption{color:var(--ink-2);font-size:14px}.kv{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.kv li{border-top:1px solid var(--rule);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.kv li:first-child{border-top:0}.kv li span:first-child{color:var(--ink-2)}.kv li span:last-child{font-family:var(--mono)}.kv li.bad span:last-child{color:var(--bad);font-weight:600}.flag-list,.risk-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.flag-list li{border:1px solid var(--rule);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.flag-list li.present{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 7%, var(--sheet))}.flag-list li code{font:13px var(--mono)}.risk-list li{border-top:1px solid var(--rule);align-items:baseline;gap:8px;padding:8px 0;font-size:14px;display:flex}.risk-list li:first-child{border-top:0}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.check input{width:auto;accent-color:var(--accent)}.url-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.url-row input{flex:160px;min-width:0}.url-prefix{font:13px var(--mono);color:var(--ink-3)}.tile.grade strong{font-size:48px}.tile.grade[data-grade=A] strong{color:var(--ok)}.tile.grade[data-grade=F] strong,.tile.grade[data-grade=D] strong{color:var(--bad)}.jwt-input{font:12px/1.5 var(--mono)}.jwt-h{color:var(--g-injection)}.jwt-p{color:var(--accent)}.jwt-s{color:var(--ink-3)}.comment-feed{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.comment-feed li{border-bottom:1px solid var(--rule);flex-direction:column;gap:6px;padding-bottom:12px;display:flex}.comment-feed li:last-child{border-bottom:0}.deps-table td{border-top:1px solid var(--rule);padding:8px 10px;font-size:14px}.deps-table tr.bad td{background:var(--bad-tint)}.deps-table tr.ok-row td{background:color-mix(in srgb, var(--ok) 6%, transparent)}.deps-table .status{font-size:11px}.log-view{font:12px/1.6 var(--mono);background:var(--paper);border:1px dashed var(--rule);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.log-line{color:var(--ink-2);word-break:break-all}.csrf-defence{margin-bottom:20px}@media (width<=720px){.boundary-row{flex-direction:column}.boundary .boundary-line{border-left:0;border-top:3px dashed var(--ink);width:auto;height:0}.vuln-toggle{width:100%}.vt-btn{flex:1;justify-content:center}}
