@layer p0-components{.habits-module,.habits-module--embedded{--habits-card-radius:1.125rem;--habits-card-border:color-mix(in srgb, var(--color-border) 70%, var(--color-surface));--habits-accent-soft:color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));--habits-tone-accent:var(--color-accent);--habits-tone-success:var(--color-success);--habits-tone-warning:var(--color-warning);--habits-tone-danger:var(--color-danger);--habits-tone-info:color-mix(in oklab, var(--color-accent) 50%, var(--color-success));--habits-tone-neutral:var(--color-muted)}.habits-module--embedded{gap:var(--space-3);min-width:0;min-height:0;display:grid}.habits-module--embedded>:where(.ds-screen-header,.ds-segmented-tabs),.habits-module>.ds-mobile-app-shell__header{min-width:0}.habits-module .habits-header,.habits-module--embedded .habits-header{grid-template-columns:var(--minimum-touch-target) minmax(0, 1fr) auto;min-height:var(--minimum-touch-target);padding:0 0 var(--space-1);background:0 0;border:0;align-items:center;display:grid}.habits-header .ds-screen-header__leading{grid-column:1}.habits-header .ds-screen-header__copy{text-align:center;grid-column:2}.habits-header .ds-screen-header__actions{grid-column:3;justify-self:end;margin:0}.habits-header .ds-screen-header__title{font-size:var(--type-heading-size);letter-spacing:-.01em;font-weight:700}.habits-header__spacer{width:var(--minimum-touch-target);display:inline-block}.habits-header .habits-header__add{align-items:center;gap:var(--space-2);min-height:var(--minimum-touch-target);padding:0 var(--space-4);color:var(--color-surface);white-space:nowrap;background:var(--color-accent);border:1px solid var(--color-accent);cursor:pointer;border-radius:.875rem;font-weight:600;display:inline-flex}.habits-header__add-glyph{justify-content:center;align-items:center;width:1.125rem;height:1.125rem;line-height:1;display:inline-flex}.habits-header__add-icon{width:100%;height:100%}@media (width<=719px){.habits-header .habits-header__add{width:var(--minimum-touch-target);justify-content:center;padding-inline:0}.habits-header .habits-header__add>span:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (hover:hover){.habits-header .habits-header__add:hover:not(:disabled){background:color-mix(in oklab, var(--color-text) 10%, var(--color-accent))}}.habits-module .ds-segmented-tabs,.habits-module--embedded .ds-segmented-tabs,:where([data-font-scale="2"]) .habits-module .ds-segmented-tabs,:where([data-font-scale="2"]) .habits-module--embedded .ds-segmented-tabs{grid-auto-flow:unset;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline proximity;grid-template-columns:none;display:flex;overflow-x:auto}.habits-module .ds-segmented-tabs__tab,.habits-module--embedded .ds-segmented-tabs__tab{min-width:max(var(--minimum-touch-target), 3.75rem);max-width:none;padding-inline:var(--space-2);scroll-snap-align:center;white-space:nowrap;flex:1 1 0}.habits-module .ds-segmented-tabs__tab[aria-selected=true],.habits-module--embedded .ds-segmented-tabs__tab[aria-selected=true]{box-shadow:none}.habits-form-dialog.habits-module--embedded{position:relative}.habits-surface{gap:var(--space-3);min-width:0;display:grid}.habits-surface :where(button){font-family:var(--font-family)}.habits-authority-card.ds-section-card,.habits-matrix-card.ds-section-card,.habits-calendar-card.ds-section-card,.habits-row-card.ds-section-card,.habits-selected-summary.ds-section-card{padding:var(--space-3);border-color:var(--habits-card-border);border-radius:var(--habits-card-radius)}.habits-authority-card.ds-section-card{padding:var(--space-4) var(--space-3) var(--space-3)}.habits-overview-kpis,.habits-summary-grid{align-items:center;gap:var(--space-2);min-width:0;display:grid}.habits-overview-kpis{grid-template-columns:minmax(7rem,1fr) minmax(0,1fr) minmax(0,1fr)}.habits-summary-grid{grid-template-columns:minmax(7rem,1fr) minmax(0,1.15fr) minmax(0,.85fr)}.habits-overview-kpis .ds-progress-ring,.habits-summary-grid .ds-progress-ring{--ds-progress-ring-size:7rem;--ds-progress-ring-stroke:7;justify-self:center;width:auto}.habits-overview-kpis .ds-progress-ring__value,.habits-summary-grid .ds-progress-ring__value{font-size:1.625rem}.habits-compact-metric{text-align:center;justify-items:center;gap:.125rem;min-width:0;display:grid}.habits-compact-metric :where(p){margin:0}.habits-metric-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700;line-height:1.1}.habits-metric-of{font-size:.9375rem;font-weight:var(--type-body-weight);letter-spacing:0}.habits-metric-label{max-width:min(7rem,100%);color:var(--color-muted);font-size:var(--type-label-size);text-wrap:balance;overflow-wrap:anywhere;line-height:1.25}.habits-flame{width:1.75rem;height:1.75rem;color:var(--color-warning);margin-bottom:.125rem;display:inline-flex}.habits-flame__icon{fill:currentColor;stroke:none;width:100%;height:100%}.habits-seven-day-row,.habits-week-percent-row{min-width:0;margin-top:var(--space-3);padding-top:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));gap:0;display:grid}.habits-seven-day-cell,.habits-week-percent-cell{min-width:0;min-height:var(--minimum-touch-target);padding:var(--space-1) 0;color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:0;align-content:start;justify-items:center;gap:.375rem;display:grid}.habits-seven-day-cell:active:not(:disabled),.habits-week-percent-cell:active:not(:disabled){transform:scale(.94)}.habits-day-name{color:var(--color-muted);font-size:var(--type-caption-size);display:block}.habits-day-name:first-letter{text-transform:uppercase}.habits-day-number{width:1.875rem;height:1.875rem;font-size:var(--type-label-size);border-radius:var(--radius-round);font-variant-numeric:tabular-nums;place-items:center;font-weight:500;display:inline-grid}.habits-seven-day-cell--today .habits-day-number,.habits-week-percent-cell--today .habits-day-number{color:var(--color-surface);background:var(--color-accent)}.habits-day-percent{color:var(--color-text);font-size:var(--type-label-size);font-variant-numeric:tabular-nums;font-weight:500}.habits-week-percent-cell--today .habits-day-percent{color:var(--color-accent)}.habits-status-dot{width:1.375rem;height:1.375rem;color:var(--color-surface);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-round);place-items:center;display:inline-grid}.habits-status-dot>svg{width:.875rem;height:.875rem}.habits-status-dot--complete{background:var(--color-success);border-color:var(--color-success)}.habits-status-dot--partial{border-color:var(--color-accent);box-shadow:inset 0 0 0 2px var(--color-surface), inset 0 0 0 6px var(--color-accent)}.habits-group{gap:var(--space-2);display:grid}.habits-group-title{margin:var(--space-1) 0 0;padding-inline:var(--space-1);color:var(--color-muted);font-size:var(--type-label-size);font-weight:var(--type-caption-weight)}.habits-group-empty{padding:var(--space-3);color:var(--color-muted);font-size:var(--type-label-size);background:var(--color-surface);border:1px solid var(--habits-card-border);border-radius:var(--habits-card-radius);margin:0}.habits-dense-row{align-items:center;gap:var(--space-2);min-width:0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--habits-card-border);border-radius:var(--habits-card-radius);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.habits-row-open{min-width:0;min-height:var(--minimum-touch-target);align-items:center;gap:var(--space-3);color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);padding:0;display:grid}.habits-row-open:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-md)}.habits-row-card>.ds-section-card__content{display:grid}.habits-row-card .ds-divider{margin-block:0}.habits-progress-row,.habits-selected-summary>.ds-section-card__content{align-items:center;gap:var(--space-3);min-width:0;display:grid}.habits-progress-row{padding-block:var(--space-2);border-bottom:1px solid var(--habits-card-border);content-visibility:auto;contain-intrinsic-block-size:auto 4rem}.habits-progress-row:last-child{border-bottom:0}.habits-progress-row .habits-row-open{grid-template-columns:auto minmax(0,1.1fr) minmax(5.5rem,.9fr) auto}.habits-glyph{width:3.25rem;height:3.25rem;color:var(--color-accent);background:var(--color-elevated);border-radius:var(--radius-round);border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.habits-glyph__icon{width:1.625rem;height:1.625rem}.habits-row-copy{gap:.125rem;min-width:0;display:grid}.habits-row-copy :where(h2,h3,p){margin:0}.habits-row-title{min-width:0;font-size:var(--type-heading-size);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:700;line-height:1.25}.habits-row-caption{color:var(--color-muted);font-size:var(--type-label-size);line-height:1.3}.habits-row-metric{white-space:nowrap;justify-items:end;gap:.25rem;display:grid}.habits-row-metric__value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700}.habits-row-badge{color:var(--color-accent);font-size:var(--type-caption-size);background:var(--habits-accent-soft);border-radius:var(--radius-pill);padding:.125rem .5rem;font-weight:500}.habits-dot-row{gap:.3125rem;margin-top:.25rem;display:flex}.habits-mini-dot{--habits-dot-tone:var(--color-accent);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-round);width:.5625rem;height:.5625rem;display:inline-block}.habits-mini-dot--complete{background:var(--habits-dot-tone);border-color:var(--habits-dot-tone)}.habits-mini-dot--future{background:var(--color-surface)}.habits-row-action{width:3rem;height:3rem;color:var(--color-surface);border-radius:var(--radius-round);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.habits-row-action:active:not(:disabled){transform:scale(.92)}.habits-row-action:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.habits-row-action:disabled{cursor:wait;opacity:.6}.habits-row-action__face{border-radius:var(--radius-round);width:2.75rem;height:2.75rem;transition:background var(--motion-duration-fast) var(--motion-easing-standard);place-items:center;display:inline-grid}.habits-row-action--filled .habits-row-action__face{color:var(--color-surface);background:var(--color-accent)}.habits-row-action--outline .habits-row-action__face{color:var(--color-border);background:var(--color-surface);border:2px solid var(--color-border)}@media (hover:hover){.habits-row-action--outline:hover:not(:disabled) .habits-row-action__face{color:var(--color-accent);border-color:var(--color-accent)}.habits-row-action--filled:hover:not(:disabled) .habits-row-action__face{background:color-mix(in oklab, var(--color-text) 10%, var(--color-accent))}}.habits-row-action--ring .habits-row-action__face{width:2.25rem;height:2.25rem}.habits-row-action__face>svg{width:1.25rem;height:1.25rem}.habits-row-action__ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.habits-row-action__track,.habits-row-action__progress{fill:none;stroke-width:7px}.habits-row-action__track{stroke:color-mix(in srgb, var(--color-accent) 18%, var(--color-surface))}.habits-row-action__progress{stroke:var(--color-accent);stroke-linecap:round;transition:stroke-dashoffset var(--motion-duration-normal) var(--motion-easing-standard)}.habits-period-header{align-items:center;gap:var(--space-2);min-width:0;padding-inline:var(--space-1);text-align:center;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.habits-period-header .ds-icon-button{color:var(--color-muted);background:0 0;border-color:#0000}.habits-period-title{font-size:var(--type-body-size);margin:0;font-weight:500}.habits-matrix{min-width:0;display:grid}.habits-matrix-row{min-width:0;min-height:var(--minimum-touch-target);padding-block:var(--space-2);border-bottom:1px solid var(--habits-card-border);content-visibility:auto;contain-intrinsic-block-size:auto var(--minimum-touch-target);grid-template-columns:minmax(6.75rem,2.4fr) repeat(7,minmax(1.5rem,.55fr));align-items:center;gap:.125rem;display:grid}.habits-matrix-row:last-child{border-bottom:0}.habits-matrix-row--header{text-align:center;min-height:auto;padding-top:0}.habits-matrix-day{justify-items:center;gap:.125rem;display:grid}.habits-matrix-day .habits-day-number{width:auto;height:auto;font-weight:var(--type-body-weight)}.habits-matrix-habit{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--minimum-touch-target);color:var(--color-text);text-align:start;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);padding:0;display:grid}.habits-matrix-habit .habits-glyph{width:2.5rem;height:2.5rem}.habits-matrix-habit .habits-glyph__icon{width:1.25rem;height:1.25rem}.habits-matrix-spacer{display:block}.habits-matrix-habit :where(strong,small){text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.habits-matrix-title{font-size:var(--type-label-size);font-weight:600}.habits-period-title:first-letter{text-transform:uppercase}.habits-matrix-percent{color:var(--color-muted);font-size:var(--type-caption-size)}.habits-matrix-status{width:1.375rem;height:1.375rem;color:var(--color-surface);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-round);justify-self:center;place-items:center;display:inline-grid}.habits-matrix-status>svg{width:.875rem;height:.875rem}.habits-matrix-status--complete{background:var(--color-success);border-color:var(--color-success)}.habits-matrix-status--missed{color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface));border-color:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface))}.habits-matrix-status--partial{color:var(--color-accent);border-color:var(--habits-accent-soft);background:var(--habits-accent-soft)}.habits-matrix-pie{background:var(--habits-pie,none);border-radius:var(--radius-round);width:100%;height:100%;display:block}.habits-matrix-status--future,.habits-matrix-status--off{background:var(--color-surface)}.habits-matrix-status--off{border-style:dashed}.habits-filter{justify-content:center;display:flex;position:relative}.habits-filter__chip{min-height:var(--minimum-touch-target);align-items:center;gap:var(--space-2);padding:0 var(--space-4);color:var(--color-text);font-size:var(--type-label-size);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-pill);display:inline-flex}.habits-filter__chevron{width:1rem;height:1rem;color:var(--color-muted)}.habits-filter select{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.habits-filter:focus-within .habits-filter__chip{border-color:var(--color-accent)}.habits-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;gap:.125rem 0;min-width:0;display:grid}.habits-calendar-grid>[role=columnheader]{padding-bottom:var(--space-1);text-align:center;align-self:center}.habits-calendar-day{width:100%;min-height:3.25rem;color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-easing-standard);background:0 0;border:0;align-content:start;justify-items:center;gap:.25rem;padding:.25rem 0;display:grid}.habits-calendar-day:active:not(:disabled){transform:scale(.94)}.habits-calendar-day__number{width:1.875rem;height:1.875rem;font-size:var(--type-label-size);border-radius:var(--radius-round);font-variant-numeric:tabular-nums;place-items:center;font-weight:500;display:inline-grid}.habits-calendar-day--selected .habits-calendar-day__number{color:var(--color-surface);background:var(--color-accent)}.habits-calendar-day__percent{color:var(--color-accent);font-size:var(--type-caption-size);font-weight:600}.habits-calendar-mark{width:1.375rem;height:1.375rem;color:var(--color-surface);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-round);place-items:center;display:inline-grid}.habits-calendar-mark>svg{width:.875rem;height:.875rem}.habits-calendar-day--complete .habits-calendar-mark{background:var(--color-success);border-color:var(--color-success)}.habits-calendar-day--partial .habits-calendar-mark{color:var(--color-accent);background:var(--habits-accent-soft);border-color:var(--habits-accent-soft)}.habits-calendar-day--future .habits-calendar-mark,.habits-calendar-day--none .habits-calendar-mark{color:var(--color-muted);border-color:#0000}.habits-calendar-dash{font-size:var(--type-caption-size);line-height:1}.habits-calendar-day--future{color:var(--color-muted)}.habits-selected-summary__open{align-items:center;gap:var(--space-3);width:100%;min-width:0;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;padding:0;display:grid}.habits-selected-summary .ds-progress-ring{--ds-progress-ring-size:3.75rem;--ds-progress-ring-stroke:8;width:auto}.habits-selected-summary .ds-progress-ring__value{font-size:.9375rem}.habits-row-chevron{width:1.25rem;height:1.25rem;color:var(--color-muted)}.habits-progress-copy{gap:.25rem;min-width:0;display:grid}.habits-progress-copy__value{font-size:var(--type-label-size);font-variant-numeric:tabular-nums;font-weight:600}.habits-progress-copy progress{appearance:none;width:100%;height:.4375rem;color:var(--color-accent);background:color-mix(in srgb, var(--color-border) 60%, var(--color-surface));border-radius:var(--radius-pill);border:0;overflow:hidden}.habits-progress-copy progress::-webkit-progress-bar{background:color-mix(in srgb, var(--color-border) 60%, var(--color-surface));border-radius:var(--radius-pill)}.habits-progress-copy progress::-webkit-progress-value{background:var(--color-accent);border-radius:var(--radius-pill)}.habits-progress-copy progress::-moz-progress-bar{background:var(--color-accent);border-radius:var(--radius-pill)}.habits-year-filter{width:min(100%,22rem);min-width:0;min-height:var(--minimum-touch-target);justify-self:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface);border:1px solid var(--habits-card-border);border-radius:var(--radius-lg);grid-template-columns:auto minmax(0,1fr);display:grid}.habits-year-filter__copy{gap:var(--space-1);min-width:0;display:grid}.habits-year-filter__copy .ds-filter-chip{width:100%;min-width:0;min-height:var(--minimum-touch-target)}.habits-year-no-data{gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--habits-card-border);display:grid}.habits-year-no-data p,.habits-year-as-of{margin:0}.habits-year-today-action{min-width:var(--minimum-touch-target);min-height:var(--minimum-touch-target);padding:var(--space-2) var(--space-3);color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md);cursor:pointer;justify-self:start}.habits-year-chart-card.ds-section-card{min-width:0;padding:var(--space-3)}.habits-year-day-chart{grid-template-columns:minmax(1.25rem,auto) repeat(12,minmax(0,1fr));column-gap:clamp(1px,.55vw,3px);width:100%;min-width:0;display:grid}.habits-year-day-axis,.habits-year-day-month{grid-template-rows:1.25rem repeat(31,.25rem);align-items:center;row-gap:.2rem;min-width:0;display:grid}.habits-year-day-axis>span{min-width:0;justify-self:end;padding-inline-end:var(--space-1);line-height:1}.habits-year-month-label{text-align:center;text-overflow:clip;white-space:nowrap;min-width:0;line-height:1;overflow:hidden}.habits-year-month-label__short{display:none}@media (width>=720px){.habits-year-month-label__narrow{display:none}.habits-year-month-label__short{display:inline}}.habits-year-day-track{appearance:none;width:100%;min-width:0;height:.25rem;color:var(--color-accent);background:var(--color-border);border-radius:var(--radius-pill);border:0;overflow:visible}.habits-year-day-track::-webkit-progress-bar{background:var(--color-border);border-radius:var(--radius-pill)}.habits-year-day-track::-webkit-progress-value{background:var(--color-accent);border-radius:var(--radius-pill)}.habits-year-day-track::-moz-progress-bar{background:var(--color-accent);border-radius:var(--radius-pill)}.habits-year-day-track--future,.habits-year-day-track--off,.habits-year-day-track--future::-webkit-progress-bar,.habits-year-day-track--off::-webkit-progress-bar{background:var(--color-elevated)}.habits-year-day-track--today{outline:2px solid var(--color-accent);outline-offset:1px}.habits-year-month-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.habits-year-month-button{min-width:0;min-height:calc(var(--minimum-touch-target) + var(--space-3));align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--color-text);text-align:start;background:var(--color-surface);border:1px solid var(--habits-card-border);border-radius:var(--radius-lg);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;display:grid}.habits-year-month-button--current{border:2px solid var(--color-accent)}.habits-year-month-button--future{color:var(--color-muted)}.habits-year-month-copy{gap:var(--space-1);min-width:0;display:grid}.habits-year-month-copy>:where(strong,span){overflow-wrap:anywhere;min-width:0}.habits-year-month-button .ds-progress-ring{--ds-progress-ring-size:3.5rem;width:auto}.habits-year-month-button .ds-progress-ring__value{font-size:var(--type-caption-size)}.habits-year-as-of{padding-inline:var(--space-1);color:var(--color-muted)}.habits-form-dialog,.habits-form-preview{min-width:0}.habits-form-preview{align-items:center;gap:var(--space-2);margin-block-start:var(--space-2);display:flex}@media (width<=359px){.habits-overview-kpis,.habits-summary-grid{grid-template-columns:minmax(6rem,1fr) minmax(0,1fr)}.habits-overview-kpis .ds-progress-ring,.habits-summary-grid .ds-progress-ring{--ds-progress-ring-size:6rem}.habits-summary-grid>:last-child,.habits-overview-kpis>:last-child{grid-column:2}.habits-dense-row{grid-template-columns:minmax(0,1fr) auto}.habits-row-metric{display:none}.habits-matrix-row{grid-template-columns:minmax(4rem,1.45fr) repeat(7,minmax(1.25rem,.55fr));gap:0}.habits-matrix-habit .habits-glyph{display:none}.habits-matrix-habit{grid-template-columns:minmax(0,1fr)}.habits-progress-row .habits-row-open{grid-template-columns:auto minmax(0,1fr) auto}.habits-progress-row .habits-progress-copy{grid-column:2}}:where([data-font-scale="2"]) .habits-overview-kpis,:where([data-font-scale="2"]) .habits-summary-grid{grid-template-columns:minmax(0,1fr)}:where([data-font-scale="2"]) .habits-seven-day-row,:where([data-font-scale="2"]) .habits-week-percent-row{grid-template-columns:repeat(4, minmax(var(--minimum-touch-target), 1fr))}:where([data-font-scale="2"]) .habits-dense-row{grid-template-columns:minmax(0,1fr);justify-items:start}:where([data-font-scale="2"]) .habits-matrix-row{grid-template-columns:repeat(7,minmax(0,1fr))}:where([data-font-scale="2"]) .habits-matrix-row--header>:first-child,:where([data-font-scale="2"]) .habits-matrix-habit{grid-column:1/-1}:where([data-font-scale="2"]) .habits-year-month-grid{grid-template-columns:minmax(0,1fr)}:where([data-font-scale="2"]) .habits-year-day-chart{grid-template-columns:minmax(1.5rem,auto) repeat(12,minmax(0,1fr));column-gap:1px}@media (prefers-reduced-motion:reduce){.habits-seven-day-cell,.habits-week-percent-cell,.habits-calendar-day,.habits-row-action,.habits-row-action__face,.habits-row-action__progress{transition-duration:0s}.habits-seven-day-cell:active:not(:disabled),.habits-week-percent-cell:active:not(:disabled),.habits-calendar-day:active:not(:disabled),.habits-row-action:active:not(:disabled){transform:none}}@media (forced-colors:active){:is(a.habits-header__add,a.habits-row-open,a.habits-seven-day-cell,a.habits-week-percent-cell,a.habits-matrix-habit,a.habits-selected-summary__open,a.habits-year-month-button,a.habits-year-today-action,a.habits-form-action,a.habit-timer-mini-player__open,a.habit-detail-action),:is(a.habits-header__add,a.habits-row-open,a.habits-seven-day-cell,a.habits-week-percent-cell,a.habits-matrix-habit,a.habits-selected-summary__open,a.habits-year-month-button,a.habits-year-today-action,a.habits-form-action,a.habit-timer-mini-player__open,a.habit-detail-action) *{color:buttontext!important}}}@media (forced-colors:active){.habits-status-dot,.habits-mini-dot,.habits-matrix-status,.habits-calendar-mark,.habits-year-day-track,.habits-row-action__face{forced-color-adjust:auto}}a.habits-header__add,a.habits-row-open,a.habits-seven-day-cell,a.habits-week-percent-cell,a.habits-matrix-habit,a.habits-selected-summary__open,a.habits-year-month-button,a.habits-year-today-action,a.habits-form-action,a.habit-timer-mini-player__open{color:inherit;text-decoration:none}a.habit-detail-action{text-decoration:none}@scope([data-qa=day]){.ds-screen-header{content-visibility:auto;contain-intrinsic-block-size:auto 4.5rem}.habits-row-action{min-width:var(--minimum-touch-target);min-height:var(--minimum-touch-target);padding:var(--space-2) var(--space-3);color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-md)}.habits-row-action:disabled{color:var(--color-muted);border-color:var(--color-border);opacity:.65}}@scope(.habit-colors){:scope{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.habit-colors>*{min-width:0}.habit-colors button,.habit-colors input,.habit-colors select{font:inherit;color:inherit}.habit-colors__tabs{background:var(--color-elevated);border-radius:14px;gap:4px;padding:4px;display:flex}.habit-colors__tabs button{cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;min-width:0;min-height:44px}.habit-colors__tabs [aria-selected=true]{background:var(--color-surface);color:var(--color-accent);font-weight:650;box-shadow:0 2px 8px #00000010}.habit-colors__search{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:100%;min-height:44px;margin-bottom:14px;padding:10px 12px}.habit-colors__palette-layout{gap:8px;min-width:0;display:flex}.habit-colors__axis{width:18px;color:var(--color-muted);flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;padding-top:28px;font-size:11px;display:flex}.habit-colors__axis span:first-child,.habit-colors__axis span:last-child{writing-mode:vertical-rl}.habit-colors__palette{flex:1;gap:5px;min-width:0;padding:3px;display:flex}.habit-colors__column{flex:1 1 0;grid-template-rows:24px repeat(11,32px);gap:4px;min-width:0;max-width:48px;display:grid}.habit-colors__family{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;font-size:10px;overflow:hidden}.habit-colors__column button{cursor:pointer;border:1px solid #0000000d;border-radius:6px;width:100%;padding:0}.habit-colors__selected{color:#fff;background:#111827bd;border-radius:50%;place-items:center;width:min(22px,100%);height:22px;margin:auto;font-size:13px;display:grid}.habit-colors__match{background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;margin-bottom:12px;display:flex}.habit-colors__match>span{border-radius:6px;width:28px;height:28px}.habit-colors__sv{background:linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, transparent), var(--picker-hue);cursor:crosshair;touch-action:none;border:1px solid #00000015;border-radius:14px;height:200px;position:relative;overflow:hidden}.habit-colors__point{box-sizing:border-box;pointer-events:none;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0008,0 2px 5px #0004}.habit-colors__hint{color:var(--color-muted);margin:8px 0 14px;font-size:12px}.habit-colors__slider-label{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.habit-colors__slider-label input{grid-column:1/-1}.habit-colors input[type=range]{box-sizing:border-box;appearance:none;cursor:pointer;border:0;border-radius:9px;width:100%;height:18px;min-height:18px;margin:8px 0}.habit-colors__hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.habit-colors input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-accent);border:3px solid #fff;border-radius:50%;width:24px;height:24px;box-shadow:0 0 0 1px #0005}.habit-colors__formats{gap:12px;margin-top:16px;display:grid}.habit-colors__formats label{gap:6px;min-width:0;font-size:12px;display:grid}.habit-colors__formats input,.habit-colors__formats select,.habit-colors__alpha-number input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;width:100%;min-width:0;min-height:44px;padding:8px}.habit-colors__channels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.habit-colors__channels--hex{grid-template-columns:1fr}.habit-colors__error{color:var(--color-danger);font-size:13px}.habit-colors__alpha{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.habit-colors__alpha-number{align-items:center;gap:4px;width:90px;display:flex}.checkerboard{background:conic-gradient(#dce0e8 25%, white 0 50%, #dce0e8 0 75%, white 0);background-size:12px 12px}.habit-colors__alpha-track{border-radius:9px;grid-column:1/-1;height:18px;margin:8px 0}.habit-colors__alpha-track input{display:block;margin:0!important}.habit-colors__footer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.habit-colors__preview{border:1px solid var(--color-border);border-radius:10px;width:40px;height:40px;display:block;overflow:hidden}.habit-colors__preview>span{width:100%;height:100%;display:block}.habit-colors__footer code{font-size:12px}.habit-colors__footer button{min-height:44px;color:var(--color-accent);background:0 0;border:0;border-radius:8px;margin-left:auto;padding:8px;font-size:12px}.habit-colors :is(button,input,select,[tabindex]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width>=600px){.habit-colors__formats{grid-template-columns:120px 1fr}}@media (width<=599px){.habit-colors__palette-layout{gap:4px}.habit-colors__axis{width:12px;padding-top:2px;font-size:9px}.habit-colors__palette{gap:2px;padding:2px}.habit-colors__column{grid-template-rows:repeat(11,20px);gap:2px}.habit-colors__family{display:none}.habit-colors__column button{border-radius:3px;min-width:0}.habit-colors__selected{width:8px;height:8px;font-size:7px;line-height:1}}}@scope(.habit-detail-surface){:scope{gap:var(--space-3,.75rem);min-width:0;display:grid}.habit-detail-header{align-items:center;gap:var(--space-2,.5rem);grid-template-columns:auto auto minmax(0,1fr) auto;min-width:0;display:grid}.habit-detail-header__copy{min-width:0}.habit-detail-header__copy :where(p,h1){overflow-wrap:anywhere;margin:0}.habit-detail-kpis{align-items:center;gap:var(--space-4,1rem);grid-template-columns:minmax(7rem,auto) minmax(0,1fr);min-width:0;display:grid}.habit-detail-facts,.habit-detail-timer-metrics{gap:var(--space-3,.75rem);min-width:0;margin:0;display:grid}.habit-detail-facts>div,.habit-detail-timer-metrics>div{min-width:0}.habit-detail-facts :where(dt,dd),.habit-detail-timer-metrics>p{overflow-wrap:anywhere;margin:0}.habit-detail-streaks{gap:var(--space-1,.25rem);display:grid}.habit-detail-day-controls{gap:var(--space-3,.75rem);min-width:0;display:grid}.habit-detail-day-controls>p{margin:0}.habit-detail-day-controls progress{appearance:none;width:100%;height:.5rem;color:var(--color-accent,#4f35ff);background:var(--color-border,#e2e4ec);border-radius:var(--radius-pill,999px);border:0;overflow:hidden}.habit-detail-day-controls progress::-webkit-progress-bar{background:var(--color-border,#e2e4ec)}.habit-detail-day-controls progress::-webkit-progress-value{background:var(--color-accent,#4f35ff)}.habit-detail-day-controls progress::-moz-progress-bar{background:var(--color-accent,#4f35ff)}.habit-detail-action-row,.habit-detail-management{align-items:center;gap:var(--space-2,.5rem);flex-wrap:wrap;min-width:0;display:flex}.habit-detail-action{min-width:var(--minimum-touch-target,2.75rem);min-height:var(--minimum-touch-target,2.75rem);padding:var(--space-2,.5rem) var(--space-3,.75rem);color:var(--color-text,#11152f);font-family:var(--font-family,inherit);background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e4ec);border-radius:var(--radius-md,.75rem);cursor:pointer}.habit-detail-action--primary{color:var(--color-accent,#4f35ff);border-color:var(--color-accent,#4f35ff)}.habit-detail-action--danger{color:var(--color-danger,#b42318);border-color:currentColor}.habit-detail-action:disabled{cursor:not-allowed;opacity:.6}@media (width<=359px){.habit-detail-header{grid-template-columns:auto minmax(0,1fr) auto}.habit-detail-header>.habits-glyph{display:none}.habit-detail-kpis{grid-template-columns:minmax(0,1fr)}.habit-detail-kpis>.ds-progress-ring{justify-self:center}}:global([data-font-scale="2"]) .habit-detail-header,:global([data-font-scale="2"]) .habit-detail-kpis{grid-template-columns:minmax(0,1fr)}:global([data-font-scale="2"]) .habit-detail-header>:where(.habits-glyph,.ds-icon-button){justify-self:start}:global([data-font-scale="2"]) .habit-detail-action-row,:global([data-font-scale="2"]) .habit-detail-management{flex-direction:column;align-items:stretch}:global([data-font-scale="2"]) .habit-detail-action{width:100%}}@scope(.habits-form-dialog){.habits-image-upload{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.habits-image-upload small,.habits-image-upload [role]{flex-basis:100%}.habits-image-upload small{color:var(--color-muted)}.habits-image-upload [role=alert]{color:var(--color-danger)}.habits-image-upload__button,.habits-image-upload button{border:1px solid var(--color-border);min-height:44px;color:var(--color-accent);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:12px;align-items:center;padding:8px 12px;display:inline-flex;position:relative}.habits-image-upload__button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.habits-image-upload__button:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.habits-library-toggle{text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:44px;padding:4px 0;display:flex}.habits-library-toggle strong{flex:1}.habits-library-toggle__action{color:var(--color-accent);margin-inline-start:auto;font-size:.875rem}.habits-color-swatch{border:1px solid var(--color-border);border-radius:var(--radius-md);flex:0 0 28px;width:28px;height:28px}.habits-choice-grid--icons{overscroll-behavior:contain;grid-auto-rows:minmax(min-content,auto);max-height:340px;padding:4px;overflow-y:auto}.habits-form-dialog form{gap:var(--space-4);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));display:grid}.habits-form-dialog form .ds-section-card__content{gap:var(--space-3);display:grid}.habits-form-dialog .p0-type-caption{color:var(--color-muted);margin:0;line-height:1.55}.habits-form-dialog .p0-type-caption[role=alert]{color:var(--color-danger)}.habits-form-dialog [data-qa=habit-form]>.ds-status-pill{max-width:100%;margin-block:0 var(--space-4);white-space:normal;line-height:1.5}.habits-form-dialog label.p0-type-label{gap:var(--space-2);min-width:0;display:grid}.habits-form-dialog .ds-filter-chip{width:100%;max-width:100%}.habits-choice-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.habits-choice,.habits-target-toggle button{min-width:0;min-height:var(--minimum-touch-target);padding:var(--space-2);color:var(--color-text);font:inherit;font-size:var(--type-label-size);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.habits-choice[data-selected],.habits-target-toggle button[data-selected]{color:var(--color-accent);background:var(--color-elevated);border-color:var(--color-accent)}.habits-choice:focus-visible,.habits-target-toggle button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.habits-choice--icon{align-items:center;gap:var(--space-2);text-align:start;grid-template-columns:2rem minmax(0,1fr);min-height:3.5rem;display:grid}.habits-choice--icon .habits-glyph{width:2rem;height:2rem}.habits-choice>span{overflow-wrap:anywhere;min-width:0}.habits-target-toggle{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.habits-quantity-target-fields{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.habits-form-secondary-actions,.habits-form-footer{grid-column:1/-1}.habits-form-footer{z-index:2;border-top:1px solid var(--color-border);position:sticky;bottom:0}.habits-form-secondary-actions .ds-section-card__content,.habits-form-footer .ds-section-card__content{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.habits-form-action{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:3rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface);font:inherit;font-size:var(--type-label-size);font-weight:var(--type-label-weight);overflow-wrap:anywhere;cursor:pointer;line-height:1.4;display:flex}.habits-form-action--primary{color:var(--color-surface);background:var(--color-accent);border-color:var(--color-accent)}.habits-form-action--danger{color:var(--color-danger)}.habits-form-action--archive:last-child{grid-column:1/-1}.habits-form-action:disabled{opacity:.6;cursor:not-allowed}.habits-form-action:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}@media (width>=600px){.habits-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=960px){.habits-form-dialog form{grid-template-columns:repeat(2,minmax(0,1fr))}.habits-form-card--wide{grid-column:1/-1}.habits-choice-grid--icons{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1440px){.habits-choice-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=340px){.habits-choice-grid,.habits-target-toggle,.habits-quantity-target-fields,.habits-form-secondary-actions .ds-section-card__content,.habits-form-footer .ds-section-card__content{grid-template-columns:1fr}}:global([data-font-scale="2"]) .habits-choice-grid,:global([data-font-scale="2"]) .habits-form-dialog form,:global([data-font-scale="2"]) .habits-target-toggle,:global([data-font-scale="2"]) .habits-quantity-target-fields,:global([data-font-scale="2"]) .habits-form-secondary-actions .ds-section-card__content,:global([data-font-scale="2"]) .habits-form-footer .ds-section-card__content{grid-template-columns:1fr}}@scope(.habit-library){:scope{gap:12px;min-width:0;display:grid}.habit-library p{color:var(--color-muted);margin:0;font-size:.875rem}.habit-library__filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.habit-library__filters input,.habit-library__filters select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;width:100%;min-width:0;min-height:44px;padding:10px}.habit-library__results{overscroll-behavior:contain;grid-template-columns:1fr 1fr;gap:8px;max-height:320px;padding:3px;display:grid;overflow-y:auto}.habit-library__results button{text-align:start;border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:14px;align-items:center;gap:10px;min-width:0;min-height:60px;padding:8px;display:flex}.habit-library__results button:hover{border-color:var(--color-accent);background:var(--color-elevated)}.habit-library__results button span{overflow-wrap:anywhere;font-size:.875rem;line-height:1.35}.habit-library__more{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-accent);cursor:pointer;border-radius:12px}.habit-library .habit-library__results{grid-auto-rows:minmax(64px,auto);align-content:start}.habit-library .habit-library__results button{min-block-size:64px}.habit-library .habit-library__results .habits-glyph{flex:0 0 40px;width:40px;min-width:40px;height:40px}@media (width<=480px){.habit-library__filters,.habit-library__results{grid-template-columns:minmax(0,1fr)}}}@scope(.habit-timer-mini-player){:scope{align-items:center;gap:var(--space-3,.75rem);min-width:0;padding:var(--space-3,.75rem);color:var(--color-text,#11152f);background:var(--color-surface,#fff);border:1px solid color-mix(in srgb, var(--color-border,#e2e4ec) 70%, var(--color-surface,#fff));border-radius:1.125rem;grid-template-columns:minmax(0,1fr) auto;display:grid}.habit-timer-mini-player__open{min-width:0;min-height:var(--minimum-touch-target,2.75rem);align-items:center;gap:var(--space-3,.75rem);color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);padding:0;display:grid}.habit-timer-mini-player__open:focus-visible{outline:3px solid var(--color-accent,#4f35ff);outline-offset:2px}.habit-timer-mini-player__copy{gap:.125rem;min-width:0;display:grid}.habit-timer-mini-player__copy>strong{overflow-wrap:anywhere;min-width:0}.habit-timer-mini-player__metrics{font-variant-numeric:tabular-nums}.habit-timer-mini-player__actions{align-items:center;gap:var(--space-2,.5rem);display:flex}.habit-timer-mini-player__cancel{color:var(--color-muted,#72707f);background:0 0;border-color:#0000}:global([data-font-scale="2"]) .habit-timer-mini-player{grid-template-columns:minmax(0,1fr)}:global([data-font-scale="2"]) .habit-timer-mini-player__open{grid-template-columns:minmax(0,1fr)}:global([data-font-scale="2"]) .habit-timer-mini-player__actions{flex-wrap:wrap;justify-content:flex-start}}@scope(.habits-glyph){.habits-glyph--image img{border-radius:inherit;width:calc(100% - 8px);height:calc(100% - 8px)}}
