/* HoodHunter custom dashboards — shared styles. Each page sets --acc (the
   member's colour) inline; everything else is HoodHunter's palette. Built
   by scripts/hh_dash_build.py. */
@font-face{font-family:"Chakra Petch";src:url(/assets/fonts/chakrapetch-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Chakra Petch";src:url(/assets/fonts/chakrapetch-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/assets/fonts/jetbrainsmono-var.woff2) format("woff2");font-weight:100 800;font-display:swap}
:root{
  --bg:#03050a;--panel:#070d15;--panel-2:#0a121e;--line:#17222f;--line-2:#24344a;
  --ink:#ecf3fb;--ink-2:#b9c9db;--ink-dim:#8aa0b8;--ink-faint:#4d6178;
  --hot:#39ffa0;--amber:#ffb454;--acc:#b56cff;--acc-glow:rgba(181,108,255,.55);--acc-soft:rgba(181,108,255,.08);
  --display:"Chakra Petch",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--mono)}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}

/* mast */
.mast{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.mast::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(600px 260px at 12% 0%,var(--acc-glow),transparent 70%),
  radial-gradient(520px 240px at 88% 10%,rgba(57,255,160,.10),transparent 70%);opacity:.45}
.mast .wrap{position:relative;display:flex;align-items:center;gap:28px;padding-top:34px;padding-bottom:30px}
.duo{position:relative;width:186px;height:136px;flex:none}
.duo img{position:absolute;border-radius:50%;object-fit:cover}
.duo .me{left:0;top:0;width:132px;height:132px;border:2px solid var(--acc);box-shadow:0 0 0 5px var(--bg),0 0 34px var(--acc-glow)}
.duo .hh{left:112px;top:62px;width:72px;height:72px;border:2px solid var(--hot);box-shadow:0 0 0 5px var(--bg),0 0 26px rgba(57,255,160,.35)}
.title{min-width:0}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim)}
h1{font:700 44px/1 var(--display);letter-spacing:.02em;margin:6px 0 8px;text-transform:uppercase}
h1 .x{color:var(--ink-faint);font-weight:600;margin:0 .18em}
h1 .me{color:var(--acc)}
h1 .h span{color:var(--hot)}
.lede{color:var(--ink-2);max-width:62ch;margin:0}
.counts{margin-left:auto;text-align:right;flex:none}
.counts b{display:block;font:700 40px/1 var(--display);color:var(--acc);font-variant-numeric:tabular-nums}
.counts span{font-size:12px;color:var(--ink-dim)}
.counts .sub{display:block;margin-top:10px;color:var(--ink-faint);font-size:11px}

.rule{padding:18px 0 6px;color:var(--ink-2);font-size:13.5px;margin:0}
.rule em{font-style:normal;color:var(--ink)}
.rule .sign{color:var(--acc);white-space:nowrap}

/* toolbar */
.bar{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;padding:14px 0 16px}
.bar label{display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.bar select{background:var(--panel);color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:7px 28px 7px 10px;font:13px var(--mono);appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-dim) 50%),linear-gradient(135deg,var(--ink-dim) 50%,transparent 50%);
  background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.bar .spacer{flex:1}
.bar .hint{font-size:12px;color:var(--ink-faint)}

/* table */
.panel{border:1px solid var(--line);border-radius:14px;background:rgba(7,13,21,.7);overflow:hidden}
table{width:100%;border-collapse:collapse}
th{font:600 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);text-align:right;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none}
th:first-child,td:first-child{text-align:left}
th.on{color:var(--ink)}
td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
tr.row{cursor:pointer}
tr.row:hover td{background:var(--acc-soft)}
tr.row.open td{background:var(--acc-soft)}
.proj{display:flex;align-items:center;gap:11px}
.av{width:32px;height:32px;border-radius:50%;background:var(--panel-2);border:1px solid var(--line-2);display:grid;place-items:center;font:700 13px var(--display);color:var(--ink-2);flex:none}
.proj b{font:600 15px var(--display);letter-spacing:.02em}
.proj small{display:block;color:var(--ink-faint);font-size:11.5px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.dim{color:var(--ink-faint)}
.up{color:var(--acc)}
.spk{color:var(--ink-dim);display:inline-block;vertical-align:middle}
.spk.good{color:var(--acc)}
.signs{display:inline-flex;gap:4px;vertical-align:middle}
.signs i{width:12px;height:12px;border-radius:3px;border:1.5px solid var(--line-2)}
.signs i.m{background:var(--acc);border-color:var(--acc);box-shadow:0 0 8px var(--acc-glow)}
.signs i.r{border-style:dashed}
.xh{color:var(--ink-2);text-decoration:none}
.xh:hover{text-decoration:underline}
.st{font-size:12px;color:var(--ink-faint)}
.st.good{color:var(--acc)}
.st.review{color:var(--ink)}
.st.bad{color:var(--ink-dim);text-decoration:line-through}

/* lead card */
tr.card td{padding:0;text-align:left;white-space:normal;background:var(--panel)}
.lc{display:grid;grid-template-columns:1.15fr 1fr 1fr;border-left:3px solid var(--acc)}
.lc section{padding:20px 22px;border-right:1px solid var(--line);min-width:0}
.lc section:last-child{border-right:0}
.lc h3{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}
.lc h3.gap{margin-top:18px}
.sg{display:grid;grid-template-columns:18px 1fr;gap:3px 10px;margin-bottom:12px}
.sg .d{width:12px;height:12px;border-radius:3px;border:1.5px solid var(--line-2);margin-top:4px}
.sg .d.m{background:var(--acc);border-color:var(--acc)}
.sg .d.r{border-style:dashed}
.sg b{font:600 14px var(--display);letter-spacing:.02em}
.sg b.no{color:var(--ink-dim)}
.sg span{grid-column:2;color:var(--ink-dim);font-size:12.5px;overflow-wrap:anywhere}
.who{font:600 20px var(--display);overflow-wrap:anywhere}
.who a{text-decoration:none}
.who a:hover{text-decoration:underline}
.meta{color:var(--ink-dim);font-size:12.5px;margin:4px 0 12px}
.bio{color:var(--ink-2);font-size:13px;border-left:2px solid var(--line-2);padding-left:10px;margin:0 0 14px;overflow-wrap:anywhere}
.links{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.links a,.links span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:1px solid var(--line-2);border-radius:8px;font-size:12px;text-decoration:none;color:var(--ink-2)}
.links a:hover{border-color:var(--acc);color:var(--ink)}
.links span{opacity:.3}
.links svg{width:14px;height:14px}
.claims{color:var(--ink-2);font-size:13px;margin:0 0 12px}
.cat{margin:0 0 12px;padding:0;list-style:none;font-size:12.5px;color:var(--ink-2)}
.cat li{padding:2px 0 2px 14px;position:relative}
.cat li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:1.5px;background:var(--acc)}
.warn{color:var(--amber);font-size:12.5px;margin:0 0 10px}
.words{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.words button{background:none;border:0;padding:2px 0;color:var(--ink-dim);font:13px var(--mono);cursor:pointer;border-bottom:1.5px solid transparent}
.words button.on{color:var(--acc);border-bottom-color:var(--acc)}
textarea{width:100%;min-height:78px;background:var(--bg);border:1px solid var(--line-2);border-radius:8px;color:var(--ink);font:13px/1.5 var(--mono);padding:10px;resize:vertical}
.saved{font-size:11px;color:var(--ink-faint);margin-top:6px}
.ca{font-size:11.5px;color:var(--ink-faint);overflow-wrap:anywhere;cursor:copy}

.empty{padding:40px 20px;text-align:center;color:var(--ink-dim)}
.gate{max-width:520px;margin:60px auto;text-align:center;color:var(--ink-2)}
.gate b{display:block;font:700 22px var(--display);color:var(--ink);margin-bottom:8px}

.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 0 40px;color:var(--ink-faint);font-size:12px}
.foot b{font:700 13px var(--display);color:var(--ink-2);letter-spacing:.06em}
.foot b span{color:var(--hot)}
.foot a{color:var(--ink-dim)}

/* teaser */
.big{display:flex;gap:48px;flex-wrap:wrap;padding:34px 0 10px}
.big div b{display:block;font:700 56px/1 var(--display);color:var(--acc);font-variant-numeric:tabular-nums}
.big div span{color:var(--ink-dim);font-size:13px}
.four{margin:26px 0 8px;border-top:1px solid var(--line)}
.four div{display:grid;grid-template-columns:220px 1fr 90px;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.four b{font:600 17px var(--display);color:var(--acc)}
.four p{margin:0;color:var(--ink-2);font-size:13px}
.four em{font-style:normal;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.cta{padding:26px 0 8px;font-size:15px;color:var(--ink-2)}
.cta a{color:var(--hot)}

@media (max-width:820px){
  .mast .wrap{flex-wrap:wrap;gap:18px;padding-top:24px}
  .duo{width:150px;height:110px}.duo .me{width:104px;height:104px}.duo .hh{left:90px;top:50px;width:58px;height:58px}
  h1{font-size:30px}
  .counts{margin-left:0;text-align:left}
  .counts b{font-size:30px;display:inline;margin-right:8px}
  thead{display:none}
  table,tbody,tr,td{display:block;width:100%}
  tr.row{display:grid;grid-template-columns:1fr 1fr;padding:14px;border-bottom:1px solid var(--line);gap:8px 12px}
  tr.row td{padding:0;border:0;text-align:left;background:none!important;white-space:normal;min-width:0;overflow-wrap:anywhere}
  tr.row td:first-child{grid-column:1/-1}
  tr.row td[data-l]::before{content:attr(data-l);display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}
  tr.row td.sp{display:none}
  tr.row.open{background:var(--acc-soft)}
  .bar label{flex:1 1 40%}.bar select{width:100%}.bar .spacer{display:none}
  .lc{grid-template-columns:1fr}
  .lc section{border-right:0;border-bottom:1px solid var(--line)}
  .big{gap:28px}.big div b{font-size:40px}
  .four div{grid-template-columns:1fr auto}.four p{grid-column:1/-1;grid-row:2}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
