/* Pulse market desk. Uses the approved shared identity and live market semantics. */
html[data-appearance] body.pulse-desk .pulse { max-width: 1240px; }
.pulse-desk .pulse > .panel { margin-bottom: 24px; border: 1px solid var(--cal-border); }
.pulse-desk .pulse-tabs { margin-bottom: 20px; }
html[data-appearance] body.pulse-desk .intro.suite-head {
  min-height: 248px; padding: 30px 36px; margin-bottom: 20px; gap: 14px;
  border: 1px solid var(--cal-border); border-radius: var(--r-xl);
}
html[data-appearance] body.pulse-desk .intro.suite-head h1 { font-size: clamp(32px, 3.4vw, 52px); line-height: 1.04; letter-spacing: -.045em; }
html[data-appearance] body.pulse-desk .intro.suite-head .pulse-kicker { font: 600 12px var(--sans); letter-spacing: .14em; margin: 0 0 16px; color: var(--scene-muted); }
html[data-appearance] body.pulse-desk .intro.suite-head .lede { font-size: 15px; line-height: 1.5; margin-top: 14px; max-width: 38ch; }
html[data-appearance] body.pulse-desk .intro.suite-head .intro-links { margin-top: 16px; }
html[data-appearance] body.pulse-desk .intro.suite-head .intro-links a { font-size: 13px; gap: 20px; min-height: 36px; }
html[data-appearance] body.pulse-desk .intro.suite-head .status { display: none; }
html[data-appearance] body.pulse-desk .intro.suite-head [data-em-motion] { position: absolute; bottom: 22px; right: 24px; min-height: 36px; }
html[data-appearance] body.pulse-desk .demo-banner { background: transparent; color: var(--cal-fg-muted); border: 1px solid var(--cal-border); border-left: 3px solid var(--status-alert); padding: 10px 16px; margin-bottom: 20px; font-size: 13px; }
html[data-appearance] body.pulse-desk .demo-banner strong { color: var(--cal-fg); }
.pulse-desk .pulse-quote .signal { border-bottom: 0; padding: 22px 28px; }
.pulse-desk .pulse-quote .yield { font-family: var(--sans); font-size: clamp(36px, 4.4vw, 60px); font-variant-numeric: tabular-nums; letter-spacing: -.055em; }
.pulse-desk .pulse-quote .eyebrow { font-weight: 600; color: var(--cal-fg); margin: 0 0 8px; }
.pulse-desk #currentTreasuryState { display: inline-block; font-size: 12px; font-weight: 600; padding: 3px 8px; border: 1px solid var(--cal-border); border-radius: var(--r-sm); }
.pulse-desk #currentTreasuryAsOf { margin: 8px 0 0; }
.pulse-desk #currentTreasurySource { margin: 6px 0 0; }
.pulse-desk .stance { background: var(--paper-inset); }
.pulse-desk .stance .st-head { padding: 20px 28px; border-bottom: 1px solid var(--cal-border); align-items: center; }
.pulse-desk .st-head .eyebrow { font-size: 13px; font-weight: 600; color: var(--cal-fg); }
.pulse-desk .st-head .meta { font-size: 12px; max-width: 52ch; }
.pulse-desk .stance .st-grid { grid-template-columns: minmax(240px, .72fr) minmax(0, 1.4fr); gap: 32px; padding: 28px; }
.pulse-desk .st-summary { min-width: 0; }
.pulse-desk .stance .verdict { font-size: clamp(34px, 3.5vw, 48px); line-height: 1.02; letter-spacing: -.04em; margin-bottom: 20px; }
.pulse-desk .st-headline { font-size: 16px; line-height: 1.6; margin-bottom: 26px; }
.pulse-desk .st-ask { font-size: 13px; }
.pulse-desk .st-windows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; padding: 5px; border: 1px solid var(--cal-border); border-radius: var(--r-md); }
.pulse-desk .st-windows button { padding: 0 5px; border: 0; border-radius: var(--r-sm); font-size: 13px; }
.pulse-desk .st-windows button[aria-pressed="true"] { background: var(--cal-fg); color: var(--paper); }
.pulse-desk .st-action { background: var(--paper-raised); font-size: 15px; border-radius: var(--r-md); line-height: 1.6; padding: 16px; }
.pulse-desk .st-everyone, .pulse-desk .st-model { font-size: 13px; line-height: 1.6; }
.pulse-desk .st-odds-head { font-size: 14px; line-height: 1.5; }
.pulse-desk .st-market { min-width: 0; padding: 22px; border: 1px solid var(--cal-border); border-radius: var(--r-lg); background: var(--paper); }
.pulse-desk .st-chart-kicker { display: flex; justify-content: space-between; gap: 12px; color: var(--cal-fg-muted); font-size: 12px; margin-bottom: 10px; }
.pulse-desk .st-chart-kicker span:first-child { color: var(--cal-fg); font-weight: 600; }
.pulse-desk .st-chart-title { font-size: 18px; line-height: 1.4; max-width: 40ch; margin-bottom: 14px; }
.pulse-desk .st-chart { height: 400px; }
.pulse-desk .st-chart .z-lock { fill-opacity: .075; }
.pulse-desk .st-chart .z-stop { fill-opacity: .05; }
.pulse-desk .st-chart .z-caution { fill-opacity: .075; }
.pulse-desk .st-chart .z-neutral { fill-opacity: .035; }
.pulse-desk .st-chart .z-float { fill-opacity: .055; }
.pulse-desk .st-chart .z-gain { fill-opacity: .09; }
.pulse-desk .st-chart .z-rail { fill-opacity: .65; }
.pulse-desk .st-chart .z-current { stroke: var(--cal-accent); stroke-opacity: .45; stroke-width: 1; }
.pulse-desk .st-chart .z-edge { stroke-opacity: .12; }
.pulse-desk .st-chart .z-ref { stroke-opacity: .24; }
.pulse-desk .st-chart .z-name { font-size: 12px; font-weight: 500; letter-spacing: 0; fill: var(--cal-fg-muted); }
.pulse-desk .st-chart .z-lvl-name { font-size: 12px; }
.pulse-desk .st-chart .st-path { stroke: var(--cal-fg); stroke-width: 2.2; }
.pulse-desk .st-chart .st-now-line { stroke: var(--cal-accent); stroke-width: 1; }
.pulse-desk .st-chart .st-now { fill: var(--cal-accent); stroke: var(--paper); }
.pulse-desk .st-chart .st-halo { fill: var(--cal-accent); fill-opacity: .16; }
.pulse-desk .st-chart .st-pill { fill: var(--cal-accent); }
.pulse-desk .st-chart .st-pill-text { fill: var(--paper); }
.pulse-desk .st-now-card { background: var(--paper-inset); padding: 18px; border: 1px solid var(--cal-border); border-radius: var(--r-md); }
.pulse-desk .st-now-card b { font-family: var(--sans); font-size: 30px; letter-spacing: -.04em; }
.pulse-desk #stNowRule { font-size: 13px; line-height: 1.55; }
.pulse-desk .st-now-card .eyebrow { font-size: 12px; color: var(--cal-fg-muted); margin-bottom: 4px; }
.pulse-desk .st-note { margin-top: 14px; font-size: 12px; }
.pulse-desk .st-zones summary { font-size: 13px; margin-top: 6px; }
.pulse-desk .st-zones li { grid-template-columns: 8px 8ch minmax(0,1fr); font-size: 12px; gap: 10px; }
.pulse-desk .st-zones i { width: 6px; height: 18px; }
.pulse-desk .st-next { padding: 24px 28px; }
.pulse-desk .st-next .eyebrow { font-size: 13px; color: var(--cal-fg); }
.pulse-desk .st-next li { border: 1px solid var(--cal-border); border-top-width: 2px; border-radius: var(--r-md); }
.pulse-desk .st-next .when { flex-wrap: wrap; }
.pulse-desk .st-next .what { margin-top: 10px; }
.pulse-desk .st-next .tag { font-size: 12px; }
.pulse-desk .fact-value { font-family: var(--sans); font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) {
  .pulse-desk .stance .st-grid { grid-template-columns: minmax(210px,.75fr) minmax(0,1.3fr); padding: 20px; gap: 20px; }
  .pulse-desk .st-market { padding: 16px; }
  .pulse-desk .st-next ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 850px) {
  .pulse-desk .stance .st-grid { grid-template-columns: minmax(0,1fr); }
  .pulse-desk .st-now-card { grid-template-columns: auto minmax(0,1fr); }
}
@media (max-width: 600px) {
  html[data-appearance] body.pulse-desk .intro.suite-head { padding: 22px; min-height: 245px; border-radius: var(--r-lg); }
  html[data-appearance] body.pulse-desk .intro.suite-head > :not(.launch-art) { max-width: 78%; }
  html[data-appearance] body.pulse-desk .intro.suite-head .launch-art[data-atmosphere-wide] { inset: 0; height: 100%; width: 100%; aspect-ratio: auto; }
  html[data-appearance] body.pulse-desk .intro.suite-head h1 { font-size: 32px; }
  html[data-appearance] body.pulse-desk .intro.suite-head .lede { font-size: 13px; }
  html[data-appearance] body.pulse-desk .intro.suite-head .pulse-kicker { font-size: 12px; margin-bottom: 12px; }
  html[data-appearance] body.pulse-desk .intro.suite-head [data-em-motion] { right: 14px; bottom: 16px; font-size: 12px; padding: 6px 10px; }
  html[data-appearance] body.pulse-desk .demo-banner { font-size: 12px; line-height: 1.5; }
  .pulse-desk .pulse-quote .signal { display: flex; flex-direction: column-reverse; align-items: start; gap: 16px; padding: 20px; }
  .pulse-desk .pulse-quote .quote { border: 0; padding: 0; margin: 0; text-align: left; }
  .pulse-desk .pulse-quote .yield { font-size: 48px; }
  .pulse-desk .stance .st-head { padding: 16px 20px; gap: 6px; }
  .pulse-desk .stance .st-grid { padding: 20px 14px; gap: 24px; }
  .pulse-desk .st-summary { padding: 0 6px; }
  .pulse-desk .st-market { padding: 14px 10px; border-radius: var(--r-md); }
  .pulse-desk .st-chart { height: 350px; }
  .pulse-desk .st-chart-kicker { font-size: 12px; }
  .pulse-desk .st-chart-title { font-size: 17px; }
  .pulse-desk .st-now-card { grid-template-columns: minmax(0,1fr); padding: 14px; }
  .pulse-desk .st-next { padding: 20px; }
  .pulse-desk .st-next ol { grid-template-columns: minmax(0,1fr); }
}

/* Range controls only change the chart viewport, never the market signal. */
.pulse-desk .st-ranges { display: inline-flex; gap: 4px; padding: 4px; margin: 0 0 12px; border: 1px solid var(--cal-border); border-radius: var(--r-md); background: var(--paper-inset); }
.pulse-desk .st-ranges button { min-width: 52px; min-height: 36px; padding: 6px 14px; border: 0; border-radius: var(--r-sm); color: var(--cal-fg-muted); background: transparent; cursor: pointer; font: 600 13px var(--sans); transition: none; }
.pulse-desk .st-ranges button:hover { color: var(--cal-fg); background: var(--paper-raised); }
.pulse-desk .st-ranges button[aria-pressed="true"] { color: var(--paper); background: var(--cal-fg); }
.pulse-desk .st-ranges button:focus-visible { outline: 2px solid var(--cal-focus-ring); outline-offset: 2px; }
.pulse-desk .st-range-note { margin: 6px 0 14px; color: var(--cal-fg-muted); font-size: 12px; line-height: 1.5; }
.pulse-desk .st-chart .st-close { fill: var(--cal-fg); stroke: var(--paper); stroke-width: 2; }
