.pulse{--pulse-row-h:3.5rem;--pulse-row-gap:.5rem;--pulse-rows:4;border:1px solid var(--color-ink);background-color:var(--color-ink);min-width:0;color:var(--color-on-ink);border-radius:1.25rem;flex-direction:column;gap:1.25rem;padding:1.5rem 1.5rem 1.25rem;display:flex}[data-theme=dark] .pulse{border-color:var(--color-ink-border-strong)}.pulse p{margin:0}.pulse-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pulse-eyebrow,.pulse-label{font-family:var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-sky);font-size:.6875rem;font-weight:500;line-height:1rem}.pulse-eyebrow{font-size:.75rem;font-weight:400}.pulse-label-muted{color:var(--color-on-ink-muted)}.pulse-title{color:var(--color-on-ink);font-size:1.375rem;font-weight:400;line-height:1.75rem;margin-top:.375rem!important}.pulse-live{border:1px solid var(--color-ink-border-strong);font-family:var(--font-mono);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;border-radius:999px;flex-shrink:0;align-items:center;gap:.5rem;padding:.3125rem .625rem;font-size:.6875rem;font-weight:500;line-height:1;display:inline-flex}.pulse-live i{background-color:var(--color-sky);border-radius:50%;width:.4375rem;height:.4375rem}.pulse-stats{border:1px solid var(--color-ink-border);background-color:var(--color-navy);border-radius:1rem;grid-template-columns:minmax(0,1fr) 10rem;align-items:center;gap:1rem;padding:1rem;display:grid}.pulse-building{width:100%;height:auto;display:block}.pulse-ground{stroke:var(--color-ink-border-strong);stroke-width:1.5px}.pulse-tower{fill:var(--color-ink);stroke:var(--color-ink-border-strong)}.pulse-roof,.pulse-roof-inner{fill:none;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.pulse-roof{stroke:var(--color-on-ink)}.pulse-roof-inner{stroke:var(--color-sky)}.pulse-unit{fill:var(--color-ink-border)}.pulse-unit.is-on{fill:var(--color-sky)}.pulse-ping{fill:none;stroke:var(--color-sky);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.pulse-door{fill:var(--color-navy);stroke:var(--color-ink-border-strong)}.pulse-tower-label{font-family:var(--font-mono);letter-spacing:.14em;fill:var(--color-on-ink-muted);font-size:9px;font-weight:500}.pulse-ring-box{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.pulse-ring{flex-shrink:0;width:7.5rem;height:7.5rem;display:block}.pulse-ring-track,.pulse-ring-bar{fill:none;stroke-width:10px}.pulse-ring-track{stroke:var(--color-ink-border)}.pulse-ring-bar{stroke:var(--color-primary-text);stroke-linecap:round}.pulse-ring-num{font-family:var(--font-sans);fill:var(--color-on-ink);font-size:30px;font-weight:500}.pulse-ring-pct{fill:var(--color-on-ink-muted);font-size:14px;font-weight:400}.pulse-ring-sub{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;fill:var(--color-on-ink-muted);font-size:9.5px}.pulse-ring-text{flex-direction:column;gap:.25rem;display:flex}.pulse-month,.pulse-units{color:var(--color-on-ink-muted);font-size:.8125rem;line-height:1.125rem}.pulse-amount{color:var(--color-on-ink);font-size:.875rem;line-height:1.25rem}.pulse-of{color:var(--color-on-ink-muted);font-size:.75rem;line-height:1rem}.pulse-feed-window{height:calc(var(--pulse-rows) * var(--pulse-row-h) + (var(--pulse-rows) - 1) * var(--pulse-row-gap));margin-top:.625rem;overflow:hidden}.pulse-feed{gap:var(--pulse-row-gap);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.pulse-row{height:var(--pulse-row-h);border:1px solid var(--color-ink-border);background-color:var(--color-navy);border-radius:.75rem;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:0 .875rem;display:grid}.pulse-row:first-child{border-color:var(--color-ink-border-strong)}.pulse-ic{border:1px solid var(--color-ink-border-strong);background-color:var(--color-ink);width:2.25rem;height:2.25rem;color:var(--color-sky);border-radius:.5rem;place-items:center;display:grid}.pulse-ic svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.125rem;height:1.125rem}.pulse-row-text{flex-direction:column;min-width:0;display:flex}.pulse-row-title,.pulse-row-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pulse-row-title{color:var(--color-on-ink);font-size:.9375rem;font-weight:400;line-height:1.25rem}.pulse-row-meta{color:var(--color-on-ink-muted);font-size:.8125rem;line-height:1.125rem}.pulse-row-end{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem;line-height:1}.pulse-row-end.is-money{color:var(--color-sky);font-weight:500}.pulse-row-end.is-tag{letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-on-ink-muted);font-size:.6875rem}.pulse-foot{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-on-ink-muted);font-size:.6875rem;line-height:1rem}@media (width<=47.5rem){.pulse{--pulse-row-h:3.25rem;--pulse-rows:3;border-radius:1rem;gap:1rem;padding:1.25rem 1rem 1rem}.pulse-title{font-size:1.25rem}.pulse-stats{grid-template-columns:minmax(0,1fr);padding:.75rem}.pulse-building{max-width:20rem;margin-inline:auto}.pulse-ping,.pulse-row:nth-child(n+4),.pulse-row-end.is-tag{display:none}.pulse-ring-box{text-align:left;flex-direction:row;justify-content:center;gap:.875rem}.pulse-ring{width:6.5rem;height:6.5rem}.pulse-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:.625rem;padding:0 .625rem}.pulse-ic{width:2rem;height:2rem}}@media (prefers-reduced-motion:no-preference){.pulse-unit{transition:fill .45s}.pulse-ping.is-pinging{animation:.9s ease-out pulse-ping}.pulse-live i{animation:1.6s ease-in-out infinite paused pulse-blink}.pulse.is-playing .pulse-live i{animation-play-state:running}.pulse-feed.is-shifting{animation:.52s cubic-bezier(.2,.7,.2,1) pulse-feed-shift}[data-month].is-new{animation:.3s ease-out pulse-fade-in}@keyframes pulse-ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes pulse-blink{50%{opacity:.25}}@keyframes pulse-feed-shift{0%{transform:translateY(calc(-1 * (var(--pulse-row-h) + var(--pulse-row-gap))))}to{transform:none}}@keyframes pulse-fade-in{0%{opacity:0}to{opacity:1}}}.period-btn{border:2px solid var(--control-border);background:var(--card);min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:.75rem;padding:0 1.125rem;font-family:inherit;font-size:.875rem;font-weight:500}.period-btn[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:#fff}
