@charset "UTF-8";html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roboto-mono-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/roboto-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #F2F2F7;--color-surface: #FFFFFF;--color-surface-2: #E5E5EA;--color-surface-3: #F2F2F7;--elev-0: var(--color-bg);--elev-1: var(--color-surface);--elev-2: var(--color-surface);--elev-3: var(--color-surface);--color-separator: rgba(60, 60, 67, .18);--color-border: rgba(60, 60, 67, .12);--color-control-border: rgba(60, 60, 67, .6);--color-text: #000000;--color-muted: rgba(60, 60, 67, .78);--color-muted-2: rgba(60, 60, 67, .57);--color-accent: #5856D6;--color-accent-fill: #5856D6;--color-accent-soft: rgba(88, 86, 214, .12);--color-positive: #34C759;--color-positive-soft: rgba(52, 199, 89, .12);--color-positive-text: #217F39;--color-positive-fill: #217F39;--color-warn: #FF9500;--color-warn-soft: rgba(255, 149, 0, .12);--color-warn-text: #A15E00;--color-warn-fill: #A15E00;--color-danger: #FF3B30;--color-danger-soft: rgba(255, 59, 48, .12);--color-danger-text: #C92F26;--color-danger-fill: #C92F26;--color-bar-track: #E5E5EA;--shadow-fab: 0 4px 16px rgba(0, 0, 0, .18);--shadow-sheet: 0 -1px 0 var(--color-separator);--shadow-overlay: 0 8px 32px rgba(0, 0, 0, .16);--shadow-card: 0 1px 3px rgba(0, 0, 0, .07), 0 1px 2px rgba(0, 0, 0, .05);--shadow-control: 0 1px 2px rgba(15, 23, 42, .06);--card-border: transparent;--card-shadow: var(--shadow-card);--shadow-focus-ring: 0 0 0 2px var(--color-accent);--radius-xs: 4px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-sheet: 16px;--radius-pill: 9999px;--space-05: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono: "Roboto Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-largeTitle: 34px;--text-title-1: 28px;--text-title-2: 22px;--text-title-3: 20px;--text-title-4: 18px;--text-headline: 17px;--text-body: 17px;--text-callout: 16px;--text-subhead: 15px;--text-caption-xs: 14px;--text-footnote: 13px;--text-caption-1: 12px;--text-caption-2: 11px;--text-micro: 10px;--leading-display: 1.05;--leading-tight: 1.15;--leading-snug: 1.25;--leading-normal: 1.4;--leading-relaxed: 1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-largeTitle: -.022em;--tracking-title-1: -.021em;--tracking-title-2: -.018em;--tracking-title-3: -.016em;--tracking-title-4: -.014em;--tracking-headline: -.011em;--tracking-body: -.011em;--tracking-callout: -.008em;--tracking-subhead: -.005em;--tracking-caption-1: .005em;--tracking-caption-2: .008em;--tracking-micro: .012em;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .06em;--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-emphasis: cubic-bezier(.32, .72, 0, 1);--motion-fast: 80ms;--motion-base: .14s;--motion-medium: .2s;--motion-enter: .26s;--motion-slow: .7s;--tap-target: 44px;--control-height-sm: 32px;--control-height-md: 44px;--control-height-lg: 50px;--color-overlay: rgba(0, 0, 0, .3);--color-chrome: rgba(255, 255, 255, .72);--blur-chrome: 20px;--color-on-accent: #FFFFFF;--color-dev-badge: #F59E0B;--color-dev-badge-on: #1C1917;--bottom-nav-height: 72px;--z-index-fab: 25;--z-index-overlay: 100;--z-index-modal: 200;--z-index-toast: 300;--z-index-loader: 9999;--habit-color-crimson: #FFCCC9;--habit-color-crimson-on-surface: #99231D;--habit-color-coral: #FFD191;--habit-color-coral-on-surface: #804B00;--habit-color-amber: #FFE680;--habit-color-amber-on-surface: #755E00;--habit-color-lime: #A8E7B8;--habit-color-lime-on-surface: #1A642D;--habit-color-emerald: #91E7E3;--habit-color-emerald-on-surface: #00625D;--habit-color-teal: #B0E1EA;--habit-color-teal-on-surface: #1A5F6B;--habit-color-sky: #B1E0F6;--habit-color-sky-on-surface: #1B5D7C;--habit-color-indigo: #BDDCFF;--habit-color-indigo-on-surface: #004999;--habit-color-violet: #E9D0F6;--habit-color-violet-on-surface: #693185;--habit-color-fuchsia: #FFCBD5;--habit-color-fuchsia-on-surface: #991B33;--label-color-crimson: var(--habit-color-crimson);--label-color-crimson-on-surface: var(--habit-color-crimson-on-surface);--label-color-coral: var(--habit-color-coral);--label-color-coral-on-surface: var(--habit-color-coral-on-surface);--label-color-amber: var(--habit-color-amber);--label-color-amber-on-surface: var(--habit-color-amber-on-surface);--label-color-lime: var(--habit-color-lime);--label-color-lime-on-surface: var(--habit-color-lime-on-surface);--label-color-emerald: var(--habit-color-emerald);--label-color-emerald-on-surface: var(--habit-color-emerald-on-surface);--label-color-teal: var(--habit-color-teal);--label-color-teal-on-surface: var(--habit-color-teal-on-surface);--label-color-sky: var(--habit-color-sky);--label-color-sky-on-surface: var(--habit-color-sky-on-surface);--label-color-indigo: var(--habit-color-indigo);--label-color-indigo-on-surface: var(--habit-color-indigo-on-surface);--label-color-violet: var(--habit-color-violet);--label-color-violet-on-surface: var(--habit-color-violet-on-surface);--label-color-fuchsia: var(--habit-color-fuchsia);--label-color-fuchsia-on-surface: var(--habit-color-fuchsia-on-surface);--habit-success: var(--color-positive);--habit-partial: var(--color-warn);--habit-missed: var(--color-danger);--habit-skipped: var(--color-muted-2);--habit-success-block: #48B163;--habit-partial-block: #E99116;--habit-missed-block: #ED4840;--badge-scope-user-bg: rgba(60, 52, 137, .16);--badge-scope-user-text: #B5AFFF;--badge-scope-group-bg: rgba(8, 80, 65, .2);--badge-scope-group-text: #7CD9B8;--badge-soon-bg: rgba(133, 79, 11, .2);--badge-soon-text: #E0A24A;--badge-income-bg: rgba(59, 109, 17, .2);--badge-expense-bg: rgba(163, 45, 45, .2)}html.dark,body.dark{--color-bg: #141418;--color-surface: #1F1F23;--color-surface-2: #2B2B30;--color-surface-3: #141418;--elev-0: #141418;--elev-1: #1F1F23;--elev-2: #28282D;--elev-3: #313136;--color-separator: rgba(84, 84, 88, .65);--color-border: rgba(84, 84, 88, .4);--color-control-border: rgba(235, 235, 245, .45);--color-text: rgba(255, 255, 255, .92);--color-muted: rgba(235, 235, 245, .62);--color-muted-2: rgba(235, 235, 245, .45);--color-accent: #9694F5;--color-accent-fill: #5856D6;--color-accent-soft: rgba(94, 92, 230, .18);--color-positive: #30D158;--color-positive-soft: rgba(48, 209, 88, .18);--color-positive-text: #30D158;--color-positive-fill: #217F39;--color-warn: #FF9F0A;--color-warn-soft: rgba(255, 159, 10, .18);--color-warn-text: #FF9F0A;--color-warn-fill: #A15E00;--color-danger: #FF453A;--color-danger-soft: rgba(255, 69, 58, .18);--color-danger-text: #FF6B60;--color-danger-fill: #D13027;--color-bar-track: #2C2C2E;--shadow-fab: 0 4px 16px rgba(0, 0, 0, .4);--shadow-sheet: 0 -1px 0 var(--color-separator);--shadow-overlay: 0 8px 32px rgba(0, 0, 0, .48);--shadow-card: 0 2px 8px rgba(0, 0, 0, .45);--shadow-control: 0 1px 2px rgba(0, 0, 0, .4);--card-border: var(--color-separator);--card-shadow: none;--shadow-focus-ring: 0 0 0 2px var(--color-accent);--color-overlay: rgba(0, 0, 0, .5);--color-chrome: rgba(31, 31, 35, .72);--habit-color-crimson: #99231D;--habit-color-crimson-on-surface: #FFCCC9;--habit-color-coral: #804B00;--habit-color-coral-on-surface: #FFD191;--habit-color-amber: #755E00;--habit-color-amber-on-surface: #FFE680;--habit-color-lime: #1A642D;--habit-color-lime-on-surface: #A8E7B8;--habit-color-emerald: #00625D;--habit-color-emerald-on-surface: #91E7E3;--habit-color-teal: #1A5F6B;--habit-color-teal-on-surface: #B0E1EA;--habit-color-sky: #1B5D7C;--habit-color-sky-on-surface: #B1E0F6;--habit-color-indigo: #004999;--habit-color-indigo-on-surface: #BDDCFF;--habit-color-violet: #693185;--habit-color-violet-on-surface: #E9D0F6;--habit-color-fuchsia: #991B33;--habit-color-fuchsia-on-surface: #FFCBD5;--habit-success-block: #40B05C;--habit-partial-block: #E99816;--habit-missed-block: #ED4840;--badge-scope-user-bg: rgba(88, 80, 236, .2);--badge-scope-user-text: #A5A0F5;--badge-scope-group-bg: rgba(16, 185, 129, .18);--badge-scope-group-text: #6EE7B7;--badge-soon-bg: rgba(245, 158, 11, .18);--badge-soon-text: #FCD34D;--badge-income-bg: var(--color-positive-soft);--badge-expense-bg: var(--color-danger-soft)}body:not(.dark){--badge-scope-user-bg: #EEEDFE;--badge-scope-user-text: #3C3489;--badge-scope-group-bg: #E0F7F1;--badge-scope-group-text: #085041;--badge-soon-bg: #FEF3E2;--badge-soon-text: #85500B;--badge-income-bg: var(--color-positive-soft);--badge-expense-bg: var(--color-danger-soft)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;width:100%;margin:0;padding:0;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);transition:background-color .3s ease,color .3s ease;overflow-x:hidden;max-width:100vw;overscroll-behavior:none;font-synthesis:none;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}app-root{display:block;height:100%;width:100%}:root{--bg-surface: var(--color-surface);--bg-card-glass: var(--color-surface);--text-main: var(--color-text);--text-muted: var(--color-muted);--input-border: var(--color-border);--mdc-outlined-text-field-input-text-color: var(--color-text);--mdc-outlined-text-field-focus-input-text-color: var(--color-text);--mdc-outlined-text-field-caret-color: var(--color-text);--mat-sys-display-large-font: var(--font-sans);--mat-sys-display-medium-font: var(--font-sans);--mat-sys-display-small-font: var(--font-sans);--mat-sys-headline-large-font: var(--font-sans);--mat-sys-headline-medium-font: var(--font-sans);--mat-sys-headline-small-font: var(--font-sans);--mat-sys-title-large-font: var(--font-sans);--mat-sys-title-medium-font: var(--font-sans);--mat-sys-title-small-font: var(--font-sans);--mat-sys-body-large-font: var(--font-sans);--mat-sys-body-medium-font: var(--font-sans);--mat-sys-body-small-font: var(--font-sans);--mat-sys-label-large-font: var(--font-sans);--mat-sys-label-medium-font: var(--font-sans);--mat-sys-label-small-font: var(--font-sans)}body.dark{--bg-surface: var(--color-surface);--bg-card-glass: var(--color-surface);--text-main: var(--color-text);--text-muted: var(--color-muted);--input-border: var(--color-border);--mdc-outlined-text-field-input-text-color: var(--color-text);--mdc-outlined-text-field-input-text-placeholder-color: var(--color-muted);--mdc-outlined-text-field-focus-input-text-color: var(--color-text);--mdc-outlined-text-field-hover-input-text-color: var(--color-text);--mdc-outlined-text-field-caret-color: var(--color-text);--mat-menu-container-color: var(--elev-3);--mat-menu-item-label-text-color: var(--color-text);--mat-menu-item-icon-color: var(--color-muted);--mat-menu-item-hover-state-layer-color: rgba(255, 255, 255, .08);--mat-menu-item-focus-state-layer-color: rgba(255, 255, 255, .12);--mdc-dialog-container-color: var(--elev-3);--mat-dialog-container-background-color: var(--elev-3);--mdc-dialog-subhead-color: var(--color-text);--mdc-dialog-supporting-text-color: var(--color-muted);--mat-select-panel-background-color: var(--elev-3);--mat-option-selected-state-label-text-color: var(--color-text);--mat-option-label-text-color: var(--color-text)}.app-container{height:100%;background:var(--color-bg)}.mat-sidenav-container,.mat-sidenav-content,.mat-drawer-container,.mat-drawer-content{background:var(--color-bg)!important}.mat-bottom-sheet-container{font-family:var(--font-sans)!important;background:var(--elev-2)!important;color:var(--color-text)!important;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0!important;padding:0!important;overflow:hidden!important;transition:transform var(--motion-enter) var(--ease-emphasis)}.mat-bottom-sheet-container .mat-mdc-form-field{--mdc-outlined-text-field-outline-color: var(--color-border);--mdc-outlined-text-field-focus-outline-color: var(--color-accent);--mdc-outlined-text-field-label-text-color: var(--color-muted);--mdc-outlined-text-field-input-text-color: var(--color-text);--mdc-outlined-text-field-hover-outline-color: var(--color-muted)}body.dark .mat-bottom-sheet-container{background:var(--elev-2)!important;color:var(--color-text)!important}body.dark .mat-bottom-sheet-container .mat-mdc-input-element{color:var(--color-text)!important;caret-color:var(--color-text)!important}body.dark .mat-bottom-sheet-container .mat-mdc-select-value-text,body.dark .mat-bottom-sheet-container .mat-mdc-select-min-line{color:var(--color-text)!important}body.dark .mat-bottom-sheet-container .mat-mdc-floating-label,body.dark .mat-bottom-sheet-container .mdc-floating-label{color:var(--color-muted)!important}body.dark .mat-bottom-sheet-container .mdc-notched-outline__leading,body.dark .mat-bottom-sheet-container .mdc-notched-outline__notch,body.dark .mat-bottom-sheet-container .mdc-notched-outline__trailing{border-color:var(--color-border)!important}body.dark .mat-bottom-sheet-container label,body.dark .mat-bottom-sheet-container span:not(.mat-mdc-button-touch-target){color:var(--color-text)}body.dark .mat-mdc-dialog-surface{background-color:var(--mdc-dialog-container-color);color:var(--color-text);--mdc-outlined-text-field-input-text-color: var(--color-text);--mdc-outlined-text-field-label-text-color: var(--color-muted);--mdc-outlined-text-field-focus-label-text-color: var(--color-text);--mdc-outlined-text-field-hover-label-text-color: var(--color-text);--mdc-outlined-text-field-outline-color: var(--color-border);--mdc-outlined-text-field-hover-outline-color: var(--color-muted);--mdc-outlined-text-field-focus-outline-color: var(--color-text);--mdc-outlined-text-field-caret-color: var(--color-text);--mdc-outlined-text-field-input-text-placeholder-color: var(--color-muted);--mat-radio-label-text-color: var(--color-text);--mdc-radio-unselected-icon-color: var(--color-muted);--mdc-radio-unselected-hover-icon-color: var(--color-text);--mat-select-enabled-trigger-text-color: var(--color-text);--mat-select-trigger-text-color: var(--color-text);--mat-select-placeholder-text-color: var(--color-muted);--mat-select-arrow-foreground-color: var(--color-muted)}body.dark .mat-mdc-dialog-surface .mat-mdc-dialog-title,body.dark .mat-mdc-dialog-surface .mdc-dialog__title{color:var(--color-text)!important}body.dark .mat-mdc-dialog-content{color:var(--color-text)}body.dark .mat-mdc-dialog-surface .mat-mdc-input-element{color:var(--color-text)!important;caret-color:var(--color-text)!important}body.dark .mat-mdc-dialog-surface textarea.mat-mdc-input-element,body.dark .mat-mdc-dialog-surface .mat-mdc-select-value-text,body.dark .mat-mdc-dialog-surface .mat-mdc-select-min-line,body.dark .mat-mdc-dialog-surface .mat-mdc-select-value{color:var(--color-text)!important}body.dark .mat-mdc-dialog-surface .mat-mdc-select-arrow{color:var(--color-muted)!important}body.dark .mat-mdc-dialog-surface .mdc-form-field>label{color:var(--color-text)!important}body.dark .mat-mdc-dialog-surface .mat-mdc-floating-label,body.dark .mat-mdc-dialog-surface .mdc-floating-label{color:var(--color-muted)!important}body.dark .mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,body.dark .mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-notched-outline__notch,body.dark .mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing,.mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-notched-outline__leading,.mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-notched-outline__notch,.mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-notched-outline__trailing{border-color:var(--color-text)!important}body.dark .mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mat-mdc-floating-label,body.dark .mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-floating-label,body.dark .mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-floating-label--float-above,.mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mat-mdc-floating-label,.mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-floating-label,.mat-mdc-dialog-surface .mat-mdc-form-field.mat-focused .mdc-floating-label--float-above{color:var(--color-text)!important}.mat-mdc-dialog-surface .mat-mdc-input-element{caret-color:var(--color-text)!important}.mat-mdc-dialog-actions .mat-mdc-button:not([color]){background:transparent!important;color:var(--color-muted)!important}@media (hover: hover) and (pointer: fine){.mat-mdc-dialog-actions .mat-mdc-button:not([color]):hover{color:var(--color-text)!important}}body.dark .mat-mdc-dialog-actions .mat-mdc-unelevated-button[color=primary]:not(:disabled){background-color:var(--color-text)!important;color:var(--color-surface)!important}body.dark .mat-mdc-dialog-actions .mat-mdc-unelevated-button[color=primary]:disabled{background-color:#ffffff14!important;color:#ffffff4d!important;opacity:1!important}.mat-icon svg{fill:currentColor}body.dark .mat-mdc-menu-panel{background-color:var(--mdc-dialog-container-color)!important;border:1px solid var(--color-border)}body.dark .mat-mdc-menu-item{color:var(--color-text)!important}body.dark .mat-mdc-menu-item .mat-icon{color:var(--color-muted)!important}@media (hover: hover) and (pointer: fine){body.dark .mat-mdc-menu-item:hover:not([disabled]){background-color:#ffffff12!important}}body.dark .mat-mdc-menu-item.archive-item,body.dark .mat-mdc-menu-item.archive-item .mat-icon{color:var(--habit-missed)!important}body.dark .mat-mdc-menu-item.skip-item,body.dark .mat-mdc-menu-item.skip-item .mat-icon{color:var(--habit-skipped)!important}body.dark .mat-mdc-menu-item.skip-item.skip-active,body.dark .mat-mdc-menu-item.skip-item.skip-active .mat-icon{color:var(--habit-partial)!important}.mat-mdc-dialog-container .mdc-dialog__surface{background:var(--elev-3)!important;color:var(--color-text)!important}body.dark .mat-mdc-dialog-container .mdc-dialog__surface{background:var(--elev-3)!important}body.dark .mat-drawer{background:var(--color-bg)!important;color:var(--color-text)!important}body.dark .mat-button-toggle-checked .mat-button-toggle-label-content{color:var(--color-bg)!important}body.dark .mat-button-toggle:not(.mat-button-toggle-checked) .mat-button-toggle-label-content{color:var(--color-muted)!important}.snackbar-overlay .mdc-snackbar__surface{background:transparent!important;box-shadow:none!important;padding:0!important}.cdk-overlay-container .cdk-overlay-pane:has(.mdc-snackbar){pointer-events:none}.cdk-overlay-container .mdc-snackbar{pointer-events:none;margin-bottom:calc(var(--bottom-nav-height) + var(--space-3))}.cdk-overlay-container .mdc-snackbar__surface{pointer-events:auto}@media (min-width: 768px){.cdk-overlay-container .mdc-snackbar{margin-bottom:var(--space-3)}}.app-select-panel{border-radius:10px!important;box-shadow:0 4px 24px #0f172a1f!important;padding:var(--space-1)!important}.app-select-panel .mat-mdc-option{border-radius:6px;margin:var(--space-05) var(--space-1);padding:0 var(--space-3);min-height:40px;font-size:var(--text-caption-xs);font-weight:var(--weight-medium);transition:background var(--motion-base) var(--ease-standard)}.app-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple){background:var(--color-surface-2)}.app-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple) .mdc-list-item__primary-text{color:var(--color-text);font-weight:var(--weight-semibold)}@media (hover: hover) and (pointer: fine){.app-select-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled){background:var(--color-surface-2)}}body.dark .app-select-panel{background:var(--elev-3);border:1px solid var(--color-border)}body.dark .app-select-panel .mat-mdc-option{color:var(--color-text)}body.dark .app-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple){background:var(--color-surface-2)}body.dark .app-select-panel .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple) .mdc-list-item__primary-text{color:var(--color-text)}@media (hover: hover) and (pointer: fine){body.dark .app-select-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled){background:var(--color-surface-2)}}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--color-accent)!important;outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ff-shimmer{to{transform:translate(100%)}}@keyframes hub-fade-in{0%{opacity:0}to{opacity:1}}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.heatmap-cell{display:block;width:100%;aspect-ratio:1;border-radius:var(--radius-xs);transition:background-color var(--motion-base) var(--ease-standard)}.heatmap-cell--level-0{background:var(--color-surface-2)}.heatmap-cell--level-1{background:color-mix(in srgb,var(--habit-color, var(--color-muted-2)) 25%,var(--color-surface-2))}.heatmap-cell--level-2{background:color-mix(in srgb,var(--habit-color, var(--color-muted-2)) 60%,var(--color-surface-2))}.heatmap-cell--level-3{background:var(--habit-color, var(--color-muted-2))}.app-select--borderless .mat-mdc-text-field-wrapper{background:transparent!important;padding:0!important}.app-select--borderless .mdc-notched-outline__leading,.app-select--borderless .mdc-notched-outline__notch,.app-select--borderless .mdc-notched-outline__trailing{border:none!important}.app-select--borderless .mat-mdc-form-field-infix{padding:var(--space-1) 0!important;min-height:unset!important;width:auto!important;min-width:0!important}.app-select--borderless .mat-mdc-form-field-subscript-wrapper{display:none!important}.app-select--borderless .mat-mdc-select-value{color:var(--color-text)!important;font-size:var(--text-caption-xs);font-weight:var(--weight-medium)}.app-select--borderless .mat-mdc-select-arrow{color:var(--color-muted)!important}.app-select--borderless mat-label{display:none!important}@media (max-width: 767px){input,select,textarea,[matInput]{font-size:var(--text-callout)!important}}.ff-bottom-sheet .mat-bottom-sheet-container{touch-action:pan-y;overscroll-behavior:contain;max-height:92dvh;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0}ff-drag-handle{touch-action:none}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-base)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-property:opacity,color,background-color,border-color,box-shadow,fill,stroke}*:active{transform:none!important}.tile-input,.habits__list-item,.pager__slide,.hub-fade{animation:none;opacity:1;transform:none}::view-transition-group(*){animation-duration:1ms}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--motion-base)}@keyframes reduced-pulse{0%,to{opacity:1}50%{opacity:.55}}.ff-skeleton:after,.skel__text:after,.skel__card:after,.skel__avatar:after,.skel__line:after,.closure-bar--loading:after{transform:none;animation:reduced-pulse 1.6s ease-in-out infinite}}
