@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--score-accent:#6f7f95;--score-accent-secondary:#6f7f95}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ease:initial;--score-rate:0deg}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--background:#f4f3ed;--surface:#fffefa;--surface-raised:#fff;--surface-soft:#eceee7;--foreground:#17302f;--muted:#71807a;--subtle:#9ba6a0;--line:#dfe3dc;--accent:#2c7563;--accent-strong:#1f5e50;--accent-soft:#dfeee7;--accent-pale:#f0f7f3;--warm:#d59a43;--warm-soft:#f4ead5;--danger:#b64e45;--danger-soft:#f8e6e3;--shadow:0 18px 52px #2a3d3717;--shadow-small:0 8px 24px #2a3d3712}:root[data-theme=dark]{--background:#101a1a;--surface:#172322;--surface-raised:#1c2928;--surface-soft:#20302e;--foreground:#eef5f1;--muted:#a4b4ae;--subtle:#7d8e88;--line:#2d3d3a;--accent:#72bda5;--accent-strong:#91d5bd;--accent-soft:#263e38;--accent-pale:#1d312d;--warm:#e5ae5c;--warm-soft:#3b3327;--danger:#ef8e84;--danger-soft:#422c2b;--shadow:0 18px 52px #00000038;--shadow-small:0 8px 24px #0000002e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#101a1a;--surface:#172322;--surface-raised:#1c2928;--surface-soft:#20302e;--foreground:#eef5f1;--muted:#a4b4ae;--subtle:#7d8e88;--line:#2d3d3a;--accent:#72bda5;--accent-strong:#91d5bd;--accent-soft:#263e38;--accent-pale:#1d312d;--warm:#e5ae5c;--warm-soft:#3b3327;--danger:#ef8e84;--danger-soft:#422c2b;--shadow:0 18px 52px #00000038;--shadow-small:0 8px 24px #0000002e}}*{box-sizing:border-box}html{background:var(--background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;min-height:100%}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(circle at 82% -8%, var(--accent), transparent 28rem), var(--background);min-height:100dvh;margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 82% -8%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 28rem), var(--background)}}body{color:var(--foreground);text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.5}button,input,textarea{color:inherit;font:inherit}button{cursor:pointer;touch-action:manipulation;border:0;min-width:44px;min-height:44px}button:disabled{cursor:not-allowed;opacity:.42}textarea{resize:vertical}input,textarea{font-size:16px}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent)}}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px}.app-shell{min-height:100dvh;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.app-content{width:min(100%,760px);min-height:100dvh;padding:18px 18px calc(112px + env(safe-area-inset-bottom));margin:0 auto}.page-stack{flex-direction:column;gap:18px;animation:.28s ease-out page-arrive;display:flex}@keyframes page-arrive{0%{opacity:0;transform:translateY(6px)}}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-size:11px;font-weight:800}.page-header{justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding-top:6px;display:flex}.page-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(28px,8vw,38px);font-weight:760;line-height:1.13}.connection-pill{width:fit-content;color:var(--muted);align-items:center;gap:7px;margin:0 0 3px auto;font-size:11px;font-weight:650;display:flex}.connection-pill span{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.connection-pill span.offline{background:var(--warm);box-shadow:0 0 0 4px var(--warm-soft)}.save-state{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 11px;display:flex}@supports (color:color-mix(in lab, red, red)){.save-state{background:color-mix(in srgb, var(--surface) 86%, transparent)}}.save-state{color:var(--muted);font-size:11px;font-weight:700}.save-state span{background:var(--accent);border-radius:50%;width:7px;height:7px}.save-saving span{background:var(--warm);animation:.85s ease-in-out infinite saving-pulse}.save-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.save-error{border-color:color-mix(in srgb, var(--danger) 30%, var(--line))}}.save-error{color:var(--danger)}.save-error span{background:var(--danger)}@keyframes saving-pulse{50%{opacity:.35;transform:scale(.72)}}.score-hero{border:1px solid var(--accent);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:160px;padding:22px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.score-hero{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line))}}.score-hero{background:linear-gradient(132deg, var(--surface), var(--accent-soft));border-radius:28px}@supports (color:color-mix(in lab, red, red)){.score-hero{background:linear-gradient(132deg, var(--surface), color-mix(in srgb, var(--accent-soft) 48%, var(--surface)))}}.score-hero{box-shadow:var(--shadow)}.score-hero:after{border:30px solid var(--accent);width:190px;height:190px;position:absolute;bottom:-70px;right:-48px}@supports (color:color-mix(in lab, red, red)){.score-hero:after{border:30px solid color-mix(in srgb, var(--accent) 9%, transparent)}}.score-hero:after{content:"";border-radius:50%}.score-dial{background:conic-gradient(var(--accent) var(--score-rate), var(--surface-soft) 0);width:104px;height:104px;box-shadow:inset 0 0 0 1px var(--accent);border-radius:50%;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.score-dial{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent)}}.score-dial>div{background:var(--surface);border-radius:50%;justify-content:center;align-items:baseline;width:80px;height:80px;padding-top:24px;display:flex}.score-dial strong{letter-spacing:-.05em;font-size:31px;font-weight:780}.score-dial span{color:var(--muted);margin-left:2px;font-size:13px;font-weight:700}.score-hero-copy{z-index:1;position:relative}.score-hero-copy>span{color:var(--muted);font-size:12px;font-weight:700}.score-hero-copy h2{letter-spacing:-.05em;margin:1px 0 3px;font-size:clamp(30px,9vw,45px);font-weight:760;line-height:1.05}.score-hero-copy h2 small{color:var(--muted);letter-spacing:-.02em;font-size:15px;font-weight:650}.score-hero-copy p{color:var(--muted);margin:0;font-size:12px}.score-hero-copy p strong{margin-left:4px}.positive{color:var(--accent)}.negative{color:var(--danger)}.completion-count{z-index:1;border:1px solid var(--accent);flex-direction:column;align-items:center;min-width:58px;padding:10px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.completion-count{border:1px solid color-mix(in srgb, var(--accent) 20%, transparent)}}.completion-count{background:var(--surface);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.completion-count{background:color-mix(in srgb, var(--surface) 68%, transparent)}}.completion-count span{color:var(--muted);font-size:10px}.backup-reminder{border:1px solid var(--warm);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.backup-reminder{border:1px solid color-mix(in srgb, var(--warm) 28%, var(--line))}}.backup-reminder{background:var(--warm-soft);border-radius:18px}.reminder-icon{background:var(--warm);border-radius:12px;place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab, red, red)){.reminder-icon{background:color-mix(in srgb, var(--warm) 18%, var(--surface))}}.reminder-icon{color:var(--warm);font-size:22px;font-weight:800}.backup-reminder strong,.backup-reminder p{display:block}.backup-reminder p{color:var(--muted);margin:1px 0 0;font-size:11px}.backup-reminder button{background:var(--warm);color:#fff;border-radius:11px;min-height:36px;padding:0 10px;font-size:11px;font-weight:800}.section-heading{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.section-heading h2,.settings-section>h2{letter-spacing:-.035em;margin:0;font-size:21px;font-weight:740}.section-heading>span{color:var(--muted);font-size:11px;font-weight:650}.habit-list{flex-direction:column;gap:11px;display:flex}.habit-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-small);border-radius:22px;padding:16px;transition:border-color .16s,transform .16s}@supports (color:color-mix(in lab, red, red)){.habit-card.scored{border-color:color-mix(in srgb, var(--accent) 30%, var(--line))}}.habit-main{align-items:center;gap:12px;display:flex}.habit-icon{background:var(--accent-soft);border-radius:14px;flex:none;place-items:center;width:43px;height:43px;font-size:19px;display:grid}.habit-copy{flex:1;min-width:0}.habit-name-row{align-items:baseline;gap:7px;display:flex}.habit-index{color:var(--subtle);font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:9px;font-weight:800}.habit-name-row h3{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:16px;font-weight:720;overflow:hidden}.habit-name-row output{color:var(--accent);font-variant-numeric:tabular-nums;font-size:19px;font-weight:800}.habit-name-row output small{color:var(--muted);font-size:10px;font-weight:650}.habit-copy>p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:1px 0 0 24px;font-size:11px;overflow:hidden}.quick-scores{grid-template-columns:repeat(5,1fr);gap:7px;margin-top:14px;display:grid}.quick-scores button{border:1px solid var(--line);background:var(--surface-soft);min-height:39px;color:var(--muted);border-radius:12px;font-size:12px;font-weight:750;transition:all .14s}.quick-scores button.active{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}.slider-row{grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:12px;display:grid}input[type=range]{appearance:none;background:0 0;width:100%;height:18px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--slider-rate), var(--surface-soft) var(--slider-rate));border-radius:999px;height:5px}input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--surface);background:var(--accent);border-radius:50%;width:20px;height:20px;margin-top:-8px;box-shadow:0 2px 8px #1a493e47}input[type=range]::-moz-range-track{background:var(--surface-soft);border-radius:999px;height:5px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:999px;height:5px}input[type=range]::-moz-range-thumb{border:3px solid var(--surface);background:var(--accent);border-radius:50%;width:16px;height:16px}.note-toggle{min-width:48px;min-height:36px;color:var(--muted);background:0 0;border-radius:10px;padding:0 8px;font-size:11px;font-weight:700}.habit-note{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;outline:none;width:100%;min-height:72px;margin-top:10px;padding:11px 12px}.day-note-card,.history-detail,.calendar-card,.chart-card,.settings-section{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-small);border-radius:24px;padding:19px}.day-note-card h2{letter-spacing:-.035em;margin:0;font-size:20px}.day-note-card textarea{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;outline:none;width:100%;min-height:116px;margin-top:15px;padding:14px;line-height:1.6}.textarea-meta{color:var(--muted);justify-content:space-between;margin-top:7px;font-size:10px;display:flex}.history-edit-note{color:var(--muted);text-align:center;margin:0;font-size:11px}.page-loading{min-height:65vh;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.page-loading span{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:.85s infinite saving-pulse}.record-count{flex-direction:column;align-items:flex-end;display:flex}.record-count strong{color:var(--accent);font-size:25px;line-height:1}.record-count span{color:var(--muted);font-size:10px}.calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.calendar-toolbar h2{letter-spacing:-.02em;margin:0;font-size:18px}.calendar-toolbar button{background:var(--surface-soft);width:44px;color:var(--accent);border-radius:13px;font-size:25px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekday-row{color:var(--muted);text-align:center;margin-bottom:7px;font-size:10px;font-weight:700}.calendar-day{background:0 0;border:1px solid #0000;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:48px;font-size:12px;font-weight:700;display:flex;position:relative}.calendar-day small{color:var(--muted);font-size:8px}.calendar-day.today:after{background:var(--accent);content:"";border-radius:50%;width:4px;height:4px;position:absolute;top:4px}.calendar-day.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.empty-cell{min-height:48px}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:13px;margin-top:15px;font-size:9px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:flex}.calendar-legend i{background:var(--surface-soft);border-radius:3px;width:8px;height:8px}.calendar-legend .legend-complete{background:var(--accent)}.calendar-legend .legend-partial{background:var(--warm)}.history-score{grid-template-columns:repeat(3,1fr);gap:8px;margin:17px 0;display:grid}.history-score div{background:var(--surface-soft);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:76px;display:flex}.history-score strong{font-size:21px}.history-score span{color:var(--muted);font-size:9px}.history-detail blockquote{border-left:3px solid var(--accent);background:var(--accent-pale);color:var(--muted);border-radius:0 12px 12px 0;margin:0 0 16px;padding:12px 14px}.status-pill{background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:10px;font-weight:750}.status-pill.status-completed{background:var(--accent-soft);color:var(--accent)}.status-pill.status-partial{background:var(--warm-soft);color:var(--warm)}.back-button{align-self:flex-start}.text-button{color:var(--accent);background:0 0;padding:0;font-size:13px;font-weight:750}.range-switch,.segmented-control{background:var(--surface-soft);border-radius:13px;padding:3px;display:flex}.range-switch button,.segmented-control button{min-height:36px;color:var(--muted);background:0 0;border-radius:10px;padding:0 12px;font-size:11px;font-weight:750}.range-switch button.active,.segmented-control button.active{background:var(--surface-raised);color:var(--accent);box-shadow:0 3px 10px #18342d14}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);min-height:128px;box-shadow:var(--shadow-small);border-radius:21px;flex-direction:column;justify-content:space-between;padding:16px;display:flex}.metric-card>span{color:var(--muted);font-size:11px;font-weight:700}.metric-card strong{letter-spacing:-.05em;font-size:31px}.metric-card strong em{letter-spacing:0;font-size:12px;font-style:normal}.metric-card small{color:var(--muted);font-size:9px}.metric-featured{background:var(--accent);color:#fff;border-color:#0000}.metric-featured>span,.metric-featured small{color:#ffffffb3}.trend-chart{width:100%;height:245px;margin-top:16px}.bar-chart{width:100%;height:255px;margin-top:15px}.chart-empty{min-height:210px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.chart-empty>span{background:var(--accent-soft);width:54px;height:54px;color:var(--accent);border-radius:18px;place-items:center;margin-bottom:10px;font-size:24px;display:grid}.chart-empty strong{color:var(--foreground)}.chart-empty p{margin:4px 0 0;font-size:11px}.heatmap{grid-template-columns:repeat(10,1fr);gap:6px;margin-top:16px;display:grid}.heatmap>div{aspect-ratio:1;background:var(--surface-soft);color:var(--muted);border-radius:7px;place-items:center;font-size:8px;font-weight:700;display:grid}.heatmap [data-level="1"],.heatmap-legend [data-level="1"]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.heatmap [data-level="1"],.heatmap-legend [data-level="1"]{background:color-mix(in srgb, var(--accent) 24%, var(--surface))}}.heatmap [data-level="2"],.heatmap-legend [data-level="2"]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.heatmap [data-level="2"],.heatmap-legend [data-level="2"]{background:color-mix(in srgb, var(--accent) 43%, var(--surface))}}.heatmap [data-level="2"],.heatmap-legend [data-level="2"]{color:var(--foreground)}.heatmap [data-level="3"],.heatmap-legend [data-level="3"]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.heatmap [data-level="3"],.heatmap-legend [data-level="3"]{background:color-mix(in srgb, var(--accent) 70%, var(--surface))}}.heatmap [data-level="3"],.heatmap-legend [data-level="3"]{color:#fff}.heatmap [data-level="4"],.heatmap-legend [data-level="4"]{background:var(--accent);color:#fff}.heatmap-legend{color:var(--muted);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;font-size:8px;display:flex}.heatmap-legend i{background:var(--surface-soft);border-radius:3px;width:9px;height:9px}.low-list{border-top:1px solid var(--line);margin-top:12px;padding-top:15px}.low-list h3{margin:0 0 10px;font-size:13px}.low-list>div{grid-template-columns:25px 84px 1fr 36px;align-items:center;gap:8px;min-height:35px;font-size:11px;display:grid}.low-list>div>div{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.low-list>div>div i{border-radius:inherit;background:var(--warm);height:100%;display:block}.low-list em{color:var(--muted);text-align:right;font-style:normal}.settings-section>.eyebrow{margin-bottom:1px}.version-badge,.local-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750}.inline-notice{background:var(--accent-soft);color:var(--accent-strong);border-radius:15px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 15px;font-size:11px;font-weight:650;display:flex}.inline-notice button{background:0 0;border-radius:10px;min-width:36px;min-height:36px;font-size:20px}.project-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.project-list article{border:1px solid var(--line);background:var(--surface-soft);border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy switch""icon actions archive";align-items:center;gap:2px 10px;padding:11px;display:grid;position:relative}.project-icon{background:var(--surface);border-radius:13px;grid-area:icon;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.project-copy{flex-direction:column;grid-area:copy;min-width:0;display:flex}.project-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.project-copy span{color:var(--muted);font-size:9px}.project-actions{grid-area:actions;display:flex}.project-actions button,.archive-link{min-width:34px;min-height:31px;color:var(--muted);background:0 0;padding:0 6px;font-size:9px;font-weight:700}.archive-link{color:var(--danger);grid-area:archive;justify-self:end}.switch-control{grid-area:switch;width:46px;height:28px;display:block;position:relative}.switch-control input{opacity:0;position:absolute}.switch-control span{background:var(--line);border-radius:999px;transition:all .16s;position:absolute;inset:0}.switch-control span:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .16s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000029}.switch-control input:checked+span{background:var(--accent)}.switch-control input:checked+span:after{transform:translate(18px)}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{flex-direction:column;display:flex}.setting-row strong{font-size:13px}.setting-row span{color:var(--muted);font-size:9px}.setting-row-block{flex-direction:column;align-items:stretch}.segmented-control{width:100%}.segmented-control button{flex:1}.quick-score-setting input{border:1px solid var(--line);background:var(--surface-soft);text-align:right;border-radius:11px;outline:0;width:130px;padding:9px 10px}@supports (color:color-mix(in lab, red, red)){.backup-section{background:linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--accent-soft) 45%, var(--surface)))}}.backup-status{background:var(--surface);border-radius:17px;align-items:center;gap:12px;margin:16px 0;padding:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.backup-status{background:color-mix(in srgb, var(--surface) 74%, transparent)}}.backup-cloud{background:var(--accent);color:#fff;border-radius:15px;flex:none;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.backup-status div:last-child{flex-direction:column;display:flex}.backup-status strong{font-size:13px}.backup-status span{color:var(--muted);font-size:9px}.backup-section .button+.button{margin-top:9px}.privacy-copy{color:var(--muted);margin:11px 0 0;font-size:9px;line-height:1.55}.storage-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.storage-grid div{background:var(--surface-soft);border-radius:15px;flex-direction:column;justify-content:center;min-height:78px;padding:10px;display:flex}.storage-grid span{color:var(--muted);font-size:9px}.storage-grid strong{margin-top:3px;font-size:13px}.danger-link{background:var(--danger-soft);width:100%;color:var(--danger);border-radius:14px;margin-top:15px;font-size:12px;font-weight:750}.button{border-radius:14px;justify-content:center;align-items:center;padding:0 18px;font-size:13px;font-weight:760;transition:transform .12s,opacity .12s;display:inline-flex}.button:active{transform:scale(.98)}.button-primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px var(--accent)}@supports (color:color-mix(in lab, red, red)){.button-primary{box-shadow:0 8px 18px color-mix(in srgb, var(--accent) 22%, transparent)}}.button-secondary{border:1px solid var(--line);background:var(--surface);color:var(--foreground)}.button-danger{background:var(--danger);color:#fff}.button-wide{width:100%;min-height:50px}.button-small{min-height:38px;padding:0 12px;font-size:11px}.empty-copy{color:var(--muted);font-size:11px}.bottom-navigation{z-index:30;right:max(12px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:540px;height:73px;margin:0 auto;padding:7px;display:grid;position:fixed}@supports (color:color-mix(in lab, red, red)){.bottom-navigation{border:1px solid color-mix(in srgb, var(--line) 78%, transparent)}}.bottom-navigation{background:var(--surface);border-radius:24px}@supports (color:color-mix(in lab, red, red)){.bottom-navigation{background:color-mix(in srgb, var(--surface) 88%, transparent)}}.bottom-navigation button{min-width:0;min-height:56px;color:var(--muted);background:0 0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:9px;font-weight:700;display:flex}.bottom-navigation button.active{background:var(--accent-soft);color:var(--accent)}.nav-icon{height:24px;font-size:19px;font-weight:700;line-height:24px}.modal-backdrop{z-index:80;padding:16px max(14px, env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0916147a;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--line);background:var(--surface);border-radius:28px;width:min(100%,520px);max-height:min(86dvh,720px);padding:12px 18px 18px;animation:.2s ease-out modal-arrive;overflow-y:auto;box-shadow:0 24px 80px #00000040}@keyframes modal-arrive{0%{opacity:0;transform:translateY(24px)}}.modal-grabber{background:var(--line);border-radius:99px;width:42px;height:4px;margin:0 auto 15px}.modal-card h2{letter-spacing:-.035em;margin:0;font-size:23px}.modal-description{color:var(--muted);margin:5px 0 0;font-size:11px}.modal-content{margin-top:16px}.modal-actions{grid-template-columns:1fr 1.35fr;gap:9px;margin-top:18px;display:grid}.habit-form{flex-direction:column;gap:12px;display:flex}.habit-form label{flex-direction:column;gap:5px;display:flex}.habit-form label span{color:var(--muted);font-size:10px;font-weight:700}.habit-form input{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;outline:0;width:100%;height:46px;padding:0 12px}.form-grid{grid-template-columns:1fr 1fr 1fr;gap:9px;display:grid}.update-toast{z-index:45;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--foreground);max-width:520px;color:var(--background);box-shadow:var(--shadow);border-radius:17px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:12px;display:flex;position:fixed;left:16px}.update-toast div{flex-direction:column;display:flex}.update-toast span{opacity:.72;font-size:9px}.update-toast button{background:var(--accent);color:#fff;border-radius:11px;min-height:38px;font-size:11px;font-weight:750}.install-guide,.boot-screen,.error-screen{width:min(100%,520px);padding:46px 22px calc(28px + env(safe-area-inset-bottom));flex-direction:column;justify-content:center;margin:0 auto;display:flex}.install-guide{min-height:100dvh}.install-mark{background:var(--accent);color:#fff;width:60px;height:60px;box-shadow:0 14px 30px var(--accent);border-radius:19px;place-items:center;margin-bottom:20px;font-size:28px;font-weight:800;display:grid}@supports (color:color-mix(in lab, red, red)){.install-mark{box-shadow:0 14px 30px color-mix(in srgb, var(--accent) 28%, transparent)}}.install-guide h1{letter-spacing:-.055em;max-width:460px;margin:0;font-size:34px;line-height:1.16}.install-lead{color:var(--muted);margin:14px 0 22px;line-height:1.7}.install-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{border:1px solid var(--line);background:var(--surface);border-radius:15px;align-items:center;gap:11px;min-height:48px;padding:8px 12px;font-weight:650;display:flex}.install-steps span{background:var(--accent-soft);width:29px;height:29px;color:var(--accent);border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.privacy-note{background:var(--accent-pale);border-radius:16px;gap:11px;margin:18px 0;padding:13px;display:flex}.privacy-note>span{color:var(--accent);font-size:22px}.privacy-note strong{font-size:12px}.privacy-note p{color:var(--muted);margin:1px 0 0;font-size:10px}.install-footnote{color:var(--muted);text-align:center;margin:8px 0 0;font-size:9px}.boot-screen,.error-screen{text-align:center;align-items:center;min-height:100dvh}.boot-screen .install-mark{margin-bottom:28px}.boot-pulse{background:var(--surface-soft);border-radius:999px;width:180px;height:5px;overflow:hidden}.boot-pulse:after{border-radius:inherit;background:var(--accent);content:"";width:42%;height:100%;animation:1.1s ease-in-out infinite alternate boot-slide;display:block}@keyframes boot-slide{to{transform:translate(138%)}}.boot-screen p{color:var(--muted);font-size:11px}.error-mark{background:var(--danger-soft);width:58px;height:58px;color:var(--danger);border-radius:18px;place-items:center;font-size:26px;font-weight:800;display:grid}.error-screen h1{margin:18px 0 5px;font-size:25px}.error-screen p{max-width:380px;color:var(--muted);margin:0 0 18px}.desktop-brand{display:none}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}@media (min-width:760px){.app-content{padding-left:24px;padding-right:24px}.quick-scores button{min-height:43px}.modal-backdrop{align-items:center}}@media (min-width:1120px){.app-content{margin-left:calc(50% - 240px)}.desktop-brand{align-items:center;gap:14px;display:flex;position:fixed;top:56px;left:max(36px,50% - 520px)}.desktop-brand .install-mark{border-radius:15px;width:48px;height:48px;margin:0;font-size:23px}.desktop-brand div:last-child{flex-direction:column;display:flex}.desktop-brand strong{font-size:16px}.desktop-brand span{color:var(--muted);font-size:10px}}@media (max-width:430px){.app-content{padding-left:14px;padding-right:14px}.score-hero{grid-template-columns:auto 1fr;gap:14px;padding:18px}.completion-count{display:none}.score-dial{width:91px;height:91px}.score-dial>div{width:69px;height:69px;padding-top:20px}.score-dial strong{font-size:27px}.quick-scores{gap:5px}.quick-scores button{min-height:38px}.backup-reminder{grid-template-columns:auto 1fr}.backup-reminder button{grid-column:1/-1;width:100%}.heatmap{grid-template-columns:repeat(6,1fr)}.calendar-grid,.weekday-row{gap:3px}.calendar-day,.empty-cell{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.grouped-habit-list{gap:16px;display:grid}.expand-incomplete-groups{border:1px solid var(--accent);justify-self:end;min-height:44px;padding:0 16px}@supports (color:color-mix(in lab, red, red)){.expand-incomplete-groups{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line))}}.expand-incomplete-groups{color:var(--accent);background:var(--accent-soft);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.expand-incomplete-groups{background:color-mix(in srgb, var(--accent-soft) 72%, var(--surface))}}.expand-incomplete-groups{box-shadow:var(--shadow-small);font-weight:760}.expand-incomplete-groups span{margin-right:6px;display:inline-block}.habit-group-card{--group-color:var(--accent);border:1px solid var(--group-color);overflow:clip}@supports (color:color-mix(in lab, red, red)){.habit-group-card{border:1px solid color-mix(in srgb, var(--group-color) 26%, var(--line))}}.habit-group-card{background:linear-gradient(135deg, var(--group-color) 0%, var(--surface) 68%);border-radius:24px}@supports (color:color-mix(in lab, red, red)){.habit-group-card{background:linear-gradient(135deg, color-mix(in srgb, var(--group-color) 7%, var(--surface)) 0%, color-mix(in srgb, var(--surface) 94%, transparent) 68%)}}.habit-group-card{box-shadow:0 14px 34px var(--group-color), inset 0 1px 0 #ffffff6b}@supports (color:color-mix(in lab, red, red)){.habit-group-card{box-shadow:0 14px 34px color-mix(in srgb, var(--group-color) 8%, transparent), inset 0 1px 0 #ffffff6b}}.habit-group-card{transition:border-color .26s,box-shadow .26s,background .26s}.habit-group-card.is-expanded{border-color:var(--group-color)}@supports (color:color-mix(in lab, red, red)){.habit-group-card.is-expanded{border-color:color-mix(in srgb, var(--group-color) 38%, var(--line))}}.habit-group-card.is-expanded{box-shadow:0 18px 42px var(--group-color), inset 0 1px 0 #ffffff7a}@supports (color:color-mix(in lab, red, red)){.habit-group-card.is-expanded{box-shadow:0 18px 42px color-mix(in srgb, var(--group-color) 11%, transparent), inset 0 1px 0 #ffffff7a}}.habit-group-header{width:100%;min-height:88px;color:var(--text);text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;grid-template-columns:48px minmax(0,1fr) auto 26px;align-items:center;gap:12px;padding:14px 16px;display:grid}.habit-group-header:focus-visible{outline:3px solid var(--group-color)}@supports (color:color-mix(in lab, red, red)){.habit-group-header:focus-visible{outline:3px solid color-mix(in srgb, var(--group-color) 45%, transparent)}}.habit-group-header:focus-visible{outline-offset:-4px}.habit-group-icon{border:1px solid var(--group-color);place-items:center;width:48px;height:48px;display:grid}@supports (color:color-mix(in lab, red, red)){.habit-group-icon{border:1px solid color-mix(in srgb, var(--group-color) 28%, transparent)}}.habit-group-icon{background:var(--group-color);border-radius:16px}@supports (color:color-mix(in lab, red, red)){.habit-group-icon{background:color-mix(in srgb, var(--group-color) 13%, var(--surface))}}.habit-group-icon{font-size:23px;box-shadow:inset 0 1px #ffffff80}.habit-group-title,.habit-group-stats{gap:5px;display:grid}.habit-group-title strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.habit-group-title small,.habit-group-stats small{color:var(--muted);font-size:12px}.habit-group-stats{justify-items:end;min-width:48px}.habit-group-stats strong{color:var(--group-color);font-variant-numeric:tabular-nums;font-size:17px}.habit-group-chevron{width:26px;height:26px;color:var(--group-color);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.habit-group-chevron{color:color-mix(in srgb, var(--group-color) 82%, var(--text))}}.habit-group-chevron{font-size:22px;transition:transform .28s cubic-bezier(.22,1,.36,1);transform:rotate(180deg)}.habit-group-card.is-collapsed .habit-group-chevron{transform:rotate(0)}.habit-group-content,.management-group-content{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1),opacity .22s,visibility linear;display:grid}.habit-group-content-inner,.management-group-content-inner{min-height:0;overflow:hidden}.habit-group-card.is-collapsed .habit-group-content,.management-group.is-collapsed .management-group-content{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1),opacity .18s,visibility 0s linear .26s}.habit-group-content-inner{padding:0 12px 14px 28px;position:relative}.habit-group-connector{background:linear-gradient(var(--group-color), var(--group-color));border-radius:999px;width:2px;position:absolute;top:2px;bottom:28px;left:18px}@supports (color:color-mix(in lab, red, red)){.habit-group-connector{background:linear-gradient(var(--group-color), color-mix(in srgb, var(--group-color) 12%, transparent))}}.habit-group-connector{opacity:.44}.habit-group-items{gap:12px;display:grid}.habit-group-items .habit-card{border-color:var(--habit-color);position:relative}@supports (color:color-mix(in lab, red, red)){.habit-group-items .habit-card{border-color:color-mix(in srgb, var(--habit-color) 18%, var(--line))}}.habit-group-items .habit-card{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.habit-group-items .habit-card{background:color-mix(in srgb, var(--surface) 92%, var(--group-color) 8%)}}.habit-group-items .habit-card{box-shadow:0 10px 24px var(--group-color)}@supports (color:color-mix(in lab, red, red)){.habit-group-items .habit-card{box-shadow:0 10px 24px color-mix(in srgb, var(--group-color) 6%, transparent)}}.habit-group-items .habit-card:before{content:"";background:var(--group-color);width:12px;height:2px;position:absolute;top:30px;left:-12px}@supports (color:color-mix(in lab, red, red)){.habit-group-items .habit-card:before{background:color-mix(in srgb, var(--group-color) 48%, transparent)}}.ungrouped-habits{gap:10px;display:grid}.ungrouped-habits-heading{color:var(--muted);letter-spacing:.08em;align-items:center;gap:8px;padding:0 8px;font-size:12px;font-weight:760;display:flex}.ungrouped-habits-heading span{color:var(--accent);font-size:20px}.management-create-actions{gap:8px;display:flex}.management-help{color:var(--muted);margin:2px 0 14px;font-size:12px;line-height:1.55}.group-management-list{gap:14px;display:grid}.management-group{--group-color:var(--accent);border:1px solid var(--group-color);overflow:visible}@supports (color:color-mix(in lab, red, red)){.management-group{border:1px solid color-mix(in srgb, var(--group-color) 25%, var(--line))}}.management-group{background:var(--group-color);border-radius:22px}@supports (color:color-mix(in lab, red, red)){.management-group{background:color-mix(in srgb, var(--group-color) 6%, var(--surface))}}.management-group-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:68px;padding:8px;display:grid}.management-group-toggle{min-width:0;min-height:52px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:10px;padding:4px 8px;display:grid}.management-group-toggle>span:nth-child(2){gap:3px;min-width:0;display:grid}.management-group-toggle strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.management-group-toggle small,.ungrouped-management-header small{color:var(--muted);font-size:11px}.management-group-toggle i{color:var(--group-color);font-size:21px;font-style:normal;transition:transform .26s;transform:rotate(180deg)}.management-group.is-collapsed .management-group-toggle i{transform:rotate(0)}.management-group-icon{background:var(--group-color);border-radius:14px;place-items:center;width:42px;height:42px;display:grid}@supports (color:color-mix(in lab, red, red)){.management-group-icon{background:color-mix(in srgb, var(--group-color) 15%, var(--surface))}}.management-group-icon{font-size:20px}.management-group-actions{align-items:center;gap:4px;display:flex}.management-group-actions button,.management-habit-row .project-actions button,.management-habit-row .project-order button{min-width:44px;min-height:44px}.management-group-actions button{border:1px solid var(--line);color:var(--muted);background:var(--surface);border-radius:12px;padding:0 10px;font-size:12px;font-weight:720}.management-group-content-inner{padding:0 8px 8px}.group-management-list .project-list{gap:8px;display:grid}.group-management-list .project-list .management-habit-row{border:1px solid var(--habit-color);grid-template-columns:20px 42px minmax(0,1fr) minmax(98px,.7fr) auto auto;align-items:center;gap:8px;min-height:72px;padding:9px 10px 9px 14px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.group-management-list .project-list .management-habit-row{border:1px solid color-mix(in srgb, var(--habit-color) 18%, var(--line))}}.group-management-list .project-list .management-habit-row{background:var(--surface);border-radius:17px}@supports (color:color-mix(in lab, red, red)){.group-management-list .project-list .management-habit-row{background:color-mix(in srgb, var(--surface) 94%, var(--habit-color) 6%)}}.group-management-list .project-list .management-habit-row{box-shadow:none;transition:opacity .18s,transform .18s,border-color .18s}.management-habit-row.is-dragging{opacity:.42;transform:scale(.98)}.management-habit-row.disabled{opacity:.64}.management-drag-handle{color:var(--muted);cursor:grab;touch-action:none;font-size:18px}.management-group-select select,.habit-form select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--text);background:var(--surface);font:inherit;border-radius:12px;padding:0 32px 0 11px;font-size:12px}.ungrouped-management{border-style:dashed;border-color:var(--muted);padding:8px}@supports (color:color-mix(in lab, red, red)){.ungrouped-management{border-color:color-mix(in srgb, var(--muted) 28%, var(--line))}}.ungrouped-management{background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.ungrouped-management{background:color-mix(in srgb, var(--surface-soft) 82%, transparent)}}.ungrouped-management-header{align-items:center;gap:10px;min-height:54px;padding:4px 10px 10px;display:flex}.ungrouped-management-header>span{color:var(--accent);font-size:25px}.ungrouped-management-header>div{gap:2px;display:grid}.empty-group-dropzone{border:1px dashed var(--line);min-height:70px;color:var(--muted);border-radius:15px;place-items:center;margin:0;font-size:12px;display:grid}.group-archive-options{gap:10px;display:grid}.group-archive-options label{border:1px solid var(--line);background:var(--surface-soft);border-radius:16px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;min-height:66px;padding:12px;display:grid}.group-archive-options input{width:20px;height:20px;accent-color:var(--accent)}.group-archive-options span{gap:4px;display:grid}.group-archive-options small{color:var(--muted);line-height:1.45}@media (max-width:620px){.habit-group-header{grid-template-columns:44px minmax(0,1fr) auto 22px;gap:9px;min-height:82px;padding:12px}.habit-group-icon{border-radius:14px;width:44px;height:44px}.habit-group-content-inner{padding-left:24px;padding-right:8px}.habit-group-connector{left:14px}.management-create-actions{width:100%;margin-top:10px}.management-create-actions .button{flex:1}.settings-section>.section-heading{flex-wrap:wrap}.management-group-header{grid-template-columns:1fr}.management-group-actions{justify-content:flex-end;padding:0 4px 4px}.group-management-list .project-list .management-habit-row{grid-template-columns:20px 40px minmax(0,1fr) auto;gap:7px}.management-habit-row .management-group-select{grid-column:2/-1}.management-habit-row .project-order{grid-column:2/3}.management-habit-row .project-actions{grid-column:3/-1;justify-self:end}.management-habit-row .switch-control{position:absolute;top:13px;right:12px}.management-habit-row .project-copy{padding-right:50px}}@property --score-rate{syntax:"<angle>";inherits:false;initial-value:0deg}@property --score-accent{syntax:"<color>";inherits:true;initial-value:#6f7f95}@property --score-accent-secondary{syntax:"<color>";inherits:true;initial-value:#6f7f95}body{font-size:var(--font-body);font-weight:var(--weight-regular);line-height:var(--line-body)}.app-shell:before,.app-shell:after,.connection-pill span,.backup-reminder,.backup-cloud{animation:none}.score-hero:before{animation:hero-shimmer .86s var(--ease-standard) .22s 1 both}.app-content{padding-right:var(--page-gutter);padding-left:var(--page-gutter)}.page-header{min-height:76px}.page-header h1{font-size:var(--font-page-title);font-weight:var(--weight-bold);letter-spacing:-.04em}.eyebrow{font-size:12px;font-weight:var(--weight-bold)}.connection-pill,.save-state{font-size:13px;font-weight:var(--weight-semibold)}.score-hero{--progress-color:#ffd166;min-height:184px;transition:background-color var(--motion-progress) var(--ease-standard);background:radial-gradient(circle at 84% 18%,#ffffff40 0 4px,#0000 5px),radial-gradient(circle at 89% 31%,#ffffff29 0 2px,#0000 3px),linear-gradient(128deg,#655bdc 0%,#765edb 52%,#8c64d1 100%);border-radius:26px}.score-hero.progress-stage-30{--progress-color:#70dcce;background:radial-gradient(circle at 84% 18%,#ffffff40 0 4px,#0000 5px),radial-gradient(circle at 89% 31%,#ffffff29 0 2px,#0000 3px),linear-gradient(128deg,#5f66d8 0%,#5c78d3 50%,#4e9fc2 100%)}.score-hero.progress-stage-60{--progress-color:#8be1b8;background:radial-gradient(circle at 84% 18%,#ffffff40 0 4px,#0000 5px),radial-gradient(circle at 89% 31%,#ffffff29 0 2px,#0000 3px),linear-gradient(128deg,#4f7bc5 0%,#438eb8 48%,#3da89c 100%)}.score-hero.progress-stage-90{--progress-color:#ffe08a;background:radial-gradient(circle at 84% 18%,#ffffff40 0 4px,#0000 5px),radial-gradient(circle at 89% 31%,#ffffff29 0 2px,#0000 3px),linear-gradient(128deg,#6e66d9 0%,#a365c8 50%,#d87391 100%)}.score-hero.progress-stage-100{--progress-color:#fff0a8;background:radial-gradient(circle at 84% 18%,#ffffff47 0 4px,#0000 5px),radial-gradient(circle at 89% 31%,#ffffff2e 0 2px,#0000 3px),linear-gradient(128deg,#3f8fa8 0%,#3aa596 50%,#60ad7e 100%)}.score-dial{background:conic-gradient(var(--progress-color) var(--score-rate), #ffffff2e 0);animation:dial-pop .62s var(--ease-standard) 1 both;transition:--score-rate var(--motion-progress) var(--ease-standard)}.score-dial.show-complete-mark strong{animation:complete-mark 1.5s var(--ease-standard) 1 both}@keyframes complete-mark{0%{opacity:0;transform:scale(.55)rotate(-12deg)}22%,72%{opacity:1;transform:scale(1.08)rotate(0)}to{opacity:1;transform:scale(1)}}.score-hero-copy>span,.score-hero-copy p{font-size:var(--font-support)}.score-hero-copy h2{font-size:var(--font-score);font-weight:var(--weight-bold)}.score-hero-copy h2 small{font-size:var(--font-body)}.hero-score-number,.score-number{animation:number-pop .26s var(--ease-standard) 1 both;font-variant-numeric:tabular-nums;display:inline-block}@keyframes number-pop{0%{opacity:.35;transform:translateY(5px)scale(.9)}}.completion-count{min-width:64px}.completion-count strong{font-size:24px}.completion-count span{font-size:13px}.milestone-feedback{z-index:4;color:#fff;font-size:14px;font-weight:var(--weight-semibold);pointer-events:none;animation:milestone-copy-in .52s var(--ease-standard) 1 both;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1b184938;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;display:flex;position:absolute;bottom:16px;right:20px;box-shadow:inset 0 1px #ffffff29}@keyframes milestone-copy-in{0%{opacity:0;transform:translateY(7px)scale(.94)}}.milestone-active .score-dial{animation:milestone-ring .62s var(--ease-standard) 1 both}.milestone-90 .score-hero:before,.milestone-100 .score-hero:before{animation:none}.score-hero.milestone-90:before,.score-hero.milestone-100:before{animation:milestone-shine .78s var(--ease-standard) 1 both}@keyframes milestone-ring{0%,to{transform:scale(1)}48%{transform:scale(1.075)}}@keyframes milestone-shine{0%{transform:translate(-135%)rotate(18deg)}to{transform:translate(315%)rotate(18deg)}}.milestone-particles{pointer-events:none;position:absolute;inset:0}.milestone-particles i{--particle-x:-48px;--particle-y:-26px;opacity:0;width:7px;height:7px;animation:milestone-particle .72s var(--ease-standard) 1 both;background:#ffd166;border-radius:2px;position:absolute;top:-52px;left:-105px}.milestone-particles i:nth-child(2){--particle-x:-18px;--particle-y:-54px;background:#72d7c6;border-radius:50%;animation-delay:35ms}.milestone-particles i:nth-child(3){--particle-x:20px;--particle-y:-52px;background:#ff8fa8;animation-delay:70ms}.milestone-particles i:nth-child(4){--particle-x:46px;--particle-y:-24px;background:#9cb5ff;border-radius:50%;animation-delay:.105s}.milestone-particles i:nth-child(5){--particle-x:14px;--particle-y:18px;background:#ffe28d;animation-delay:.14s}.milestone-particles i:nth-child(6){--particle-x:-30px;--particle-y:17px;background:#74d5ad;animation-delay:.175s}.milestone-particles i:nth-child(7){--particle-x:58px;--particle-y:10px;background:#ff9d83;border-radius:50%;animation-delay:.21s}.milestone-particles i:nth-child(8){--particle-x:-63px;--particle-y:4px;background:#c6a4ff;border-radius:50%;animation-delay:.245s}@keyframes milestone-particle{0%{opacity:0;transform:translate(0)scale(.4)rotate(0)}28%{opacity:1}to{opacity:0;transform:translate(var(--particle-x), var(--particle-y)) scale(1) rotate(120deg)}}.backup-reminder strong{font-size:var(--font-body)}.backup-reminder p{font-size:var(--font-support)}.backup-reminder button{min-height:44px;font-size:var(--font-button)}.section-heading h2,.settings-section>h2,.day-note-card h2{font-size:20px;font-weight:var(--weight-bold)}.section-heading>span,.version-badge,.local-badge,.status-pill{font-size:13px;font-weight:var(--weight-semibold)}@supports (color:color-mix(in lab, red, red)){.habit-card{--habit-soft:color-mix(in srgb, var(--habit-accent) 12%, var(--surface))}}.habit-card{border:1px solid var(--habit-accent);min-height:196px;padding:17px 17px 16px 21px}@supports (color:color-mix(in lab, red, red)){.habit-card{border:1px solid color-mix(in srgb, var(--habit-accent) 13%, var(--line))}}.habit-card{border-radius:var(--radius-card);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.habit-card{background:color-mix(in srgb, var(--surface) 97%, var(--habit-accent))}}.habit-card{animation:card-rise .42s both var(--ease-standard);box-shadow:0 8px 24px #342b5c12}.habit-card:after{background:radial-gradient(circle, var(--habit-accent), transparent 68%);width:155px;height:155px;top:-55px;right:-55px}@supports (color:color-mix(in lab, red, red)){.habit-card:after{background:radial-gradient(circle, color-mix(in srgb, var(--habit-accent) 18%, transparent), transparent 68%)}}.habit-card:after{opacity:.36;transform:scale(.8)}.habit-card:nth-child(n+8){animation-delay:.224s}@supports (color:color-mix(in lab, red, red)){.habit-card.scored{border-color:color-mix(in srgb, var(--habit-accent) 32%, var(--line))}}.habit-card.scored{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.habit-card.scored{background:color-mix(in srgb, var(--surface) 94%, var(--habit-accent));box-shadow:0 10px 28px color-mix(in srgb, var(--habit-accent) 8%, transparent)}}.habit-card.unscored{border-color:var(--line)}.habit-color-rail{z-index:2;background:var(--habit-accent);opacity:.46;width:5px;transition:opacity var(--motion-feedback) ease;border-radius:0 6px 6px 0;position:absolute;top:18px;bottom:18px;left:0}.habit-card.scored .habit-color-rail{opacity:1}.habit-icon{background:var(--habit-accent);border-radius:15px;width:46px;height:46px}@supports (color:color-mix(in lab, red, red)){.habit-icon{background:color-mix(in srgb, var(--habit-accent) 13%, var(--surface))}}.habit-icon{color:var(--habit-accent)}.habit-name-row{align-items:center;gap:8px}.habit-index{font-size:12px}.habit-name-row h3{font-size:var(--font-card-title);font-weight:var(--weight-semibold)}.habit-name-row output{color:var(--habit-accent);font-size:20px;font-weight:var(--weight-bold)}.habit-name-row output small{font-size:var(--font-support);font-weight:var(--weight-medium)}.habit-card.unscored .habit-name-row output{color:var(--muted);font-size:var(--font-support);font-weight:var(--weight-medium)}.habit-meta{align-items:center;gap:8px;min-width:0;margin:4px 0 0 24px;display:flex}.habit-meta p{min-width:0;color:var(--muted);font-size:var(--font-support);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.habit-state{color:var(--habit-accent);font-size:12px;font-weight:var(--weight-semibold);flex:none}.habit-card.unscored .habit-state{color:var(--muted)}.quick-scores{gap:8px;margin-top:15px}.quick-scores button{background:var(--surface-soft);border-radius:13px;min-width:0;min-height:44px}@supports (color:color-mix(in lab, red, red)){.quick-scores button{background:color-mix(in srgb, var(--surface-soft) 86%, var(--habit-accent))}}.quick-scores button{color:var(--foreground);font-size:var(--font-button);font-weight:var(--weight-semibold);transition:color var(--motion-press) ease, background var(--motion-press) ease, border-color var(--motion-press) ease, transform var(--motion-press) ease}.quick-scores button:active{transform:scale(.94)}@supports (color:color-mix(in lab, red, red)){.quick-scores button.active{box-shadow:0 6px 15px color-mix(in srgb, var(--habit-accent) 20%, transparent)}}.slider-row{margin-top:13px}.note-toggle{background:var(--habit-accent);min-width:58px;min-height:44px}@supports (color:color-mix(in lab, red, red)){.note-toggle{background:color-mix(in srgb, var(--habit-accent) 10%, var(--surface))}}.note-toggle{color:var(--habit-accent);font-size:var(--font-button);font-weight:var(--weight-semibold)}@supports (color:color-mix(in lab, red, red)){.habit-card input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--habit-accent) var(--slider-rate), color-mix(in srgb, var(--habit-accent) 10%, var(--surface-soft)) var(--slider-rate))}}.habit-card input[type=range]::-webkit-slider-thumb{background:var(--habit-accent)}.score-feedback-overlay{z-index:20;border-radius:inherit;background:radial-gradient(circle at 84% 18%, var(--habit-accent), transparent 42%), var(--habit-accent);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.score-feedback-overlay{background:radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--habit-accent) 20%, transparent), transparent 42%), color-mix(in srgb, var(--habit-accent) 22%, color-mix(in srgb, var(--surface-raised) 88%, transparent))}}.score-feedback-overlay{color:var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.score-feedback-overlay{color:color-mix(in srgb, var(--habit-accent) 78%, var(--foreground))}}.score-feedback-overlay{pointer-events:none;-webkit-backdrop-filter:blur(6px)saturate(.92);backdrop-filter:blur(6px)saturate(.92);animation:1.12s linear both score-feedback-overlay}.score-feedback-overlay strong{letter-spacing:-.02em;text-align:center;text-wrap:balance;max-width:calc(100% - 44px);font-size:clamp(20px,5.5vw,24px);font-weight:700}@keyframes score-feedback-overlay{0%{opacity:0;animation-timing-function:cubic-bezier(.22,1.16,.36,1);transform:translateY(8px)scale(.92)}22%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-6px)scale(1.04)}}.day-note-card textarea,.habit-note{font-size:var(--font-body)}.textarea-meta,.history-edit-note,.record-count span,.calendar-legend,.history-score span{font-size:13px}.calendar-toolbar h2{font-size:18px;font-weight:var(--weight-bold)}.weekday-row{font-size:13px}.calendar-day{min-height:48px;font-size:14px}.calendar-day small{font-size:11px}.history-detail blockquote,.empty-copy{font-size:var(--font-support)}.text-button{min-height:44px;font-size:var(--font-button)}.range-switch button,.segmented-control button{min-height:44px;font-size:14px}.metric-card>span{font-size:var(--font-support)}.metric-card strong{font-weight:var(--weight-bold);animation:number-pop .32s var(--ease-standard) 1 both}.metric-card strong em,.metric-card small{font-size:13px}.chart-empty p,.low-list>div{font-size:var(--font-support)}.low-list>div{grid-template-columns:28px minmax(90px,auto) 1fr 42px;min-height:40px}.low-list>div>div i{background:var(--habit-color,var(--warm))}.inline-notice{font-size:var(--font-support)}.project-list{gap:10px}.project-list article{background:var(--surface-soft);border-radius:18px;grid-template-columns:5px 48px minmax(0,1fr) auto;grid-template-areas:"rail icon copy status""rail icon copy switch""rail order actions actions""rail menu menu menu";gap:5px 11px;min-height:126px;padding:14px 13px 12px 8px;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.project-list article{background:color-mix(in srgb, var(--surface-soft) 88%, var(--habit-color))}.project-list article:hover{border-color:color-mix(in srgb, var(--habit-color) 24%, var(--line))}}.project-list article:hover{background:var(--surface-soft)}@supports (color:color-mix(in lab, red, red)){.project-list article:hover{background:color-mix(in srgb, var(--surface-soft) 84%, var(--habit-color))}}.project-list article:hover{transform:none}.project-list article.disabled{opacity:.72}.project-color-rail{background:var(--habit-color);border-radius:999px;grid-area:rail;align-self:stretch;width:5px}.project-icon{background:var(--habit-color);border-radius:15px;grid-area:icon;width:48px;height:48px}@supports (color:color-mix(in lab, red, red)){.project-icon{background:color-mix(in srgb, var(--habit-color) 13%, var(--surface))}}.project-icon{color:var(--habit-color);font-size:20px}.project-copy{justify-content:center}.project-copy strong{font-size:16px;font-weight:var(--weight-semibold)}.project-copy span{margin-top:2px;font-size:13px}.project-status{background:var(--surface);color:var(--muted);font-size:12px;font-weight:var(--weight-semibold);border-radius:999px;grid-area:status;align-self:center;padding:5px 8px}.project-status.active{background:var(--habit-color)}@supports (color:color-mix(in lab, red, red)){.project-status.active{background:color-mix(in srgb, var(--habit-color) 12%, var(--surface))}}.project-status.active{color:var(--habit-color)}.project-order{grid-area:order;gap:6px;display:flex}.project-order button{border:1px solid var(--line);background:var(--surface);width:44px;min-width:44px;height:44px;color:var(--muted);border-radius:13px;font-size:18px}.project-actions{grid-area:actions;justify-content:flex-end;gap:7px;display:flex}.project-actions button{min-height:44px;font-size:var(--font-button);font-weight:var(--weight-semibold);border-radius:13px}.project-edit-button{background:var(--habit-color);min-width:82px;padding:0 13px}@supports (color:color-mix(in lab, red, red)){.project-edit-button{background:color-mix(in srgb, var(--habit-color) 11%, var(--surface))}}.project-edit-button{color:var(--habit-color)}.project-edit-button span{margin-right:5px}.project-more-button{background:var(--surface);width:48px;color:var(--foreground);letter-spacing:.08em;padding-bottom:6px}.switch-control{align-self:center;width:52px;height:44px}.switch-control span{inset:8px 3px}.project-menu{border-top:1px solid var(--line);animation:project-menu-in .18s var(--ease-standard) 1 both;grid-area:menu;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:5px;padding-top:10px;display:grid}@keyframes project-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}}.project-menu button{background:var(--surface);min-width:0;min-height:48px;color:var(--foreground);font-size:var(--font-button);font-weight:var(--weight-semibold);border-radius:13px;justify-content:center;align-items:center;gap:5px;padding:0 6px;display:flex}.project-menu .archive-menu-button{background:var(--danger-soft);color:var(--danger)}.setting-row strong,.backup-status strong{font-size:16px;font-weight:var(--weight-semibold)}.setting-row span,.backup-status span,.privacy-copy,.storage-grid span{font-size:var(--font-support)}.quick-score-setting input{min-height:44px;font-size:var(--font-body)}.storage-grid strong{font-size:var(--font-body)}.danger-link{min-height:48px;font-size:var(--font-button)}.button{min-height:44px;font-size:var(--font-button)}.button-wide{min-height:50px}.button-small{min-height:44px;font-size:var(--font-button)}.bottom-navigation button{font-size:var(--font-nav);font-weight:var(--weight-medium)}.modal-card h2{font-size:24px;font-weight:var(--weight-bold)}.modal-description{font-size:var(--font-support)}.habit-form label span,.color-picker legend{font-size:var(--font-support);font-weight:var(--weight-semibold)}.habit-form input{font-size:var(--font-body)}.color-picker{border:0;margin:2px 0 0;padding:0}.color-picker legend{color:var(--muted);margin-bottom:8px}.color-picker>div{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.color-picker button{border:3px solid var(--surface);background:var(--swatch-color);min-width:0;min-height:44px;box-shadow:0 0 0 1px var(--swatch-color);border-radius:12px;position:relative}@supports (color:color-mix(in lab, red, red)){.color-picker button{box-shadow:0 0 0 1px color-mix(in srgb, var(--swatch-color) 30%, var(--line))}}.color-picker button{color:#fff;font-size:16px;font-weight:var(--weight-bold)}.color-picker button.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--swatch-color);transform:scale(.94)}@media (max-width:430px){:root{--page-gutter:14px}.score-hero{min-height:170px;padding:19px}.score-hero-copy h2{font-size:40px}.milestone-feedback{bottom:12px;right:16px}.habit-card{min-height:194px;padding-right:14px}.habit-meta{margin-left:0}.habit-state{display:none}.project-list article{grid-template-columns:5px 44px minmax(0,1fr) auto;padding-right:10px}.project-icon{width:44px;height:44px}.project-menu button{font-size:var(--font-button);flex-direction:column;gap:1px}.color-picker>div{grid-template-columns:repeat(5,1fr)}}@media (prefers-reduced-motion:reduce){.milestone-particles{display:none!important}.score-dial,.habit-card,.habit-icon,.score-number,.hero-score-number,.metric-card strong,.milestone-feedback,.project-menu{animation:none!important;transform:none!important}.milestone-feedback{opacity:1}.score-feedback-overlay{animation:1.12s linear both score-feedback-overlay-reduced!important;transform:none!important}}@keyframes score-feedback-overlay-reduced{0%,to{opacity:0}22%,80%{opacity:1}}:root{--background:#f8f7ff;--surface:#ffffffe0;--surface-raised:#fff;--surface-soft:#f0effa;--foreground:#24213f;--muted:#716f8d;--subtle:#a6a3bc;--line:#5449841f;--accent:#6c5ce7;--accent-strong:#5142c8;--accent-soft:#ece9ff;--accent-pale:#f6f4ff;--warm:#ff9f43;--warm-soft:#fff0dc;--danger:#ef5b7d;--danger-soft:#ffe8ef;--cyan:#18a9c9;--cyan-soft:#e1f8fd;--mint:#20b98b;--mint-soft:#e2f8f0;--rose:#ff6b8b;--rose-soft:#ffe7ee;--score-surface:#f2f1f8;--score-surface-raised:#fbfaff;--score-foreground:#393653;--score-muted:#77738d;--score-track:#dedbe9;--score-border:#4b446d21;--score-stage-0:#6f7f95;--score-stage-30:#4f9188;--score-stage-60:#7278a8;--score-stage-90:#a8894c;--score-stage-100:#5f9375;--shadow:0 24px 70px #42357e21;--shadow-small:0 10px 30px #42357e17;--font-page-title:28px;--font-score:44px;--font-card-title:17px;--font-body:15px;--font-support:14px;--font-button:15px;--font-nav:12px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--line-body:1.58;--radius-card:20px;--radius-control:14px;--page-gutter:18px;--section-gap:20px;--motion-press:.14s;--motion-feedback:.38s;--motion-progress:.62s;--motion-page:.22s;--ease-standard:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--background:#121020;--surface:#1f1c34e6;--surface-raised:#27233e;--surface-soft:#2d2947;--foreground:#f6f3ff;--muted:#aaa5c3;--subtle:#77718f;--line:#cbc3ff1f;--accent:#9b8cff;--accent-strong:#b8adff;--accent-soft:#393258;--accent-pale:#302a4c;--warm:#ffb35d;--warm-soft:#493926;--danger:#ff82a0;--danger-soft:#4d2937;--cyan:#58d2e9;--cyan-soft:#203e49;--mint:#55d7af;--mint-soft:#24463c;--rose:#ff88a1;--rose-soft:#4a2938;--score-surface:#211f34;--score-surface-raised:#2a273e;--score-foreground:#f4f1ff;--score-muted:#b9b4cc;--score-track:#423e58;--score-border:#d2cbf424;--score-stage-0:#9bacbd;--score-stage-30:#71b8ad;--score-stage-60:#a4a8dc;--score-stage-90:#d1b471;--score-stage-100:#85bd9b;--shadow:0 24px 70px #0000004d;--shadow-small:0 10px 30px #00000038}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#121020;--surface:#1f1c34e6;--surface-raised:#27233e;--surface-soft:#2d2947;--foreground:#f6f3ff;--muted:#aaa5c3;--subtle:#77718f;--line:#cbc3ff1f;--accent:#9b8cff;--accent-strong:#b8adff;--accent-soft:#393258;--accent-pale:#302a4c;--warm:#ffb35d;--warm-soft:#493926;--danger:#ff82a0;--danger-soft:#4d2937;--cyan:#58d2e9;--cyan-soft:#203e49;--mint:#55d7af;--mint-soft:#24463c;--rose:#ff88a1;--rose-soft:#4a2938;--score-surface:#211f34;--score-surface-raised:#2a273e;--score-foreground:#f4f1ff;--score-muted:#b9b4cc;--score-track:#423e58;--score-border:#d2cbf424;--score-stage-0:#9bacbd;--score-stage-30:#71b8ad;--score-stage-60:#a4a8dc;--score-stage-90:#d1b471;--score-stage-100:#85bd9b;--shadow:0 24px 70px #0000004d;--shadow-small:0 10px 30px #00000038}}html{background:var(--background)}body{background:radial-gradient(circle at 8% 4%, #ff6b8b24, transparent 28rem), radial-gradient(circle at 93% 18%, #18a9c921, transparent 27rem), radial-gradient(circle at 50% 70%, #6c5ce714, transparent 35rem), var(--background);position:relative}.app-shell:before,.app-shell:after{z-index:-1;filter:blur(2px);opacity:.38;pointer-events:none;content:"";border-radius:44% 56% 61% 39%/44% 42% 58% 56%;width:300px;height:300px;position:fixed}.app-shell:before{background:linear-gradient(135deg,#ff9f4352,#ff6b8b29);animation:14s ease-in-out infinite alternate ambient-morph;top:8vh;left:-205px}.app-shell:after{background:linear-gradient(135deg,#18a9c942,#6c5ce733);animation:17s ease-in-out -5s infinite alternate-reverse ambient-morph;bottom:18vh;right:-220px}@keyframes ambient-morph{50%{border-radius:64% 36% 43% 57%/58% 63% 37% 42%;transform:translate(18px,-28px)rotate(18deg)scale(1.08)}to{border-radius:38% 62% 55% 45%/39% 47% 53% 61%;transform:translate(-8px,24px)rotate(-12deg)scale(.94)}}.app-content{width:min(100%,800px);padding-top:22px}.page-stack{gap:22px;animation:.52s cubic-bezier(.22,1,.36,1) page-bloom}@keyframes page-bloom{0%{opacity:0;transform:translateY(14px)scale(.985)}}.connection-pill{background:var(--surface);border:1px solid #6c5ce71f;border-radius:999px;margin-bottom:4px;padding:7px 11px}@supports (color:color-mix(in lab, red, red)){.connection-pill{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.connection-pill{-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);box-shadow:0 8px 24px #4839860f}.connection-pill span{background:var(--mint);box-shadow:0 0 0 4px var(--mint-soft);animation:2.4s ease-in-out infinite status-glow}@keyframes status-glow{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--mint) 8%, transparent);transform:scale(.85)}}.page-header{min-height:80px;padding:4px 2px 0}.page-header h1{background:linear-gradient(105deg, var(--foreground) 15%, var(--accent) 78%, var(--rose));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(31px,8vw,42px);font-weight:820}.eyebrow{width:fit-content;color:var(--accent);letter-spacing:.14em;align-items:center;gap:6px;margin-bottom:5px;font-size:10px;display:flex}.eyebrow:before{background:linear-gradient(90deg, var(--rose), var(--warm));content:"";border-radius:999px;width:15px;height:5px;box-shadow:10px 0 12px #ff6b8b33}.save-state{background:var(--surface-raised);border-color:#6c5ce724}@supports (color:color-mix(in lab, red, red)){.save-state{background:color-mix(in srgb, var(--surface-raised) 82%, transparent)}}.save-state{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 9px 24px #3c2d7e12}.save-state span{background:var(--mint);box-shadow:0 0 0 4px var(--mint-soft)}.score-hero{--score-accent:var(--score-stage-0);--score-accent-secondary:var(--score-accent);--score-dial-size:108px;--score-dial-gap:24px;--score-dot-radius:49px;--progress-color:var(--score-accent);z-index:30;top:env(safe-area-inset-top);grid-template-columns:var(--score-dial-size) minmax(0, 1fr) auto;isolation:isolate;border:1px solid var(--score-border);background:radial-gradient(circle at 86% 16%, var(--score-accent), transparent 34%), radial-gradient(circle at 10% 92%, var(--score-accent-secondary), transparent 38%), linear-gradient(135deg, var(--score-surface), var(--score-surface-raised));border-radius:24px;align-items:center;gap:18px;width:100%;height:194px;min-height:194px;padding:20px;display:grid;position:sticky;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.score-hero{background:radial-gradient(circle at 86% 16%, color-mix(in srgb, var(--score-accent) 14%, transparent), transparent 34%), radial-gradient(circle at 10% 92%, color-mix(in srgb, var(--score-accent-secondary) 9%, transparent), transparent 38%), linear-gradient(135deg, color-mix(in srgb, var(--score-surface) 94%, var(--score-accent)), var(--score-surface-raised))}}.score-hero{color:var(--score-foreground);box-shadow:0 16px 40px var(--score-accent), inset 0 1px 0 var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.score-hero{box-shadow:0 16px 40px color-mix(in srgb, var(--score-accent) 9%, transparent), inset 0 1px 0 color-mix(in srgb, var(--surface-raised) 68%, transparent)}}.score-hero{will-change:height, padding, border-radius;-webkit-backdrop-filter:blur(18px)saturate(1.08);backdrop-filter:blur(18px)saturate(1.08);transition:--score-accent .5s,--score-accent-secondary .5s,height .28s cubic-bezier(.22,1,.36,1),min-height .28s cubic-bezier(.22,1,.36,1),padding .28s cubic-bezier(.22,1,.36,1),border-radius .28s cubic-bezier(.22,1,.36,1),grid-template-columns .28s cubic-bezier(.22,1,.36,1),gap .28s cubic-bezier(.22,1,.36,1),border-color .38s,box-shadow .38s;transform:translateZ(0)}.score-hero.is-compact{--score-dial-size:42px;--score-dial-gap:10px;--score-dot-radius:17px;grid-template-columns:var(--score-dial-size) minmax(0, 1fr) auto;background:radial-gradient(circle at 10% 50%, var(--score-accent), transparent 35%), var(--score-surface-raised);border-radius:16px;gap:10px;height:64px;min-height:64px;padding:10px 16px}@supports (color:color-mix(in lab, red, red)){.score-hero.is-compact{background:radial-gradient(circle at 10% 50%, color-mix(in srgb, var(--score-accent) 11%, transparent), transparent 35%), color-mix(in srgb, var(--score-surface-raised) 84%, transparent)}}.score-hero.is-compact{box-shadow:0 8px 24px var(--score-accent), inset 0 1px 0 var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.score-hero.is-compact{box-shadow:0 8px 24px color-mix(in srgb, var(--score-accent) 10%, transparent), inset 0 1px 0 color-mix(in srgb, var(--surface-raised) 70%, transparent)}}.score-hero.is-compact{-webkit-backdrop-filter:blur(22px)saturate(1.16);backdrop-filter:blur(22px)saturate(1.16)}.score-hero:before{z-index:-1;background:linear-gradient(90deg, transparent, var(--score-accent), transparent);width:65%;height:230%;position:absolute;top:-70%;left:-30%}@supports (color:color-mix(in lab, red, red)){.score-hero:before{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--score-accent) 7%, transparent), transparent)}}.score-hero:before{content:"";animation:hero-shimmer .86s var(--ease-standard) .22s 1 both;pointer-events:none;transform:rotate(18deg)}.score-hero:after{border:32px solid var(--score-accent);width:220px;height:220px;bottom:-78px;right:-46px}@supports (color:color-mix(in lab, red, red)){.score-hero:after{border:32px solid color-mix(in srgb, var(--score-accent) 7%, transparent)}}.score-hero:after{pointer-events:none;transition:opacity .28s,transform .28s cubic-bezier(.22,1,.36,1)}.score-hero.is-compact:after{opacity:.2;transform:scale(.72)}@keyframes hero-shimmer{0%,62%{transform:translate(-135%)rotate(18deg)}88%,to{transform:translate(315%)rotate(18deg)}}.score-dial{z-index:2;width:var(--score-dial-size);height:var(--score-dial-size);flex:0 0 var(--score-dial-size);background:conic-gradient(var(--score-accent) var(--score-rate), var(--score-track) 0);box-shadow:0 12px 28px var(--score-accent), inset 0 0 0 1px var(--score-border);border-radius:50%;place-items:center;display:grid;position:relative;overflow:visible}@supports (color:color-mix(in lab, red, red)){.score-dial{box-shadow:0 12px 28px color-mix(in srgb, var(--score-accent) 15%, transparent), inset 0 0 0 1px var(--score-border)}}.score-dial{transition:--score-accent .5s,width .28s cubic-bezier(.22,1,.36,1),height .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;animation:.56s cubic-bezier(.34,1.56,.64,1) both dial-pop}.score-dial>div{width:calc(var(--score-dial-size) - var(--score-dial-gap));height:calc(var(--score-dial-size) - var(--score-dial-gap));background:var(--score-surface-raised);color:var(--score-foreground);box-shadow:inset 0 0 0 1px var(--score-border);justify-content:center;align-items:baseline;padding:0;transition:width .28s cubic-bezier(.22,1,.36,1),height .28s cubic-bezier(.22,1,.36,1),background-color .5s;display:flex}.score-dial strong{align-self:center;font-size:30px;transition:font-size .28s cubic-bezier(.22,1,.36,1)}.score-dial span{align-self:center}.score-hero.is-compact .score-dial{box-shadow:0 4px 12px var(--score-accent), inset 0 0 0 1px var(--score-border)}@supports (color:color-mix(in lab, red, red)){.score-hero.is-compact .score-dial{box-shadow:0 4px 12px color-mix(in srgb, var(--score-accent) 13%, transparent), inset 0 0 0 1px var(--score-border)}}.score-hero.is-compact .score-dial strong{font-size:11px}.score-hero.is-compact .score-dial span{display:none}.score-ring-dot{z-index:3;border:2px solid var(--score-surface-raised);background:var(--score-accent);width:8px;height:8px;box-shadow:0 0 12px var(--score-accent);border-radius:50%;margin:-4px;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab, red, red)){.score-ring-dot{box-shadow:0 0 12px color-mix(in srgb, var(--score-accent) 76%, transparent)}}.score-ring-dot{transform:rotate(calc(var(--score-rate) - 90deg)) translateX(var(--score-dot-radius));pointer-events:none;animation:.62s ease-out both score-ring-dot}.score-ring-dot.is-decrease{opacity:.62;box-shadow:0 0 8px var(--score-accent)}@supports (color:color-mix(in lab, red, red)){.score-ring-dot.is-decrease{box-shadow:0 0 8px color-mix(in srgb, var(--score-accent) 42%, transparent)}}.score-dial span,.score-full-label,.score-hero-copy p,.score-hero-copy h2 small{color:var(--score-muted)}.hero-score-number,.score-hero-copy p strong{color:var(--score-accent);transition:color .5s}@keyframes dial-pop{0%{opacity:0;transform:scale(.55)rotate(-90deg)}}@keyframes score-ring-dot{0%{opacity:0;filter:blur(2px)}24%,72%{opacity:1;filter:blur()}to{opacity:0}}.score-hero-copy{min-width:0;transition:transform .28s cubic-bezier(.22,1,.36,1)}.score-full-label{opacity:1;transition:opacity .18s;display:block}.score-total-line{align-items:baseline;gap:6px;min-width:0;display:flex;position:relative}.score-total-line h2{white-space:nowrap;min-width:0;margin:1px 0 3px;transition:font-size .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.hero-score-number{font-variant-numeric:tabular-nums;min-width:1ch;animation:none}.hero-score-number.score-number-bump{animation:.52s cubic-bezier(.22,1,.36,1) both total-score-bump}.score-compact-prefix{color:var(--score-muted);font-size:13px;font-weight:var(--weight-bold);flex:none;display:none}.score-comparison{opacity:1;transition:opacity .15s}.score-stage-copy{width:fit-content;color:var(--score-muted);font-size:12px;font-weight:var(--weight-semibold);opacity:1;align-items:center;gap:6px;margin-top:8px;transition:opacity .15s;display:flex}.score-stage-copy i{background:var(--score-accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--score-accent);border-radius:50%}@supports (color:color-mix(in lab, red, red)){.score-stage-copy i{box-shadow:0 0 0 4px color-mix(in srgb, var(--score-accent) 10%, transparent)}}.score-stage-copy i{transition:background-color .5s}.score-floating-delta{z-index:5;color:var(--score-accent);pointer-events:none;align-self:flex-start;margin-top:-5px;margin-left:-2px;font-size:13px;font-weight:800;animation:.72s ease-out both score-delta-float;position:relative}.score-floating-delta.is-decrease{color:var(--score-muted);opacity:.72}.score-change-glow{z-index:0;border-radius:inherit;background:radial-gradient(circle at 32% 50%, var(--score-accent), transparent 48%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.score-change-glow{background:radial-gradient(circle at 32% 50%, color-mix(in srgb, var(--score-accent) 16%, transparent), transparent 48%)}}.score-change-glow{pointer-events:none;animation:.62s ease-out both score-change-glow}@keyframes total-score-bump{42%{transform:translateY(-4px)scale(1.035)}}@keyframes score-delta-float{0%{opacity:0;transform:translateY(6px)scale(.92)}24%,64%{opacity:1;transform:translateY(-3px)scale(1)}to{opacity:0;transform:translateY(-14px)scale(.96)}}@keyframes score-change-glow{0%,to{opacity:0}42%{opacity:1}}.completion-count{border-color:var(--score-accent)}@supports (color:color-mix(in lab, red, red)){.completion-count{border-color:color-mix(in srgb, var(--score-accent) 18%, var(--score-border))}}.completion-count{background:var(--score-surface-raised)}@supports (color:color-mix(in lab, red, red)){.completion-count{background:color-mix(in srgb, var(--score-surface-raised) 91%, var(--score-accent))}}.completion-count{box-shadow:inset 0 1px 0 var(--surface-raised)}@supports (color:color-mix(in lab, red, red)){.completion-count{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--surface-raised) 70%, transparent)}}.completion-count{color:var(--score-accent);transition:opacity .14s,transform .28s cubic-bezier(.22,1,.36,1),border-color .5s,background-color .5s}.completion-count span{color:var(--score-muted)}.score-compact-metrics{z-index:3;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:none;position:relative}.score-compact-metrics strong{color:var(--score-accent);font-size:17px;transition:color .5s}.score-compact-metrics span{border-left:1px solid var(--score-border);color:var(--score-muted);font-size:13px;font-weight:var(--weight-bold);padding-left:10px}.score-hero.progress-stage-30{--score-accent:var(--score-stage-30);--score-accent-secondary:var(--score-stage-30)}.score-hero.progress-stage-60{--score-accent:var(--score-stage-60);--score-accent-secondary:var(--score-stage-60)}.score-hero.progress-stage-90{--score-accent:var(--score-stage-90);--score-accent-secondary:var(--score-stage-90)}.score-hero.progress-stage-100{--score-accent:var(--score-stage-100);--score-accent-secondary:var(--score-stage-90)}.milestone-feedback{border-color:var(--score-accent)}@supports (color:color-mix(in lab, red, red)){.milestone-feedback{border-color:color-mix(in srgb, var(--score-accent) 22%, var(--score-border))}}.milestone-feedback{background:var(--score-surface-raised)}@supports (color:color-mix(in lab, red, red)){.milestone-feedback{background:color-mix(in srgb, var(--score-surface-raised) 88%, var(--score-accent))}}.milestone-feedback{box-shadow:0 8px 22px var(--score-accent)}@supports (color:color-mix(in lab, red, red)){.milestone-feedback{box-shadow:0 8px 22px color-mix(in srgb, var(--score-accent) 10%, transparent)}}.milestone-feedback{color:var(--score-foreground)}.score-hero.is-compact .score-full-label,.score-hero.is-compact .score-comparison,.score-hero.is-compact .score-stage-copy{opacity:0;pointer-events:none;position:absolute}.score-hero.is-compact .score-hero-copy{transform:translate(-1px)}.score-hero.is-compact .score-total-line{align-items:baseline;gap:7px}.score-hero.is-compact .score-compact-prefix{display:inline}.score-hero.is-compact .score-total-line h2{letter-spacing:-.035em;text-overflow:ellipsis;margin:0;font-size:20px;overflow:hidden}.score-hero.is-compact .score-total-line h2 small{font-size:13px}.score-hero.is-compact .score-max-label{display:none}.score-hero.is-compact .score-floating-delta{margin:0;font-size:11px;position:absolute;top:-8px;right:0}.score-hero.is-compact .completion-count{opacity:0;visibility:hidden;position:absolute;right:16px;transform:scale(.88)}.score-hero.is-compact .score-compact-metrics{display:flex}.score-hero.is-compact .milestone-feedback{padding:5px 8px;font-size:11px;bottom:8px;right:10px}.section-heading>span,.version-badge,.local-badge,.status-pill{background:linear-gradient(120deg, var(--accent-soft), var(--rose-soft));color:var(--accent);border-radius:999px;padding:7px 11px}.habit-list{gap:14px}.habit-card{--habit-accent:var(--habit-color);--habit-soft:var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.habit-card{--habit-soft:color-mix(in srgb, var(--habit-accent) 13%, var(--surface))}}.habit-card{border-color:var(--habit-accent);padding:18px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.habit-card{border-color:color-mix(in srgb, var(--habit-accent) 13%, var(--line))}}.habit-card{background:linear-gradient(130deg, var(--surface), var(--habit-soft));border-radius:25px}@supports (color:color-mix(in lab, red, red)){.habit-card{background:linear-gradient(130deg, color-mix(in srgb, var(--surface) 96%, transparent), color-mix(in srgb, var(--habit-soft) 62%, var(--surface)))}}.habit-card{box-shadow:var(--shadow-small);transition:border-color .2s,box-shadow .22s,transform .22s;animation:.56s cubic-bezier(.22,1,.36,1) both card-rise}.habit-card:after{background:var(--habit-accent);border-radius:50%;width:92px;height:92px;position:absolute;top:-32px;right:-34px}@supports (color:color-mix(in lab, red, red)){.habit-card:after{background:color-mix(in srgb, var(--habit-accent) 8%, transparent)}}.habit-card:after{content:"";pointer-events:none}.habit-card:nth-child(2){animation-delay:55ms}.habit-card:nth-child(3){animation-delay:.11s}.habit-card:nth-child(4){animation-delay:.165s}.habit-card:nth-child(5){animation-delay:.22s}.habit-card:nth-child(6){animation-delay:.275s}.habit-card:nth-child(7){animation-delay:.33s}.habit-card:nth-child(8){animation-delay:.385s}.habit-card.scored{border-color:var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.habit-card.scored{border-color:color-mix(in srgb, var(--habit-accent) 35%, var(--line))}}.habit-card.scored{box-shadow:0 15px 36px var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.habit-card.scored{box-shadow:0 15px 36px color-mix(in srgb, var(--habit-accent) 11%, transparent)}}@keyframes card-rise{0%{opacity:0;transform:translateY(18px)scale(.975)}}.habit-icon{background:var(--habit-soft);color:var(--habit-accent);box-shadow:inset 0 0 0 1px var(--habit-accent);position:relative}@supports (color:color-mix(in lab, red, red)){.habit-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--habit-accent) 10%, transparent)}}.habit-icon{transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.habit-card:hover .habit-icon{transform:rotate(-7deg)scale(1.08)}.habit-name-row output{color:var(--habit-accent)}.quick-scores button{border-color:var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.quick-scores button{border-color:color-mix(in srgb, var(--habit-accent) 10%, var(--line))}}.quick-scores button{background:var(--habit-soft)}@supports (color:color-mix(in lab, red, red)){.quick-scores button{background:color-mix(in srgb, var(--habit-soft) 58%, var(--surface))}}.quick-scores button{transition:color .16s,background .16s,border-color .16s,transform .16s,box-shadow .16s}.quick-scores button:hover{border-color:var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.quick-scores button:hover{border-color:color-mix(in srgb, var(--habit-accent) 36%, var(--line))}}.quick-scores button:hover{color:var(--habit-accent);transform:translateY(-2px)}.quick-scores button.active{border-color:var(--habit-accent);background:var(--habit-accent);box-shadow:0 8px 18px var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.quick-scores button.active{box-shadow:0 8px 18px color-mix(in srgb, var(--habit-accent) 25%, transparent)}}.quick-scores button.active{color:#fff;transform:translateY(-2px)scale(1.03)}.habit-card input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--habit-accent) var(--slider-rate), var(--habit-soft) var(--slider-rate))}@supports (color:color-mix(in lab, red, red)){.habit-card input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--habit-accent) var(--slider-rate), color-mix(in srgb, var(--habit-soft) 70%, var(--surface-soft)) var(--slider-rate))}}.habit-card input[type=range]::-webkit-slider-thumb{background:var(--habit-accent);box-shadow:0 3px 10px var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.habit-card input[type=range]::-webkit-slider-thumb{box-shadow:0 3px 10px color-mix(in srgb, var(--habit-accent) 34%, transparent)}}.habit-card input[type=range]::-moz-range-progress{background:var(--habit-accent)}.habit-card input[type=range]::-moz-range-thumb{background:var(--habit-accent)}.note-toggle{background:var(--habit-soft)}@supports (color:color-mix(in lab, red, red)){.note-toggle{background:color-mix(in srgb, var(--habit-soft) 60%, transparent)}}.note-toggle{color:var(--habit-accent)}.day-note-card,.history-detail,.calendar-card,.chart-card,.settings-section{background:var(--surface);border-color:#56498e1a;border-radius:27px;position:relative}@supports (color:color-mix(in lab, red, red)){.day-note-card,.history-detail,.calendar-card,.chart-card,.settings-section{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.day-note-card,.history-detail,.calendar-card,.chart-card,.settings-section{box-shadow:var(--shadow-small);-webkit-backdrop-filter:blur(18px)saturate(1.2);backdrop-filter:blur(18px)saturate(1.2)}.day-note-card{background:radial-gradient(circle at 95% 5%, #18a9c91c, transparent 8rem), var(--surface);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.day-note-card{background:radial-gradient(circle at 95% 5%, #18a9c91c, transparent 8rem), color-mix(in srgb, var(--surface) 94%, transparent)}}.day-note-card textarea,.habit-note{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-note-card textarea,.habit-note{border-color:color-mix(in srgb, var(--accent) 13%, var(--line))}}.day-note-card textarea,.habit-note{background:var(--accent-pale)}@supports (color:color-mix(in lab, red, red)){.day-note-card textarea,.habit-note{background:color-mix(in srgb, var(--accent-pale) 72%, var(--surface))}}.day-note-card textarea,.habit-note{transition:border-color .18s,box-shadow .18s,background .18s}.day-note-card textarea:focus,.habit-note:focus{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-note-card textarea:focus,.habit-note:focus{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}}.day-note-card textarea:focus,.habit-note:focus{background:var(--surface-raised);box-shadow:0 0 0 4px var(--accent)}@supports (color:color-mix(in lab, red, red)){.day-note-card textarea:focus,.habit-note:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 9%, transparent)}}.backup-reminder{background:radial-gradient(circle at 92% 18%, #ffffff80, transparent 7rem), linear-gradient(115deg, var(--warm-soft), var(--rose-soft));border-color:#ff9f432e}@supports (color:color-mix(in lab, red, red)){.backup-reminder{background:radial-gradient(circle at 92% 18%, #ffffff80, transparent 7rem), linear-gradient(115deg, var(--warm-soft), color-mix(in srgb, var(--rose-soft) 58%, var(--surface)))}}.backup-reminder{animation:3.8s ease-in-out infinite reminder-breathe;box-shadow:0 12px 30px #d37e2e1a}@keyframes reminder-breathe{50%{transform:translateY(-2px);box-shadow:0 16px 38px #d37e2e29}}.reminder-icon{background:linear-gradient(135deg, var(--warm), var(--rose));color:#fff;box-shadow:0 8px 18px #ef5b7d2e}.backup-reminder button{background:linear-gradient(120deg, var(--warm), var(--rose));box-shadow:0 8px 18px #ef5b7d29}.metrics-grid{gap:13px}.metric-card{background:linear-gradient(140deg, var(--surface), var(--accent-pale));border-color:#0000;border-radius:24px;transition:transform .22s,box-shadow .22s;animation:.52s cubic-bezier(.22,1,.36,1) both card-rise;position:relative;overflow:hidden}.metric-card:nth-child(2){background:linear-gradient(140deg, var(--surface), var(--rose-soft));animation-delay:60ms}.metric-card:nth-child(3){background:linear-gradient(140deg, var(--surface), var(--cyan-soft));animation-delay:.12s}.metric-card:nth-child(4){background:linear-gradient(140deg, var(--surface), var(--warm-soft));animation-delay:.18s}.metric-card:hover,.chart-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.metric-featured{background:linear-gradient(135deg,#6c5ce7,#8b5de7 55%,#e668a0);box-shadow:0 18px 42px #6c5ce738}.chart-card{transition:transform .22s,box-shadow .22s;overflow:hidden}.chart-card:before{background:linear-gradient(90deg, var(--accent), var(--rose), var(--warm));content:"";border-radius:0 0 8px 8px;width:58px;height:4px;position:absolute;top:0;left:20px}.calendar-card{background:radial-gradient(circle at 100% 0, #6c5ce714, transparent 14rem), var(--surface)}@supports (color:color-mix(in lab, red, red)){.calendar-card{background:radial-gradient(circle at 100% 0, #6c5ce714, transparent 14rem), color-mix(in srgb, var(--surface) 94%, transparent)}}.calendar-toolbar button{background:var(--accent-soft);transition:color .16s,background .16s,transform .16s;box-shadow:0 7px 18px #503ea014}.calendar-toolbar button:hover{background:var(--accent);color:#fff;transform:scale(1.05)}.calendar-day{transition:color .16s,background .16s,box-shadow .16s,transform .16s}.calendar-day:not(:disabled):hover{background:var(--accent-pale);color:var(--accent);transform:translateY(-2px)}.calendar-day.status-completed{background:var(--mint-soft);color:var(--mint)}.calendar-day.status-partial{background:var(--warm-soft);color:var(--warm)}.calendar-day.selected{background:linear-gradient(135deg, var(--accent), #8e65e9);color:#fff;border-color:#0000;transform:translateY(-2px)scale(1.03);box-shadow:0 9px 20px #6c5ce73d}.calendar-day.selected small{color:#ffffffb8}.history-score div{background:linear-gradient(145deg, var(--accent-pale), var(--surface))}.history-score div:nth-child(2){background:linear-gradient(145deg, var(--rose-soft), var(--surface))}.history-score div:nth-child(3){background:linear-gradient(145deg, var(--cyan-soft), var(--surface))}.settings-section{overflow:hidden}.settings-section:after{content:"";pointer-events:none;background:radial-gradient(circle,#6c5ce714,#0000 68%);border-radius:50%;width:110px;height:110px;position:absolute;top:-34px;right:-38px}.settings-section:nth-of-type(2):after{background:radial-gradient(circle,#ff6b8b1a,#0000 68%)}.settings-section:nth-of-type(3):after{background:radial-gradient(circle,#18a9c91a,#0000 68%)}.project-icon{background:linear-gradient(135deg, var(--accent-soft), var(--rose-soft));box-shadow:inset 0 0 0 1px #6c5ce714}.project-list article{transition:border-color .18s,background .18s,transform .18s}.project-list article:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-list article:hover{border-color:color-mix(in srgb, var(--accent) 24%, var(--line))}}.project-list article:hover{background:var(--accent-pale);transform:translate(3px)}.backup-section{background:radial-gradient(circle at 96% 0, #18a9c926, transparent 13rem), linear-gradient(145deg, var(--surface), var(--accent-soft))}@supports (color:color-mix(in lab, red, red)){.backup-section{background:radial-gradient(circle at 96% 0, #18a9c926, transparent 13rem), linear-gradient(145deg, var(--surface), color-mix(in srgb, var(--accent-soft) 58%, var(--surface)))}}.backup-cloud{background:linear-gradient(135deg, var(--cyan), var(--accent));animation:4s ease-in-out infinite cloud-float;box-shadow:0 12px 24px #4b5bc438}@keyframes cloud-float{50%{transform:translateY(-4px)rotate(3deg)}}.button{transition:transform .18s,box-shadow .18s,filter .18s;position:relative;overflow:hidden}.button:after{content:"";background:linear-gradient(105deg,#0000 28%,#ffffff38 48%,#0000 68%);transition:transform .52s;position:absolute;inset:0;transform:translate(-140%)}.button:hover:after{transform:translate(140%)}.button:hover{filter:saturate(1.12);transform:translateY(-2px)}.button-primary{background:linear-gradient(120deg, var(--accent), #8a5ce4 62%, var(--rose));box-shadow:0 11px 24px #6c5ce73d}.bottom-navigation{background:var(--surface-raised);border-color:#6c5ce71f;border-radius:27px;height:78px;padding:8px}@supports (color:color-mix(in lab, red, red)){.bottom-navigation{background:color-mix(in srgb, var(--surface-raised) 80%, transparent)}}.bottom-navigation{-webkit-backdrop-filter:blur(28px)saturate(1.55);backdrop-filter:blur(28px)saturate(1.55);box-shadow:0 20px 54px #2e255633,inset 0 1px #ffffffb8}.bottom-navigation button{border-radius:20px;min-height:60px;transition:color .18s,background .18s,transform .18s;position:relative}.bottom-navigation button:nth-child(2){--nav-color:var(--rose);--nav-soft:var(--rose-soft)}.bottom-navigation button:nth-child(3){--nav-color:var(--cyan);--nav-soft:var(--cyan-soft)}.bottom-navigation button:nth-child(4){--nav-color:var(--warm);--nav-soft:var(--warm-soft)}.bottom-navigation button.active{background:var(--nav-soft,var(--accent-soft));color:var(--nav-color,var(--accent));transform:translateY(-2px)}.nav-icon{transition:transform .26s cubic-bezier(.34,1.56,.64,1)}.bottom-navigation button:hover .nav-icon{transform:translateY(-2px)scale(1.12)}.bottom-navigation button.active .nav-icon{transform:translateY(-2px)scale(1.12)rotate(-4deg)}.modal-backdrop{-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);background:#18132e8a}.modal-card{background:radial-gradient(circle at 100% 0, #6c5ce71a, transparent 13rem), var(--surface-raised);border-color:#8b70e524;box-shadow:0 32px 90px #19123a57}.install-mark{background:linear-gradient(135deg, var(--accent), #8b5de7 52%, var(--rose));position:relative;box-shadow:0 15px 34px #6c5ce74d}.install-mark:after{border:3px solid var(--background);background:var(--warm);content:"";border-radius:50%;width:13px;height:13px;position:absolute;top:-5px;right:-5px}.boot-pulse:after{background:linear-gradient(90deg, var(--accent), var(--rose), var(--warm))}.desktop-brand{background:var(--surface);border:1px solid #6c5ce71c;border-radius:22px;padding:12px 15px 12px 12px}@supports (color:color-mix(in lab, red, red)){.desktop-brand{background:color-mix(in srgb, var(--surface) 75%, transparent)}}.desktop-brand{box-shadow:var(--shadow-small);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media (min-width:760px){.app-content{padding-top:32px}.habit-card:hover{border-color:var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.habit-card:hover{border-color:color-mix(in srgb, var(--habit-accent) 30%, var(--line))}}.habit-card:hover{box-shadow:0 18px 42px var(--habit-accent)}@supports (color:color-mix(in lab, red, red)){.habit-card:hover{box-shadow:0 18px 42px color-mix(in srgb, var(--habit-accent) 12%, transparent)}}.habit-card:hover{transform:translateY(-3px)}.score-hero:not(.is-compact){height:200px;min-height:200px;padding-left:28px;padding-right:28px}}@media (min-width:1120px){.app-content{margin-left:calc(50% - 250px)}.desktop-brand{left:max(32px,50% - 560px)}}@media (max-width:430px){.score-hero:not(.is-compact){--score-dial-size:88px;--score-dial-gap:20px;--score-dot-radius:39px;grid-template-columns:var(--score-dial-size) minmax(0, 1fr) auto;border-radius:24px;gap:12px;height:184px;min-height:184px;padding:18px}.score-hero:not(.is-compact) .score-dial strong{font-size:25px}.score-hero:not(.is-compact) .completion-count{min-width:54px;padding:8px 7px}.score-hero:not(.is-compact) .completion-count strong{font-size:20px}.score-hero.is-compact{padding-left:12px;padding-right:12px}.score-hero.is-compact .score-compact-metrics{gap:7px}.score-hero.is-compact .score-compact-metrics span{padding-left:7px}.page-header h1{font-size:clamp(28px,8.5vw,37px)}.habit-card{border-radius:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.score-hero{transition:--score-accent .18s,--score-accent-secondary .18s,border-color .18s,color .18s!important}.score-change-glow,.score-floating-delta,.score-ring-dot{display:none!important}.hero-score-number.score-number-bump{animation:none!important;transform:none!important}}html,body,.app-shell,.app-content,.settings-page,.settings-page .settings-section,.group-management-list,.management-group,.management-group-content,.management-group-content-inner,.group-management-list .project-list,.group-management-list .project-list .management-habit-row{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.app-content{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.group-management-list{overflow:visible}.group-management-list .project-list{gap:12px;margin-top:0}.group-management-list .project-list .management-habit-row{grid-template-columns:5px 20px 42px minmax(0,1fr) minmax(112px,.72fr) 52px;grid-template-areas:"rail drag icon copy group switch""rail drag icon actions order order";grid-auto-flow:row;gap:10px 8px;min-height:116px;padding:14px;overflow:visible;transform:none}.group-management-list .project-list .management-habit-row.menu-open{grid-template-areas:"rail drag icon copy group switch""rail drag icon actions order order""rail menu menu menu menu menu"}.group-management-list .management-habit-row .project-color-rail{grid-area:rail;align-self:stretch;width:5px;min-width:0;max-width:5px}.group-management-list .management-habit-row .management-drag-handle{grid-area:drag;place-self:center;width:20px;min-width:0;max-width:20px;transform:none}.group-management-list .management-habit-row .project-icon{grid-area:icon}.group-management-list .management-habit-row .project-copy{grid-area:copy;min-width:0;padding-right:0;overflow:hidden}.group-management-list .management-habit-row .project-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.group-management-list .management-habit-row .management-group-select{grid-area:group;width:100%;min-width:0;max-width:100%}.group-management-list .management-habit-row .management-group-select select{width:100%;min-width:0;max-width:100%}.group-management-list .management-habit-row .project-order{grid-area:order;justify-self:end;width:auto;min-width:0;max-width:100%}.group-management-list .management-habit-row .project-actions{grid-area:actions;place-self:center start;width:44px;min-width:44px;max-width:44px}.group-management-list .management-habit-row .project-more-button,.group-management-list .management-habit-row .project-order button{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px}.group-management-list .management-habit-row .switch-control{grid-area:switch;justify-self:end;width:52px;min-width:52px;max-width:52px;position:relative;top:auto;right:auto}.group-management-list .management-habit-row .project-menu{grid-area:menu;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;max-width:100%;position:static;transform:none}.group-management-list .management-habit-row.is-dragging{opacity:.5;transform:none}.ungrouped-management-header{width:100%;min-width:0;max-width:100%;color:var(--foreground);text-align:left;background:0 0;border-radius:14px;grid-template-columns:24px minmax(0,1fr) 24px}.ungrouped-management-dot{color:var(--accent);font-size:25px}.ungrouped-management-copy{min-width:0;color:var(--foreground);font-size:inherit;gap:2px;display:grid}.ungrouped-management-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ungrouped-management-header i{color:var(--accent);font-size:21px;font-style:normal;transition:transform .26s;transform:rotate(180deg)}.ungrouped-management.is-collapsed .ungrouped-management-header i{transform:rotate(0)}@media (max-width:620px){.app-content{padding-right:16px;padding-bottom:calc(110px + env(safe-area-inset-bottom));padding-left:16px}.settings-page .settings-section{padding:16px 14px}.management-group,.ungrouped-management{padding:6px}.management-group-header{grid-template-columns:minmax(0,1fr);padding:4px}.management-group-toggle{width:100%;max-width:100%}.management-group-actions{flex-wrap:wrap;justify-content:flex-end;max-width:100%}.management-group-content-inner{padding:0 6px 6px}.ungrouped-management-header{gap:8px;min-height:54px;padding:4px 8px;display:grid}.group-management-list .project-list .management-habit-row,.group-management-list .project-list .management-habit-row.menu-open{grid-template-columns:5px 20px 40px minmax(0,1fr) 48px;grid-template-areas:"rail drag icon copy switch""rail group group group group""rail actions actions order order";gap:10px 6px;min-height:180px;padding:14px 12px}.group-management-list .project-list .management-habit-row.menu-open{grid-template-areas:"rail drag icon copy switch""rail group group group group""rail actions actions order order""rail menu menu menu menu"}.group-management-list .management-habit-row .project-icon{width:40px;max-width:40px;height:40px}.group-management-list .management-habit-row .project-copy strong{font-size:15px}.group-management-list .management-habit-row .project-copy span{font-size:12px}.group-management-list .management-habit-row .switch-control{width:48px;min-width:48px;max-width:48px}.group-management-list .management-habit-row .project-actions{grid-column:auto}.group-management-list .management-habit-row .project-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.group-management-list .management-habit-row .project-menu button{flex-direction:row;width:100%;min-width:0;max-width:100%}.bottom-navigation{width:auto;max-width:min(540px,100% - 24px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}
