/* 0xAgent. Layout metrics follow the measured reference: 76px rail, 70px topbar, 10px panel radius,
   type scale 46/28/19/15/13/12, gaps 8/12/16, breakpoints 1150 and 760, easing .12s-.45s ease.
   No colour literals here: every colour comes from tokens.css. */
@font-face{font-family:"Saira SC";src:url(/fonts/saira-semi-condensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Saira SC";src:url(/fonts/saira-semi-condensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/fonts/public-sans-400.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --radius:10px;
  --mono:"Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:"Saira SC","Helvetica Neue",Arial,sans-serif;
  --t-display:46px;--t-figure:28px;--t-title:19px;--t-body:15px;--t-meta:13px;--t-stamp:12px;
  --gutter:24px;
}
*{box-sizing:border-box;margin:0}
html{background:var(--bg);scroll-behavior:smooth}
body{
  background:radial-gradient(900px 500px at 78% -10%,var(--accent-soft),transparent 65%),var(--bg);
  color:var(--text);font-family:var(--mono);font-size:15px;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
}
button{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.app{display:flex;min-height:100vh}
.hole{color:var(--muted)}

/* ---------- rail ---------- */
.sidebar{width:76px;position:fixed;inset:0 auto 0 0;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;z-index:40}
.logo-link{display:grid;place-items:center;width:44px;height:44px;margin:14px 0 18px;line-height:0}
.logo{width:40px;height:40px;border:1px solid var(--accent-glow);border-radius:50%;object-fit:cover;background:var(--surface-2);box-shadow:0 0 22px var(--accent-soft);transition:box-shadow .25s ease,border-color .25s ease}
.logo-link:hover .logo{border-color:var(--accent);box-shadow:0 0 26px var(--accent-glow)}
.nav{width:100%;overflow-y:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{height:54px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);text-decoration:none;border-left:2px solid transparent;transition:.18s ease}
.nav a:hover{color:var(--text-2)}
.nav a.active{color:var(--accent-text);background:linear-gradient(90deg,var(--accent-soft),transparent);border-left-color:var(--accent)}
.nav-icon{width:18px;height:18px}
.nav-label{font:600 12px var(--mono);letter-spacing:.12em}
.sidebar-bottom{margin-top:auto;margin-bottom:14px;width:100%;padding:0 8px;text-align:center}
.vital{margin-bottom:8px}
.vital span{display:block;font:600 12px var(--mono);letter-spacing:.1em;color:var(--muted)}
.vital b{display:block;font:600 12px var(--mono);color:var(--text-2);margin-top:2px;white-space:nowrap}
.theme-btn{margin-top:6px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;display:inline-grid;place-items:center;transition:.18s ease}
.theme-btn:hover{color:var(--accent-text);border-color:var(--accent-glow)}

/* ---------- main / topbar ---------- */
.main{margin-left:76px;width:calc(100% - 76px);padding:0 var(--gutter) 28px;max-width:1800px;min-width:0}
.topbar{min-height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:13px}
.brand{font:700 var(--t-title)/1 var(--display);color:var(--accent-text);letter-spacing:.02em}
.brand-logo{display:none;place-items:center;width:44px;height:44px;flex:none;line-height:0}
.brand-logo img{width:34px;height:34px;border:1px solid var(--accent-glow);border-radius:50%;object-fit:cover;background:var(--surface-2)}
.subtitle{color:var(--muted);font:600 12px var(--mono);letter-spacing:.16em}
.tagline{color:var(--muted);font-family:var(--sans);font-size:13px}
.prices{margin:0 auto;display:flex;gap:12px;align-items:center}
.price-chip{display:flex;align-items:baseline;gap:7px;border:1px solid var(--line);border-radius:5px;padding:6px 12px;background:var(--surface-2)}
.price-chip small{font:700 13px var(--mono);letter-spacing:.1em;color:var(--muted)}
.price-chip b{font:800 19px var(--mono);color:var(--accent-text)}
.price-chip b.hole{color:var(--muted)}
.chain{margin-left:22px;color:var(--muted);font:600 12px var(--mono);letter-spacing:.13em;display:flex;align-items:center;white-space:nowrap}
.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);margin:0 7px}
.live-dot.off{background:var(--muted);box-shadow:none}
.topset{margin-left:18px;display:flex;gap:8px;align-items:center}
.set-chip{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:5px;padding:6px 10px;background:none;color:var(--muted);cursor:pointer;white-space:nowrap;font:700 12px var(--mono);letter-spacing:.11em;transition:background .12s ease,border-color .12s ease,color .12s ease}
.set-chip .sc-v{color:var(--text-2);font-weight:800}
.set-chip:hover{border-color:var(--accent-glow);color:var(--accent-text)}
.socials{display:flex;gap:4px;margin-left:8px;flex:none}
.social{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;color:var(--text-2);text-decoration:none;background:none;transition:background .12s ease,border-color .12s ease,color .12s ease}
.social svg{width:18px;height:18px;display:block}
a.social:hover{border-color:var(--accent-glow);color:var(--accent-text);background:var(--accent-soft)}
.social.inert{color:var(--muted);border-style:dashed;cursor:default;opacity:.75}

/* ---------- contract address slot ---------- */
.ca{margin-top:16px;padding:14px 20px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface),var(--surface-2));box-shadow:var(--shadow);display:flex;align-items:center;gap:20px;transition:border-color .45s ease,box-shadow .45s ease}
.ca[data-state="stated"]{border-color:var(--accent-glow)}
.ca-label{font:700 12px var(--mono);letter-spacing:.19em;color:var(--muted);flex:none}
.ca-value{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:16px;text-align:left;background:none;border:0;padding:0}
button.ca-value{cursor:pointer;min-height:44px;align-items:center}
.ca-text{font:600 var(--t-figure)/1.2 var(--mono);color:var(--accent-text);overflow-wrap:anywhere;word-break:break-all;min-width:0}
.ca-text.hole{color:var(--muted)}
.ca-fb{font:600 12px var(--mono);letter-spacing:.1em;color:var(--muted);flex:none;text-transform:uppercase}
button.ca-value:hover .ca-text{color:var(--text)}
button.ca-value.copied .ca-fb{color:var(--accent-text)}

/* ---------- panels ---------- */
.panel{background:linear-gradient(180deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;transition:border-color .45s ease,box-shadow .45s ease}
.panel.nav-glow{border-color:var(--accent-glow);box-shadow:0 0 0 1px var(--accent-soft),0 0 26px 2px var(--accent-soft),var(--shadow)}
.section-title{color:var(--text-2);font:700 12px var(--mono);letter-spacing:.19em}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.view{color:var(--muted);font:600 12px var(--mono);letter-spacing:.08em}
.small{font:600 12px var(--mono);color:var(--muted)}
.empty{color:var(--muted);font-family:var(--sans);font-size:13px;line-height:1.7;padding:4px 0}
.ws-head{display:flex;align-items:baseline;gap:14px;margin:26px 0 10px;flex-wrap:wrap;scroll-margin-top:16px}
.ws-head h2{font:700 var(--t-title)/1 var(--display);letter-spacing:.04em;color:var(--text)}
.spacer{flex:1}
.tag{font:600 12px var(--mono);letter-spacing:.08em;border:1px solid var(--line);border-radius:3px;padding:1px 6px;color:var(--muted)}
.tag-stated{color:var(--accent-text);border-color:var(--accent-glow)}
.tag-unconfirmed{border-style:dashed;color:var(--text-2)}
time{font-variant-numeric:tabular-nums}

/* ---------- hero ---------- */
.regime-wrap{margin-top:16px;padding:18px 20px;scroll-margin-top:16px}
.regime-row{display:flex;align-items:center;gap:24px}
.regime-main{flex:1;min-width:0}
.regime-label{font:700 12px var(--mono);letter-spacing:.19em;color:var(--muted)}
.regime-name{font:700 var(--t-display)/1.02 var(--display);letter-spacing:-.005em;margin-top:8px;text-wrap:balance}
.regime-text{font-family:var(--sans);font-size:15px;color:var(--text-2);margin-top:7px;max-width:640px;line-height:1.55}
.hero-img{width:190px;height:190px;flex:none;object-fit:contain;filter:drop-shadow(0 0 22px var(--accent-soft))}
.regime-score{font:700 var(--t-display)/1 var(--display);color:var(--accent-text);text-align:right}
.regime-score small{display:block;font:600 12px var(--mono);letter-spacing:.14em;color:var(--muted);margin-top:6px}

/* ---------- strip tiles ---------- */
.pulse{margin-top:16px;padding:16px}
.pulse-head{display:flex;align-items:center;gap:9px;margin-bottom:12px;flex-wrap:wrap}
.pulse-head:before{content:"";width:3px;height:11px;background:var(--accent);border-radius:3px;box-shadow:0 0 10px var(--accent-glow)}
.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.metrics-4{grid-template-columns:repeat(4,1fr)}
.metric{min-height:118px;border:1px solid var(--line);background:var(--surface-2);border-radius:6px;padding:12px 12px 40px;position:relative;overflow:hidden;transition:border-color .2s,transform .2s;min-width:0}
.metric.tall{padding-bottom:14px}
.metric:hover{border-color:var(--muted);transform:translateY(-1px)}
.metric-label{color:var(--muted);font:600 12px var(--mono);letter-spacing:.13em}
.metric-value{font:600 var(--t-figure)/1.15 var(--mono);margin-top:11px;overflow-wrap:anywhere}
.metric-value.sm{font-size:var(--t-title);line-height:1.3}
.metric-sub{font:600 12px var(--mono);color:var(--muted);margin-top:6px}
.spark{position:absolute;left:1px;right:1px;bottom:0;height:34px;opacity:.8}
.w-track{position:absolute;left:0;right:14px;bottom:6px;height:0;border-bottom:1px dotted var(--muted)}
.w-dot{position:absolute;right:8px;bottom:4px;width:5px;height:5px;border-radius:50%;background:var(--accent);animation:w-pulse 1.6s ease-in-out infinite}
@keyframes w-pulse{0%,100%{opacity:.35;box-shadow:none}50%{opacity:1;box-shadow:0 0 8px var(--accent-glow)}}
.copy-inline{display:block;width:100%;min-height:44px;text-align:left;background:none;border:0;padding:0;cursor:pointer;overflow-wrap:anywhere}
.copy-inline:hover .v{color:var(--accent-text)}

/* ---------- reads ---------- */
.mind-wrap{padding:16px;scroll-margin-top:16px}
.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 24px}
.thesis{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.t-head{display:flex;align-items:baseline;gap:12px}
.t-n{color:var(--muted);font-size:13px}
.t-title{letter-spacing:1.5px;font:700 var(--t-title)/1.2 var(--display);flex:1}
.bar{height:4px;background:var(--line-soft);border-radius:4px;overflow:hidden}
.bar.wide{margin:6px 0}
.bar i{display:block;height:100%;width:0;background:var(--accent)}
.t-text{font-family:var(--sans);font-size:15px;color:var(--muted);line-height:1.55}

/* ---------- open calls / agent ---------- */
.grid-top{display:grid;grid-template-columns:1.55fr 1fr;gap:12px;margin-top:12px}
.signals,.agent{min-height:220px;padding:16px}
.signal-empty{min-height:150px;display:flex;align-items:center}
.radar{position:relative;flex:0 0 132px;height:132px;border-radius:50%;opacity:.62;margin-right:16px;background:repeating-radial-gradient(circle,transparent 0 15px,var(--accent-soft) 16px 17px),linear-gradient(90deg,transparent 49.6%,var(--accent-soft) 50%,transparent 50.4%),linear-gradient(transparent 49.6%,var(--accent-soft) 50%,transparent 50.4%)}
.radar:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);left:calc(50% - 3px);top:calc(50% - 3px);box-shadow:0 0 22px 6px var(--accent-glow)}
.empty-copy{max-width:280px;font-family:var(--sans);font-size:13px;line-height:1.7;color:var(--muted)}
.agent-top{display:flex;gap:11px;align-items:center}
.agent-top img{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2)}
.status{color:var(--muted);font:700 12px var(--mono);letter-spacing:.08em}
.status-sub{font:500 12px var(--mono);color:var(--muted);margin-top:3px}
.stages{margin-top:12px;border-top:1px solid var(--line-soft);padding-top:8px}
.stage{display:flex;justify-content:space-between;align-items:baseline;padding:2px 0;font:600 12px var(--mono);letter-spacing:.12em;color:var(--muted);gap:12px}
.stage small{font:500 12px var(--sans);letter-spacing:.02em;color:var(--muted)}

/* ---------- event stream ---------- */
.live{margin-top:12px;padding:14px 16px}
.streaming{color:var(--muted);font:600 12px var(--mono);margin-left:8px;letter-spacing:.08em}
.activity{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:5px;overflow:hidden}
.event{padding:11px;min-height:76px;border-right:1px solid var(--line);background:var(--surface-2);transition:background .18s;min-width:0}
.event:hover{background:var(--surface)}
.event:nth-child(6n){border-right:0}
.event-time{color:var(--muted);font:500 12px var(--mono)}
.event-title{font:700 12px var(--mono);margin-top:7px;letter-spacing:.05em;color:var(--text-2)}
.event-value{color:var(--muted);font:600 12px var(--mono);margin-top:5px;line-height:1.55}

/* ---------- feeds ---------- */
.lower{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tokens-row{display:grid;grid-template-columns:1.9fr 1fr;gap:12px;margin-top:12px}
.card{padding:16px;min-height:285px;min-width:0}
.table-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font:500 13px var(--mono)}
.tbl th{font:700 12px var(--mono);letter-spacing:.12em;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line-soft);color:var(--text-2)}
.tbl th[scope="row"]{font:600 13px var(--sans);letter-spacing:0;color:var(--text-2);border-bottom:1px solid var(--line-soft)}
.empty-row td{text-align:center;padding:48px 10px}
.reports{margin-top:0;padding:16px}

.footer{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font:600 12px var(--mono);letter-spacing:.06em}

/* ---------- responsive ---------- */
@media(max-width:1150px){
  :root{--t-display:36px;--t-figure:26px}
  .grid-top{grid-template-columns:1fr 1fr}
  .lower,.tokens-row{grid-template-columns:1fr}
  .activity{grid-template-columns:repeat(3,1fr)}
  .event:nth-child(6n){border-right:1px solid var(--line)}
  .event:nth-child(3n){border-right:0}
  .modules{grid-template-columns:repeat(2,1fr)}
  .regime-row{gap:16px}
  .tagline,.subtitle{display:none}
}
@media(max-width:760px){
  :root{--t-display:30px;--t-figure:23px;--t-title:17px;--gutter:16px}
  .sidebar{display:none}
  .main{margin-left:0;width:100%}
  .brand-logo{display:grid}
  .topbar{gap:10px}
  .prices,.chain{display:none}
  .topset{margin-left:auto}
  .set-chip .sc-k{display:none}
  .socials{margin-left:0}
  .ca{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px}
  .ca-value{flex-direction:column;align-items:flex-start;gap:6px;width:100%}
  .regime-row{flex-direction:column;align-items:flex-start;gap:14px}
  .regime-score{text-align:left}
  .regime-wrap{padding:16px 14px}
  .hero-img{width:150px;height:150px}
  .metrics,.metrics-4{grid-template-columns:1fr 1fr}
  .modules{grid-template-columns:1fr}
  .grid-top{grid-template-columns:1fr}
  .activity{grid-template-columns:repeat(2,1fr)}
  .event:nth-child(3n){border-right:1px solid var(--line)}
  .event:nth-child(2n){border-right:0}
  .signal-empty{flex-direction:column;align-items:flex-start;gap:12px}
  .radar{margin-right:0}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .w-dot{opacity:1}
}
