/* Shared UltraLongevity Study chart styles */
.ultra-study{display:grid;gap:14px}.u-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.u-title{font-size:18px;font-weight:850;letter-spacing:-.015em}.u-enter{border:1px solid rgba(246,220,154,.28);background:rgba(246,220,154,.075);color:#f6dc9a;border-radius:999px;padding:9px 13px;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap}.u-card{border:1px solid rgba(255,255,255,.095);background:linear-gradient(180deg,rgba(13,20,36,.84),rgba(6,10,20,.88));border-radius:22px;padding:17px;box-shadow:0 18px 60px rgba(0,0,0,.23);overflow:hidden}.u-card.primary{padding-bottom:14px}.u-card.secondary{padding-top:15px}.u-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.u-card-head>span{font-family:var(--hub-mono, "IBM Plex Mono", monospace);font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:rgba(246,220,154,.92);font-weight:800}.u-legend{display:flex;gap:11px;flex-wrap:wrap;justify-content:flex-end;color:rgba(232,238,250,.72);font-size:12px}.u-legend span{display:inline-flex;align-items:center;gap:6px}.u-legend i{width:8px;height:8px;border-radius:999px;display:inline-block}.u-chart{width:100%;display:block;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:radial-gradient(circle at 24% 5%,rgba(246,220,154,.045),transparent 24%),rgba(2,7,15,.42)}.u-grid{stroke:rgba(255,255,255,.07)}.u-v{stroke:rgba(255,255,255,.04);stroke-dasharray:3 5}.u-y,.u-x{fill:rgba(232,238,250,.58);font-size:12px;font-family:var(--hub-mono, "IBM Plex Mono", monospace)}.u-line{filter:drop-shadow(0 0 6px rgba(246,220,154,.09))}.u-dot:not(.projected){filter:url(#tr-ultra-glow)}.u-habits{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.u-habit{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:999px;padding:7px 10px;color:#e8eefa;font-size:12px}.u-habit b{font-family:var(--hub-mono, "IBM Plex Mono", monospace);font-size:11px}.u-habit.good{border-color:rgba(134,216,192,.26);background:rgba(134,216,192,.075)}.u-habit.good b{color:#86d8c0}.u-habit.warn{border-color:rgba(230,130,96,.26);background:rgba(230,130,96,.075)}.u-habit.warn b{color:#e68260}.u-habit.flat b{color:rgba(232,238,250,.55)}.u-foot{color:rgba(232,238,250,.62);font-size:12px;line-height:1.45}@media(max-width:760px){.u-head,.u-card-head{align-items:flex-start;flex-direction:column}.u-enter{align-self:flex-start}.u-legend{justify-content:flex-start}.u-card{padding:13px;border-radius:18px}.u-chart{height:auto;min-height:180px}.u-habits{gap:6px}.u-habit{font-size:11px;padding:6px 8px}}

/* v2 Interval Action Bands */
.u-line.projected{filter:none}.u-x.projected{fill:rgba(246,220,154,.68)}.u-v.projected{stroke:rgba(246,220,154,.1);stroke-dasharray:2 8}.u-dot.projected{filter:none}
.u-interval-stage{margin-top:14px}.u-band-master-toggle{position:absolute;opacity:0;pointer-events:none}.u-interval-grid{display:grid;gap:10px;align-items:start}.u-interval-band{position:relative;min-width:0;border:1px solid rgba(134,216,192,.22);background:linear-gradient(180deg,rgba(134,216,192,.105),rgba(134,216,192,.045));border-radius:16px;padding:10px 10px 26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.u-interval-band.objectives{border-color:rgba(230,130,96,.34);background:linear-gradient(180deg,rgba(230,130,96,.14),rgba(246,220,154,.05))}.u-interval-band.projected{box-shadow:0 0 0 1px rgba(230,130,96,.04), inset 0 1px 0 rgba(255,255,255,.06)}.u-band-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.u-band-top>span{font-family:var(--hub-mono,"IBM Plex Mono",monospace);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(232,238,250,.84);font-weight:850}.u-interval-band.objectives .u-band-top>span{color:#f6dc9a}.u-band-review{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);color:rgba(232,238,250,.82);text-decoration:none;font-size:13px;font-weight:900}.u-band-review:hover{border-color:rgba(246,220,154,.34);color:#f6dc9a}.u-band-period{margin-top:3px;font-size:11px;color:rgba(232,238,250,.54);font-family:var(--hub-mono,"IBM Plex Mono",monospace)}.u-band-items{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.u-band-item{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.035);padding:5px 8px;color:rgba(232,238,250,.86);font-size:11px;line-height:1.15}.u-band-item.compact span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-band-item b{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:999px;font-size:12px;line-height:1;font-family:var(--hub-mono,"IBM Plex Mono",monospace);font-weight:950}.u-band-item.positive{border-color:rgba(134,216,192,.24);background:rgba(134,216,192,.075)}.u-band-item.positive b{color:#86d8c0;background:rgba(134,216,192,.13)}.u-band-item.negative{border-color:rgba(230,130,96,.25);background:rgba(230,130,96,.075)}.u-band-item.negative b{color:#e68260;background:rgba(230,130,96,.13)}.u-band-item.neutral{border-color:rgba(232,238,250,.11);background:rgba(232,238,250,.035)}.u-band-item.neutral b{color:rgba(232,238,250,.58);background:rgba(232,238,250,.08)}.u-band-more{display:inline-flex;align-items:center;border:1px dashed rgba(232,238,250,.16);border-radius:999px;padding:5px 8px;color:rgba(232,238,250,.55);font-size:11px}.u-band-expanded{display:none;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.075)}.u-band-expanded-title{font-family:var(--hub-mono,"IBM Plex Mono",monospace);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(232,238,250,.48);font-weight:850;margin-bottom:7px}.u-band-maintained{display:flex;flex-wrap:wrap;gap:6px}.u-band-empty{font-size:11px;color:rgba(232,238,250,.46)}.u-band-toggle{position:absolute;left:50%;bottom:4px;transform:translateX(-50%);display:grid;place-items:center;width:26px;height:18px;border-radius:999px;color:rgba(232,238,250,.52);cursor:pointer;font-size:14px;line-height:1}.u-band-toggle:hover{color:#f6dc9a;background:rgba(255,255,255,.04)}.u-band-toggle .up{display:none}.u-band-master-toggle:checked + .u-interval-grid .u-band-expanded{display:block}.u-band-master-toggle:checked + .u-interval-grid .u-band-toggle .down{display:none}.u-band-master-toggle:checked + .u-interval-grid .u-band-toggle .up{display:inline}
@media(max-width:760px){.u-interval-grid{display:flex!important;overflow-x:auto;padding-bottom:2px}.u-interval-band{min-width:235px}.u-band-item{font-size:10.5px}.u-band-review{width:22px;height:22px}}

/* v6 — chart naming, right-side legends, expand/share affordance */
.u-card-head{justify-content:space-between;align-items:center}.u-card-head>span{max-width:calc(100% - 42px);line-height:1.35}.u-chart-layout{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:16px;align-items:start}.u-chart-wrap{min-width:0}.u-chart-layout .u-legend{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-width:148px;padding:10px 8px 0 0}.u-chart-layout .u-legend span{white-space:nowrap}.u-chart{min-height:220px}.u-card.secondary .u-chart{min-height:185px}.u-expand-toggle{position:absolute;opacity:0;pointer-events:none}.u-expand-btn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:rgba(232,238,250,.72);font-size:14px;cursor:pointer}.u-expand-btn:hover{border-color:rgba(246,220,154,.34);color:#f6dc9a;background:rgba(246,220,154,.06)}.u-expand-modal{display:none;position:fixed;inset:0;z-index:300;background:rgba(2,5,12,.78);backdrop-filter:blur(8px);padding:32px}.u-expand-toggle:checked + .u-expand-btn + .u-expand-modal{display:grid;place-items:center}.u-expand-card{width:min(1180px,96vw);border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(180deg,rgba(13,20,36,.98),rgba(6,10,20,.98));padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.48)}.u-expand-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.u-expand-head strong{font-size:18px;letter-spacing:-.02em}.u-expand-head>div{display:flex;gap:8px;align-items:center}.u-share-btn,.u-close{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:rgba(232,238,250,.86);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;cursor:pointer}.u-close{display:grid;place-items:center;width:34px;height:34px;padding:0;font-size:20px;line-height:1}.u-share-btn:hover,.u-close:hover{border-color:rgba(246,220,154,.34);color:#f6dc9a}.u-band-expanded-title{color:rgba(134,216,192,.74)}.u-band-review{position:relative}.u-band-review:hover:after{content:'Open review ↗';position:absolute;right:0;bottom:130%;width:max-content;max-width:180px;padding:7px 9px;border-radius:10px;background:rgba(3,7,14,.98);border:1px solid rgba(255,255,255,.14);color:#edf2ff;font-size:11px;font-weight:700;box-shadow:0 14px 38px rgba(0,0,0,.42)}
@media(max-width:860px){.u-chart-layout{grid-template-columns:1fr}.u-chart-layout .u-legend{flex-direction:row;flex-wrap:wrap;min-width:0;padding:0}.u-expand-modal{padding:14px}.u-expand-card{padding:12px}}


/* v11 — fixed spacing, 0–100 score scale and 6-point scroll behavior */
.u-chart-layout{
  align-items:start;
}
.u-chart-wrap{
  min-width:0;
  max-width:100%;
}
.u-chart-scroll{
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:2px;
  scrollbar-width:thin;
  scrollbar-color:rgba(246,220,154,.30) rgba(255,255,255,.04);
}
.u-chart-scroll::-webkit-scrollbar{height:8px}
.u-chart-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:999px}
.u-chart-scroll::-webkit-scrollbar-thumb{background:rgba(246,220,154,.28);border-radius:999px}
.u-chart-scroll:not(.is-scrollable)::-webkit-scrollbar{display:none}
.u-chart-inner{
  width:max-content;
  max-width:none;
}
.u-chart{
  width:auto;
  max-width:none;
  min-height:0;
}
.u-card.primary .u-chart{min-height:0}
.u-card.secondary .u-chart{min-height:0}
.u-interval-stage{
  width:max-content;
  max-width:none;
  margin-top:14px;
}
.u-interval-grid{
  display:grid!important;
  overflow:visible!important;
  gap:10px;
  align-items:start;
  box-sizing:border-box;
}
.u-interval-band{
  box-sizing:border-box;
  min-width:0;
}
.u-x{
  dominant-baseline:hanging;
}
@media(max-width:760px){
  .u-interval-grid{display:grid!important;overflow:visible!important;padding-bottom:0!important}
  .u-interval-band{min-width:0}
}


/* v12 — full chart canvas, clearer progress note, safer x-axis labels */
.u-progress-note{
  color:#f3f6ff;
  font-weight:850;
}
.u-card-head>span{
  color:rgba(246,220,154,.92);
}
.u-chart{
  min-height:0 !important;
}
.u-chart-scroll{
  padding-bottom:8px;
}
.u-chart-layout{
  grid-template-columns:minmax(0,1fr) max-content;
}
.u-chart-wrap{
  width:100%;
}
.u-chart-inner{
  min-width:0;
}
.u-chart-scroll:not(.is-scrollable) .u-chart-inner{
  width:max-content;
}
.u-x{
  dominant-baseline:auto;
}
.u-expand-head strong .u-progress-note{color:#f3f6ff}
@media(max-width:860px){
  .u-chart-scroll:not(.is-scrollable) .u-chart-inner{width:max-content}
}
