/* MyDesk — 全画面 Liquid Glass 統一（nav / カード / リスト / フォーム / シート） */

:root {
  --glass-radius: 20px;
  --glass-radius-sm: 14px;
  --glass-radius-lg: 22px;
  --glass-fill: var(--glass-regular);
  --glass-blur: var(--glass-nav);
}

/* --- ページ背景 --- */

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 85% 55% at 12% -8%, var(--bg-grad-1), transparent 58%),
    radial-gradient(ellipse 70% 48% at 92% 6%, var(--bg-grad-2), transparent 52%),
    radial-gradient(ellipse 65% 42% at 48% 102%, var(--bg-grad-3), transparent 55%);
}

:root[data-theme="light"] body::before {
  background:
    radial-gradient(ellipse 85% 55% at 12% -8%, var(--bg-grad-1), transparent 58%),
    radial-gradient(ellipse 70% 48% at 92% 6%, var(--bg-grad-2), transparent 52%),
    radial-gradient(ellipse 65% 42% at 48% 102%, var(--bg-grad-3), transparent 55%);
}

body[data-view="dashboard"]::before {
  opacity: 1;
}

body:not([data-view="dashboard"]) .main::before {
  display: none;
}

/* --- ガラス面（共通） --- */

.glass-surface,
.sidebar,
.card,
.dash-stat,
.dash-card,
.details.card,
.ios-bento-cell,
.ios-home-secondary,
.ios-home-secondary .card,
.pomodoro-card,
.mobile-lab-card,
.workspace-sync-card,
.dash-tools-card,
.dash-onboarding,
.r5-rings-card,
.r5-ai-panel,
.r5-ritual-banner,
.hourly-autopilot-card,
.habit-heatmap-card,
.level-hero,
.level-quest-card,
.xp-form-card,
.level-radar-card,
.cal-grid-wrap,
.cal-day-panel,
.projects-unified-head,
.life-hub-tile,
.dev-log-item,
.sns-post-item,
.vcs-history-card,
.ai-panel-window,
.ai-panel-head,
.ai-panel-foot,
.search-modal-panel,
.sheet-panel,
.settings-panel,
.quick-add-panel,
.monthly-panel,
.shortcuts-panel,
.r5-modal-panel,
.ai-drawer-panel,
.ai-tools-menu,
.stat-cards .stat-card,
.pwa-install-banner,
.mydesk-toast,
.empty-state-graphic {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--glass-border);
  box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-highlight);
}

.card,
.dash-card,
.pomodoro-card,
.r5-rings-card,
.r5-ai-panel,
.habit-heatmap-card,
.level-hero,
.cal-grid-wrap,
.cal-day-panel {
  border-radius: var(--glass-radius);
  border: 1px solid var(--glass-border);
}

/* --- サイドバー --- */

.sidebar {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-right: 1px solid var(--glass-border);
  box-shadow: inset -1px 0 0 var(--glass-highlight);
}

/* --- フォーム --- */

.add-form,
.add-form-wrap,
.mobile-sticky-form,
.app-view .add-form,
.cal-quick-forms .add-form {
  background: var(--glass-fill) !important;
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius);
  box-shadow: var(--shadow-sm);
}

.add-form input[type="text"],
.add-form input[type="date"],
.add-form input[type="number"],
.add-form input[type="url"],
.add-form input[type="search"],
.add-form select,
.add-form textarea,
.cal-ics-url {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
}

:root[data-theme="light"] .add-form input[type="text"],
:root[data-theme="light"] .add-form input[type="date"],
:root[data-theme="light"] .add-form input[type="number"],
:root[data-theme="light"] .add-form select,
:root[data-theme="light"] .cal-ics-url {
  background: rgba(255, 255, 255, 0.72);
}

/* --- グループed リスト（全画面） --- */

.item-list {
  gap: 0;
  border-radius: var(--glass-radius);
  border: 1px solid var(--glass-border);
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  overflow: hidden;
  box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-highlight);
}

.item-list .item {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid var(--border);
}

.item-list .item:last-child {
  border-bottom: none;
}

.item-list > .empty,
.item-list > .empty.empty-state {
  background: transparent;
  border: none;
}

/* リスト外の単体 item */
.item {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-highlight);
}

/* --- チップ --- */

.chip,
.cal-nav-btn,
.filter-bar .chip {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
}

:root[data-theme="light"] .chip {
  background: rgba(255, 255, 255, 0.55);
}

.chip.active {
  border-color: rgba(56, 189, 248, 0.4);
}

/* --- ナビ --- */

.mobile-bar,
.bottom-nav {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--glass-border);
  box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-highlight);
}

.nav-btn:not(.active) {
  background: transparent;
}

.nav-btn.active {
  box-shadow: 0 4px 16px var(--accent-glow), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* --- シート / モーダル / AI --- */

.sheet-backdrop,
.search-modal-backdrop,
.r5-modal-backdrop,
.quick-add-backdrop,
.monthly-backdrop,
.settings-backdrop,
.shortcuts-backdrop {
  backdrop-filter: blur(8px) saturate(1.1);
  -webkit-backdrop-filter: blur(8px) saturate(1.1);
}

.sheet-panel,
.search-modal-panel,
.settings-panel,
.quick-add-panel,
.monthly-panel,
.shortcuts-panel,
.r5-modal-panel,
.ai-drawer-panel {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-lg), inset 0 1px 0 var(--glass-highlight);
}

.ai-fs-panel,
.ai-fs-messages,
.ai-fs-stage {
  background: transparent;
  --ai-chat-bg: transparent;
}

.ai-fs-header,
.ai-fs-footer,
.ai-fs-composer {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--glass-border);
}

.ai-tools-menu {
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-lg), inset 0 1px 0 var(--glass-highlight);
}

.sheet-action:not(.sheet-cancel),
.sheet-action-tile {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  border: 1px solid var(--glass-border);
}

:root[data-theme="light"] .sheet-action:not(.sheet-cancel),
:root[data-theme="light"] .sheet-action-tile {
  background: rgba(255, 255, 255, 0.55);
}

/* --- R7 / ネストタイル --- */

.r7-tb-col,
.r7-kanban-col,
.r7-kanban-card,
.projects-cursor-card,
.mobile-lab-tile:not(.mobile-lab-tile-all) {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border-color: var(--glass-border);
  box-shadow: inset 0 1px 0 var(--glass-highlight);
}

.r7-mood-btn,
.r7-energy-btn {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  border-color: var(--glass-border);
}

:root[data-theme="light"] .r7-mood-btn,
:root[data-theme="light"] .r7-energy-btn {
  background: rgba(255, 255, 255, 0.55);
}

.ai-msg-assistant {
  background: var(--glass-fill);
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid var(--glass-border);
}

/* --- カレンダー --- */

.cal-cell {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
}

.cal-cell-today {
  background: var(--accent-soft);
  border-color: rgba(56, 189, 248, 0.35);
}

.cal-nav-btn {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}

/* --- ホーム Bento 強化 --- */

.ios-bento-cell {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-sm), inset 0 1px 0 var(--glass-highlight);
}

.ios-bento-mq {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.26), rgba(224, 242, 254, 0.12));
}

/* --- トースト --- */

.mydesk-toast.visible {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-border);
}

/* --- ライトモード: style.css 固体上書きを glass に統一 --- */

:root[data-theme="light"] .ai-fullscreen,
:root[data-theme="light"] .ai-fs-panel,
:root[data-theme="light"] .ai-fs-messages,
:root[data-theme="light"] .ai-fs-stage {
  background: transparent;
  --ai-chat-bg: transparent;
}

:root[data-theme="light"] .ai-fs-header,
:root[data-theme="light"] .ai-fs-footer,
:root[data-theme="light"] .ai-drawer-panel,
:root[data-theme="light"] .sheet-panel,
:root[data-theme="light"] .search-modal-panel,
:root[data-theme="light"] .shortcuts-panel,
:root[data-theme="light"] .settings-panel,
:root[data-theme="light"] .quick-add-panel,
:root[data-theme="light"] .monthly-panel,
:root[data-theme="light"] .r5-modal-panel,
:root[data-theme="light"] .ai-tools-menu,
:root[data-theme="light"] .mobile-bar,
:root[data-theme="light"] .bottom-nav,
:root[data-theme="light"] .sidebar {
  background: var(--glass-fill);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}

:root[data-theme="light"] .ai-msg-assistant {
  background: var(--glass-fill);
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) .ai-fs-panel,
  :root:not([data-theme]) .ai-fs-messages,
  :root:not([data-theme]) .ai-fs-stage {
    background: transparent;
    --ai-chat-bg: transparent;
  }

  :root:not([data-theme]) .mobile-bar,
  :root:not([data-theme]) .bottom-nav,
  :root:not([data-theme]) .sidebar {
    background: var(--glass-fill);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
  }
}

/* --- フォールバック --- */

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .card,
  .item-list,
  .add-form,
  .ios-bento-cell,
  .sidebar,
  .sheet-panel,
  .settings-panel,
  .quick-add-panel,
  .monthly-panel,
  .shortcuts-panel,
  .r5-modal-panel,
  .ai-drawer-panel,
  .stat-cards .stat-card,
  .bottom-nav,
  .mobile-bar {
    background: var(--surface-solid);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .sidebar,
  .card,
  .item-list,
  .add-form,
  .mobile-sticky-form,
  .ios-bento-cell,
  .ios-home-secondary,
  .bottom-nav,
  .mobile-bar,
  .sheet-panel,
  .search-modal-panel,
  .settings-panel,
  .quick-add-panel,
  .monthly-panel,
  .shortcuts-panel,
  .r5-modal-panel,
  .ai-drawer-panel,
  .ai-tools-menu,
  .ai-panel-window,
  .stat-cards .stat-card,
  .r7-tb-col,
  .r7-kanban-col,
  .r7-kanban-card,
  .projects-cursor-card,
  .mobile-lab-tile,
  .mydesk-toast,
  .chip,
  .cal-grid-wrap,
  .cal-day-panel,
  .ai-msg-assistant,
  .ai-fs-header,
  .ai-fs-footer,
  .pwa-install-banner {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: var(--surface-solid) !important;
  }

  body::before {
    display: none;
  }
}
