/* ==== Hatchery dark theme — golaunchme layout, dark palette, green accent ==== */
.dark,:root{
  --background:0 0% 3.5%;--background-hover:0 0% 10%;
  --foreground:0 0% 90%;--foreground-hover:0 0% 100%;
  --primary:0 0% 97%;--primary-hover:0 0% 100%;
  --secondary:0 0% 58%;--secondary-hover:0 0% 72%;
  --card:0 0% 6.5%;--border:0 0% 13%;--input:0 0% 40%;--field:0 0% 5%;
  --accent:152 98% 45%;--accent-hover:152 98% 55%;
  --success:152 98% 45%;--money:152 98% 45%;--error:0 72% 62%;--warning:45 93% 58%;
  --scroll-thumb-color:0 0% 16%;--scroll-track-color:0 0% 3.5%;
  --hx-green:152 98% 45%;--hx-leaf:152 70% 72%;--hx-forest:152 45% 9%;--hx-glow:152 98% 45%;
  color-scheme:dark;
}
html,body{background:hsl(var(--background));color:hsl(var(--foreground))}
::selection{background:hsl(var(--hx-green)/.35);color:#fff}
a.bg-primary,button.bg-primary{background:hsl(var(--hx-green));color:hsl(0 0% 3%)}
a.bg-primary:hover,button.bg-primary:hover{background:hsl(var(--accent-hover))}
.text-background{color:hsl(0 0% 3%)}
svg[aria-label]{color:hsl(var(--hx-green))}
header nav a svg[aria-label],[data-sidenav-rail] a[aria-label$="home"] svg{color:hsl(var(--hx-green))}
[data-sidenav-account] svg[aria-label]{color:hsl(var(--hx-green))}
.bar-solid{background:hsl(var(--background)/.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

/* rail toggle (desktop) */
.hx-rail-toggle{position:absolute;top:50%;left:100%;z-index:61;display:none;width:28px;height:28px;align-items:center;justify-content:center;border-radius:9999px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--secondary));transform:translate(-50%,-50%);cursor:pointer}
.hx-rail-toggle:hover{color:hsl(var(--primary))}
@media(min-width:80rem){
 .hx-rail-toggle{display:inline-flex}
 .hx-rail-collapsed [data-sidenav-rail],.hx-rail-collapsed [data-sidenav-panel]{width:5rem!important}
 .hx-rail-collapsed [data-sidenav-label],.hx-rail-collapsed [data-sidenav-account]>span:not(:first-child){display:none!important}
 .hx-rail-collapsed .hx-rail-toggle svg{transform:rotate(180deg)}
}
/* mobile drawer */
.hx-drawer{position:fixed;inset:64px 0 0 0;z-index:70;background:hsl(var(--background)/.98);backdrop-filter:blur(10px)}
.hx-drawer nav{display:flex;flex-direction:column;padding:12px 16px}
.hx-drawer a{padding:14px 8px;font-size:20px;color:hsl(var(--primary));border-bottom:1px solid hsl(var(--border))}
/* typeahead */
.hx-typeahead{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;overflow:hidden;border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));box-shadow:0 20px 60px rgba(0,0,0,.5)}
.hx-typeahead a{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:13px;color:hsl(var(--primary));text-decoration:none}
.hx-typeahead a:hover{background:hsl(var(--background-hover))}
.hx-typeahead a img{width:24px;height:24px;border-radius:9999px;object-fit:cover}
.hx-typeahead a span{color:hsl(var(--secondary));font-size:12px}
/* live dot */
.hx-live{display:none;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:9999px;font-size:12px;color:hsl(var(--secondary));white-space:nowrap}
@media(min-width:64rem){.hx-live{display:inline-flex}}
.hx-live i{width:7px;height:7px;border-radius:9999px;background:hsl(var(--secondary)/.5)}
.hx-live.is-on i{background:hsl(var(--hx-green));box-shadow:0 0 0 3px hsl(var(--hx-green)/.2);animation:hxPulse 2s ease-in-out infinite}
@keyframes hxPulse{0%,100%{box-shadow:0 0 0 3px hsl(var(--hx-green)/.2)}50%{box-shadow:0 0 0 6px hsl(var(--hx-green)/.08)}}

/* hero */
.hx-hero{box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 30px 80px rgba(0,0,0,.45)}
.hx-hero-h1{font-size:2.25rem;line-height:1.05;letter-spacing:-.03em;font-weight:500;color:hsl(var(--primary));text-wrap:balance;max-width:16ch}
@media(min-width:640px){.hx-hero-h1{font-size:3.25rem}}
@media(min-width:1024px){.hx-hero-h1{font-size:3.9rem}}
.hx-kicker{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--hx-green))}
.hx-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.hx-hero-stats{display:grid;gap:14px 24px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px;padding-top:22px;border-top:1px solid hsl(var(--border))}
@media(min-width:640px){.hx-hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hx-hero-stats>div{display:flex;flex-direction:column;gap:2px;font-size:12px;color:hsl(var(--secondary))}
.hx-hero-num{font-size:1.6rem;line-height:1.1;font-weight:500;letter-spacing:-.02em;color:hsl(var(--primary))}
/* buttons */
.hx-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:9999px;font-size:14px;font-weight:500;background:hsl(var(--hx-green));color:hsl(0 0% 3%);text-decoration:none;white-space:nowrap;transition:background-color .15s}
.hx-btn:hover{background:hsl(var(--accent-hover))}
.hx-btn-ghost{background:transparent;color:hsl(var(--primary));border:1px solid hsl(var(--primary)/.14)}
.hx-btn-ghost:hover{background:hsl(var(--card))}
/* panels + layout */
.hx-mt{margin-top:18px}
.hx-muted{font-size:13px;color:hsl(var(--secondary))}
.hx-mono{font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
.hx-panel{display:flex;flex-direction:column;gap:16px;min-width:0}
.hx-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.hx-panel-head h2{font-size:1.4rem;letter-spacing:-.025em;font-weight:500;color:hsl(var(--primary));font-family:var(--font-chirp-num),var(--font-universal-display),ui-sans-serif,system-ui,sans-serif}
.hx-panel-head a{font-size:14px;color:hsl(var(--secondary));text-decoration:none}.hx-panel-head a:hover{color:hsl(var(--primary))}
.hx-cols{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){.hx-cols{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
/* stats */
.hx-stats{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1024px){.hx-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hx-stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hx-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:640px){.hx-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hx-stat{display:flex;flex-direction:column;gap:6px;min-height:118px;padding:20px;border:1px solid hsl(var(--primary)/.08);border-radius:16px;background:hsl(var(--card))}
.hx-stat-sm{min-height:0;padding:14px 16px;gap:4px}
.hx-stat-label{font-size:13px;color:hsl(var(--secondary))}
.hx-stat-value{font-size:1.75rem;line-height:1.1;font-weight:500;letter-spacing:-.02em;color:hsl(var(--primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-stat-sm .hx-stat-value{font-size:1.2rem}
.hx-stat-sub{font-size:12px;color:hsl(var(--primary)/.4)}
/* steps */
.hx-steps{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.hx-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hx-step{display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid hsl(var(--primary)/.08);border-radius:16px;background:hsl(var(--card))}
.hx-step-n{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;font-size:14px;font-weight:600;background:hsl(var(--hx-green)/.16);color:hsl(var(--hx-green))}
.hx-step h3{font-size:17px;font-weight:500;color:hsl(var(--primary))}
.hx-step p{font-size:14px;line-height:1.55;color:hsl(var(--secondary))}
/* empty */
.hx-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;padding:40px 24px;text-align:center;border:1px dashed hsl(var(--primary)/.16);border-radius:16px;background:hsl(var(--card))}
.hx-empty-mark{width:44px;height:44px;border-radius:9999px;background:hsl(var(--hx-green)/.18);position:relative;margin-bottom:6px}
.hx-empty-mark:after{content:"";position:absolute;inset:13px;border-radius:9999px;background:hsl(var(--hx-green))}
.hx-empty-title{font-size:16px;font-weight:500;color:hsl(var(--primary))}
.hx-empty-text{max-width:28rem;font-size:14px;line-height:1.55;color:hsl(var(--secondary))}
/* chips */
.hx-chips{display:flex;flex-wrap:wrap;gap:6px}
.hx-chip{height:32px;padding:0 14px;border-radius:9999px;border:1px solid hsl(var(--border));background:transparent;color:hsl(var(--secondary));font-size:13px;cursor:pointer;transition:all .15s}
.hx-chip:hover{color:hsl(var(--primary));border-color:hsl(var(--primary)/.3)}
.hx-chip.is-on{background:hsl(var(--primary));color:hsl(0 0% 3%);border-color:hsl(var(--primary))}
/* rows (launch list) */
.hx-rows{display:flex;flex-direction:column;border:1px solid hsl(var(--primary)/.08);border-radius:16px;background:hsl(var(--card));overflow:hidden}
.hx-row{display:grid;grid-template-columns:44px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:14px;height:68px;padding:0 16px;border-top:1px solid hsl(var(--border));color:inherit;text-decoration:none;transition:background-color .12s}
.hx-row:first-child{border-top:0}
a.hx-row:hover{background:hsl(var(--background-hover)/.6)}
.hx-row-img{width:44px;height:44px;border-radius:9999px;background:hsl(var(--primary)/.06);object-fit:cover;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:hsl(var(--hx-green))}
.hx-row-img img{width:100%;height:100%;object-fit:cover}
.hx-row-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.hx-row-name b{font-size:14px;font-weight:600;color:hsl(var(--primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-row-name span{font-size:12px;color:hsl(var(--secondary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-cell{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;color:hsl(var(--primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-cell small{font-size:11px;color:hsl(var(--secondary))}
.hx-row-head{height:38px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--primary)/.4);background:hsl(var(--background)/.4)}
.hx-row-head .hx-cell{font-size:11px;color:inherit}
@media(max-width:800px){.hx-row{grid-template-columns:44px minmax(0,1.6fr) minmax(0,1fr)}.hx-row>.hx-hide-sm{display:none}}
.hx-rows.hx-rows-3 .hx-row{grid-template-columns:44px minmax(0,1.6fr) minmax(0,1fr)}
.hx-rows.hx-rows-plain .hx-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
@media(max-width:800px){.hx-rows.hx-rows-plain .hx-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
/* agent state pill */
.hx-agent-state{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:9999px;font-size:12px;font-weight:500;background:hsl(var(--primary)/.08);color:hsl(var(--secondary));white-space:nowrap}
.hx-agent-state:before{content:"";width:6px;height:6px;border-radius:9999px;background:currentColor}
.hx-agent-state.is-working{background:hsl(var(--hx-green)/.14);color:hsl(var(--hx-green))}
.hx-agent-state.is-working:before{animation:hxBlink 1.2s ease-in-out infinite}
.hx-agent-state.is-idle{background:hsl(var(--warning)/.12);color:hsl(var(--warning))}
.hx-agent-state.is-stopped,.hx-agent-state.is-dead{background:hsl(var(--error)/.12);color:hsl(var(--error))}
.hx-agent-state.is-live{background:hsl(var(--hx-green)/.14);color:hsl(var(--hx-green))}
.hx-agent-state.is-migrated{background:hsl(214 60% 60%/.14);color:hsl(214 70% 70%)}
@keyframes hxBlink{0%,100%{opacity:1}50%{opacity:.25}}
/* agent cards */
.hx-agents{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.hx-agents.hx-agents-full{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.hx-agent{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid hsl(var(--primary)/.08);border-radius:16px;background:hsl(var(--card));color:inherit;text-decoration:none;transition:border-color .15s}
a.hx-agent:hover{border-color:hsl(var(--hx-green)/.4)}
.hx-agent-top{display:flex;align-items:center;gap:12px}
.hx-agent-top .hx-row-img{width:36px;height:36px}
.hx-agent-top .hx-row-name{flex:1}
.hx-agent-last{font-size:13px;line-height:1.5;color:hsl(var(--secondary));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.hx-agent-last b{color:hsl(var(--primary));font-weight:500}
/* progress */
.hx-prog{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.hx-prog-bar{height:8px;border-radius:9999px;background:hsl(var(--primary)/.08);overflow:hidden}
.hx-prog-bar i{display:block;height:100%;min-width:4px;border-radius:9999px;background:hsl(var(--hx-green));transition:width .4s}
.hx-prog-nums{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;font-size:13px;color:hsl(var(--secondary))}
.hx-prog-nums b{color:hsl(var(--primary));font-weight:500}
/* feed */
.hx-feed{display:flex;flex-direction:column;border:1px solid hsl(var(--primary)/.08);border-radius:16px;background:hsl(var(--card));overflow:hidden}
.hx-feed-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border-top:1px solid hsl(var(--border));text-decoration:none;color:inherit}
.hx-feed-item:first-child{border-top:0}
a.hx-feed-item:hover{background:hsl(var(--background-hover)/.6)}
.hx-feed-kind{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;background:hsl(var(--hx-green)/.12);color:hsl(var(--hx-green));font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.hx-feed-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.hx-feed-body b{font-size:14px;font-weight:500;color:hsl(var(--primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-feed-body span{font-size:12px;color:hsl(var(--secondary));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hx-feed-cost{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;color:hsl(var(--secondary));white-space:nowrap}
.hx-feed-cost b{color:hsl(var(--primary));font-weight:500;font-size:13px}
/* forms (preset display) */
.hx-form{display:flex;flex-direction:column;gap:14px}
.hx-field{display:flex;flex-direction:column;gap:6px}
.hx-field label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--primary)/.45)}
.hx-value{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--field));font-size:14px;color:hsl(var(--primary))}
.hx-value-multi{align-items:flex-start;min-height:88px;line-height:1.5;white-space:pre-wrap}
.hx-value-img img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.hx-help{font-size:12px;line-height:1.5;color:hsl(var(--secondary))}
.hx-help a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}
.hx-badge{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:9999px;border:1px solid hsl(var(--border));font-size:12px;color:hsl(var(--secondary))}
.hx-preview{display:flex;flex-direction:column;gap:14px;padding:24px;border-top:1px solid hsl(var(--border));background:hsl(var(--background)/.5)}
@media(min-width:1024px){.hx-preview{border-top:0;border-left:1px solid hsl(var(--border));padding:36px 32px}}
.hx-preview-card{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid hsl(var(--primary)/.1);border-radius:16px;background:hsl(var(--card))}
.hx-preview-top{display:flex;align-items:center;gap:12px}
.hx-preview-top img{width:44px;height:44px;border-radius:9999px;object-fit:cover}
.hx-preview-coin{display:flex;flex-direction:column}.hx-preview-coin b{font-size:15px;color:hsl(var(--primary))}.hx-preview-coin span{font-size:12px;color:hsl(var(--secondary))}
.hx-preview-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:hsl(var(--secondary))}
.hx-preview-row span:last-child{color:hsl(var(--primary))}
/* prose */
.hx-prose{display:flex;flex-direction:column;gap:14px;font-size:15px;line-height:1.65;color:hsl(var(--secondary))}
.hx-prose p b,.hx-prose li b{color:hsl(var(--primary));font-weight:500}
.hx-prose a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:3px}
.hx-prose h2{margin-top:18px;font-size:1.35rem;letter-spacing:-.02em;font-weight:500;color:hsl(var(--primary));scroll-margin-top:84px}
.hx-docs h2:first-child{margin-top:0}
.hx-kv{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}
.hx-kv>div{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid hsl(var(--primary)/.08);border-radius:12px;background:hsl(var(--card))}
.hx-kv span{font-size:12px;color:hsl(var(--secondary))}.hx-kv b{font-size:14px;font-weight:500;color:hsl(var(--primary))}
.hx-ol{display:flex;flex-direction:column;gap:12px;counter-reset:n;padding:0;list-style:none}
.hx-ol li{position:relative;padding-left:44px;font-size:14px;line-height:1.55}
.hx-ol li:before{counter-increment:n;content:counter(n);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9999px;font-size:13px;font-weight:600;background:hsl(var(--hx-green)/.16);color:hsl(var(--hx-green))}
.hx-table{width:100%;border-collapse:collapse;font-size:13px}
.hx-table th{text-align:left;padding:8px 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:hsl(var(--primary)/.4);border-bottom:1px solid hsl(var(--border))}
.hx-table td{padding:10px;border-bottom:1px solid hsl(var(--border));vertical-align:top}
.hx-table code{font-family:var(--font-geist-mono),ui-monospace,monospace;font-size:12px;color:hsl(var(--primary))}
/* coin page */
#coin{display:flex;flex-direction:column;gap:28px}
#coin>p:first-child{margin:0 0 -8px}
#coin>p:first-child a{display:inline-flex;align-items:center;height:32px;padding:0 12px;margin-left:-12px;border-radius:9999px;font-size:13px;color:hsl(var(--secondary));text-decoration:none}
#coin>p:first-child a:hover{background:hsl(var(--card));color:hsl(var(--primary))}
.hx-coin{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border:1px solid hsl(var(--primary)/.08);border-radius:24px;background:hsl(var(--card))}
@media(min-width:900px){.hx-coin{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}}
.hx-coin-img{position:relative;min-height:240px;background:hsl(var(--primary)/.05) center/cover no-repeat}
@media(min-width:900px){.hx-coin-img{min-height:380px}}
.hx-coin-img:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,hsl(var(--card)),transparent 55%)}
.hx-coin-body{display:flex;flex-direction:column;gap:14px;min-width:0;padding:28px 24px}
@media(min-width:900px){.hx-coin-body{padding:36px 40px;justify-content:center}}
.hx-coin-line{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;max-width:100%;padding:6px 12px;border:1px solid hsl(var(--primary)/.1);border-radius:9999px;background:hsl(var(--background));font-size:13px;color:hsl(var(--secondary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-coin-line b{font-weight:600;color:hsl(var(--primary))}
.hx-copy{height:20px;padding:0 8px;border-radius:9999px;border:0;background:hsl(var(--primary)/.1);color:hsl(var(--primary));font-size:11px;cursor:pointer}
.hx-coin-title{margin:-6px 0 0;font-size:1.75rem;line-height:1.12;letter-spacing:-.025em;font-weight:500;color:hsl(var(--primary));text-wrap:balance}
@media(min-width:1200px){.hx-coin-title{font-size:2.25rem}}
.hx-coin-by{font-size:14px;color:hsl(var(--secondary))}
.hx-coin-by a{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}
/* responsive guards */
*{min-width:0}
img{max-width:100%}
/* ==== agent console ==== */
.hx-console{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){.hx-console{grid-template-columns:340px minmax(0,1fr);align-items:start}}
.hx-agentcard{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid hsl(var(--primary)/.1);border-radius:20px;background:linear-gradient(180deg,hsl(var(--card)),hsl(var(--background)));box-shadow:0 20px 60px rgba(0,0,0,.35);position:sticky;top:80px}
.hx-agentcard-top{display:flex;gap:14px;align-items:center}
.hx-avatar{position:relative;width:76px;height:76px;flex:none}
.hx-avatar img{width:76px;height:76px;border-radius:9999px;object-fit:cover;background:hsl(var(--primary)/.06)}
.hx-avatar-ring{position:absolute;inset:-4px;border-radius:9999px;border:2px solid hsl(var(--hx-green)/.0);transition:border-color .3s}
.hx-avatar-ring.is-speaking{border-color:hsl(var(--hx-green));animation:hxRing 1.1s ease-in-out infinite}
@keyframes hxRing{0%,100%{box-shadow:0 0 0 0 hsl(var(--hx-green)/.35)}50%{box-shadow:0 0 0 10px hsl(var(--hx-green)/0)}}
.hx-agentcard-id h2{font-size:1.35rem;letter-spacing:-.02em;font-weight:600;color:hsl(var(--primary));line-height:1.1;font-family:var(--font-chirp-num),var(--font-universal-display),ui-sans-serif,system-ui,sans-serif}
.hx-agentcard-tag{font-size:13px;color:hsl(var(--secondary));margin-top:3px}
.hx-agentcard-persona{font-size:13px;line-height:1.55;color:hsl(var(--secondary))}
.hx-agentcard-now{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:hsl(var(--hx-green)/.08);font-size:13px;color:hsl(var(--primary));min-height:40px}
.hx-cooking{display:inline-flex;align-items:flex-end;gap:2px;height:14px;flex:none}
.hx-cooking i{width:3px;height:4px;border-radius:2px;background:hsl(var(--hx-green));animation:hxCook 1s ease-in-out infinite}
.hx-cooking i:nth-child(2){animation-delay:.15s}.hx-cooking i:nth-child(3){animation-delay:.3s}.hx-cooking i:nth-child(4){animation-delay:.45s}
.hx-cooking.is-off i{animation:none;height:4px;opacity:.35}
@keyframes hxCook{0%,100%{height:4px}50%{height:14px}}
.hx-agentcard-ctl{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hx-btn-sm{height:34px;padding:0 14px;font-size:13px;gap:8px}
.hx-wave{display:inline-flex;align-items:center;gap:2px;height:14px}
.hx-wave i{width:2px;height:4px;border-radius:2px;background:currentColor;opacity:.5}
.hx-wave.is-on i{animation:hxWave .8s ease-in-out infinite;opacity:1}
.hx-wave.is-on i:nth-child(2){animation-delay:.1s}.hx-wave.is-on i:nth-child(3){animation-delay:.2s}.hx-wave.is-on i:nth-child(4){animation-delay:.3s}.hx-wave.is-on i:nth-child(5){animation-delay:.4s}
@keyframes hxWave{0%,100%{height:4px}50%{height:14px}}
.hx-btn-sm.is-on{border-color:hsl(var(--hx-green)/.5);color:hsl(var(--hx-green))}
.hx-plan ol{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:0;list-style:none}
.hx-plan li{display:flex;align-items:center;gap:10px;font-size:13px;color:hsl(var(--secondary));padding:5px 0}
.hx-plan li span{width:16px;height:16px;border-radius:9999px;border:1.5px solid hsl(var(--primary)/.25);flex:none;position:relative}
.hx-plan li.is-done{color:hsl(var(--primary)/.55);text-decoration:line-through}
.hx-plan li.is-done span{background:hsl(var(--hx-green));border-color:hsl(var(--hx-green))}
.hx-plan li.is-done span:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hx-plan li.is-todo{color:hsl(var(--secondary))}
.hx-plan li.is-doing{color:hsl(var(--primary))}
.hx-plan li.is-doing span{border-color:hsl(var(--hx-green));box-shadow:0 0 0 3px hsl(var(--hx-green)/.2);animation:hxPulse 1.5s infinite}
.hx-agentcard-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.hx-agentcard-meta div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:10px;background:hsl(var(--primary)/.05)}
.hx-agentcard-meta b{font-size:15px;color:hsl(var(--primary))}.hx-agentcard-meta span{font-size:10px;color:hsl(var(--secondary));text-transform:uppercase;letter-spacing:.05em}
.hx-feedcol{display:flex;flex-direction:column;gap:14px;min-width:0}
.hx-live-inline{display:inline-flex;height:26px;padding:0 10px;font-size:11px}
/* tape */
.hx-tape{display:flex;align-items:center;gap:12px;height:40px;padding:0 14px;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));overflow:hidden}
.hx-tape-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--primary)/.4);flex:none}
.hx-tape-row{display:flex;gap:8px;overflow:hidden;white-space:nowrap;flex:1;mask-image:linear-gradient(to right,#000 85%,transparent)}
.hx-tape-empty{font-size:12px;color:hsl(var(--secondary))}
.hx-tape-item{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:9999px;font-size:12px;font-family:var(--font-geist-mono),ui-monospace,monospace;background:hsl(var(--primary)/.06);color:hsl(var(--primary));animation:hxIn .35s ease-out both}
.hx-tape-item.is-buy{color:hsl(var(--hx-green));background:hsl(var(--hx-green)/.12)}.hx-tape-item.is-sell{color:hsl(var(--error));background:hsl(var(--error)/.12)}
@keyframes hxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* stream */
.hx-stream{display:flex;flex-direction:column;gap:10px}
.hx-msg{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 16px;border:1px solid hsl(var(--primary)/.08);border-radius:16px;background:hsl(var(--card));animation:hxIn .4s ease-out both}
.hx-msg-ava{width:40px;height:40px;border-radius:9999px;object-fit:cover;background:hsl(var(--primary)/.06)}
.hx-msg-kind{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:9999px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:hsl(var(--primary)/.08);color:hsl(var(--secondary))}
.hx-msg-kind.k-trade{background:hsl(var(--hx-green)/.12);color:hsl(var(--hx-green))}.hx-msg-kind.k-sell{background:hsl(var(--error)/.12);color:hsl(var(--error))}
.hx-msg-kind.k-image,.hx-msg-kind.k-art{background:hsl(280 70% 60%/.15);color:hsl(280 80% 75%)}
.hx-msg-kind.k-hello,.hx-msg-kind.k-diary,.hx-msg-kind.k-chapter{background:hsl(45 90% 55%/.14);color:hsl(45 95% 65%)}
.hx-msg-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:hsl(var(--secondary))}
.hx-msg-head b{color:hsl(var(--primary));font-weight:600;font-size:13px}
.hx-msg-title{margin-top:4px;font-size:15px;font-weight:500;color:hsl(var(--primary))}
.hx-msg-text{margin-top:4px;font-size:14px;line-height:1.55;color:hsl(var(--foreground));white-space:pre-wrap;word-break:break-word}
.hx-msg-text.is-typing:after{content:"▍";color:hsl(var(--hx-green));animation:hxBlink .8s infinite}
.hx-msg-foot{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11px;color:hsl(var(--primary)/.4);flex-wrap:wrap}
.hx-msg-img{margin-top:10px;max-width:420px;border-radius:12px;border:1px solid hsl(var(--border))}
.hx-msg-paint{margin-top:10px;height:120px;max-width:420px;border-radius:12px;background:linear-gradient(90deg,hsl(var(--primary)/.05),hsl(var(--primary)/.12),hsl(var(--primary)/.05));background-size:200% 100%;animation:hxShimmer 1.6s linear infinite;display:flex;align-items:center;justify-content:center;font-size:12px;color:hsl(var(--secondary))}
@keyframes hxShimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.hx-play{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:9999px;border:1px solid hsl(var(--hx-green)/.4);background:hsl(var(--hx-green)/.1);color:hsl(var(--hx-green));font-size:12px;cursor:pointer}
.hx-play.is-playing{background:hsl(var(--hx-green));color:#000}
.hx-msg-trades{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.hx-ghost{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;color:hsl(var(--secondary));font-style:italic;animation:hxIn .3s ease-out both}
.hx-ghost.is-error{color:hsl(var(--error))}
.hx-msg-list{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.hx-msg-list div{padding:8px 10px;border-radius:10px;background:hsl(var(--primary)/.05);font-size:13px;color:hsl(var(--foreground))}
.hx-msg-list div b{color:hsl(var(--primary));font-weight:600}
/* built page + gallery */
.hx-built{display:flex;flex-direction:column;gap:14px}
.hx-built h3{font-size:1.1rem;font-weight:500;color:hsl(var(--primary));letter-spacing:-.01em}
.hx-built p{font-size:14px;line-height:1.6;color:hsl(var(--secondary));white-space:pre-wrap}
.hx-built .hx-kv{margin-top:0}
.hx-gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.hx-gallery figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--card))}
.hx-gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.hx-gallery figcaption{padding:8px 10px;font-size:12px;color:hsl(var(--secondary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-gallery .is-pending{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:hsl(var(--secondary));background:linear-gradient(90deg,hsl(var(--primary)/.05),hsl(var(--primary)/.12),hsl(var(--primary)/.05));background-size:200% 100%;animation:hxShimmer 1.6s linear infinite;text-align:center;padding:10px}
/* ==== robots ==== */
.hx-agent-state.is-ready{background:hsl(200 85% 60%/.14);color:hsl(200 90% 70%)}
.hx-agent-state.is-new,.hx-agent-state.is-painting{background:hsl(280 70% 60%/.14);color:hsl(280 80% 76%)}
.hx-agent-state.is-new:before,.hx-agent-state.is-painting:before{animation:hxBlink 1.2s ease-in-out infinite}
.hx-agents.hx-agents-full{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.hx-robot{gap:12px}
.hx-robot .hx-face{width:52px;height:52px;border-radius:14px;background:hsl(var(--primary)/.06)}
.hx-robot .hx-face img{border-radius:14px}
.hx-face-xs{width:20px!important;height:20px!important;border-radius:6px!important;font-size:9px!important;flex:none}
.hx-by{display:inline-flex;align-items:center;gap:6px}
.hx-agent-coin{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:hsl(var(--background)/.6);border:1px solid hsl(var(--border))}
.hx-agent-coin img,.hx-agent-coin i{width:40px;height:40px;border-radius:9999px;object-fit:cover;flex:none;background:hsl(var(--primary)/.06)}
.hx-agent-coin.is-empty i{background:linear-gradient(90deg,hsl(var(--primary)/.05),hsl(var(--primary)/.14),hsl(var(--primary)/.05));background-size:200% 100%;animation:hxShimmer 1.6s linear infinite}
.hx-agent-coin div{display:flex;flex-direction:column;min-width:0}
.hx-agent-coin b{font-size:14px;font-weight:600;color:hsl(var(--primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-agent-coin span{font-size:12px;color:hsl(var(--secondary))}
.hx-robot .hx-agent-last{min-height:1.5em;-webkit-line-clamp:1}
.hx-coin-desc{font-size:15px;line-height:1.55;color:hsl(var(--foreground));max-width:46ch}
.hx-coin-by b{color:hsl(var(--primary));font-weight:600}
.hx-avatar img{border-radius:20px}.hx-avatar-ring{border-radius:24px}
.hx-msg-ava{border-radius:12px}
.hx-msg-kind.k-invent,.hx-msg-kind.k-ready{background:hsl(200 85% 60%/.14);color:hsl(200 90% 70%)}

.hx-more{align-self:center;margin-top:8px}

/* ==== chart ==== */
.hx-chart{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid hsl(var(--primary)/.08);border-radius:20px;background:hsl(var(--card))}
.hx-chart-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}
.hx-chart-title{display:flex;align-items:baseline;gap:10px}
.hx-chart-title h2{font-size:1.4rem;letter-spacing:-.025em;font-weight:500;color:hsl(var(--primary));font-family:var(--font-chirp-num),var(--font-universal-display),ui-sans-serif,system-ui,sans-serif}
.hx-chart-nums{display:grid;grid-template-columns:repeat(4,auto);gap:6px 22px}
.hx-chart-nums div{display:flex;flex-direction:column;gap:2px;min-width:74px}
.hx-chart-nums span{font-size:11px;color:hsl(var(--secondary))}
.hx-chart-nums b{font-size:15px;font-weight:500;color:hsl(var(--primary));white-space:nowrap}
@media(max-width:640px){.hx-chart-nums{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}
.hx-chart-box{position:relative;height:380px}
@media(max-width:640px){.hx-chart-box{height:280px}}
.hx-chart-canvas{position:absolute;inset:0}
.hx-chart-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;font-size:14px;color:hsl(var(--secondary));border:1px dashed hsl(var(--primary)/.14);border-radius:14px;background:hsl(var(--card))}
