@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Serif:wght@500;600;700&family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";.notifications{top:calc(env(safe-area-inset-top,0px) + 16px);right:calc(env(safe-area-inset-right,0px) + 16px);width:min(400px,100vw - 32px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 32px);z-index:1000;pointer-events:none;gap:10px;display:grid;position:fixed;overflow:hidden auto}.notification{color:#21492d;pointer-events:auto;background:#edf7ef;border:1px solid #b8c9bd;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;font:500 14px/1.5 system-ui,sans-serif;animation:.28s cubic-bezier(.22,1,.36,1) notification-slide-in;display:flex;box-shadow:0 4px 24px #0002}.notification-error{color:#690005;background:#ffdad6;border-color:#e8aaa3}.notification-info{color:#243c61;background:#eff3fa;border-color:#b8c7df}.notification p{overflow-wrap:anywhere;flex:1;margin:0}.notification button{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;min-width:32px;min-height:32px;font-size:24px;line-height:1}.notification button:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid}@keyframes notification-slide-in{0%{opacity:0;transform:translate(calc(100% + 16px))}to{opacity:1;transform:translate(0)}}.notification-exiting{pointer-events:none;animation:.24s ease-in forwards notification-slide-out}@keyframes notification-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 16px))}}@media (prefers-reduced-motion:reduce){.notification{animation:none}}@layer components;@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-font-weight:initial;--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;--color-sky-400:oklch(74.6% .16 232.661);--color-slate-400:oklch(70.4% .04 256.788);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--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,-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;-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: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]){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 utilities{.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.min-h-screen{min-height:100vh}.max-w-\[300px\]{max-width:300px}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.place-items-center{place-items:center}.p-6{padding:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-sky-400{color:var(--color-sky-400)}.text-slate-400{color:var(--color-slate-400)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.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{--surface:#faf9f5;--surface-dim:#dbdad6;--surface-bright:#faf9f5;--surface-container-lowest:#fff;--surface-container-low:#f4f4f0;--surface-container:#efeeea;--surface-container-high:#e9e8e4;--surface-container-highest:#e3e2df;--on-surface:#1b1c1a;--on-surface-variant:#4d4638;--inverse-surface:#2f312e;--inverse-on-surface:#f2f1ed;--outline:#7f7666;--outline-variant:#d0c5b2;--primary:#765a05;--on-primary:#fff;--primary-container:#e9c46a;--on-primary-container:#695000;--inverse-primary:#e7c268;--secondary:#a33d23;--on-secondary:#fff;--secondary-container:#ff8162;--on-secondary-container:#731a04;--tertiary:#006a60;--on-tertiary:#fff;--tertiary-container:#71daca;--on-tertiary-container:#005f55;--error:#ba1a1a;--on-error:#fff;--error-container:#ffdad6;--on-error-container:#93000a;--primary-fixed:#ffdf96;--primary-fixed-dim:#e7c268;--on-primary-fixed:#251a00;--on-primary-fixed-variant:#5a4400;--secondary-fixed:#ffdad2;--secondary-fixed-dim:#ffb4a2;--on-secondary-fixed:#3c0700;--on-secondary-fixed-variant:#83260e;--tertiary-fixed:#8cf5e4;--tertiary-fixed-dim:#6fd8c8;--on-tertiary-fixed:#00201c;--on-tertiary-fixed-variant:#005048;--background:var(--surface);--on-background:var(--on-surface);--surface-variant:var(--surface-container-highest);--font-display:"Noto Serif", serif;--font-body:Manrope, sans-serif;--display-lg-size:48px;--display-lg-line-height:56px;--display-lg-weight:700;--display-lg-tracking:-.02em;--headline-lg-size:32px;--headline-lg-line-height:40px;--headline-lg-weight:600;--headline-lg-mobile-size:28px;--headline-lg-mobile-line-height:36px;--headline-md-size:24px;--headline-md-line-height:32px;--headline-md-weight:500;--body-lg-size:18px;--body-lg-line-height:28px;--body-md-size:16px;--body-md-line-height:24px;--label-md-size:14px;--label-md-line-height:20px;--label-md-tracking:.05em;--label-sm-size:12px;--label-sm-line-height:16px;--label-sm-tracking:.08em;--radius-sm:.5rem;--radius:1rem;--radius-md:1.5rem;--radius-lg:2rem;--radius-xl:3rem;--radius-full:9999px;--space-unit:8px;--container-margin:24px;--gutter:16px;--stack-sm:8px;--stack-md:24px;--stack-lg:48px}@media (width<=767px){.journal-page{padding:25px 18px 28px}.journal-header{margin-bottom:28px}.journal-header h1{font-size:35px}.journal-content{gap:31px}.journal-section-heading h2{font-size:24px}.weight-chart-card{border-radius:20px;padding:17px}.weight-chart-card svg{height:150px}.growth-stats{gap:7px}.growth-stats article{border-radius:13px;min-height:88px;padding:11px 9px}.growth-stats span{align-items:start;font-size:9px;line-height:1.25}.growth-stats span .material-symbols-outlined{display:none}.growth-stats b{margin-top:15px;font-size:13px}.journal-record{grid-template-columns:auto 1fr;gap:11px}.journal-record aside{grid-column:2;grid-template-columns:auto 1fr auto;justify-items:start;width:100%}.journal-record aside button{justify-self:end}.journal-drawer{padding:24px 20px 30px}}*{box-sizing:border-box}body{min-width:320px;color:var(--on-background);background:var(--background);font-family:var(--font-body);margin:0}button,a{font:inherit}button{cursor:pointer}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 450, "GRAD" 0, "opsz" 24;line-height:1}.icon-filled{font-variation-settings:"FILL" 1, "wght" 450, "GRAD" 0, "opsz" 24}.app-shell{min-height:100vh;padding-bottom:var(--radius-lg)}.desktop-nav{max-width:1200px;height:81px;padding:0 var(--stack-lg);border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{color:var(--primary);font:var(--headline-md-weight) var(--headline-md-size) / var(--headline-md-line-height) var(--font-display);text-decoration:none}.desktop-nav-links{align-self:stretch;align-items:center;gap:32px;display:flex}.desktop-nav-links a,.profile-nav-button{height:100%;color:var(--on-surface-variant);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;padding:0;text-decoration:none;display:flex}.desktop-nav-links a.active{color:var(--primary);border-color:var(--primary);font-weight:700}.add-memory-button{padding:11px var(--stack-md);color:var(--on-primary-container);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--primary-container);border-radius:var(--radius-full);border:0;font-weight:700}.page-content{width:min(100%,1200px);padding:64px var(--stack-lg) 96px;margin:0 auto}.puppy-profile{text-align:center;flex-direction:column;align-items:center;margin-bottom:64px;display:flex}.puppy-avatar{object-fit:cover;border:4px solid var(--surface-container-lowest);border-radius:var(--radius-full);width:160px;height:160px;box-shadow:0 4px 20px var(--primary)}@supports (color:color-mix(in lab, red, red)){.puppy-avatar{box-shadow:0 4px 20px color-mix(in srgb, var(--primary) 20%, transparent)}}.puppy-profile h1{margin:var(--gutter) 0 4px;font:var(--display-lg-weight) var(--display-lg-size) / var(--display-lg-line-height) var(--font-display);letter-spacing:var(--display-lg-tracking)}.puppy-age{color:var(--on-surface-variant);font-size:var(--body-lg-size);line-height:var(--body-lg-line-height);margin:0 0 18px}.puppy-details{color:var(--outline);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);text-transform:uppercase;align-items:center;gap:14px;font-weight:700;display:flex}.puppy-details i{background:var(--outline);border-radius:var(--radius-full);width:4px;height:4px;display:block}.timeline{max-width:896px;margin:0 auto;position:relative}.timeline-status{color:var(--on-surface-variant);text-align:center;background:var(--surface-container-lowest);border:1px solid var(--surface-variant);border-radius:var(--radius-lg);margin:0;padding:32px}.timeline-line{top:var(--gutter);background:var(--outline-variant);width:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.month-group{z-index:1;margin-bottom:64px;position:relative}.month-label{z-index:2;width:max-content;padding:6px var(--gutter);color:var(--on-surface-variant);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--surface-variant);border:1px solid var(--outline-variant);border-radius:var(--radius-full);box-shadow:0 2px 4px var(--on-surface);margin:0 auto 32px;font-weight:700;position:sticky;top:20px}@supports (color:color-mix(in lab, red, red)){.month-label{box-shadow:0 2px 4px color-mix(in srgb, var(--on-surface) 5%, transparent)}}.timeline-entry{margin-bottom:32px;display:flex;position:relative}.timeline-entry.right{justify-content:flex-end}.timeline-entry.left{justify-content:flex-start}.timeline-dot{z-index:2;width:var(--gutter);height:var(--gutter);background:var(--primary-container);border:4px solid var(--surface);border-radius:var(--radius-full);box-shadow:0 1px 3px var(--on-surface);position:absolute;top:32px;left:50%}@supports (color:color-mix(in lab, red, red)){.timeline-dot{box-shadow:0 1px 3px color-mix(in srgb, var(--on-surface) 15%, transparent)}}.timeline-dot{transform:translate(-50%)}.timeline-card{width:calc(50% - var(--stack-lg));background:var(--surface-container-lowest);border:1px solid var(--surface-variant);border-radius:var(--radius-lg);box-shadow:0 4px 20px var(--on-surface);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.timeline-card{box-shadow:0 4px 20px color-mix(in srgb, var(--on-surface) 5%, transparent)}}.timeline-card{transition:transform .25s,box-shadow .25s}.timeline-card:hover{box-shadow:0 10px 28px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.timeline-card:hover{box-shadow:0 10px 28px color-mix(in srgb, var(--on-surface) 10%, transparent)}}.timeline-card:hover{transform:translateY(-3px)}.card-image{height:320px;position:relative;overflow:hidden}.photo-carousel{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x pan-y;width:100%;height:100%;display:flex;overflow-x:auto}.photo-carousel::-webkit-scrollbar{display:none}.photo-carousel-trigger{cursor:zoom-in;scroll-snap-align:start;scroll-snap-stop:always;background:0 0;border:0;flex:0 0 100%;min-width:0;padding:0}.photo-carousel-trigger:focus-visible{outline:3px solid var(--primary-container);outline-offset:-4px}.photo-carousel img{object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;height:100%;display:block}.image-shade{background:linear-gradient(transparent 42%, var(--inverse-surface));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.image-shade{background:linear-gradient(transparent 42%, color-mix(in srgb, var(--inverse-surface) 80%, transparent))}}.image-shade{pointer-events:none}.carousel-indicator{top:var(--gutter);right:var(--gutter);color:var(--inverse-on-surface);background:var(--inverse-surface);padding:4px 8px;position:absolute}@supports (color:color-mix(in lab, red, red)){.carousel-indicator{background:color-mix(in srgb, var(--inverse-surface) 75%, transparent)}}.carousel-indicator{border-radius:var(--radius-full);font-size:var(--label-md-size);pointer-events:none;font-weight:700}.carousel-arrow{z-index:1;width:40px;height:40px;color:var(--inverse-on-surface);background:var(--inverse-surface);padding:0;display:grid;position:absolute;top:50%}@supports (color:color-mix(in lab, red, red)){.carousel-arrow{background:color-mix(in srgb, var(--inverse-surface) 70%, transparent)}}.carousel-arrow{border-radius:var(--radius-full);cursor:pointer;opacity:0;border:0;place-items:center;transition:opacity .2s,background .2s;transform:translateY(-50%)}.carousel-arrow.previous{left:var(--gutter)}.carousel-arrow.next{right:var(--gutter)}.carousel-arrow:disabled{cursor:default;opacity:0!important}.carousel-arrow:hover{background:var(--inverse-surface)}@supports (color:color-mix(in lab, red, red)){.carousel-arrow:hover{background:color-mix(in srgb, var(--inverse-surface) 90%, transparent)}}.timeline-card:hover .carousel-arrow,.carousel-arrow:focus-visible{opacity:1}.card-heading{right:var(--gutter);bottom:var(--gutter);left:var(--gutter);color:var(--inverse-on-surface);pointer-events:none;position:absolute}.card-heading .card-age{color:var(--inverse-on-surface);margin:0}@supports (color:color-mix(in lab, red, red)){.card-heading .card-age{color:color-mix(in srgb, var(--inverse-on-surface) 82%, transparent)}}.card-heading .card-age{font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);font-weight:700}.card-heading p{font-size:var(--body-md-size);line-height:var(--body-md-line-height);margin:4px 0 0}.card-body{padding:var(--stack-md)}.card-body>p{color:var(--on-surface-variant);font-size:var(--body-md-size);margin:0;line-height:1.55}.timeline-card-title{margin:0 0 var(--stack-sm);font:var(--headline-sm-weight) var(--headline-sm-size) / 1.2 var(--font-display)}.tag-list{gap:var(--stack-sm);margin-bottom:var(--gutter);flex-wrap:wrap;display:flex}.tag{font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);border-radius:var(--radius-full);align-items:center;gap:4px;padding:5px 12px;font-weight:700;display:inline-flex}.tag .material-symbols-outlined{font-size:14px}.tag.walk{color:var(--on-tertiary-container);background:var(--tertiary-container)}@supports (color:color-mix(in lab, red, red)){.tag.walk{background:color-mix(in srgb, var(--tertiary-container) 35%, var(--surface))}}.tag.adventure{color:var(--on-tertiary-container);background:var(--tertiary-container)}@supports (color:color-mix(in lab, red, red)){.tag.adventure{background:color-mix(in srgb, var(--tertiary-container) 25%, var(--surface))}}.tag.sleep,.tag.neutral{color:var(--on-surface-variant);background:var(--surface-variant)}.tag.health{color:var(--on-error-container);background:var(--error-container)}.card-body time{margin-top:var(--gutter);color:var(--outline);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);align-items:center;gap:5px;font-weight:700;display:flex}.card-body time .material-symbols-outlined{font-size:var(--gutter)}.timeline-edit-link{margin-top:var(--gutter);color:var(--primary);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);align-items:center;gap:5px;font-weight:700;text-decoration:none;display:inline-flex}.timeline-edit-link .material-symbols-outlined{font-size:var(--gutter)}.bottom-nav{display:none}.journal-page{width:min(100%,1120px);padding:48px var(--stack-lg) 96px;margin:0 auto}.journal-header{grid-template-columns:1fr auto;align-items:end;gap:16px;margin-bottom:36px;display:grid;position:relative}.journal-pup{color:var(--on-surface-variant);grid-column:1/-1;align-items:center;gap:7px;font-size:13px;display:inline-flex}.journal-pup img,.journal-pup>span{border:1px solid var(--outline-variant);object-fit:cover;border-radius:50%;width:30px;height:30px}.journal-pup>span{background:var(--surface-container-low);place-items:center;display:grid}.journal-pup small{color:var(--outline)}.journal-eyebrow{color:var(--secondary);letter-spacing:.13em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:800}.journal-header h1,.journal-section-heading h2,.journal-drawer h2{font-family:var(--font-display);margin:0}.journal-header h1{font-size:42px;line-height:1}.journal-round-add,.journal-section-heading>button{color:var(--primary);background:#fff6df;border:1px solid #ead39c;place-items:center;display:grid}.journal-round-add{border-radius:50%;width:42px;height:42px}.journal-section-heading>button{border-radius:50%;width:30px;height:30px}.journal-round-add:hover,.journal-section-heading>button:hover{background:var(--primary-container)}.journal-content{gap:40px;display:grid}.journal-section-heading{justify-content:space-between;align-items:center;margin:0 0 13px;padding:0 4px;display:flex}.journal-section-heading h2{font-size:27px}.weight-chart-card,.growth-stats article,.journal-list,.journal-record,.journal-note,.journal-empty{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:0 3px 13px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.weight-chart-card,.growth-stats article,.journal-list,.journal-record,.journal-note,.journal-empty{box-shadow:0 3px 13px color-mix(in srgb, var(--on-surface) 4%, transparent)}}.weight-chart-card{border-radius:24px;padding:22px}.weight-chart-card>div:first-child{justify-content:space-between;font-size:14px;display:flex}.weight-chart-card>div:first-child small{color:var(--outline)}.weight-chart-card svg{width:100%;height:185px;margin-top:12px;display:block;overflow:visible}.weight-chart-card line{stroke:var(--outline-variant);stroke-dasharray:3 4}.journal-chart-fill{fill:url(#journal-gradient);stroke:none}.journal-chart-line{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.weight-chart-card circle{fill:var(--surface);stroke:var(--primary);stroke-width:2.5px}.weight-chart-card circle.last{fill:var(--primary);stroke:#fff}.chart-dates{color:var(--outline);justify-content:space-between;font-size:12px;display:flex}.journal-empty-chart{color:var(--outline);text-align:center;margin:0;padding:68px 0;font-size:14px}.growth-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;display:grid}.growth-stats article{border-radius:16px;min-height:100px;padding:15px}.growth-stats span{color:var(--outline);align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.growth-stats span .material-symbols-outlined{color:var(--secondary);font-size:15px}.growth-stats b{margin-top:17px;font-size:17px;display:block}.journal-list{border-radius:16px;margin-top:12px;overflow:hidden}.journal-list>div{grid-template-columns:1fr auto 28px;align-items:center;gap:12px;padding:14px 16px;font-size:14px;display:grid}.journal-list>div+div{border-top:1px solid var(--surface-container)}.journal-list span{align-items:center;gap:10px;font-weight:700;display:flex}.journal-list i{background:var(--primary-container);border-radius:50%;width:8px;height:8px}.journal-list button,.journal-record aside button,.journal-note>button{color:var(--outline);background:0 0;border:0;place-items:center;padding:4px;display:grid}.journal-list button:hover,.journal-record aside button:hover,.journal-note>button:hover{color:var(--error)}.journal-list .material-symbols-outlined,.journal-record aside button .material-symbols-outlined,.journal-note>button .material-symbols-outlined{font-size:17px}.journal-cards{gap:12px;display:grid}.journal-record{border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.journal-record-icon{width:45px;height:45px;color:var(--primary);background:#fff6df;border:1px solid #ead39c;border-radius:13px;place-items:center;display:grid}.journal-record h3,.journal-note h3{margin:0;font-size:15px}.journal-record p,.journal-note p{color:var(--outline);margin:3px 0 0;font-size:12px}.journal-record aside{justify-items:end;gap:3px;font-size:12px;font-weight:700;display:grid}.journal-record aside small{color:var(--primary);font-size:10px}.journal-record aside button{margin-top:1px}.journal-note{border-radius:16px;justify-content:space-between;align-items:start;padding:18px;display:flex}.journal-note time{color:var(--primary);font-size:11px;font-weight:700}.journal-note h3{margin-top:6px}.journal-note p{white-space:pre-wrap;max-width:700px}.reminder-record{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:0 3px 13px var(--on-surface);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:start;gap:13px;padding:17px;display:grid}@supports (color:color-mix(in lab, red, red)){.reminder-record{box-shadow:0 3px 13px color-mix(in srgb, var(--on-surface) 4%, transparent)}}.reminder-record.completed{opacity:.62}.reminder-record time{color:var(--primary);font-size:11px;font-weight:700}.reminder-record h3{margin:5px 0 0;font-size:15px}.reminder-record p{color:var(--outline);margin:3px 0 0;font-size:12px}.reminder-complete,.reminder-remove{color:var(--primary);background:0 0;border:0;place-items:center;padding:0;display:grid}.reminder-complete .material-symbols-outlined{font-size:23px}.reminder-remove{color:var(--outline)}.reminder-remove .material-symbols-outlined{font-size:18px}.reminder-remove:hover{color:var(--error)}.reminder-record.completed h3{text-decoration:line-through}.reminder-email-note{color:var(--on-surface-variant);background:var(--surface-container-low);border-radius:10px;align-items:center;gap:6px;margin:0;padding:10px;font-size:12px;font-weight:500;display:flex}.reminder-email-note .material-symbols-outlined{color:var(--primary);font-size:17px}.journal-empty{text-align:center;border-style:dashed;border-radius:24px;flex-direction:column;align-items:center;padding:30px;display:flex}.journal-empty>span{width:52px;height:52px;color:var(--primary);background:#fff6df;border-radius:50%;place-items:center;display:grid}.journal-empty p{max-width:320px;color:var(--outline);margin:13px 0;font-size:13px;line-height:1.55}.journal-empty button,.journal-submit{color:var(--on-primary-container);background:var(--primary-container);border:0;border-radius:11px;padding:11px 18px;font-size:13px;font-weight:800}.journal-empty button:hover,.journal-submit:hover{filter:brightness(.96)}.journal-status{color:var(--outline);text-align:center;padding:30px}.journal-error{color:var(--error);background:var(--error-container);border-radius:12px}.socialization-page{width:min(100%,1120px);padding:48px var(--stack-lg) 96px;margin:0 auto}.socialization-header{grid-template-columns:1fr;gap:16px;margin-bottom:36px;display:grid}.socialization-header h1{font:600 42px/1 var(--font-display);margin:0}.socialization-content{gap:25px;display:grid}.socialization-overview,.socialization-category{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);box-shadow:0 3px 13px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.socialization-overview,.socialization-category{box-shadow:0 3px 13px color-mix(in srgb, var(--on-surface) 4%, transparent)}}.socialization-overview{border-radius:24px;padding:23px}.socialization-progress-copy{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.socialization-progress-copy span{color:var(--outline);font-size:13px;font-weight:700}.socialization-progress-copy strong{font:600 22px/1.2 var(--font-display)}.socialization-progress-track{background:var(--surface-container-high);border-radius:var(--radius-full);height:10px;margin-top:17px;overflow:hidden}.socialization-progress-track i{background:var(--primary-container);border-radius:inherit;height:100%;transition:width .25s;display:block}.socialization-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.socialization-stats article{background:var(--surface-container-low);border-radius:15px;min-height:88px;padding:13px}.socialization-stats span{color:var(--outline);align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.socialization-stats .material-symbols-outlined{color:var(--secondary);font-size:15px}.socialization-stats b{margin-top:14px;font-size:17px;display:block}.socialization-intro{max-width:720px;color:var(--on-surface-variant);margin:0;padding:0 4px;font-size:13px;line-height:1.6}.socialization-categories{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.socialization-category{border-radius:20px;overflow:hidden}.socialization-category>header{background:var(--primary-container);align-items:center;gap:12px;padding:16px;display:flex}@supports (color:color-mix(in lab, red, red)){.socialization-category>header{background:color-mix(in srgb, var(--primary-container) 18%, var(--surface-container-lowest))}}.socialization-category-icon{width:40px;height:40px;color:var(--primary);background:#fff6df;border:1px solid #ead39c;border-radius:13px;flex:none;place-items:center;display:grid}.socialization-category-icon .material-symbols-outlined{font-size:21px}.socialization-category h2{font:600 21px/1.15 var(--font-display);margin:0}.socialization-category p{color:var(--outline);margin:3px 0 0;font-size:11px;font-weight:700}.socialization-checklist{padding:4px 16px 8px}.socialization-checklist button{width:100%;min-height:47px;color:var(--on-surface);font:600 13px/1.35 var(--font-body);text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:9px 0;display:flex}.socialization-checklist button+button{border-top:1px solid var(--surface-container)}.socialization-checklist button:hover:not(:disabled){color:var(--primary)}.socialization-checklist button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.socialization-checklist button:disabled{cursor:wait}.socialization-checkbox{color:var(--outline-variant);flex:none;place-items:center;display:grid}.socialization-checkbox .material-symbols-outlined{font-size:23px}.socialization-checklist button.completed{color:var(--on-surface-variant)}.socialization-checklist button.completed .socialization-checkbox{color:var(--tertiary)}.socialization-checklist button.completed>span:last-child{text-decoration:line-through}.journal-drawer-backdrop{z-index:20;background:#1b1c1a6b;justify-content:center;align-items:end;animation:.2s ease-out journal-backdrop-in;display:flex;position:fixed;inset:0}.journal-drawer{background:var(--surface);border-radius:26px 26px 0 0;width:min(100%,620px);max-height:min(88vh,720px);padding:25px 28px 32px;animation:.3s cubic-bezier(.2,.8,.2,1) journal-drawer-in;position:relative;overflow-y:auto;box-shadow:0 -8px 36px #0003}.journal-drawer-handle{background:var(--outline-variant);border-radius:var(--radius-full);width:42px;height:4px;margin:-10px auto 18px}.journal-drawer h2{margin-bottom:20px;font-size:28px}.journal-close{width:32px;height:32px;color:var(--outline);background:var(--surface-container);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.journal-close .material-symbols-outlined{font-size:18px}.journal-drawer form{gap:14px;display:grid}.journal-drawer label{gap:6px;font-size:13px;font-weight:700;display:grid}.journal-drawer label small{color:var(--outline);font-weight:500}.journal-drawer input,.journal-drawer select,.journal-drawer textarea{width:100%;color:var(--on-surface);font:inherit;border:1px solid var(--outline-variant);background:#fff;border-radius:10px;padding:10px 12px;font-size:14px}.journal-drawer textarea{resize:vertical}.journal-submit{width:100%;margin-top:5px}.journal-submit:disabled{opacity:.65}.journal-form-error{color:var(--error);margin:0;font-size:13px}@keyframes journal-drawer-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes journal-backdrop-in{0%{opacity:0}to{opacity:1}}.journal-confirm-backdrop{z-index:30;background:#1b1c1a75;place-items:center;padding:20px;animation:.2s ease-out journal-backdrop-in;display:grid;position:fixed;inset:0}.journal-confirm{text-align:center;background:var(--surface);border-radius:24px;width:min(100%,390px);padding:28px;animation:.2s ease-out journal-confirm-in;box-shadow:0 18px 48px #0004}.journal-confirm-icon{width:52px;height:52px;color:var(--error);background:var(--error-container);border-radius:50%;place-items:center;margin:0 auto 15px;display:grid}.journal-confirm h2{font:700 24px/1.2 var(--font-display);margin:0}.journal-confirm p{color:var(--on-surface-variant);margin:10px 0 22px;font-size:14px;line-height:1.5}.journal-confirm>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.journal-confirm button{color:var(--on-surface);background:var(--surface-container);border:0;border-radius:11px;padding:11px 8px;font-size:13px;font-weight:800}.journal-confirm button.journal-delete-confirm{color:var(--on-error);background:var(--error)}.journal-confirm button:hover{filter:brightness(.95)}@keyframes journal-confirm-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=767px){.app-shell{padding-bottom:82px}.desktop-nav{display:none}.page-content{padding:36px var(--container-margin) var(--stack-md)}.puppy-profile{margin-bottom:var(--stack-lg)}.puppy-avatar{width:128px;height:128px}.puppy-profile h1{font-size:38px;line-height:1.15}.puppy-age{font-size:var(--body-md-size);line-height:var(--body-md-line-height)}.puppy-details{letter-spacing:.06em;gap:9px;font-size:10px}.timeline-line{top:10px;left:var(--stack-sm);transform:none}.month-group{margin-bottom:var(--stack-lg)}.month-label{margin:0 0 var(--stack-md) 32px;font-size:var(--label-sm-size);top:12px}.timeline-entry,.timeline-entry.right,.timeline-entry.left{margin-bottom:var(--stack-md);justify-content:flex-start;padding-left:32px}.timeline-dot{top:28px;left:2px;transform:none}.timeline-card{border-radius:var(--radius-md);width:100%}.card-image{height:min(68vw,320px)}.carousel-arrow{display:none}.card-body{padding:20px}.bottom-nav{z-index:5;height:76px;padding:7px 10px var(--stack-sm);background:var(--surface-container-lowest);justify-content:space-around;align-items:end;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(--surface-container-lowest) 94%, transparent)}}.bottom-nav{box-shadow:0 -4px 20px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.bottom-nav{box-shadow:0 -4px 20px color-mix(in srgb, var(--on-surface) 6%, transparent)}}.bottom-nav{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.bottom-nav-item{min-width:0;color:var(--on-surface-variant);letter-spacing:.04em;background:0 0;border:0;border-radius:14px;flex-direction:column;flex:1;align-items:center;gap:5px;padding:6px 3px;font-size:8px;font-weight:700;text-decoration:none;display:flex}.bottom-nav-item .material-symbols-outlined{font-size:22px}.bottom-nav-item.active{color:var(--on-primary-container);background:var(--primary-container)}.add-item{padding-top:0;position:relative}.add-icon{width:46px;height:46px;color:var(--on-primary);background:var(--primary);border-radius:var(--radius-full);box-shadow:0 4px 12px var(--primary);margin-top:-25px;display:grid}@supports (color:color-mix(in lab, red, red)){.add-icon{box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 28%, transparent)}}.add-icon{place-items:center}.add-icon .material-symbols-outlined{font-size:22px}}@media (width<=390px){.page-content{padding-inline:18px}.timeline-entry,.timeline-entry.right,.timeline-entry.left{padding-left:28px}.puppy-details{font-size:9px}}.add-memory-page{background:var(--background);min-height:100vh;padding-bottom:92px}.add-memory-header{z-index:3;height:64px;padding:0 var(--container-margin);background:var(--surface);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.add-memory-header{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.add-memory-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.add-memory-header a,.add-memory-header button{width:40px;height:40px;color:var(--on-surface-variant);border-radius:var(--radius-full);background:0 0;border:0;place-items:center;padding:0;text-decoration:none;display:grid}.add-memory-header-spacer{width:40px}.add-memory-header h1{color:var(--primary);font:var(--headline-md-weight) var(--headline-md-size) / var(--headline-md-line-height) var(--font-display);margin:0}.add-memory-header button{width:auto;color:var(--primary);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);font-weight:600}.add-memory-form{width:min(100%,840px);margin:0 auto}.photo-upload{aspect-ratio:4/5;margin:var(--stack-md) var(--container-margin);background:var(--surface-container-low);border:2px dashed var(--outline-variant);border-radius:var(--radius-lg);place-items:center;display:grid;position:relative;overflow:hidden}.photo-upload input{opacity:0;width:1px;height:1px;position:absolute}.photo-upload>img{object-fit:cover;width:100%;height:100%}.photo-upload.has-preview{aspect-ratio:auto;min-height:220px;padding:var(--gutter);border-style:solid}.photo-preview-grid{gap:var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.photo-preview-grid figure{aspect-ratio:1;border-radius:var(--radius-md);margin:0;position:relative;overflow:hidden}.photo-preview-grid figure img{object-fit:cover;width:100%;height:100%}.photo-preview-grid figure button{width:30px;height:30px;color:var(--on-surface);background:var(--surface);padding:0;display:grid;position:absolute;top:6px;right:6px}@supports (color:color-mix(in lab, red, red)){.photo-preview-grid figure button{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.photo-preview-grid figure button{border-radius:var(--radius-full);border:0;place-items:center}.add-photo{aspect-ratio:1;color:var(--primary);background:var(--surface-container-low);border:2px dashed var(--outline-variant);border-radius:var(--radius-md);cursor:pointer;font-size:var(--label-md-size);align-content:center;place-items:center;gap:6px;display:grid}.add-photo .material-symbols-outlined{font-size:26px}.photo-count{margin:calc(var(--stack-md) * -.5) var(--container-margin) var(--stack-md);color:var(--on-surface-variant);font-size:var(--label-md-size)}.upload-prompt{max-width:230px;padding:var(--stack-md);color:var(--on-surface-variant);text-align:center;cursor:pointer;flex-direction:column;align-items:center;display:flex}.upload-prompt>span{width:64px;height:64px;margin-bottom:var(--gutter);color:var(--on-primary-container);background:var(--primary-container);border-radius:var(--radius-full);box-shadow:0 2px 5px var(--on-surface);display:grid}@supports (color:color-mix(in lab, red, red)){.upload-prompt>span{box-shadow:0 2px 5px color-mix(in srgb, var(--on-surface) 8%, transparent)}}.upload-prompt>span{place-items:center}.upload-prompt .material-symbols-outlined{font-size:30px}.upload-prompt h2{margin:0 0 var(--stack-sm);color:var(--on-surface);font:var(--headline-md-weight) var(--headline-md-size) / var(--headline-md-line-height) var(--font-display)}.upload-prompt p{font-size:var(--body-md-size);line-height:var(--body-md-line-height);margin:0}.change-upload{right:var(--gutter);bottom:var(--gutter);width:44px;height:44px;color:var(--on-surface);background:var(--surface);display:grid;position:absolute}@supports (color:color-mix(in lab, red, red)){.change-upload{background:color-mix(in srgb, var(--surface) 85%, transparent)}}.change-upload{border-radius:var(--radius-full);box-shadow:0 2px 6px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.change-upload{box-shadow:0 2px 6px color-mix(in srgb, var(--on-surface) 15%, transparent)}}.change-upload{cursor:pointer;place-items:center}.memory-details{gap:var(--stack-md);padding:0 var(--container-margin) var(--stack-lg);display:grid}.memory-details>label:not(.memory-date),.memory-tags>div>label{gap:var(--space-unit);margin-left:var(--space-unit);color:var(--on-surface-variant);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);flex-direction:column;font-weight:600;display:flex}.memory-details label small{font:inherit}.memory-details input:not([type=date]),.memory-details textarea{width:100%;color:var(--on-surface);font:var(--body-md-size) / var(--body-md-line-height) var(--font-body);background:var(--surface-container-lowest);box-shadow:0 4px 20px var(--on-surface);border:2px solid #0000;outline:0}@supports (color:color-mix(in lab, red, red)){.memory-details input:not([type=date]),.memory-details textarea{box-shadow:0 4px 20px color-mix(in srgb, var(--on-surface) 3%, transparent)}}.memory-details input:not([type=date]){padding:var(--gutter) var(--stack-md);border-radius:var(--radius-full)}.memory-details textarea{padding:var(--gutter) var(--stack-md);resize:vertical;border-radius:var(--radius-md)}.memory-details input:focus,.memory-details textarea:focus{border-color:var(--primary)}.memory-date{align-items:center;gap:var(--gutter);padding:var(--space-unit) var(--stack-md) var(--space-unit) var(--space-unit);background:var(--surface-container-lowest);border:1px solid var(--surface-variant);border-radius:var(--radius-full);box-shadow:0 4px 20px var(--on-surface);display:flex}@supports (color:color-mix(in lab, red, red)){.memory-date{box-shadow:0 4px 20px color-mix(in srgb, var(--on-surface) 3%, transparent)}}.memory-date>span:first-child,.location-button>span{width:48px;height:48px;color:var(--on-secondary-container);background:var(--secondary-container);border-radius:var(--radius-full);flex:none;place-items:center;display:grid}.memory-date>span:last-child{flex-direction:column;flex:1;display:flex}.memory-date input{width:100%;color:var(--on-surface);font:600 var(--label-md-size) / var(--label-md-line-height) var(--font-body);background:0 0;border:0;outline:0}.memory-date small{color:var(--on-surface-variant);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);margin-top:2px;font-weight:700}.memory-tags>div{justify-content:space-between;align-items:center;display:flex}.memory-tags{min-width:0}.memory-tags>div button{color:var(--primary);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);background:0 0;border:0;padding:0;font-weight:700}.memory-tags nav{width:100%;min-width:0;padding:var(--stack-sm) 1px 4px;overscroll-behavior-inline:contain;scrollbar-width:none;gap:12px;display:flex;overflow-x:auto}.memory-tags nav::-webkit-scrollbar{display:none}.memory-tags nav button{align-items:center;gap:var(--stack-sm);padding:var(--stack-sm) var(--gutter);color:var(--on-surface-variant);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-full);flex:none;font-weight:600;display:inline-flex}.memory-tags nav button.selected{color:var(--on-tertiary-container);background:var(--tertiary-container);border-color:var(--tertiary-container)}.memory-tags nav button.new-tag{color:var(--primary);border-style:dashed}.memory-tags nav .material-symbols-outlined{font-size:18px}.location-button{align-items:center;gap:var(--gutter);padding:var(--space-unit) var(--gutter) var(--space-unit) var(--space-unit);color:var(--on-surface-variant);text-align:left;background:var(--surface-container-lowest);border:1px solid var(--surface-variant);border-radius:var(--radius-full);box-shadow:0 4px 20px var(--on-surface);display:flex}@supports (color:color-mix(in lab, red, red)){.location-button{box-shadow:0 4px 20px color-mix(in srgb, var(--on-surface) 3%, transparent)}}.location-button>span{color:var(--on-surface-variant);background:var(--surface-container-high)}.location-button strong{font:var(--body-md-size) / var(--body-md-line-height) var(--font-body);flex:1}.location-button>.material-symbols-outlined{font-size:20px}.memory-saved{padding:var(--stack-sm);color:var(--on-tertiary-container);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);text-align:center;background:var(--tertiary-container);margin:0;font-weight:700}@supports (color:color-mix(in lab, red, red)){.memory-saved{background:color-mix(in srgb, var(--tertiary-container) 26%, transparent)}}.memory-saved{border-radius:var(--radius)}.delete-memory-button{justify-content:center;align-items:center;gap:var(--stack-sm);padding:var(--gutter);color:var(--error);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);border:1px solid var(--error);background:0 0;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.delete-memory-button{border:1px solid color-mix(in srgb, var(--error) 40%, transparent)}}.delete-memory-button{border-radius:var(--radius-full)}.delete-memory-button .material-symbols-outlined{font-size:20px}.edit-memory-status{min-height:100vh;padding:var(--stack-lg);color:var(--on-surface-variant);place-items:center;display:grid}.add-memory-footer{z-index:4;padding:var(--gutter) var(--container-margin);background:var(--surface);position:fixed;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.add-memory-footer{background:color-mix(in srgb, var(--surface) 92%, transparent)}}.add-memory-footer{border-top:1px solid var(--surface-variant);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.add-memory-footer button{justify-content:center;align-items:center;gap:var(--stack-sm);width:min(100%,792px);padding:var(--gutter);color:var(--on-primary-container);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--primary-container);border-radius:var(--radius-full);border:0;margin:0 auto;font-weight:600;display:flex}.add-memory-footer .material-symbols-outlined{font-size:20px}@media (width<=767px){.add-memory-header{gap:var(--space-unit);grid-template-columns:40px minmax(0,1fr) auto;padding-inline:12px;display:grid}.add-memory-header h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,5vw,20px);line-height:1.15;overflow:hidden}}@media (width>=768px){.add-memory-page{padding-bottom:104px}.photo-upload{max-width:480px;margin:var(--stack-lg) auto var(--stack-md);aspect-ratio:1}.memory-details{grid-template-columns:repeat(2,1fr);max-width:840px;margin:0 auto}.memory-date,.memory-tags,.location-button,.memory-saved{grid-column:1/-1}.add-memory-header{padding-inline:max(var(--container-margin), calc((100% - 840px) / 2))}}.profile-page{width:min(100%,800px);padding:var(--stack-md) var(--container-margin) 96px;margin:0 auto}.profile-hero{margin-bottom:var(--stack-lg);text-align:center;flex-direction:column;align-items:center;display:flex}.profile-photo{background:var(--surface-variant);border:4px solid var(--surface-container-lowest);border-radius:var(--radius-full);width:160px;height:160px;box-shadow:0 4px 20px var(--primary);position:relative;overflow:visible}@supports (color:color-mix(in lab, red, red)){.profile-photo{box-shadow:0 4px 20px color-mix(in srgb, var(--primary) 20%, transparent)}}.profile-photo img{object-fit:cover;border-radius:var(--radius-full);width:100%;height:100%}.profile-photo button{width:44px;height:44px;color:var(--on-primary-container);background:var(--primary-container);border-radius:var(--radius-full);box-shadow:0 2px 6px var(--on-surface);border:0;display:grid;position:absolute;bottom:-2px;right:-2px}@supports (color:color-mix(in lab, red, red)){.profile-photo button{box-shadow:0 2px 6px color-mix(in srgb, var(--on-surface) 18%, transparent)}}.profile-photo button{place-items:center}.profile-photo button .material-symbols-outlined{font-size:20px}.change-photo{margin-top:var(--space-unit);color:var(--primary);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:0 0;border:0;padding:0;font-weight:600}.profile-hero h1{margin:var(--stack-md) 0 0;font:var(--headline-lg-weight) var(--headline-lg-size) / var(--headline-lg-line-height) var(--font-display)}.profile-hero p{color:var(--on-surface-variant);font-size:var(--body-md-size);line-height:var(--body-md-line-height);margin:4px 0 0}.profile-form{padding:var(--stack-md);background:var(--surface-container-lowest);border-radius:var(--radius-xl);box-shadow:0 4px 20px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.profile-form{box-shadow:0 4px 20px color-mix(in srgb, var(--on-surface) 3%, transparent)}}.profile-fields{column-gap:var(--gutter);row-gap:var(--stack-md);grid-template-columns:repeat(2,1fr);display:grid}.profile-fields+.profile-fields{margin-top:var(--stack-lg)}.profile-fields h2{color:var(--on-surface);font:var(--headline-md-weight) var(--headline-md-size) / var(--headline-md-line-height) var(--font-display);grid-column:1/-1;margin:0}.profile-form label,.profile-form legend{gap:var(--space-unit);color:var(--on-surface-variant);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);flex-direction:column;padding:0;font-weight:600;display:flex}.profile-form input,.profile-form textarea,.profile-input-icon{width:100%;color:var(--on-surface);font:var(--body-md-size) / var(--body-md-line-height) var(--font-body);background:var(--surface-container-low);border:2px solid #0000;outline:0;transition:border-color .2s,background .2s}.profile-form input{padding:14px var(--gutter);border-radius:var(--radius-full)}.profile-form textarea{min-height:112px;padding:var(--gutter);resize:vertical;border-radius:var(--radius-md)}.profile-form input:focus,.profile-form textarea:focus{background:var(--surface-container-lowest);border-color:var(--primary)}.profile-input-icon{border-radius:var(--radius-full);align-items:center;display:flex;position:relative}.profile-input-icon input{padding-right:44px}.profile-input-icon .material-symbols-outlined{right:var(--gutter);color:var(--on-surface-variant);pointer-events:none;font-size:20px;position:absolute}.profile-form fieldset{border:0;min-width:0;margin:0;padding:0}.profile-fields fieldset{margin-top:2px}.gender-options{gap:var(--gutter);display:flex}.gender-options label{padding:14px var(--gutter);color:var(--on-surface-variant);text-align:center;background:var(--surface-container-low);border:1px solid var(--surface-variant);border-radius:var(--radius-full);cursor:pointer;flex:1;place-items:center;display:grid}.gender-options label:has(input:checked){color:var(--on-primary-container);background:var(--primary-container);border-color:var(--primary)}.gender-options input{opacity:0;width:1px;height:1px;position:absolute}.profile-bio{margin-top:var(--stack-md)}.save-profile{width:100%;padding:var(--gutter);margin-top:var(--stack-md);color:var(--on-primary-container);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--primary-container);border-radius:var(--radius-full);box-shadow:0 2px 5px var(--on-surface);border:0;font-weight:600}@supports (color:color-mix(in lab, red, red)){.save-profile{box-shadow:0 2px 5px color-mix(in srgb, var(--on-surface) 8%, transparent)}}.save-profile{transition:transform .2s,opacity .2s}.save-profile:hover{opacity:.9}.save-profile:active{transform:scale(.98)}.profile-message{padding:var(--stack-sm);margin:var(--stack-sm) 0 0;color:var(--on-tertiary-container);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);text-align:center;background:var(--tertiary-container);font-weight:700}@supports (color:color-mix(in lab, red, red)){.profile-message{background:color-mix(in srgb, var(--tertiary-container) 26%, transparent)}}.profile-message{border-radius:var(--radius)}.sharing-section{margin-top:2rem;display:block}.sharing-section p{color:var(--text-muted,#6b7280);margin:0 0 .75rem}.member-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.member-list li{border-bottom:1px solid #e8e4dd;justify-content:space-between;gap:1rem;padding:.65rem 0;display:flex}.member-list small{color:var(--text-muted,#6b7280);white-space:nowrap}.invite-form{background:var(--surface-container-low);border:1px solid var(--outline-variant);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr);gap:20px;width:100%;margin-top:24px;padding:20px;display:grid}.invite-heading{grid-column:1/-1;align-items:flex-start;gap:12px;display:flex}.invite-heading-icon{background:var(--primary-container);width:40px;height:40px;color:var(--on-primary-container);border-radius:var(--radius-full);flex-shrink:0;place-items:center;display:grid}.invite-heading h3{font-family:var(--font-display);color:var(--on-surface);margin:0 0 6px;font-size:18px}.invite-heading p{color:var(--on-surface-variant);margin:0;font-size:14px;line-height:1.6}.invite-form label{gap:8px;min-width:0}.invite-form input,.invite-form select{border:1px solid var(--outline-variant);border-radius:var(--radius);background:var(--surface-container-lowest);width:100%;min-width:0;min-height:52px;color:var(--on-surface);font:16px / 1.5 var(--font-body);padding:12px 16px}.invite-form input:focus,.invite-form select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.invite-form button{border-radius:var(--radius-full);background:var(--primary);min-height:52px;color:var(--on-primary);font:600 14px / 1.5 var(--font-body);cursor:pointer;border:0;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;padding:12px 20px;display:flex}.invite-form button>span{display:flex}.invite-form button:hover:not(:disabled){background:var(--on-primary-container)}.invite-form button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.invite-form button:disabled{opacity:.65;cursor:wait}@media (width>=640px){.invite-form{grid-template-columns:minmax(0,3fr) minmax(0,2fr);padding:24px}.invite-form button{justify-self:end}}.invitation-actions{text-align:center;gap:1rem;margin-top:1.5rem;display:grid}.invitation-actions .login-submit{text-decoration:none}.sign-out{justify-content:center;align-items:center;gap:var(--stack-sm);width:100%;padding:var(--gutter);margin-top:var(--stack-sm);color:#8d1d18;font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);border-radius:var(--radius-full);background:0 0;border:1px solid #c9372c;font-weight:600;display:flex}.sign-out:disabled{cursor:wait;opacity:.7}.sign-out .material-symbols-outlined{font-size:19px}@media (width>=768px){.profile-page{margin-top:var(--stack-lg);padding:var(--stack-lg);background:var(--surface);border:1px solid var(--outline-variant)}@supports (color:color-mix(in lab, red, red)){.profile-page{border:1px solid color-mix(in srgb, var(--outline-variant) 30%, transparent)}}.profile-page{border-radius:var(--radius-xl);box-shadow:0 4px 30px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.profile-page{box-shadow:0 4px 30px color-mix(in srgb, var(--on-surface) 3%, transparent)}}.profile-form{box-shadow:none;background:0 0}}@media (width<=767px){.profile-page{padding-top:var(--stack-lg)}.profile-photo{width:128px;height:128px}.profile-hero h1{font-size:var(--headline-lg-mobile-size);line-height:var(--headline-lg-mobile-line-height)}.profile-form{box-shadow:none;background:0 0;border-radius:0;padding:0}.profile-fields{grid-template-columns:1fr}.profile-form input{font-size:var(--body-lg-size);line-height:var(--body-lg-line-height)}.profile-bio{margin-top:var(--gutter)}.save-profile{margin-top:var(--stack-lg);padding:18px var(--gutter)}}.login-page{min-height:100vh;padding:var(--container-margin);background:var(--surface-container-low);place-items:center;display:grid;position:relative;overflow:hidden}.login-ambient{border-radius:var(--radius-full);filter:blur(64px);opacity:.2;pointer-events:none;width:384px;height:384px;position:absolute}.login-ambient-top{background:var(--secondary-fixed-dim);top:-20%;left:-10%}.login-ambient-bottom{background:var(--primary-fixed-dim);bottom:-20%;right:-10%}.login-card{z-index:1;width:min(100%,448px);padding:var(--stack-lg);text-align:center;background:var(--surface);position:relative}@supports (color:color-mix(in lab, red, red)){.login-card{background:color-mix(in srgb, var(--surface) 72%, transparent)}}.login-card{border:1px solid var(--surface-container-lowest)}@supports (color:color-mix(in lab, red, red)){.login-card{border:1px solid color-mix(in srgb, var(--surface-container-lowest) 55%, transparent)}}.login-card{border-radius:var(--radius-xl);box-shadow:0 4px 20px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.login-card{box-shadow:0 4px 20px color-mix(in srgb, var(--on-surface) 5%, transparent)}}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card header{flex-direction:column;align-items:center;display:flex}.login-logo{width:128px;height:128px;margin-bottom:var(--gutter);background:var(--surface-container);border:4px solid var(--surface-bright);border-radius:var(--radius-full);box-shadow:0 2px 6px var(--on-surface);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.login-logo{box-shadow:0 2px 6px color-mix(in srgb, var(--on-surface) 8%, transparent)}}.login-logo img{object-fit:cover;width:100%;height:100%}.login-card h1{color:var(--primary);font:var(--headline-lg-weight) var(--headline-lg-size) / var(--headline-lg-line-height) var(--font-display);margin:0}.login-card header p{margin:var(--stack-sm) 0 var(--stack-lg);color:var(--on-surface-variant);font-size:var(--body-md-size);line-height:var(--body-md-line-height)}.login-card form{gap:var(--gutter);text-align:left;flex-direction:column;display:flex}.login-field{gap:var(--space-unit);flex-direction:column;display:flex}.login-field label{margin-left:var(--space-unit);color:var(--on-surface-variant);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);font-weight:600}.login-field>div{padding:0 var(--gutter);color:var(--outline);background:var(--surface-bright);border-radius:var(--radius-full);box-shadow:0 2px 5px var(--on-surface);border:2px solid #0000;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.login-field>div{box-shadow:0 2px 5px color-mix(in srgb, var(--on-surface) 5%, transparent)}}.login-field>div{transition:border-color .2s,box-shadow .2s}.login-field>div:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.login-field>div:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent)}}.login-field .material-symbols-outlined{flex:none;margin-right:12px;font-size:20px}.login-field input{width:100%;padding:var(--gutter) 0;color:var(--on-surface);font:var(--body-md-size) / var(--body-md-line-height) var(--font-body);background:0 0;border:0;outline:0}.login-field input::placeholder{color:var(--outline)}.forgot-password{color:var(--secondary);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);align-self:flex-end;margin-top:-4px;font-weight:700;text-decoration:none}.forgot-password:hover{color:var(--secondary-container)}.login-submit{justify-content:center;align-items:center;gap:var(--stack-sm);width:100%;padding:var(--gutter);margin-top:var(--stack-sm);color:var(--on-primary-container);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--primary-container);border-radius:var(--radius-full);box-shadow:0 2px 5px var(--on-surface);border:0;font-weight:600;display:flex}@supports (color:color-mix(in lab, red, red)){.login-submit{box-shadow:0 2px 5px color-mix(in srgb, var(--on-surface) 8%, transparent)}}.login-submit{transition:transform .2s,background .2s}.login-submit:hover{background:var(--inverse-primary)}.login-submit:active{transform:scale(.97)}.login-submit .material-symbols-outlined{font-size:19px}.login-message{padding:var(--stack-sm);color:var(--on-tertiary-container);font-size:var(--label-sm-size);line-height:var(--label-sm-line-height);background:var(--tertiary-container);margin:0}@supports (color:color-mix(in lab, red, red)){.login-message{background:color-mix(in srgb, var(--tertiary-container) 28%, transparent)}}.login-message{border-radius:var(--radius)}.login-error{color:#8d1d18;background:#ffdad6}.login-field-error{color:#8d1d18;font-size:var(--label-sm-size);line-height:var(--label-sm-line-height);margin:4px 0 0}.login-submit:disabled{cursor:wait;opacity:.7}.login-card footer{padding-top:var(--stack-md);margin-top:var(--stack-md);color:var(--on-surface-variant);font-size:var(--body-md-size);line-height:var(--body-md-line-height);border-top:1px solid var(--surface-variant)}.login-card footer a{color:var(--primary);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);text-decoration:underline;-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary);margin-left:4px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.login-card footer a{-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 30%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 30%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--primary) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--primary) 30%, transparent)}}.login-card footer a{text-underline-offset:4px}@media (width<=767px){.login-page{padding:var(--container-margin);background:var(--background)}.login-card{padding:var(--stack-md);border-radius:var(--radius-lg)}.login-logo{width:96px;height:96px}.login-card h1{color:var(--on-surface);font-size:var(--headline-lg-mobile-size);line-height:var(--headline-lg-mobile-line-height)}.login-card header p{margin-bottom:var(--stack-md)}.login-ambient{width:260px;height:260px}}.memories-page{width:min(100%,1200px);padding:var(--stack-lg) var(--container-margin) 96px;margin:0 auto}.memories-page section+section{margin-top:64px}.memories-hero{margin-bottom:64px}.memories-hero h1{font:var(--display-lg-weight) var(--display-lg-size) / var(--display-lg-line-height) var(--font-display);letter-spacing:var(--display-lg-tracking);margin:0}.memories-hero p{margin:var(--stack-sm) 0 0;color:var(--on-surface-variant);font-size:var(--body-lg-size);line-height:var(--body-lg-line-height)}.memories-status{color:var(--on-surface-variant);text-align:center;background:var(--surface-container-lowest);border:1px solid var(--surface-variant);border-radius:var(--radius-lg);margin:0;padding:32px}.memory-section-title{margin-bottom:var(--stack-md);justify-content:space-between;align-items:center;display:flex}.memory-section-title h2,.growth-section>h2{font:var(--headline-lg-weight) var(--headline-lg-size) / var(--headline-lg-line-height) var(--font-display);margin:0}.memory-section-title button,.memory-section-title a{color:var(--primary);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;text-decoration:none;display:inline-flex}.memory-section-title .material-symbols-outlined{font-size:var(--gutter)}.then-now{gap:var(--stack-md);grid-template-columns:repeat(2,1fr);display:grid}.then-now article{background:var(--surface-container-high);border-radius:var(--radius);min-height:500px;position:relative;overflow:hidden}.then-now img{object-fit:cover;width:100%;height:100%;transition:transform .7s;position:absolute}.then-now article:hover img,.special-moments article:hover img{transform:scale(1.05)}.then-now article:after{content:"";background:linear-gradient(transparent 40%, var(--inverse-surface));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.then-now article:after{background:linear-gradient(transparent 40%, color-mix(in srgb, var(--inverse-surface) 75%, transparent))}}.then-now article>div{right:var(--stack-md);bottom:var(--stack-md);left:var(--stack-md);z-index:1;color:var(--on-primary);position:absolute}.then-now article>div>span{padding:4px var(--stack-sm);margin-bottom:var(--stack-sm);color:var(--on-primary);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);background:var(--primary);font-weight:700;display:inline-block}@supports (color:color-mix(in lab, red, red)){.then-now article>div>span{background:color-mix(in srgb, var(--primary) 80%, transparent)}}.then-now article>div>span{border-radius:var(--radius-full)}.then-now h3{font:var(--headline-md-weight) var(--headline-md-size) / var(--headline-md-line-height) var(--font-display);margin:0}.then-now p{font-size:var(--body-md-size);margin:4px 0 0}.special-moments{gap:var(--gutter);grid-template-columns:1fr 2fr 1fr;display:grid}.special-moments article{background:var(--surface-container-high);border:1px solid var(--outline-variant);height:256px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.special-moments article{border:1px solid color-mix(in srgb, var(--outline-variant) 30%, transparent)}}.special-moments article{border-radius:var(--radius-lg)}.special-moments img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.special-moments article:after{content:"";background:linear-gradient(transparent 32%, var(--inverse-surface));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.special-moments article:after{background:linear-gradient(transparent 32%, color-mix(in srgb, var(--inverse-surface) 78%, transparent))}}.special-moments article>div{right:var(--gutter);bottom:var(--gutter);left:var(--gutter);z-index:1;color:var(--on-primary);position:absolute}.special-moments article>div>span{padding:3px var(--stack-sm);letter-spacing:var(--label-sm-tracking);border-radius:var(--radius-full);margin-bottom:4px;font-size:10px;font-weight:700;display:inline-block}.special-moments article>div>span.social{color:var(--on-tertiary-container);background:var(--tertiary-container)}.special-moments article>div>span.milestone{color:var(--on-secondary-container);background:var(--secondary-container)}.special-moments article>div>span.training{color:var(--on-primary-container);background:var(--primary-container)}.special-moments h3{font:var(--headline-md-weight) var(--headline-md-size) / 1.15 var(--font-display);margin:0}.special-moments p{font-size:var(--label-sm-size);color:var(--on-primary);margin:4px 0 0}@supports (color:color-mix(in lab, red, red)){.special-moments p{color:color-mix(in srgb, var(--on-primary) 80%, transparent)}}.growth-section{padding:var(--stack-md);background:var(--surface-container-low);border:1px solid var(--outline-variant)}@supports (color:color-mix(in lab, red, red)){.growth-section{border:1px solid color-mix(in srgb, var(--outline-variant) 20%, transparent)}}.growth-section{border-radius:var(--radius-lg)}.growth-section>h2{margin-bottom:var(--stack-md)}.growth-links{gap:var(--gutter);flex-wrap:wrap;display:flex}.growth-links button{min-width:120px;padding:12px var(--stack-md);color:var(--primary);background:var(--surface);border:1px solid var(--outline-variant);flex-direction:column;align-items:center;display:flex}@supports (color:color-mix(in lab, red, red)){.growth-links button{border:1px solid color-mix(in srgb, var(--outline-variant) 30%, transparent)}}.growth-links button{border-radius:var(--radius-full);box-shadow:0 2px 5px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.growth-links button{box-shadow:0 2px 5px color-mix(in srgb, var(--on-surface) 5%, transparent)}}.growth-links small{color:var(--on-surface-variant);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);margin-bottom:4px;font-weight:700}.growth-links strong{font:var(--headline-md-weight) var(--headline-md-size) / var(--headline-md-line-height) var(--font-display)}.growth-links button.active{color:var(--on-primary-container);background:var(--primary-container);border-color:var(--primary-container)}.growth-links button.active small{color:inherit}.growth-cards{display:none}@media (width<=767px){.memories-page{padding:var(--stack-lg) var(--container-margin) var(--stack-lg)}.memories-page section+section{margin-top:var(--stack-lg)}.memories-hero{margin-bottom:var(--stack-lg)}.memories-hero h1{font-size:var(--headline-lg-mobile-size);line-height:var(--headline-lg-mobile-line-height)}.memories-hero p{display:none}.memory-section-title h2,.growth-section>h2{font-size:var(--headline-md-size);line-height:var(--headline-md-line-height)}.then-now{gap:var(--gutter)}.then-now article{border-radius:var(--radius-md);min-height:270px}.then-now article>div{right:var(--gutter);bottom:var(--gutter);left:var(--gutter)}.then-now h3{font-size:19px;line-height:1.2}.then-now p{font-size:12px;line-height:1.35}.then-now article>div>span{font-size:10px}.special-moments{gap:var(--gutter);margin-right:calc(-1 * var(--container-margin));scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.special-moments::-webkit-scrollbar{display:none}.special-moments article{scroll-snap-align:start;flex:0 0 min(77vw,286px);height:310px}.special-moments article.wide{flex-basis:min(77vw,286px)}.special-moments h3{font-size:21px}.growth-section{background:0 0;border:0;border-radius:0;padding:0}.growth-links{gap:var(--stack-sm);margin-right:calc(-1 * var(--container-margin));scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.growth-links::-webkit-scrollbar{display:none}.growth-links button{min-width:auto;padding:8px var(--gutter);font-size:var(--label-md-size);background:var(--surface-container-high);box-shadow:none;border:0;flex-direction:row;flex:none}.growth-links button small{display:none}.growth-links button strong{font:600 var(--label-md-size) / var(--label-md-line-height) var(--font-body);letter-spacing:var(--label-md-tracking)}.growth-cards{gap:var(--stack-md);margin:var(--stack-md) 0 0 8px;padding-left:var(--stack-md);border-left:2px solid var(--outline-variant);display:grid;position:relative}.growth-cards article{position:relative}.growth-cards article>div{background:var(--surface-container-lowest);border:1px solid var(--surface-container-low);border-radius:var(--radius-md);box-shadow:0 2px 10px var(--primary);padding:20px}@supports (color:color-mix(in lab, red, red)){.growth-cards article>div{box-shadow:0 2px 10px color-mix(in srgb, var(--primary) 3%, transparent)}}.growth-cards article.pending>div{border-style:dashed;border-color:var(--outline-variant);opacity:.5;background:0 0}.growth-dot{width:var(--gutter);height:var(--gutter);background:var(--surface-container-highest);border:4px solid var(--background);border-radius:var(--radius-full);position:absolute;top:10px;left:-32px}.growth-cards header{justify-content:space-between;align-items:start;gap:var(--gutter);margin-bottom:var(--stack-sm);display:flex}.growth-cards h3{font:var(--headline-md-weight) var(--headline-md-size) / 1.2 var(--font-display);margin:0}.growth-cards header small{padding:4px var(--stack-sm);color:var(--on-surface-variant);font-size:var(--label-sm-size);background:var(--surface-container);border-radius:var(--radius-sm)}.growth-cards p{color:var(--on-surface-variant);font-size:var(--body-md-size);line-height:var(--body-md-line-height);margin:0}}.gallery-page{width:min(100%,1200px);padding:var(--stack-md) var(--container-margin) 96px;margin:0 auto}.gallery-header{gap:var(--stack-md);margin-bottom:var(--stack-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.gallery-header h1{margin:0 0 var(--stack-sm);font:var(--headline-lg-weight) var(--headline-lg-size) / var(--headline-lg-line-height) var(--font-display)}.gallery-header p{color:var(--on-surface-variant);font-size:var(--body-md-size);line-height:var(--body-md-line-height);margin:0}.gallery-add-button{display:none}.gallery-filters{flex-wrap:wrap;gap:12px;display:flex}.gallery-filters button{padding:8px var(--gutter);color:var(--on-surface-variant);font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);background:var(--surface);border:1px solid var(--outline-variant);border-radius:var(--radius-full);align-items:center;gap:4px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.gallery-filters button:hover{background:var(--surface-container-high)}.gallery-filters button.active{color:var(--on-surface);background:var(--surface-container-high)}.gallery-filters .material-symbols-outlined{font-size:var(--gutter)}.gallery-grid{column-count:3;column-gap:var(--gutter)}.gallery-card{width:100%;margin-bottom:var(--gutter);vertical-align:top;background:var(--surface-container);border-radius:var(--radius);break-inside:avoid;display:inline-block;position:relative;overflow:hidden}.gallery-card img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .35s;display:block}.gallery-card:nth-child(2) img,.gallery-card:nth-child(6) img{aspect-ratio:1}.gallery-card:nth-child(4) img{aspect-ratio:16/9}.gallery-card.feature img{aspect-ratio:3/4}.gallery-card:hover img{transform:scale(1.03)}.gallery-overlay{padding:var(--gutter);color:var(--on-primary);pointer-events:none;opacity:0;background:linear-gradient(transparent 36%, var(--inverse-surface));flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.gallery-overlay{background:linear-gradient(transparent 36%, color-mix(in srgb, var(--inverse-surface) 75%, transparent))}}.gallery-overlay{transition:opacity .25s}.gallery-card:hover .gallery-overlay{opacity:1}.gallery-age{font-size:var(--label-md-size);letter-spacing:var(--label-md-tracking);align-items:center;gap:6px;margin-bottom:4px;font-weight:600;display:flex}.gallery-age .material-symbols-outlined{font-size:18px}.gallery-overlay p{font-size:var(--body-md-size);line-height:var(--body-md-line-height);margin:0}.gallery-text-badge{width:max-content;padding:4px var(--stack-sm);color:var(--on-tertiary-container);font-size:var(--label-sm-size);letter-spacing:var(--label-sm-tracking);background:var(--tertiary-container);border-radius:var(--radius-full);font-weight:700}.gallery-icon-badge{top:var(--stack-sm);right:var(--stack-sm);border-radius:var(--radius-full);place-items:center;width:28px;height:28px;display:grid;position:absolute}.gallery-icon-badge.milestone{color:var(--on-tertiary-container);background:var(--tertiary-container)}.gallery-icon-badge.favorite{color:var(--on-secondary-container);background:var(--secondary-container)}.gallery-icon-badge .material-symbols-outlined{font-size:var(--gutter)}@media (width<=1023px){.gallery-grid{column-count:2}}@media (width<=767px){.gallery-page{padding:var(--stack-md) var(--gutter) var(--stack-lg)}.gallery-header{z-index:4;gap:var(--gutter);margin:calc(-1 * var(--stack-md)) calc(-1 * var(--gutter)) var(--stack-sm);padding:var(--stack-md) var(--container-margin) var(--gutter);background:var(--surface);grid-template-columns:1fr auto;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.gallery-header{background:color-mix(in srgb, var(--surface) 90%, transparent)}}.gallery-header{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.gallery-header h1{font-size:var(--headline-lg-mobile-size);line-height:var(--headline-lg-mobile-line-height);margin:0}.gallery-header p{display:none}.gallery-add-button{width:40px;height:40px;color:var(--on-primary-container);background:var(--primary-container);border-radius:var(--radius-full);border:0;place-items:center;display:grid}.gallery-filters{gap:var(--stack-sm);padding:0 var(--container-margin) 2px;margin:0 calc(-1 * var(--container-margin));scrollbar-width:none;flex-wrap:nowrap;grid-column:1/-1;overflow-x:auto}.gallery-filters::-webkit-scrollbar{display:none}.gallery-filters button{color:var(--on-surface-variant);background:var(--surface-container);flex:none}.gallery-filters button.active{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.gallery-grid{gap:var(--stack-sm);column-count:unset;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;display:grid}.gallery-card{border-radius:var(--radius);height:auto;min-height:0;margin:0;display:block}.gallery-card img,.gallery-card:nth-child(2) img,.gallery-card:nth-child(4) img,.gallery-card:nth-child(6) img,.gallery-card.feature img{aspect-ratio:auto;width:100%;height:100%}.gallery-card.feature{border-radius:var(--radius-lg);grid-area:span 2/span 2}.gallery-card.wide{grid-column:span 2}.gallery-card:nth-child(7){margin-top:var(--stack-sm);border-radius:var(--radius-lg);grid-area:span 2/span 2}.gallery-overlay{padding:var(--gutter);opacity:1}.gallery-card:not(.feature):not(.wide) .gallery-overlay{background:0 0}.gallery-card:not(.feature):not(.wide) .gallery-overlay p,.gallery-card:not(.feature):not(.wide) .gallery-overlay .gallery-age{display:none}.gallery-card:not(.feature):not(.wide) .gallery-text-badge{position:absolute;bottom:4px;left:4px}.gallery-card.wide .gallery-overlay{background:var(--inverse-surface)}@supports (color:color-mix(in lab, red, red)){.gallery-card.wide .gallery-overlay{background:color-mix(in srgb, var(--inverse-surface) 10%, transparent)}}.gallery-card.wide .gallery-text-badge{color:var(--on-surface-variant);background:var(--surface-container);align-self:flex-start;margin-top:auto}@supports (color:color-mix(in lab, red, red)){.gallery-card.wide .gallery-text-badge{background:color-mix(in srgb, var(--surface-container) 90%, transparent)}}.gallery-card:nth-child(7) .gallery-overlay{background:0 0;justify-content:flex-start}.gallery-card:nth-child(7) .gallery-text-badge{color:var(--on-primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.gallery-card:nth-child(7) .gallery-text-badge{background:color-mix(in srgb, var(--primary) 90%, transparent)}}.gallery-card:nth-child(7) .gallery-text-badge{box-shadow:0 2px 6px var(--on-surface)}@supports (color:color-mix(in lab, red, red)){.gallery-card:nth-child(7) .gallery-text-badge{box-shadow:0 2px 6px color-mix(in srgb, var(--on-surface) 15%, transparent)}}.journal-page{padding:25px var(--container-margin) 28px}.journal-header{margin-bottom:28px}.journal-header h1{font-size:35px}.journal-content{gap:31px}.journal-section-heading h2{font-size:24px}.weight-chart-card{border-radius:20px;padding:17px}.weight-chart-card svg{height:150px}.growth-stats{gap:7px}.growth-stats article{border-radius:13px;min-height:88px;padding:11px 9px}.growth-stats span{align-items:start;font-size:9px;line-height:1.25}.growth-stats span .material-symbols-outlined{display:none}.growth-stats b{margin-top:15px;font-size:13px}.journal-record{grid-template-columns:auto 1fr;gap:11px}.journal-record aside{grid-column:2;grid-template-columns:auto 1fr auto;justify-items:start;width:100%}.journal-record aside button{justify-self:end}.journal-drawer{padding:24px 20px 30px}}.photo-popup{border:1px solid var(--outline-variant);border-radius:var(--radius-lg);background:var(--surface);width:min(960px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--on-surface);margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 24px 80px #1b1c1a40}.photo-popup::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1b1c1ab3}.photo-popup-header{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.photo-popup-header p{color:var(--primary);margin:0 0 4px;font-size:12px}.photo-popup-header h2{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:clamp(18px,3vw,24px)}.photo-popup-button{border-radius:var(--radius-full);background:var(--surface-container-high);width:44px;height:44px;color:var(--on-surface-variant);cursor:pointer;border:0;flex-shrink:0;place-items:center;display:grid}.photo-popup-button:hover:not(:disabled){background:var(--primary-container);color:var(--on-primary-container)}.photo-popup-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.photo-popup-button:disabled{opacity:.35;cursor:default}.photo-popup-image{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--surface-container);display:flex;overflow-x:auto}.photo-popup-image::-webkit-scrollbar{display:none}.photo-popup-image img{scroll-snap-align:start;scroll-snap-stop:always;object-fit:contain;flex:0 0 100%;width:100%;min-width:0;height:min(65dvh,680px);display:block}.photo-popup-footer{padding:12px 24px}.photo-popup-caption{color:var(--on-surface-variant);overflow-wrap:anywhere;margin:4px 0 12px}.photo-popup-navigation{color:var(--primary);justify-content:center;align-items:center;gap:20px;font-size:14px;display:flex}@media (width<=600px){.photo-popup{border-radius:var(--radius-md)}.photo-popup-header{padding:16px}.photo-popup-footer{padding:12px 16px}}.member-list li{flex-wrap:wrap}.member-list li>span{overflow-wrap:anywhere;min-width:0}.member-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.member-actions p{flex-basis:100%;margin:4px 0;font-size:14px}.member-actions button{border-radius:var(--radius-full);border:1px solid var(--outline-variant);background:var(--surface-container-low);min-height:40px;color:var(--on-surface-variant);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.member-actions .member-remove{color:var(--error)}.member-actions .member-remove:hover:not(:disabled){background:var(--error-container)}.member-actions button:disabled{opacity:.5;cursor:wait}.member-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.puppy-switcher{background:#f7f4ef;border-bottom:1px solid #e5dfd5;align-items:center;gap:12px;padding:12px max(20px,50vw - 600px);display:flex}.puppy-switcher-photo{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.puppy-switcher button{color:#6d563a;cursor:pointer;font-weight:600}.puppy-dropdown{min-width:0;position:relative}.puppy-dropdown-trigger{text-align:left;background:0 0;border:0;align-items:center;gap:8px;max-width:100%;min-height:40px;padding:8px 0;font-size:14px;display:flex}.puppy-dropdown-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.puppy-dropdown-trigger:disabled{cursor:default}.puppy-dropdown-chevron{flex-shrink:0;transition:transform .15s}.puppy-dropdown-trigger[aria-expanded=true] .puppy-dropdown-chevron{transform:rotate(180deg)}.puppy-dropdown-menu{z-index:100;background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:12px;width:max-content;min-width:100%;max-width:min(320px,100vw - 88px);max-height:320px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 8px 24px #332b1f1a}.puppy-dropdown-option{text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:44px;padding:10px 12px;font-size:14px;display:flex}.puppy-dropdown-option>span{overflow-wrap:anywhere}.puppy-dropdown-option svg{flex-shrink:0}.puppy-dropdown-option:hover,.puppy-dropdown-option:focus-visible{background:var(--surface-container-low)}.puppy-dropdown-option[aria-checked=true]{background:#f7f1e3}.puppy-dropdown-trigger:focus-visible,.puppy-dropdown-option:focus-visible,.puppy-switcher-add:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.puppy-switcher-add{white-space:nowrap;flex-shrink:0;margin-left:auto}@media (width<=600px){.puppy-switcher{gap:8px;padding:10px 16px}.puppy-dropdown-trigger,.puppy-switcher-add{font-size:13px}}.profile-fields .account-save{grid-column:1/-1;margin-top:0}.puppy-details-form{margin-top:var(--stack-lg)}.photo-sort-hint{color:var(--on-surface-variant);margin:0 0 12px;font-size:.85rem}.photo-preview-grid figure .photo-drag-handle{cursor:grab;touch-action:none;width:44px;height:44px;top:auto;bottom:6px;right:6px}.photo-preview-grid figure .photo-drag-handle:active{cursor:grabbing}.photo-preview-grid figure button:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.photo-preview-grid button:disabled{opacity:.5;cursor:default}.photo-position{background:var(--surface);max-width:calc(100% - 48px);color:var(--on-surface);pointer-events:none;border-radius:8px;padding:4px 6px;font-size:.7rem;line-height:1.3;position:absolute;top:6px;left:6px}.photo-is-dragging{box-shadow:0 0 0 3px var(--primary)}@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-font-weight{syntax:"*";inherits:false}@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}.install-card{border:1px solid var(--primary-container);color:var(--on-surface);background:#fff5d9;border-radius:24px;gap:16px;margin:20px 0 28px;padding:22px;display:flex}.install-logo{object-fit:cover;border-radius:16px;flex-shrink:0;width:56px;height:56px}.install-card h2{margin:0 0 6px;font-size:19px}.install-card p{color:var(--on-surface-variant);margin:0;font-size:14px;line-height:1.6}.install-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.install-primary,.install-done{background:var(--primary);min-height:44px;color:var(--on-primary);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex}.install-later{min-height:44px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:0;padding:10px 12px}.install-profile-link{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);width:100%;color:var(--on-surface);text-align:left;cursor:pointer;border-radius:20px;align-items:center;gap:14px;margin:16px 0;padding:20px;display:flex}.install-profile-link>span:nth-child(2){flex:1}.install-profile-link strong,.install-profile-link small{display:block}.install-profile-link small{color:var(--on-surface-variant);margin-top:4px;line-height:1.5}.install-profile-symbol{width:44px;height:44px;color:var(--primary);background:#fff5d9;border-radius:14px;place-items:center;display:grid}.install-dialog{background:var(--surface);width:min(100%,560px);max-width:100%;max-height:90dvh;color:var(--on-surface);overscroll-behavior:contain;border:0;border-radius:28px 28px 0 0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 12px 60px #251a0030}.install-dialog::backdrop{background:#1b1c1a80}.install-sheet{padding:28px 24px calc(24px + env(safe-area-inset-bottom));position:relative}.install-close{background:var(--surface-container);width:44px;height:44px;color:var(--on-surface);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.install-eyebrow{color:var(--primary);letter-spacing:.04em;margin:18px 0 8px;font-size:12px;font-weight:700}.install-sheet h2{max-width:370px;margin:0;font-size:28px;line-height:1.15}.install-intro{color:var(--on-surface-variant);margin:12px 0 20px;line-height:1.6}.install-platforms{background:var(--surface-container);border-radius:14px;gap:4px;padding:4px;display:flex}.install-platforms button{min-height:44px;color:var(--on-surface-variant);cursor:pointer;background:0 0;border:0;border-radius:11px;flex:1;padding:8px 4px;font-size:13px}.install-platforms button[aria-pressed=true]{color:var(--primary);background:#fff;font-weight:700;box-shadow:0 2px 5px #00000008}.install-steps{gap:24px;margin:24px 0 0;padding:0;list-style:none;display:grid}.install-steps li{align-items:flex-start;gap:12px;display:flex}.install-steps li>div{flex:1;min-width:0}.install-number{background:var(--primary-container);width:28px;height:28px;color:var(--on-primary-container);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.install-steps h3{margin:3px 0 6px;font-size:16px;line-height:1.4}.install-steps p,.install-browser-note p{color:var(--on-surface-variant);margin:0;font-size:14px;line-height:1.6}.install-preview{border:1px solid var(--surface-container-high);background:#fff;border-radius:12px;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;font-size:14px;display:flex}.install-preview>.material-symbols-outlined{color:var(--primary)}.install-toggle{background:#24834a;border-radius:20px;flex-shrink:0;width:36px;height:22px;margin-left:auto}.install-toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;margin:2px 2px 2px auto;display:block}.install-hint{color:var(--on-surface-variant);margin:20px 0 0;font-size:12px;line-height:1.6}.install-browser-note{background:#fff5d9;border-radius:16px;margin:18px 0;padding:16px;font-size:14px;line-height:1.6}.install-browser-note p{margin:6px 0 12px}.install-browser-note code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;margin-top:10px;font-size:12px;display:block}.install-direct{width:100%;margin-top:18px}.install-status{color:var(--primary);font-size:14px;line-height:1.6}.install-status:empty{display:none}.install-done{background:var(--surface-container-high);width:100%;color:var(--on-surface);margin-top:20px}.install-card button:focus-visible,.install-dialog button:focus-visible,.install-profile-link:focus-visible{outline:3px solid var(--tertiary);outline-offset:3px}.install-primary:disabled{opacity:.6;cursor:wait}@media (width>=640px){.install-dialog{border-radius:28px;margin:auto;inset:0}.install-sheet{padding:32px}}@media (width<=380px){.install-card{gap:12px;padding:16px}.install-card .install-logo{border-radius:12px;width:40px;height:40px}.install-sheet{padding-left:18px;padding-right:18px}}.install-card h2,.install-sheet h2{font-family:var(--font-display);font-weight:500}.install-steps h3{font-weight:700}
