/* DogZi: warm, playful, accessible mobile-first UI. All assets served locally. */
:root{--ink:#203b2e;--muted:#6f7b70;--paper:#f7f8f3;--line:#e5e9df;--accent:#dfedcf;--radius:24px}body{font-family:"Segoe UI",system-ui,sans-serif;letter-spacing:-.15px}h1,h2,h3,.intro h1,.page-heading h1{font-family:inherit;letter-spacing:-1px;font-weight:750}h1{font-size:34px}h2{font-size:23px}h3{font-size:17px;letter-spacing:-.35px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:#708767;font-weight:750}.topbar{height:82px;max-width:1320px;border-bottom:0}.brand{font-size:27px;letter-spacing:-1.2px}.brand-mark{background:#e4eed9;color:#32543a;box-shadow:none;border-radius:16px;height:44px;width:44px;font-size:24px;display:grid;place-items:center}.edition{font-size:13px;color:var(--muted)}.shell{max-width:1320px;padding-top:24px}.card{border:1px solid var(--line);box-shadow:0 6px 24px #233d2710;border-radius:24px;padding:26px}button,.primary,.secondary,.link-button{border-radius:15px;font-weight:650}.primary{background:#4d7650;color:white;box-shadow:0 5px 12px #345d3520}.primary:hover{background:#3f6542}.secondary{background:#eaf1e2;color:#36563b;border:1px solid #dce6d4}.quiet:hover{background:#edf2e9}.primary:disabled{cursor:not-allowed}.muted{font-size:14px;line-height:1.65}input,select,textarea{border-radius:13px;background:#fcfdfb;min-height:46px;border-color:#dce3d7}input:focus,select:focus,textarea:focus{outline:2px solid #8fac7e;outline-offset:1px}label{font-size:13px;font-weight:550}.tabs{padding:5px;background:#edf0e9;border-radius:15px;gap:4px}.tabs button{border-radius:11px;font-size:13px;min-height:40px}.tabs .selected{background:white;color:#365a3c;box-shadow:0 2px 8px #19372210}.dashboard-grid{grid-template-columns:195px minmax(0,1fr);gap:35px}.sidebar nav a{display:flex;justify-content:flex-start;gap:13px;align-items:center;border-radius:14px;padding:13px 15px;font-size:20px;margin-bottom:5px}.sidebar nav a span{font-size:14px}.sidebar nav a.active{background:#e1ecd7;color:#315f38}.sidebar-note{margin-top:35px;border-radius:20px;background:#f2e6cc;padding:24px;font-size:17px;font-weight:650;color:#74623d}.page-heading{margin-bottom:25px}.page-heading h1{font-size:31px;margin:5px 0}.page-heading p{margin:5px 0}.hello-paw{font-size:35px;transform:rotate(15deg);display:block;background:#e4efd9;padding:14px;border-radius:22px}.home-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:24px}.home-layout>div,.home-layout>aside{min-width:0}.dog-picker-label{color:var(--muted)}.dog-picker-label select{max-width:260px}.focus-dog{background:linear-gradient(120deg,#fff 60%,#f4f8ec);padding:25px}.focus-dog-top{display:flex;align-items:center;gap:16px}.focus-dog-top img{width:85px;height:85px;object-fit:cover;border-radius:50%;border:5px solid #edf4e5}.focus-dog-top h2{font-size:27px;margin:3px 0}.focus-dog-top p{font-size:12px;margin:4px 0}.round-link{margin-left:auto;border:1px solid #e1e7d9;border-radius:50%;padding:8px 13px}.dog-vitals{display:grid;grid-template-columns:1fr 1.6fr;padding:20px 0;gap:16px}.dog-vitals span{display:block;font-size:12px;color:var(--muted)}.dog-vitals strong{display:block;font-size:16px;margin-top:4px}.gentle-note{font-size:12px;line-height:1.6;padding:13px 15px;border-radius:14px;background:#edf4e5;color:#4c6945}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.feature-tile{display:block;border:1px solid #ffffff90;border-radius:22px;padding:24px 18px;transition:transform .15s,box-shadow .15s;min-height:165px}.feature-tile:hover{transform:translateY(-3px);box-shadow:0 9px 18px #25422a12}.feature-tile>span{font-size:33px;display:block;margin-bottom:12px}.feature-tile h3{margin:6px 0}.feature-tile p{font-size:12px;line-height:1.5;margin:5px 0;color:#63705f}.peach{background:#faecd9}.mint{background:#e8f0df}.lavender{background:#efecf8}.sky{background:#e6f1f3}.community-banner{display:block;padding:27px;border-radius:25px;background:#dfeccc;overflow:hidden;margin-bottom:23px}.community-banner>span{font-size:30px;letter-spacing:8px}.community-banner h2{font-size:27px;line-height:1.2}.community-banner p{font-size:13px;color:#5b7555}.community-banner strong{display:block;margin-top:22px;font-size:13px}.upcoming-card h2{font-size:22px}.upcoming-card p{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:12px;line-height:1.7}.text-link{font-size:13px;color:#51784b;font-weight:650}.tiny-stat{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:11px}.tiny-stat strong{font-size:21px;color:#3d603e}.welcome{gap:70px;align-items:center}.intro{position:relative}.intro h1{font-size:49px;line-height:1.12;max-width:500px}.intro h1 em{font-style:normal;color:#618156}.welcome-dog{width:200px;height:210px;object-fit:cover;border-radius:40px;float:right;margin:0 0 20px 18px;transform:rotate(4deg);box-shadow:12px 13px 0 #e7eedb}.intro>p{font-size:16px;line-height:1.8}.intro-note{clear:both}.auth-card{padding:35px;background:#fff}.auth-card h2{font-size:27px}.dog-photo{height:220px;border-radius:18px}.dog-avatar{background:#e8efdc;border-radius:50%;font-family:inherit;font-weight:700}.dog-card h2{font-size:25px}.dog-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.empty{background:#f5f8ef;border-style:dashed;padding:30px}.empty h2,.empty h3{font-family:inherit;font-size:21px}.search-row{display:flex;gap:10px;margin:20px 0}.search-row input{margin:0;flex:1;min-width:0}.person-line{display:flex;align-items:center;gap:12px}.person-avatar{display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:15px;background:#e6eedb;color:#587148;font-weight:750;font-size:20px}.person-line small,.person-card small,.food-card small,.meal-row small{display:block;color:var(--muted);font-size:12px}.post-body,.comment p,.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere}.post-body{line-height:1.8;font-size:15px;margin:20px 0}.social-post .liked{color:#bd625c}.person-card{display:flex;align-items:flex-start;gap:14px;padding:22px;background:white;border:1px solid var(--line);border-radius:20px;margin:14px 0}.person-card p{font-size:13px}.person-card .actions{gap:6px}.person-card .actions button{font-size:12px}.comment{padding:14px;border-radius:13px;background:#f1f5ed;margin:9px 0;font-size:13px}.comment p{margin:6px 0}.messenger{display:grid;grid-template-columns:210px minmax(0,1fr);gap:17px}.messenger aside{padding:12px}.chat-contact{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:12px 8px;font-size:13px}.chat-contact.selected{background:#edf4e4}.badge{border-radius:20px;padding:2px 7px;background:#527a4b;color:white;font-size:10px}.chat-messages{height:370px;overflow-y:auto;display:flex;flex-direction:column;gap:9px;padding:10px 0;overscroll-behavior:contain}.chat-bubble{max-width:86%;background:#f0f2ed;border-radius:17px 17px 17px 4px;padding:12px 15px;align-self:flex-start}.chat-bubble.mine{background:#e2edda;align-self:flex-end;border-radius:17px 17px 4px 17px}.chat-bubble p{margin:0 0 5px;font-size:14px}.chat-bubble small{font-size:10px;color:var(--muted)}#chatForm textarea{min-height:70px;margin-top:10px}.food-card{display:flex;gap:18px;padding:22px;border:1px solid var(--line);border-radius:20px;background:white;margin:13px 0}.food-icon{display:grid;place-items:center;width:65px;height:75px;border-radius:16px;background:#fbefd8;font-size:32px;flex-shrink:0}.food-card details{font-size:12px}.food-card p{overflow-wrap:anywhere}.portion-box{background:#fff0d7;padding:25px;border-radius:20px;text-align:center;margin:20px 0}.portion-box span{font-size:13px}.portion-box strong{display:block;font-size:36px;letter-spacing:-1px}.portion-box p{font-size:12px;margin-bottom:0}.meal-summary{padding:20px;background:#eaf2e1;border-radius:18px;margin:15px 0;font-size:12px}.meal-summary strong{font-size:22px;display:block}.meal-row{display:flex;gap:16px;background:white;padding:20px;border-radius:18px;border:1px solid var(--line);margin:10px 0}.meal-row>span{font-size:27px}.meal-row p{margin:5px 0;font-size:14px}#walkTimer{font-size:45px;color:#53774b}.social-tabs{position:sticky;top:0;z-index:2}footer{font-size:11px}.check-label{font-weight:450;line-height:1.6}.check-label input{min-height:auto}details summary{font-size:14px;font-weight:600}.social-post h3{margin-top:0}
@media(max-width:1100px){.home-layout{grid-template-columns:1fr}.home-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tiny-stat{grid-column:1/-1}.community-banner{margin:0}.welcome{gap:30px}.intro h1{font-size:40px}.welcome-dog{width:150px;height:170px}.messenger{grid-template-columns:170px 1fr}}
@media(max-width:680px){.topbar{height:72px;padding:0 19px;background:#f7f8f3}.brand{font-size:24px}.brand-mark{width:38px;height:38px;font-size:20px}.shell{padding:15px 17px 85px}.page-heading h1{font-size:27px}.page-heading{margin-bottom:20px}.hello-paw{font-size:25px;padding:12px}.card{padding:21px;border-radius:22px}.focus-dog-top{gap:12px}.focus-dog-top img{width:72px;height:72px}.focus-dog-top h2{font-size:24px}.focus-dog-top .eyebrow{font-size:8px}.focus-dog-top p{font-size:11px}.round-link{padding:5px 9px}.feature-grid{gap:12px}.feature-tile{padding:19px 16px;min-height:151px;border-radius:20px}.feature-tile>span{font-size:31px;margin-bottom:8px}.feature-tile h3{font-size:15px}.feature-tile p{font-size:11px}.home-layout>aside{display:block}.community-banner{margin:6px 0 20px}.community-banner h2 br{display:none}.community-banner h2{font-size:24px}.community-banner>span{float:right;font-size:22px;letter-spacing:0}.bottom{border-radius:20px 20px 0 0;box-shadow:0 -5px 18px #23392308;padding-top:9px;background:#fffefc}.bottom a{font-size:21px;gap:4px;min-width:0;flex:1;padding:4px 2px}.bottom span{font-size:10px;font-weight:600}.bottom .active{background:transparent;color:#4d7948}.bottom .active span{border-bottom:2px solid #6e9459;padding-bottom:3px}.welcome{display:flex;flex-direction:column;gap:20px}.intro{padding:15px 3px 0}.intro h1{font-size:36px;line-height:1.1;margin:12px 0 18px}.welcome-dog{width:118px;height:134px;float:right;margin:0 0 10px 12px;border-radius:25px;box-shadow:6px 7px 0 #e7eedb}.intro>p{font-size:14px;line-height:1.7}.auth-card{width:100%;padding:25px;margin-top:10px}.intro-note{display:none}.messenger{display:block}.messenger aside{display:flex;overflow-x:auto;gap:8px;padding:10px}.chat-contact{min-width:145px;max-width:220px}.chat-messages{height:330px}.social-tabs button{font-size:12px;padding:8px 7px}.person-card{padding:17px;gap:10px}.person-avatar{width:36px;height:36px;font-size:17px}.food-card{padding:17px;gap:12px}.food-icon{width:48px;height:60px;font-size:25px}.person-card .actions button{padding:8px}.topbar #logout{font-size:12px}.tiny-stat{margin-top:20px}.dog-vitals{gap:10px}#community h1{font-size:25px}.upcoming-card{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.post-photo{display:block;max-width:100%;width:100%;max-height:460px;object-fit:contain;border-radius:18px;background:#f0f3ec;margin-bottom:15px}

/* Preserve the active 0.8 GPS, health and companion views. */
.sidebar nav a{font-size:14px;justify-content:space-between}.sidebar nav a span{font-size:20px}.home-v07{max-width:100%;display:grid;grid-template-columns:1fr 1fr;gap:18px}.home-hero,.walk-cta,.quick-adventures,.care-card{grid-column:1/-1}.home-hero{background:#f3ecd9;border-radius:28px;padding:27px;margin:0;align-items:center;gap:18px}.home-hero h1{font:750 34px/1.2 "Segoe UI",system-ui,sans-serif;letter-spacing:-1px}.home-subtitle{font:400 15px/1.6 "Segoe UI",system-ui,sans-serif;color:#667255;max-width:360px}.home-dog-avatar{width:95px;height:95px;border:5px solid #fff;background:#fae4c8;box-shadow:0 5px 15px #35563014}.home-dog-switch strong{font-size:15px}.home-card{margin:0;padding:24px;border-radius:24px;min-width:0}.card-head h2,.today-grid strong,.dog-summary-grid strong,.last-walk-stats strong,.goal-card>strong,.tama-copy strong,.walk-live-head h2,.walk-live-stats strong{font-family:inherit;font-weight:700;letter-spacing:-.5px}.card-head h2{font-size:21px}.card-head{gap:10px}.walk-cta{background:#4d7650;border-radius:19px;margin:0;height:62px;box-shadow:none}.walk-cta:hover{background:#3c6542}.quick-adventures{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quick-adventures a{background:#f8e7d5;border-radius:24px;padding:22px;display:grid;grid-template-columns:auto 1fr;column-gap:15px;align-items:center;transition:transform .15s}.quick-adventures a:nth-child(2){background:#e9e4f3}.quick-adventures a:hover{transform:translateY(-2px)}.quick-adventures span{font-size:35px;grid-row:1/3}.quick-adventures strong{font-size:17px}.quick-adventures small{font-size:12px;color:#66715f;margin-top:5px}.goal-card{background:#eaf1e2;grid-template-columns:1fr auto;gap:12px}.goal-icon{display:none}.goal-card .card-head{display:block}.goal-card h2{margin-bottom:8px}.tamagotchi-card{background:#fbedd9}.tama-avatar{background:#f5dcae;border-radius:25px;box-shadow:none}.community-card{background:#e9eef7}.community-preview{background:#fff8}.metric-icon{background:#edf2e6}.today-grid strong,.dog-summary-grid strong{font-size:25px}.today-grid>div,.dog-summary-grid>div{padding:3px 5px}.home-empty{line-height:1.7}.last-walk{grid-template-columns:1fr}.last-walk-stats{grid-template-columns:1fr 1fr}.route-preview{height:90px}.home-card .muted{font-size:12px}.tama-copy strong{font-size:20px}.tama-body{gap:12px}.bottom a{font-size:21px}.bottom a span{font-size:10px}.topbar #logout:after{content:none}.topbar #logout{font-size:12px}.walk-map{border-radius:0}.card-head small{line-height:1.5}.brand-mark{line-height:1}.auth-card{min-width:0}
@media(max-width:900px){.home-v07{grid-template-columns:1fr}.home-hero,.walk-cta,.quick-adventures,.care-card{grid-column:auto}.dashboard-grid{gap:22px;grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:680px){.dashboard-grid{display:block}.home-v07{gap:14px}.home-hero{padding:20px;border-radius:24px}.home-hero h1{font-size:27px;overflow-wrap:anywhere}.home-subtitle{font-size:13px;line-height:1.5}.home-dog-avatar{width:72px;height:72px;border-width:3px}.home-dog-switch{min-width:72px}.home-dog-switch strong{font-size:12px}.home-card{padding:20px;border-radius:23px}.quick-adventures{gap:12px}.quick-adventures a{display:block;padding:18px}.quick-adventures span{display:block;font-size:30px;margin-bottom:10px}.quick-adventures strong,.quick-adventures small{display:block}.quick-adventures strong{font-size:16px}.quick-adventures small{font-size:11px;line-height:1.5}.bottom-main b{background:#4d7650}.today-grid strong,.dog-summary-grid strong{font-size:25px}.intro h1{max-width:none}.card-head h2{font-size:21px}.tama-avatar{width:74px;height:74px}}
