#root.pagepulse{
  --pulse-bg:#F0F0F0;
  --pulse-panel:#FFFFFF;
  --pulse-line:#DCDCDC;
  --pulse-text:#1A1A1A;
  --pulse-muted:#736A5D;
  --pulse-glow:rgba(232,115,42,.28);
  --pulse-tile:#F7F5F2;
  --pulse-chip-integration:#2B5FB6;
  --pulse-gold:#B8860B;
  --pulse-machine:var(--error);
}
html[data-theme="dark"] #root.pagepulse{
  --pulse-bg:#121212;
  --pulse-panel:#1A1A1A;
  --pulse-line:rgba(255,255,255,.08);
  --pulse-text:#F0F0F0;
  --pulse-muted:#B8B0A6;
  --pulse-glow:rgba(232,115,42,.45);
  --pulse-tile:#141414;
  --pulse-chip-integration:#9db4d8;
  --pulse-gold:#E6C15A;
  --pulse-machine:#FF8A80;
}
#root.pagepulse #app_container #main_content{
  background:var(--pulse-bg);
  color:var(--pulse-text);
  min-height:100%;
}
#root.pagepulse #app_container #main_content .page{
  background:var(--pulse-bg);
  color:var(--pulse-text);
}
#root.pagepulse .pulse_page{
  padding:32px;
  max-width:1400px;
}
#root.pagepulse .pulse_kicker{
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--orange-dark);
  margin:0 0 8px;
}
#root.pagepulse .pulse_page h1{
  font-family:var(--font-display);
  font-size:48px;
  margin:0;
  color:var(--pulse-text);
}
#root.pagepulse .pulse_page h1.pulse_witness{
  font-size:clamp(22px,2.8vw,34px);
  line-height:1.25;
  overflow-wrap:anywhere;
  max-width:100%;
}
#root.pagepulse .pulse_page h2{
  color:var(--pulse-text);
}
#root.pagepulse .pulse_sub{
  color:var(--pulse-muted);
  margin:8px 0 0;
}
#root.pagepulse .pulse_header{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
  margin-bottom:28px;
}
#root.pagepulse .pulse_heartbeat{
  display:flex;
  align-items:center;
  gap:10px;
}
#root.pagepulse .pulse_ecg{
  width:min(420px,40vw);
  color:var(--orange);
  filter:drop-shadow(0 0 12px var(--pulse-glow));
}
#root.pagepulse .pulse_ecg path{
  stroke-dasharray:240;
  animation:pulse_ecg 3.2s linear infinite;
}
#root.pagepulse .pulse_ecg--slow path{ animation-duration:5.5s; }
#root.pagepulse .pulse_ecg--busy path{ animation-duration:1.6s; }
#root.pagepulse .pulse_ecg--error{
  color:var(--stone);
  filter:none;
}
#root.pagepulse .pulse_ecg--error path{ animation:none; }
#root.pagepulse .pulse_fetch_error{
  color:var(--error);
  margin:8px 0 0;
}
#root.pagepulse .pulse_copied{
  color:var(--success);
  margin:8px 0 0;
  font-size:13px;
}
#root.pagepulse .pulse_live{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--success);
  flex-shrink:0;
}
#root.pagepulse .pulse_live--error{ background:var(--error); }
@keyframes pulse_ecg{
  from{ stroke-dashoffset:240; }
  to{ stroke-dashoffset:0; }
}
#root.pagepulse .pulse_vitals{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
#root.pagepulse .pulse_vital{
  background:var(--pulse-panel);
  border:1px solid var(--pulse-line);
  border-radius:12px;
  padding:16px;
}
#root.pagepulse .pulse_vital_label{
  display:block;
  color:var(--pulse-muted);
  font-size:12px;
}
#root.pagepulse .pulse_vital_value{
  font-family:var(--font-display);
  font-size:36px;
}
#root.pagepulse .pulse_vital--changed .pulse_vital_value{
  animation:pulse_vital_changed .6s ease-out;
}
@keyframes pulse_vital_changed{
  0%{ color:var(--orange); }
  100%{ color:var(--pulse-text); }
}
#root.pagepulse .pulse_delta{
  display:inline-block;
  font-size:11px;
  margin-top:4px;
  font-weight:600;
}
#root.pagepulse .pulse_delta--up{ color:var(--success); }
#root.pagepulse .pulse_delta--down{ color:var(--error); }
#root.pagepulse .pulse_delta--flat{ color:var(--pulse-muted); }
#root.pagepulse .pulse_hours{
  display:flex;
  align-items:flex-end;
  gap:3px;
  height:48px;
  margin:16px 0 32px;
}
#root.pagepulse .pulse_hour_cell{
  flex:1;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:100%;
  min-height:4px;
}
#root.pagepulse .pulse_hour{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  min-height:2px;
  border-radius:2px 2px 0 0;
}
#root.pagepulse .pulse_hour--logs{
  background:var(--orange);
  opacity:.45;
  z-index:1;
}
#root.pagepulse .pulse_hour--messages{
  background:var(--orange);
  opacity:.9;
  z-index:2;
  max-width:70%;
  margin:0 auto;
}
#root.pagepulse .pulse_hour_fail{
  position:absolute;
  top:0;
  right:2px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--error);
  z-index:3;
}
#root.pagepulse .pulse_pipeline,
#root.pagepulse .pulse_constellation,
#root.pagepulse .pulse_side section{
  background:var(--pulse-panel);
  border:1px solid var(--pulse-line);
  border-radius:16px;
  padding:20px;
  margin-bottom:16px;
}
#root.pagepulse .pulse_flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
#root.pagepulse .pulse_stage_count{
  font-family:var(--font-display);
  font-size:32px;
}
#root.pagepulse .pulse_stage_bar_track{
  height:4px;
  background:var(--pulse-line);
  border-radius:2px;
  margin:8px 0;
}
#root.pagepulse .pulse_stage_bar{
  display:block;
  height:100%;
  background:var(--orange);
  border-radius:2px;
  min-width:0;
}
#root.pagepulse .pulse_stage--act .pulse_stage_bar{
  background:var(--warning);
}
#root.pagepulse .pulse_automation{
  margin-top:16px;
  font-size:13px;
  color:var(--pulse-muted);
}
#root.pagepulse .pulse_quiet{
  margin-top:16px;
  color:var(--pulse-gold);
}
#root.pagepulse .pulse_split{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:16px;
}
#root.pagepulse .pulse_grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:12px;
}
#root.pagepulse .pulse_tile{
  border:1px solid var(--pulse-line);
  border-radius:12px;
  padding:16px;
  background:var(--pulse-tile);
  cursor:pointer;
  transition:border-color .15s ease;
}
#root.pagepulse .pulse_tile h3{
  font-family:var(--font-display);
  margin:0 0 8px;
}
#root.pagepulse .pulse_tile p{
  color:var(--pulse-muted);
  margin:0;
  font-size:13px;
}
#root.pagepulse .pulse_tile_pip{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--success);
  margin-bottom:10px;
}
#root.pagepulse .pulse_tile--attention .pulse_tile_pip{
  background:var(--orange);
  box-shadow:0 0 0 0 var(--pulse-glow);
  animation:pulse_pip 1.8s ease-out infinite;
}
#root.pagepulse .pulse_tile--quiet .pulse_tile_pip{ background:var(--stone); }
#root.pagepulse .pulse_tile--focused{
  border-color:var(--orange);
  box-shadow:0 0 0 1px var(--pulse-glow);
}
#root.pagepulse .pulse_spark{
  display:flex;
  align-items:flex-end;
  gap:1px;
  height:20px;
  margin:10px 0 8px;
}
#root.pagepulse .pulse_spark span{
  flex:1;
  min-height:1px;
  background:var(--orange);
  opacity:.7;
  border-radius:1px 1px 0 0;
}
#root.pagepulse .pulse_why{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin-bottom:8px;
}
#root.pagepulse .pulse_why_chip{
  font-size:10px;
  padding:2px 6px;
  border-radius:4px;
  background:var(--pulse-line);
  color:var(--pulse-gold);
}
#root.pagepulse .pulse_last_seen{
  display:block;
  font-size:11px;
  color:var(--pulse-muted);
  margin-top:4px;
}
#root.pagepulse .pulse_no_twilio{
  display:inline-block;
  font-size:10px;
  padding:2px 6px;
  border-radius:4px;
  margin-top:6px;
  background:var(--pulse-line);
  color:var(--error);
}
#root.pagepulse .pulse_tile_detail{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--pulse-line);
  font-size:12px;
  color:var(--pulse-muted);
}
#root.pagepulse .pulse_tile_detail p{
  margin:0 0 4px;
}
@keyframes pulse_pip{
  70%{ box-shadow:0 0 0 10px transparent; }
  100%{ box-shadow:0 0 0 0 transparent; }
}
#root.pagepulse .pulse_attention{
  display:block;
  width:100%;
  text-align:left;
  background:transparent;
  color:var(--pulse-text);
  border:0;
  border-bottom:1px solid var(--pulse-line);
  padding:12px 0;
  cursor:pointer;
}
#root.pagepulse .pulse_attention span{
  display:block;
  color:var(--pulse-muted);
  font-size:12px;
}
#root.pagepulse .pulse_attention_meta{
  font-size:11px;
}
#root.pagepulse .pulse_focus_notice{
  font-size:12px;
  color:var(--pulse-muted);
  margin:0 0 8px;
}
#root.pagepulse .pulse_focus_clear{
  background:none;
  border:none;
  color:var(--orange-dark);
  cursor:pointer;
  font-size:12px;
  padding:0;
  text-decoration:underline;
}
#root.pagepulse .pulse_river_scroll{
  max-height:min(48vh, 28rem);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
}
#root.pagepulse .pulse_river_scroll:focus{
  outline:2px solid var(--orange);
  outline-offset:2px;
}
#root.pagepulse .pulse_river_scroll:focus:not(:focus-visible){
  outline:none;
}
#root.pagepulse .pulse_river{ list-style:none; margin:0; padding:0; }
#root.pagepulse .pulse_river li{
  padding:10px 0;
  border-bottom:1px solid var(--pulse-line);
}
#root.pagepulse .pulse_river--new{
  animation:pulse_river_new .8s ease-out;
}
@keyframes pulse_river_new{
  0%{ background:var(--pulse-glow); }
  100%{ background:transparent; }
}
#root.pagepulse .pulse_river_time{
  display:block;
  font-size:10px;
  color:var(--pulse-muted);
  margin-bottom:2px;
}
#root.pagepulse .pulse_chip--message{ color:var(--orange-dark); }
#root.pagepulse .pulse_chip--fail{ color:var(--error); }
#root.pagepulse .pulse_chip--login{ color:var(--pulse-muted); }
#root.pagepulse .pulse_chip--integration{ color:var(--pulse-chip-integration); }
#root.pagepulse .pulse_chip--care{ color:var(--success); }
#root.pagepulse .pulse_forbidden{
  padding:48px;
  color:var(--pulse-muted);
}
@media (prefers-reduced-motion: reduce){
  #root.pagepulse .pulse_ecg path,
  #root.pagepulse .pulse_tile--attention .pulse_tile_pip,
  #root.pagepulse .pulse_vital--changed .pulse_vital_value,
  #root.pagepulse .pulse_river--new{
    animation:none;
  }
}
@media (max-width:1024px){
  #root.pagepulse .pulse_vitals,
  #root.pagepulse .pulse_flow,
  #root.pagepulse .pulse_split{ grid-template-columns:1fr 1fr; }
  #root.pagepulse .pulse_river_scroll{ max-height:min(40vh, 24rem); }
}
#root.pagepulse .pulse_witness{
  font-family:var(--font-display);
  font-size:clamp(28px,4vw,44px);
  line-height:1.15;
  margin:0 0 12px;
  color:var(--pulse-text);
}
#root.pagepulse .pulse_kicker{
  margin-bottom:4px;
}
#root.pagepulse .pulse_witness_facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 12px;
}
#root.pagepulse .pulse_fact,
#root.pagepulse .pulse_text_btn,
#root.pagepulse .pulse_door{
  background:none;
  border:0;
  color:var(--orange-dark);
  cursor:pointer;
  font:inherit;
  padding:0;
  text-decoration:underline;
  text-underline-offset:3px;
}
#root.pagepulse .pulse_vital--debt{
  display:block;
  width:100%;
  text-align:left;
  margin:0 0 16px;
  border-color:var(--pulse-gold);
  color:var(--pulse-text);
  cursor:pointer;
}
#root.pagepulse .pulse_vital--debt .pulse_vital_value{
  font-size:48px;
  color:var(--pulse-gold);
}
#root.pagepulse .pulse_debt_meta,
#root.pagepulse .pulse_film_note{
  display:block;
  color:var(--pulse-muted);
  font-size:13px;
  margin-top:6px;
}
#root.pagepulse .pulse_oxygen{
  background:var(--pulse-panel);
  border:1px solid var(--pulse-machine);
  border-radius:12px;
  padding:12px 16px;
  margin:12px 0 16px;
  color:var(--pulse-machine);
}
#root.pagepulse .pulse_hours_wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:16px 0 32px;
}
#root.pagepulse .pulse_hours{
  margin:0;
}
#root.pagepulse .pulse_hour_cell{
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
}
#root.pagepulse .pulse_stage{
  background:none;
  border:0;
  padding:0;
  text-align:left;
  cursor:pointer;
  color:inherit;
}
#root.pagepulse .pulse_sheet{
  position:fixed;
  right:0;
  top:0;
  bottom:0;
  width:min(720px,100%);
  background:var(--pulse-panel);
  border-left:1px solid var(--pulse-line);
  padding:24px;
  overflow:auto;
  z-index:4;
  color:var(--pulse-text);
}
#root.pagepulse .pulse_sheet_close{
  float:right;
}
#root.pagepulse .pulse_sheet_def{
  color:var(--pulse-muted);
  font-size:14px;
  margin:8px 0 12px;
}
#root.pagepulse .pulse_ledger{
  list-style:none;
  margin:16px 0 0;
  padding:0;
}
#root.pagepulse .pulse_ledger li{
  display:flex;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid var(--pulse-line);
}
#root.pagepulse .pulse_table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0 0;
  font-size:14px;
}
#root.pagepulse .pulse_table th,
#root.pagepulse .pulse_table td{
  text-align:left;
  vertical-align:top;
  padding:8px 10px 8px 0;
  border-bottom:1px solid var(--pulse-line);
}
#root.pagepulse .pulse_table th{
  color:var(--pulse-muted);
  font-weight:600;
  font-size:12px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
#root.pagepulse .pulse_table_actions{
  white-space:nowrap;
}
#root.pagepulse .pulse_table_actions .pulse_text_btn{
  display:inline-block;
  margin-right:8px;
}
#root.pagepulse .pulse_fact{
  background:var(--pulse-line);
  border:0;
  border-radius:999px;
  color:var(--pulse-text);
  cursor:pointer;
  font:inherit;
  font-size:13px;
  padding:4px 10px;
  text-decoration:none;
}
#root.pagepulse .pulse_brief{
  margin:16px 0;
  padding-bottom:12px;
  border-bottom:1px solid var(--pulse-line);
}
#root.pagepulse .pulse_reveal{
  white-space:pre-wrap;
  font-size:12px;
}
#root.pagepulse .pulse_ping{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
#root.pagepulse .pulse_film_scrub{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 8px;
}
#root.pagepulse .pulse_film_scrub input{
  width:100%;
}
#root.pagepulse .pulse_pins{
  margin-bottom:20px;
}
#root.pagepulse .pulse_pin_row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:baseline;
  margin:8px 0;
}
#root.pagepulse .pulse_oxygen .pulse_text_btn{
  font-size:inherit;
}
@media (prefers-reduced-motion: reduce){
  #root.pagepulse .pulse_sheet{
    transition:none;
  }
}
@media (max-width:650px){
  #root.pagepulse .pulse_heartbeat{ display:none; }
  #root.pagepulse .pulse_vitals,
  #root.pagepulse .pulse_flow,
  #root.pagepulse .pulse_split{ grid-template-columns:1fr; }
  #root.pagepulse .pulse_page{ padding:20px; }
  #root.pagepulse .pulse_river_scroll{ max-height:min(40vh, 22rem); }
  #root.pagepulse .pulse_vital--debt .pulse_vital_value{ font-size:40px; }
}
