:root{--bg: #ffffff;--surface: #f5f5f2;--surface-2: #fafaf8;--line: #e4e3df;--line-soft: #ededea;--ink: #1d1e22;--ink-2: #5a5e68;--accent: #0b7a63;--accent-ink: #0b5c4b;--accent-tint: #e3f2ee;--urgent: #c2410c;--urgent-ink: #9a3412;--urgent-tint: #fff1e8;--urgent-line: #f6c9ae;--note: #fff6db;--note-ink: #5c4200;--radius: 16px;--nav-h: 72px;--max-w: 560px;font-family:Rubik,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);line-height:1.45}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:8px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{min-height:100dvh}.page{max-width:var(--max-w);margin:0 auto;padding-bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}.page--no-nav{padding-bottom:32px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;min-height:60px;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));background:#fffffff5;border-bottom:1px solid var(--line-soft)}.topbar h1{margin:0;font-size:18px;font-weight:600;flex:1}.topbar .brand{font-size:22px;font-weight:700;color:var(--accent);flex:1;padding-inline-start:8px}.section{padding:16px 20px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:8px}.spacer{flex:1}.muted{color:var(--ink-2)}.small{font-size:13px}.icon-btn{width:44px;height:44px;border:0;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink)}.icon-btn:hover,.icon-btn--soft{background:var(--surface)}.btn{min-height:44px;padding:0 18px;border-radius:12px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:600;background:var(--surface);color:var(--ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-ink)}.btn--outline{background:#fff;border-color:var(--line)}.btn--urgent{background:var(--urgent-tint);color:var(--urgent-ink);border-color:var(--urgent-line)}.btn--danger{background:#fff;color:var(--urgent-ink);border-color:var(--urgent-line)}.btn--block{width:100%;min-height:52px;font-size:16px;border-radius:14px}.btn--small{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}.link-btn{border:0;background:none;padding:0;color:var(--accent);font-weight:600;min-height:44px}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.label{font-size:14px;font-weight:600}.input,.textarea,.select{width:100%;min-height:50px;padding:0 14px;border:1px solid #d6d5d0;border-radius:14px;background:#fff;font-size:16px}.textarea{padding:12px 14px;resize:vertical;min-height:96px;line-height:1.5}.input:focus,.textarea:focus,.select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.hint{font-size:12px;color:var(--ink-2)}.hint--error,.error{color:var(--urgent-ink)}.error-box{padding:10px 14px;border-radius:12px;background:var(--urgent-tint);color:var(--urgent-ink);font-size:14px}.counter{font-size:12px;color:var(--ink-2);text-align:left}.segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.segmented label{min-height:50px;border:1px solid #d6d5d0;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500;cursor:pointer}.segmented input{accent-color:var(--accent);width:18px;height:18px;margin:0}.segmented label:has(input:checked){border:2px solid var(--accent);background:var(--accent-tint);color:var(--accent-ink);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;border-radius:20px;border:1px solid #d6d5d0;background:#fff;display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.chip input{accent-color:var(--accent);width:16px;height:16px;margin:0}.chip:has(input:checked){border:2px solid var(--accent);background:var(--accent-tint);color:var(--accent-ink);font-weight:600}.tabs{display:flex;gap:8px;padding:12px 20px 4px}.tab{min-height:40px;padding:0 16px;border-radius:20px;border:0;background:var(--surface);font-size:14px;font-weight:500}.tab[aria-selected=true]{background:var(--ink);color:#fff;font-weight:600}.avatar{flex-shrink:0;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.avatar img{width:100%;height:100%;object-fit:cover}.bottom-nav{position:fixed;inset-inline:0;bottom:0;z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line)}.bottom-nav ul{list-style:none;margin:0 auto;padding:6px 0 0;max-width:var(--max-w);display:flex;justify-content:space-around;align-items:flex-start}.bottom-nav a{min-width:64px;min-height:48px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink-2)}.bottom-nav a[aria-current=page]{color:var(--accent);font-weight:600}.bottom-nav .nav-create{width:52px;height:52px;min-width:0;border-radius:26px;justify-content:center;background:var(--accent);color:#fff}.feed{display:flex;flex-direction:column}.post{padding:16px 16px 8px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:10px}.post-head{display:flex;align-items:center;gap:10px}.post-head .who{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.post-head .name{font-size:15px;font-weight:600}.post-head .meta{font-size:12px;color:var(--ink-2)}.post-caption{margin:0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.post-caption .tag{color:var(--accent)}.post-actions{display:flex;align-items:center;gap:2px;margin-inline-start:-8px}.post-actions .act{min-height:40px;padding:0 10px;border:0;border-radius:20px;background:none;display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink)}.post-actions .act:hover{background:var(--surface)}.post-actions .act[aria-pressed=true]{color:var(--urgent)}.images{display:grid;gap:4px;border-radius:var(--radius);overflow:hidden;background:var(--surface)}.images--1{grid-template-columns:1fr}.images--2,.images--4,.images--3{grid-template-columns:repeat(2,minmax(0,1fr))}.images--3>:first-child{grid-row:span 2}.images img{width:100%;height:100%;object-fit:cover;background:var(--surface)}.images--1 img{max-height:70vh;object-fit:cover}.images--2 img,.images--3 img,.images--4 img{aspect-ratio:1}.images--3>:first-child img{aspect-ratio:auto;height:100%}.pet-tags{display:flex;flex-wrap:wrap;gap:6px}.pet-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:14px;background:var(--accent-tint);color:var(--accent-ink);font-size:13px;font-weight:500}.profile-head{display:flex;align-items:center;gap:14px}.profile-head h1,.profile-head h2{margin:0;font-size:22px;font-weight:700}.stats{display:flex;justify-content:space-around;padding:10px 0;border-radius:14px;background:var(--surface)}.stat{display:flex;flex-direction:column;align-items:center}.stat b{font-size:17px}.stat span{font-size:12px;color:var(--ink-2)}.kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.kid{padding:14px 12px;border-radius:18px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.kid:hover{border-color:var(--accent)}.kid .kid-name{font-size:16px;font-weight:600}.kid--add{border-style:dashed;color:var(--accent);justify-content:center;font-weight:600;min-height:150px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.grid3 a{aspect-ratio:1;background:var(--surface);overflow:hidden;display:block}.grid3 img{width:100%;height:100%;object-fit:cover}.grid3 .text-tile{padding:8px;font-size:12px;color:var(--ink-2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}.thumbs{display:flex;gap:10px;flex-wrap:wrap}.thumb{position:relative;width:104px;height:104px;border-radius:14px;overflow:hidden;background:var(--surface)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .remove{position:absolute;top:6px;left:6px;width:32px;height:32px;border-radius:16px;border:0;background:#1d1e22b8;color:#fff;display:flex;align-items:center;justify-content:center}.thumb--add{border:1px dashed #b9b8b2;background:#fff;color:var(--accent);font-size:13px;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.photo-picker{width:112px;height:112px;border-radius:56px;border:2px dashed #9fcfc2;background:var(--accent-tint);color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:13px;font-weight:600;overflow:hidden;align-self:center;cursor:pointer;padding:0}.photo-picker img{width:100%;height:100%;object-fit:cover}.comments{list-style:none;margin:0;padding:0 16px;display:flex;flex-direction:column;gap:14px}.comment{display:flex;gap:10px}.comment .bubble{flex:1;min-width:0}.comment .who{font-size:14px;font-weight:600}.comment p{margin:2px 0 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-form{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line-soft)}.comment-form .input{min-height:44px;border-radius:22px;background:var(--surface);border-color:transparent}.empty{padding:48px 24px;text-align:center;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:12px}.empty h2{margin:0;font-size:18px;color:var(--ink)}.center{display:flex;align-items:center;justify-content:center;padding:32px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--accent-tint);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.4s}}.demo-banner{background:var(--note);color:var(--note-ink);font-size:12px;text-align:center;padding:6px 12px}.note{padding:12px 14px;border-radius:14px;background:var(--note);color:var(--note-ink);font-size:14px}.login{max-width:420px;margin:0 auto;padding:48px 24px;display:flex;flex-direction:column;gap:20px;min-height:100dvh}.login .logo{width:72px;height:72px;border-radius:22px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.login h1{margin:0;font-size:28px}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.progress{height:6px;border-radius:3px;background:var(--line-soft);overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:3px}
