/* Floor appearance layer. Loaded last so the extension and hosted Floor share
   one deliberate dark/daylight treatment without duplicating the interface. */

.floor-theme-toggle {
  appearance: none;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: var(--surface);
  color: var(--ink-3);
  cursor: pointer;
  transition: color var(--lv-duration-fast), border-color var(--lv-duration-fast), background var(--lv-duration-fast);
}
.floor-theme-toggle:hover {
  color: var(--ink);
  border-color: var(--line-strong);
  background: var(--surface-2);
}
.floor-theme-toggle:focus-visible {
  outline: 2px solid var(--accent-mid);
  outline-offset: 2px;
}
.theme-icon { width: 16px; height: 16px; }
.theme-icon-moon { display: none; }
:root[data-theme="light"] .theme-icon-sun { display: none; }
:root[data-theme="light"] .theme-icon-moon { display: block; }

.agent-inspector { width: min(252px, calc(100% - 24px)); }

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #e8ecef;
  --bg-2: #f2f4f6;
  --surface: #f8f9fa;
  --surface-2: #ffffff;
  --surface-3: #e6eaee;
  --line: rgba(37, 48, 61, 0.14);
  --line-strong: rgba(37, 48, 61, 0.24);
  --ink: #151a20;
  --ink-2: #424c58;
  --ink-3: #697482;
  --ink-4: #8b95a1;
  --accent: #626ad8;
  --accent-2: #5159c5;
  --accent-soft: rgba(83, 92, 199, 0.09);
  --accent-mid: rgba(83, 92, 199, 0.34);
  --take: #18855f;
  --take-soft: rgba(24, 133, 95, 0.09);
  --take-mid: rgba(24, 133, 95, 0.34);
  --wait: #91681f;
  --wait-soft: rgba(145, 104, 31, 0.09);
  --wait-mid: rgba(145, 104, 31, 0.34);
  --stop: #bd4e53;
  --stop-soft: rgba(189, 78, 83, 0.09);
  --stop-mid: rgba(189, 78, 83, 0.34);
  --mute: #65717e;
  --mute-soft: rgba(101, 113, 126, 0.09);
  --user: #3978b7;
  --user-soft: rgba(57, 120, 183, 0.09);
  --lv-void: #e8ecef;
  --lv-graphite-950: #edf0f3;
  --lv-graphite-900: #f3f5f7;
  --lv-graphite-850: #f7f8f9;
  --lv-graphite-800: #e5e9ed;
  --lv-stone: #f5f7f8;
  --lv-brushed: #c6cdd5;
  --lv-walnut: #695547;
  --lv-glass: rgba(58, 78, 97, 0.08);
  --lv-blue: #3978b7;
  --lv-violet: #626ad8;
  --lv-gold: #987128;
  --lv-emerald: #18855f;
  --lv-red: #bd4e53;
  --lv-border-soft: rgba(37, 48, 61, 0.11);
  --lv-border: rgba(37, 48, 61, 0.18);
  --lv-border-focus: rgba(57, 120, 183, 0.34);
  --lv-shadow-panel: 0 16px 38px rgba(29, 39, 50, 0.12);
  --lv-shadow-modal: 0 28px 76px rgba(29, 39, 50, 0.24);
  --lv-inset-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

:root[data-theme="light"] body,
:root[data-theme="light"] .app { background: var(--bg); }
:root[data-theme="light"] .topbar,
:root[data-theme="light"] .panel,
:root[data-theme="light"] .floor-command,
:root[data-theme="light"] .setup-events,
:root[data-theme="light"] .hub-tabs,
:root[data-theme="light"] .hub-active,
:root[data-theme="light"] .fc-pulse,
:root[data-theme="light"] .fc-map,
:root[data-theme="light"] .fc-feeds-strip,
:root[data-theme="light"] .se-header,
:root[data-theme="light"] .foot,
:root[data-theme="light"] .agent-inspector,
:root[data-theme="light"] .ai-footer {
  background: var(--surface-2);
  border-color: var(--line);
  box-shadow: var(--lv-inset-highlight);
}
:root[data-theme="light"] .scene-wrap {
  background: #cbd2d8;
  border-color: rgba(49, 61, 74, 0.2);
  box-shadow: 0 12px 30px rgba(39, 50, 62, 0.12);
}
:root[data-theme="light"] .avatar-rail,
:root[data-theme="light"] .market-flow,
:root[data-theme="light"] .mf-tick,
:root[data-theme="light"] .foot .ctl-btn,
:root[data-theme="light"] .fp-state,
:root[data-theme="light"] .fp-toggle,
:root[data-theme="light"] .floor-theme-toggle {
  background: var(--surface);
  border-color: var(--line);
}
:root[data-theme="light"] .room-label,
:root[data-theme="light"] .scene-hint,
:root[data-theme="light"] .desk-label,
:root[data-theme="light"] .tooltip {
  background: rgba(249, 250, 251, 0.94);
  color: var(--ink);
  border-color: var(--line-strong);
  box-shadow: 0 8px 22px rgba(29, 39, 50, 0.12);
}
:root[data-theme="light"] .market-flow { background: rgba(248, 250, 251, 0.9); }
:root[data-theme="light"] .ai-header,
:root[data-theme="light"] .ai-footer { border-color: var(--line); }
:root[data-theme="light"] .agent-inspector {
  box-shadow: -10px 0 28px rgba(28, 38, 48, 0.16);
  backdrop-filter: blur(16px);
}
:root[data-theme="light"] .hubpane,
:root[data-theme="light"] .pb,
:root[data-theme="light"] .se-row,
:root[data-theme="light"] .fc-read,
:root[data-theme="light"] .journal-book,
:root[data-theme="light"] .trade-row,
:root[data-theme="light"] .simulation-row {
  border-color: var(--line);
}
:root[data-theme="light"] .hosted-icon-btn,
:root[data-theme="light"] .hosted-account-btn,
:root[data-theme="light"] .hosted-floor .hosted-popover {
  background: rgba(250, 251, 252, 0.98);
  color: var(--ink-2);
  border-color: var(--line);
}
:root[data-theme="light"] .hosted-notification:hover,
:root[data-theme="light"] .hosted-notification.unread { background: var(--accent-soft); }
:root[data-theme="light"] .hosted-avatar {
  background: var(--accent-soft);
  border-color: var(--accent-mid);
  color: var(--accent-2);
}
:root[data-theme="light"] .auth-gate { background: #e8ecef; }
:root[data-theme="light"] .auth-boot { background: #e8ecef; }
:root[data-theme="light"] .auth-submit { color: #fff; }
:root[data-theme="light"] .auth-story::after { background: radial-gradient(90% 70% at 18% 38%, rgba(83, 92, 199, 0.06), transparent 68%); }
:root[data-theme="light"] .auth-shell,
:root[data-theme="light"] .auth-form-panel { background: var(--surface-2); }
:root[data-theme="light"] .auth-story { background: var(--bg-2); }
:root[data-theme="light"] .leverage-how-trigger {
  background: rgba(99, 102, 241, 0.1);
  border-color: rgba(99, 102, 241, 0.28);
}
:root[data-theme="light"] .leverage-how-dialog {
  background: linear-gradient(180deg, #f7f8fc, #eef0f7);
  border-color: rgba(99, 102, 241, 0.22);
}
:root[data-theme="light"] .auth-how-mount .leverage-how,
:root[data-theme="light"] .auth-how-mobile .leverage-how,
:root[data-theme="light"] .auth-how-mount .leverage-how-chip,
:root[data-theme="light"] .auth-how-mobile .leverage-how-chip {
  background: rgba(255, 255, 255, 0.72);
}

/* Elements hardcoded for the dark theme that would otherwise stay pitch
   black (or use invisible white-alpha fills) on light panels. */
:root[data-theme="light"] .scene-wrap::before { opacity: 0.1; }
:root[data-theme="light"] .ha-header,
:root[data-theme="light"] .news-top { background: var(--bg-2); }
:root[data-theme="light"] .ha-verdict,
:root[data-theme="light"] .ha-meta .chip {
  background: var(--surface);
  border-color: var(--line);
}
:root[data-theme="light"] .mt-dialog { background: var(--surface-2); box-shadow: var(--lv-shadow-modal); }
:root[data-theme="light"] .mt-modal { background: rgba(52, 62, 72, 0.4); }
:root[data-theme="light"] .ht-count,
:root[data-theme="light"] .sj-action { background: rgba(21, 26, 32, 0.05); }
:root[data-theme="light"] .navbtn:hover,
:root[data-theme="light"] .feed-row.feed-open:hover,
:root[data-theme="light"] .sj-entry:hover { background: rgba(21, 26, 32, 0.05); }

@media (max-width: 820px) {
  .hosted-floor .topbar { grid-template-columns: auto minmax(0, 1fr) auto auto; }
  .hosted-floor .floor-theme-toggle { grid-column: 3; grid-row: 1; }
  .hosted-floor .hosted-tools { grid-column: 4; grid-row: 1; }
  .hosted-floor .topnav,
  .hosted-floor .topbar-stats-wrap { grid-column: 1 / -1; }
  :root[data-theme="light"].hosted-floor .topbar { background: rgba(250, 251, 252, 0.96); }
  :root[data-theme="light"].hosted-floor .auth-gate { background: #e8ecef; }
  .agent-inspector { top: 8px; right: 8px; bottom: auto; max-height: calc(100% - 16px); }
}

@media (prefers-reduced-motion: reduce) {
  .floor-theme-toggle,
  .agent-inspector { transition-duration: 0.01ms !important; }
}
