/* Daily briefing: surface hierarchy and explicit source/availability states. */
dialog#briefing {
  --tone: var(--hud-cyan, #69d9ff);
  position: fixed;
  inset: 118px auto auto 34px;
  width: min(560px, calc(100vw - 420px));
  height: auto;
  max-width: none;
  max-height: calc(100vh - 200px);
  margin: 0;
  padding: 0;
  transform: none;
  z-index: 35;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--hp-reading, #0c1b26);
  color: var(--hp-muted, #a1c2d1);
  font-family: inherit;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em;
  color-scheme: dark;
  overflow: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--hp-muted, #527e90) var(--hp-reading, #0c1b26);
}
#briefing[open] { display: flex; flex-direction: column; }
body.immersive dialog#briefing[open] { display: flex !important; }
#briefing, #briefing * { box-sizing: border-box; }
#briefing * { border-radius: 0; box-shadow: none; }
#briefing > * { flex-shrink: 0; min-width: 0; }
#briefing [hidden] { display: none !important; }
#briefing :focus-visible { outline: 2px solid var(--hud-ink, #ecfaff); outline-offset: 2px; }
#briefing button {
  min-height: 32px;
  padding: 4px 12px;
  border: 0;
  background: var(--hp-reading, #102532);
  color: var(--hp-muted, #a1c2d1);
  font: inherit;
  font-size: 12px;
  letter-spacing: .04em;
  cursor: pointer;
}
#briefing button:hover:not(:disabled) { background: var(--hp-reading, #193342); color: var(--hud-ink, #ecfaff); }
#briefing button.primary, #briefing button[aria-pressed=true] { background: var(--hud-cyan, #69d9ff); color: var(--hp-reading, #04131c); }
#briefing button.primary:hover:not(:disabled), #briefing button[aria-pressed=true]:hover:not(:disabled) { background: var(--hud-cyan, #91e4ff); color: var(--hp-reading, #04131c); }
#briefing button:disabled { opacity: .4; cursor: not-allowed; }
#briefing .picker-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 16px;
  border: 0;
  background: var(--hp-reading, #102532);
  color: var(--hp-muted, #a1c2d1);
  font: inherit;
  font-size: 11px;
  letter-spacing: .2em;
}
#briefing .picker-top > span { min-width: 0; overflow-wrap: anywhere; }
#briefing .bf-status { margin-left: auto; font-size: 11px; letter-spacing: .04em; color: var(--hp-muted, #527e90); }
#briefing #bf-close { flex: none; width: 32px; height: 32px; padding: 0; font-size: 24px; line-height: 1; }
#briefing .bf-title { margin: 16px 16px 4px; color: var(--hud-ink, #ecfaff); font-size: 18px; font-weight: 300; letter-spacing: .08em; font-feature-settings: "palt"; }
#briefing .bf-meta { margin: 0 16px 16px; color: var(--hp-muted, #527e90); font-size: 11px; overflow-wrap: anywhere; }
#briefing #bf-lines { display: grid; gap: 8px; margin: 0; padding: 0 16px 16px; list-style: none; flex-shrink: 1; min-height: 0; overflow: auto; }
#briefing .bf-line {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 4px 8px;
  padding: 12px;
  background: var(--hp-reading, #0a1620);
  cursor: pointer;
  overflow-wrap: anywhere;
}
#briefing .bf-line:hover, #briefing .bf-line:focus-visible { background: var(--hp-reading, #102532); }
#briefing .bf-line:focus-visible { outline-offset: -2px; }
#briefing .bf-label { color: var(--hp-muted, #527e90); font-size: 11px; letter-spacing: .12em; }
#briefing .bf-head { min-width: 0; color: var(--hud-ink, #ecfaff); font-size: 14px; font-weight: 400; }
#briefing .bf-state { color: var(--tone); font-size: 11px; }
#briefing .bf-detail { grid-column: 2 / -1; color: var(--hp-muted, #a1c2d1); font-size: 11px; }
#briefing .bf-items { grid-column: 2 / -1; margin: 4px 0 0; padding: 8px; list-style: none; background: var(--hp-reading, #0c1b26); color: var(--hp-muted, #a1c2d1); font-size: 11px; }
#briefing .bf-items > li + li { margin-top: 4px; }
#briefing .bf-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px; background: var(--hp-reading, #0a1620); }
#briefing [data-tone=ok] { --tone: var(--hud-cyan, #69d9ff); }
#briefing [data-tone=warn] { --tone: var(--hud-amber, #e5aa63); }
#briefing [data-tone=muted], #briefing [data-tone=off] { --tone: var(--hp-muted, #527e90); }
#briefing [data-status=ok] { color: var(--hud-cyan, #69d9ff); }
#briefing [data-status=local] { color: var(--hud-amber, #e5aa63); }
#briefing [data-status=unavailable] { --tone: var(--hud-amber, #e5aa63); border-left: 3px solid var(--hud-amber, #e5aa63); color: var(--hud-amber, #e5aa63); }
#briefing [data-status=unavailable] :is(.bf-label, .bf-head, .bf-detail, .bf-items) { color: var(--hud-amber, #e5aa63); }
#briefing [data-status=demo], dialog#briefing.demo { border: 1px dotted var(--hp-muted, #527e90); }
#briefing [data-status=empty], #briefing [data-status=empty] :is(.bf-head, .bf-detail, .bf-items) { --tone: var(--hp-muted, #527e90); color: var(--hp-muted, #527e90); }
@media (max-width: 760px) {
  dialog#briefing { left: 8px; right: 8px; top: 72px; width: auto; max-height: calc(100vh - 200px); }
  #briefing .bf-line { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 80px); padding: 8px; }
  #briefing button { min-height: 40px; }
  #briefing #bf-close { width: 40px; height: 40px; }
}

html[data-hud="v27"] #briefing {
  & :is(.bf-title,.bf-meta,#bf-lines,.bf-actions) { background:var(--hp-reading); }
  & #bf-lines { padding:8px; overflow:visible; }
  & .bf-line { padding:16px 0; background:transparent; grid-template-columns:minmax(0,1fr) auto; border-top:1px solid var(--hp-hairline); }
  & .bf-label { grid-column:1; }
  & .bf-state { grid-column:2; grid-row:1; }
  & :is(.bf-head,.bf-detail,.bf-items) { grid-column:1/-1; }
  & .bf-items { background:transparent; padding:0; }
  /* Errors stay readable until the platform supplies a disclosure control. */
  & .bf-detail { overflow-wrap:anywhere; }
}
html[data-hud="v27"] #briefing :is(.bf-head,.bf-detail,.bf-label,.bf-state) { background:rgba(4,8,15,.72); }
