:root {
  --immigre-universe-accent: #ff6a3d;
  --immigre-focus: #ffd5c7;
}

html[data-immigre-surface="app"][data-immigre-text="small"] { font-size: 14px; }
html[data-immigre-surface="app"][data-immigre-text="normal"] { font-size: 16px; }
html[data-immigre-surface="app"][data-immigre-text="large"] { font-size: 18px; }

.immigre-network-status {
  position: fixed;
  z-index: 999;
  top: max(10px, env(safe-area-inset-top));
  left: 50%;
  display: grid;
  grid-template-columns: 9px auto;
  column-gap: 9px;
  width: min(440px, calc(100% - 24px));
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(20,22,25,.96);
  color: #f8f6f1;
  box-shadow: 0 18px 45px rgba(0,0,0,.38);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -18px);
  transition: opacity 180ms ease, transform 220ms ease;
}
.immigre-network-status.is-visible { opacity: 1; transform: translate(-50%, 0); }
.immigre-network-status > span { grid-row: span 2; align-self: center; width: 9px; height: 9px; border-radius: 50%; background: #f3bd63; box-shadow: 0 0 0 5px rgba(243,189,99,.12); }
.immigre-network-status strong { font-size: .78rem; }
.immigre-network-status small { color: #aeb0b6; font-size: .66rem; line-height: 1.35; }

html[data-immigre-surface="app"].immigre-high-contrast {
  --app-text: #fff;
  --app-muted: #d8d8dc;
  --app-line: rgba(255,255,255,.32);
  --immigre-focus: #fff3a1;
}
html[data-immigre-surface="app"].immigre-high-contrast :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid var(--immigre-focus) !important;
  outline-offset: 3px !important;
}
html[data-immigre-surface="app"].immigre-reduce-data video:not([controls]) { display: none !important; }
html[data-immigre-surface="app"].immigre-reduce-data img[loading="lazy"] { content-visibility: auto; }

body[data-immigre-universe="music"] { --immigre-universe-accent: #ff6a3d; }
body[data-immigre-universe="games"] { --immigre-universe-accent: #f4bf54; }
body[data-immigre-universe="feed"], body[data-immigre-universe="live"] { --immigre-universe-accent: #77d8ae; }
body[data-immigre-universe="profile"], body[data-immigre-universe="passport"] { --immigre-universe-accent: #cbb58b; }

body[data-immigre-universe] .app-bottom-nav button.is-active,
body[data-immigre-universe] .app-kicker { color: var(--immigre-universe-accent); }

.app-settings-row select {
  min-width: 112px;
  min-height: 38px;
  padding: 7px 30px 7px 10px;
  border: 1px solid var(--app-line);
  border-radius: 8px;
  background: var(--app-bg);
  color: var(--app-text);
  font: inherit;
  font-size: .72rem;
}
.app-settings-inline-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; }
.app-settings-inline-actions .app-text-button { min-height: 34px; }
#appRuntimeNetwork { color: #78d8ad; font-size: .7rem; }
.immigre-offline #appRuntimeNetwork { color: #f3bd63; }

@media (prefers-reduced-motion: reduce) {
  .immigre-network-status { transition: none; }
}
