/* Live Pulse (#briefs/live). Quiet, theme-driven; same tile language as Markets. */
.lp, .lp * {box-sizing: border-box;}
.lp {width: 100%; max-width: 1280px; margin: 0 auto; padding: 8px 0 32px; color: var(--text); font-size: 14px; line-height: 1.45;}
.lp a {color: var(--accent);}
.lp .kicker {margin: 0 0 4px; color: var(--faint); font-size: 11px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase;}
.lp h1 {margin: 0; font-size: 26px; letter-spacing: -.02em; font-weight: 720;}
.lp h2 {margin: 0; font-size: 17px; font-weight: 700; letter-spacing: -.01em;}
.lp h3 {margin: 14px 0 6px; font-size: 11.5px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: var(--muted);}
.lp h3 .h3n {margin-left: 6px; text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--faint);}
.lp h3 a.h3n {color: var(--accent);}
.lp .lede {margin: 6px 0 0; color: var(--muted); font-size: 14px; max-width: 72ch;}
.lp .asof {margin: 0; color: var(--faint); font-size: 12px; font-variant-numeric: tabular-nums;}
.lp .fnote {margin: 8px 0 0; color: var(--faint); font-size: 11.5px; line-height: 1.4;}
.lp .na {color: var(--muted); font-size: 13px; font-weight: 500;}
.lp .up {color: var(--good);}
.lp .dn {color: var(--bad);}
.lp-head {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 6px 16px;}
.lp .lp-upd {text-align: right;}
.lp .block {margin: 12px 0 0; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius, 12px); background: var(--panel);}
.lp .bh {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 10px;}
.lp .bh-r {display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px;}
.lp .info {flex: none; width: 24px; height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 50%; background: transparent; color: var(--muted); font: italic 700 12px/1 Georgia, "Times New Roman", serif; cursor: pointer;}
.lp .info[aria-expanded="true"] {color: var(--text); border-color: var(--border-strong);}
.lp .info-panel {margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--border); color: var(--faint); font-size: 12.5px;}
.lp .info-panel p, .lp .info-panel ul {margin: 0 0 6px;}
.lp .info-panel ul {padding-left: 18px;}

/* 1 tone */
.lp-tone .kick {margin: 0; color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase;}
.lp-tone h2 {margin: 6px 0 0; font-size: 21px; line-height: 1.25; letter-spacing: -.015em;}
.lp-tone .tone {margin: 6px 0 0; font-size: 15px; font-weight: 650;}
.lp-tone ul {margin: 8px 0 0; padding-left: 18px; max-width: 84ch;}
.lp-tone li {margin: 0 0 6px; font-size: 14.5px; line-height: 1.5;}
.lp-tone .from {margin: 10px 0 0; color: var(--muted); font-size: 12.5px;}

/* 2 risk */
.lp-risk-in {display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 8px;}
.lp-dialbox {text-align: center;}
.lp-dial {width: 220px; max-width: 100%; height: auto; display: block; margin: 0 auto;}
.lp-dial .seg {fill: none; stroke-width: 12; stroke-linecap: butt;}
.lp-dial .seg.off {stroke: color-mix(in srgb, var(--bad) 45%, transparent);}
.lp-dial .seg.mid {stroke: var(--border-strong);}
.lp-dial .seg.on {stroke: color-mix(in srgb, var(--good) 45%, transparent);}
.lp-dial .needle {stroke: var(--text); stroke-width: 2.5; stroke-linecap: round;}
.lp-dial .hub {fill: var(--text);}
.lp-dial .dl {fill: var(--faint); font-size: 11px; font-weight: 650;}
.lp-score {margin: -6px 0 0; font-size: 26px; font-weight: 750; font-variant-numeric: tabular-nums; letter-spacing: -.02em;}
.lp-label {margin: 0; color: var(--muted); font-size: 13px; font-weight: 650;}
.lp-parts table {width: 100%; border-collapse: collapse; font-size: 12.5px; font-variant-numeric: tabular-nums;}
.lp-parts th, .lp-parts td {padding: 5px 6px; border-bottom: 1px solid var(--border); text-align: left; font-weight: 500; white-space: nowrap;}
.lp-parts thead th {color: var(--faint); font-size: 11px; font-weight: 700;}
.lp-parts tbody th {font-weight: 650; white-space: normal;}
.lp-parts .cb {width: 38%;}
.lp-parts .cv {text-align: right; width: 48px;}

/* shared diverging bar */
.lp .fb {position: relative; display: block; height: 8px; border-radius: 4px; background: var(--track, var(--panel-hover));}
.lp .fb::after {content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: var(--border-strong);}
.lp .fb i {position: absolute; top: 0; bottom: 0; border-radius: 4px;}
.lp .fb i.up {background: color-mix(in srgb, var(--good) 55%, transparent);}
.lp .fb i.dn {background: color-mix(in srgb, var(--bad) 55%, transparent);}

/* 3 flows */
.lp-flow-g {display: grid; grid-template-columns: 1fr; gap: 4px 20px;}
.lp-flow-p ol {list-style: none; margin: 0; padding: 0;}
.lp-flow-p li {display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) 54px; align-items: center; gap: 8px; padding: 3px 0; font-size: 12.5px;}
.lp-flow-p .fn {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lp-flow-p .fv {text-align: right; font-weight: 700; font-variant-numeric: tabular-nums;}
.lp .cdl-bar {display: inline-flex; align-items: center; gap: 8px;}
.lp .cdl-k {color: var(--faint); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;}
.lp .cdl-scale {display: inline-flex; gap: 2px; padding: 2px; border: 1px solid var(--border); border-radius: 999px; background: var(--panel);}
.lp .cdl-scale button {appearance: none; border: 0; margin: 0; padding: 3px 10px; border-radius: 999px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 650; line-height: 1.3; cursor: pointer;}
.lp .cdl-scale button:hover {color: var(--text);}
.lp .cdl-scale button[aria-pressed="true"] {background: color-mix(in srgb, var(--text) 10%, transparent); color: var(--text);}
.lp .cdl-scale button:focus-visible {outline: 2px solid var(--accent); outline-offset: 1px;}

/* 4 tiles */
.lp .tiles {display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
.lp .tile {display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 8px 8px 6px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel-deep, var(--panel)); color: inherit; text-decoration: none;}
.lp a.tile:hover, .lp a.tile:focus-visible {border-color: var(--accent);}
.lp .tn {font-size: 12.5px; font-weight: 700; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lp .px {font-size: 18px; font-weight: 750; letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1.15;}
.lp .pills {display: flex; flex-wrap: wrap; gap: 4px; align-items: center; min-height: 18px;}
.lp .pill {display: inline-flex; padding: 1px 6px; border-radius: 999px; border: 1px solid transparent; font-size: 11px; font-weight: 750; font-variant-numeric: tabular-nums; color: var(--muted);}
.lp .pill.up {color: var(--good); background: color-mix(in srgb, var(--good) 12%, transparent); border-color: color-mix(in srgb, var(--good) 28%, transparent);}
.lp .pill.dn {color: var(--bad); background: color-mix(in srgb, var(--bad) 10%, transparent); border-color: color-mix(in srgb, var(--bad) 28%, transparent);}
.lp .k {color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: .04em;}
.lp .spark {display: block; width: 100%; height: 40px; margin-top: 4px;}
.lp .rng {position: relative; display: block; height: 3px; margin-top: 6px; border-radius: 2px; background: var(--border-strong);}
.lp .rng i {position: absolute; top: -3px; width: 2px; height: 9px; margin-left: -1px; border-radius: 1px; background: var(--text);}
.lp .rngk {color: var(--faint); font-size: 9px; letter-spacing: .04em; text-transform: uppercase;}
.lp .qmeta {color: var(--faint); font-size: 10.5px; line-height: 1.3; font-variant-numeric: tabular-nums;}

/* 5 energy + movers */
.lp .kpis {display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
.lp .kpi {display: flex; flex-direction: column; gap: 1px; padding: 8px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel-deep, var(--panel)); min-width: 0;}
.lp .kl {color: var(--muted); font-size: 11.5px; font-weight: 650;}
.lp .kv {font-size: 16px; font-weight: 750; font-variant-numeric: tabular-nums; letter-spacing: -.01em;}
.lp .ks {color: var(--muted); font-size: 11.5px;}
.lp .kw {color: var(--faint); font-size: 10.5px;}
.lp .movers {display: grid; grid-template-columns: 1fr; gap: 4px 20px;}
.lp .movers ol {list-style: none; margin: 0; padding: 0;}
.lp .movers a {display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "n p c" "x p c"; align-items: center; gap: 0 10px; padding: 6px 2px; border-bottom: 1px solid var(--border); color: inherit; text-decoration: none;}
.lp .movers a:hover .mn {color: var(--accent);}
.lp .mn {grid-area: n; font-weight: 650; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lp .mx {grid-area: x; color: var(--faint); font-size: 11px;}
.lp .mp {grid-area: p; color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums;}
.lp .movers .pill {grid-area: c;}
.lp-foot {margin-top: 16px; color: var(--faint); font-size: 12px;}

@media (min-width: 700px) {
  .lp .tiles {grid-template-columns: repeat(3, minmax(0, 1fr));}
  .lp .kpis {grid-template-columns: repeat(3, minmax(0, 1fr));}
  .lp-flow-g, .lp .movers {grid-template-columns: 1fr 1fr;}
  .lp-risk-in {grid-template-columns: 240px minmax(0, 1fr); align-items: center;}
}
@media (min-width: 1024px) {
  .lp .tiles {grid-template-columns: repeat(4, minmax(0, 1fr));}
  .lp .kpis {grid-template-columns: repeat(4, minmax(0, 1fr));}
  .lp-flow-g {grid-template-columns: repeat(4, minmax(0, 1fr));}
}
@media (min-width: 1240px) {
  .lp .tiles {grid-template-columns: repeat(5, minmax(0, 1fr));}
}
@media (max-width: 420px) {
  .lp h1 {font-size: 23px;}
  .lp .block {padding: 12px 10px;}
  .lp-tone h2 {font-size: 19px;}
  .lp-parts .cb {width: 30%;}
  .lp .lp-upd {text-align: left;}
}

/* Live Pulse link at the top of the Briefs archive */
.brief-page .lp-cta {display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 14px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); color: inherit; text-decoration: none;}
.brief-page .lp-cta b {color: var(--accent); font-size: 12px; letter-spacing: .04em; text-transform: uppercase;}
.brief-page .lp-cta span {color: var(--muted); font-size: 13.5px;}
.brief-page .lp-cta:hover {border-color: var(--accent);}

.lp-tone .tone-g {display: grid; grid-template-columns: 1fr; gap: 4px 24px;}
.lp-tone .views {margin: 0;}
.lp-tone .views h3 {margin: 10px 0 4px;}
.lp-tone .views p {margin: 0 0 8px; font-size: 13.5px; color: var(--muted);}
.lp-tone .views p b {color: var(--text); font-weight: 650;}
.lp-tone li b {font-weight: 680;}
.lp .kpi-w {grid-column: span 2;}
.lp .kz {display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 14px; font-variant-numeric: tabular-nums; font-weight: 650;}
.lp .kz b {color: var(--muted); font-weight: 650; font-size: 11.5px;}
@media (min-width: 1024px) {
  .lp-tone .tone-g {grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);}
  .lp-tone .views {padding-left: 20px; border-left: 1px solid var(--border);}
}
@media (min-width: 1240px) { .lp .kpis {grid-template-columns: repeat(5, minmax(0, 1fr));} }
