/* LittleScreen launch shell. Final owner after shared and page-specific CSS.
   Amber/plum theater surfaces stay intact; global controls occupy stable zones. */
:root {
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px; --sp-6:32px;
  --tap:44px; --tap-lg:56px; --topnav-h:56px; --bottombar-h:64px;
  --sheet-radius:18px; --dur:240ms; --ease-sheet:cubic-bezier(.32,.72,0,1);
  --fs-cap:.75rem; --fs-sm:.875rem; --fs-base:1rem; --fs-lg:1.25rem;
  --ls-focus:#ffd48a; --ls-safe-bottom:env(safe-area-inset-bottom,0px);
  --kb-inset:0px; --ls-viewport-height:100dvh; --ls-composer-h:0px;
}
body.ls-sheet-open { position:fixed; top:var(--ls-scroll-lock); width:100%; overflow:hidden; }
button, a, input, select, textarea { touch-action:manipulation; }
:focus-visible { outline:3px solid var(--ls-focus); outline-offset:3px; }
.ls-sheet-backdrop { position:fixed; inset:0; z-index:3000; background:rgba(5,2,9,.7); opacity:0; transition:opacity var(--dur); }
.ls-sheet-backdrop.is-open { opacity:1; }
#ls-tools-drawer.ls-sheet {
  position:fixed; inset:auto 0 max(var(--kb-inset),var(--ls-osk-h,0px)); z-index:3001; margin:0 auto;
  width:100%; max-width:780px; height:auto; min-height:0;
  max-height:min(88dvh, calc(var(--ls-viewport-height) - var(--ls-osk-h,0px) - 12px));
  display:flex; flex-direction:column; overflow:hidden;
  border:1px solid rgba(255,216,170,.26); border-bottom:0;
  border-radius:var(--sheet-radius) var(--sheet-radius) 0 0;
  background:var(--surface,#201525); color:var(--text,#f6ede6);
  box-shadow:0 -12px 60px #0008; transform:translateY(102%);
  transition:transform var(--dur) var(--ease-sheet);
}
#ls-tools-drawer.ls-sheet.is-open { transform:translateY(0); }
#ls-tools-drawer[hidden], .ls-sheet-backdrop[hidden] { display:none; }
#ls-tools-drawer .ls-sheet-head { display:flex; align-items:center; gap:12px; padding:10px 16px; flex:0 0 auto; border-bottom:1px solid #ffffff22; }
#ls-sheet-title { font-size:1.1rem; margin:0; flex:1; }
#ls-tools-drawer .ls-sheet-head button { min-height:44px; min-width:44px; }
#ls-tools-drawer #tk-panel {
  flex:1 1 auto; min-height:0; height:auto; max-height:none; display:block;
  overflow:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  padding:16px 16px max(env(safe-area-inset-bottom),16px); scroll-padding-block:16px;
}
#ls-tools-drawer .tk-pane { display:none; height:auto; min-height:0; max-height:none; overflow:visible; }
#ls-tools-drawer .tk-pane.active { display:block; }
#ls-tools-drawer .tk-pane[hidden], #ls-tools-drawer [hidden] { display:none; }
#ls-tools-drawer .id-profile-builder { position:static; width:100%; min-width:0; padding:0; height:auto; max-height:none; border:0; background:none; box-shadow:none; overflow:visible; }
#ls-tools-drawer .id-body, #ls-tools-drawer .id-avatar-stage, #ls-tools-drawer .id-tab-pane,
#ls-tools-drawer .id-avatar-builder, #ls-tools-drawer .id-site-avatars { height:auto; min-height:0; max-height:none; overflow:visible; }
#ls-tools-drawer .id-body { display:flex; flex-direction:column; gap:16px; }
#ls-tools-drawer .id-modal-close-x { display:none; }
#ls-tools-drawer .id-live-card { display:grid; grid-template-columns:56px minmax(0,1fr); gap:12px; padding:0; }
#ls-tools-drawer .id-color-block { grid-column:1 / -1; }
#ls-tools-drawer .id-colors, #ls-tools-drawer .id-emoji-cats { display:flex; flex-wrap:wrap; gap:8px; overflow:visible; }
#ls-tools-drawer .id-colors button { width:44px; height:44px; min-height:44px; border-radius:12px; }
#ls-tools-drawer .id-tabbar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
#ls-tools-drawer .id-tab, #ls-tools-drawer .id-emoji-cats button { min-height:44px; padding:8px; }
#ls-tools-drawer .id-icons, #ls-tools-drawer .id-emoji-grid, #ls-tools-drawer .lsid-avatar-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(48px,1fr)); gap:8px; max-height:none; overflow:visible; }
#ls-tools-drawer .id-icons button, #ls-tools-drawer .id-emoji-grid button, #ls-tools-drawer .lsid-avatar-grid button { min-width:44px; min-height:48px; }
#ls-tools-drawer input, #ls-tools-drawer textarea, #ls-tools-drawer select { font-size:16px; min-width:0; max-width:100%; }
#ls-tools-drawer input:not([type=file]), #ls-tools-drawer select { min-height:44px; }
#ls-tools-drawer .id-more { display:grid; gap:8px; margin-top:8px; }
#ls-tools-drawer .id-footer { position:static; display:flex; gap:12px; padding:16px 0 0; }
#ls-tools-drawer .id-footer button { min-height:44px; flex:1; }
#ls-tools-drawer .tk-notes-head { grid-template-columns:minmax(0,1fr); }
#ls-tools-drawer .tk-notes-actions, #ls-tools-drawer .tk-note-actions, #ls-tools-drawer .tk-notes-modes { flex-wrap:wrap; }
#ls-tools-drawer #tool-notepad { min-height:180px; height:30dvh; max-height:none; resize:vertical; }
#ls-tools-drawer .tk-dm-shell, #ls-tools-drawer .tk-dm-list, #ls-tools-drawer .tk-dm-thread, #ls-tools-drawer .tk-dm-thread-log { position:static; height:auto; min-height:0; max-height:none; overflow:visible; }
#ls-tools-drawer .tk-dm-thread-form { position:sticky; bottom:0; padding-block:12px; background:var(--surface,#201525); grid-template-columns:minmax(0,1fr) 44px auto; }
#ls-tools-drawer .tk-dm-thread-form button, #ls-tools-drawer .tk-dm-more { min-width:44px; min-height:44px; }
.ls-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:20px; }
.ls-menu-grid a, .ls-menu-grid button { display:flex; min-height:48px; align-items:center; justify-content:center; padding:8px; border:1px solid #ffffff30; border-radius:12px; text-decoration:none; color:inherit; background:#ffffff09; font:inherit; text-align:center; }
.ls-topnav-title { display:none; }
.ls-launch-toast { position:fixed; bottom:calc(var(--bottombar-h) + var(--ls-composer-h) + var(--kb-inset) + 12px); left:50%; transform:translateX(-50%); max-width:calc(100vw - 24px); padding:12px 20px; color:#fff; background:#28172f; border:1px solid #ffce8c; border-radius:12px; z-index:4002; }
.ls-launch-toast:empty { display:none; }
/* Resources retain their content styles; only global chrome is shared. */
body.ls-page-resources { padding-top:76px; padding-bottom:calc(80px + var(--ls-safe-bottom)); }
.ls-page-resources .hub-topnav { display:none; }
.ls-page-resources .prep-left, .ls-page-resources .prep-right, .ls-page-resources .prompt-box, .ls-page-resources .stance-box { min-width:0; overflow-wrap:anywhere; }
.ls-page-resources .prep-actions { flex-wrap:wrap; }
@media(max-width:760px) {
  .ls-topnav { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:8px; width:100%; box-sizing:border-box; height:calc(56px + env(safe-area-inset-top)); min-height:56px; padding:env(safe-area-inset-top) 12px 0; overflow:visible; }
  .ls-topnav .ls-logo { min-width:0; width:42px; height:42px; padding:0; justify-content:center; }
  .ls-topnav .ls-logo-mark { width:42px; height:42px; min-width:42px; }
  .ls-topnav .ls-logo-name, .ls-topnav .ls-topnav-clock, .ls-topnav .ls-topnav-links { display:none; }
  .ls-topnav .ls-topnav-title { display:block; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; font-weight:700; min-width:0; }
  .ls-topnav .ls-topnav-right { display:flex; gap:0; min-width:0; width:44px; }
  .ls-topnav .ls-topnav-right > :not(#topnav-hamburger-btn) { display:none; }
  .ls-topnav #topnav-hamburger-btn { display:flex; width:44px; min-width:44px; height:44px; align-items:center; justify-content:center; }
  .ls-bottombar { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:0; box-sizing:border-box; width:100%; min-width:0; height:calc(64px + var(--ls-safe-bottom)); min-height:0; padding:0 0 var(--ls-safe-bottom); bottom:var(--kb-inset); overflow:visible; }
  .ls-bottombar > :not(.bb-tk-tab) { display:none; }
  .ls-bottombar .bb-tk-tab { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; width:100%; min-width:0; min-height:64px; height:64px; padding:4px 0; margin:0; border-radius:0; border:0; font-size:12px; }
  .ls-bottombar .bb-tk-tab .bb-lbl { display:block; font-size:12px; line-height:1.1; max-width:100%; }
  .ls-bottombar .bb-tk-tab .bb-ic, .ls-bottombar .bb-tk-tab svg { width:22px; height:22px; min-height:22px; }
  .ls-bottombar .bb-tk-tab.active, .ls-bottombar .bb-tk-tab[aria-expanded=true] { background:#f5ad462b; box-shadow:inset 0 3px #f5bb6b; }
  .ls-bottombar .bb-tk-tab:active { background:#ffffff25; }
  body { padding-bottom:calc(var(--bottombar-h) + var(--ls-safe-bottom) + var(--ls-composer-h)); }
  .ls-saybar-dock { display:block; position:fixed; inset:auto 0 calc(var(--bottombar-h) + var(--ls-safe-bottom) + var(--kb-inset)); width:100%; box-sizing:border-box; padding:6px 8px; z-index:60; background:#201525f5; border-top:1px solid #ffffff30; }
  .ls-saybar-dock:empty { display:none; }
  .ls-saybar-dock .lobby-say-bar, .ls-saybar-dock .ls-saybar { display:flex; flex-wrap:nowrap; width:100%; max-width:none; margin:0; gap:4px; padding:0; }
  .ls-saybar-dock input { flex:1 1 0; min-width:0; width:0; min-height:44px; font-size:16px; }
  .ls-saybar-dock button { flex:0 0 auto; min-width:44px; min-height:44px; padding:4px 8px; font-size:14px; }
  .ls-saybar-dock .lobby-say-mic-btn, .ls-saybar-dock .lobby-voice-btn { width:44px; }
  #ls-tools-drawer.ls-sheet { max-width:none; }
  .room-header { flex-wrap:wrap; min-width:0; }
  .room-header-actions { flex-wrap:wrap; width:100%; min-width:0; }
  .room-header-actions > * { flex:1 1 auto; min-height:44px; }
  .lobby-rail-toggle, .lobby-chat-toggle, .lobby-bg-audio-btn { min-width:44px; min-height:44px; }
  .ls-av-bubble { max-width:min(200px,calc(100vw - 24px)); }
}
@media(prefers-reduced-motion:reduce) {
  #ls-tools-drawer.ls-sheet, .ls-sheet-backdrop { transition:none; }
}

/* Resource min-content tracks may shrink; do not mask overflow with clipping. */
.ls-page-resources .search-box { min-width:0; flex:1 1 280px; }
.ls-page-resources .cards-grid { grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr)); }
.ls-page-resources .prep-content { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.ls-page-resources .stance-container { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ls-page-resources :is(.article-main,.article-side,.topic-hero-title-wrap,.topic-hero-title,.prep-header > *) { min-width:0; }
.ls-page-resources :is(.article-card,.timeline-wrap,.topic-hero) { overflow-wrap:anywhere; }
@media(max-width:768px){
 .ls-page-resources .prep-content { grid-template-columns:minmax(0,1fr); }
 .ls-page-resources :is(.prep-section,.article-card,.timeline-wrap,.topic-hero) { padding:20px; }
 .ls-page-resources .prep-header .btn { max-width:100%; white-space:normal; }
}

body.ls-sheet-open #ls-osk { z-index:3002; bottom:0; }
.ls-bottombar .bb-tk-tab[data-tk-tab="profile"] .bb-ic { display:none; }

/* Interface refinement: quiet graphite chrome; artwork and personal colors remain. */
:root {
  --ls-ui-font: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ls-ui-mono: ui-monospace,SFMono-Regular,Consolas,monospace;
  --ls-ui-bg:#101212; --ls-ui-panel:#191c1c; --ls-ui-raised:#222626;
  --ls-ui-text:#edf0ed; --ls-ui-muted:#adb5b2; --ls-ui-border:#ffffff25;
  --ls-ui-accent:#c6d2cd; --ls-focus:#c6d2cd; --surface:#191c1c;
}
body { font-family:var(--ls-ui-font); }
body :is(button,input,select,textarea,h1,h2,h3,h4,.ls-topnav,.ls-bottombar,.lobby-rooms-list,.room-card,.home-tile) { font-family:var(--ls-ui-font); }
body :is(h1,h2,h3,h4) { font-weight:600; letter-spacing:-.025em; text-transform:none; }
body :is(button,.btn,.btn-ghost,.btn-accent,.ls-icon-btn,.room-back) { border-radius:8px; }
.ls-line-icon { width:22px; height:22px; display:inline-block; flex:0 0 auto; vertical-align:middle; }
.ls-topnav,.ls-bottombar { background:#101212f5; color:var(--ls-ui-text); border-color:var(--ls-ui-border); box-shadow:none; }
.ls-topnav .ls-logo-mark { display:none; }
.ls-topnav .ls-logo { width:auto; }
.ls-topnav .ls-logo-name { display:inline; font:600 13px/1 var(--ls-ui-mono); letter-spacing:.07em; text-transform:none; }
.ls-topnav .ls-topnav-links { gap:2px; }
.ls-topnav .ls-topnav-links a { padding:10px; font-size:14px; font-weight:500; border-radius:8px; }
.ls-topnav .ls-topnav-links a.active { color:#eff3f0; background:#ffffff0d; border-color:#ffffff35; box-shadow:none; }
.ls-topnav .ls-icon-btn { border-radius:8px; border-color:var(--ls-ui-border); background:transparent; box-shadow:none; }
.ls-topnav .ls-icon-btn:hover { background:#ffffff0d; }
.ls-topnav .ls-enter-vr-btn { color:var(--ls-ui-text); background:#ffffff0c; border-color:var(--ls-ui-border); box-shadow:none; }
.ls-topnav-title { font-weight:500; }
.ls-bottombar .bb-tk-tab { color:var(--ls-ui-muted); border-color:transparent; background:transparent; box-shadow:none; border-radius:8px; }
.ls-bottombar .bb-tk-tab.active,.ls-bottombar .bb-tk-tab[aria-expanded=true] { color:#f0f4f1; background:#ffffff0e; box-shadow:inset 0 2px #aebfb6; }
.ls-bottombar .bb-tk-tab .bb-lbl { font:500 12px/1.3 var(--ls-ui-font); letter-spacing:0; text-transform:none; text-overflow:clip; }
.ls-bottombar .bb-tk-tab[data-tk-tab=profile] { border-color:transparent; box-shadow:none; background:transparent; }
.ls-bottombar .bb-tk-tab[data-tk-tab=profile][aria-expanded=true] { background:#ffffff0e; box-shadow:inset 0 2px #aebfb6; }
.ls-bottombar .bb-tk-tab .tk-profile-pip { width:24px; height:24px; box-shadow:none; }
#ls-tools-drawer.ls-sheet { background:var(--ls-ui-panel); color:var(--ls-ui-text); border-color:var(--ls-ui-border); }
#ls-tools-drawer :is(h2,h3,h4,label,.tk-note-title) { color:var(--ls-ui-text); }
#ls-tools-drawer :is(.muted,small,.tk-note-meta,.tk-qnote-ts) { color:var(--ls-ui-muted); opacity:1; font-size:12px; }
#ls-tools-drawer :is(input,textarea,select) { color:var(--ls-ui-text); background:#101313; border:1px solid #ffffff35; border-radius:8px; }
#ls-tools-drawer :is(#tool-notepad,#tk-qnote-input) { font:400 16px/1.6 var(--ls-ui-font) !important; background:#101313 !important; }
#ls-tools-drawer :is(input,textarea,button):focus-visible { outline:2px solid var(--ls-focus) !important; outline-offset:2px; }
#ls-tools-drawer .tk-dm-thread-form { background:var(--ls-ui-panel); }
#ls-tools-drawer :is(.tk-notes-dictate,.tk-notes-kb,#tk-note-dictate,#tk-qnote-dictate) { width:44px !important; min-height:44px !important; }
.ls-menu-grid { gap:8px; }
.ls-menu-grid a,.ls-menu-grid button { justify-content:flex-start; padding:12px 16px; border-radius:8px; background:#ffffff03; font-size:14px; line-height:1.4; }
.ls-menu-grid a:hover,.ls-menu-grid button:hover { background:#ffffff0d; border-color:#ffffff50; }
.ls-launch-toast { color:var(--ls-ui-text); background:#242a27; border-color:#ffffff50; }
.ls-sheet-backdrop { background:#000a; }
.ls-saybar-dock,.ls-bottombar .lobby-say-bar,.ls-saybar { background:#191d1df5; border-color:var(--ls-ui-border); box-shadow:none; }
body :is(.ls-saybar-dock,.ls-saybar,.lobby-chat-compose) :is(button,input) { border-radius:8px; font-family:var(--ls-ui-font); }
body :is(.ls-saybar,.lobby-say-bar,.lobby-chat-compose) input { color:var(--ls-ui-text); background:#0d1111a6; font-size:16px; }
body :is(.ls-saybar,.lobby-say-bar,.lobby-chat-compose) .btn-accent { color:#102019; background:#ccd6d0; border-color:#ccd6d0; box-shadow:none; }
body :is(.lsp-item,.ls-site-menu-item) { min-height:44px; }
.lobby-toprow { background:#121515; border-color:var(--ls-ui-border); }
.lobby-toprow :is(button,.lobby-online-pill,.lobby-radio-bar) { background:#ffffff04; border-color:var(--ls-ui-border); box-shadow:none; color:var(--ls-ui-muted); border-radius:8px; font:500 12px/1.3 var(--ls-ui-font); }
.lobby-toprow button { min-height:40px; }
.lobby-world-floor { background:#0e131370; }
.lobby-floor-glow,.lobby-floor-haze,.splash-orb,.splash-rays { display:none; }
.lobby-floor-grid { opacity:.12; }
.lobby-rooms-rail { background:#121616e8; border-color:var(--ls-ui-border); padding:12px; }
.lobby-rooms-head h3,.lobby-chat-title h3 { font:600 14px/1.4 var(--ls-ui-font); letter-spacing:0; text-transform:none; }
.lobby-rooms-close { display:none; }
.ls-rooms-group { border-color:var(--ls-ui-border); background:transparent; }
.ls-rooms-group-heading { display:flex; gap:4px; align-items:center; min-width:0; }
.ls-hub-entry { display:flex; align-items:center; gap:10px; flex:1; min-width:0; padding:8px; min-height:44px; box-sizing:border-box; color:#edf0ed; text-decoration:none; font-size:14px; }
.ls-hub-entry:hover { background:#ffffff0b; }
.ls-hub-entry span { overflow:hidden; text-overflow:ellipsis; }
.ls-rooms-group-heading .ls-rooms-group-head { flex:0 0 44px; width:44px; min-height:44px; padding:8px; background:transparent; border:0; justify-content:center; }
.ls-rooms-group-heading .ls-rooms-group-head :is(.lr-icon,.lr-pres) { display:none; }
.ls-rooms-group-head { background:#ffffff06; border-color:var(--ls-ui-border); border-radius:8px; }
.ls-rooms-row { border-radius:8px; background:#ffffff03; border-color:#ffffff15; box-shadow:none; min-height:48px; padding:8px; }
.ls-rooms-row:hover { background:#ffffff0b; border-color:#ffffff40; }
.ls-rooms-row .lr-name { font:400 14px/1.35 var(--ls-ui-font); white-space:normal; overflow:visible; }
.lr-icon { width:28px; height:28px; min-width:28px; color:#d8e1dc; border:0; border-radius:6px; background:transparent; box-shadow:none; }
.lr-icon::before,.lr-icon::after { display:none; }
.lr-icon-glyph { display:flex; }
.lr-pres { color:#c3cec8; background:#ffffff0b; border:0; font:500 12px/1.4 var(--ls-ui-font); }
.lobby-chat-panel { background:#141818ed; border-color:var(--ls-ui-border); border-radius:12px; box-shadow:none; }
.lobby-chat-panel-head,.lobby-chat-compose { background:#ffffff02; border-color:var(--ls-ui-border); }
.lobby-chat-title span,.lobby-chat-empty { color:var(--ls-ui-muted); font-family:var(--ls-ui-font); }
.lobby-rail-toggle { color:var(--ls-ui-text); background:#191e1eee; border:1px solid #ffffff40; border-radius:8px; box-shadow:none; font:500 14px/1.2 var(--ls-ui-font); }
.lobby-stations .ls-station { width:112px; gap:0; border-radius:10px; overflow:hidden; border:1px solid #ffffff50; background:#111716; box-shadow:0 4px 18px #0005; }
.lobby-stations .ls-station-pad { width:100%; height:82px; border:0; border-radius:0; background:var(--art-img) center/cover,#202a27; box-shadow:none; }
.lobby-stations .ls-station-pad::before,.lobby-stations .ls-station-pad::after { display:none; }
.lobby-stations .ls-station-pad.has-art .ls-station-icon { display:none; }
.lobby-stations .ls-station-name { width:100%; max-width:none; padding:8px 4px; box-sizing:border-box; border:0; border-top:1px solid #ffffff30; border-radius:0; text-align:center; font:500 12px/1.25 var(--ls-ui-mono); letter-spacing:.03em; text-shadow:none; color:#edf0ed; }
.lobby-stations .ls-station-pres { top:5px; right:5px; border:0; font-size:12px; color:#eff3ef; background:#0c1513d9; box-shadow:none; }
.lobby-stations .ls-station:hover .ls-station-pad { box-shadow:none; }
.hub-floor-directory { position:absolute; inset:60px 24px auto; max-width:620px; margin:auto; pointer-events:auto; padding:20px; background:#101615e8; border:1px solid #ffffff2a; border-radius:12px; }
.hub-floor-directory h2 { margin:0 0 14px; color:#eff3ef; font:500 16px/1.4 var(--ls-ui-font); }
.hub-floor-rooms { display:grid; gap:8px; }
.hub-floor-room { display:flex; gap:12px; align-items:center; padding:14px; min-height:64px; border:1px solid #ffffff20; border-radius:8px; background:#ffffff04; color:#edf0ed; text-decoration:none; }
.hub-floor-room:hover { background:#ffffff0a; border-color:#ffffff60; }
.hub-floor-room > span:nth-child(2) { min-width:0; flex:1; }
.hub-floor-room strong { display:block; font:500 16px/1.35 var(--ls-ui-font); }
.hub-floor-room small { display:block; margin-top:4px; color:#b4bfba; font:400 13px/1.45 var(--ls-ui-font); }
.hub-floor-arrow { color:#b4bfba; }
.room-header { background:#141818; border-color:var(--ls-ui-border); gap:14px; }
.room-breadcrumb { display:flex; align-items:center; gap:6px; }
.room-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; padding:0 12px; color:#c8d2cc; font-size:14px; text-decoration:none; border:1px solid #ffffff25; border-radius:8px; }
.room-breadcrumb a[hidden] { display:none; }
.room-header #room-icon { width:38px; height:38px; min-width:38px; display:grid; place-items:center; background:#ffffff08; border:1px solid #ffffff20; border-radius:8px; box-shadow:none; }
.room-header #room-name { font-size:22px; }
.room-header #room-type { font:500 12px/1.3 var(--ls-ui-mono); color:#aebbb4; letter-spacing:.06em; }
.room-header-actions :is(button,a,.pill) { min-height:44px; font:500 14px/1.3 var(--ls-ui-font); color:#dce4df; background:#ffffff04; border:1px solid #ffffff25; border-radius:8px; box-shadow:none; }
.room-mobile-tabs { background:#151a18; border-color:#ffffff20; }
.room-mobile-tabs .room-mobile-tab { font:500 14px/1.3 var(--ls-ui-font); color:#adb8b2; }
.room-mobile-tabs .room-mobile-tab.active { color:#eef4ef; background:#ffffff08; border-color:#a4b5ab; }
body[data-room-kind=discuss] .ls-room-stage { background:linear-gradient(160deg,#1d2622,#111615); }
.rooms-hero { padding:24px; min-height:0; background:#141918; border-color:#ffffff20; }
.rooms-hero-bg { display:none; }
.rooms-hero-kicker { display:none; }
.rooms-hero-title { font-size:28px; }
.rooms-hero-desc { font-size:16px; line-height:1.6; max-width:65ch; color:#bac5bf; }
.room-card { border-color:#ffffff25; border-radius:12px; box-shadow:none; }
.room-card:hover { border-color:#ffffff60; box-shadow:none; }
.room-card :is(.room-card-badge,.room-card-btn) { background:#18211edb; color:#e4ede7; border-color:#ffffff35; box-shadow:none; }
.room-card .room-card-title { font-size:22px; }
.room-card .room-card-desc { font-size:16px; line-height:1.5; }
.room-card .room-card-features { font-size:14px; line-height:1.6; }
.room-card .room-card-icon { color:#e0e8e3; }
.home-tile .home-tile-icon,.hac-icon { color:#e2e9e5; background:#10191599; box-shadow:none; }
.home-tile .home-tile-name { font-size:16px; }
.home-tile .home-tile-desc { font-size:14px; line-height:1.5; }
@media(max-width:760px){
 .ls-topnav { grid-template-columns:104px minmax(0,1fr) 44px; gap:6px; padding-inline:12px; }
 .ls-topnav .ls-logo { width:auto; justify-content:flex-start; }
 .ls-topnav .ls-logo-name { font-size:12px; letter-spacing:0; }
 .ls-bottombar .bb-tk-tab { border-radius:0; }
 .room-header { padding:12px; gap:8px; }
 .room-header .room-breadcrumb { flex:0 0 100%; }
 .room-header .room-header-info { gap:10px; }
 .room-header .room-header-actions { display:flex; gap:6px; }
 .room-header .room-header-actions > * { flex:1 1 auto; padding:8px; }
 .room-header #room-name { font-size:20px; }
 body[data-room-kind=discuss] .ls-room-stage { height:160px !important; min-height:160px !important; }
 .ls-saybar-dock { background:#161c19f5; }
 .rooms-hero { padding:20px; }
}
@media(max-width:720px){
 .lobby-rooms-close { display:inline-flex; min-height:44px; align-items:center; }
 .lobby-stations .ls-station { width:88px; }
 .lobby-stations .ls-station-pad { height:62px; }
 .lobby-stations .ls-station-name { font-size:12px; }
 .lobby-rooms-rail { padding:12px; }
 .hub-floor-directory { inset:64px 14px auto; padding:14px; max-height:calc(100% - 150px); overflow:auto; }
 .hub-floor-room { padding:12px 10px; }
 .hub-floor-room small { font-size:12px; }
}
@media(min-width:761px){ .ls-bottombar .bb-tk-tab { min-width:72px; } }
@media(max-height:500px) and (min-width:621px){ .hub-floor-directory { inset:10px 12px auto; max-height:calc(100% - 20px); overflow:auto; } .hub-floor-room { min-height:44px; padding:8px; } .hub-floor-room small { display:none; } .lobby-stations .ls-station { width:72px; } .lobby-stations .ls-station-pad { height:44px; } }

/* Final specificity fixes for older page-owned !important rules. */
.ls-topnav .ls-logo-name { display:inline !important; }
.ls-topnav #topnav-hamburger-btn .sr-only,.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.ls-menu-heading { margin:0 0 10px; font:500 12px/1.4 var(--ls-ui-mono); letter-spacing:.07em; text-transform:uppercase; color:#aebbb4; }
#lobby-stations { z-index:4; }
body.ls-page-lobby :is(.lobby-rooms-rail,.lobby-chat-panel) { background:#121817f5 !important; border-color:#ffffff25 !important; box-shadow:none !important; }
body.ls-page-lobby .lobby-chat-panel::before { display:none; }
body.ls-page-lobby .lobby-rooms-list :is(.ls-rooms-row,.ls-rooms-group-head) { border-radius:8px !important; background:#ffffff04 !important; }
body.ls-page-lobby .lobby-rooms-list :is(.ls-rooms-row:hover,.ls-rooms-group-head:hover,.ls-rooms-group-head.open) { border-color:#ffffff40 !important; background:#ffffff0a !important; }
body.ls-page-lobby .lobby-rooms-list .lr-icon { width:28px; height:28px; min-width:28px; background:transparent; border:0; box-shadow:none; color:#c5d3cc; }
body.ls-page-lobby .lobby-rooms-list .lr-name { font:400 14px/1.4 var(--ls-ui-font); }
body.ls-page-lobby .lobby-rooms-list .ls-rooms-group-heading .ls-rooms-group-head { border:0; background:none !important; }
body.ls-page-lobby .lobby-chat-panel-head h3 { font:600 14px/1.4 var(--ls-ui-font); letter-spacing:0; text-transform:none; }
body.ls-page-lobby .lobby-chat-log:empty::after { color:#b3bdb7; font:400 14px/1.5 var(--ls-ui-font); }
@media(max-width:720px){body.ls-page-lobby .lobby-rooms-rail { width:100%; max-width:none; padding:12px; } body.ls-page-lobby .lobby-rooms-head { justify-content:space-between; } body.ls-page-lobby .lobby-rooms-head .lobby-rooms-close { display:inline-flex; } }

body.ls-page-lobby .lobby-rail-toggles { padding:0; background:transparent; border:0; border-radius:0; gap:8px; }
body.ls-page-lobby .lobby-rail-toggle { min-height:44px; border-radius:8px; }
body.ls-page-lobby .lobby-say-bar :is(.ls-say-mic-btn,.ls-say-voice-btn),.lobby-chat-compose .ls-say-voice-btn { min-width:44px; width:44px; padding:0; display:grid; place-items:center; }
.fb-wrap { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
.fb-form :is(input,textarea,select) { font-size:16px; }

/* Measured available stage: toprow and composer never cover the world. */
body.ls-page-lobby.ls-page-hub .lobby-avatars { inset:var(--ls-hub-people-top,65%) 0 20px !important; }
.ls-page-hub .hub-floor-directory { max-height:calc(100% - 210px); overflow:auto; }
.ls-page-hub .hub-floor-room { background:#19201e; }
@media(max-height:500px){.ls-page-hub .hub-floor-directory { top:8px; max-height:60%; } .ls-page-hub .hub-floor-directory h2 { margin-bottom:8px; } .ls-page-hub .hub-floor-room { min-height:44px; padding:8px; } .ls-page-hub .hub-floor-room small { display:none; }}

/* Short phone landscape: keep Rooms / Chat beside, not over, the chooser. */
@media(max-height:500px) and (min-width:621px) and (max-width:720px){
 .ls-page-hub .hub-floor-directory { inset:8px 12px 8px 180px; max-height:none; }
 body.ls-page-lobby.ls-page-hub .lobby-avatars { inset:60px auto 8px 8px !important; width:156px; }
}

/* Device-based message notice belongs to the Messages pane, not global chrome. */
.ls-dm-safety-note { margin:0 0 12px; padding:10px 12px; border:1px solid var(--ls-ui-border); border-radius:8px; background:#ffffff03; color:var(--ls-ui-muted); font:400 14px/1.5 var(--ls-ui-font); }

.ls-send-status { margin:0; padding:6px 12px; color:#d5cec0; background:#191d1d; font:400 13px/1.4 var(--ls-ui-font); }
.ls-send-status:empty { display:none; }

body.ls-page-room .room-body { height:var(--ls-room-body-height,calc(100dvh - 240px)) !important; min-height:0; }

/* Phone Chat uses the persistent composer; do not stack a second input above it. */
@media(max-width:760px){body.ls-has-room-composer .room-chat #room-chat-form,body.ls-has-room-composer .room-chat #room-chat-form + .ls-send-status { display:none !important; }}

/* Full room labels: compact tree spacing without reducing touch targets. */
body.ls-page-lobby .lobby-rooms-list { padding:6px 0; }
body.ls-page-lobby .lobby-rooms-list .ls-rooms-group-body { padding:4px 0 6px 8px; margin:0; }
body.ls-page-lobby .lobby-rooms-list .ls-rooms-row { grid-template-columns:24px minmax(0,1fr) auto; gap:6px; padding:6px; }
body.ls-page-lobby .lobby-rooms-list .lr-icon { width:24px; min-width:24px; }
body.ls-page-lobby .lobby-rooms-list .lr-name { overflow-wrap:anywhere; min-width:0; }
body.ls-page-lobby .lobby-rooms-list .ls-rooms-group-heading .ls-rooms-group-head { display:flex; box-sizing:border-box; }
body.ls-page-lobby .ls-hub-entry { padding:8px 4px; gap:8px; }
body.ls-page-lobby .ls-hub-entry span { white-space:normal; overflow:visible; }
@media(min-width:721px){ body.ls-page-lobby .lobby-rooms-rail { width:224px; padding:10px; } body.ls-page-lobby .lobby-world { left:248px; } }

/* Tablet desktop shell: preserve map edges and leave all five tabs unobstructed. */
@media(min-width:721px){ .lobby-stations .ls-station { left:clamp(56px,calc(var(--x,.5)*100%),calc(100% - 56px)); } }
@media(min-width:761px) and (max-width:1023px){
 .ls-bottombar > .lobby-say-bar, .ls-bottombar > .ls-bb-saybar { min-width:0 !important; flex:1 1 0 !important; width:0 !important; max-width:none; }
 .ls-bottombar .lobby-say-bar input, .ls-bottombar .ls-bb-saybar input { min-width:0 !important; width:0 !important; flex:1 1 0 !important; }
}


/* ls-3.0.6 corrective GUI: compact profile, one map directory, framed footer,
   dedicated composer row, and intrinsic Karaoke flow. */
:root { --bottombar-h:72px; }

/* Compact shared profile builder. */
:is(#ls-tools-drawer,#id-modal) .id-body { gap:10px; }
:is(#ls-tools-drawer,#id-modal) .id-live-card {
  grid-template-columns:52px minmax(0,1fr);
  grid-template-areas:"avatar name" "accent accent";
  align-items:center; gap:8px 10px; padding:8px;
  border-radius:10px;
}
:is(#ls-tools-drawer,#id-modal) .id-avatar-preview {
  grid-area:avatar; grid-row:auto; align-self:center;
  width:52px; height:52px; min-width:52px;
  border-radius:10px; font-size:1.35rem;
}
:is(#ls-tools-drawer,#id-modal) .id-avatar-preview.has-emoji { font-size:1.65rem; }
:is(#ls-tools-drawer,#id-modal) .id-name-field { grid-area:name; }
:is(#ls-tools-drawer,#id-modal) .id-color-block { grid-area:accent; grid-column:1 / -1; gap:4px; }
:is(#ls-tools-drawer,#id-modal) .id-colors {
  flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain;
  padding:2px; scrollbar-width:thin;
}
:is(#ls-tools-drawer,#id-modal) .id-colors > button {
  flex:0 0 44px; width:44px; height:44px; min-height:44px;
}
:is(#ls-tools-drawer,#id-modal) .id-avatar-builder { gap:6px; }
:is(#ls-tools-drawer,#id-modal) .id-avatar-stage {
  max-height:220px; overflow:auto; padding:8px; border-radius:10px;
}
:is(#ls-tools-drawer,#id-modal) .lsid-avatar-grid {
  grid-template-columns:repeat(auto-fill,minmax(50px,1fr)); gap:6px;
}
:is(#ls-tools-drawer,#id-modal) .lsid-avatar-choice {
  position:relative; isolation:isolate; aspect-ratio:1; width:100%; height:auto;
  min-width:44px; min-height:44px !important; padding:0 !important;
  overflow:hidden; border-radius:8px !important;
}
:is(#ls-tools-drawer,#id-modal) .lsid-avatar-choice img {
  position:absolute; inset:0; width:100% !important; height:100% !important;
  border-radius:inherit !important; object-fit:cover;
}
:is(#ls-tools-drawer,#id-modal) .lsid-avatar-choice > span {
  position:absolute; inset:auto 0 0; z-index:1; min-width:0;
  padding:5px 3px; border-top:1px solid #ffffff38;
  background:#0a0d0cdb; color:#f5f7f5;
  font:600 12px/1.05 var(--ls-ui-mono); letter-spacing:.01em;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  pointer-events:none;
}
:is(#ls-tools-drawer,#id-modal) .id-more {
  display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr);
  gap:8px; margin:0; padding-top:8px; border-top:1px solid var(--ls-ui-border);
}
:is(#ls-tools-drawer,#id-modal) .id-more > h3 {
  grid-column:1 / -1; margin:0; color:var(--ls-ui-text);
  font:650 12px/1.3 var(--ls-ui-mono); letter-spacing:.07em; text-transform:uppercase;
}
:is(#ls-tools-drawer,#id-modal) .id-more textarea,
:is(#ls-tools-drawer,#id-modal) .id-more input {
  width:100%; height:44px; min-height:44px; margin:0; padding:10px 12px;
  resize:vertical; box-sizing:border-box;
}
:is(#ls-tools-drawer,#id-modal) .id-footer { padding:10px 0 0; }
:is(#ls-tools-drawer,#id-modal) #id-avatar-refresh { min-height:44px; }
@media(min-width:721px) and (max-height:760px) {
  /* Short desktop windows need more of the viewport so both Profile actions
     are visible immediately; the picker and accent strip keep their own scroll. */
  #ls-tools-drawer.ls-sheet {
    max-height:min(96dvh, calc(var(--ls-viewport-height) - var(--ls-osk-h,0px) - 12px));
  }
}

/* Five near-square navigation nodes with captions inside the frame. */
.ls-bottombar {
  height:calc(var(--bottombar-h) + var(--ls-safe-bottom)); min-height:0;
  display:flex !important; align-items:flex-start; justify-content:center;
  gap:clamp(3px,1vw,8px); padding:5px 4px calc(5px + var(--ls-safe-bottom));
  box-sizing:border-box; overflow:visible;
}
.ls-bottombar > :not(.bb-tk-tab) { display:none !important; }
.ls-bottombar .bb-tk-tab {
  position:relative; display:block; flex:0 1 64px;
  width:clamp(56px,16vw,64px); min-width:0 !important;
  height:62px; min-height:62px; margin:0; padding:0 !important;
  overflow:hidden; border:1px solid #ffffff32 !important; border-radius:8px !important;
  background:#171b1af2 !important; color:#dce4df; box-shadow:none !important;
}
.ls-bottombar .bb-tk-tab::before { display:none !important; }
.ls-bottombar .bb-tk-tab:is(:hover,.active,[aria-expanded=true]) {
  border-color:#ffffff78 !important; background:#222827f5 !important;
  box-shadow:inset 0 0 0 1px #ffffff20 !important;
}
.ls-bottombar .bb-tk-tab .bb-ic {
  position:absolute; inset:5px 4px 14px; display:grid; place-items:center;
  width:auto !important; height:auto !important; min-height:0; margin:0;
  color:#dce4df !important;
}
.ls-bottombar .bb-tk-tab .bb-ic svg { width:28px; height:28px; }
.ls-bottombar .bb-tk-tab .bb-lbl {
  position:absolute; inset:auto 0 0; z-index:3; height:20px;
  display:flex !important; align-items:center; justify-content:center;
  max-width:none; margin:0; padding:0 3px; box-sizing:border-box;
  border-top:1px solid #ffffff28; background:#080b0ae6;
  color:#f0f3f1; font:600 12px/1 var(--ls-ui-mono);
  letter-spacing:.02em; text-transform:none; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.ls-bottombar .bb-tk-tab[data-tk-tab=profile] .bb-prof-avatar {
  position:absolute; inset:4px 4px 4px; width:auto; height:auto;
  border:0; border-radius:6px; overflow:hidden; box-shadow:none;
}
.ls-bottombar .bb-tk-tab[data-tk-tab=profile] .bb-prof-avatar-art {
  width:100% !important; height:100% !important; border-radius:inherit !important;
}
.ls-bottombar .bb-prof-avatar-status {
  top:5px; right:5px; bottom:auto !important; z-index:2;
}
.ls-bottombar .bb-tab-badge { top:3px; right:3px; z-index:4; }

/* Composer is an independent row on phone, tablet, and desktop. */
.ls-saybar-dock {
  display:block; position:fixed;
  inset:auto 0 calc(var(--bottombar-h) + var(--ls-safe-bottom) + var(--kb-inset));
  width:100%; min-height:56px; box-sizing:border-box; padding:6px 8px;
  z-index:60; background:#161b19f7; border-top:1px solid var(--ls-ui-border);
}
.ls-saybar-dock:empty { display:none; }
.ls-saybar-dock > :is(#ls-room-saybar,#lobby-say-bar),
.ls-saybar-dock > .ls-bb-saybar { width:min(860px,100%) !important; max-width:860px; margin:0 auto; }
.ls-saybar-dock :is(.lobby-say-bar,.ls-saybar) {
  display:flex; flex-wrap:nowrap; align-items:center; width:100%; max-width:none;
  min-height:44px; margin:0; padding:0; gap:6px; border:0; background:transparent;
}
.ls-saybar-dock :is(input,button) { height:44px; min-height:44px !important; box-sizing:border-box; }
.ls-saybar-dock input { flex:1 1 0; min-width:0; width:0; font-size:16px; }
.ls-saybar-dock button { flex:0 0 auto; min-width:44px; padding:4px 10px; border-radius:8px; }
.ls-saybar-dock > .lobby-voice-overlay:not(.hidden) {
  position:absolute; inset:6px 8px; width:min(860px,calc(100% - 16px));
  min-width:0; min-height:44px; margin:auto; border-radius:8px; z-index:3;
}
body.ls-page-lobby .lobby-chat-compose { display:none !important; }

/* One compact Rooms rail; Chat is an on-demand overlay at every width. */
#lobby-stations { display:none !important; }
body.ls-page-lobby .lobby-chat-panel {
  top:8px; right:8px; bottom:8px; left:auto; width:min(320px,calc(100% - 16px));
  max-height:none; border-radius:10px 0 0 10px;
  transform:translateX(calc(100% + 16px)); opacity:0; pointer-events:none;
  transition:transform .2s ease,opacity .2s ease; z-index:12;
}
body.ls-page-lobby.ls-chat-open .lobby-chat-panel,
body.ls-page-lobby .lobby-chat-panel.open {
  transform:translateX(0); opacity:1; pointer-events:auto;
}
body.ls-page-lobby .lobby-chat-panel-head #lobby-chat-close {
  display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center;
}
body.ls-page-lobby .lobby-rail-toggles {
  display:flex; top:8px; left:8px; padding:0; gap:6px;
  background:transparent; border:0; backdrop-filter:none;
}
body.ls-page-lobby .lobby-rail-toggle {
  min-width:64px; min-height:44px; padding:8px 10px; border-radius:8px;
}
body.ls-page-lobby .lobby-avatars { inset:0 !important; }
@media(min-width:721px) {
  body.ls-page-lobby .lobby-rooms-rail { top:8px; bottom:8px; left:8px; width:184px; padding:8px; border-radius:10px; }
  body.ls-page-lobby .lobby-world { left:204px; right:8px; }
  body.ls-page-lobby #ls-rooms-toggle { display:none; }
  body.ls-page-lobby .lobby-rooms-list { padding:4px 0 !important; gap:4px !important; }
  body.ls-page-lobby .lobby-rooms-list :is(.ls-rooms-row,.ls-rooms-group-head) { min-height:44px; }
}
@media(max-width:720px) {
  body.ls-page-lobby .lobby-world { inset:0; }
  body.ls-page-lobby .lobby-rooms-rail { width:min(280px,84vw); }
  body.ls-page-lobby .lobby-chat-panel { inset:0 0 0 auto; width:min(360px,100%); border-radius:0; }
}
@media(max-width:720px) and (max-height:500px) {
  /* Let compact-landscape drawers cover the secondary status row instead of
     inheriting the shallow map slice. Keep the site title and composer visible. */
  body.ls-page-lobby :is(.lobby-rooms-rail,.lobby-chat-panel) {
    position:fixed; top:var(--ls-ticker-height,22px) !important;
    bottom:calc(var(--bottombar-h) + var(--ls-safe-bottom) + var(--ls-composer-h) + var(--kb-inset)) !important;
    height:auto; z-index:61;
  }
}

/* Karaoke content owns intrinsic rows; injected singer/front-row surfaces get
   explicit areas instead of colliding in implicit grid cells. */
body.is-karaoke .room-pane[data-pane=youtube] { overflow:auto; }
body.is-karaoke .yt-wrap {
  height:auto !important; min-height:100%; align-content:start;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.9fr);
  grid-template-areas:
    "singers singers"
    "player lyrics"
    "front lyrics"
    "now lyrics"
    "addrow lyrics"
    "feedback lyrics"
    "presets lyrics"
    "queue lyrics";
}
body.is-karaoke .ls-karaoke-rail { grid-area:singers; margin:0; }
body.is-karaoke .lsra-strip-youtube { grid-area:front; margin:0; }
body.is-karaoke #yt-feedback { grid-area:feedback; }
body.is-karaoke .yt-player-wrap { min-height:0; width:100%; }
body.is-karaoke .ls-kk-actions button { display:inline-flex; align-items:center; gap:6px; min-height:44px; }
body.is-karaoke .ls-kk-actions .ls-line-icon,
.ls-kk-drawer-head .ls-line-icon { width:18px; height:18px; }
.ls-kk-drawer-head h3 { display:flex; align-items:center; gap:8px; }
@media(max-width:900px) {
  body.is-karaoke .yt-wrap {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"singers" "player" "front" "now" "addrow" "feedback" "lyrics" "presets" "queue";
  }
  body.is-karaoke .yt-lyrics-panel { position:static; max-height:none; }
}
@media(max-width:1000px) and (min-width:721px) {
  body.is-karaoke .ls-karaoke-rail { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  body.is-karaoke .ls-kk-next { grid-column:1 / -1; order:3; }
}
@media(max-width:760px) {
  body[data-room-kind=discuss] .ls-room-stage { height:clamp(220px,38vh,320px) !important; min-height:220px !important; }
  body.ls-room-theater .yt-wrap { height:auto; min-height:100%; }
  body.ls-room-theater .yt-player-wrap {
    flex:0 0 auto; min-height:0; max-height:none; aspect-ratio:16 / 9;
  }
}
@media(max-width:520px) {
  :is(#ls-tools-drawer,#id-modal) .id-avatar-stage { max-height:190px; }
  :is(#ls-tools-drawer,#id-modal) .id-more { grid-template-columns:minmax(0,1fr); }
  body.is-karaoke .yt-add-row { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body.is-karaoke .yt-add-row #yt-input,
  body.is-karaoke .yt-add-row #yt-add-btn { grid-column:1 / -1; }
  .ls-saybar-dock .lobby-voice-overlay .lvr-hint { display:none; }
}

/* Collapse the desktop link row before it wraps over room headers. */
@media(max-width:1023px) {
  .ls-topnav {
    display:grid; grid-template-columns:118px minmax(0,1fr) 44px;
    gap:8px; width:100%; height:calc(56px + env(safe-area-inset-top));
    min-height:56px; padding:env(safe-area-inset-top) 12px 0; box-sizing:border-box;
  }
  .ls-topnav .ls-logo { width:auto; min-width:0; justify-content:flex-start; }
  .ls-topnav .ls-logo-mark,.ls-topnav .ls-topnav-links,.ls-topnav .ls-topnav-clock { display:none; }
  .ls-topnav .ls-logo-name { display:inline !important; font-size:12px; letter-spacing:0; }
  .ls-topnav .ls-topnav-title { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
  .ls-topnav .ls-topnav-right { display:flex; width:44px; min-width:44px; }
  .ls-topnav .ls-topnav-right > :not(#topnav-hamburger-btn) { display:none; }
  .ls-topnav #topnav-hamburger-btn { display:flex; width:44px; min-width:44px; height:44px; align-items:center; justify-content:center; }
}

/* Hub uses the same full movement surface once its duplicate chooser is gone. */
body.ls-page-lobby.ls-page-hub .lobby-avatars { inset:0 !important; width:auto !important; }

/* Visual-review corrections: one room composer and exact desktop nav reserve. */
body.ls-has-room-composer .room-chat #room-chat-form,
body.ls-has-room-composer .room-chat #room-chat-form + .ls-send-status { display:none !important; }
@media(min-width:1024px) {
  .ls-topnav { height:64px; min-height:64px; padding:0 16px; box-sizing:border-box; }
}
