/* Settings interaction feedback is independent of decorative animation speed.
   Only colours and the tiny switch thumb animate; never layout or blur. */
html:root.ivy-duo-mode {
  --duo-sheet: #f2f2f7;
  --duo-surface: #fff;
  --duo-secondary-surface: #e5e5ea;
  --duo-ink: #1c1c1e;
  --duo-muted: #6d727b;
  --duo-separator: #e5e5ea;
  --duo-link: #007aff;
  --duo-switch-off: #d7dbe0;
}
html:root.ivy-duo-mode.dark-mode {
  --duo-sheet: #000;
  --duo-surface: #1c1c1e;
  --duo-secondary-surface: #2c2c2e;
  --duo-ink: #f2f2f7;
  --duo-muted: #a1a1a8;
  --duo-separator: #38383a;
  --duo-link: #0a84ff;
  --duo-switch-off: #39393d;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home {
  --duo-settings-ink: var(--duo-ink);
  --duo-settings-muted: var(--duo-muted);
  color-scheme: light;
  background: var(--duo-sheet) !important;
  color: var(--duo-ink) !important;
  transition: background-color var(--duo-theme-time,240ms) ease, color var(--duo-theme-time,240ms) ease !important;
}
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home { color-scheme: dark; }
html:root.ivy-duo-mode:is(.ivy-duo-layout--canvas,.ivy-duo-layout--passport) .day-cycle-settings-panel {
  background: var(--duo-sheet) !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home :is(button,select,.duo-control-row) {
  touch-action: manipulation;
  transition: color var(--duo-theme-time,240ms) ease, background-color var(--duo-theme-time,240ms) ease !important;
  transition-delay: 0s !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home :is(.duo-option-group,.duo-account-card,.duo-search-result,.duo-logout,.duo-profile-avatar) {
  background: var(--duo-surface) !important;
  color: var(--duo-ink);
  transition: background-color var(--duo-theme-time,240ms) ease, color var(--duo-theme-time,240ms) ease !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-account-fields,
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-account-fields input {
  background: transparent !important;
  color: var(--duo-ink) !important;
  transition: color var(--duo-theme-time,240ms) ease !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home :is(.duo-page-note,.duo-data-value,.duo-device-copy small,.duo-slider-row output,.duo-control-row select) {
  color: var(--duo-muted) !important;
  transition: color var(--duo-theme-time,240ms) ease !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home :is(.duo-page-back,.duo-blue-link,.duo-account-save) { color: var(--duo-link) !important; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home :is(.duo-appearance-group > * + *, .duo-option-row + .duo-option-row)::before {
  background: var(--duo-separator);
  transition: background-color var(--duo-theme-time,240ms) ease !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-control-row select {
  cursor: pointer;
  background: transparent !important;
  border: 0 !important;
  /* Keep the operating system's picker; no animated geometry on opening it. */
  animation: none !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-switch {
  background: var(--duo-switch-off) !important;
  transition: background-color var(--duo-switch-color-time,180ms) ease !important;
  transform: none !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-switch[aria-checked=true] { background: #34c759 !important; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-switch::after {
  background: #fff !important;
  transform-origin: center;
  transition: transform var(--duo-switch-time,240ms) cubic-bezier(.22,.8,.25,1.12) !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-switch:active::after { transform: scaleX(1.08); }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-switch[aria-checked=true]::after { transform: translateX(18px); }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-switch[aria-checked=true]:active::after { transform: translateX(18px) scaleX(1.08); }
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home :is(.duo-settings-search,.duo-account-tier,.duo-login-content .path-choice,.duo-login-content .login-provider--google,.duo-login-content .dob-picker__counter) {
  background: var(--duo-secondary-surface) !important;
  color: var(--duo-ink) !important;
  border-color: var(--duo-separator) !important;
  box-shadow: none !important;
}
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home .duo-settings-search::before { background: none; box-shadow: none; }
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home :is(.duo-account-fields input,.duo-settings-search input,.duo-login-content input,.duo-login-content .dob-digit__strip) { color: var(--duo-ink) !important; }
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home .duo-device-status { background: #2c2c2e; color: var(--duo-muted) !important; border-color: #38383a; }
@media (prefers-reduced-motion: reduce) {
  html:root.ivy-duo-mode {
    --duo-theme-time: 0ms;
    --duo-switch-color-time: 0ms;
    --duo-switch-time: 0ms;
  }
}

/* Subscription hero: a small static lens, not another full-screen blur layer. */
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier {
  margin: 8px auto 0;
  border-radius: 999px;
  background: transparent !important;
  transition: transform 160ms cubic-bezier(.2,.8,.2,1) !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier:active { transform: scale(.96); }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier {
  position: relative;
  isolation: isolate;
  min-height: 54px;
  box-sizing: border-box;
  padding: 10px 22px 10px 16px;
  gap: 9px;
  border: 1px solid #ffffffd9;
  background: linear-gradient(155deg,#ffffffd9 0%,#ffffff70 38%,#d6e6f650 63%,#ffffffc9 100%) !important;
  color: #293648 !important;
  font: 600 20px/1 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  letter-spacing: -.55px;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: hidden;
}
html:root.ivy-duo-mode:not(.perf-plus) .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier {
  box-shadow: inset 0 1px 1px #fff,inset 0 -2px 3px #8da9c833,0 3px 8px #25395412,0 0 0 .5px #8698ab30 !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier::before {
  content: '';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background: linear-gradient(118deg,transparent 12%,#ffffffb3 24%,#ffffff08 41%,transparent 65%,#ffffff80 88%,transparent);
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier-icon { width: 27px; height: 30px; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-tier-since { margin: 13px 0 28px;color:var(--duo-muted);font-size:12px;letter-spacing:0; }
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier {
  background: linear-gradient(155deg,#535f72b3,#262e3c99 46%,#39495fb3) !important;
  border-color:#b7c8df59;
  color:#f2f2f7 !important;
}
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier::before { opacity:.22; }
html:root.ivy-duo-mode.perf-plus .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier { background:var(--duo-secondary-surface) !important;border-color:var(--duo-separator);color:var(--duo-ink) !important; }
html:root.ivy-duo-mode.perf-plus .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier::before { content:none; }
@media(prefers-reduced-motion:reduce) {
  html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier { transition:none !important; }
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier { --ambient-text-primary: #398bc5; }
html:root.ivy-duo-mode.dark-mode .day-cycle-settings-panel .duo-settings-home .duo-large-tier .duo-account-tier { --ambient-text-primary: #96d1ff; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home h2 { color: var(--duo-ink) !important; transition: color var(--duo-theme-time,240ms) ease !important; }

/* Developer tools stay in the Settings navigation stack. */
html.ivy-duo-mode .day-cycle-debug { display: none !important; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host :is(.day-cycle-debug,.weather-debug-panel) {
  display: block !important; position: static !important; inset: auto !important;
  width: 100% !important; max-width: none !important; min-width: 0 !important;
  height: auto !important; max-height: none !important; margin: 0 !important;
  padding: 16px !important; box-sizing: border-box; overflow: visible !important;
  background: var(--duo-surface) !important; color: var(--duo-ink) !important;
  border: 0 !important; border-radius: 14px !important;
  box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  transform: none !important; opacity: 1 !important; visibility: visible !important;
  font: 14px/1.4 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host :is(.day-cycle-debug > h2,.weather-debug-panel__header) { display:none; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host :is(input,select,button) {
  box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 44px;
  font: inherit; color: var(--duo-ink); accent-color: var(--duo-link);
  transition: none !important; animation: none !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host :is(input:not([type=range]),select,button) {
  background:var(--duo-secondary-surface); border:0; border-radius:10px; padding:10px;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host :is(.day-cycle-debug__row,.day-cycle-debug__footer) { display:flex; flex-wrap:wrap; gap:8px; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .day-cycle-debug__row label { flex:1 1 100px; min-width:0; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host :is(.day-cycle-debug__note,.day-cycle-debug__footer span,.weather-debug-panel__footer p,.weather-debug-panel__status) { color:var(--duo-muted); font-size:12px; overflow-wrap:anywhere; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-panel__presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset { box-shadow:none; text-align:left; letter-spacing:normal; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset[aria-pressed=true] { background:var(--duo-link);color:white; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset span { color:inherit; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-panel__controls { display:grid; grid-template-columns:minmax(0,1fr);gap:12px; margin-top:16px; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-range { min-width:0; color:var(--duo-ink); }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-range input { width:100%; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-panel__footer { display:block; margin-top:16px; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-live-button { width:100%; color:var(--duo-link); }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-error-row { padding:14px 16px;gap:12px; }
.duo-error-copy { display:grid;gap:5px;flex:1;min-width:0; }
.duo-error-copy small { color:var(--duo-muted);font-size:12px; }
.duo-error-count { padding:3px 8px;border-radius:999px;background:var(--duo-secondary-surface);color:var(--duo-muted);font-size:12px;font-variant-numeric:tabular-nums; }
.duo-error-detail { padding:16px; }
.duo-error-detail h3 { margin:0 0 10px;font-size:17px; }
.duo-error-detail p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-panel__controls { background:transparent !important; border:0; padding:0; box-shadow:none; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-range :is(span,output,small),
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-panel__footer :is(p,span,small),
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset small { color:var(--duo-muted) !important;letter-spacing:normal;font:400 12px/1.4 -apple-system,BlinkMacSystemFont,system-ui,sans-serif; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset[aria-pressed=true] { background:var(--duo-link) !important;color:white !important; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset[aria-pressed=true] :is(small,span,strong) { color:white !important; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .weather-debug-preset small { text-transform:none; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .day-cycle-debug__row label { justify-content:space-between; }

/* One bounded touch-scrolling surface for the embedded developer tools. */
html:root.ivy-duo-mode .day-cycle-settings-panel.duo-debug-page-open { overflow: hidden !important; }
html:root.ivy-duo-mode .duo-debug-page-open .duo-settings-home {
  position: absolute; inset: 0; height: 100%; min-height: 0;
  overflow-y: auto !important; overflow-x: hidden;
  touch-action: pan-y; -webkit-overflow-scrolling: touch;
  padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
}
html:root.ivy-duo-mode .duo-debug-host { touch-action: pan-y; }
/* A visible value above the native picker avoids WebKit's blank time rendering.
   The real input still owns focus, accessibility, selection and change events. */
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .duo-debug-time-field {
  display: block; position: relative; width: 100%; height: 48px;
  background: var(--duo-secondary-surface); border-radius: 10px;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .duo-debug-time-field input[type="time"] {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0;
  opacity: 0 !important; cursor: pointer; font-size: 16px;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .duo-debug-time-hint {
  display: flex !important; align-items: center; position: absolute; inset: 0;
  padding: 0 12px; pointer-events: none; font: 16px/1.3 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  color: var(--duo-ink) !important; -webkit-text-fill-color: var(--duo-ink) !important;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .is-empty .duo-debug-time-hint {
  color: var(--duo-muted) !important; -webkit-text-fill-color: var(--duo-muted) !important;
}
html:root.ivy-duo-mode .duo-debug-time-field:focus-within { outline: 2px solid var(--duo-link); outline-offset: 2px; }
html:root.ivy-duo-mode .duo-debug-host button { white-space: normal; overflow-wrap: anywhere; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-debug-host .day-cycle-debug__row label { flex-basis: 140px; }
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-error-actions > .duo-blue-link {
  display: flex; align-items: center; box-sizing: border-box; position: relative;
  width: 100%; min-height: 52px; height: auto; margin: 0; padding: 14px 16px;
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
  text-align: left; font: 16px/1.4 -apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-error-actions > .duo-blue-link + .duo-blue-link::before {
  content: ''; position: absolute; top: 0; left: 16px; right: 0; height: 1px;
  background: var(--duo-separator);
}
html:root.ivy-duo-mode .day-cycle-settings-panel .duo-settings-home .duo-error-actions > .duo-error-dismiss { color: #ff3b30 !important; }
