@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(../media/baloo-2-devanagari-wght-normal.0bqzx92lnwdxh.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(../media/baloo-2-vietnamese-wght-normal.03jxny9fwpujl.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(../media/baloo-2-latin-ext-wght-normal.3puiabnnm96z-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(../media/baloo-2-latin-wght-normal.32-ew25bw57g5.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-ext-wght-normal.10yjhutwdm9hx.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-cyrillic-wght-normal.3iik4h93_86zh.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-vietnamese-wght-normal.43reimf7x86lj.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-ext-wght-normal.19c5fcu0u1_l8.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(../media/nunito-latin-wght-normal.43ritpld78jne.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-cyrillic-ext-wght-normal.1a5omd23h2g7u.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-cyrillic-wght-normal.3pz26h3t80slv.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-latin-ext-wght-normal.1v8q5_f-rvjb_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/caveat-latin-wght-normal.0v9iznkhjktil.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--background:#eaf6f3;--surface:#fff;--paper:#fff8ec;--text-primary:#3d2d1e;--text-secondary:#6b5a4a;--brand-primary:#3d2d1e;--brand-primary-hover:#5a4330;--brand-teal:#63b4ad;--brand-teal-light:#9adcd2;--brand-soft:#d3efea;--link:#226760;--sage:#b9ddd6;--accent:#e36f34;--accent-text:#a9461a;--accent-soft:#fff1e6;--reward:#ffd9bf;--lilac:#a17ebe;--tan:#d59357;--border:#cfe3de;--danger:#b42318;--danger-soft:#fdecea;--focus:#226760;--font-heading:"Baloo 2 Variable", "Nunito Variable", system-ui, sans-serif;--font-hand:"Caveat Variable", "Segoe Print", cursive;--font-body:"Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-card:22px;--radius-field:14px;--radius-pill:999px;--shadow-card:0 2px 0 #3d2d1e14;--shadow-photo:0 2px 3px #3d2d1e24, 0 10px 24px #3d2d1e1f;--gutter:16px;--content-max:640px;--nav-height:66px;--ease:cubic-bezier(.2, .7, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1)}@media (min-width:400px){:root{--gutter:20px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--background);color:var(--text-primary);font-family:var(--font-body);min-height:100dvh;margin:0;font-size:1rem;line-height:1.5}img{max-width:100%;display:block}a{color:var(--link);text-underline-offset:2px;font-weight:600}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.01em;margin:0;line-height:1.1}h1{font-size:clamp(2rem,1.6rem + 1.8vw,2.5rem);font-weight:700}h2{font-size:1.4rem;font-weight:700}h3{font-size:1.15rem;font-weight:700}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{flex-direction:column;min-height:100dvh;display:flex}.main{width:100%;max-width:var(--content-max);padding:16px var(--gutter) calc(var(--nav-height) + 32px + env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:24px;margin:0 auto;display:flex}.main--bare{padding-bottom:calc(32px + env(safe-area-inset-bottom))}.stack{flex-direction:column;gap:12px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--text-secondary)}.small{font-size:.875rem}.caption{color:var(--text-secondary);font-size:.8125rem}.section-title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.demo-banner{background:var(--brand-soft);color:var(--text-primary);padding:6px var(--gutter);text-align:center;border-bottom:1px solid var(--border);font-size:.8125rem}.demo-banner a{font-weight:600}.topbar{z-index:10;background:color-mix(in srgb, var(--background) 92%, transparent);-webkit-backdrop-filter:saturate(1.2);backdrop-filter:saturate(1.2);border-bottom:1px solid #0000;position:sticky;top:0}.topbar__inner{max-width:var(--content-max);padding:10px var(--gutter);justify-content:space-between;align-items:center;gap:12px;min-height:56px;margin:0 auto;display:flex}.bottom-nav{z-index:20;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.bottom-nav ul{max-width:var(--content-max);grid-template-columns:repeat(5,1fr);margin:0 auto;padding:0;list-style:none;display:grid}.bottom-nav a{height:var(--nav-height);color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav a[aria-current=page] .nav-icon{background:var(--brand-soft)}.nav-icon{border-radius:var(--radius-pill);width:44px;height:28px;transition:background .18s var(--ease);place-items:center;display:grid}@media (min-width:900px){.bottom-nav ul{justify-content:center;gap:8px;display:flex}.bottom-nav a{flex-direction:row;gap:8px;padding:0 16px;font-size:.9375rem}}.btn{border-radius:var(--radius-pill);cursor:pointer;min-height:48px;transition:background .16s var(--ease), transform .16s var(--ease), border-color .16s var(--ease);-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn--primary{background:var(--brand-primary);color:var(--paper);box-shadow:0 3px #1f160d}.btn--primary:active{transform:translateY(2px);box-shadow:0 1px #1f160d}@media (hover:hover) and (pointer:fine){.btn--primary:hover{background:var(--brand-primary-hover)}}.btn--secondary{background:var(--surface);color:var(--brand-primary);border-color:var(--border)}@media (hover:hover) and (pointer:fine){.btn--secondary:hover{border-color:var(--sage)}}.btn--ghost{color:var(--brand-primary);background:0 0;min-height:44px;padding:0 12px}.btn--danger{background:var(--danger);color:#fff}.btn--danger-outline{background:var(--surface);color:var(--danger);border-color:#f1c4bf}.btn--block{width:100%}.btn--small{min-height:44px;padding:0 14px;font-size:.9375rem}.btn[disabled],.btn[aria-disabled=true]{color:#5f6862;cursor:not-allowed;background:#eceee9;border-color:#0000;transform:none}.icon-btn{border-radius:var(--radius-pill);cursor:pointer;width:44px;height:44px;color:var(--text-primary);background:0 0;border:0;place-items:center;display:inline-grid}@media (hover:hover) and (pointer:fine){.icon-btn:hover{background:var(--brand-soft)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px}.card--soft{background:var(--brand-soft);box-shadow:none;border-color:#0000}.card--accent{background:var(--accent-soft);box-shadow:none;border-color:#0000}.card--flush{padding:0;overflow:hidden}a.card{color:inherit;transition:border-color .16s var(--ease);text-decoration:none;display:block}@media (hover:hover) and (pointer:fine){a.card:hover{border-color:var(--sage)}}.chip{border-radius:var(--radius-pill);white-space:nowrap;background:var(--brand-soft);color:var(--text-primary);align-items:center;gap:6px;padding:4px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.chip--accent{background:var(--accent-soft);color:var(--accent-text)}.chip--neutral{color:var(--text-secondary);background:#f1f2ee}.chip--outline{border:1px solid var(--border);color:var(--text-secondary);background:0 0}.field{flex-direction:column;gap:6px;display:flex}.field label,.field .label{font-size:.9375rem;font-weight:600}.field .hint{color:var(--text-secondary);font-size:.8125rem}.input,.select,.textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-field);width:100%;min-height:48px;padding:12px 14px;font-size:1rem}.textarea{resize:vertical;min-height:88px}input.input[type=date],input.input[type=time]{appearance:none;text-align:left;min-width:0;max-width:100%;display:block}input.input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input.input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}.weight-entry{align-items:center;gap:8px;display:flex}.weight-entry .input{flex:1;min-width:0}.weight-entry__units{flex:none;gap:6px;display:flex}.weight-entry__units .filter-chip{justify-content:center;min-width:52px;min-height:48px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.875rem;font-weight:600}.prefs-error{margin:0}.prefs-error__retry{color:var(--link);font:inherit;background:0 0;border:0;min-height:44px;padding:0 4px;text-decoration:underline}.check{border:1.5px solid var(--border);border-radius:var(--radius-field);background:var(--surface);cursor:pointer;align-items:center;gap:12px;min-height:52px;padding:10px 14px;display:flex}.check:has(input:checked){border-color:var(--brand-primary);background:var(--brand-soft)}.check input{width:20px;height:20px;accent-color:var(--brand-primary);flex:none}.check .check__text{flex-direction:column;display:flex}.notice{border-radius:var(--radius-field);align-items:flex-start;gap:12px;padding:14px 16px;font-size:.9375rem;display:flex}.notice--info{background:var(--brand-soft)}.notice--positive{background:var(--accent-soft)}.notice--error{background:var(--danger-soft);color:#7a1a12}.notice--warn{background:#fdf3dc}.notice svg{flex:none;margin-top:2px}.photo{aspect-ratio:4/3;object-fit:cover;background:var(--brand-soft);border-radius:14px;width:100%}.photo--square{aspect-ratio:1}.avatar{object-fit:cover;background:var(--brand-soft);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative;overflow:hidden}.avatar--lg{width:64px;height:64px}.avatar--xl{width:96px;height:96px}.grid-photos{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}@media (min-width:560px){.grid-photos{grid-template-columns:repeat(4,1fr)}}.grid-photos a,.grid-photos button{background:0 0;border:0;border-radius:10px;padding:0;display:block;position:relative;overflow:hidden}.grid-photos img{aspect-ratio:1;object-fit:cover;width:100%}.grid-badge{position:absolute;bottom:6px;left:6px}.progress{border-radius:var(--radius-pill);background:var(--brand-soft);height:10px;overflow:hidden}.progress>span{background:var(--brand-primary);border-radius:inherit;height:100%;transition:width .24s var(--ease);display:block}.stitched{border:1.5px dashed var(--sage);border-radius:var(--radius-card)}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;display:flex}a.card.row,a.card.row-between,a.card.mission-card,.mission-card{align-items:center;gap:14px;display:flex}.mission-stamp{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:16px;flex:none;place-items:center;display:grid}.mission-stamp--locked{color:var(--text-secondary);background:#f1f2ee}.hero-mission{background:var(--surface);border-radius:var(--radius-card);border:1px solid var(--border);box-shadow:var(--shadow-card);overflow:hidden}.hero-mission__band{background:var(--accent-soft);align-items:center;gap:16px;padding:20px;display:flex}.timeline-month{z-index:1;background:var(--background);font-family:var(--font-heading);padding:8px 0;font-weight:800;position:sticky;top:56px}.sticky-action{bottom:calc(var(--nav-height) + 12px + env(safe-area-inset-bottom));z-index:5;pointer-events:none;justify-content:flex-end;display:flex;position:sticky}.sticky-action>*{pointer-events:auto;box-shadow:0 6px 18px #1d2b5338}dialog.sheet{border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--surface);width:min(560px,100vw);max-height:90dvh;color:inherit;border:0;margin:auto auto 0;padding:0}@media (min-width:600px){dialog.sheet{border-radius:var(--radius-card);margin:auto}}dialog.sheet::backdrop{background:#1d2b5366}.sheet__body{padding:20px var(--gutter) calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;max-height:90dvh;display:flex;overflow-y:auto}.celebrate{animation:pop .24s var(--ease) 1}@keyframes pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fade .2s var(--ease) 1}@keyframes fade{0%{opacity:0}to{opacity:1}}.skeleton{background:linear-gradient(90deg,#f1efe9,#f8f6f1,#f1efe9) 0 0/200% 100%;border-radius:12px;animation:1.4s linear 6 shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}body{background:var(--background)}.btn{font-family:var(--font-heading);letter-spacing:.01em;font-size:1.0625rem;font-weight:600}.chip--reward{background:var(--reward);color:var(--text-primary)}.nav-icon{transition:background .18s var(--ease), transform .26s var(--spring)}.bottom-nav a[aria-current=page]{color:var(--text-primary)}.bottom-nav a[aria-current=page] .nav-icon{background:var(--brand-teal-light);transform:translateY(-2px)}.brand-lockup{color:var(--text-primary);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-lockup__face{background:var(--brand-teal);border-radius:12px;flex:none;width:40px;height:40px;overflow:hidden}.brand-lockup__face img{object-fit:cover;width:100%;height:100%}.brand-lockup__name{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;line-height:1}.brand-lockup__tag{color:var(--text-secondary);margin-top:2px;font-size:.75rem;font-weight:600;display:block}.polaroid{box-shadow:var(--shadow-photo);transform:rotate(var(--tilt,-1.2deg));background:#fff;border-radius:6px;padding:10px 10px 0}.polaroid:nth-of-type(2n){--tilt:1.1deg}.polaroid:nth-of-type(3n){--tilt:-.4deg}.polaroid .photo{border-radius:3px}.polaroid__note{font-family:var(--font-heading);overflow-wrap:anywhere;padding:10px 4px 2px;font-size:1.25rem;font-weight:600;line-height:1.2}.polaroid__meta{padding:2px 4px 12px}.tape{position:relative}.tape:before{content:"";z-index:1;background:#a17ebe8c;width:96px;height:26px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(-3deg)}.mission-stamp{background:var(--accent);color:#fff;border:3px solid #fff;border-radius:50%;width:56px;height:56px;box-shadow:0 3px #3d2d1e2e}.mission-stamp--done{background:var(--brand-teal);color:var(--text-primary)}.mission-stamp--locked{border:2px dashed var(--sage);box-shadow:none;color:var(--text-secondary);background:0 0}.hero-mission{border:3px solid var(--text-primary);box-shadow:0 5px 0 var(--text-primary);background:var(--brand-teal);color:var(--text-primary);border-radius:26px}.hero-mission__band{background:0 0;padding:22px 20px 6px}.hero-mission h3{font-size:1.6rem}.hero-mission__kicker{font-weight:700;color:var(--text-primary)!important}.hero-mission .btn--primary{background:var(--paper);color:var(--text-primary);box-shadow:0 3px 0 var(--text-primary)}.hero-mission .mission-stamp{background:var(--paper);color:var(--accent)}.abu-note{background:var(--paper);border:2px solid var(--text-primary);border-radius:6px 20px 20px;padding:10px 16px 12px;box-shadow:0 3px #3d2d1e26}.abu-note__name{color:var(--accent-text);font-size:.8125rem;font-weight:800}.abu-note__text{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;line-height:1.3}.abu-face{background:var(--brand-teal-light);border:2px solid var(--text-primary);border-radius:50%;flex:none;width:52px;height:52px;overflow:hidden}.abu-face img{object-fit:cover;width:100%;height:100%}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes tilt-hello{0%,to{transform:rotate(0)}20%{transform:rotate(-5deg)}40%{transform:rotate(4deg)}60%{transform:rotate(-2deg)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes stamp{0%{opacity:0;transform:scale(1.8)rotate(-18deg)}60%{opacity:1;transform:scale(.92)rotate(4deg)}to{transform:scale(1)rotate(0)}}@keyframes drop{0%{opacity:0;transform:translateY(-30px)rotate(-8deg)}70%{transform:translateY(4px) rotate(var(--tilt,-1.2deg));opacity:1}to{transform:rotate(var(--tilt,-1.2deg))}}@keyframes photo-place{0%{transform:translateY(-70px) scale(1.35) rotate(calc(var(--tilt,0deg) * -3));opacity:0;box-shadow:0 30px 40px #3f2b1a40}55%{opacity:1}78%{transform:translateY(3px) scale(.98) rotate(var(--tilt,0deg))}to{transform:rotate(var(--tilt,0deg))}}@keyframes paw-step{0%,to{opacity:0}20%,60%{opacity:1}}@keyframes burst{0%{opacity:1;transform:translate(0)scale(.4)rotate(0)}to{transform:translate(var(--dx), var(--dy)) scale(1) rotate(var(--rot));opacity:0}}@keyframes fill{0%{width:0}}@keyframes bounce-in{0%{opacity:0;transform:translateY(40px)scale(.9)}60%{opacity:1;transform:translateY(-6px)scale(1.02)}to{transform:none}}.main{animation:page-in .28s var(--ease) both}.anim-float{animation:3.2s ease-in-out infinite float}.anim-hello{animation:tilt-hello 1.4s var(--ease) .4s 1 both;transform-origin:50% 90%}.anim-pop{animation:pop-in .42s var(--spring) both}.anim-rise{animation:rise .52s var(--ease) both}.anim-rise-2{animation:rise .52s var(--ease) .12s both}.anim-rise-3{animation:rise .52s var(--ease) .24s both}.anim-stamp{animation:stamp .52s var(--spring) .2s both}.anim-drop{animation:drop .62s var(--spring) both}.anim-bounce-in{animation:bounce-in .7s var(--spring) both}.progress>span{animation:fill .9s var(--ease) both}.stack>.card,.stack>a.card{animation:rise .42s var(--ease) both}.stack>:nth-child(2).card,.stack>a.card:nth-child(2){animation-delay:60ms}.stack>:nth-child(3).card,.stack>a.card:nth-child(3){animation-delay:.12s}.paw-trail{color:var(--brand-teal);justify-content:center;gap:18px;height:28px;display:flex}.paw-trail span{animation:2.4s ease-in-out infinite paw-step;display:inline-block}.paw-trail span:nth-child(odd){transform:translateY(8px)rotate(12deg)}.paw-trail span:nth-child(2n){transform:rotate(-12deg)}.paw-trail span:nth-child(2){animation-delay:.3s}.paw-trail span:nth-child(3){animation-delay:.6s}.paw-trail span:nth-child(4){animation-delay:.9s}.paw-trail span:nth-child(5){animation-delay:1.2s}.burst{pointer-events:none;position:absolute;inset:0;overflow:visible}.burst span{color:var(--accent);animation:burst .9s var(--ease) both;position:absolute;top:45%;left:50%}@media (prefers-reduced-motion:reduce){.anim-float,.anim-hello,.paw-trail span{animation:none!important}.paw-trail span{opacity:1}.burst{display:none}.intro-mini{animation:none}.polaroid{transform:none}}.intro{background:linear-gradient(180deg, var(--brand-teal-light) 0%, var(--background) 55%)}.intro__main{justify-content:space-between;gap:18px;min-height:calc(100dvh - 40px);padding-top:14px}.intro__slide{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:22px;display:flex}.intro__title-line{display:block}.intro__text{max-width:440px;color:var(--text-secondary);font-size:1.125rem;line-height:1.55}.intro__actions{gap:14px}.intro-diary{background:var(--paper) repeating-linear-gradient(transparent 0 33px, #e6dccb 33px 34px) 0 12px;width:100%;max-width:440px;color:var(--text-primary);text-align:left;border-radius:6px;align-items:stretch;gap:2px;padding:12px 22px 6px;box-shadow:0 2px 10px #3f2b1a1f}.intro-diary h1{font-family:var(--font-hand);letter-spacing:0;padding-bottom:6px;font-size:1.9rem;font-weight:700;line-height:34px}.intro-diary__paw{color:var(--brand-teal);vertical-align:-2px;margin-left:5px;rotate:18deg}.intro-diary .intro__text{white-space:pre-line;font-family:var(--font-hand);color:var(--text-primary);max-width:none;font-size:1.45rem;font-weight:500;line-height:34px}.intro-visual{place-items:center;width:100%;min-height:270px;display:grid;position:relative}.intro-halo{background:var(--brand-teal);opacity:.35;width:240px;height:240px;animation:pop-in .6s var(--spring) both;border-radius:50%;position:absolute}.intro-halo--warm{background:var(--reward);opacity:.7}.intro-moments{justify-content:center;align-items:center;gap:8px;display:flex}.intro-mini{width:108px;animation:photo-place .7s var(--spring) both}.intro-mini__photo{aspect-ratio:1;object-fit:cover;background:var(--brand-soft);border-radius:3px;width:100%;display:block}.intro-album{background:var(--paper);border:3px solid var(--text-primary);box-shadow:0 5px 0 var(--text-primary);border-radius:18px;width:250px;padding:16px 18px 20px}.intro-album__title{font-family:var(--font-heading);text-align:center;margin-bottom:12px;font-size:1.25rem;font-weight:700}.intro-album__grid{grid-template-columns:repeat(3,1fr);justify-items:center;gap:14px;display:grid}.intro-dots{justify-content:center;gap:8px;display:flex}.intro-dots span{background:var(--sage);width:8px;height:8px;transition:width .26s var(--spring), background .2s;border-radius:99px}.intro-dots span.is-done{background:var(--brand-teal)}.intro-dots span.is-active{background:var(--text-primary);width:26px}.topbar a{text-decoration:none}.intro-visual>*{grid-area:1/1}.intro-halo{position:static}.batch-row{align-items:flex-start;gap:12px;display:flex}.batch-row__thumb{object-fit:cover;background:var(--brand-soft);border-radius:10px;flex:none;width:84px;height:84px}.due{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:.8125rem;font-weight:700;line-height:1.3;display:inline-flex}.due--ok{background:var(--brand-soft);color:var(--text-primary)}.due--soon{color:var(--text-primary);background:#fdf3dc}.due--overdue{background:var(--danger-soft);color:#7a1a12}.care-row{border-radius:var(--radius-field);background:var(--background);color:inherit;align-items:center;gap:10px;min-height:44px;padding:10px 12px;text-decoration:none;display:flex}@media (hover:hover) and (pointer:fine){.care-row:hover{background:var(--brand-soft)}}.weight-chart svg{display:block;overflow:visible}.weight-chart circle[tabindex]:focus-visible{stroke:var(--focus);stroke-width:2px}.chart-tip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);pointer-events:none;white-space:nowrap;border-radius:10px;flex-direction:column;align-items:center;padding:4px 10px;display:flex;position:absolute;top:0;transform:translate(-50%)}.data-table{border-collapse:collapse;width:100%;font-size:.9375rem}.data-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:6px 4px;font-size:.8125rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:4px}.doc-thumb{background:var(--brand-soft);width:56px;height:56px;color:var(--text-secondary);border-radius:10px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.doc-thumb img{object-fit:cover;width:100%;height:100%}.doc-thumb__tag{background:var(--surface);color:var(--text-primary);border-radius:4px;padding:0 4px;font-size:.625rem;font-weight:800;position:absolute;bottom:3px;right:3px}.daily-card{flex-direction:column;gap:4px;padding:12px 12px 8px;display:flex}.daily-card__main{color:inherit;align-items:center;gap:12px;min-height:44px;text-decoration:none;display:flex}.daily-card .btn--ghost{align-self:flex-end}.daily-card--done{background:var(--brand-soft)}.daily-done{background:var(--paper);border:2px solid var(--brand-teal);text-align:center;align-items:center}.tabs{background:var(--brand-soft);border-radius:var(--radius-pill);gap:6px;padding:4px;display:flex}.tab{border-radius:var(--radius-pill);min-height:44px;font:inherit;font-family:var(--font-heading);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:1;font-weight:700}.tab.is-active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-card)}.set-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none;display:grid}.set-slot{aspect-ratio:1;border:2px dashed var(--sage);color:var(--text-secondary);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;text-decoration:none;display:flex;position:relative;overflow:hidden}.set-slot--done{background:var(--brand-soft);color:var(--text-primary);border:0}.set-slot__img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.set-slot__icon{place-items:center;display:grid}.set-slot__label{overflow-wrap:anywhere;font-size:.75rem;font-weight:700;line-height:1.2;position:relative}.set-slot--done:has(.set-slot__img) .set-slot__label{background:#fff8eceb;border-radius:8px;padding:2px 4px;position:absolute;bottom:4px;left:4px;right:4px}.medal{background:var(--reward);width:44px;height:44px;color:var(--text-primary);box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.set-cover{width:100%;max-width:240px;box-shadow:var(--shadow-photo);border-radius:12px}.about-letter .intro__text{font-size:1.35rem}.about-letter .intro__text+.intro__text{margin-top:0}.about-letter__sign{text-align:right;padding-top:4px}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.preset-card{text-align:left;border:2px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:inherit;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;min-height:44px;padding:8px;display:flex}.preset-card.is-selected{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-teal-light)}.preset-vignette{aspect-ratio:4/3;border-radius:12px;place-items:center;width:100%;display:grid;position:relative}.preset-vignette__tag{color:var(--text-secondary);background:#ffffffd9;border-radius:999px;padding:1px 6px;font-size:.6875rem;font-weight:700;position:absolute;bottom:6px;left:6px}.preset-vignette--photo{aspect-ratio:1;overflow:hidden}.preset-vignette--photo img{object-fit:cover;width:100%;height:100%;display:block}.photo-strip{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.photo-strip__item{background:var(--brand-soft);cursor:pointer;border:3px solid #0000;border-radius:12px;flex:none;width:76px;height:76px;padding:0;overflow:hidden}.photo-strip__item img{object-fit:cover;width:100%;height:100%;display:block}.photo-strip__item.is-selected{border-color:var(--brand-primary)}.crop-area{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;position:relative;overflow:hidden}.crop-area__img{width:100%;height:auto;display:block}.crop-area__box{border:3px solid var(--paper);cursor:move;border-radius:8px;position:absolute;box-shadow:0 0 0 9999px #3d2d1e73}.studio-compare{grid-template-columns:1fr 2fr;align-items:start;gap:12px;display:grid}.studio-art{width:100%;height:auto;box-shadow:var(--shadow-photo);border-radius:12px;display:block}.studio-art--sticker{background:repeating-conic-gradient(#eee 0 25%, #fff 0 50%) 50% / 20px 20px;box-shadow:none}.studio-history__img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%}.progress--indeterminate span{width:40%;animation:indeterminate 1.2s var(--ease) infinite}@keyframes indeterminate{0%{margin-left:-40%}to{margin-left:100%}}@media (prefers-reduced-motion:reduce){.progress--indeterminate span{opacity:.5;width:100%;animation:none}}.sp{--sp-teal:#63b4ad;--sp-deep:#3f8f88;--sp-light:#9adcd2;isolation:isolate;background:radial-gradient(120% 80% at 50% 0%, #7cc7c0 0%, var(--sp-teal) 45%, var(--sp-deep) 100%);min-height:100dvh;color:var(--text-primary);position:relative;overflow:hidden}.sp-bg{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sp-blob{filter:blur(2px);border-radius:50%;position:absolute}.sp-blob--1{background:radial-gradient(circle,#fff8ec59,#0000 65%);width:340px;height:340px;animation:9s ease-in-out infinite sp-orb1;top:-90px;left:-110px}.sp-blob--2{background:radial-gradient(circle,#ffd9bf73,#0000 65%);width:300px;height:300px;animation:12s ease-in-out infinite sp-orb2;bottom:-60px;right:-100px}.sp-blob--3{background:radial-gradient(circle,#a17ebe47,#0000 65%);width:200px;height:200px;animation:7s ease-in-out infinite sp-orb3;top:40%;right:6%}.sp-trail span{color:#3d2d1e21;animation:3.6s ease-in-out infinite both sp-paw;position:absolute;transform:rotate(35deg)}.sp-trail span:nth-child(odd){transform:rotate(35deg)translate(10px)}.sp-splash{text-align:center;min-height:100dvh;padding:40px 24px calc(28px + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:center;align-items:center;gap:14px;max-width:460px;margin:0 auto;display:flex;position:relative}.sp-emblem{place-items:center;display:grid;position:relative}.sp-ring{border:2px solid #fff8ec8c;border-radius:50%;animation:3.3s ease-out infinite sp-ring;position:absolute;inset:6%}.sp-stitch{border:2.5px dashed #3d2d1e59;border-radius:50%;animation:26s linear infinite sp-spin;position:absolute;inset:4%}.sp-arc{border:3px solid #0000;border-top-color:var(--accent);border-right-color:#e36f3440;border-radius:50%;animation:3.4s linear infinite sp-spin;position:absolute;inset:0}.sp-disc{background:radial-gradient(circle at 50% 40%, #fffdf7, var(--paper) 60%, #f6e9d3);border-radius:50%;place-items:end center;width:76%;height:76%;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 30px #1f160d40,inset 0 -6px #3d2d1e0f}.sp-abu{transform-origin:50% 100%;margin-bottom:-4%;animation:3.2s ease-in-out infinite sp-bob}.sp-brand{flex-direction:column;align-items:center;margin-top:6px;display:flex}.sp-brand__name{font-family:var(--font-heading);color:var(--text-primary);text-shadow:0 2px #fff8ec73;font-size:clamp(2.1rem,9vw,2.6rem);font-weight:800;line-height:1}.sp-brand__tag{font-family:var(--font-hand);color:var(--paper);text-shadow:0 1px 2px #1f160d40;margin-top:2px;font-size:1.45rem}.sp-note{text-align:left;background:var(--paper) repeating-linear-gradient(transparent 0 31px, #e6dccb 31px 32px) 0 16px;border-radius:6px;max-width:360px;margin-top:8px;padding:18px 22px 10px;position:relative;rotate:-1.6deg;box-shadow:0 3px #3d2d1e14,0 10px 24px #1f160d38}.sp-note__tape{background:#a17ebe8c;border-radius:2px;width:92px;height:22px;position:absolute;top:-11px;left:50%;translate:-50%;rotate:3deg}.sp-headline{font-family:var(--font-hand);letter-spacing:0;color:var(--text-primary);text-wrap:balance;padding-bottom:4px;font-size:2.05rem;font-weight:700;line-height:32px}.sp-note__paw{color:var(--brand-teal);vertical-align:-2px;margin-left:6px;rotate:18deg}.sp-sub{font-family:var(--font-hand);color:#4a3826;margin:0;font-size:1.4rem;font-weight:500;line-height:32px}.sp-ctas{gap:10px;width:100%;margin-top:14px;display:grid}.sp-foot{color:#2a1f15;opacity:.75;margin:6px 0 0;font-size:.8rem}.sp-btn{width:100%;min-height:54px;font:700 1rem/1.2 var(--font-body);cursor:pointer;transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s;border:2px solid #0000;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;display:inline-flex}.sp-btn:disabled{opacity:.6;cursor:default}.sp-btn:focus-visible{outline:3px solid var(--paper);outline-offset:2px}.sp-btn--main{background:var(--text-primary);color:var(--paper);box-shadow:0 4px #1f160d,0 10px 26px #1f160d47}@media (hover:hover) and (pointer:fine){.sp-btn--main:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px #1f160d,0 14px 30px #1f160d52}}.sp-btn--main:not(:disabled):active{transform:translateY(3px);box-shadow:0 1px #1f160d}.sp-btn--ghost{color:var(--text-primary);background:#fff8eceb;border-color:#3d2d1e2e}@media (hover:hover) and (pointer:fine){.sp-btn--ghost:hover{background:var(--paper);transform:translateY(-1px)}}.sp-btn--google,.sp-btn--email{background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:0 2px 0 var(--border)}@media (hover:hover) and (pointer:fine){.sp-btn--google:not(:disabled):hover,.sp-btn--email:not(:disabled):hover{border-color:var(--sp-teal);transform:translateY(-1px)}}.sp-btn--apple{color:#fff;background:#000;box-shadow:0 2px #333}@media (hover:hover) and (pointer:fine){.sp-btn--apple:not(:disabled):hover{background:#1c1c1e;transform:translateY(-1px)}}.sp-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite sp-spin}.sp--sheet{flex-direction:column;display:flex}.sp-top{padding:calc(16px + env(safe-area-inset-top,0px)) 16px 4px;place-items:center;display:grid;position:relative}.sp-back{left:16px;top:calc(16px + env(safe-area-inset-top,0px));width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:#fff8eceb;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 2px 8px #1f160d26}.sp-top__emblem{animation:pop-in .52s var(--spring) both}.sp-sheet{width:100%;max-width:460px;padding:8px 24px calc(28px + env(safe-area-inset-bottom,0px));animation:sp-sheet .46s var(--spring) both;text-align:center;margin:0 auto}.sp-sheet .stack{align-items:stretch}.sp-sheet__title{color:var(--text-primary);text-shadow:0 2px #fff8ec66;font-size:1.75rem;line-height:1.15}.sp-sheet .muted,.sp-sheet .caption,.sp-sheet p{color:#2a1f15}.sp-sheet label{color:var(--text-primary);text-align:left;font-weight:700}.sp-sheet .input{background:var(--surface);border-color:#3d2d1e33}.sp-sheet .notice{text-align:left;background:#fff8ece6}.sp-sheet .field-error{background:var(--paper);color:#9b1c12;border-radius:12px;padding:10px 14px;font-weight:700}.sp-sheet .btn--ghost{color:var(--text-primary)}.sp-or{color:#2a1f15;align-items:center;gap:12px;font-size:.875rem;font-weight:700;display:flex}.sp-or:before,.sp-or:after{content:"";background:#3d2d1e4d;flex:1;height:1px}.sp-btn--email{color:var(--text-primary);box-shadow:none;background:#fff8eceb;border-color:#3d2d1e2e}@media (hover:hover) and (pointer:fine){.sp-btn--email:not(:disabled):hover{background:var(--paper);transform:translateY(-1px)}}.sp-switch{text-align:center;color:#2a1f15;margin:4px 0 0}.sp-switch button{font:inherit;color:var(--text-primary);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.sp-mail{background:var(--paper);width:84px;height:84px;color:var(--text-primary);animation:pop-in .52s var(--spring) both;border-radius:50%;place-items:center;margin:0 auto;display:grid}.sp-code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.6rem}.sp-in{animation:rise .64s var(--ease) both}.sp-in--1{animation-name:pop-in;animation-duration:.7s;animation-timing-function:var(--spring)}.sp-in--2{animation-delay:.18s}.sp-in--3{animation-delay:.32s}.sp-in--4{animation-delay:.46s}.sp-in--5{animation-delay:.6s}@keyframes sp-orb1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(28px,-18px)scale(1.08)}66%{transform:translate(-18px,14px)scale(.95)}}@keyframes sp-orb2{0%,to{transform:translate(0)}40%{transform:translate(-22px,18px)}70%{transform:translate(18px,-10px)}}@keyframes sp-orb3{0%,to{transform:translate(0)}50%{transform:translate(14px,-22px)}}@keyframes sp-ring{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}@keyframes sp-spin{to{transform:rotate(360deg)}}@keyframes sp-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-1.5deg)}}@keyframes sp-paw{0%,to{opacity:0}25%,55%{opacity:1}}@keyframes sp-sheet{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sp-blob,.sp-trail span,.sp-ring,.sp-stitch,.sp-arc,.sp-abu,.sp-in,.sp-sheet,.sp-top__emblem{animation:none!important}.sp-trail span{opacity:1}}:is(html:has(.sp),body:has(.sp)){background:#3f8f88}html,body{overflow-x:clip}body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.topbar{padding-top:env(safe-area-inset-top,0px)}.input,.select,.textarea{font-size:max(1rem,16px)}.install-link{min-height:44px;font:600 .9rem/1 var(--font-body);color:var(--link);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 4px;text-decoration:underline;display:inline-flex}.install-link--splash{color:var(--text-primary);opacity:.85}.install-steps{gap:10px;margin:0;padding-left:1.3em;line-height:1.5;display:grid}.offline-banner{z-index:50;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;background:var(--text-primary);color:var(--paper);text-align:center;font-size:.875rem;font-weight:600;position:fixed;top:0;left:0;right:0}.shared{background:radial-gradient(120% 60% at 50% 0%, #d6efea 0%, var(--background) 55%);flex-direction:column;min-height:100dvh;display:flex}.shared-top{z-index:10;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;background:#63b4ad;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #1f160d26}.shared-brand{color:var(--text-primary);align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.shared-brand img{background:var(--paper);border-radius:12px;box-shadow:0 2px #1f160d26}.shared-brand__name{font-family:var(--font-heading);font-size:1.2rem;font-weight:800;line-height:1;display:block}.shared-brand__tag{font-family:var(--font-hand);color:var(--paper);font-size:1.05rem;line-height:1.1;display:block}.shared-top__cta{background:var(--paper);color:var(--text-primary);border-radius:999px;flex:none;padding:9px 14px;font-size:.875rem;font-weight:800;text-decoration:none;box-shadow:0 2px #1f160d33}.shared-main{flex-direction:column;flex:1;gap:28px;width:100%;max-width:980px;margin:0 auto;padding:28px 16px 24px;display:flex}.shared-hero{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.shared-hero__kicker{background:var(--paper);color:var(--link);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:700;display:inline-flex}.shared-hero__kicker svg{color:var(--brand-teal)}.shared-hero h1{font-family:var(--font-hand);letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance;margin-top:6px;font-size:clamp(2.2rem,8vw,3.2rem);font-weight:700;line-height:1.05}.shared-hero p{color:var(--text-secondary);margin:0;font-weight:600}.shared-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;padding:6px 2px;display:grid}@media (min-width:720px){.shared-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}}.shared-photo{transition:transform .2s var(--ease), rotate .2s var(--ease);background:#fff;border-radius:4px;margin:0;padding:8px 8px 10px;position:relative;box-shadow:0 2px 4px #1f160d14,0 12px 24px #1f160d1f}@media (hover:hover) and (pointer:fine){.shared-photo:hover{transform:translateY(-3px);rotate:0deg!important}}.shared-photo a{display:block}.shared-photo img{aspect-ratio:1;object-fit:cover;background:#eee;border-radius:2px;width:100%;display:block}.shared-photo__tape{z-index:1;background:#a17ebe80;border-radius:2px;width:64px;height:18px;position:absolute;top:-9px;left:50%;translate:-50%;rotate:-3deg}.shared-photo figcaption{flex-direction:column;gap:2px;padding:8px 2px 0;display:flex}.shared-photo__note{font-family:var(--font-hand);color:var(--text-primary);overflow-wrap:anywhere;font-size:1.25rem;line-height:1.15}.shared-photo__date{color:var(--text-secondary);font-size:.75rem}.shared-invite{background:var(--paper);border:1px solid #efe2cc;border-radius:24px;align-items:center;gap:18px;padding:22px;display:flex;box-shadow:0 10px 30px #1f160d1f}.shared-invite h2{font-size:1.4rem;line-height:1.15}.shared-invite p{color:#4a3826;margin:0;line-height:1.5}.shared-invite__art{background:#9adcd2;border-radius:50%;flex:none;place-items:end center;width:120px;height:120px;display:grid;overflow:hidden}.shared-invite__note{color:var(--text-secondary);font-size:.8125rem}@media (max-width:520px){.shared-invite{text-align:center;flex-direction:column}.shared-invite .shared-btn{align-self:stretch}}.shared-btn{background:var(--text-primary);color:var(--paper);border-radius:16px;justify-content:center;align-self:flex-start;align-items:center;gap:8px;padding:14px 22px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 4px #1f160d}@media (hover:hover) and (pointer:fine){.shared-btn:hover{transform:translateY(-1px)}}.shared-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:12px;display:flex}.shared-empty p{color:var(--text-secondary);margin:0}.shared-foot{text-align:center;color:var(--text-secondary);padding:18px 16px calc(22px + env(safe-area-inset-bottom,0px));font-size:.8125rem}.shared-foot a{color:var(--link);font-weight:700}.shared-grid--one{justify-content:center;grid-template-columns:minmax(0,340px)!important}.studio-title{font-family:var(--font-hand);letter-spacing:0;font-size:clamp(2.2rem,9vw,2.8rem);font-weight:700;line-height:1}.studio-title__paw{color:var(--brand-teal);vertical-align:2px;rotate:18deg}.credit-meter{color:var(--paper);background:linear-gradient(135deg,#63b4ad,#4f9f98);border-radius:22px;flex-direction:column;gap:10px;padding:16px 18px;display:flex;box-shadow:0 8px 22px #3f8f8859}.credit-meter__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.credit-meter__label{opacity:.9;text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem;font-weight:700;display:block}.credit-meter__big{font-family:var(--font-heading);color:#fff;font-size:2.4rem;font-weight:800;line-height:1}.credit-meter__big small{opacity:.85;font-size:1rem;font-weight:700}.credit-meter__badge{color:var(--text-primary);white-space:nowrap;background:#fff8ecf2;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:800}.credit-meter__paws{flex-wrap:wrap;gap:6px;display:flex}.credit-meter__paws span{color:#ffffff73;background:#ffffff2e;border:2px dashed #ffffff73;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.credit-meter__paws span.is-on{background:var(--paper);color:var(--accent);border:2px solid var(--paper);animation:pop-in .42s var(--spring) both}.credit-meter__legend{margin:0;font-size:.875rem;font-weight:600}.credit-meter__day{border-top:1px solid #ffffff40;flex-direction:column;gap:6px;padding-top:8px;font-size:.8125rem;font-weight:600;display:flex}.credit-meter__bar{background:#ffffff40;border-radius:999px;height:8px;display:block;overflow:hidden}.credit-meter__bar span{border-radius:inherit;background:var(--paper);height:100%;transition:width .4s var(--ease);display:block}.making{background:var(--paper);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:10px;padding:22px 18px;display:flex;box-shadow:0 10px 28px #1f160d1f}.making__stage{justify-content:center;align-items:center;gap:14px;width:100%;padding:6px 0 10px;display:flex;position:relative}.making__frame{aspect-ratio:1;background:#fff;border-radius:6px;width:min(38vw,150px);padding:6px;position:relative;overflow:hidden;box-shadow:0 6px 16px #1f160d29}.making__frame img,.making__frame .studio-art{object-fit:cover;border-radius:3px;width:100%;height:100%;display:block}.making__frame--photo{rotate:-4deg}.making__frame--art{rotate:3deg}.making__frame--art img{animation:2.8s ease-in-out infinite alternate making-reveal}.making__shine{background:linear-gradient(110deg,#0000 30%,#ffffffa6 50%,#0000 70%) 0 0/250% 100%;animation:1.8s linear infinite making-shine;position:absolute;inset:0}.making__wand{background:var(--text-primary);width:46px;height:46px;color:var(--paper);z-index:2;border-radius:50%;place-items:center;animation:1.6s ease-in-out infinite making-wand;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 4px 12px #1f160d4d}.making__title{font-family:var(--font-hand);letter-spacing:0;font-size:1.9rem;font-weight:700;line-height:1.1}.making__line{color:var(--link);animation:rise .4s var(--ease) both;min-height:1.5em;margin:0;font-weight:700}.making__bar{background:#efe2cc;border-radius:999px;width:100%;max-width:340px;height:12px;overflow:hidden}.making__bar span{border-radius:inherit;height:100%;transition:width .9s var(--ease);background:linear-gradient(90deg,#63b4ad,#e36f34);display:block}.making__meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;font-size:.8125rem}@keyframes making-reveal{0%{filter:blur(6px)saturate(.4);opacity:.55}to{filter:blur()saturate();opacity:1}}@keyframes making-shine{0%{background-position:150% 0}to{background-position:-100% 0}}@keyframes making-wand{0%,to{transform:rotate(-12deg)scale(1)}50%{transform:rotate(12deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.making__frame--art img,.making__shine,.making__wand,.credit-meter__paws span.is-on{animation:none!important}}.credit-meter__buy{background:var(--paper);color:var(--text-primary);border-radius:14px;justify-content:center;align-self:stretch;align-items:center;gap:8px;padding:12px 16px;font-weight:800;text-decoration:none;display:inline-flex;box-shadow:0 3px #1f160d40}.shop-balance{background:var(--paper);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin:0;padding:8px 14px;font-weight:600;display:inline-flex}.shop-balance svg{color:var(--accent)}.shop-packs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.shop-pack{border:2px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:inherit;transition:transform .15s var(--ease), border-color .15s;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:22px 8px 14px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.shop-pack:hover{transform:translateY(-2px)}}.shop-pack.is-selected{border-color:var(--brand-teal);background:#effaf7;box-shadow:0 6px 18px #63b4ad59}.shop-pack__badge{white-space:nowrap;background:var(--accent);color:#fff;border-radius:999px;padding:3px 8px;font-size:.6875rem;font-weight:800;position:absolute;top:-10px;left:50%;translate:-50%}.shop-pack__credits{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;line-height:1}.shop-pack__unit{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.shop-pack__price{margin-top:8px;font-size:1.05rem;font-weight:800}.shop-pack__per{color:var(--link);font-size:.75rem;font-weight:700}.shop-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.shop-history li{background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:.9375rem;display:flex}.pix-card{background:var(--paper);border-radius:24px;flex-direction:column;align-items:stretch;gap:14px;padding:20px 18px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 28px #1f160d1f}.pix-card--done{text-align:center;align-items:center}.pix-card--done h2{font-family:var(--font-hand);letter-spacing:0;font-size:2.4rem}.pix-card__head{justify-content:space-between;align-items:center;display:flex}.pix-card__amount{font-family:var(--font-heading);font-size:1.8rem;font-weight:800}.pix-card__credits{color:var(--link);background:#effaf7;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:800;display:inline-flex}.pix-qr{width:220px;height:220px;image-rendering:pixelated;background:#fff;border-radius:12px;align-self:center;padding:8px;box-shadow:0 2px 10px #1f160d1a}.pix-qr--placeholder{border:2px dashed var(--border);color:var(--text-secondary);place-items:center;font-weight:700;display:grid}.pix-steps{gap:6px;margin:0;padding-left:1.2em;font-size:.9375rem;line-height:1.45;display:grid}.pix-code{word-break:break-all;resize:none;font-family:ui-monospace,monospace;font-size:.8rem}.pix-wait{color:var(--link);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.pix-timer{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.xp-reward{background:var(--surface);border:2px solid #ffd9bf;border-radius:20px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.xp-reward.is-close{border-color:var(--accent);box-shadow:0 0 0 4px #e36f341f}.xp-reward__row{align-items:flex-start;gap:12px;display:flex}.xp-reward__gift{flex:none;font-size:1.7rem;line-height:1}.is-close .xp-reward__gift{animation:1.6s ease-in-out infinite tilt-hello}.xp-reward__text{flex-direction:column;gap:2px;min-width:0;display:flex}.xp-reward__text strong{font-size:1rem}.xp-reward__text span{color:var(--text-secondary);font-size:.8125rem;line-height:1.4}.xp-reward__bar{background:#fdeee2;border-radius:999px;height:14px;position:relative;overflow:visible}.xp-reward__bar>span{border-radius:inherit;background:linear-gradient(90deg, #ffb48a, var(--accent));height:100%;transition:width .6s var(--ease);display:block}.xp-reward__bar i{background:var(--paper);border:2px solid var(--accent);width:26px;height:26px;color:var(--accent);border-radius:50%;place-items:center;font-style:normal;display:grid;position:absolute;top:50%;right:-4px;translate:0 -50%}.xp-reward__foot{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:.8125rem;font-weight:700;display:flex}.xp-reward__foot>span{white-space:nowrap}.xp-reward__foot>span:last-child{font-weight:600}.xp-reward__foot a{color:var(--link)}.xp-reward--compact{padding:12px 14px}.xp-earned{align-items:center}@media (prefers-reduced-motion:reduce){.is-close .xp-reward__gift{animation:none}}.achados-card{background:var(--paper);color:inherit;border:1px dashed #e8cfae;border-radius:18px;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.achados-card__icon{font-size:1.6rem}.achados-card__text{flex-direction:column;flex:1;min-width:0;display:flex}.achados-card__text span{color:var(--text-secondary);font-size:.8125rem}.achados-card__go{color:var(--text-secondary);font-size:1.6rem}.achados-hero{align-items:center;gap:14px;display:flex}.achados-hero__abu{background:#9adcd2;border-radius:50%;flex:none;place-items:end center;width:96px;height:96px;display:grid;overflow:hidden}.achados-filter{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.achados-chip{border:1px solid var(--border);background:var(--surface);min-height:44px;font:700 .875rem/1 var(--font-body);color:var(--text-primary);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;display:inline-flex}.achados-chip.is-active{background:var(--text-primary);color:var(--paper);border-color:var(--text-primary)}.achados-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:720px){.achados-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.achado{background:var(--surface);border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 14px #1f160d14}.achado__art{aspect-ratio:4/3;place-items:center;display:grid;position:relative}.achado__art img{object-fit:cover;width:100%;height:100%}.achado__emoji{font-size:3rem}.achado__tag{background:#ffffffe6;border-radius:999px;padding:2px 8px;font-size:.6875rem;font-weight:800;position:absolute;bottom:8px;left:8px}.achado__body{flex-direction:column;flex:1;gap:6px;padding:10px 12px 12px;display:flex}.achado__body h2{font-size:.9375rem;line-height:1.25}.achado__abu{font-family:var(--font-hand);color:#4a3826;flex:1;margin:0;font-size:1.1rem;line-height:1.2}.achado__btn{text-align:center;color:#1f160d;background:#f90;border-radius:12px;padding:10px 8px;font-size:.875rem;font-weight:800;text-decoration:none;display:block;box-shadow:0 2px #c77700}.achados-disclosure{text-align:center}.xp-reward__level{color:var(--text-secondary);margin:0;font-size:.8125rem;line-height:1.45}.xp-reward__level svg{color:var(--accent);vertical-align:-2px}img.photo--natural{aspect-ratio:auto;object-fit:contain;background:#f4efe6;height:auto;max-height:78vh}div.photo--natural{aspect-ratio:4/3}.avatar__img{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.avatar>.avatar__img{position:absolute;inset:0}.avatar-crop{background:var(--brand-soft);box-shadow:0 0 0 4px var(--paper), 0 0 0 6px var(--brand-teal);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:50%;margin:4px auto;overflow:hidden}.avatar-crop:active{cursor:grabbing}.shared-avatar{background:var(--brand-soft);width:112px;height:112px;box-shadow:0 0 0 5px var(--paper), 0 0 0 8px #63b4ad, 0 10px 24px #1f160d33;border-radius:50%;margin-bottom:6px;overflow:hidden}.shared-avatar img{object-fit:cover;width:100%;height:100%;display:block}.credit-meter__more{color:#fff;align-self:center;font-weight:800}.xp-reward__counters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.xp-reward__counters span{background:#fff7f0;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:4px;padding:8px 10px;display:flex}.xp-reward__counters small{color:var(--text-secondary);font-size:.75rem;font-weight:700}.xp-reward__counters small:first-child{text-transform:uppercase;letter-spacing:.05em;width:100%}.xp-reward__counters b{font-family:var(--font-heading);font-size:1.4rem;line-height:1}.xp-reward.is-done{border-color:#63b4ad}.xp-reward.is-done .xp-reward__bar>span{background:linear-gradient(90deg,#9adcd2,#63b4ad)}.xp-reward.is-done .xp-reward__bar i{color:#63b4ad;border-color:#63b4ad}.med-due{background:#fff7f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:.875rem;display:flex}.profile-xp{background:#fff7f0;border:1px solid #ffd9bf;border-radius:14px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.profile-xp__num{font-family:var(--font-heading);align-items:center;gap:6px;font-size:1.15rem;font-weight:800;display:inline-flex}.profile-xp__num svg{color:var(--accent)}.topbar__title{align-items:center;gap:8px;min-width:0;font-size:1.25rem;display:inline-flex}.topbar__text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar__emoji{background:var(--paper);border-radius:12px;flex:none;place-items:center;width:34px;height:34px;font-size:1.1rem;display:grid;box-shadow:0 2px #3d2d1e14}.hoje-title{font-family:var(--font-hand);letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(2rem,8vw,2.4rem);font-weight:700;line-height:1.05}.hoje-badges{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.hoje-level{background:var(--text-primary);border:1px solid var(--text-primary);color:#fff8ec;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.8125rem;font-weight:800;line-height:1.2;display:inline-flex}.hoje-level svg{color:#ffb36b;fill:#ffb36b}.hoje-xp{background:var(--link);border:1px solid var(--link);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.8125rem;font-weight:800;line-height:1.2;display:inline-flex}.hoje-note{font-family:var(--font-hand);color:#4a3826;background:var(--paper) repeating-linear-gradient(transparent 0 25px, #efe2cc 25px 26px) 0 8px;border-radius:6px;margin:0;padding:8px 14px 6px;font-size:1.3rem;line-height:1.25;rotate:-.6deg;box-shadow:0 2px 8px #1f160d14}.hoje-all{gap:8px}.hoje-all svg{color:var(--accent)}.page-note{font-family:var(--font-hand);color:#4a3826;background:var(--paper) repeating-linear-gradient(transparent 0 25px, #efe2cc 25px 26px) 0 8px;border-radius:6px;margin:0;padding:8px 14px 6px;font-size:1.3rem;line-height:26px;rotate:-.5deg;box-shadow:0 2px 8px #1f160d14}.levels{gap:6px;margin:4px 0 0;padding:0;list-style:none;display:grid}.levels li{background:var(--paper);border-radius:12px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.levels__n{color:#fff;background:#63b4ad;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.8125rem;font-weight:800;display:grid}.levels__t{font-weight:700}.levels__xp{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.8125rem}.invite-code{text-align:center;background:var(--paper) repeating-linear-gradient(transparent 0 25px, #efe2cc 25px 26px) 0 8px;border:2px dashed #63b4ad;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px;display:flex}.invite-code__label{letter-spacing:.06em;text-transform:uppercase;color:var(--link);font-size:.75rem;font-weight:800}.invite-code__value{letter-spacing:.08em;color:var(--text-primary);-webkit-user-select:all;user-select:all;font-family:ui-monospace,monospace;font-size:1.6rem}.sp-invite-link{font:700 .9375rem/1 var(--font-body);color:var(--text-primary);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:10px;text-decoration:underline}.filter-row{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding:2px 2px 6px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row--wrap{flex-wrap:wrap;overflow:visible}.filter-chip{border:1.5px solid var(--border);background:var(--surface);min-height:44px;color:var(--text-primary);font:700 .9375rem/1 var(--font-body);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease), transform .15s var(--ease);border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 16px;display:inline-flex}@media (hover:hover) and (pointer:fine){.filter-chip:hover{border-color:#63b4ad}}.filter-chip:active{transform:translateY(1px)}.filter-chip.is-active{background:var(--text-primary);color:var(--paper);border-color:var(--text-primary);box-shadow:0 3px #1f160d}.filter-chip:focus-visible{outline-offset:2px;outline:3px solid #63b4ad}.page-note:before{content:"🐾";vertical-align:2px;margin-right:6px;font-family:initial;font-size:1rem}.invite-role{background:var(--paper);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:10px 12px;display:flex}.invite-role svg{color:var(--accent)}.sp-link{font:700 .9375rem/1 var(--font-body);color:var(--link);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;padding:8px;text-decoration:underline}.pw-field{position:relative}.pw-field .input{padding-right:92px}.pw-toggle{font:700 .875rem/1 var(--font-body);color:var(--link);cursor:pointer;background:0 0;border:0;padding:10px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.dog-switch{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;display:inline-flex;position:relative}.dog-switch__count{background:var(--link);color:#fff;min-width:18px;height:18px;font:800 .6875rem/18px var(--font-body);text-align:center;border:2px solid var(--surface,#fff);border-radius:9px;padding:0 4px;position:absolute;bottom:-4px;right:-4px}.dog-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.dog-list__item{border:2px solid var(--border);background:var(--surface,#fff);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.dog-list__item--on{border-color:var(--brand-teal);background:var(--paper)}.dog-list__text{flex:1;gap:2px;min-width:0;display:grid}.dog-list__mark{color:var(--link);text-align:center;justify-content:center;width:1.2em;font-weight:800;display:inline-flex}.member-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.member{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.member:last-child{border-bottom:0}.member__avatar{background:var(--paper);width:38px;height:38px;color:var(--link);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.member__text{flex:1;gap:2px;min-width:140px;display:grid}.member__text .caption{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member__role{color:var(--link);font-size:.875rem;font-weight:700}.member__actions{align-items:center;gap:6px;margin-left:auto;display:flex}.member__select{width:auto;min-height:40px;padding:6px 10px;font-size:.9375rem}html[data-role=viewer] a[href^=\/guardar],html[data-role=viewer] .edit-only{display:none!important}.viewer-banner{background:var(--paper);color:var(--text-primary);text-align:center;font:700 .875rem/1.3 var(--font-body);border-bottom:1px solid var(--border);padding:8px 16px}.choice-card{color:inherit;background:var(--surface,#fff);border:2px solid var(--border);transition:border-color .15s var(--ease), transform .15s var(--ease);border-radius:18px;padding:16px;text-decoration:none;display:block}a.choice-card,.choice-card__head{align-items:center;gap:14px;display:flex}@media (hover:hover) and (pointer:fine){a.choice-card:hover,.choice-card__head:hover{border-color:var(--brand-teal)}}a.choice-card:active{transform:translateY(1px)}.choice-card__head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.choice-card.is-open{border-color:var(--brand-teal);gap:14px;display:grid}.choice-card__icon{background:var(--paper);border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:2rem;line-height:1;display:grid}.choice-card__text{text-align:left;gap:4px;display:grid}.choice-card__text strong{font-size:1.0625rem}.choice-card__text span{color:var(--text-secondary,#6b5a48);font-size:.9375rem}.hoje-level,.hoje-xp{box-sizing:border-box;white-space:nowrap;height:28px;padding:0 10px;font-size:.8125rem;line-height:1}.hoje-memory__photo{margin:4px 6px 0}.hoje-memory{min-width:0}.hoje-memory__photo{box-sizing:border-box;min-width:0;max-width:100%}.hoje-memory__photo .memory-fade{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;display:grid}.hoje-memory__photo .memory-fade>*{min-width:0;max-width:100%}.hoje-memory__photo .photo--natural{box-sizing:border-box;aspect-ratio:auto;object-fit:contain;background:#f3ede2;border-radius:4px;width:100%;min-width:0;max-width:100%;height:300px;max-height:none;display:block}.hoje-memory__photo .polaroid__note,.hoje-memory__photo .polaroid__meta{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.adjust-later{border:1.5px dashed var(--border);background:var(--surface,#fff);border-radius:14px;padding:12px 14px}.adjust-later summary{cursor:pointer;color:var(--link);font-weight:700;list-style-position:inside}.credit-line{background:var(--surface,#fff);border:1px solid var(--border);border-radius:14px;gap:8px;padding:12px 14px;display:grid}.credit-line__text{margin:0;line-height:1.45}.credit-line__buy{white-space:nowrap;font-size:.875rem;font-weight:700}.credit-line--out{background:var(--paper);border-color:#f0dcc0;justify-items:start}.invite-box{gap:10px;display:grid}.invite-box__roles{border:0;gap:4px;margin:0;padding:0;display:grid}.invite-box__roles legend{margin-bottom:4px;padding:0}.invite-box__roles .check{font-size:.9375rem}.memory-fade{animation:memory-fade .7s var(--ease,ease) both}@keyframes memory-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.memory-fade{animation:none}}.credit-line:not(.credit-line--out){color:var(--paper);background:linear-gradient(135deg,#63b4ad,#4f9f98);border:0;box-shadow:0 6px 18px #3f8f884d}.credit-line__top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.credit-line:not(.credit-line--out) .credit-line__buy{color:var(--paper);text-underline-offset:3px;text-decoration:underline}.credit-line__paws span{width:32px;height:32px}.tips-link{align-self:flex-start;padding:4px 0;font-size:.9375rem}.tips-list{gap:8px;margin:0 0 12px;padding-left:1.3em;display:grid}.invite-box__roles .check{min-height:0;box-shadow:none;background:0 0;border:0;gap:8px;padding:4px 0}.invite-box__roles .check input{width:18px;height:18px;accent-color:var(--text-primary);flex:none;margin:0}.invite-box__roles .check:has(input:checked){background:0 0;border:0}.share-app{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.share-actions{gap:8px;width:100%;display:grid}.name-ask{gap:8px;display:grid}.name-ask__title{font:inherit;font-size:1.15em}.name-ask__row{gap:8px;display:flex}.name-ask__row .input{min-width:0;font-family:var(--font-body);flex:1}.letter-card{background:#fffaf2 repeating-linear-gradient(#0000 0 31px,#f0dfc6 31px 32px);border:1px solid #f0dcc0;border-radius:14px;padding:18px 18px 14px;position:relative;box-shadow:0 6px 16px #3d2d1e14}.letter-card__kicker{font:800 .8125rem/1.2 var(--font-body);color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}.letter-card__hello,.letter-card__body,.letter-card__sign{font-family:var(--font-hand);color:var(--text-primary);margin:0;font-size:1.4rem;font-weight:500;line-height:32px}.letter-card__body{white-space:pre-wrap;overflow-wrap:anywhere}.letter-card__sign{text-align:right}.bone-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.bone-btn{border:1.5px solid var(--border);background:var(--surface,#fff);min-height:44px;color:var(--text-primary);font:700 .875rem/1 var(--font-body);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.bone-btn.is-on{background:#fff3e0;border-color:#e9b26b}.bone-bar__who{margin:0}.sticky-action__pair{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid;box-shadow:none!important}.sticky-action__pair .btn{white-space:nowrap;padding-left:10px;padding-right:10px;box-shadow:0 6px 18px #1d2b5338}.letter-card__input{resize:vertical;background:0 0;border:0;outline:none;width:100%;min-height:256px;padding:0;display:block}.letter-card__input::placeholder{color:#b9a68c}.letter-card--edit:focus-within{border-color:var(--brand-teal)}.topbar__actions{align-items:center;gap:8px;display:flex}.topbar__person{background:var(--surface,#fff);border:1.5px solid var(--border);width:40px;height:40px;color:var(--text-primary);border-radius:50%;place-items:center;display:grid}.sticky-action:has(.sticky-action__pair){justify-content:stretch}.sticky-action__pair .btn{min-width:0;padding-left:8px;padding-right:8px;font-size:.9375rem}.avatar-edit{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0;position:relative}.avatar-edit__hint{background:var(--text-primary);color:#fff8ec;font:700 .75rem/1 var(--font-body);white-space:nowrap;border-radius:999px;padding:5px 10px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #1f160d40}.invite-box__roles .check{align-items:flex-start}.invite-box__roles .check input{margin-top:2px}.invite-box__roles .check__text{gap:2px}.dog-list__row{align-items:stretch;gap:8px;display:flex}.dog-list__row .dog-list__item{flex:1;min-width:0}.dog-list__edit{border:2px solid var(--border);background:var(--surface,#fff);width:52px;color:var(--text-primary);cursor:pointer;border-radius:14px;flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.dog-list__edit:hover{border-color:var(--brand-teal)}}.studio-details{background:var(--surface,#fff);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.xp-reward__row{align-items:center}.xp-reward__info{border:1.5px solid var(--border);background:var(--surface,#fff);width:32px;height:32px;color:var(--link);font:700 1rem/1 var(--font-body);cursor:pointer;border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.more-details{border:1px solid var(--border);background:var(--surface,#fff);border-radius:14px;padding:10px 14px}.more-details summary{cursor:pointer;color:var(--link);font-weight:700}.tiny-details summary{cursor:pointer;color:var(--link);font-size:.875rem;font-weight:700}.tiny-details[open] summary{margin-bottom:4px}.bone-btn{filter:grayscale();opacity:.75;justify-content:center;width:40px;height:40px;padding:0;font-size:1.15rem}.bone-btn.is-on{filter:none;opacity:1}.photo-strip__item{position:relative}.photo-strip__item.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px #ffd9bf}.photo-strip__item.is-selected:after{content:"✓";background:var(--accent);color:#fff;width:22px;height:22px;font:800 .8rem/22px var(--font-body);text-align:center;border-radius:50%;position:absolute;top:4px;right:4px}.preset-card{position:relative}.preset-card.is-selected{border-color:var(--accent);background:#fff3e8;border-width:3px;box-shadow:0 0 0 3px #ffd9bf}.preset-card.is-selected:after{content:"✓";background:var(--accent);color:#fff;width:26px;height:26px;font:800 .9rem/26px var(--font-body);text-align:center;z-index:2;border-radius:50%;position:absolute;top:8px;right:8px}.title-with-info{align-items:center;gap:8px;display:inline-flex}.daily-card--compact{flex-direction:row;align-items:center;gap:6px;padding:8px 10px}.daily-card--compact .daily-card__main{flex:1;gap:10px;min-width:0;min-height:0}.daily-card--compact .mission-stamp{border-width:2px;width:40px;height:40px}.daily-card--compact .mission-stamp svg{width:20px;height:20px}.daily-card--compact .small.muted{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.daily-card--compact .caption{font-size:.75rem}.daily-card__swap{border:1.5px solid var(--border);background:var(--surface,#fff);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.btn--vet{background:var(--link);color:#fff;border:0;box-shadow:0 3px #174a45}@media (hover:hover) and (pointer:fine){.btn--vet:hover{filter:brightness(1.05)}}.profile-head{align-items:center;gap:16px;display:flex}.profile-head__name{margin:0;font-size:1.6rem}.profile-head__xp{color:var(--link);background:#e3f2ee;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.875rem;font-weight:700;text-decoration:none}.profile-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;padding:14px 16px}.profile-row__text{gap:2px;display:grid}.profile-row__text>span:first-child{font-weight:700}.danger-details{border-color:#f1c4bf}.danger-details summary{color:#b3402f}.account-avatar{background:var(--paper);width:72px;height:72px;color:var(--link);font:800 2rem/1 var(--font-heading);border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;display:grid}.pick-hero{align-items:flex-end;gap:12px;display:flex}.pick-hero__title{font-family:var(--font-hand);margin:0 0 6px;font-size:1.9rem;font-weight:700;line-height:1.1}.pick-tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pick-tile{cursor:pointer;font:inherit;color:var(--text-primary);transition:transform .15s var(--ease);border:0;border-radius:20px;justify-items:center;gap:4px;padding:22px 10px 18px;display:grid;box-shadow:0 6px #3d2d1e1f,0 10px 22px #3d2d1e14}.pick-tile:active{transform:translateY(2px)}.pick-tile--cam{background:linear-gradient(160deg,#ffe2c7,#ffd0a8)}.pick-tile--gal{background:linear-gradient(160deg,#d9f1ec,#bfe6de)}.pick-tile__icon{font-size:2.4rem;line-height:1}.pick-tile strong{font-size:1.05rem}.pick-tile__sub{color:var(--text-secondary,#6b5a48);font-size:.8125rem}.pick-recent{gap:6px;display:grid}.pick-recent__row{gap:10px;display:flex}.pick-recent__pola{background:#fff;border-radius:4px;width:70px;height:78px;padding:5px 5px 14px;display:block;box-shadow:0 4px 10px #3d2d1e26}.pick-recent__pola img{object-fit:cover;border-radius:2px;width:100%;height:100%;display:block}.dog-bell{position:relative}.dog-bell__count{background:var(--accent);color:#fff;min-width:18px;height:18px;font:800 .6875rem/18px var(--font-body);text-align:center;border:2px solid var(--surface,#fff);border-radius:9px;padding:0 4px;position:absolute;top:-4px;right:-4px}.notice-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.notice-item{text-align:left;border:1px solid var(--border);background:var(--surface,#fff);width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.notice-item.is-new{border-color:var(--accent);background:#fff6ee}.notice-item__text{font-weight:600}.profile-head__nick{font-family:var(--font-hand);color:var(--accent);font-size:1.3rem;line-height:1}.save-ask{background:#fff6ee;border:1.5px solid #f3c79f;border-radius:14px;gap:10px;padding:14px;display:grid}.privacy-list{gap:6px;margin:0;padding-left:1.1em;display:grid}.welcome-family{text-align:center;justify-items:center;gap:10px;margin-bottom:14px;display:grid}.welcome-family h2{margin:0}.is-target{animation:target-glow 1.8s var(--ease,ease) both;border-radius:6px}@keyframes target-glow{0%,60%{box-shadow:0 0 0 4px var(--accent), 0 10px 30px #e36f3459}to{box-shadow:none}}.bone-btn--count{width:auto;font:800 .875rem/1 var(--font-body);color:var(--text-primary);gap:4px;padding:0 12px}.done-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (min-width:520px){.done-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.done-card{min-width:0;color:var(--text-primary);background:var(--surface);box-shadow:var(--shadow-card);border:1px solid var(--border);transition:transform .16s var(--ease);border-radius:18px;flex-direction:column;gap:4px;padding:8px 8px 10px;text-decoration:none;display:flex}a.done-card:active{transform:scale(.97)}.done-card__photo{aspect-ratio:1;background:var(--brand-soft);border-radius:12px;display:block;position:relative;overflow:hidden}.done-card__img{object-fit:cover;width:100%;height:100%;display:block}.done-card__img--empty{place-items:center;font-size:1.75rem;display:grid}.done-card__check{color:#fff;background:#2e8b57;border:2px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #0000002e}.done-card__check svg{stroke-width:3px}.done-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:2px 2px 0;font-size:.9375rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.done-card__meta{color:var(--text-secondary);padding:0 2px;font-size:.8125rem}.lang-switch{gap:6px;display:grid}.lang-switch__label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.lang-switch--compact .filter-row{justify-content:center}.intro__main>.lang-switch--compact{margin-top:4px}.sp-lang{justify-content:center;display:flex}.sp-lang .filter-chip{background:#fff8ecd9}.brand-lockup__tag--en{letter-spacing:.02em;font-weight:600}.sp-brand__en{opacity:.85;margin-top:2px;font-size:.8125rem;font-weight:600;display:block}a,button,summary,label,input[type=checkbox],input[type=radio],[role=button],[role=tab],[role=radio]{touch-action:manipulation}.legal{gap:12px;line-height:1.55;display:grid}.legal p,.legal ul{margin:0}.legal ul{gap:6px;padding-left:1.2em;display:grid}.legal__table{overflow-x:auto}.legal__table td{vertical-align:top;padding:6px 4px}.legal__nav{flex-wrap:wrap;justify-content:center;gap:8px 16px;display:flex}.legal__nav a,.legal-links a{color:var(--link);font-weight:600}.legal-links{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;font-size:.8125rem;display:flex}.chip-spinner{vertical-align:-1px;border-width:2px;width:12px;height:12px;margin-right:6px;display:inline-block}.btn[aria-busy=true]{pointer-events:none}.btn[aria-busy=true]:before{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite sp-spin}.profile-row:active{transform:translateY(1px)}.bottom-nav a:active .nav-icon{transform:scale(.9)}@media (prefers-reduced-motion:reduce){.btn[aria-busy=true]:before{animation-duration:2.4s}}.check .chip-spinner{margin:0 0 0 8px}.celebrate{width:min(92vw,380px);max-width:none;color:var(--text-primary);background:0 0;border:0;padding:0;overflow:visible}.celebrate::backdrop{background:#3d2d1e8c}.celebrate__fireworks{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.celebrate__burst{width:0;height:0;position:absolute}.celebrate__burst i{opacity:0;width:6px;height:18px;transform:rotate(var(--a)) translateY(0);background:currentColor;border-radius:3px;animation:1.6s cubic-bezier(.2,.7,.3,1) 3 both celebrate-spark;position:absolute;top:-9px;left:-3px;box-shadow:0 0 10px}@keyframes celebrate-spark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-130px) scale(.5)}}.celebrate__confetti{opacity:0;border-radius:2px;width:9px;height:14px;animation:2.6s ease-in 2 both celebrate-fall;position:absolute;top:-20px}@keyframes celebrate-fall{0%{opacity:1;transform:translate(0, 0) rotate(var(--r))}to{opacity:.9;transform:translate(var(--x), 105vh) rotate(calc(var(--r) + 540deg))}}.celebrate__card{background:var(--paper);text-align:center;animation:celebrate-pop .42s var(--spring,cubic-bezier(.34, 1.56, .64, 1)) both;border-radius:24px;gap:10px;padding:20px 20px 16px;display:grid;position:relative;box-shadow:0 18px 50px #1f160d59}.celebrate__card h2{outline:none;margin:0;font-size:1.35rem}.celebrate__card p{margin:0}.celebrate__abu{margin:-72px auto 0;animation:.9s ease-in-out .3s 2 celebrate-jump}.celebrate__paws{font-family:var(--font-heading);color:var(--accent);letter-spacing:.01em;margin:0;font-size:1.75rem;font-weight:800}@keyframes celebrate-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@keyframes celebrate-jump{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)rotate(-4deg)}70%{transform:translateY(0)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.celebrate__fireworks{display:none}.celebrate__card,.celebrate__abu{animation:none}}
