/* WING application shell — branding, fullscreen mode and theme tokens */
:root {
  --wing-shell-bg: #050914;
  --wing-shell-panel: #09111f;
  --wing-shell-panel-2: #0d1728;
  --wing-shell-text: #eef6ff;
  --wing-shell-muted: #8ea0b8;
  --wing-shell-border: rgba(148, 163, 184, .16);
}

body.is-wing-route.wing-session-active .site-header,
body.is-wing-route.wing-session-active > #network-bg,
body.is-wing-route.wing-session-active [data-component="footer"],
body.is-wing-route.wing-session-active [data-component="cookie-banner"] {
  display: none !important;
}

body.is-wing-route.wing-session-active .wing-page {
  height: 100dvh;
  padding-top: 0;
}

body.is-wing-route.wing-session-active .wing-app {
  border-top: 0;
}

.wing-brand-mark {
  width: 54px;
  min-height: 54px;
  padding: 7px 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  background: linear-gradient(145deg, rgba(39,215,255,.1), rgba(159,92,255,.13));
}

.wing-brand-mark img {
  width: 31px;
  height: 24px;
  object-fit: contain;
  margin-inline: auto;
  filter: drop-shadow(0 0 9px rgba(39,215,255,.34));
}

.wing-mark-ing {
  display: block;
  color: #fff;
  font: 800 .58rem/1 Sora, sans-serif;
  letter-spacing: .22em;
  text-indent: .22em;
}

.wing-sidebar-brand strong {
  display: flex;
  align-items: center;
  letter-spacing: .16em;
}

.wing-wordmark-w {
  display: inline-block !important;
  margin: 0 1px 0 0 !important;
  color: transparent !important;
  background: linear-gradient(135deg, var(--wing-cyan), var(--wing-violet));
  background-clip: text;
  -webkit-background-clip: text;
  filter: drop-shadow(0 0 8px rgba(39,215,255,.22));
}

.wing-sidebar-brand > span {
  letter-spacing: .08em;
}

.wing-app-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--wing-border);
  border-radius: 10px;
  color: var(--wing-muted);
  background: rgba(255,255,255,.035);
  text-decoration: none;
  font-size: .74rem;
  font-weight: 700;
  transition: .18s ease;
}

.wing-app-back:hover {
  color: #fff;
  border-color: rgba(39,215,255,.38);
  background: rgba(39,215,255,.08);
}

.wing-theme-toggle {
  margin-bottom: 2px;
}

/* Light foundation. Components can progressively consume these shared tokens. */
body[data-wing-theme="light"] {
  --wing-bg: #eef3f9;
  --wing-panel: #ffffff;
  --wing-panel-2: #e8eef6;
  --wing-border: rgba(28, 51, 78, .14);
  --wing-text: #142033;
  --wing-muted: #65758b;
  --wing-shell-bg: #eef3f9;
  --wing-shell-panel: #ffffff;
  --wing-shell-panel-2: #e8eef6;
  --wing-shell-text: #142033;
  --wing-shell-muted: #65758b;
  --wing-shell-border: rgba(28, 51, 78, .14);
}

body[data-wing-theme="light"].is-wing-route,
body[data-wing-theme="light"] .wing-page {
  background: radial-gradient(circle at 70% 0%, rgba(159,92,255,.1), transparent 34rem), radial-gradient(circle at 20% 10%, rgba(39,215,255,.11), transparent 32rem), #eef3f9;
}

body[data-wing-theme="light"] .wing-rail {
  background: rgba(232,238,246,.98);
}

body[data-wing-theme="light"] .wing-channels,
body[data-wing-theme="light"] .wing-members {
  background: rgba(255,255,255,.96);
}

body[data-wing-theme="light"] .wing-sidebar-head,
body[data-wing-theme="light"] .wing-topbar,
body[data-wing-theme="light"] .wing-members-head {
  background: rgba(241,245,250,.9);
}

body[data-wing-theme="light"] .wing-conversation,
body[data-wing-theme="light"] .wing-messages {
  color: var(--wing-text);
  background-color: #f5f8fc;
}

body[data-wing-theme="light"] .wing-composer,
body[data-wing-theme="light"] .wing-statusbar,
body[data-wing-theme="light"] .wing-profile {
  background: rgba(235,241,248,.97);
}

body[data-wing-theme="light"] .wing-composer input,
body[data-wing-theme="light"] .wing-entry-card input,
body[data-wing-theme="light"] .wing-entry-card select {
  color: #142033;
  background: #fff;
}

body[data-wing-theme="light"] .wing-channel:hover,
body[data-wing-theme="light"] .wing-channel.is-active {
  color: #142033;
}

@media (max-width: 820px) {
  .wing-app-back span { display: none; }
  .wing-app-back { width: 36px; padding: 0; justify-content: center; }
}
