    /* CSS domain: home */
    .clock {
      align-items: center;
      text-align: center;
    }

    .time {
      font-size: var(--dashboard-clock-size);
      font-weight: var(--dashboard-value-weight);
      line-height: 1;
      margin-bottom: var(--dashboard-home-small-gap);
      letter-spacing: var(--dashboard-home-tight-letter-spacing);
    }

    .date {
      font-size: var(--dashboard-home-meta-size);
      color: var(--muted);
    }

    .temps,
    .action-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--gap);
      background: transparent;
      padding: 0;
      box-shadow: none;
    }

    .temp-card {
      position: relative;
    }

    .temp-header {
      position: absolute;
      top: var(--dashboard-home-card-offset);
      left: var(--dashboard-home-temp-value-offset);
      right: var(--dashboard-home-temp-value-offset);
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
    }

    .temp-label {
      font-size: var(--dashboard-home-meta-size);
      color: var(--muted);
      line-height: 1.1;
      padding-top: var(--dashboard-home-temp-label-padding-top);
    }

    .temp-icon {
      width: var(--dashboard-home-temp-icon-size);
      height: var(--dashboard-home-temp-icon-size);
      color: var(--muted);
      opacity: var(--dashboard-home-temp-icon-opacity);
      flex-shrink: 0;
    }

    .temp-value {
      font-size: var(--dashboard-temp-value-size);
      font-weight: var(--dashboard-value-weight);
      line-height: var(--dashboard-home-tight-line-height);
      letter-spacing: var(--dashboard-home-tight-letter-spacing);
      margin-top: var(--dashboard-home-temp-value-offset);
    }

    .label {
      font-size: var(--dashboard-home-title-size);
      color: var(--muted);
      margin-bottom: var(--dashboard-home-small-gap);
    }

    .climate-card,
    .momentary-card {
      align-items: center;
      text-align: center;
    }

    .climate-toggle {
      margin: 0 0 var(--dashboard-home-toggle-margin);
      padding: 0;
      border: 0;
      background: transparent;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }

    .toggle-track {
      width: var(--dashboard-home-toggle-track-width);
      height: var(--dashboard-home-toggle-track-height);
      background: var(--dashboard-home-toggle-track-bg);
      border-radius: 999px;
      display: flex;
      align-items: center;
      padding: var(--dashboard-home-toggle-track-padding);
      transition: var(--dashboard-home-toggle-transition);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
    }

    .toggle-thumb {
      width: var(--dashboard-home-toggle-thumb-size);
      height: var(--dashboard-home-toggle-thumb-size);
      border-radius: 50%;
      background: var(--dashboard-home-toggle-thumb-bg);
      transform: translateX(0);
      transition: var(--dashboard-home-toggle-thumb-transition);
      box-shadow: var(--dashboard-home-toggle-thumb-shadow);
    }

    .climate-toggle.is-on .toggle-track {
      background: var(--blue);
    }

    .climate-toggle.is-on .toggle-thumb {
      transform: translateX(var(--dashboard-home-toggle-thumb-offset));
    }

    .climate-toggle.is-error .toggle-track {
      background: var(--red);
    }

    .climate-mode {
      font-size: var(--dashboard-home-mode-size);
      color: rgba(255,255,255,0.92);
      transition: opacity 0.2s ease, color 0.2s ease;
    }

    .climate-card.is-off .climate-mode {
      opacity: var(--dashboard-home-off-opacity);
    }

    .momentary-button {
      min-width: var(--dashboard-home-momentary-min-width);
      padding: var(--dashboard-home-momentary-padding);
      border: 0;
      border-radius: 999px;
      background: var(--dashboard-home-toggle-track-bg);
      color: var(--text);
      font-size: var(--dashboard-home-momentary-size);
      font-weight: var(--dashboard-title-weight);
      cursor: pointer;
      transition: var(--dashboard-home-momentary-transition);
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
      -webkit-tap-highlight-color: transparent;
    }

    .momentary-button:active,
    .momentary-button.is-active {
      background: var(--blue);
      transform: scale(var(--dashboard-action-active-scale));
    }

    .momentary-button.is-error {
      background: var(--red);
      transform: scale(var(--dashboard-action-active-scale));
    }

    .momentary-subtitle {
      margin-top: var(--dashboard-home-toggle-margin);
      font-size: var(--dashboard-home-mode-size);
      color: rgba(255,255,255,0.92);
    }

    .agenda-card {
      justify-content: flex-start;
      user-select: none;
      -webkit-user-select: none;
      touch-action: pan-y;
    }

    .agenda-day-label {
      font-size: var(--dashboard-agenda-day-size);
      color: var(--muted);
      margin-bottom: var(--dashboard-home-small-gap);
      min-height: var(--dashboard-home-agenda-day-min-height);
    }

    .agenda-list {
      margin-top: var(--dashboard-home-agenda-list-top);
      display: grid;
      gap: var(--dashboard-home-agenda-list-gap);
      align-content: start;
      flex: 1;
    }

    .agenda-item {
      display: flex;
      align-items: baseline;
      gap: var(--dashboard-home-agenda-item-gap);
      font-size: var(--dashboard-home-meta-size);
      line-height: 1.25;
      min-width: 0;
    }

    .agenda-time {
      color: var(--muted);
      width: var(--dashboard-home-agenda-time-width);
      flex-shrink: 0;
      white-space: nowrap;
    }

    .agenda-text {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .agenda-commute-icon {
      width: 1em;
      height: 1em;
      flex-shrink: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: rgba(255,255,255,0.82);
      opacity: var(--dashboard-home-agenda-commute-opacity);
    }

    .agenda-commute-icon svg {
      width: 100%;
      height: 100%;
      display: block;
      stroke: currentColor;
      fill: none;
      stroke-width: var(--dashboard-home-agenda-commute-stroke-width);
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .agenda-empty,
    .agenda-loading,
    .agenda-error,
    .trash-loading,
    .trash-empty,
    .trash-error {
      font-size: var(--dashboard-home-meta-size);
      color: var(--muted);
      line-height: 1.3;
    }

    .agenda-dots {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: var(--dashboard-home-small-gap);
      margin-top: var(--dashboard-home-card-offset);
      min-height: var(--dashboard-home-card-offset);
    }

    .agenda-dot {
      width: var(--dashboard-home-dot-size);
      height: var(--dashboard-home-dot-size);
      border-radius: 50%;
      background: rgba(255,255,255,0.16);
      transition: transform 0.15s ease, background 0.15s ease;
    }

    .agenda-dot.is-active {
      background: var(--blue);
      transform: scale(var(--dashboard-home-dot-active-scale));
    }

    .trash {
      position: relative;
      display: grid;
      grid-template-columns: var(--dashboard-home-trash-side-width) 1fr var(--dashboard-home-trash-side-width);
      grid-template-rows: 1fr auto auto 1fr;
      align-items: center;
      text-align: center;
      row-gap: calc(var(--dashboard-home-small-gap) - var(--dashboard-home-trash-row-gap-offset));
    }

    .trash-header {
      grid-column: 1 / 4;
      grid-row: 1;
      display: contents;
    }

    .trash-title {
      grid-column: 2;
      grid-row: 2;
      font-size: var(--dashboard-home-title-size);
      color: var(--muted);
      text-align: center;
      align-self: end;
    }

    .trash-next,
    .trash-empty,
    .trash-error {
      grid-column: 2;
      grid-row: 3;
      font-size: var(--dashboard-trash-value-size);
      font-weight: var(--dashboard-value-weight);
      margin-top: 0;
      align-self: start;
    }
