:root{--bg:#0c0d10;--panel:#15171c;--panel-2:#1c1f26;--border:#262a33;--text:#e7e9ee;--muted:#9aa1ad;--accent:#6ea8fe;--good:#46c98b;--warn:#e3b341;--bad:#f1707a;--crit:#ff5c6c}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1180px;margin:0 auto;padding:28px 22px 80px}header.top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:6px}header.top h1{font-size:22px;margin:0;font-weight:650}header.top .sub{color:var(--muted);font-size:13px}header.top .brand{display:flex;align-items:center;gap:14px}.logo-wrap{display:inline-flex;align-items:center}.logo{height:60px;width:auto;display:block}.logincard .logo-wrap{align-self:center}.logincard .logo{height:120px}.controls{display:flex;gap:8px;align-items:center;margin:18px 0 26px;flex-wrap:wrap}.controls button,.controls select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer}.controls button:hover{border-color:var(--accent)}.controls button:disabled{opacity:.5;cursor:default}.grid{display:grid;grid-gap:14px;gap:14px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.card .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.card .value{font-size:28px;font-weight:650;margin-top:6px}.card .delta{font-size:12.5px;margin-top:4px}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta.flat{color:var(--muted)}section.block{margin-top:30px}section.block h2{font-size:16px;margin:0 0 12px;font-weight:600}section.block .panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}table{width:100%;border-collapse:collapse;font-size:13.5px}td,th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.pill.critical{background:rgba(255,92,108,.16);color:var(--crit)}.pill.high{background:rgba(241,112,122,.14);color:var(--bad)}.pill.medium{background:rgba(227,179,65,.14);color:var(--warn)}.pill.low{background:rgba(154,161,173,.14);color:var(--muted)}.finding{padding:14px 16px;border-bottom:1px solid var(--border)}.finding:last-child{border-bottom:none}.finding .fhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.finding .ftitle{font-weight:600}.finding .fcat{color:var(--muted);font-size:12px}.finding .fdetail{color:var(--muted)}.finding .fdetail,.finding .ffix{margin-top:6px;font-size:13.5px}.finding .ffix b{color:var(--good);font-weight:600}.finding .fpage{font-size:12px;color:var(--muted);margin-top:4px;word-break:break-all}.scorebar{display:flex;gap:18px;flex-wrap:wrap}.score{text-align:center}.score .ring{font-size:26px;font-weight:700}.score .ring.good{color:var(--good)}.score .ring.warn{color:var(--warn)}.score .ring.bad{color:var(--bad)}.score .sl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.aihead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.aihead button{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:14px;cursor:pointer}.aihead button:hover{border-color:var(--accent)}.aihead button:disabled{opacity:.5;cursor:default}.codewrap{margin-top:10px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.codebar{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);padding:5px 10px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.copybtn{background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:6px;padding:2px 10px;font-size:11px;cursor:pointer;text-transform:none;letter-spacing:0}.copybtn:hover{border-color:var(--accent)}pre.code{margin:0;padding:12px 14px;background:#0a0b0e;color:#d6deeb;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5;overflow-x:auto;white-space:pre}.note{color:var(--muted);font-size:13px}.error{background:rgba(241,112,122,.1);border:1px solid var(--bad);color:var(--bad);padding:12px 14px;border-radius:10px;font-size:13.5px}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.logincard{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;align-items:stretch}.loginlabel{font-size:15px;font-weight:600;margin-bottom:16px;text-align:center}.logininput{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:11px 13px;font-size:15px;outline:none}.logininput:focus{border-color:var(--accent)}.loginbtn{margin-top:14px;background:var(--accent);color:#06223f;border:none;border-radius:8px;padding:11px;font-size:15px;font-weight:600;cursor:pointer}.loginbtn:disabled{opacity:.6;cursor:default}.loginerr{color:var(--bad);font-size:13px;margin-top:10px;text-align:center}.logout{background:none;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;padding:0}.logout:hover{color:var(--text);text-decoration:underline}.navright{display:flex;align-items:center;gap:16px}.navright a{font-size:13px}.draftbtn{margin-top:10px;background:var(--accent);color:#06223f;border:none;border-radius:8px;padding:8px 14px;font-size:13.5px;font-weight:600;cursor:pointer}.draftbtn:hover{filter:brightness(1.05)}.draftbtn:disabled{opacity:.5;cursor:default;filter:none}.formgrid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:10px;gap:10px}@media (max-width:640px){.formgrid{grid-template-columns:1fr}}.metarow{display:flex;gap:12px;padding:6px 0;border-bottom:1px solid var(--border);font-size:14px}.metarow:last-of-type{border-bottom:none}.metalabel{min-width:92px;font-size:12px;letter-spacing:.03em;padding-top:2px}.metalabel,.subhead{color:var(--muted);text-transform:uppercase}.subhead{font-size:14px;margin:22px 0 10px;letter-spacing:.04em}.articlewrap{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);line-height:1.65}.articlewrap h2{font-size:19px;margin:22px 0 8px}.articlewrap h3{font-size:16px;margin:18px 0 6px}.articlewrap p{margin:0 0 12px}.articlewrap ol,.articlewrap ul{margin:0 0 12px;padding-left:22px}.articlewrap li{margin-bottom:5px}.copyrow{gap:10px}.copyrow,.publishrow{display:flex;align-items:center}.publishrow{gap:12px;flex-wrap:wrap;margin-top:12px}.draftbtn.pubnow{background:var(--good)}.schedulebox{display:flex;align-items:center;gap:8px}.schedulebox .logininput{padding:7px 10px;font-size:13px;color-scheme:dark}.publishok{margin-top:12px;background:rgba(70,201,139,.12);border:1px solid var(--good);color:var(--good);padding:11px 14px;border-radius:10px;font-size:13.5px}.publishok code{background:rgba(0,0,0,.25);color:var(--good)}code{background:var(--panel-2);padding:1px 6px;border-radius:5px;font-size:12.5px}.loading{color:var(--muted);font-size:14px;padding:8px 0}.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px;margin-right:7px}@keyframes sp{to{transform:rotate(1turn)}}