body.view-overview{background:var(--paper);}
.overview{
  display:none;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  background:var(--paper);
  padding:0;
}
body.view-overview .overview{display:block;}
body.view-overview .stage{display:none!important;}
.ov-sheet{
  width:min(1080px,100%);
  margin:0 auto;
  padding:28px 36px 64px;
}
.ov-mast{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding-bottom:14px;
  border-bottom:1px solid var(--ink);
}
.ov-kicker{
  margin:0;
  font:11px var(--font-mono);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
}
.ov-when{font:12px var(--font-mono);color:var(--muted);}
.ov-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:8px 40px;
  align-items:end;
  padding:28px 0 32px;
  border-bottom:1px solid var(--line);
}
.ov-score{
  margin:0;
  font-family:var(--font-title);
  font-optical-sizing:auto;
  font-size:clamp(4.6rem,11vw,7.4rem);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:.82;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.ov-score.flash-up{color:var(--go);}
.ov-score.flash-dn{color:var(--accent);}
.ov-score-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:16px;
  font:12px var(--font-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.ov-live{
  width:7px;height:7px;border-radius:50%;
  background:var(--go);
  box-shadow:0 0 0 0 rgb(31 157 85 / .5);
  animation:ov-pulse 1.8s ease-out infinite;
}
@keyframes ov-pulse{
  0%{box-shadow:0 0 0 0 rgb(31 157 85 / .45);}
  70%{box-shadow:0 0 0 8px rgb(31 157 85 / 0);}
  100%{box-shadow:0 0 0 0 rgb(31 157 85 / 0);}
}
.ov-score-meta .today-delta{color:var(--ink);}
.ov-score-meta .today-delta.neg{color:var(--accent);}
.ov-side{display:flex;flex-direction:column;gap:18px;padding-bottom:8px;}
.ov-track{display:flex;flex-direction:column;gap:6px;}
.ov-track button{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  border:0;background:0;padding:0;
  font:11px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;
  color:#c5bfb6;cursor:default;
}
.ov-track button.on{color:var(--ink);}
.ov-track button.on.ALPHA{color:var(--accent);}
.ov-track button i{flex:1;height:1px;background:currentColor;opacity:.35;margin:0 10px;font-style:normal;}
.ov-streak{display:flex;gap:5px;align-items:center;}
.ov-streak b{font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-right:6px;}
.ov-pip{width:8px;height:8px;border-radius:1px;background:#ddd8ce;}
.ov-pip.on{background:var(--ink);}
.ov-pip.hot{background:var(--accent);}
.ov-sec{padding:26px 0 8px;border-bottom:1px solid var(--line);}
.ov-sec:last-child{border-bottom:0;}
.ov-h{
  display:flex;align-items:center;gap:8px;margin:0 0 14px;
  font:11px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.info{
  width:16px;height:16px;border-radius:50%;
  border:1px solid #d8d2c8;background:transparent;
  font:9px var(--font-mono);color:var(--muted);
  cursor:help;padding:0;line-height:1;
}
.info:hover,.info:focus{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.ov-chart{position:relative;}
.ov-chart-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;
}
.ov-chart-kicker{margin:0;font:11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.ov-chart-val{
  margin:4px 0 0;
  font-family:var(--font-title);
  font-size:1.85rem;
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.05;
}
.ov-chart-val small{
  display:inline-block;
  font:12px var(--font-mono);
  color:var(--muted);
  margin-left:10px;
  letter-spacing:.04em;
  font-weight:400;
}
.ov-series{display:flex;gap:2px;flex-shrink:0;}
.ov-series button{
  position:relative;
  border:0;background:0;padding:6px 10px;
  font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);cursor:pointer;
}
.ov-series button.on{color:var(--ink);}
.ov-series button.on::after{
  content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:var(--accent);border-radius:1px;
}
.ov-chart-body{height:auto;}
.ov-days{
  display:grid;
  height:236px;
  user-select:none;
  -webkit-user-select:none;
  touch-action:none;
  cursor:crosshair;
}
.ov-col{
  --h:0;
  --stem:max(8px, calc(var(--h) * 1.48px));
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  height:100%;
  margin:0;padding:0;border:0;background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
}
.ov-glow{
  opacity:0;
  position:absolute;
  left:50%;
  top:4px;
  bottom:30px;
  width:44px;
  margin-left:-22px;
  border-radius:22px;
  background:linear-gradient(to top, rgb(17 17 17 / .08), transparent);
  pointer-events:none;
  z-index:0;
}
.ov-col.is-on .ov-glow{opacity:1;}
.ov-col.is-today.is-on .ov-glow{background:linear-gradient(to top, rgb(255 83 16 / .18), transparent);}
.ov-rise{
  flex:1 1 auto;
  width:100%;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-height:0;
  padding-bottom:8px;
}
.ov-stem{
  width:2px;
  height:var(--stem);
  border-radius:2px;
  background:#c9c2b8;
  transform-origin:bottom center;
  animation:ov-grow .45s ease both;
}
.ov-col.is-on .ov-stem{background:var(--ink);width:2.5px;}
.ov-col.is-today.is-on .ov-stem{background:var(--accent);}
.ov-dot{
  width:6px;height:6px;border-radius:50%;
  background:#b7b0a6;
  margin-bottom:6px;
  flex:none;
}
.ov-col.is-on .ov-dot{visibility:hidden;height:0;width:0;margin:0;}
.ov-pill{
  position:absolute;
  left:50%;
  bottom:calc(var(--stem) + 12px);
  transform:translateX(-50%);
  min-width:36px;
  height:20px;
  padding:0 8px;
  border-radius:10px;
  background:var(--ink);
  color:#fff;
  font:10px var(--font-mono);
  line-height:20px;
  text-align:center;
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  z-index:2;
}
.ov-col.is-on .ov-pill{opacity:1;}
.ov-col.is-today.is-on .ov-pill{background:var(--accent);}
.ov-letter{
  position:relative;
  z-index:1;
  flex:none;
  width:24px;height:24px;
  display:flex;align-items:center;justify-content:center;
  font:11px var(--font-mono);
  color:#8a847c;
  border-radius:50%;
}
.ov-col.is-on .ov-letter{background:var(--ink);color:#fff;font-weight:600;}
.ov-col.is-today.is-on .ov-letter{background:var(--accent);color:#fff;}
@keyframes ov-grow{
  from{transform:scaleY(0);opacity:0;}
  to{transform:scaleY(1);opacity:1;}
}
.ov-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
}
.ov-stat{border:0;background:0;padding:4px 16px 4px 0;text-align:left;cursor:pointer;min-width:0;}
.ov-stat:hover em{color:var(--accent);}
.ov-stat em{display:block;font-family:var(--font-title);font-size:2.35rem;font-style:normal;font-weight:500;letter-spacing:-.03em;line-height:1;}
.ov-stat.over em{color:var(--accent);}
.ov-stat span{display:block;margin-top:8px;font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.ov-log{display:flex;flex-direction:column;}
.ov-ev{
  display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:baseline;
  padding:14px 0;border:0;border-bottom:1px solid var(--line);background:0;
  text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border-radius:0;
}
.ov-ev:last-child{border-bottom:0;}
.ov-ev:hover p{text-decoration:underline;text-underline-offset:3px;}
.ov-ev b{font-family:var(--font-mono);font-size:14px;font-weight:500;}
.ov-ev b.neg{color:var(--accent);}
.ov-ev b.pos{color:var(--ink);}
.ov-ev p{margin:0;font-size:15px;font-weight:500;}
.ov-ev small{font:12px var(--font-mono);color:var(--muted);white-space:nowrap;}
.ov-empty{font-family:var(--font-title);font-size:1.65rem;color:var(--muted);padding:8px 0 20px;margin:0;}
.ov-tip{
  position:fixed;z-index:35;max-width:300px;
  background:var(--ink);color:var(--paper);
  padding:14px 16px;border-radius:2px;
  font:13px var(--font-ui);line-height:1.5;pointer-events:none;
  box-shadow:0 16px 40px rgb(17 17 17 / .28);
}
.ov-tip.hidden{display:none!important;}
.brand{cursor:pointer;background:0;border:0;color:inherit;padding:0;font:inherit;display:flex;align-items:baseline;gap:10px;}
.top .brand:hover .mark{color:#fff;}
.mobile-bar .brand{color:#f4f1ec;}
.mobile-bar .brand .mark{margin:0;}
@media (max-width:1023px){
  .ov-sheet{padding:16px 16px calc(32px + env(safe-area-inset-bottom));}
  .ov-hero{grid-template-columns:1fr;gap:20px;padding:22px 0 24px;}
  .ov-score{font-size:4.2rem;}
  .ov-metrics{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px;}
  .ov-stat{padding-right:8px;}
  .ov-stat em{font-size:1.9rem;}
  .ov-days{height:200px;}
  .ov-col{--stem:max(8px, calc(var(--h) * 1.2px));}
  .ov-glow{width:36px;margin-left:-18px;}
  .ov-chart-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .ov-chart-val small{display:block;margin:8px 0 0;margin-left:0;}
  .ov-ev{grid-template-columns:72px 1fr;}
  .ov-ev small{grid-column:2;white-space:normal;}
}
@media (prefers-reduced-motion:reduce){
  .ov-stem{animation:none;}
  .ov-live{animation:none;}
}
