/* アプリと公開文書で共通の表示切り替え。 */
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px; border: 1px solid #cad5c6; border-radius: 8px; background: #fffefa; color: #285546; font: inherit; font-size: 12px; cursor: pointer; white-space: nowrap; }
.header-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; }
:root[data-theme="dark"] { color-scheme: dark; background: #141d19; color: #e4eee6; --green: #31654f; --green-dark: #c5e7d4; --green-light: #293b30; --text: #e4eee6; --muted: #acbbae; --line: #3a4c40; --paper: #202e25; }
:root[data-theme="dark"] body { background: #141d19; color: #e4eee6; }
:root[data-theme="dark"] :is(.theme-toggle,input,textarea,select,option) { color: #e4eee6; background: #202e25; border-color: #536552; }
:root[data-theme="dark"] :is(.sidebar,.topbar,.mobile-navigation,header,.calendar-day-names,.calendar-weekdays,.task-tabs,.task-view-options,.settings-footnote,.modal-header,.modal-footer,.dialog-header,.dialog-footer,.calendar-legend) { background: #1c2922; border-color: #3a4c40; color: #c6d7c9; }
:root[data-theme="dark"] :is(.card,.calendar-grid,.calendar-cell,.account-dropdown,.modal,.dialog,.task-dialog,.welcome-page,.welcome-main,.session-loading,.steps>li,.mapping,nav a,.site-nav a[aria-current="page"]) { background: #202e25; border-color: #3a4c40; color: #e4eee6; }
:root[data-theme="dark"] :is(.today-hero,.today-hero-intro,.today-progress,.tag,.notice,.settings-icon,.welcome-leaf,.role-badge,.role-badge.admin,.demo-banner) { background: #293b30; border-color: #536552; color: #c6dfc9; }
:root[data-theme="dark"] :is(h1,h2,h3,.brand,.task-title,.agenda-item strong,.member-setting strong,.day-event-row strong,.task-checklist-item,.task-group-heading,.section-heading h2,.calendar-title,.settings-card-heading h2,.welcome-login h2) { color: #e4eee6; }
:root[data-theme="dark"] :is(p,small,.eyebrow,.lead,.updated,.source,.task-metadata,.task-metadata>span,.task-assignee,.settings-explanation,.field,.field-help,.assignee-field legend,.assignee-choice,.form-section-title,.form-section-title>span,.toggle-label,.muted-text,.task-view-options label,.task-note-preview,.task-checklist-toggle,.task-group>summary>span,.calendar-legend,.timezone-note,.calendar-free,.day-empty,.task-empty,.page-footer,.family-space-label,.sidebar-note,.topbar-breadcrumb,.topbar-date,.calendar-more,.task-tab,.task-tabs button,.search-box,.agenda-time,.day-time,.holiday-source,.inline-add,.task-group-heading span,.task-group-count,.account-profile-name small) { color: #b5c6b8; }
:root[data-theme="dark"] :is(a,.help-link,.privacy-link,.text-button,.icon-button,.calendar-day-button,.calendar-day-button small,.main-navigation button,.mobile-navigation button,.account-dropdown button,.account-dropdown a,.field-help strong,.step>li::before,.steps>li::before) { color: #b9dbc6; }
:root[data-theme="dark"] :is(.button-outline,.button-quiet,.google-login,.member-filter button,.segmented-control,.calendar-view-toggle,.calendar-mode-toggle,.task-view-options,.search-box,.family-note,.completed-section,.connection-hint,.task-tabs span,.main-navigation small,.task-group-heading,.count-pill,.task-group-count,.today-banner) { background: #293b30; color: #c6dfc9; border-color: #536552; }
:root[data-theme="dark"] :is(.member-filter button.active,.main-navigation button.active,.mobile-navigation button.active,.calendar-view-toggle button.active,.calendar-mode-toggle button.active,.segmented-control button.active,.task-tab.active,.task-tabs button.active) { background: #37563f; color: #e9f2eb; border-color: #799875; }
:root[data-theme="dark"] :is(.button-outline:hover,.icon-button:hover,.help-link:hover,.main-navigation button:hover,.member-filter button:hover,nav a:hover,summary:hover,.day-task-button:hover) { background: #314937; color: #e9f2eb; }
:root[data-theme="dark"] :is(.account-trigger:hover,.account-trigger[aria-expanded="true"]) { background: #314937; color: #e9f2eb; }
:root[data-theme="dark"] .button-primary { color: #fff; background: #31654f; border-color: #5c8a72; }
:root[data-theme="dark"] .calendar-cell.today { background: #2b402f; }
:root[data-theme="dark"] .calendar-cell.saturday { background: #1e3040; }
:root[data-theme="dark"] :is(.calendar-cell.sunday,.calendar-cell.holiday) { background: #382725; }
:root[data-theme="dark"] :is(.calendar-cell.saturday .calendar-day-button,.calendar-day-colors .saturday,.day-detail.saturday .section-heading h2) { color: #94c5f3; }
:root[data-theme="dark"] :is(.calendar-cell.sunday .calendar-day-button,.calendar-cell.holiday .calendar-day-button,.holiday-name,.day-holiday,.calendar-day-colors .sunday,.day-detail.sunday .section-heading h2,.day-detail.holiday .section-heading h2) { color: #ffada7; }
:root[data-theme="dark"] .calendar-cell.today .calendar-day-button>span { color: white; }
:root[data-theme="dark"] .calendar-event { background: #314937; color: #c8e2c2; }
:root[data-theme="dark"] :is(.calendar-event.task,.calendar-event.deadline) { background: #483b26; color: #f2d8a7; }
:root[data-theme="dark"] :is(.error-banner,.inline-error,.delete-confirm,.welcome-issue,.environment-notice,.environment-banner) { background: #463626; border-color: #806347; color: #f3d2aa; }
:root[data-theme="dark"] :is(.error-banner p,.inline-error p,.delete-confirm p) { color: #f3d2aa; }
:root[data-theme="dark"] :is(.route,.rule,details,footer,.dialog-heading,.form-section,.task-row,.task-entry+.task-entry,.task-group>summary,.task-item,.agenda-item,.day-event-row,.member-setting,.account-menu-sidebar .account-trigger,.task-list-header,.section-heading,.settings-section-body,.inline-add,.today-tabs) { border-color: #3a4c40; }
:root[data-theme="dark"] details[open] summary { color: #c6dfc9; }
:root[data-theme="dark"] :focus-visible { outline-color: #9ccfa9; }
:root[data-theme="dark"] .welcome-preview { background: #293b30; }
:root[data-theme="dark"] .welcome-preview>div { color: #c6dfc9; }
:root[data-theme="dark"] :is(.calendar-access-note,.segmented,.calendar-panel) { background: #202e25; border-color: #3a4c40; color: #c6d7c9; }
:root[data-theme="dark"] .segmented button.active { background: #37563f; color: #e9f2eb; }
:root[data-theme="dark"] .today-progress>div:last-child strong { color: #c6dfc9; }
:root[data-theme="dark"] .progress-ring>span { background: #202e25; }
:root[data-theme="dark"] .progress-ring strong { color: #e4eee6; }
:root[data-theme="dark"] .progress-ring>span>span { color: #b5c6b8; }
:root[data-theme="dark"] .hero-date { color: #b5c6b8; }
:root[data-theme="dark"] :is(.assignee-choice.selected,.soft-notice,.import-confirm,.event-notice,.required,.status-pill) { background: #293b30; color: #c6dfc9; border-color: #536552; }
:root[data-theme="dark"] .skip { background: #202e25; }
