@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance: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{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.hidden{display:none}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#292b28;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f8f6f2;--paper:#fffefa;--ink:#292b28;--muted:#858780;--line:#e9e6df;--coral:#bd6559;--coral-soft:#f6e9e4;--green:#66836a;--green-soft:#e5eee5;--yellow:#bc9651;--yellow-soft:#f5efdf;--red:#bf786d;--shadow:0 12px 35px #3b32270b;--nav-height:76px;--touch-target:44px;background:#f8f6f2;font-family:DM Sans,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg:#222522;--paper:#2c302c;--ink:#f0eee8;--muted:#a4a69f;--line:#41443f;--coral:#df9284;--coral-soft:#483431;--green:#9ab39a;--green-soft:#354137;--yellow:#d0b374;--yellow-soft:#47402d;--red:#d18a7f;--shadow:0 12px 35px #0000001f;background:var(--bg)}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-width:320px;max-width:100vw;min-height:100vh;color:var(--ink);padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0;transition:background .25s,color .25s;overflow-x:hidden}button,input,textarea{font:inherit}button{color:inherit}button,input,textarea,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #bd655952}.app-shell{min-height:100vh}.app-main{min-height:100vh;position:relative}.desktop-rail{display:none}.mobile-header{z-index:20;background:var(--paper);justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.mobile-header{background:color-mix(in srgb,var(--paper) 92%,transparent)}}.mobile-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand-mark{color:var(--ink);align-items:center;gap:9px;font-family:Manrope,sans-serif;font-size:17px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark i{color:var(--coral);font-size:14px;font-weight:600}.brand-icon{color:#fffaf5;background:var(--coral);border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.day-pill{color:var(--coral);background:var(--coral-soft);letter-spacing:.7px;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:700}.page-wrap{width:min(100%,760px);padding:20px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.page-heading{margin-bottom:20px}.eyebrow{color:var(--muted);letter-spacing:1.25px;margin:0 0 7px;font-size:9px;font-weight:700}.page-heading h1{letter-spacing:0;margin:0;font:700 21px/1.28 Manrope,sans-serif}.page-content{animation:.32s both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{z-index:30;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:8px 10px max(10px,env(safe-area-inset-bottom));background:var(--paper);justify-content:space-around;align-items:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.bottom-nav{background:color-mix(in srgb,var(--paper) 94%,transparent)}}.bottom-nav{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -10px 20px #1f1c1808}.nav-item{cursor:pointer;min-width:56px;min-height:var(--touch-target);color:var(--muted);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:9px;font-weight:600;transition:color .2s,background .2s,transform .2s;display:flex}.nav-item:active{transform:translateY(1px)}.nav-item.is-active{color:var(--coral);background:var(--coral-soft);transform:translateY(-1px)}.today-hero{background:linear-gradient(118deg,#f0e4dc,#f5eee7 57%,#e8eee7);border:1px solid #bd655914;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;min-height:176px;padding:20px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 28px #49342b0f}:root[data-theme=dark] .today-hero{background:linear-gradient(118deg,#493934,#393834 57%,#303b33)}.hero-copy{z-index:1;flex:1;min-width:0}.date-label{color:#796e66;font-size:11px;font-weight:600}:root[data-theme=dark] .date-label{color:#c7bdb4}.hero-copy h2{margin:8px 0 6px;font:800 27px/1.15 Manrope,sans-serif}.hero-copy h2 span{color:#78756e;font-size:16px;font-weight:500}:root[data-theme=dark] .hero-copy h2 span{color:#c0bcb4}.hero-copy p{color:#6e6d66;max-width:205px;margin:0;font-size:11px;line-height:1.5}:root[data-theme=dark] .hero-copy p{color:#cbc6bc}.hero-copy .challenge-greeting{max-width:230px;color:var(--coral);margin:6px 0 0;font-size:10px;font-weight:700;line-height:1.4}.text-link{color:var(--coral);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:14px;padding:0;font-size:10px;font-weight:700;display:inline-flex}.progress-ring{flex:0 0 94px;width:94px;height:94px;position:relative}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke-width:5px}.ring-track{stroke:#ffffffb8}.ring-value{stroke:var(--coral);stroke-linecap:round;transition:stroke-dashoffset .45s}.ring-label{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.ring-label strong{font:800 20px Manrope,sans-serif}.ring-label strong span{color:var(--muted);font-size:11px;font-weight:600}.ring-label small{color:var(--muted);margin-top:1px;font-size:9px}.hero-heart{width:22px;height:22px;color:var(--coral);background:#ffffff8c;border-radius:50%;place-items:center;display:grid;position:absolute;top:15px;right:13px}.today-focus{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:11px;margin-top:13px;padding:12px 14px;transition:border-color .2s,background .2s;display:flex}.today-focus.is-complete{border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.today-focus.is-complete{border-color:color-mix(in srgb,var(--green) 42%,var(--line))}}.today-focus.is-complete{background:var(--green-soft)}@supports (color:color-mix(in lab,red,red)){.today-focus.is-complete{background:color-mix(in srgb,var(--green-soft) 38%,var(--paper))}}.today-focus-icon{width:34px;height:34px;color:var(--coral);background:var(--coral-soft);border-radius:9px;flex:0 0 34px;place-items:center;display:grid}.today-focus.is-complete .today-focus-icon{color:var(--green);background:var(--paper)}.today-focus>div{flex:1;min-width:0}.today-focus .eyebrow{margin:0 0 3px;font-size:8px}.today-focus-message{margin:0;font-size:10px;line-height:1.45}.focus-check{color:#fff;background:var(--green);border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;animation:.3s both focus-check-in;display:grid}@keyframes focus-check-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.section-block{margin-top:27px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.section-heading h3{margin:0;font:700 16px Manrope,sans-serif}.habit-counter,.calendar-count{color:var(--coral);background:var(--coral-soft);border-radius:7px;padding:6px 9px;font-size:10px;font-weight:700}.habit-list{grid-template-columns:1fr;gap:8px;display:grid}.habit-card{border:1px solid var(--line);background:var(--paper);text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 10px #352f2705}.habit-card:active{transform:scale(.99)}.habit-card.is-complete{background:var(--green-soft);border-color:#bfd0bd}@supports (color:color-mix(in lab,red,red)){.habit-card.is-complete{background:color-mix(in srgb,var(--green-soft) 56%,var(--paper))}}.habit-card.is-complete{animation:.3s habit-pop}@keyframes habit-pop{50%{transform:scale(1.012)}}.habit-icon{background:var(--coral-soft);width:40px;height:40px;color:var(--coral);border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.habit-card:nth-child(3n+2) .habit-icon{background:var(--green-soft);color:var(--green)}.habit-card:nth-child(3n) .habit-icon{background:var(--yellow-soft);color:var(--yellow)}.habit-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.habit-copy strong{font-size:12px}.habit-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.habit-check{color:#fff;border:1px solid #d9d7d0;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;transition:all .2s;display:grid}.is-complete .habit-check{border-color:var(--green);background:var(--green);transform:scale(1.04)}.is-complete .habit-check svg{animation:.24s both check-settle}@keyframes check-settle{0%{opacity:0;transform:scale(.65)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}.score-panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;margin-top:22px;padding:17px}.score-panel.is-perfect{border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.score-panel.is-perfect{border-color:color-mix(in srgb,var(--green) 48%,var(--line))}}.score-panel.is-perfect{box-shadow:inset 0 3px 0 var(--green),var(--shadow)}.score-panel.is-perfect .score-topline>span:first-child svg,.score-panel.is-perfect .score-main strong{color:var(--green)}.score-topline{justify-content:space-between;align-items:center;display:flex}.score-topline>span:first-child{color:var(--muted);letter-spacing:.7px;align-items:center;gap:6px;font-size:9px;font-weight:700;display:flex}.score-topline>span:first-child svg{color:var(--coral)}.status-pill{border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;font-weight:700;display:inline-flex}.status-pill.green{color:var(--green);background:var(--green-soft)}.status-pill.yellow{color:var(--yellow);background:var(--yellow-soft)}.status-pill.red{color:var(--red);background:var(--coral-soft)}.score-main{align-items:baseline;gap:8px;margin:14px 0 10px;display:flex}.score-main strong{font:800 30px Manrope,sans-serif}.score-main strong span{color:var(--muted);font-size:16px}.score-main small{color:var(--muted);font-size:10px}.score-track,.completion-track,.partner-progress{background:var(--line);border-radius:99px;height:5px;overflow:hidden}.score-track span,.completion-track span,.partner-progress span{border-radius:inherit;background:var(--coral);height:100%;transition:width .35s;display:block}.score-panel>p{color:var(--muted);margin:10px 0 0;font-size:10px}.today-footnote{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:13px;font-size:9px;display:flex}.today-footnote span{width:17px;height:17px;color:var(--green);background:var(--green-soft);border-radius:50%;place-items:center;display:grid}.stats-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);min-height:110px;box-shadow:var(--shadow);border-radius:9px;grid-template-rows:25px 32px 17px;grid-template-columns:26px 1fr;align-items:center;padding:13px;display:grid}.stat-icon{border-radius:7px;place-items:center;width:25px;height:25px;display:grid}.stat-icon.coral,.red-icon{color:var(--coral);background:var(--coral-soft)}.green-icon{color:var(--green);background:var(--green-soft)}.yellow-icon{color:var(--yellow);background:var(--yellow-soft)}.stat-card strong{grid-column:1/3;font:800 23px Manrope,sans-serif}.stat-card strong small{color:var(--muted);font:600 11px DM Sans,sans-serif}.stat-label{color:var(--muted);grid-column:1/3;font-size:10px}.completion-banner{background:#eee8df;border-radius:9px;grid-template-columns:1fr 42px;align-items:center;margin-top:12px;padding:17px;display:grid}:root[data-theme=dark] .completion-banner{background:#383a35}.completion-banner>div:first-child{grid-template-columns:1fr auto;align-items:center;display:grid}.completion-banner .eyebrow{grid-column:1/3}.completion-banner strong{font:800 27px Manrope,sans-serif}.completion-banner p{color:var(--muted);margin:2px 0 0;font-size:10px}.completion-mark{width:38px;height:38px;color:var(--coral);background:var(--paper);border-radius:50%;place-items:center;display:grid}.completion-track{grid-column:1/3;margin-top:13px}.completion-track span{background:var(--green)}.calendar-section{margin-top:27px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.progress-page{gap:20px;display:grid}.progress-overview{border:1px solid var(--line);background:var(--paper);min-width:0;box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.progress-overview-copy{min-width:0}.progress-overview-copy .eyebrow{margin:0 0 7px}.progress-overview-copy h2{margin:0;font:700 19px/1.25 Manrope,sans-serif}.progress-overview-copy>p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:10px}.progress-overview-stats{flex-wrap:wrap;gap:15px;margin-top:17px;display:flex}.progress-overview-stats span{flex-direction:column;gap:2px;display:flex}.progress-overview-stats strong{font:700 14px Manrope,sans-serif}.progress-overview-stats small{color:var(--muted);font-size:9px}.journey-ring{aspect-ratio:1;background:conic-gradient(var(--green) 0 var(--journey-progress),var(--line) var(--journey-progress) 100%);border-radius:50%;flex:0 0 94px;place-items:center;width:94px;animation:.45s both ring-in;display:grid}.journey-ring>span{aspect-ratio:1;background:var(--paper);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:76px;display:flex}.journey-ring strong{font:800 18px Manrope,sans-serif}.journey-ring small{color:var(--muted);font-size:8px}.progress-streak-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.progress-stat-card{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:101px;box-shadow:var(--shadow);border-radius:9px;grid-template-rows:27px 27px auto;grid-template-columns:27px 1fr;align-items:center;padding:12px;display:grid}.progress-stat-card>strong{grid-column:1/-1;font:800 22px Manrope,sans-serif}.progress-stat-card>strong small{color:var(--muted);font:600 10px DM Sans,sans-serif}.progress-stat-card .stat-label{grid-column:1/-1;font-size:9px}.progress-section{margin-top:0}.progress-section .section-heading{margin-bottom:10px}.progress-section .section-heading h3{font-size:15px}.milestone-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.progress-milestone{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:10px 3px;display:flex}.milestone-marker{aspect-ratio:1;width:25px;color:var(--muted);background:var(--bg);border-radius:50%;place-items:center;display:grid}.progress-milestone strong{white-space:nowrap;font:700 9px Manrope,sans-serif}.progress-milestone small{color:var(--muted);font-size:8px}.progress-milestone.is-achieved{border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.progress-milestone.is-achieved{border-color:color-mix(in srgb,var(--green) 42%,var(--line))}}.progress-milestone.is-achieved{background:var(--green-soft)}@supports (color:color-mix(in lab,red,red)){.progress-milestone.is-achieved{background:color-mix(in srgb,var(--green-soft) 35%,var(--paper))}}.progress-milestone.is-achieved .milestone-marker{color:#fff;background:var(--green)}.progress-milestone.is-achieved small{color:var(--green)}.progress-page .calendar-section{margin-top:0}.progress-page .calendar-grid{gap:6px}.progress-page .calendar-day{border-radius:6px;font-size:9px}.progress-page .calendar-legend{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px;margin-top:11px}.progress-page .calendar-legend span{font-size:9px}.progress-page .calendar-legend i.in-progress{background:var(--coral)}.current-week-card,.habit-stats-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:9px;padding:14px}.current-week-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.current-week-metrics span{flex-direction:column;gap:4px;min-width:0;display:flex}.current-week-metrics strong{white-space:nowrap;font:700 17px Manrope,sans-serif}.current-week-metrics strong small{color:var(--muted);font:600 10px DM Sans,sans-serif}.current-week-metrics span>small{color:var(--muted);font-size:8px}.weekly-progress-track,.habit-rate-track{background:var(--line);border-radius:99px;height:5px;overflow:hidden}.weekly-progress-track{margin-top:14px}.weekly-progress-track span,.habit-rate-track span{border-radius:inherit;background:var(--green);height:100%;transition:width .35s;display:block}.progress-empty-note{border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:8px;margin:0;padding:15px;font-size:10px}.habit-strengths{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px;display:grid}.habit-strengths p{background:var(--bg);border-radius:7px;grid-template-columns:16px 1fr;align-items:center;gap:3px 6px;min-width:0;margin:0;padding:9px;display:grid}.habit-strengths svg{color:var(--green)}.habit-strengths p:nth-child(2) svg{color:var(--coral)}.habit-strengths span{color:var(--muted);font-size:8px}.habit-strengths strong{text-overflow:ellipsis;white-space:nowrap;grid-column:2;font:700 10px Manrope,sans-serif;overflow:hidden}.habit-rate-list{gap:10px;display:grid}.habit-rate-row{grid-template-columns:minmax(76px,1fr) minmax(42px,1.2fr) 32px 28px;align-items:center;gap:7px;display:grid}.habit-rate-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:9px;display:inline-flex;overflow:hidden}.habit-rate-name svg{color:var(--muted);flex:none}.habit-rate-track{height:4px}.habit-rate-row>strong{text-align:right;font:700 9px Manrope,sans-serif}.habit-rate-row>small{color:var(--muted);text-align:right;font-size:8px}@keyframes ring-in{0%{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.calendar-day{aspect-ratio:1;color:var(--muted);background:var(--line);border-radius:7px;place-items:center;font-size:10px;font-weight:600;display:grid}.calendar-day.green{color:#fff;background:var(--green)}.calendar-day.yellow{color:#fff;background:var(--yellow)}.calendar-day.red{color:#fff;background:var(--red)}.calendar-day.future{color:var(--muted);background:var(--line)}@supports (color:color-mix(in lab,red,red)){.calendar-day.future{background:color-mix(in srgb,var(--line) 48%,var(--paper))}}.calendar-legend{color:var(--muted);justify-content:space-between;gap:7px;margin-top:14px;font-size:9px;display:flex}.calendar-legend span{align-items:center;gap:4px;display:inline-flex}.calendar-legend i{background:var(--green);border-radius:2px;width:8px;height:8px}.calendar-legend i.yellow{background:var(--yellow)}.calendar-legend i.red{background:var(--red)}.calendar-legend i.future{background:var(--line)}.couple-intro{background:var(--coral-soft);border-radius:9px;align-items:center;gap:12px;padding:16px;display:flex}.couple-heart{width:42px;height:42px;color:var(--coral);background:var(--paper);border-radius:50%;flex:0 0 42px;place-items:center;display:grid}.couple-intro h2,.challenge-intro h2{margin:0 0 5px;font:700 15px Manrope,sans-serif}.couple-intro p,.challenge-intro p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.couple-intro{align-items:flex-start}.couple-intro>div{min-width:0}.couple-intro .eyebrow{margin:1px 0 5px;font-size:8px}.couple-intro h2{overflow-wrap:anywhere;font-size:17px;line-height:1.25}.couple-intro h2 span{color:var(--coral);font-weight:500}.couple-intro p:last-child{max-width:320px}.couple-celebration{background:linear-gradient(135deg,var(--coral-soft),var(--yellow-soft) 95%);border:1px solid #f86f622e;border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:14px 15px;display:flex}@supports (color:color-mix(in lab,red,red)){.couple-celebration{background:linear-gradient(135deg,var(--coral-soft),color-mix(in srgb,var(--yellow-soft) 70%,var(--paper)) 95%)}}.couple-celebration{animation:.32s celebration-pop;box-shadow:0 10px 24px #b85c4d14}.celebration-burst{background:#ffffff73;border-radius:999px;align-items:center;gap:4px;padding:7px 10px;display:inline-flex}.celebration-burst span{animation:.7s ease-in-out infinite alternate burst-bounce;display:inline-block}.celebration-burst span:nth-child(2){animation-delay:.16s}.celebration-burst span:nth-child(3){animation-delay:.32s}.couple-celebration .eyebrow{margin:0 0 4px}.couple-celebration>div:last-child{min-width:0}.couple-celebration h3{overflow-wrap:anywhere;margin:0 0 4px;font:700 15px Manrope,sans-serif}.couple-celebration p:last-child{color:var(--muted);margin:0;font-size:10px}.couple-progress-panel{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:6px;margin-top:14px;padding:14px 15px;display:grid}.couple-progress-header{flex-direction:column;gap:6px;display:flex}.couple-progress-kicker{color:var(--coral);letter-spacing:.7px;align-items:center;gap:5px;font-size:9px;font-weight:700;display:inline-flex}.couple-progress-panel strong{font:700 15px Manrope,sans-serif}.couple-progress-panel p{color:var(--muted);margin:0;font-size:10px}.shared-progress-track{background:var(--line);border-radius:99px;height:7px;overflow:hidden}.shared-progress-track span{border-radius:inherit;background:linear-gradient(90deg,var(--coral),var(--green));height:100%;transition:width .4s;display:block}.shared-progress-caption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:9px;display:flex}.next-shared-milestone{border:1px solid var(--yellow);grid-template-columns:37px minmax(0,1fr);align-items:center;gap:8px 10px;margin-top:12px;padding:12px 14px;display:grid}@supports (color:color-mix(in lab,red,red)){.next-shared-milestone{border:1px solid color-mix(in srgb,var(--yellow) 34%,var(--line))}}.next-shared-milestone{background:var(--yellow-soft);border-radius:9px}@supports (color:color-mix(in lab,red,red)){.next-shared-milestone{background:color-mix(in srgb,var(--yellow-soft) 44%,var(--paper))}}.next-shared-milestone.is-complete{border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.next-shared-milestone.is-complete{border-color:color-mix(in srgb,var(--green) 34%,var(--line))}}.next-shared-milestone.is-complete{background:var(--green-soft)}@supports (color:color-mix(in lab,red,red)){.next-shared-milestone.is-complete{background:color-mix(in srgb,var(--green-soft) 44%,var(--paper))}}.next-milestone-emoji{aspect-ratio:1;background:var(--paper);border-radius:50%;place-items:center;width:36px;font-size:16px;display:grid}.next-shared-milestone>div{grid-template-columns:1fr auto;align-items:baseline;gap:3px 8px;min-width:0;display:grid}.next-shared-milestone .eyebrow{grid-column:1/-1;margin:0;font-size:8px}.next-shared-milestone strong{font:700 13px Manrope,sans-serif}.next-shared-milestone small{color:var(--muted);text-align:right;font-size:9px}.next-milestone-track{background:var(--yellow);border-radius:99px;grid-column:1/-1;height:4px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.next-milestone-track{background:color-mix(in srgb,var(--yellow) 18%,var(--paper))}}.next-milestone-track i{border-radius:inherit;background:var(--yellow);height:100%;transition:width .35s;display:block}.together-stats-section{margin-top:13px}.together-stats-section .section-heading{margin-bottom:9px}.together-stats-section .section-heading h3{font-size:14px}.together-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.together-stats-grid article{border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;min-height:100px;padding:10px;display:flex}.together-stat-icon{aspect-ratio:1;width:25px;color:var(--coral);background:var(--coral-soft);border-radius:7px;place-items:center;display:grid}.together-stats-grid article:nth-child(2) .together-stat-icon{color:var(--green);background:var(--green-soft)}.together-stats-grid article:nth-child(3) .together-stat-icon{color:var(--yellow);background:var(--yellow-soft)}.together-stats-grid article>strong{font:800 20px Manrope,sans-serif}.together-stats-grid article>small{color:var(--muted);font-size:8px;line-height:1.35}.milestone-strip{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.milestone-pill{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:7px 9px;font-size:9px;display:inline-flex}.milestone-pill.is-reached{color:var(--ink);background:var(--coral-soft);border-color:#f86f6226}.milestone-pill span{font-size:12px}.milestone-banner{background:var(--green-soft);border-radius:999px;align-items:center;gap:7px;margin-top:14px;padding:9px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.milestone-banner{background:color-mix(in srgb,var(--green-soft) 68%,var(--paper))}}.milestone-banner{color:var(--green);font-size:10px;font-weight:700}.milestone-banner span{font-size:12px}.weekly-challenge-panel{border:1px solid var(--coral);margin-top:14px;padding:15px}@supports (color:color-mix(in lab,red,red)){.weekly-challenge-panel{border:1px solid color-mix(in srgb,var(--coral) 22%,var(--line))}}.weekly-challenge-panel{background:linear-gradient(145deg,var(--coral-soft),var(--paper) 75%);border-radius:11px}@supports (color:color-mix(in lab,red,red)){.weekly-challenge-panel{background:linear-gradient(145deg,color-mix(in srgb,var(--coral-soft) 68%,var(--paper)),var(--paper) 75%)}}.weekly-challenge-panel{box-shadow:var(--shadow)}.weekly-challenge-panel.is-together-complete{border-color:var(--green)}@supports (color:color-mix(in lab,red,red)){.weekly-challenge-panel.is-together-complete{border-color:color-mix(in srgb,var(--green) 45%,var(--line))}}.weekly-challenge-panel.is-together-complete{background:var(--green-soft)}@supports (color:color-mix(in lab,red,red)){.weekly-challenge-panel.is-together-complete{background:color-mix(in srgb,var(--green-soft) 44%,var(--paper))}}.weekly-challenge-heading{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.weekly-challenge-icon{aspect-ratio:1;width:38px;color:var(--coral);background:var(--paper);border-radius:10px;place-items:center;display:grid}.weekly-challenge-heading>div{min-width:0}.weekly-challenge-heading .eyebrow{margin:0 0 4px;font-size:8px}.weekly-challenge-heading h3{overflow-wrap:anywhere;margin:0;font:700 15px/1.3 Manrope,sans-serif}.weekly-challenge-number{color:var(--coral);background:var(--paper);white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:700}.weekly-challenge-description{color:var(--muted);margin:11px 0 13px;font-size:10px;line-height:1.55}.weekly-partner-statuses{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.weekly-partner-status{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:3px 7px;min-width:0;padding:9px;display:grid}@supports (color:color-mix(in lab,red,red)){.weekly-partner-status{background:color-mix(in srgb,var(--paper) 86%,transparent)}}.weekly-status-mark{aspect-ratio:1;width:22px;color:var(--coral);background:var(--coral-soft);border-radius:50%;grid-row:1/3;place-items:center;display:grid}.weekly-status-mark.is-done{color:#fff;background:var(--green)}.weekly-partner-status>span:nth-child(2){overflow-wrap:anywhere;min-width:0;font-size:9px;font-weight:700}.weekly-partner-status small{color:var(--muted);font-size:8px;line-height:1.3}.weekly-invite-note{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:9px}.weekly-together-complete{color:var(--green);background:var(--paper);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:11px;display:flex}.weekly-together-complete strong{font:700 13px Manrope,sans-serif}.weekly-together-complete span{color:var(--muted);flex-basis:100%;font-size:9px}.weekly-completion-button{color:#fff;background:var(--coral);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:44px;margin-top:12px;font-size:10px;font-weight:700;transition:background .18s,transform .18s;display:flex}.weekly-completion-button:active{transform:scale(.99)}.weekly-completion-button.is-done{color:var(--green);background:var(--green-soft)}.weekly-completion-button:disabled{opacity:.5;cursor:not-allowed}.weekly-local-note{color:var(--muted);text-align:center;margin:7px 0 0;font-size:8px}.weekly-challenge-history{border-top:1px solid var(--line);margin-top:10px}@supports (color:color-mix(in lab,red,red)){.weekly-challenge-history{border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}}.weekly-challenge-history summary{min-height:40px;color:var(--coral);cursor:pointer;align-items:center;font-size:9px;font-weight:700;list-style-position:inside;display:flex}.weekly-history-list{gap:5px;padding-top:6px;display:grid}.weekly-history-item{background:var(--paper);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;display:grid}@supports (color:color-mix(in lab,red,red)){.weekly-history-item{background:color-mix(in srgb,var(--paper) 78%,transparent)}}.weekly-history-item>span,.weekly-history-item>small{color:var(--muted);white-space:nowrap;font-size:8px}.weekly-history-item>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;overflow:hidden}.partner-grid{grid-template-columns:1fr;gap:10px;margin-top:15px;display:grid}.partner-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:9px;padding:16px}.partner-top{justify-content:space-between;align-items:center;display:flex}.avatar{border-radius:50%;place-items:center;width:39px;height:39px;display:grid}.avatar-you{color:var(--coral);background:var(--coral-soft)}.avatar-partner{color:var(--green);background:var(--green-soft)}.partner-day{color:var(--muted);letter-spacing:.6px;font-size:9px;font-weight:700}.partner-card h3{margin:13px 0 2px;font:700 16px Manrope,sans-serif}.partner-caption{color:var(--muted);margin:0 0 15px;font-size:10px}.partner-progress span{background:var(--green)}.partner-metrics{gap:35px;margin-top:13px;display:flex}.partner-metrics span{flex-direction:column;gap:2px;display:flex}.partner-metrics strong{font:700 13px Manrope,sans-serif}.partner-metrics small{color:var(--muted);font-size:9px}.together-panel{border:1px solid var(--line);background:var(--paper);border-radius:9px;gap:11px;margin-top:14px;padding:15px;display:flex}.together-icon{height:31px;color:var(--yellow);background:var(--yellow-soft);border-radius:8px;flex:0 0 31px;place-items:center;display:grid}.together-panel .eyebrow{margin:2px 0 5px}.together-panel h3{margin:0 0 5px;font:700 13px Manrope,sans-serif}.together-panel p:last-child{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.wide-action{color:#fff;background:var(--coral);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:13px;padding:12px 14px;font-size:11px;font-weight:700;display:flex}.challenge-intro{align-items:center;gap:12px;margin-bottom:18px;display:flex}.challenge-intro-icon{width:40px;height:40px;color:var(--coral);background:var(--coral-soft);border-radius:9px;flex:0 0 40px;place-items:center;display:grid}.challenge-intro .eyebrow{margin-bottom:5px}.challenge-intro h2{font-size:14px}.challenge-list{gap:8px;display:grid}.challenge-item{border:1px solid var(--line);background:var(--paper);border-radius:9px;align-items:center;gap:11px;min-height:83px;padding:12px;display:flex}.challenge-active{background:var(--coral-soft);border-color:#d5a69e}@supports (color:color-mix(in lab,red,red)){.challenge-active{background:color-mix(in srgb,var(--coral-soft) 38%,var(--paper))}}.challenge-done .challenge-marker{color:#fff;background:var(--green)}.challenge-marker{width:31px;height:31px;color:var(--muted);background:var(--bg);border-radius:50%;flex:0 0 31px;place-items:center;font-size:9px;font-weight:700;display:grid}.challenge-active .challenge-marker{color:var(--coral);background:var(--paper)}.challenge-text{flex:1;min-width:0}.challenge-week{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;align-items:center;gap:7px;font-size:8px;font-weight:700;display:flex}.challenge-week i{color:var(--coral);background:var(--coral-soft);border-radius:4px;padding:3px 5px;font-size:7px;font-style:normal}.challenge-text h3{margin:4px 0 3px;font:700 12px Manrope,sans-serif}.challenge-text p{color:var(--muted);margin:0;font-size:9px;line-height:1.4}.challenge-arrow{color:var(--muted)}.challenge-note{color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:17px 0 0;font-size:9px;display:flex}.challenge-note svg{color:var(--coral)}.settings-group{border-bottom:1px solid var(--line);margin-bottom:21px}.settings-heading{justify-content:space-between;align-items:center;padding-bottom:7px;display:flex}.settings-heading .eyebrow{margin:0}.settings-heading p{color:var(--muted);margin:0;font-size:9px}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:66px;display:flex}.setting-row>span:first-child{flex-direction:column;gap:4px;display:flex}.setting-row strong{font-size:11px}.setting-row small{color:var(--muted);font-size:9px}.text-input,.date-input,.time-input{border:1px solid var(--line);min-width:0;max-width:145px;color:var(--ink);background:var(--paper);text-align:right;border-radius:6px;padding:8px;font-size:10px}.date-input{max-width:138px}.time-input{text-align:center;max-width:110px;padding:7px 8px}.number-control{align-items:center;gap:7px;display:flex}.number-control input{border:1px solid var(--line);width:50px;color:var(--ink);background:var(--paper);text-align:center;border-radius:6px;padding:7px 5px;font-size:11px}.number-control small{min-width:39px}.toggle-pill{border:1px solid var(--line);background:var(--paper);min-width:64px;min-height:38px;color:var(--muted);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:10px;font-weight:700}.personalization-input-row{flex-direction:column;justify-content:center;align-items:stretch;gap:7px;min-height:0;padding:11px 0}.personalization-input-row>span:first-child{min-width:0}.personalization-input-row .text-input{text-align:left;width:100%;max-width:none}.avatar-setting-row{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;min-height:0;padding:12px 0}.avatar-setting-row>span:first-child{min-width:0}.avatar-picker{grid-template-columns:repeat(4,44px);gap:7px;display:grid}.profile-photo-setting-row{align-items:flex-start;min-height:0;padding:14px 0}.profile-photo-picker{gap:10px;width:100%;min-width:0;display:grid}.profile-photo-picker-heading{gap:4px;display:grid}.profile-photo-picker-heading strong{font-size:11px}.profile-photo-picker-heading small{color:var(--muted);font-size:9px}.profile-photo-picker-content{align-items:center;gap:12px;min-width:0;display:flex}.profile-photo-preview{aspect-ratio:1;border:1px solid var(--line);width:68px;color:var(--muted);background:var(--bg);border-radius:50%;flex:0 0 68px;place-items:center;display:grid;overflow:hidden}.profile-photo-preview img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.profile-photo-preview>span{color:var(--coral);place-items:center;font-size:27px;display:grid}.profile-photo-actions{flex-wrap:wrap;flex:1;align-items:center;gap:7px;min-width:0;display:flex}.profile-photo-file{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.profile-photo-button,.profile-photo-remove{border:1px solid var(--line);min-height:44px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:700;display:inline-flex}.profile-photo-button{color:var(--coral)}.profile-photo-remove{color:var(--muted)}.profile-photo-button:disabled,.profile-photo-remove:disabled{cursor:progress;opacity:.55}.profile-photo-error{color:var(--red);margin:0;font-size:10px;line-height:1.45}.avatar-choice{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;font-size:20px;transition:border-color .16s,background .16s,transform .16s;display:grid}.avatar-choice:active{transform:scale(.95)}.avatar-choice.selected{border-color:var(--coral);background:var(--coral-soft);box-shadow:0 0 0 2px var(--coral)}@supports (color:color-mix(in lab,red,red)){.avatar-choice.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--coral) 20%,transparent)}}.profile-avatar-emoji{font-size:21px;line-height:1}.toggle-pill.enabled{color:#fff;background:var(--green);border-color:var(--green)}.reminder-permission-row{align-items:flex-start;padding-top:2px}.reminder-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.ghost-button{border:1px solid var(--line);background:var(--paper);min-height:36px;color:var(--ink);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700}.ghost-button:disabled{opacity:.45;cursor:not-allowed}.danger-button{color:var(--coral)}.reminder-note{color:var(--muted);margin:10px 0 0;font-size:9px;line-height:1.5}.theme-switch{background:var(--line);border-radius:8px;gap:6px;margin:5px 0 14px;padding:4px;display:flex}.theme-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:10px;display:flex}.theme-switch button.selected{color:var(--ink);background:var(--paper);box-shadow:0 1px 4px #0000000f}.reset-section{border:1px solid var(--line);background:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.reset-section h3{margin:0 0 4px;font:700 11px Manrope,sans-serif}.reset-section p{color:var(--muted);margin:0;font-size:9px}.reset-button{color:var(--coral);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #e3c5bf;border-radius:6px;align-items:center;gap:5px;padding:8px;font-size:9px;font-weight:700;display:inline-flex}.local-note{text-align:center;color:var(--muted);margin:13px 0;font-size:9px}@media(min-width:640px){.page-wrap{padding:30px 22px calc(34px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:24px}.page-heading h1{font-size:25px}.personalization-input-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:0}.personalization-input-row .text-input{text-align:right;width:auto;max-width:145px}.avatar-setting-row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:0}.avatar-picker{grid-template-columns:repeat(8,40px);gap:5px}.avatar-choice{width:40px;height:40px}.today-hero{min-height:200px;padding:28px 29px}.hero-copy h2{font-size:32px}.hero-copy .challenge-greeting{max-width:270px;font-size:11px}.progress-ring{flex-basis:112px;width:112px;height:112px}.habit-list{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-card{min-height:75px}.habit-copy small{font-size:9px}.stats-grid{grid-template-columns:repeat(4,1fr)}.stat-card{min-height:115px}.calendar-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.calendar-day{font-size:11px}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-challenge-panel{padding:19px}.weekly-challenge-heading h3{font-size:17px}.weekly-challenge-description{font-size:11px}.weekly-partner-statuses{gap:9px}.weekly-partner-status{padding:10px}.couple-intro h2{font-size:19px}.couple-progress-panel{padding:17px}.couple-progress-header{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.couple-progress-panel strong{text-align:right}.next-shared-milestone{grid-template-columns:40px minmax(0,1fr) minmax(90px,.5fr);padding:13px 16px}.next-milestone-track{grid-area:1/3}.together-stats-grid{gap:10px}.together-stats-grid article{min-height:112px;padding:13px}.together-stats-grid article>small{font-size:9px}.progress-page{gap:23px}.progress-overview{padding:21px}.progress-overview-copy h2{font-size:22px}.journey-ring{flex-basis:108px;width:108px}.journey-ring>span{width:88px}.progress-streak-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.progress-stat-card{min-height:112px;padding:14px}.progress-page .calendar-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.progress-page .calendar-day{font-size:10px}.milestone-track{gap:9px}.progress-milestone{padding:11px 5px}.progress-milestone strong{font-size:10px}.progress-milestone small{font-size:9px}.habit-rate-row{grid-template-columns:minmax(100px,1fr) minmax(80px,1.8fr) 38px 36px;gap:10px}.habit-rate-name,.habit-rate-row>strong{font-size:10px}.habit-rate-row>small{font-size:9px}.partner-card{padding:19px}.couple-intro{padding:20px}.challenge-item{padding:14px 16px}.challenge-text h3{font-size:13px}.challenge-text p{font-size:10px}}@media(min-width:900px){.app-shell{grid-template-columns:220px minmax(0,1fr);display:grid}.desktop-rail{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:25px 16px 18px;display:flex;position:sticky;top:0}.desktop-rail .brand-mark{margin:2px 8px 35px}.desktop-rail .bottom-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;height:auto;padding:0;position:static}.desktop-rail .nav-item{border-radius:7px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:43px;padding:0 12px;font-size:11px}.desktop-rail .nav-item.is-active{background:var(--coral-soft);transform:none}.mobile-header{display:none}.app-main{min-width:0}.page-wrap{padding:42px 45px 60px}.page-heading h1{font-size:27px}.progress-page{max-width:980px}.progress-overview{min-height:170px;padding:25px}.journey-ring{flex-basis:120px;width:120px}.journey-ring>span{width:98px}.milestone-track{max-width:740px}.progress-page .calendar-grid{grid-template-columns:repeat(15,minmax(0,1fr))}.habit-stats-card{grid-template-columns:minmax(190px,.75fr) 1.25fr;align-items:start;gap:18px;display:grid}.habit-strengths{grid-template-columns:1fr;margin:0}.habit-rate-list{gap:12px}.desktop-rail .rail-note{color:var(--muted);align-items:center;gap:7px;margin-top:auto;padding:10px 8px;font-size:10px;display:flex}.rail-note svg{color:var(--coral)}}@media(max-width:359px){.page-wrap{padding-left:14px;padding-right:14px}.today-hero{padding:18px 14px}.hero-copy h2{font-size:23px}.hero-copy .challenge-greeting{max-width:175px;font-size:9px}.progress-ring{flex-basis:82px;width:82px;height:82px}.day-pill{text-align:center;max-width:120px}}@media(max-width:380px){.progress-overview{gap:9px;padding:14px}.progress-overview-copy h2{font-size:16px}.progress-overview-stats{gap:10px}.journey-ring{flex-basis:78px;width:78px}.journey-ring>span{width:64px}.journey-ring strong{font-size:15px}.progress-page .calendar-grid{gap:4px}.progress-page .calendar-day{font-size:8px}.current-week-card,.habit-stats-card{padding:11px}.current-week-metrics{gap:4px}.current-week-metrics strong{font-size:15px}.habit-rate-row{grid-template-columns:minmax(67px,1fr) minmax(32px,1fr) 28px 25px;gap:5px}.habit-rate-name{gap:3px;font-size:8px}.memory-actions{gap:5px}.memory-photo-button,.memory-delete-button,.memory-save-button{padding:8px;font-size:8px}.memory-save-button{min-width:88px}}.status-pill.in-progress{color:var(--coral);background:var(--coral-soft)}.status-pill.upcoming{color:var(--muted);background:var(--line)}.calendar-day{min-width:0;font:inherit;cursor:pointer;border:0;padding:0;transition:transform .16s,box-shadow .16s}.calendar-day:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 3px 8px #292b2824}.calendar-day:disabled{cursor:default}.calendar-day.in-progress{color:var(--coral);background:var(--coral-soft)}.calendar-day.is-today{outline:2px solid var(--coral);outline-offset:2px}.calendar-day.has-memory{position:relative}.calendar-day.has-memory:after{content:"";border:1px solid var(--paper);background:var(--coral);border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.calendar-legend i.memory-dot{background:var(--coral)}.weekly-section{margin-top:27px}.weekly-list{gap:8px;display:grid}.weekly-row{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:1fr auto;gap:9px 12px;padding:12px;display:grid}.weekly-row.is-current-week{border-color:var(--coral);background:var(--coral-soft)}@supports (color:color-mix(in lab,red,red)){.weekly-row.is-current-week{background:color-mix(in srgb,var(--coral-soft) 35%,var(--paper))}}.weekly-row-heading{align-items:center;gap:8px;font:700 11px Manrope,sans-serif;display:flex}.weekly-row-heading span{color:var(--coral);background:var(--coral-soft);border-radius:4px;padding:3px 5px;font:700 7px DM Sans,sans-serif}.weekly-counts{color:var(--muted);flex-wrap:wrap;gap:5px 9px;font-size:9px;display:flex}.weekly-counts span:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.weekly-green{color:var(--green)}.weekly-yellow{color:var(--yellow)}.weekly-red{color:var(--red)}.weekly-row>small{color:var(--muted);grid-column:1/-1;font-size:9px}.day-notes{gap:7px;margin-top:19px;display:grid}.day-notes .eyebrow{margin:0}.day-notes textarea,.day-modal-notes textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:74px;color:var(--ink);background:var(--paper);border-radius:8px;padding:10px;font-size:11px;line-height:1.5}.day-notes textarea::placeholder,.day-modal-notes textarea::placeholder{color:var(--muted)}.day-notes textarea:disabled,.day-modal-notes textarea:disabled{opacity:.7}.perfect-day{transition:color .2s}.perfect-day.celebration{color:var(--green);animation:.55s both perfect-day-pop}@keyframes perfect-day-pop{0%{opacity:.6;transform:scale(.96)}60%{transform:scale(1.025)}to{opacity:1;transform:scale(1)}}.day-modal-backdrop{z-index:30;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));touch-action:none;background:#1d1e1b6b;place-items:center;animation:.16s both modal-fade;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.day-modal{width:min(100%,430px);max-height:min(720px,calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));border:1px solid var(--line);background:var(--paper);border-radius:10px;flex-direction:column;animation:.2s both modal-rise;display:flex;overflow:hidden;box-shadow:0 20px 60px #18191633}.day-modal-scroll{max-height:min(720px,calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;padding:0 19px 19px;overflow-y:auto}@supports (height:100dvh){.day-modal{max-height:min(720px,calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}}.day-modal-header{z-index:1;background:var(--paper);justify-content:space-between;align-items:start;gap:12px;margin:0 -19px;padding:19px 19px 8px;display:flex;position:sticky;top:0}.day-modal-header .eyebrow{margin-bottom:4px}.day-modal-header h2{margin:0;font:700 16px/1.35 Manrope,sans-serif}.day-modal-close{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:7px;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.day-modal-summary{justify-content:space-between;align-items:center;margin:17px 0 10px;display:flex}.day-modal-summary>strong{font:800 22px Manrope,sans-serif}.day-habit-review{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.day-habit-review li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:37px;font-size:11px;display:flex}.habit-done-icon{color:var(--green)}.habit-missed-icon{color:var(--muted)}.day-modal-notes{gap:7px;margin-top:14px;display:grid}.day-modal-notes .eyebrow{margin:0}.day-memory-section{border-top:1px solid var(--line);gap:9px;margin-top:17px;padding-top:14px;display:grid}.day-memory-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.day-memory-heading .eyebrow{margin:0 0 3px}.day-memory-heading p:last-child{color:var(--muted);margin:0;font-size:9px}.memory-kept-label{color:var(--coral);flex:none;align-items:center;gap:4px;font-size:9px;font-weight:700;display:inline-flex}.memory-note-label{color:var(--muted);font-size:9px;font-weight:600}.memory-note-input{resize:vertical;border:1px solid var(--line);width:100%;min-height:78px;color:var(--ink);background:var(--bg);border-radius:8px;padding:10px;font-size:10px;line-height:1.5}.memory-note-input::placeholder{color:var(--muted)}.memory-file-input{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.memory-photo-preview{border:1px solid var(--line);background:var(--bg);border-radius:8px;place-items:center;min-height:90px;max-height:260px;display:grid;position:relative;overflow:hidden}.memory-photo-preview img{object-fit:contain;width:100%;max-height:260px;display:block}.memory-photo-remove{aspect-ratio:1;width:32px;color:var(--ink);background:var(--paper);cursor:pointer;border:1px solid #00000014;border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 2px 8px #0000001f}.memory-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.memory-action-spacer{flex:1}.memory-photo-button,.memory-delete-button,.memory-save-button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:8px 10px;font-size:9px;font-weight:700;display:inline-flex}.memory-photo-button:disabled,.memory-save-button:disabled{opacity:.5;cursor:not-allowed}.memory-delete-button{color:var(--coral)}.memory-save-button{border-color:var(--coral);color:#fff;background:var(--coral);min-width:98px}.memory-storage-note,.memory-error,.memory-unavailable{color:var(--muted);margin:0;font-size:8px;line-height:1.45}.memory-error{color:var(--red);font-size:9px}.memory-readonly{gap:8px;display:grid}.memory-readonly img{object-fit:contain;background:var(--bg);border-radius:8px;width:100%;max-height:260px;display:block}.memory-readonly p{white-space:pre-wrap;margin:0;font-size:10px;line-height:1.55}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:.7;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.perfect-day.celebration,.day-modal-backdrop,.day-modal,.journey-ring,.habit-card.is-complete,.is-complete .habit-check svg,.focus-check,.couple-celebration,.celebration-burst span{animation:none}.shared-progress-track span,.next-milestone-track i,.memory-photo-button,.memory-delete-button,.memory-save-button{transition:none}}@keyframes celebration-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes burst-bounce{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.account-page{background:radial-gradient(ellipse at 50% 0%,var(--coral-soft),var(--bg) 68%);place-items:center;min-height:100vh;padding:24px 16px;display:grid}@supports (color:color-mix(in lab,red,red)){.account-page{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--coral-soft) 65%,var(--bg)),var(--bg) 68%)}}.account-panel{border:1px solid var(--line);background:var(--paper);width:min(100%,430px);box-shadow:var(--shadow);border-radius:10px;padding:26px;animation:.3s both page-in}.account-brand{margin-bottom:28px}.account-kicker{color:var(--muted);letter-spacing:1.2px;margin-bottom:8px;font-size:9px;font-weight:700;display:block}.account-panel h1{margin:0;font:700 24px/1.25 Manrope,sans-serif}.account-intro{color:var(--muted);margin:7px 0 20px;font-size:11px;line-height:1.6}.account-form{gap:12px;display:grid}.account-form label,.setup-profile-field{color:var(--ink);gap:6px;font-size:10px;font-weight:700;display:grid}.account-form label small,.setup-profile-field small{color:var(--muted);font-size:9px;font-weight:500}.account-input{border:1px solid var(--line);min-height:42px;color:var(--muted);background:var(--bg);border-radius:7px;align-items:center;gap:9px;padding:0 11px;display:flex}.account-input:focus-within{border-color:var(--coral)}.account-input input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px;font-weight:500}.account-input input[type=date]{min-height:40px}.account-submit{color:#fff;background:var(--coral);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:43px;margin-top:3px;padding:9px 14px;font-size:11px;font-weight:700;transition:opacity .18s,transform .18s;display:flex}.account-submit:hover:not(:disabled){transform:translateY(-1px)}.account-submit:disabled{cursor:progress;opacity:.65}.account-links{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:16px;font-size:10px;display:flex}.account-links p{margin:0}.account-links button,.account-secondary{color:var(--coral);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.account-error,.account-message{border-radius:6px;margin:0;padding:9px 10px;font-size:10px;line-height:1.5}.account-error{color:var(--red);background:var(--coral-soft)}.account-message{color:var(--green);background:var(--green-soft)}.account-loading{color:var(--muted);font-size:12px}.workspace-loading{align-items:center;gap:10px;display:flex}.workspace-loading:before{border:2px solid var(--line);border-top-color:var(--coral);content:"";border-radius:50%;width:16px;height:16px;animation:.8s linear infinite sync-spin}.sync-notice{border-bottom:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--paper);align-items:center;gap:8px;padding:7px 14px;font-size:10px;line-height:1.4;display:flex}.sync-notice-icon{aspect-ratio:1;width:22px;color:var(--muted);flex:0 0 22px;place-items:center;display:grid}.sync-notice p{overflow-wrap:anywhere;flex:1;min-width:0;margin:0}.sync-notice button{border:1px solid var(--line);min-height:34px;color:var(--coral);background:var(--paper);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.sync-notice button:disabled{opacity:.55;cursor:not-allowed}.sync-notice.is-warning{background:var(--yellow-soft)}.sync-notice.is-error{color:var(--red);background:var(--coral-soft)}.sync-notice.is-info{color:var(--muted)}.finale-frame>.sync-notice{border:1px solid var(--line);border-radius:7px;margin-bottom:18px}@keyframes sync-spin{to{transform:rotate(360deg)}}.account-secondary{margin:14px auto 0;display:block}.challenge-setup-panel>.setup-heart{margin-bottom:17px}.setup-profile-field{margin-top:11px}.setup-profile-field input{border:1px solid var(--line);width:100%;min-height:39px;color:var(--ink);background:var(--bg);border-radius:7px;padding:0 10px;font-size:11px}.setup-tabs{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.setup-tabs button{border:1px solid var(--line);min-width:0;min-height:70px;color:var(--ink);background:var(--paper);cursor:pointer;text-align:left;border-radius:7px;align-content:center;justify-items:start;gap:5px;padding:10px;display:grid}.setup-tabs button strong{font-size:10px;line-height:1.35}.setup-tabs button span{color:var(--muted);font-size:9px;font-weight:500;line-height:1.4}.setup-tabs button.selected{border-color:var(--coral);background:var(--coral-soft)}.challenge-form{margin-top:14px}.challenge-join-section{border:1px solid var(--line);background:var(--bg);border-radius:7px;gap:7px;padding:14px;display:grid}.challenge-join-section h2{margin:0;font:700 13px/1.4 Manrope,sans-serif}.challenge-join-section>p{color:var(--muted);margin:0 0 3px;font-size:10px;line-height:1.5}.challenge-join-section .account-form label,.challenge-join-section label{gap:7px}.partner-code-input{border-color:var(--coral);min-height:52px}@supports (color:color-mix(in lab,red,red)){.partner-code-input{border-color:color-mix(in srgb,var(--coral) 42%,var(--line))}}.partner-code-input{background:var(--paper)}.partner-code-input input{min-height:50px;font-size:16px;font-weight:600}.partner-code-input input::placeholder{color:var(--muted);font-size:12px;font-weight:500}.account-logout{border:1px solid var(--line);color:var(--coral);background:var(--paper);cursor:pointer;border-radius:7px;align-items:center;gap:7px;padding:9px 11px;font-size:10px;font-weight:700;display:inline-flex}.account-settings-group .settings-heading p{overflow-wrap:anywhere;text-align:right;max-width:60%}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.invite-panel{border:1px solid var(--line);background:var(--paper);border-radius:9px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:15px;display:flex}.invite-panel .eyebrow{margin-bottom:5px}.invite-panel h3{margin:0 0 4px;font:700 13px Manrope,sans-serif}.invite-panel p:last-child{color:var(--muted);margin:0;font-size:10px}.invite-code-row{align-items:center;gap:7px;display:flex}.invite-code-row code{color:var(--coral);font:700 13px Manrope,sans-serif}.invite-code-row button{border:1px solid var(--line);width:31px;height:31px;color:var(--coral);background:var(--bg);cursor:pointer;border-radius:6px;place-items:center;display:grid}.migration-icon{width:42px;height:42px;color:var(--green);background:var(--green-soft);border-radius:9px;place-items:center;margin-bottom:15px;display:grid}.migration-actions{gap:9px;display:grid}.migration-actions .account-logout{justify-content:center}.migration-actions .account-logout:disabled{cursor:progress;opacity:.65}.today-footnote.save-error,.today-footnote.save-error span{color:var(--red)}.settings-save-status{color:var(--muted);margin:-10px 0 16px;font-size:10px}.settings-save-status.save-error{color:var(--red)}.date-input:disabled{cursor:not-allowed;opacity:.65}@media(max-width:400px){.account-panel{padding:21px}.account-panel h1{font-size:21px}.account-links{flex-wrap:wrap}}.finale-page{isolation:isolate;min-height:100svh;padding:max(20px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom));background:linear-gradient(145deg,var(--green-soft),var(--bg) 43%,var(--yellow-soft));position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.finale-page{background:linear-gradient(145deg,color-mix(in srgb,var(--green-soft) 55%,var(--bg)),var(--bg) 43%,color-mix(in srgb,var(--yellow-soft) 48%,var(--bg)))}}.finale-page:before{z-index:-1;content:"";opacity:.35;background-image:radial-gradient(var(--green) .8px,transparent .8px);position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.finale-page:before{background-image:radial-gradient(color-mix(in srgb,var(--green) 22%,transparent) .8px,transparent .8px)}}.finale-page:before{background-size:19px 19px;-webkit-mask-image:linear-gradient(#000,#0000 48%);mask-image:linear-gradient(#000,#0000 48%)}.finale-frame{width:min(100%,1020px);margin:0 auto}.finale-brand{align-items:center;gap:8px;min-height:36px;font:800 15px Manrope,sans-serif;display:flex}.finale-brand>i,.finale-brand i{color:var(--coral);font-size:13px;font-weight:600}.finale-brand-mark{width:27px;height:27px;color:var(--paper);background:var(--coral);border-radius:50%;place-items:center;display:grid}.finale-brand-rule{background:var(--line);flex:1;height:1px;margin:0 9px}.finale-brand-caption{color:var(--muted);letter-spacing:1px;font:700 8px DM Sans,sans-serif}.finale-hero{text-align:center;flex-direction:column;align-items:center;padding:36px 0 28px;display:flex;position:relative}.finale-seal{width:94px;height:94px;color:var(--coral);place-items:center;margin-bottom:14px;display:grid;position:relative}.finale-seal-rays{animation:28s linear infinite finale-turn;position:absolute;top:0;right:0;bottom:0;left:0}.finale-seal-rays i{background:var(--yellow);transform-origin:1px 47px;border-radius:2px;width:2px;height:11px;position:absolute;top:0;left:50%}.finale-seal-rays i:nth-child(2){transform:rotate(45deg)}.finale-seal-rays i:nth-child(3){transform:rotate(90deg)}.finale-seal-rays i:nth-child(4){transform:rotate(135deg)}.finale-seal-rays i:nth-child(5){transform:rotate(180deg)}.finale-seal-rays i:nth-child(6){transform:rotate(225deg)}.finale-seal-rays i:nth-child(7){transform:rotate(270deg)}.finale-seal-rays i:nth-child(8){transform:rotate(315deg)}.finale-seal-center{border:1px solid var(--coral);place-items:center;width:63px;height:63px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.finale-seal-center{border:1px solid color-mix(in srgb,var(--coral) 28%,var(--line))}}.finale-seal-center{background:var(--paper);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.finale-seal-center{background:color-mix(in srgb,var(--paper) 86%,transparent)}}.finale-seal-center{box-shadow:0 8px 24px var(--coral)}@supports (color:color-mix(in lab,red,red)){.finale-seal-center{box-shadow:0 8px 24px color-mix(in srgb,var(--coral) 12%,transparent)}}.finale-seal-center{animation:.65s cubic-bezier(.2,.8,.2,1) both finale-arrive}.finale-seal-center svg:last-child{border:2px solid var(--bg);color:#fff;background:var(--green);border-radius:50%;width:21px;height:21px;padding:4px;position:absolute;bottom:1px;right:0}.finale-eyebrow{color:var(--coral);letter-spacing:1.35px;justify-content:center;align-items:center;gap:6px;margin:0 0 10px;font-size:9px;font-weight:700;display:flex}.finale-hero h1{margin:0;font:800 43px/1.05 Manrope,sans-serif}.finale-hero h1 em{color:var(--green);font-weight:600}.finale-intro{max-width:410px;color:var(--muted);margin:12px auto 0;font-size:12px;line-height:1.65}.finale-hero-stat{align-items:baseline;gap:9px;margin-top:18px;display:flex}.finale-hero-stat strong{color:var(--coral);font:800 29px Manrope,sans-serif}.finale-hero-stat span{color:var(--ink);font-size:12px;font-weight:700}.finale-note{color:var(--muted);margin:7px 0 0;font-size:10px}.finale-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.finale-summary-item{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:111px;padding:13px 7px;display:flex}.finale-summary-item:nth-child(odd){border-right:1px solid var(--line)}.finale-summary-item:not(:nth-last-child(-n+2)){border-bottom:1px solid var(--line)}.finale-stat-icon{width:28px;height:28px;color:var(--coral);background:var(--coral-soft);border-radius:50%;place-items:center;margin-bottom:5px;display:grid}.finale-summary-item:nth-child(3n+2) .finale-stat-icon{color:var(--green);background:var(--green-soft)}.finale-summary-item strong{font:800 20px/1.2 Manrope,sans-serif}.finale-summary-item strong small{color:var(--muted);font:600 10px DM Sans,sans-serif}.finale-summary-item>small{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.35}.finale-highlights{border-bottom:1px solid var(--line);padding:25px 0 23px}.finale-section-heading{align-items:center;gap:10px;display:flex}.finale-section-icon{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:9px;flex:0 0 34px;place-items:center;display:grid}.finale-section-heading .finale-eyebrow{justify-content:flex-start;margin-bottom:3px;font-size:8px}.finale-section-heading h2{margin:0;font:700 15px Manrope,sans-serif}.finale-habit-highlights{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.finale-habit-highlights p{border-left:2px solid var(--green);background:var(--paper);gap:3px;min-width:0;margin:0;padding:12px;display:grid}@supports (color:color-mix(in lab,red,red)){.finale-habit-highlights p{background:color-mix(in srgb,var(--paper) 65%,transparent)}}.finale-habit-highlights p:last-child{border-left-color:var(--yellow)}.finale-habit-highlights span,.finale-habit-highlights small{color:var(--muted);font-size:9px}.finale-habit-highlights strong{overflow-wrap:anywhere;font:700 12px Manrope,sans-serif}.finale-detail-grid{border-bottom:1px solid var(--line);gap:24px;padding:24px 0 21px;display:grid}.finale-detail-section{min-width:0}.finale-milestones{flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none;display:flex}.finale-milestones li{border:1px solid var(--green);align-items:center;gap:6px;min-height:34px;padding:6px 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.finale-milestones li{border:1px solid color-mix(in srgb,var(--green) 26%,var(--line))}}.finale-milestones li{background:var(--green-soft);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.finale-milestones li{background:color-mix(in srgb,var(--green-soft) 55%,var(--paper))}}.finale-milestones li span{color:var(--green)}.finale-milestones strong{font-size:9px}.finale-memory-list{gap:8px;margin-top:13px;display:grid}.finale-memory{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.finale-memory img,.finale-memory-placeholder{width:48px;height:48px;color:var(--coral);background:var(--coral-soft);object-fit:cover;border-radius:6px;flex:0 0 48px;place-items:center;display:grid}.finale-memory>div{min-width:0}.finale-memory small{color:var(--muted);letter-spacing:.4px;font-size:8px;font-weight:700}.finale-memory p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:10px;line-height:1.45;display:-webkit-box;overflow:hidden}.finale-empty-note{color:var(--muted);margin:13px 0 0;font-size:10px;line-height:1.55}.finale-message{text-align:center;max-width:640px;margin:25px auto 19px;padding:0 20px;position:relative}.finale-message>span{height:23px;color:var(--coral);font:800 38px/1 Manrope,sans-serif;display:block}.finale-message p{margin:0;font:600 15px/1.6 Manrope,sans-serif}.finale-return{color:#fff;background:var(--coral);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:10px;width:min(100%,340px);min-height:48px;margin:0 auto;padding:11px 18px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:flex}.finale-return:hover{background:var(--coral);transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){.finale-return:hover{background:color-mix(in srgb,var(--coral) 88%,var(--ink))}}.finale-footer{color:var(--muted);text-align:center;margin:12px 0 0;font-size:9px}.finale-confetti{z-index:-1;pointer-events:none;height:180px;position:absolute;top:100px;left:0;right:0;overflow:hidden}.finale-confetti i{top:var(--particle-top);left:var(--particle-left);background:var(--particle-color,var(--coral));opacity:0;width:5px;height:9px;animation:finale-float 3.5s ease-out calc(var(--particle-index) * -.16s) infinite;border-radius:2px;position:absolute}.finale-confetti i:nth-child(3n){--particle-color:var(--green)}.finale-confetti i:nth-child(3n+1){--particle-color:var(--yellow)}@keyframes finale-turn{to{transform:rotate(360deg)}}@keyframes finale-arrive{0%{opacity:0;transform:scale(.72)rotate(-14deg)}70%{transform:scale(1.08)rotate(3deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes finale-float{0%{opacity:0;transform:translateY(5px)rotate(0)}25%{opacity:.75}to{opacity:0;transform:translateY(54px)rotate(140deg)}}@media(min-width:640px){.finale-page{padding-left:28px;padding-right:28px}.finale-hero{padding:46px 0 35px}.finale-hero h1{font-size:54px}.finale-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.finale-summary-item:nth-child(odd){border-right:0}.finale-summary-item:not(:nth-child(3n)){border-right:1px solid var(--line)}.finale-summary-item:not(:nth-last-child(-n+3)){border-bottom:1px solid var(--line)}.finale-summary-item:nth-last-child(-n+3){border-bottom:0}.finale-detail-grid{grid-template-columns:.9fr 1.1fr;gap:30px}}@media(min-width:900px){.finale-page{padding-top:28px}.finale-hero{padding:55px 0 42px}.finale-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.finale-summary-item{min-height:120px}.finale-summary-item:not(:nth-child(3n)){border-right:0}.finale-summary-item:not(:last-child){border-right:1px solid var(--line)}.finale-summary-item:nth-last-child(-n+3){border-bottom:0}.finale-summary-item{border-bottom:0!important}.finale-detail-grid{gap:54px;padding-top:32px}}@media(max-width:380px){.finale-page{padding-left:14px;padding-right:14px}.finale-hero{padding-top:28px}.finale-hero h1{font-size:38px}.finale-summary-item{min-height:104px}.finale-habit-highlights{gap:6px}.finale-habit-highlights p{padding:10px 8px}}@media(prefers-reduced-motion:reduce){.finale-page *,.finale-page :before,.finale-page :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.calendar-memory-hint{color:var(--muted);align-items:flex-start;gap:8px;margin:0 0 12px;font-size:10px;line-height:1.5;display:flex}.calendar-memory-hint svg{color:var(--coral);flex:0 0 16px;margin-top:1px}.reminder-toast{z-index:45;right:16px;bottom:calc(var(--nav-height) + 14px + env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--paper);border-radius:9px;align-items:center;gap:9px;width:min(100% - 32px,460px);margin:0 auto;padding:10px;animation:.22s both reminder-toast-in;display:flex;position:fixed;left:16px;box-shadow:0 12px 36px #292b2829}.reminder-toast>div{flex:1;min-width:0}.reminder-toast strong{font-size:11px}.reminder-toast p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.4}.reminder-toast button{color:#fff;background:var(--coral);cursor:pointer;white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:40px;padding:8px 10px;font-size:10px;font-weight:700;display:inline-flex}.reminder-toast .reminder-toast-close{width:38px;color:var(--ink);background:var(--bg);flex:0 0 38px;padding:0}@keyframes reminder-toast-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(min-width:900px){.reminder-toast{margin:0;bottom:22px;left:auto;right:24px}}@media(max-width:639px){.progress-page .calendar-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.progress-page .calendar-day{min-height:44px;font-size:11px}}@media(max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]),textarea{font-size:16px!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
