/* Futuristic authenticated app takeover (scoped to logged-in layout) */
body.layout:not(.home-modern-guest) {
  --future-bg: #030712;
  --future-bg-2: #07111f;
  --future-bg-3: #0b1628;
  --future-panel: rgba(10, 18, 34, 0.86);
  --future-panel-2: rgba(15, 25, 45, 0.92);
  --future-panel-3: rgba(21, 34, 58, 0.96);
  --future-glass: rgba(10, 18, 34, 0.72);
  --future-glass-strong: rgba(12, 22, 42, 0.88);
  --future-text: #f4f8ff;
  --future-text-soft: #b9c7e6;
  --future-text-muted: #7f90ba;
  --future-border: rgba(125, 211, 252, 0.18);
  --future-border-strong: rgba(125, 211, 252, 0.34);
  --future-cyan: #00d5ff;
  --future-blue: #3b82f6;
  --future-violet: #8b5cf6;
  --future-purple: #a855f7;
  --future-magenta: #ff2bd6;
  --future-green: #38f8a8;
  --future-gold: #ffd76a;
  --future-red: #ff4d6d;
  --future-radius-sm: 10px;
  --future-radius-md: 14px;
  --future-radius-lg: 18px;
  --future-radius-xl: 24px;
  --future-radius-pill: 999px;
  --future-shadow-1: 0 8px 24px rgba(0, 0, 0, 0.28);
  --future-shadow-2: 0 18px 48px rgba(0, 0, 0, 0.34);
  --future-shadow-3: 0 28px 80px rgba(0, 0, 0, 0.44);
  --future-glow-cyan: 0 0 0 1px rgba(0, 213, 255, 0.28), 0 0 32px rgba(0, 213, 255, 0.16);
  --future-glow-violet: 0 0 0 1px rgba(139, 92, 246, 0.28), 0 0 34px rgba(139, 92, 246, 0.18);
  --future-glow-magenta: 0 0 0 1px rgba(255, 43, 214, 0.24), 0 0 34px rgba(255, 43, 214, 0.14);

  display: grid;
  min-height: 100vh;
  color: var(--future-text);
  background:
    radial-gradient(circle at 12% 10%, rgba(139, 92, 246, 0.20), transparent 30%),
    radial-gradient(circle at 86% 14%, rgba(0, 213, 255, 0.16), transparent 30%),
    radial-gradient(circle at 62% 90%, rgba(255, 43, 214, 0.10), transparent 34%),
    linear-gradient(rgba(125, 211, 252, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(125, 211, 252, 0.045) 1px, transparent 1px),
    linear-gradient(135deg, #030712 0%, #07111f 48%, #030712 100%);
  background-size: auto, auto, auto, 36px 36px, 36px 36px, auto;
  background-attachment: fixed;
}

body.layout:not(.home-modern-guest)::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(rgba(255,255,255,0.025) 50%, rgba(0,0,0,0.025) 50%);
  background-size: 100% 4px;
  opacity: 0.18;
}

body.home-modern-guest.layout {
  display: block;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "editor";
}
body.home-modern-guest .left-rail,
body.home-modern-guest .right-rail,
body.home-modern-guest .layout-overlay { display: none !important; }
body.home-modern-guest .editor { width: 100%; max-width: none; padding: 0; margin: 0; }

body.layout:not(.home-modern-guest) .app-bar {
  background: linear-gradient(135deg, rgba(10,18,34,.86), rgba(15,25,45,.72));
  border-bottom: 1px solid var(--future-border);
  box-shadow: 0 12px 36px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(18px) saturate(150%);
}
body.layout:not(.home-modern-guest) .app-logo,
body.layout:not(.home-modern-guest) .logo-mark {
  color: var(--future-text);
  text-shadow: 0 0 22px rgba(0,213,255,.24), 0 0 20px rgba(139,92,246,.18);
}
body.layout:not(.home-modern-guest) .logo-accent { color: #7dd3fc; }

body.layout:not(.home-modern-guest) .icon-btn,
body.layout:not(.home-modern-guest) .profile-chip {
  border-radius: var(--future-radius-pill);
  background: var(--future-glass);
  border: 1px solid var(--future-border);
  color: var(--future-text-soft);
}
body.layout:not(.home-modern-guest) .icon-btn:hover,
body.layout:not(.home-modern-guest) .profile-chip:hover { color: var(--future-text); box-shadow: var(--future-glow-cyan); }
body.layout:not(.home-modern-guest) .icon-btn:focus-visible,
body.layout:not(.home-modern-guest) .profile-chip:focus-visible,
body.layout:not(.home-modern-guest) .btn:focus-visible,
body.layout:not(.home-modern-guest) .rail-link:focus-visible { outline: none; box-shadow: 0 0 0 .2rem rgba(0,213,255,.25); }

body.layout:not(.home-modern-guest) .app-search,
body.layout:not(.home-modern-guest) .app-bar input[type="search"] {
  background: rgba(5, 12, 24, 0.72);
  border: 1px solid rgba(125, 211, 252, 0.24);
  color: var(--future-text);
  border-radius: var(--future-radius-pill);
}

body.layout:not(.home-modern-guest) .left-rail,
body.layout:not(.home-modern-guest) .right-rail,
body.layout:not(.home-modern-guest) .sidebar {
  background: linear-gradient(180deg, rgba(10,18,34,.90), rgba(8,14,27,.86));
  border: 1px solid var(--future-border);
  box-shadow: var(--future-shadow-2), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter: blur(16px) saturate(140%);
}
body.layout:not(.home-modern-guest) .rail-link,
body.layout:not(.home-modern-guest) .left-rail .nav-link,
body.layout:not(.home-modern-guest) .right-rail .nav-link {
  border-radius: var(--future-radius-pill);
  color: var(--future-text-soft);
  transition: background-color .16s ease, color .16s ease, box-shadow .18s ease, transform .16s ease;
}
body.layout:not(.home-modern-guest) .rail-link:hover,
body.layout:not(.home-modern-guest) .left-rail .nav-link:hover,
body.layout:not(.home-modern-guest) .right-rail .nav-link:hover {
  color: var(--future-text);
  background: rgba(0,213,255,.08);
  box-shadow: inset 0 0 0 1px rgba(0,213,255,.18);
  transform: translateX(2px);
}
body.layout:not(.home-modern-guest) .rail-link.active,
body.layout:not(.home-modern-guest) .rail-link[aria-current="page"],
body.layout:not(.home-modern-guest) .nav-link.active {
  color: #fff;
  background: linear-gradient(135deg, rgba(0,213,255,.18), rgba(139,92,246,.22));
  box-shadow: inset 0 0 0 1px rgba(0,213,255,.38), 0 0 28px rgba(0,213,255,.14);
}

body.layout:not(.home-modern-guest) .btn { border-radius: var(--future-radius-pill); font-weight: 600; border-width: 1px; }
body.layout:not(.home-modern-guest) .btn-primary { color: #03111f; background: linear-gradient(135deg, #6ee7ff 0%, #00d5ff 35%, #8b5cf6 100%); border-color: rgba(125,211,252,.55); box-shadow: 0 0 0 1px rgba(0,213,255,.18), 0 12px 28px rgba(0,213,255,.22); }
body.layout:not(.home-modern-guest) .btn-secondary,
body.layout:not(.home-modern-guest) .btn-success { color: var(--future-text); background: linear-gradient(135deg, rgba(89,109,255,.42), rgba(139,92,246,.34)); border-color: rgba(139,92,246,.45); }
body.layout:not(.home-modern-guest) .btn-warning { color: #2d2100; background: linear-gradient(135deg, #ffe8a3, #ffd76a); border-color: rgba(255,215,106,.65); }
body.layout:not(.home-modern-guest) .btn-danger { color: #fff0f3; background: linear-gradient(135deg, rgba(255,77,109,.88), rgba(224,36,94,.92)); border-color: rgba(255,77,109,.64); }
body.layout:not(.home-modern-guest) .btn-outline-primary,
body.layout:not(.home-modern-guest) .btn-outline-secondary,
body.layout:not(.home-modern-guest) .btn-link,
body.layout:not(.home-modern-guest) .icon-btn {
  color: var(--future-text-soft);
  background: rgba(11, 19, 36, 0.62);
  border-color: rgba(0,213,255,.35);
}

body.layout:not(.home-modern-guest) .card,
body.layout:not(.home-modern-guest) .info-card,
body.layout:not(.home-modern-guest) .post-card,
body.layout:not(.home-modern-guest) .thread-card,
body.layout:not(.home-modern-guest) .space-card,
body.layout:not(.home-modern-guest) .media-card,
body.layout:not(.home-modern-guest) .profile-header,
body.layout:not(.home-modern-guest) .profile-list__item,
body.layout:not(.home-modern-guest) .profile-stats__item,
body.layout:not(.home-modern-guest) .admin-dashboard-card,
body.layout:not(.home-modern-guest) .settings-section,
body.layout:not(.home-modern-guest) .chat-thread__panel,
body.layout:not(.home-modern-guest) .messages-thread,
body.layout:not(.home-modern-guest) .messages-thread-list__item,
body.layout:not(.home-modern-guest) .modal-content,
body.layout:not(.home-modern-guest) .dropdown-menu,
body.layout:not(.home-modern-guest) .list-group-item,
body.layout:not(.home-modern-guest) .alert {
  background: linear-gradient(180deg, rgba(15,25,45,.94), rgba(9,16,31,.92));
  border: 1px solid var(--future-border);
  border-radius: var(--future-radius-xl);
  box-shadow: var(--future-shadow-1), inset 0 1px 0 rgba(255,255,255,.055);
  color: var(--future-text);
}
body.layout:not(.home-modern-guest) .post-card,
body.layout:not(.home-modern-guest) .thread-card,
body.layout:not(.home-modern-guest) .space-card,
body.layout:not(.home-modern-guest) .media-card,
body.layout:not(.home-modern-guest) .messages-thread-list__item { transition: transform .18s ease, border-color .18s ease, box-shadow .2s ease; }
body.layout:not(.home-modern-guest) .post-card:hover,
body.layout:not(.home-modern-guest) .thread-card:hover,
body.layout:not(.home-modern-guest) .space-card:hover,
body.layout:not(.home-modern-guest) .media-card:hover,
body.layout:not(.home-modern-guest) .messages-thread-list__item:hover { transform: translateY(-2px); border-color: rgba(0,213,255,.34); box-shadow: var(--future-shadow-2), 0 0 34px rgba(0,213,255,.10); }

body.layout:not(.home-modern-guest) .table {
  --bs-table-color: #ffffff;
  --bs-table-bg: transparent;
  --bs-table-border-color: rgba(125, 211, 252, .18);
  --bs-table-striped-color: #ffffff;
  --bs-table-striped-bg: rgba(125, 211, 252, .07);
  --bs-table-hover-color: #ffffff;
  --bs-table-hover-bg: rgba(125, 211, 252, .11);
  color: #ffffff;
  border-color: rgba(125, 211, 252, .18);
}

body.layout:not(.home-modern-guest) .table > :not(caption) > * > * {
  background: transparent;
  border-bottom-color: rgba(125, 211, 252, .18);
  color: #ffffff;
}

body.layout:not(.home-modern-guest) .table thead th {
  color: #ffffff;
}

body.layout:not(.home-modern-guest) .form-control,
body.layout:not(.home-modern-guest) .form-select,
body.layout:not(.home-modern-guest) textarea,
body.layout:not(.home-modern-guest) input[type="text"],
body.layout:not(.home-modern-guest) input[type="email"],
body.layout:not(.home-modern-guest) input[type="password"],
body.layout:not(.home-modern-guest) input[type="search"],
body.layout:not(.home-modern-guest) input[type="number"],
body.layout:not(.home-modern-guest) .input-group-text {
  min-height: 2.7rem;
  border-radius: var(--future-radius-md);
  color: var(--future-text);
  background: rgba(5, 12, 24, 0.72);
  border: 1px solid rgba(125, 211, 252, 0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
body.layout:not(.home-modern-guest) .form-control:focus,
body.layout:not(.home-modern-guest) .form-select:focus,
body.layout:not(.home-modern-guest) textarea:focus,
body.layout:not(.home-modern-guest) input:focus { color: var(--future-text); background: rgba(8,16,31,.88); border-color: rgba(0,213,255,.70); box-shadow: 0 0 0 .22rem rgba(0,213,255,.18), 0 0 24px rgba(0,213,255,.12); }

body.layout:not(.home-modern-guest) {
  --chat-received-bg: rgba(15, 23, 42, 0.92);
  --chat-received-border: rgba(125, 211, 252, 0.16);
  --chat-received-text: #f4f8ff;
  --chat-received-muted: #8ea2c8;

  --chat-own-bg-a: #312e81;
  --chat-own-bg-b: #1d4ed8;
  --chat-own-bg-c: #0891b2;
  --chat-own-border: rgba(0, 213, 255, 0.36);
  --chat-own-text: #ffffff;
  --chat-own-muted: rgba(240, 249, 255, 0.72);

  --chat-system-bg: rgba(255, 215, 106, 0.11);
  --chat-system-border: rgba(255, 215, 106, 0.34);
  --chat-system-text: #fff2bd;

  --chat-danger-bg: rgba(255, 77, 109, 0.12);
  --chat-danger-border: rgba(255, 77, 109, 0.38);
}

body.layout:not(.home-modern-guest) .message-bubble {
  color: var(--chat-received-text);
  background: linear-gradient(180deg, color-mix(in srgb, var(--chat-received-bg) 94%, white 6%), var(--chat-received-bg));
  border: 1px solid var(--chat-received-border);
  border-radius: 18px 18px 18px 7px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

body.layout:not(.home-modern-guest) .message-row--own .message-bubble {
  color: var(--chat-own-text);
  background: radial-gradient(circle at 15% 15%, rgba(0, 213, 255, 0.22), transparent 34%), linear-gradient(135deg, var(--chat-own-bg-a) 0%, var(--chat-own-bg-b) 55%, var(--chat-own-bg-c) 100%);
  border: 1px solid var(--chat-own-border);
  border-radius: 18px 18px 7px 18px;
  box-shadow: 0 10px 28px rgba(0, 213, 255, 0.14), 0 0 0 1px rgba(139, 92, 246, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.layout:not(.home-modern-guest) .message-bubble__meta,
body.layout:not(.home-modern-guest) .message-meta,
body.layout:not(.home-modern-guest) .message-timestamp {
  color: var(--chat-received-muted);
  font-size: 0.72rem;
  letter-spacing: 0.01em;
}

body.layout:not(.home-modern-guest) .message-row--own .message-bubble__meta,
body.layout:not(.home-modern-guest) .message-row--own .message-meta,
body.layout:not(.home-modern-guest) .message-row--own .message-timestamp {
  color: var(--chat-own-muted);
}

body.layout:not(.home-modern-guest) .message-bubble a {
  color: #7dd3fc;
  font-weight: 700;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

body.layout:not(.home-modern-guest) .message-row--own .message-bubble a {
  color: #e0faff;
}

body.layout:not(.home-modern-guest) .message-bubble--system,
body.layout:not(.home-modern-guest) .system-message,
body.layout:not(.home-modern-guest) .message-row--system .message-bubble,
body.layout:not(.home-modern-guest) .message-bubble[data-message-type="system"] {
  color: var(--chat-system-text);
  background: linear-gradient(135deg, var(--chat-system-bg), rgba(255, 176, 0, 0.07));
  border: 1px solid var(--chat-system-border);
  box-shadow: 0 0 0 1px rgba(255, 215, 106, 0.10), 0 8px 24px rgba(255, 176, 0, 0.08);
}

body.layout:not(.home-modern-guest) .message-bubble--danger,
body.layout:not(.home-modern-guest) .message-bubble--error,
body.layout:not(.home-modern-guest) .message-row--moderation .message-bubble,
body.layout:not(.home-modern-guest) .message-bubble[data-message-type="error"],
body.layout:not(.home-modern-guest) .message-bubble[data-message-type="moderation"] {
  background: linear-gradient(135deg, var(--chat-danger-bg), rgba(126, 24, 46, 0.12));
  border: 1px solid var(--chat-danger-border);
}

body.layout:not(.home-modern-guest) .message-bubble .attachment,
body.layout:not(.home-modern-guest) .message-bubble .message-attachment,
body.layout:not(.home-modern-guest) .message-bubble .message-media,
body.layout:not(.home-modern-guest) .message-bubble img,
body.layout:not(.home-modern-guest) .message-bubble video {
  display: block;
  margin-inline: auto;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--chat-received-border) 92%, transparent 8%);
}

body.layout:not(.home-modern-guest) .message-row--own .message-bubble .attachment,
body.layout:not(.home-modern-guest) .message-row--own .message-bubble .message-attachment,
body.layout:not(.home-modern-guest) .message-row--own .message-bubble .message-media,
body.layout:not(.home-modern-guest) .message-row--own .message-bubble img,
body.layout:not(.home-modern-guest) .message-row--own .message-bubble video {
  border-color: rgba(224, 250, 255, 0.32);
}

body.layout:not(.home-modern-guest) .table,
body.layout:not(.home-modern-guest) .table-responsive { color: var(--future-text); background: rgba(8,16,31,.74); border-color: rgba(125,211,252,.22); }
body.layout:not(.home-modern-guest) .table > :not(caption) > * > * { background: transparent; border-bottom-color: rgba(125,211,252,.18); }
body.layout:not(.home-modern-guest) .table tbody tr:hover { background: rgba(0,213,255,.06); }

body.layout:not(.home-modern-guest) .badge { background: rgba(0,213,255,.16); border: 1px solid rgba(0,213,255,.24); color: #d9f8ff; }
body.layout:not(.home-modern-guest) .profile-initial,
body.layout:not(.home-modern-guest) .profile-avatar,
body.layout:not(.home-modern-guest) .chat-thread__avatar,
body.layout:not(.home-modern-guest) .message-row__avatar img { border-radius: 999px; background: linear-gradient(135deg, var(--future-cyan), var(--future-violet)); box-shadow: 0 0 0 2px rgba(5,12,24,.9), 0 0 24px rgba(0,213,255,.20); }

@media (max-width: 1199.98px) {
  body.layout:not(.home-modern-guest) { overflow-x: hidden; }
  body.layout:not(.home-modern-guest) .editor { padding: 1rem; }
}

/* Layout rescue: keep authenticated center column breathable and full-width. */
body.layout:not(.home-modern-guest) .editor {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  padding: 0;
}

body.layout:not(.home-modern-guest) .app-content-shell {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-inline: auto;
  padding: clamp(0.8rem, 1.5vw, 1.2rem);
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: var(--future-radius-xl);
  background: transparent;
}

body.layout-feed .short-deck-page,
body.layout-feed .short-deck {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-inline: auto;
  box-sizing: border-box;
}

body.layout-feed .editor {
  margin: 0;
  padding: 0;
}

body.layout-feed .short-deck-page {
  padding-inline: 0;
}

body.layout-feed .short-deck .short-card {
  width: 100%;
  margin-inline: 0;
}

.discover-page {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin-inline: auto;
  padding: clamp(0.7rem, 1.4vw, 1.15rem);
}

.discover-page__search {
  margin: 0;
}

.discover-page__results.list-group {
  width: 100%;
}

.discover-page__results .list-group-item {
  border-radius: var(--future-radius-md);
}

html.ui-light-mode,
body.ui-light-mode {
  color-scheme: dark !important;
}

body.layout.ui-light-mode {
  background: var(--future-bg, #030712) !important;
  color: var(--future-text, #f4f8ff) !important;
}

body.layout.ui-light-mode .editor,
body.layout.ui-light-mode .app-content-shell {
  background-color: transparent;
  color: inherit;
}

@media (max-width: 767.98px) {
  body.layout:not(.home-modern-guest) .editor {
    padding: 0;
  }

  body.layout-feed .editor,
  body.layout-feed .short-deck-page,
  .discover-page {
    padding-inline: 0;
  }

  .discover-page .list-group-item,
  body.layout-feed .short-card {
    overflow: hidden;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.layout:not(.home-modern-guest) *,
  body.layout:not(.home-modern-guest) *::before,
  body.layout:not(.home-modern-guest) *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Spaces command-board refresh */
.spaces-theme {
  --space-bg: #030712;
  --space-panel: rgba(10, 18, 34, 0.88);
  --space-panel-2: rgba(15, 25, 45, 0.94);
  --space-panel-hot: rgba(24, 16, 50, 0.94);
  --space-text: #f7fbff;
  --space-text-soft: #bcc9e8;
  --space-text-muted: #8091bd;
  --space-border: rgba(125, 211, 252, 0.20);
  --space-border-hot: rgba(255, 215, 106, 0.34);
  --space-cyan: #00d5ff;
  --space-violet: #8b5cf6;
  --space-pink: #ff2bd6;
  --space-gold: #ffd76a;
  --space-glow-cyan: 0 0 0 1px rgba(0, 213, 255, .25), 0 0 28px rgba(0, 213, 255, .14);
  --space-glow-gold: 0 0 0 1px rgba(255, 215, 106, .28), 0 0 30px rgba(255, 215, 106, .15);
}
.spaces-theme .spaces-command,.spaces-theme .space-search {background: var(--space-panel); border:1px solid var(--space-border); border-radius:18px; box-shadow: var(--space-glow-cyan), inset 0 1px 0 rgba(255,255,255,.05);} 
.spaces-theme .spaces-kicker {text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--space-gold);} 
.spaces-theme .spaces-subtitle {color:var(--space-text-soft);} 
.spaces-theme .spaces-filter-rail {display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .1rem .7rem;scrollbar-width:thin;}
.spaces-theme .spaces-filter-chip {flex:0 0 auto;border-radius:999px;padding:.5rem .82rem;font-weight:800;font-size:.82rem;color:var(--space-text-soft);background:rgba(10,18,34,.76);border:1px solid rgba(125,211,252,.16);text-decoration:none;}
.spaces-theme .spaces-filter-chip.active,.spaces-theme .spaces-filter-chip[aria-current='page'] {color:#07111f;background:linear-gradient(135deg,#fff4b8,var(--space-gold),#ffb000);border-color:rgba(255,215,106,.7);box-shadow:var(--space-glow-gold);} 
.spaces-theme .spaces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(.7rem,1.3vw,1rem);} 
.spaces-theme .space-card{position:relative;overflow:hidden;padding:.78rem .82rem;border-radius:16px;background:radial-gradient(circle at 16% 12%, rgba(0,213,255,.12), transparent 32%),radial-gradient(circle at 92% 10%, rgba(255,43,214,.10), transparent 30%),linear-gradient(180deg, rgba(15,25,45,.94), rgba(7,14,28,.94));border:1px solid var(--space-border);box-shadow:0 10px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.055);} 
.spaces-theme .space-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--space-cyan),var(--space-violet),var(--space-pink));opacity:.85;}
.spaces-theme .space-card:hover{transform:translateY(-2px);border-color:rgba(0,213,255,.38);box-shadow:0 18px 44px rgba(0,0,0,.36),0 0 34px rgba(0,213,255,.12);} 
.spaces-theme .space-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--space-text-soft);font-size:.9rem;}
.spaces-theme .space-stat-chip,.spaces-theme .space-meta-chip,.spaces-theme .thread-stat-chip{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.28rem .55rem;font-size:.74rem;font-weight:800;color:var(--space-text-soft);background:rgba(0,213,255,.07);border:1px solid rgba(0,213,255,.16);} 
.spaces-theme .space-stat-chip--hot,.spaces-theme .thread-stat-chip--hot{color:#2a1600;background:linear-gradient(135deg,#fff4b8,var(--space-gold),#ffb000);border-color:rgba(255,215,106,.62);box-shadow:var(--space-glow-gold);} 
.spaces-theme .space-open-cta{display:inline-flex;padding:.3rem .75rem;border-radius:999px;border:1px solid rgba(255,215,106,.52);font-size:.76rem;font-weight:900;color:#07111f;background:linear-gradient(135deg,#fff4b8,var(--space-gold),#ffb000);} 
.spaces-theme .space-thread-list{display:grid;gap:.7rem;width:100%;}
.spaces-theme .space-thread-card{border-radius:18px;background:linear-gradient(180deg,rgba(15,25,45,.94),rgba(8,15,30,.94));border:1px solid var(--space-border);} 
.spaces-theme .space-thread-summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;padding:.85rem 1rem;align-items:center;}
.spaces-theme .space-thread-summary::-webkit-details-marker{display:none;}
.spaces-theme .space-thread-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--space-text-soft);font-size:.92rem;}
.spaces-theme .space-thread-expanded{border-top:1px solid rgba(125,211,252,.14);padding:1rem;background:radial-gradient(circle at 8% 0%, rgba(0,213,255,.07), transparent 28%), rgba(3,7,18,.18);} 
.spaces-theme .space-thread-toggle{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.42rem .7rem;font-size:.78rem;font-weight:900;color:var(--space-cyan);background:rgba(0,213,255,.08);border:1px solid rgba(0,213,255,.22);} 
.spaces-theme details[open] .space-thread-toggle{color:#2a1600;background:linear-gradient(135deg,#fff4b8,var(--space-gold),#ffb000);border-color:rgba(255,215,106,.6);box-shadow:var(--space-glow-gold);} 
.spaces-theme details[open] .space-thread-toggle::after{content:' · Collapse';}
.spaces-theme details:not([open]) .space-thread-toggle::after{content:' · Expand';}
.spaces-theme .space-media--preview{max-height:110px;object-fit:cover;border-radius:12px;border:1px solid rgba(125,211,252,.16);} 
.spaces-theme .space-media--thread{max-height:400px;object-fit:contain;border-radius:14px;border:1px solid rgba(125,211,252,.16);background:rgba(0,0,0,.24);} 
.spaces-theme .btn-primary,.spaces-theme .space-primary-cta{color:#07111f;font-weight:900;background:linear-gradient(135deg,#fff4b8 0%, var(--space-gold) 34%, #ffb000 70%, #fff0a3 100%);border:1px solid rgba(255,215,106,.65);box-shadow:0 0 0 1px rgba(255,215,106,.22),0 12px 30px rgba(255,176,0,.22);} 
.spaces-theme .space-empty-state{border:1px dashed var(--space-border);border-radius:16px;padding:1rem;color:var(--space-text-soft);background:rgba(10,18,34,.45);} 
@media (max-width: 720px){.spaces-theme .space-thread-summary{grid-template-columns:1fr;} .spaces-theme .space-primary-cta,.spaces-theme .spaces-command__actions .btn{width:100%;}}

/* Spaces UI refinement: command board layout */
.spaces-theme { color: var(--space-text); }
.spaces-theme .spaces-command { padding: clamp(.9rem, 2vw, 1.2rem); }
.spaces-theme .spaces-command__row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:start; }
.spaces-theme .spaces-command__actions { width:min(100%, 330px); }
.spaces-theme .spaces-command__stats { display:flex; gap:.45rem; flex-wrap:wrap; }
.spaces-theme .space-search { border: 1px solid rgba(125,211,252,.22); background: rgba(5,12,24,.64); }
.spaces-theme .space-search .form-control { background: rgba(3,7,18,.85); color: var(--space-text); border-color: rgba(125,211,252,.25); }
.spaces-theme .space-search .form-control::placeholder { color: var(--space-text-muted); }
.spaces-theme .space-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.spaces-theme .space-card .h6, .spaces-theme .space-card .fw-semibold { color: var(--space-text) !important; }
.spaces-theme .space-zone-card { border-radius: var(--space-radius-lg); border: 1px solid var(--space-border); background: linear-gradient(180deg, rgba(15,25,45,.94), rgba(8,15,30,.9)); box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.spaces-theme .space-board-header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.spaces-theme .space-thread-card { box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.spaces-theme .space-thread-summary { transition: background-color .15s ease; }
.spaces-theme .space-thread-summary:hover { background: rgba(0,213,255,.06); }
.spaces-theme .space-thread-thumb img,.spaces-theme .space-thread-thumb video { width:100%; max-height:110px; object-fit:cover; border-radius:12px; border:1px solid rgba(125,211,252,.16); }
.spaces-theme details[open] .space-thread-expanded { animation: spaceFade .15s ease-out; }
@keyframes spaceFade { from { opacity:.45; transform: translateY(-2px);} to { opacity:1; transform: translateY(0);} }
.spaces-theme .btn-outline-secondary { color: var(--space-cyan); border-color: rgba(0,213,255,.35); background: rgba(0,213,255,.08); }
.spaces-theme .btn-outline-secondary:hover { color: #05111f; background: linear-gradient(120deg, rgba(0,213,255,.95), rgba(139,92,246,.9)); border-color: transparent; }
@media (max-width: 900px) {
  .spaces-theme .spaces-command__row { grid-template-columns:1fr; }
  .spaces-theme .spaces-command__actions { width:100%; }
}
@media (max-width: 720px) {
  .spaces-theme .space-board-header { flex-direction:column; align-items:stretch; }
  .spaces-theme .space-board-header .btn { width:100%; }
}


body.layout-chat:not(.home-modern-guest) .chat-thread__panel {
  background: transparent;
}

/* Casino accent layer for authenticated app */
body.layout:not(.home-modern-guest) {
  --casino-void: #05000d;
  --casino-black-purple: #090014;
  --casino-deep-purple: #14002b;
  --casino-royal-purple: #34105f;
  --casino-velvet: #210033;
  --casino-neon-pink: #ff2bd6;
  --casino-neon-blue: #00d5ff;
  --casino-electric-cyan: #3df7ff;
  --casino-jackpot-gold: #ffd76a;
  --casino-hot-gold: #ffb000;
  --casino-amber: #ff8a00;
  --casino-ruby: #ff1744;
  --casino-lime-spark: #b6ff3d;
  --casino-text-bright: #fff8e7;
  --casino-text-soft: #c9b8ff;
  --casino-text-muted: #8d82b8;
  --casino-glow-cyan: 0 0 0 1px rgba(61, 247, 255, .22), 0 0 28px rgba(0, 213, 255, .18);
  --casino-glow-pink: 0 0 0 1px rgba(255, 43, 214, .20), 0 0 32px rgba(255, 43, 214, .16);
  --casino-glow-gold: 0 0 0 1px rgba(255, 215, 106, .28), 0 0 34px rgba(255, 176, 0, .18);
  --casino-glow-lime: 0 0 0 1px rgba(182, 255, 61, .20), 0 0 28px rgba(182, 255, 61, .13);
  --casino-glow-ruby: 0 0 0 1px rgba(255, 23, 68, .24), 0 0 30px rgba(255, 23, 68, .14);
  --casino-panel: rgba(9, 0, 20, .84);
  --casino-panel-2: rgba(20, 0, 43, .78);
  --casino-panel-strong: rgba(18, 6, 34, .92);
  --casino-border: rgba(61, 247, 255, .24);
  --casino-border-soft: rgba(201, 184, 255, .20);
  --casino-border-gold: rgba(255, 215, 106, .34);
  --casino-border-pink: rgba(255, 43, 214, .26);
  color: var(--casino-text-bright);
  background:
    radial-gradient(circle at 12% 16%, rgba(255, 43, 214, .20), transparent 30%),
    radial-gradient(circle at 86% 12%, rgba(0, 213, 255, .18), transparent 32%),
    radial-gradient(circle at 72% 86%, rgba(255, 176, 0, .11), transparent 30%),
    radial-gradient(circle at 34% 70%, rgba(52, 16, 95, .18), transparent 34%),
    linear-gradient(rgba(61, 247, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 43, 214, .035) 1px, transparent 1px),
    linear-gradient(135deg, var(--casino-void), var(--casino-deep-purple) 46%, var(--casino-void));
  background-size: auto, auto, auto, auto, 36px 36px, 36px 36px, auto;
}

body.layout:not(.home-modern-guest) .app-bar {
  background: linear-gradient(135deg, rgba(20, 0, 43, .88), rgba(9, 0, 20, .86));
  border-bottom: 1px solid var(--casino-border);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .42), inset 0 -1px 0 rgba(255, 215, 106, .18), inset 0 1px 0 rgba(255, 248, 231, .06);
}
body.layout:not(.home-modern-guest) .app-logo { color: var(--casino-text-bright); }
body.layout:not(.home-modern-guest) .logo-mark,
body.layout:not(.home-modern-guest) .logo-accent { background: linear-gradient(120deg, var(--casino-jackpot-gold), var(--casino-electric-cyan) 58%, var(--casino-neon-pink)); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.layout:not(.home-modern-guest) .profile-chip .profile-initial { background: linear-gradient(145deg, var(--casino-royal-purple), var(--casino-neon-blue)); color: #fff; }

body.layout:not(.home-modern-guest) .left-rail,
body.layout:not(.home-modern-guest) .right-rail,
body.layout:not(.home-modern-guest) .sidebar,
body.layout:not(.home-modern-guest) .app-content-shell,
body.layout:not(.home-modern-guest) .card,
body.layout:not(.home-modern-guest) .info-card,
body.layout:not(.home-modern-guest) .post-card,
body.layout:not(.home-modern-guest) .thread-card,
body.layout:not(.home-modern-guest) .space-card,
body.layout:not(.home-modern-guest) .media-card,
body.layout:not(.home-modern-guest) .profile-header,
body.layout:not(.home-modern-guest) .profile-list__item,
body.layout:not(.home-modern-guest) .profile-stats__item,
body.layout:not(.home-modern-guest) .admin-dashboard-card,
body.layout:not(.home-modern-guest) .settings-section,
body.layout:not(.home-modern-guest) .chat-thread__panel,
body.layout:not(.home-modern-guest) .messages-thread,
body.layout:not(.home-modern-guest) .messages-thread-list__item,
body.layout:not(.home-modern-guest) .modal-content,
body.layout:not(.home-modern-guest) .dropdown-menu,
body.layout:not(.home-modern-guest) .list-group-item,
body.layout:not(.home-modern-guest) .alert {
  background: radial-gradient(circle at 14% 0%, rgba(61, 247, 255, .08), transparent 34%), radial-gradient(circle at 92% 8%, rgba(255, 43, 214, .07), transparent 30%), linear-gradient(180deg, rgba(20, 0, 43, .86), rgba(9, 0, 20, .90));
  border-color: var(--casino-border-soft);
  box-shadow: 0 14px 36px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255, 248, 231, .055);
  color: var(--casino-text-bright);
}
body.layout:not(.home-modern-guest) .post-card:hover,
body.layout:not(.home-modern-guest) .thread-card:hover,
body.layout:not(.home-modern-guest) .space-card:hover,
body.layout:not(.home-modern-guest) .media-card:hover,
body.layout:not(.home-modern-guest) .messages-thread-list__item:hover,
body.layout:not(.home-modern-guest) .profile-list__item:hover,
body.layout:not(.home-modern-guest) .settings-section:hover { border-color: rgba(61, 247, 255, .42); box-shadow: 0 18px 48px rgba(0, 0, 0, .44), 0 0 34px rgba(0, 213, 255, .13), 0 0 26px rgba(255, 43, 214, .08); }

body.layout:not(.home-modern-guest) .post-card,
body.layout:not(.home-modern-guest) .thread-card,
body.layout:not(.home-modern-guest) .space-card,
body.layout:not(.home-modern-guest) .media-card,
body.layout:not(.home-modern-guest) .messages-thread-list__item,
body.layout:not(.home-modern-guest) .admin-dashboard-card,
body.layout:not(.home-modern-guest) .settings-section,
body.layout:not(.home-modern-guest) .profile-header { position: relative; overflow: hidden; }
body.layout:not(.home-modern-guest) .post-card::before,
body.layout:not(.home-modern-guest) .thread-card::before,
body.layout:not(.home-modern-guest) .space-card::before,
body.layout:not(.home-modern-guest) .media-card::before,
body.layout:not(.home-modern-guest) .messages-thread-list__item::before,
body.layout:not(.home-modern-guest) .admin-dashboard-card::before,
body.layout:not(.home-modern-guest) .settings-section::before,
body.layout:not(.home-modern-guest) .profile-header::before { content:""; position:absolute; inset:0 0 auto 0; height:2px; background:linear-gradient(90deg,var(--casino-jackpot-gold),var(--casino-electric-cyan),var(--casino-neon-pink)); opacity:.78; pointer-events:none; }

body.layout:not(.home-modern-guest) .rail-link,
body.layout:not(.home-modern-guest) .nav-link { color: var(--casino-text-soft); }
body.layout:not(.home-modern-guest) .rail-link:hover,
body.layout:not(.home-modern-guest) .nav-link:hover { color: var(--casino-text-bright); box-shadow: var(--casino-glow-cyan); }
body.layout:not(.home-modern-guest) .rail-link.active,
body.layout:not(.home-modern-guest) .nav-link.active { color:#2a1600; background: linear-gradient(135deg,#fff4b8,var(--casino-jackpot-gold),var(--casino-electric-cyan)); }

body.layout:not(.home-modern-guest) .btn-primary { color: #2a1600; background: linear-gradient(135deg, #fff4b8 0%, var(--casino-jackpot-gold) 30%, var(--casino-hot-gold) 66%, #fff0a3 100%); border-color: rgba(255, 215, 106, .72); box-shadow: 0 0 18px rgba(255, 215, 106, .42), 0 12px 28px rgba(255, 176, 0, .22), inset 0 1px 0 rgba(255,255,255,.65); }
body.layout:not(.home-modern-guest) .btn-outline-primary,
body.layout:not(.home-modern-guest) .btn-outline-secondary,
body.layout:not(.home-modern-guest) .btn-link,
body.layout:not(.home-modern-guest) .icon-btn { color: var(--casino-electric-cyan); background: rgba(9, 0, 20, .58); border-color: rgba(61, 247, 255, .42); box-shadow: inset 0 0 0 1px rgba(255, 43, 214, .12); }
body.layout:not(.home-modern-guest) .btn-warning { color: #2a1600; background: linear-gradient(135deg,#fff4b8,var(--casino-jackpot-gold),var(--casino-hot-gold)); border-color: rgba(255,215,106,.72); }
body.layout:not(.home-modern-guest) .btn-danger { color: #fff; background: linear-gradient(135deg,#ff6b8a,var(--casino-ruby)); border-color: rgba(255,23,68,.62); box-shadow: var(--casino-glow-ruby); }
body.layout:not(.home-modern-guest) .btn-success { color: #152200; background: linear-gradient(135deg,#e4ffc2,var(--casino-lime-spark)); border-color: rgba(182,255,61,.64); box-shadow: var(--casino-glow-lime); }

body.layout:not(.home-modern-guest) .form-control,
body.layout:not(.home-modern-guest) .form-select,
body.layout:not(.home-modern-guest) .input-group-text { background: rgba(9, 0, 20, .74); border-color: var(--casino-border-soft); color: var(--casino-text-bright); }
body.layout:not(.home-modern-guest) .form-control::placeholder,
body.layout:not(.home-modern-guest) input::placeholder,
body.layout:not(.home-modern-guest) textarea::placeholder { color: var(--casino-text-muted); }
body.layout:not(.home-modern-guest) .form-control:focus,
body.layout:not(.home-modern-guest) .form-select:focus,
body.layout:not(.home-modern-guest) input:focus,
body.layout:not(.home-modern-guest) textarea:focus { border-color: rgba(61,247,255,.7); box-shadow: 0 0 0 .22rem rgba(0,213,255,.2), 0 0 24px rgba(255,43,214,.12); }

body.layout:not(.home-modern-guest) .badge.bg-warning,
body.layout:not(.home-modern-guest) .chip-warning { background: linear-gradient(135deg,#fff4b8,var(--casino-jackpot-gold),var(--casino-hot-gold)); color:#2a1600; }
body.layout:not(.home-modern-guest) .badge.bg-danger,
body.layout:not(.home-modern-guest) .badge.text-bg-danger { background: linear-gradient(135deg,#ff6b8a,var(--casino-ruby)); }
body.layout:not(.home-modern-guest) .badge.bg-success,
body.layout:not(.home-modern-guest) .presence-online { background: linear-gradient(135deg,#e4ffc2,var(--casino-lime-spark)); color:#1e2d00; }

/* Casino accent alignment for Spaces */
.spaces-theme {
  --space-bg: #05000d;
  --space-bg-2: #14002b;
  --space-panel: rgba(9, 0, 20, .84);
  --space-border: rgba(61, 247, 255, .24);
  --space-cyan: #3df7ff;
  --space-violet: #34105f;
  --space-pink: #ff2bd6;
  --space-gold: #ffd76a;
  --space-text: #fff8e7;
  --space-text-soft: #c9b8ff;
  --space-text-muted: #8d82b8;
}
.spaces-theme .spaces-filter-chip { background: rgba(9,0,20,.76); border-color: rgba(201,184,255,.24); color: var(--space-text-soft); }
.spaces-theme .spaces-filter-chip:hover { border-color: rgba(61,247,255,.45); box-shadow: 0 0 18px rgba(0,213,255,.14), 0 0 14px rgba(255,43,214,.1); }
.spaces-theme .space-stat-chip--hot,.spaces-theme .thread-stat-chip--hot,.spaces-theme .spaces-filter-chip.active,.spaces-theme .spaces-filter-chip[aria-current='page'] { color: #2a1600; }
