/* Kinobot brand layer (loaded after hub_theme.css). Colors come from kinobot.config.json "branding" via the
   inline :root vars in partials/hub_theme_head.html; these are the fallbacks. */
html[data-theme="red"] {
  --kb-accent: #e8141c; --kb-accent-hover: #ff2a2f; --kb-accent-dim: #7a0b10; --kb-accent-rgb: 232, 20, 28; --kb-bg: #0b0b0d;
  --accent-base: var(--kb-accent); --accent-strong: var(--kb-accent-hover); --accent-soft: rgba(var(--kb-accent-rgb), 0.28);
  --accent-fg: #ffffff; --accent-icon: #ff3a40; --accent-text: #ff9da0;
}
html[data-theme="red"], html[data-theme="red"] body { background-color: var(--kb-bg); color-scheme: dark; }
/* header: Kino wordmark instead of the round server icon + two-word title */
.kb-brand { display: flex; align-items: center; gap: 0.55rem; min-width: 0; }
.kb-logo-link { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none !important; border: 0 !important; box-shadow: none !important; background: none !important; }
.kb-logo { display: block; height: 46px; width: auto; filter: drop-shadow(0 2px 8px rgba(0,0,0,0.6)); }
.kb-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kb-brand .hub-title-sep { margin-left: 0 !important; }
html[data-theme="red"][data-tpl] .hub-top h1 .hub-title-accent { background: linear-gradient(120deg, #ff2a2f 0%, #ff6a6e 55%, #ffb3b5 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
@media (max-width: 600px) { .kb-logo { height: 36px; } }
.hub-credit { color: rgba(255, 160, 163, 0.5) !important; }

/* profile-picture menu: own scroll when taller than the screen; long lines tick sideways (hub_marquee) */
.hub-user-menu { max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch; scrollbar-width: thin; max-width: min(19rem, calc(100vw - 16px)); box-sizing: border-box; }
.hub-user-menu .hub-mq, .hub-user-menu-name, .hub-user-menu-user { display: block; white-space: nowrap; overflow: hidden; max-width: 100%; }
.hub-user-menu-actions { flex-direction: column; align-items: stretch !important; }
.hub-user-menu-actions > a, .hub-user-menu-actions > button { white-space: nowrap; overflow: hidden; display: block; text-align: left; }
.kb-gb { margin: 0.45rem 0 0.5rem; padding: 0.55rem 0.65rem; border-radius: 10px; background: rgba(var(--kb-accent-rgb), 0.12);
  border: 1px solid rgba(var(--kb-accent-rgb), 0.35); }
.kb-gb-l { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: #ff9da0; }
.kb-gb-v { font-size: 1.25rem; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; line-height: 1.25; }
.kb-gb-s { font-size: 0.72rem; color: #a1a1aa; }
.kb-gb a { color: #ff9da0; }
.kb-mock-badge { position: fixed; right: 8px; bottom: 8px; z-index: 10000; padding: 2px 8px; border-radius: 999px; font: 700 10px/1.6 system-ui, sans-serif;
  letter-spacing: .08em; color: #fff; background: rgba(var(--kb-accent-rgb), .85); pointer-events: none; text-transform: uppercase; }
html[data-theme="red"] .hub-user-menu, html[data-theme="red"] .hub-nav-dd-menu { background: rgba(14,14,17,0.97) !important; border-color: rgba(var(--kb-accent-rgb), 0.28) !important; }
html[data-theme="red"] .hub-nav-dd-menu a.cur { background: rgba(var(--kb-accent-rgb), 0.18) !important; }
