/* Homepage (/) — agent A. Uses ct.css tokens only. Portfolio first, then stock + prediction previews. */
main:has(.hm){padding-top:var(--ct-s4)}
.hm h1,.hm h2,.hm h3{font-family:var(--ct-font-ui)}
.hm p{max-width:none}

/* heading row */
.hm-pf-head{display:flex;align-items:center;gap:var(--ct-s3);flex-wrap:wrap;margin-bottom:var(--ct-s5)}
.hm-pf-head h1{font:600 var(--ct-fs-xl)/1.2 var(--ct-font-ui);letter-spacing:-.01em;margin:0;max-width:none}
.hm-pf-all{margin-left:auto}

/* metrics */
.hm-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 var(--ct-s5);border-top:1px solid var(--ct-border);border-bottom:1px solid var(--ct-border)}
.hm-metrics .ct-metric{padding:var(--ct-s3) var(--ct-s5) var(--ct-s3) 0}
.hm-metrics .ct-metric+.ct-metric{padding-left:var(--ct-s5);border-left:1px solid var(--ct-hairline)}
.hm-metrics dd{font-size:28px}
.hm-metrics small{min-height:1.2em}

/* overview grid: chart + allocation */
.hm-overview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--ct-s4);align-items:stretch}
.hm-chart{margin:0;padding:var(--ct-s4) var(--ct-s4) var(--ct-s3);min-width:0;display:flex;flex-direction:column}
.hm-chart-head{display:flex;align-items:center;justify-content:space-between;gap:var(--ct-s3);flex-wrap:wrap;margin-bottom:var(--ct-s2)}
.hm-chart figcaption{font-size:13px;color:var(--ct-text-2);display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.hm-key{display:inline-block;width:18px;height:0;border-top:2px solid;vertical-align:middle}
.hm-key--pf{border-color:var(--ct-chart-portfolio);border-top-width:2.5px}
.hm-key--spy{border-color:var(--ct-chart-bench);margin-left:var(--ct-s3)}
.hm-key-note{color:var(--ct-text-3);font-size:12px;margin-left:var(--ct-s2)}
.hm-chart-body{position:relative;flex:1;min-height:340px}
.hm-chart-note{font-size:12px;color:var(--ct-text-3);margin:var(--ct-s2) 0 0}
.hm-skel-chart{position:absolute;inset:8px 0 24px 40px}

/* allocation */
.hm-alloc{padding:var(--ct-s4);min-width:0}
.hm-alloc-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--ct-s3)}
.hm-alloc-head h2{font:600 14px/1.3 var(--ct-font-ui);margin:0;color:var(--ct-text)}
.hm-bar{display:flex;height:10px;gap:2px;border-radius:3px;overflow:hidden;margin-bottom:var(--ct-s3)}
.hm-bar span{display:block;height:100%;background:var(--ct-accent);min-width:2px}
.hm-bar span:nth-child(even){background:#3a9a8f}
.hm-bar .cash{background:var(--ct-surface-3);background-image:repeating-linear-gradient(135deg,transparent 0 3px,rgba(255,255,255,.08) 3px 5px)}
.hm-alist{list-style:none;margin:0;padding:0}
.hm-alist li{display:grid;grid-template-columns:52px minmax(0,1fr) 46px;align-items:center;gap:8px;min-height:27px;font-size:13px}
.hm-alist a{font-weight:600;color:var(--ct-text)}
.hm-alist a:hover{color:var(--ct-accent-strong)}
.hm-alist .w{height:4px;background:var(--ct-surface-3);border-radius:2px;overflow:hidden}
.hm-alist .w i{display:block;height:100%;background:var(--ct-accent);opacity:.75;border-radius:2px}
.hm-alist .cash .w i{background:var(--ct-text-4)}
.hm-alist .p{text-align:right;color:var(--ct-text-2);font-variant-numeric:tabular-nums}
.hm-alist .cash span:first-child{color:var(--ct-text-2)}
.hm-alloc-note{font-size:12px;color:var(--ct-text-3);margin:var(--ct-s3) 0 0}
.hm-skel-bar{height:10px;margin-bottom:var(--ct-s3)}
.hm-skel-row{height:16px;margin:0 0 11px}

/* holdings + activity */
.hm-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--ct-s8)}
.hm-two .ct-section-head{margin-bottom:var(--ct-s3)}
.hm-skel-table{height:300px;border-radius:var(--ct-r-lg)}
.hm-hold td,.hm-act td{padding-top:8px;padding-bottom:8px}
.hm-act .act{font-weight:600;font-size:12px;letter-spacing:.02em}
.hm-act .act--buy{color:var(--ct-pos)}.hm-act .act--sell{color:var(--ct-neg)}
.hm-act td:first-child{color:var(--ct-text-3);white-space:nowrap}

/* explorer + predictions previews */
.hm-sub{margin:6px 0 0;color:var(--ct-text-3);font-size:13.5px;max-width:78ch!important}
.hm-search{display:flex;gap:var(--ct-s2);flex:0 1 380px}
.hm-search .ct-input{flex:1;min-width:0;height:36px}
.hm-search .ct-btn{height:36px}
.hm-co{display:inline-flex;align-items:baseline;gap:10px;color:var(--ct-text)}
.hm-co .tk{min-width:44px}
.hm-co span{color:var(--ct-text-2);font-weight:400}
.hm-co:hover span{color:var(--ct-text)}
.hm-ind{display:block;color:var(--ct-text-3);font-size:12px;margin:2px 0 0 54px;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-px{color:var(--ct-text)}
.hm-pxd{display:block;color:var(--ct-text-3);font-size:11.5px}
.hm-cov{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.hm-cov li{font-size:11.5px;line-height:1;padding:4px 7px;border-radius:var(--ct-r-sm);background:var(--ct-surface-2);border:1px solid var(--ct-border);color:var(--ct-text-2)}
.hm-cov .hm-cov-paper{color:var(--ct-warn);border-color:rgba(220,170,78,.35)}
.hm-call{font-weight:600}
.hm-call--up{color:var(--ct-pos)}.hm-call--down{color:var(--ct-neg)}
.hm-call--up::before{content:"\2191 "}.hm-call--down::before{content:"\2193 "}
.hm-foot-links{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline;font-size:13.5px;margin:var(--ct-s3) 0 0}
.hm-foot-links a:not(.ct-more){color:var(--ct-text-2)}
.hm-foot-links a:not(.ct-more):hover{color:var(--ct-text)}

/* contextual research links */
.hm-context{display:grid;grid-template-columns:1fr 1fr;gap:var(--ct-s8);border-top:1px solid var(--ct-border);padding-top:var(--ct-s6)}
.hm-context ul{list-style:none;margin:var(--ct-s3) 0 0;padding:0;font-size:13.5px}
.hm-context li{padding:6px 0;border-bottom:1px solid var(--ct-hairline)}
.hm-context li:last-child{border-bottom:0}
.hm-snap{font-weight:400;font-size:12.5px;margin-left:6px}
.hm-note{font-size:12.5px;margin:var(--ct-s2) 0 0}

/* error / empty */
.hm-err{display:flex;flex-direction:column;align-items:flex-start;gap:var(--ct-s3)}
.hm-chart-body .hm-err,.hm-chart-body .ct-empty{position:absolute;inset:0;justify-content:center}

@media (max-width:1100px){
  .hm-overview{grid-template-columns:minmax(0,1fr) 260px}
  .hm-two{grid-template-columns:1fr;gap:var(--ct-s10)}
}
@media (max-width:900px){
  .hm-overview{grid-template-columns:1fr}
  .hm-alist{columns:2;column-gap:var(--ct-s6)}
  .hm-alist li{break-inside:avoid}
  .hm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-metrics .ct-metric:nth-child(3){padding-left:0;border-left:0}
  .hm-metrics .ct-metric:nth-child(n+3){border-top:1px solid var(--ct-hairline)}
}
@media (max-width:760px){
  main:has(.hm){padding-top:var(--ct-s4)}
  .hm-pf-head{gap:var(--ct-s2);margin-bottom:var(--ct-s3)}
  .hm-pf-head h1{font-size:19px}
  .hm-pf-all{order:5;margin-left:0}
  .hm-metrics{margin-bottom:var(--ct-s3)}
  .hm-metrics .ct-metric{padding:var(--ct-s2) var(--ct-s3) var(--ct-s2) 0}
  .hm-metrics .ct-metric+.ct-metric{padding-left:var(--ct-s3)}
  .hm-metrics .ct-metric:nth-child(3){padding-left:0}
  .hm-metrics dd{font-size:22px}
  .hm-metrics small{font-size:11.5px}
  .hm-metrics dt{font-size:12px}
  .hm-metrics .hm-sub-sm{display:none}
  .hm-chart-head{gap:var(--ct-s2)}
  .hm-chart{padding:var(--ct-s3) var(--ct-s2) var(--ct-s2)}
  .hm-chart-head{flex-direction:column;align-items:stretch}
  .hm-chart .ct-seg{align-self:flex-start}
  .ct-seg button{min-height:36px}
  .hm-key-note{flex-basis:100%;margin-left:0}
  .hm-chart-body{min-height:240px}
  .hm-alist{columns:1}
  .hm-alist li{min-height:32px}
  .hm-search{flex:1 1 100%}
  .hm-search .ct-input,.hm-search .ct-btn{height:42px}
  .hm-context{grid-template-columns:1fr;gap:var(--ct-s6)}
  .hm .ct-table td,.hm .ct-table th{padding-left:10px;padding-right:10px}
  .hm-co{flex-direction:column;gap:0}
  .hm-co span{font-size:12.5px}
  .hm-foot-links a{min-height:40px;display:inline-flex;align-items:center}
}
.hm-chart-body .hm-err{position:absolute;left:0;right:0;top:50%;bottom:auto;transform:translateY(-50%)}
[data-periods]:not(:has(button)){display:none}
