
:root{
  --bg:#0A0D12;
  --surface:#11151C;
  --surface2:#161B24;
  --line:#222A36;
  --text:#E9EDF2;
  --muted:#7D8896;
  --orange:#F7931A;
  --buy:#2EBD85;
  --sell:#F6465D;
  --hold:#F0B90B;
  --mono:'IBM Plex Mono',monospace;
  --sans:'Space Grotesk',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
header{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(10,13,18,.92);backdrop-filter:blur(8px);z-index:10}
.hrow{display:flex;align-items:center;gap:14px;padding:14px 0}
.logo{width:42px;height:42px;border-radius:50%;border:2px solid var(--orange);object-fit:cover}
.wordmark{font-weight:700;font-size:19px;letter-spacing:.5px}
.wordmark span{color:var(--orange)}
.tagline{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:1px}
.hmeta{margin-left:auto;text-align:right;font-family:var(--mono);font-size:11px;color:var(--muted)}
.hmeta .live{color:var(--buy)}
.badge-preview{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:1px;color:var(--hold);border:1px dashed var(--hold);padding:2px 8px;border-radius:3px;margin-bottom:4px}

/* ---------- hero ---------- */
.hero{display:flex;align-items:center;gap:28px;padding:40px 0 28px}
.hero img{width:150px;height:150px;border-radius:14px;border:1px solid var(--line);flex-shrink:0}
.hero h1{font-size:clamp(26px,4vw,38px);font-weight:700;line-height:1.15}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero p{color:var(--muted);margin-top:10px;max-width:56ch;font-size:15px}
.hero .cadence{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:12px;display:flex;gap:18px;flex-wrap:wrap}
.hero .cadence b{color:var(--text);font-weight:500}

/* ---------- signal cards ---------- */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:10px 0 34px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;position:relative;overflow:hidden}
.card .asset{display:flex;align-items:baseline;gap:10px}
.card .ticker{font-weight:700;font-size:20px}
.card .fullname{font-family:var(--mono);font-size:11px;color:var(--muted)}
.card .price{font-family:var(--mono);font-size:14px;color:var(--muted);margin-top:4px}
.card .price b{color:var(--text);font-weight:500}
.verdict{font-family:var(--mono);font-weight:600;font-size:34px;letter-spacing:4px;margin:18px 0 4px;display:flex;align-items:center;gap:12px}
.verdict .stamp{padding:4px 18px;border:2px solid;border-radius:6px}
.v-buy .stamp{color:var(--buy);border-color:var(--buy);background:rgba(46,189,133,.08)}
.v-hold .stamp{color:var(--hold);border-color:var(--hold);background:rgba(240,185,11,.07)}
.v-sell .stamp{color:var(--sell);border-color:var(--sell);background:rgba(246,70,93,.08)}
.since{font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:16px}
.since b{color:var(--text);font-weight:500}

/* composite gauge */
.gauge{margin:8px 0 4px}
.gauge .track{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--sell) 0%,var(--sell) 30%,var(--hold) 42%,var(--hold) 58%,var(--buy) 70%,var(--buy) 100%);opacity:.9;position:relative}
.gauge .needle{position:absolute;top:-5px;width:3px;height:18px;background:var(--text);border-radius:2px;box-shadow:0 0 0 2px var(--bg)}
.gauge .scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:6px}
.compline{font-family:var(--mono);font-size:12px;color:var(--muted);margin:10px 0 16px}
.compline b{color:var(--text);font-weight:500}

/* category bars */
.cats{display:grid;gap:8px}
.cat{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:10px;font-family:var(--mono);font-size:11px}
.cat .nm{color:var(--muted)}
.cat .bar{height:5px;background:var(--surface2);border-radius:3px;position:relative}
.cat .bar i{position:absolute;top:0;bottom:0;border-radius:3px}
.cat .bar i.pos{left:50%;background:var(--buy)}
.cat .bar i.neg{right:50%;background:var(--sell)}
.cat .bar::after{content:'';position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line)}
.cat .sc{text-align:right;color:var(--muted)}
.cat .sc.pos{color:var(--buy)}
.cat .sc.neg{color:var(--sell)}
.card .docket-link{margin-top:18px;display:inline-block;font-family:var(--mono);font-size:12px;color:var(--orange);text-decoration:none;border-bottom:1px dotted var(--orange);cursor:pointer}

/* ---------- evidence docket ---------- */
.section-title{font-family:var(--mono);font-size:12px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin:34px 0 14px;display:flex;align-items:center;gap:12px}
.section-title::after{content:'';flex:1;height:1px;background:var(--line)}
.tabs{display:flex;gap:8px;margin-bottom:14px}
.tab{font-family:var(--mono);font-size:12px;padding:7px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}
.tab.active{color:var(--orange);border-color:var(--orange)}
.docket{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dgroup{border-bottom:1px solid var(--line)}
.dgroup:last-child{border-bottom:none}
.dghead{display:flex;align-items:center;gap:10px;padding:13px 20px;font-family:var(--mono);font-size:12px;letter-spacing:1px;color:var(--muted);background:var(--surface2);cursor:pointer;user-select:none}
.dghead .w{color:var(--orange);margin-left:auto}
.dghead .chev{transition:transform .2s}
.dgroup.open .chev{transform:rotate(90deg)}
.dbody{display:none}
.dgroup.open .dbody{display:block}
.drow{display:grid;grid-template-columns:190px 130px 60px 1fr;gap:14px;padding:12px 20px;border-top:1px solid var(--line);font-size:13px;align-items:baseline}
.drow .ind{font-weight:500}
.drow .val{font-family:var(--mono);font-size:12px;color:var(--muted)}
.drow .score{font-family:var(--mono);font-size:12px;font-weight:600;text-align:center;border-radius:4px;padding:1px 0}
.score.p2{color:var(--buy);background:rgba(46,189,133,.12)}
.score.p1{color:var(--buy);background:rgba(46,189,133,.07)}
.score.z{color:var(--muted);background:var(--surface2)}
.score.n1{color:var(--sell);background:rgba(246,70,93,.07)}
.score.n2{color:var(--sell);background:rgba(246,70,93,.12)}
.drow .why{color:var(--muted);font-size:12.5px}
.drow .why .na{color:var(--hold)}

/* ---------- history ---------- */
.history{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}
.hist-label{font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:12px;display:flex;justify-content:space-between}
.spark{height:64px;display:flex;align-items:flex-end;gap:2px;margin-bottom:6px}
.spark i{flex:1;background:var(--surface2);border-radius:1px;position:relative;min-width:3px}
.blocks{display:flex;gap:2px}
.blocks i{flex:1;height:8px;border-radius:1px;min-width:3px}
.b-buy{background:var(--buy)}.b-hold{background:var(--hold);opacity:.65}.b-sell{background:var(--sell)}
.legend{display:flex;gap:16px;font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:10px}
.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}

/* ---------- methodology ---------- */
.meth{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px}
.mcard h4{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--orange);text-transform:uppercase;margin-bottom:8px}
.mcard p{font-size:12.5px;color:var(--muted)}
.caveat{margin-top:22px;border:1px dashed var(--line);border-radius:10px;padding:16px 18px;font-size:12.5px;color:var(--muted)}
.caveat b{color:var(--text);font-weight:500}

footer{margin-top:44px;border-top:1px solid var(--line);padding:22px 0 34px;font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

@media(max-width:760px){
  .cards{grid-template-columns:1fr}
  .hero{flex-direction:column;text-align:center}
  .hero .cadence{justify-content:center}
  .drow{grid-template-columns:1fr 90px 50px;gap:8px}
  .drow .why{grid-column:1/-1;padding-left:0}
  .meth{grid-template-columns:1fr 1fr}
  .hmeta{display:none}
}
@media (prefers-reduced-motion: reduce){ *{transition:none!important} }

/* ---------- owner badge ---------- */
.owner{display:flex;align-items:center;gap:14px;margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px}
.owner img{width:56px;height:56px;border-radius:50%;border:2px solid var(--orange);object-fit:cover}
.owner-name{font-weight:600;font-size:15px}
.owner-role{font-family:var(--mono);font-size:11px;color:var(--muted)}
.badge-preview.live-mode{color:var(--buy);border-color:var(--buy)}
.err{font-family:var(--mono);font-size:12px;color:var(--hold);padding:14px 20px}
