/* 日光模式（浅色全局 UI） */
[data-theme="light"] {
  color-scheme: light;
  --bg-primary: #f2f2f7;
  --bg-secondary: #ffffff;
  --bg-elevated: #ffffff;
  --bg-card: #ffffff;
  --bg-hover: #ebebf0;
  --bg-input: #f2f2f7;
  --border: #d1d1d6;
  --border-light: #c7c7cc;
  --border-hairline: rgba(0, 0, 0, 0.06);
  --surface-glass: rgba(255, 255, 255, 0.78);
  --surface-raised: rgba(255, 255, 255, 0.72);
  --surface-raised-hover: rgba(255, 255, 255, 0.94);
  --focus-ring: 0 0 0 3px rgba(28, 28, 30, 0.1);
  --text-primary: #1c1c1e;
  --text-secondary: #2c2c2e;
  --text-muted: #3a3a3c;
  --accent: #1c1c1e;
  --accent-hover: #000000;
  --accent-muted: #636366;
  --accent-bg: rgba(0, 0, 0, 0.05);
  --accent-bg-strong: rgba(0, 0, 0, 0.08);
  --accent-gradient: linear-gradient(180deg, #3a3a3c 0%, #1c1c1e 100%);
  --accent-on: #ffffff;
  --danger: #d32f2f;
  --danger-bg: rgba(211, 47, 47, 0.1);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.06), 0 8px 20px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 12px 32px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 22px 54px rgba(0, 0, 0, 0.14);
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.055), 0 8px 22px rgba(0, 0, 0, 0.045);
  --shadow-glow: 0 0 0 1px rgba(0, 0, 0, 0.055), 0 10px 26px rgba(0, 0, 0, 0.08);
  --card-skeleton-bg: #e5e5ea;
  --card-orb-core: rgba(255, 255, 255, 0.26);
  --card-orb-mid: rgba(255, 255, 255, 0.1);
  --card-orb-halo: rgba(255, 255, 255, 0.03);
  --card-strip-core: rgba(255, 255, 255, 0.58);
  --card-strip-edge: rgba(255, 255, 255, 0.1);
}

/* 浅色主题：生图/卡片加载用光球；深色仍扫光 */
[data-theme="light"] .card-media.is-loading::before,
[data-theme="light"] .imagegen-feed-media.is-loading:not(.imagegen-gen-pending)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 255, 255, 0.72) 22%,
    rgba(255, 255, 255, 0.28) 42%,
    rgba(255, 255, 255, 0.06) 58%,
    transparent 72%
  );
  box-shadow:
    0 0 28px rgba(255, 255, 255, 0.55),
    0 0 64px rgba(255, 255, 255, 0.22);
  animation: card-orb-breathe 2.1s ease-in-out infinite;
}

[data-theme="light"] .card-media.is-loading::after,
[data-theme="light"] .imagegen-feed-media.is-loading:not(.imagegen-gen-pending)::after {
  display: none !important;
}

[data-theme="light"] .imagegen-gen-pending::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 255, 255, 0.98) 0%,
    rgba(255, 255, 255, 0.72) 22%,
    rgba(255, 255, 255, 0.28) 42%,
    rgba(255, 255, 255, 0.06) 58%,
    transparent 72%
  );
  box-shadow:
    0 0 28px rgba(255, 255, 255, 0.55),
    0 0 64px rgba(255, 255, 255, 0.22);
  animation: card-orb-breathe 2.1s ease-in-out infinite;
}

[data-theme="light"] .imagegen-gen-pending::after {
  display: none !important;
}

[data-theme="light"] .imagegen-gen-pending {
  background: linear-gradient(145deg, #ececef 0%, #f5f5f7 55%, #e8e8ec 100%);
}

[data-theme="light"] .app-page-feature,
[data-theme="light"] .feature-shell,
[data-theme="light"] .community-workspace,
[data-theme="light"] .community-page-layout,
[data-theme="light"] .community-page-main,
[data-theme="light"] .feature-body-cards,
[data-theme="light"] .community-cards,
[data-theme="light"] #pageCommunity,
[data-theme="light"] #pageCreations,
[data-theme="light"] #pageImageGen {
  background-color: var(--bg-primary);
}

[data-theme="light"] body:not(.efficiency-mode) .app-page-feature,
[data-theme="light"] body:not(.efficiency-mode) .feature-shell,
[data-theme="light"] body:not(.efficiency-mode) .community-workspace,
[data-theme="light"] body:not(.efficiency-mode) .community-page-layout,
[data-theme="light"] body:not(.efficiency-mode) .community-page-main,
[data-theme="light"] body:not(.efficiency-mode) .feature-body-cards,
[data-theme="light"] body:not(.efficiency-mode) .community-cards,
[data-theme="light"] body:not(.efficiency-mode) #pageCommunity,
[data-theme="light"] body:not(.efficiency-mode) #pageCreations,
[data-theme="light"] body:not(.efficiency-mode) #pageImageGen {
  background-color: transparent;
}

[data-theme="light"] body:not(.efficiency-mode) .feature-header {
  background: color-mix(in srgb, var(--bg-secondary) 88%, transparent);
}

body.efficiency-mode #rippleGridBg,
body.efficiency-mode .ui-vignette {
  display: none !important;
}

[data-theme="light"] .feature-header {
  background: var(--bg-secondary);
  border-bottom-color: var(--border);
}

[data-theme="light"] .community-post-card,
[data-theme="light"] .creation-post-card,
[data-theme="light"] #communityGrid .card,
[data-theme="light"] #creationsGrid .card {
  background: var(--bg-card);
  box-shadow: var(--shadow-card);
}

[data-theme="light"] .community-side-panel {
  background: var(--bg-secondary);
  border-left-color: var(--border);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .feature-empty {
  color: var(--text-muted);
}

[data-theme="light"] html,
[data-theme="light"] body {
  background-color: var(--bg-primary);
}

[data-theme="light"] .floating-prompt {
  background: #ffffff;
  border-color: #d1d1d6;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

[data-theme="light"] .floating-prompt textarea {
  color: #1c1c1e;
  -webkit-text-fill-color: #1c1c1e;
  caret-color: #1c1c1e;
  background: #ffffff;
  border-color: #d1d1d6;
}

:root:not([data-theme="light"]) .floating-prompt textarea {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  caret-color: #ffffff;
  background: #1e1e1e;
}

[data-theme="light"] .filter-dropdown,
[data-theme="light"] .toolbar-sort-dropdown {
  background: #ffffff;
  border-color: #d1d1d6;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

[data-theme="light"] .toolbar-sort-btn {
  background: #ffffff;
  border-color: #d1d1d6;
}

[data-theme="light"] .toolbar-sort-btn:hover,
[data-theme="light"] .toolbar-sort-btn[aria-expanded="true"] {
  background: #f2f2f7;
}

[data-theme="light"] .ripple-grid-bg {
  opacity: 0.35;
}

[data-theme="light"] .main-header {
  background: rgba(255, 255, 255, 0.85);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .search-box {
  background: var(--bg-card);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: var(--border);
  color: var(--text-primary);
}

[data-theme="light"] .search-box:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-bg);
}

[data-theme="light"] .auth-overlay {
  background: rgba(0, 0, 0, 0.35);
}

[data-theme="light"] .auth-box input:focus {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .auth-status.ok {
  color: #2e7d32;
}

[data-theme="light"] .toast {
  background: rgba(255, 255, 255, 0.96);
  border-color: var(--border);
  color: var(--text-primary);
}

[data-theme="light"] .context-menu {
  background: rgba(255, 255, 255, 0.98);
}

[data-theme="light"] .mobile-bottom-nav {
  background: rgba(255, 255, 255, 0.94);
}

[data-theme="light"] select.settings-input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}

[data-theme="light"] .settings-panel {
  background: linear-gradient(165deg, #ffffff 0%, #f5f5f7 100%) !important;
}

[data-theme="light"] .custom-modal {
  background: var(--bg-elevated);
  border-color: var(--border);
  box-shadow: var(--shadow-lg);
}

[data-theme="light"] .custom-modal-overlay {
  background: rgba(0, 0, 0, 0.28);
}

[data-theme="dark"] .custom-modal,
:root:not([data-theme="light"]) .custom-modal {
  background: var(--bg-elevated);
}

[data-theme="light"] .settings-section {
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .settings-input {
  background: #f2f2f7 !important;
}

[data-theme="light"] .settings-input:focus {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .list-view .card {
  background: #ffffff;
  border-color: var(--border);
}

[data-theme="light"] .list-view .card .card-media {
  background: #ebebf0;
}

[data-theme="light"] .card-copy-btn {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(0, 0, 0, 0.08);
  color: #6b7280;
}

[data-theme="light"] .card-copy-btn:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(0, 0, 0, 0.14);
  color: #374151;
}

[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: #c7c7cc;
}

[data-theme="light"] .app-nav {
  background: linear-gradient(180deg, #ffffff 0%, #f2f2f7 100%);
  border-right-color: #d1d1d6;
  box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .app-nav-head {
  border-bottom-color: #e5e5ea;
}

[data-theme="light"] .app-nav-collapse-btn {
  background: rgba(0, 0, 0, 0.04);
  color: var(--text-secondary);
}

[data-theme="light"] .app-nav-item:hover:not(.active) {
  background: rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .app-nav-item.active {
  background: rgba(0, 0, 0, 0.07);
  color: var(--text-primary);
}

[data-theme="light"] .sidebar {
  background: linear-gradient(180deg, #fafafa 0%, #f2f2f7 100%);
  border-right-color: #d1d1d6;
  box-shadow: none;
}

[data-theme="light"] .feature-header-imagegen,
[data-theme="light"] .imagegen-form {
  background: #ffffff;
}

[data-theme="light"] .imagegen-side,
[data-theme="light"] .imagegen-feed-tabs,
[data-theme="light"] .imagegen-warehouse-filters,
[data-theme="light"] .imagegen-community-filters,
[data-theme="light"] .imagegen-feed-hint,
[data-theme="light"] body.imagegen-mobile-view-feed .imagegen-feed {
  background: transparent;
}

:root:not([data-theme="light"]) .imagegen-side,
:root:not([data-theme="light"]) body.imagegen-mobile-view-feed .imagegen-feed-tabs,
:root:not([data-theme="light"]) body.imagegen-mobile-view-feed .imagegen-warehouse-filters,
:root:not([data-theme="light"]) body.imagegen-mobile-view-feed .imagegen-community-filters,
:root:not([data-theme="light"]) body.imagegen-mobile-view-feed .imagegen-feed-hint {
  background: transparent;
  border-color: var(--border);
}

[data-theme="light"] .imagegen-form-footer {
  background: #f9f9fb;
  border-top-color: #e5e5ea;
}

.theme-toggle-btn {
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
}

.theme-toggle-btn.app-nav-theme-btn {
  width: 100%;
  height: 40px;
  margin-top: 4px;
  border-radius: var(--radius-sm);
  box-shadow: none;
}

body.app-nav-collapsed .app-nav-theme-btn {
  width: 100%;
  padding: 0;
}

.theme-toggle-btn:hover {
  border-color: var(--border-light);
  background: var(--bg-hover);
}

.theme-toggle-btn.app-nav-theme-btn {
  position: relative;
  overflow: hidden;
}

.theme-toggle-btn svg {
  width: 22px;
  height: 22px;
  position: absolute;
  inset: 0;
  margin: auto;
  opacity: 0;
  transition: opacity 0.42s ease;
  pointer-events: none;
}

.theme-toggle-btn .icon-sun {
  opacity: 1;
}

.theme-toggle-btn .icon-moon {
  opacity: 0;
}

[data-theme="light"] .theme-toggle-btn .icon-sun {
  opacity: 0;
}

[data-theme="light"] .theme-toggle-btn .icon-moon {
  opacity: 1;
}

.theme-toggle-btn.app-nav-theme-btn svg {
  width: 20px;
  height: 20px;
}

/* 浅色模式：提升正文/输入可读性，保持清爽 */
[data-theme="light"] .prompt-field textarea,
[data-theme="light"] #cardPrompt,
[data-theme="light"] .imagegen-prompt-block textarea,
[data-theme="light"] .panel-body textarea,
[data-theme="light"] .custom-modal textarea {
  color: #1c1c1e;
  -webkit-text-fill-color: #1c1c1e;
  caret-color: #1c1c1e;
  background: #ffffff;
  border-color: #c7c7cc;
}

[data-theme="light"] .prompt-field textarea::placeholder,
[data-theme="light"] #cardPrompt::placeholder,
[data-theme="light"] .imagegen-prompt-block textarea::placeholder {
  color: #8e8e93;
  opacity: 1;
}

[data-theme="light"] .card-desc,
[data-theme="light"] .card-body,
[data-theme="light"] .panel-hint,
[data-theme="light"] .imagegen-feed-prompt,
[data-theme="light"] .imagegen-prompt-head label,
[data-theme="light"] .prompt-header label {
  color: #48484a;
}

[data-theme="light"] .card-title,
[data-theme="light"] .imagegen-prompt-head > label {
  color: #1c1c1e;
}

[data-theme="light"] .imagegen-ref-label,
[data-theme="light"] .imagegen-ref-tool-btn,
[data-theme="light"] .imagegen-prompt-tool-btn {
  color: #636366;
}

[data-theme="light"] .imagegen-ref-tool-btn.active,
[data-theme="light"] .imagegen-prompt-tool-btn:hover {
  color: #1c1c1e;
}

[data-theme="light"] .app-nav-storage-hint {
  color: #636366;
}

/* 日光模式：说明/次要文案可读性（反馈：字色与背景太近） */
[data-theme="light"] .panel-hint,
[data-theme="light"] .feature-empty .panel-hint,
[data-theme="light"] .community-reward-hint,
[data-theme="light"] .imagegen-feed-hint {
  color: #2c2c2e;
  font-size: 14px;
  line-height: 1.55;
}

[data-theme="light"] .app-nav-item {
  color: #2c2c2e;
  font-size: 14px;
}

[data-theme="light"] #communityGrid .card-time,
[data-theme="light"] #creationsGrid .card-time,
[data-theme="light"] #userProfileGrid .card-time,
[data-theme="light"] .community-author-link {
  color: #2c2c2e;
}

[data-theme="light"] .community-author-link {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .feature-header .panel-hint {
  background: color-mix(in srgb, var(--bg-secondary) 94%, transparent);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
}
