.lk-stream-settings-entry {
  display: flex; align-items: center; width: 100%; padding: 8px 14px; box-sizing: border-box;
  color: var(--text-secondary); font: 13px var(--font-sans, sans-serif); text-decoration: none;
}
.lk-stream-settings-entry:hover, .lk-stream-settings-entry[aria-current] { background: var(--bg-hover); color: var(--text-primary); }
.lk-stream-settings-entry:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.lk-stream-frame { display: block; width: 100%; height: 600px; border: 0; color-scheme: normal; }
#profile-stream { margin-bottom: 28px; overflow: hidden; border-radius: var(--radius-lg, 12px); }
.lk-stream-access-notice { padding: 24px 0; color: var(--text-secondary); }
.lk-stream-access-notice a { color: var(--accent); }
/* /settings/streaming uses the admin panel's design (css/panel.css); these are the extras
   the site header's auth pill and dropdown (js/auth.js) need there. */
.streaming-settings-page { --radius-lg: 12px; --shadow-pop: 0 12px 32px rgba(0,0,0,.35); }
.settings-nav { position: relative; }
.settings-nav .lk-pill { display: flex; align-items: center; gap: 8px; border: 1px solid var(--border-hover); border-radius: var(--radius-sm); padding: 6px 12px; background: var(--bg-surface); color: var(--text-primary); cursor: pointer; font: 500 13px var(--font-sans); }
.settings-nav .lk-pill:hover { background: var(--bg-hover); }
.streaming-settings-page #streaming-settings-mount .lk-stream-frame { border-radius: var(--radius); }
.streaming-settings-page [data-section-panel][hidden] { display: none; }
/* At phone width the brand, its tag and the account pill overflowed the header by ~30px. */
.settings-nav .lk-pill .label { max-width: 16ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 480px) { .streaming-settings-page .brand .tag { display: none; } }

/* Reporting sits under the player rather than over it: it must never be something a
   viewer can hit while reaching for a playback control. */
.lk-stream-report { display: flex; flex-direction: column; gap: 8px; padding: 10px 2px 0; }
.lk-stream-report-open {
  align-self: flex-start; padding: 4px 10px; border: 1px solid var(--border, #2a2a33); border-radius: 6px;
  background: transparent; color: var(--text-muted, #9a9aa6); font: inherit; font-size: 12px; cursor: pointer;
}
.lk-stream-report-open:hover { color: var(--text, #e8e8ef); border-color: var(--text-muted, #9a9aa6); }
.lk-stream-report-form { display: flex; flex-direction: column; gap: 8px; max-width: 420px; }
.lk-stream-report-form[hidden] { display: none; }
.lk-stream-report-reason, .lk-stream-report-note {
  padding: 6px 8px; border: 1px solid var(--border, #2a2a33); border-radius: 6px;
  background: var(--surface, #16161a); color: var(--text, #e8e8ef); font: inherit; font-size: 13px;
}
.lk-stream-report-note { resize: vertical; min-height: 44px; }
.lk-stream-report-submit {
  align-self: flex-start; padding: 5px 12px; border: 0; border-radius: 6px;
  background: var(--accent, #7c5cff); color: #fff; font: inherit; font-size: 13px; cursor: pointer;
}
.lk-stream-report-submit:disabled { opacity: .6; cursor: default; }
.lk-stream-report-status:empty { display: none; }
.lk-stream-report-status { margin: 0; color: var(--text-muted, #9a9aa6); font-size: 12px; }

/* Bigscreen: the profile's stream frame covers the window; its embed lays out player and chat. */
html.lk-bigscreen-open { overflow: hidden; }
#profile-stream.lk-bigscreen { position: fixed; inset: 0; z-index: 1000; margin: 0; border-radius: 0; background: #000; }
/* Beats the height the embed reports for the inline layout. */
#profile-stream.lk-bigscreen .lk-stream-frame { height: 100% !important; }
#profile-stream.lk-bigscreen .lk-stream-report { display: none; }
