:root{--bg: #0a0e16;--bg-grad-1: #0c1322;--bg-grad-2: #090c14;--panel: #121826;--panel-2: #161d2e;--panel-hover: #1a2236;--border: #232c40;--border-soft: #1b2334;--text: #e7ecf4;--text-dim: #97a1b5;--text-faint: #6b7589;--accent: #4f8cff;--accent-soft: rgba(79, 140, 255, .14);--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .28);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,var(--bg-grad-1),transparent 60%),radial-gradient(900px 500px at 0% 0%,#0d1424,transparent 55%),linear-gradient(180deg,var(--bg-grad-1),var(--bg-grad-2));background-attachment:fixed;color:var(--text);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{max-width:1280px;margin:0 auto;padding:28px 24px 96px}.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(140deg,#4f8cff,#7c5cff);display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;box-shadow:0 6px 18px #4f8cff59}.brand h1{font-size:20px;margin:0;letter-spacing:-.01em;font-weight:700}.brand p{margin:2px 0 0;color:var(--text-dim);font-size:13px}.masthead-meta{text-align:right;color:var(--text-faint);font-size:12px}.masthead-meta strong{color:var(--text-dim);font-weight:600}.masthead-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:4px}.masthead-actions .dim{color:var(--text-faint)}.catnav{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.catnav-link{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--border-soft);color:var(--text-dim);border-radius:8px;padding:6px 11px;font-size:12px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;font-family:inherit}.catnav-link:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.catnav-link .n{color:var(--text-faint);font-weight:700;font-size:11px}.statbar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 18px}.stat{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--border-soft);border-radius:999px;padding:7px 14px 7px 11px;font-size:12.5px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s,background .15s,color .15s}.stat:hover{border-color:var(--border);color:var(--text)}.stat.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.stat .dot{width:9px;height:9px;border-radius:50%;flex:none}.stat .dot.ring{background:transparent!important;border:2px solid;box-sizing:border-box}.stat.triage{border-style:dashed}.stat.triage.active{border-style:solid}.stat .n{font-weight:700;color:var(--text)}.statbar-sep{width:1px;align-self:stretch;background:var(--border);margin:2px 4px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:26px}.search{flex:1 1 280px;min-width:220px;display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 12px;height:40px}.search input{flex:1;background:transparent;border:0;outline:0;color:var(--text);font-size:14px;font-family:inherit}.search input::placeholder{color:var(--text-faint)}.search .ic{color:var(--text-faint);font-size:15px}.clearbtn{background:var(--panel);border:1px solid var(--border);color:var(--text-dim);height:40px;padding:0 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.clearbtn:hover{color:var(--text);border-color:var(--accent)}.count{color:var(--text-faint);font-size:12.5px;white-space:nowrap}.category{margin-bottom:38px;scroll-margin-top:16px}.cat-head{margin-bottom:14px}.cat-head h2{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0 0 4px;font-weight:700}.cat-head p{margin:0;color:var(--text-dim);font-size:13px;max-width:760px}.home-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:2px 0 30px}.home-col{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 14px 12px;box-shadow:var(--shadow)}.home-col-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.home-col-head h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);font-weight:700}.home-col-head span{color:var(--text-faint);font-size:11px}.home-tiles{display:flex;flex-direction:column;gap:5px}.home-empty{color:var(--text-faint);font-size:12px;margin:4px 2px}.home-tile{display:flex;align-items:center;gap:6px}.ht-link{flex:1;min-width:0;display:flex;align-items:center;gap:9px;background:#0b0f18;border:1px solid var(--border-soft);border-radius:8px;padding:7px 10px;transition:border-color .12s,background .12s}.ht-link:hover{border-color:var(--accent);background:var(--panel-hover)}.ht-link.disabled{opacity:.55;cursor:default}.ht-link.disabled:hover{border-color:var(--border-soft);background:#0b0f18}.ht-dot{width:8px;height:8px;border-radius:50%;flex:none;box-shadow:0 0 0 3px #ffffff08}.ht-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--text)}.fav-star{flex:none;background:none;border:none;cursor:pointer;font-family:inherit;color:var(--text-faint);font-size:15px;line-height:1;padding:2px 3px;transition:color .12s,transform .12s}.fav-star:hover{color:#f5c451;transform:scale(1.12)}.fav-star.on{color:#f5c451}.hub-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;background:var(--panel-hover);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .12s,color .12s}.hub-back:hover{border-color:var(--accent);color:var(--text)}.hub-masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.hub-masthead .brand p{font-size:14px}.hub-section{margin-bottom:28px}.hub-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.hub-section-head h2{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin:0;font-weight:700}.hub-section-head span{color:var(--text-faint);font-size:12px}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:14px}.dash-tile{display:flex;flex-direction:column;gap:7px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border-soft);border-radius:var(--radius);padding:14px 15px;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.dash-tile:hover{border-color:var(--accent);transform:translateY(-1px)}.dash-tile.disabled{opacity:.6}.dash-tile.disabled:hover{border-color:var(--border-soft);transform:none}.dt-top{display:flex;align-items:center;gap:8px}.dt-dot{width:8px;height:8px;border-radius:50%;flex:none}.dt-status{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.dt-top .fav-star{margin-left:auto}.dt-name{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.dt-blurb{font-size:12.5px;line-height:1.45;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.browse-all{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:var(--accent-soft);border:1px solid rgba(79,140,255,.3);color:var(--text);border-radius:var(--radius);padding:16px 18px;cursor:pointer;font-family:inherit;margin:8px 0 28px;transition:border-color .15s,background .15s}.browse-all:hover{border-color:var(--accent);background:#4f8cff33}.ba-main{font-size:15px;font-weight:700}.ba-sub{font-size:12.5px;color:var(--text-dim)}.hub-footer{color:var(--text-faint);font-size:12px;padding-top:12px;border-top:1px solid var(--border-soft)}.hub-footer code{color:var(--text-dim)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;align-items:start}.card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--border-soft);border-radius:var(--radius);padding:16px 16px 14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--border);transform:translateY(-1px)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card-titlewrap{min-width:0}.card-top-right{display:flex;align-items:center;gap:7px;flex:none}.card-title{font-size:15px;font-weight:700;letter-spacing:-.01em;word-break:break-word}.card-stack{color:var(--text-faint);font-size:11.5px;margin-top:2px}.card-blurb{color:var(--text-dim);font-size:13px;line-height:1.5}.launch{display:flex;flex-direction:column;gap:6px}.cmd{display:flex;align-items:center;gap:8px;background:#0b0f18;border:1px solid var(--border-soft);border-radius:8px;padding:6px 8px 6px 10px;min-width:0}.cmd-prompt{color:#36c98a;font-weight:700;flex:none;font-size:12px}.cmd.path .cmd-prompt{color:var(--text-faint)}.cmd code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:SF Mono,ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:11.5px;color:var(--text)}.cmd.path code{color:var(--text-dim)}.copy{display:inline-flex;align-items:center;gap:5px;flex:none;background:var(--panel-hover);border:1px solid var(--border);color:var(--text-dim);border-radius:7px;padding:3px 7px;font-size:12px;cursor:pointer;transition:border-color .12s,color .12s,background .12s;font-family:inherit}.copy:hover{border-color:var(--accent);color:var(--text)}.copy.done{border-color:#36c98a;color:#36c98a}.copy-lbl{font-size:11px;font-weight:600}.note{font-size:12px;line-height:1.5;border-radius:var(--radius-sm);padding:8px 10px}.note .lbl{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;display:block;margin-bottom:3px}.note.connects{background:#4f8cff12;color:var(--text-dim)}.note.connects .lbl{color:#7fa8ff}.note.next{background:#f5a62312;color:var(--text-dim)}.note.next .lbl{color:#f5b94f}.note.review{background:#7c5cf517;color:var(--text)}.note.review .lbl{color:#b07cf5}.note.review div{margin-top:2px}.triage-chip{display:inline-flex;align-items:center;flex:none;font-size:9.5px;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:999px;border:1px solid}.triage-toggle{border-style:dashed!important;color:var(--text-dim)!important}.triage-toggle .k{color:#b07cf5}.triage-toggle.open{border-color:#b07cf5!important;color:var(--text)!important}.triage-editor{background:#0b0f18;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px;display:flex;flex-direction:column;gap:9px}.triage-btns{display:flex;gap:6px}.triage-btn{flex:1;background:var(--panel-hover);border:1px solid var(--border);color:var(--text-dim);border-radius:7px;padding:6px 4px;font-size:11.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .12s,color .12s,background .12s}.triage-btn:hover{color:var(--text)}.field{display:flex;flex-direction:column;gap:3px}.field label{font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:700}.field input,.field textarea{background:var(--panel);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:inherit;font-size:12.5px;padding:6px 9px;outline:none;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--accent)}.triage-foot{display:flex;align-items:center;justify-content:space-between}.triage-foot .hint{color:var(--text-faint);font-size:10.5px}.link-btn{background:none;border:none;color:#e0598b;font-size:11.5px;cursor:pointer;font-family:inherit;padding:0}.link-btn:hover{text-decoration:underline}.badge{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:10px;font-weight:800;letter-spacing:.05em;padding:4px 9px;border-radius:999px;border:1px solid}.badge .dot{width:7px;height:7px;border-radius:50%}.links{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}.link{display:inline-flex;align-items:center;gap:6px;background:var(--panel-hover);border:1px solid var(--border);color:var(--text);font-size:12px;padding:5px 10px;border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s;max-width:100%}.link:hover{border-color:var(--accent);background:var(--accent-soft)}.link.disabled{opacity:.45;cursor:not-allowed}.link .k{font-size:11px}.link .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link.live .k{color:#36c98a}.link.staging .k{color:#3fa9f5}.link.local .k{color:#8a94a6}.link.repo .k{color:#b07cf5}.link.docs .k{color:#f5a623}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;padding-top:2px}.tag{font-size:10px;color:var(--text-faint);background:var(--border-soft);padding:2px 7px;border-radius:6px}.empty{text-align:center;color:var(--text-faint);padding:60px 0}.gate-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.gate-mark{width:54px;height:54px;border-radius:14px;background:linear-gradient(140deg,#4f8cff,#7c5cff);display:grid;place-items:center;font-weight:800;font-size:24px;color:#fff;box-shadow:0 8px 24px #4f8cff66;margin-bottom:4px}.gate-screen h1{margin:0;font-size:20px;letter-spacing:-.01em}.gate-screen p{margin:0;color:var(--text-dim);font-size:14px;max-width:380px}.gate-btn{margin-top:10px;background:var(--accent);border:0;color:#fff;font-weight:700;font-size:14px;padding:10px 22px;border-radius:10px;cursor:pointer;font-family:inherit}.gate-btn:hover{filter:brightness(1.08)}.tally{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:999px;border:1px solid;cursor:pointer;font-family:inherit;line-height:1}.tally .tally-icon{font-size:10px}.tally.big{font-size:12px;padding:5px 11px}.findings-btn{display:inline-flex;align-items:center;gap:6px;background:#ff7a451f;border:1px solid rgba(255,122,69,.45);color:#ff9a6b;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.findings-btn:hover{background:#ff7a4533}.findings-icon{font-size:12px}.findings-tiers{display:inline-flex;gap:3px;margin-left:2px}.findings-tiers .ftier{width:6px;height:6px;border-radius:50%;display:inline-block}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070c99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);z-index:41;background:linear-gradient(180deg,#0e1422,#0b0f18);border-left:1px solid var(--border);box-shadow:-16px 0 48px #00000080;display:flex;flex-direction:column;animation:drawer-in .16s ease-out}@keyframes drawer-in{0%{transform:translate(24px);opacity:.4}to{transform:none;opacity:1}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--border-soft)}.drawer-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.drawer-scope{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.drawer-sub{color:var(--text-faint);font-size:12px;margin-top:3px}.drawer-head-actions{display:flex;align-items:center;gap:8px;flex:none}.drawer-close{background:var(--panel-hover);border:1px solid var(--border);color:var(--text-dim);width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:13px}.drawer-close:hover{color:var(--text);border-color:var(--accent)}.drawer-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:11px 18px;border-bottom:1px solid var(--border-soft)}.dfilter-note{color:var(--text-faint);font-size:11px}.dfilter{background:transparent;border:1px solid var(--border-soft);color:var(--text-dim);border-radius:7px;padding:4px 9px;font-size:11px;cursor:pointer;font-family:inherit;text-transform:capitalize}.dfilter:hover{color:var(--text);border-color:var(--border)}.dfilter.on{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.dfilter-sep{width:1px;height:18px;background:var(--border);margin:0 3px}.drawer-body{overflow-y:auto;padding:14px 18px 40px}.tier{margin-bottom:18px}.tier-head{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.tier-head .dot{width:8px;height:8px;border-radius:50%}.tier-head .tier-n{color:var(--text-faint)}.finding{background:var(--panel);border:1px solid var(--border-soft);border-left-width:3px;border-radius:9px;padding:10px 12px;margin-bottom:8px}.finding[data-status=resolved],.finding[data-status=accepted]{opacity:.72}.finding-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:5px}.finding-repo{font-size:10.5px;font-weight:700;color:var(--text);background:var(--border-soft);padding:2px 7px;border-radius:6px}.finding-kind,.finding-status{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:5px}.finding-kind{color:var(--text-dim);border:1px solid var(--border)}.finding-kind.k-security{color:#ff9a6b}.finding-status{color:var(--text-faint)}.finding-status.s-open{color:#ff7a45}.finding-status.s-needs-review{color:#b07cf5}.finding-status.s-accepted{color:#8a94a6}.finding-status.s-resolved{color:#36c98a}.finding-title{font-size:13.5px;font-weight:700;margin-bottom:4px}.finding-detail{font-size:12.5px;color:var(--text-dim);line-height:1.5}.finding-rec{font-size:12.5px;color:var(--text);line-height:1.5;margin-top:6px;background:#36c98a14;border-radius:6px;padding:6px 9px}.finding-rec b{color:#36c98a}.finding-src{font-size:10.5px;color:var(--text-faint);margin-top:6px;font-family:ui-monospace,Menlo,monospace}footer.legend{margin-top:40px;border-top:1px solid var(--border-soft);padding-top:18px;color:var(--text-faint);font-size:12px}.legend-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}.legend-item{display:flex;align-items:center;gap:6px}.legend-item .dot{width:8px;height:8px;border-radius:50%}
