@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #F6F7F6;--surface: #FFFFFF;--primary: #2F6B5E;--primary-strong: #1F4A40;--primary-soft: #E1EAE7;--gold: #B08A3E;--gold-soft: #F3ECDA;--alert: #A8394A;--alert-soft: #F3E2E4;--text: #24302C;--text-muted: #6B7570;--border: #DCE2DF;--shadow-sm: 0 1px 3px rgba(31, 74, 64, .08);--shadow-md: 0 4px 14px rgba(31, 74, 64, .12);--radius-lg: 12px;--radius-md: 8px;--radius-pill: 999px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}.screen{padding:16px;max-width:480px;margin:0 auto}html[data-idle-banner=on] .screen{padding-bottom:calc(24px + var(--idle-banner-h) + env(safe-area-inset-bottom))}h1{font-size:1.5rem;font-weight:700;margin:8px 0 16px;letter-spacing:-.01em}h2{font-size:1.05rem;font-weight:700;margin:20px 0 8px;color:var(--text)}h3{font-weight:700}p{line-height:1.5}.back-link{display:inline-block;color:var(--primary-strong);text-decoration:none;font-weight:600;font-size:.9rem;margin-bottom:4px}.back-link:hover{text-decoration:underline}.hero-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 2px}.hero-banner h1{margin:0}.hero-subtitle{text-align:center;color:var(--text-muted);margin:0 0 20px;font-size:.95rem}.reminder-banner{display:flex;flex-direction:column;gap:8px;margin:0 0 20px}.reminder-chip{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.9rem;border:1.5px solid transparent}.reminder-chip.reminder-overdue{background:var(--alert-soft);border-color:var(--alert);color:var(--alert)}.reminder-chip.reminder-soon{background:var(--gold-soft);border-color:var(--gold);color:#8a6100}.reminder-icon{font-size:1.2rem;flex-shrink:0}.reminder-text{flex:1}.pet-list{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:10px}.tile.pet-list-item{display:flex;align-items:center;gap:14px;padding:14px 16px;font-size:1.05rem}.pet-thumb{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.pet-thumb.placeholder,.pet-header-photo.placeholder{display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--pet-primary-soft, var(--primary-soft))}.settings-link-row{margin-top:24px;text-align:center}.settings-link-row a{color:var(--text-muted);text-decoration:none;font-weight:600}.settings-link-row a:hover{color:var(--primary-strong)}.tile,.current-card,.settings-section,.record-item,.emergency-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tile{display:block;padding:16px;text-decoration:none;color:var(--text);font-weight:600;transition:transform .15s ease,box-shadow .15s ease}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.icon-tile{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px 12px}.icon-tile-icon{position:relative;width:52px;height:52px;border-radius:50%;background:var(--pet-primary-soft, var(--primary-soft));display:flex;align-items:center;justify-content:center;font-size:26px}.icon-tile-label{font-size:.9rem}.tile-dot{position:absolute;top:0;right:2px;width:13px;height:13px;border-radius:50%;border:2px solid var(--surface)}.tile-dot-overdue{background:var(--alert)}.tile-dot-soon{background:var(--gold)}.emergency-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);background:var(--alert);color:#fff;text-decoration:none;font-weight:600;box-shadow:var(--shadow-sm)}.pet-header{display:flex;align-items:center;gap:14px;margin-bottom:18px;position:relative}.pet-header-photo{width:68px;height:68px;border-radius:50%;object-fit:cover;background:var(--pet-primary-soft, var(--primary-soft));font-size:30px}.pet-subtitle{margin:2px 0 0;color:var(--text-muted);font-weight:600}.edit-link{margin-left:auto;align-self:flex-start}.photo-field{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:4px}.photo-upload-circle{position:relative;display:block;width:100px;height:100px;border-radius:50%;cursor:pointer}.photo-upload-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover}.photo-upload-placeholder{width:100%;height:100%;border-radius:50%;background:var(--pet-primary-soft, var(--primary-soft));display:flex;align-items:center;justify-content:center;font-size:40px}.photo-upload-badge{position:absolute;bottom:-2px;right:-2px;width:32px;height:32px;border-radius:50%;background:var(--pet-primary, var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;border:3px solid var(--bg);box-shadow:var(--shadow-sm)}.photo-field-hint{color:var(--text-muted);font-size:.85rem;font-weight:600}.record-form{display:flex;flex-direction:column;gap:14px;margin:16px 0}.field{display:flex;flex-direction:column;gap:5px;font-size:.9rem}.field span{font-weight:700;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.field input[type=checkbox]{align-self:flex-start;width:20px;height:20px;accent-color:var(--primary-strong)}.field input,.field select,.field textarea{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--pet-primary, var(--primary));box-shadow:0 0 0 3px var(--pet-primary-soft, var(--primary-soft))}.field input[type=file]{border:none;padding:4px 0}.color-swatch-row{display:flex;gap:12px;margin-top:2px}.color-swatch{width:36px;height:36px;padding:0;border:none;border-radius:50%;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.color-swatch.selected{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--text)}.form-actions{display:flex;gap:10px}button,.btn-secondary{padding:11px 20px;border-radius:var(--radius-md);border:none;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}button{background:var(--pet-primary, var(--primary));color:#fff;box-shadow:var(--shadow-sm)}button:hover{filter:brightness(1.04);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface);color:var(--pet-primary-strong, var(--primary-strong));border:1.5px solid var(--pet-primary, var(--primary));box-shadow:none;margin-right:8px;margin-top:8px}.btn-secondary:hover{background:var(--pet-primary-soft, var(--primary-soft));filter:none}.btn-secondary input[type=file]{display:none}.btn-link{background:none;border:none;color:var(--pet-primary-strong, var(--primary-strong));font-weight:700;cursor:pointer;padding:4px 0;text-decoration:none;box-shadow:none}.btn-link:hover{text-decoration:underline;transform:none;filter:none}.btn-link.danger{color:var(--alert)}.record-list{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:10px}.record-item{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:14px 16px;border-left:4px solid var(--pet-primary-soft, var(--primary-soft))}.record-item-body{flex:1}.record-item-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.record-notes{color:var(--text-muted);font-size:.85rem;margin-top:4px}.empty-state{color:var(--text-muted);font-style:italic}.empty-state:before{content:"🐾 ";font-style:normal}.tab-bar{display:flex;gap:8px;overflow-x:auto;margin:16px 0;padding-bottom:4px}.tab{background:var(--surface);color:var(--text-muted);border:1.5px solid var(--border);padding:9px 14px;border-radius:var(--radius-md);font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:none}.tab.active{background:var(--pet-primary, var(--primary));color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.tab:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:700;margin-left:6px}.badge-mild{background:var(--primary-soft);color:var(--primary-strong)}.badge-soon{background:var(--gold-soft);color:#8a6100}.badge-overdue{background:var(--alert-soft);color:var(--alert)}.badge-moderate{background:var(--gold-soft);color:#8a6100}.badge-severe,.badge-emergency{background:var(--alert-soft);color:var(--alert)}.current-card{padding:14px 18px;margin:12px 0}.grand-total{font-size:1.2rem;font-weight:700;margin:8px 0;color:var(--pet-primary-strong, var(--primary-strong))}.bar-chart{display:flex;flex-direction:column;gap:10px;margin:12px 0 20px}.bar-row{display:grid;grid-template-columns:100px 1fr 64px;align-items:center;gap:8px;font-size:.85rem}.bar-track{background:var(--pet-primary-soft, var(--primary-soft));border-radius:var(--radius-pill);height:12px;overflow:hidden}.bar-fill{background:var(--pet-primary, var(--primary));height:100%;border-radius:var(--radius-pill)}.bar-value{text-align:right;font-weight:700}.weight-chart{width:100%;height:120px;margin:12px 0}.chart-label{font-size:8px;fill:var(--text-muted);font-family:Inter,sans-serif}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.photo-thumb{padding:0;border:3px solid var(--surface);outline:1px solid var(--border);background:none;cursor:pointer;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-add-tile{display:flex;align-items:center;justify-content:center;background:var(--pet-primary-soft, var(--primary-soft));border:2px dashed var(--pet-primary, var(--primary));outline:none;font-size:28px;color:var(--pet-primary-strong, var(--primary-strong))}.photo-detail{margin-top:16px;display:flex;flex-direction:column;gap:12px}.photo-detail-img{width:100%;border-radius:var(--radius-lg);max-height:360px;object-fit:cover;box-shadow:var(--shadow-md)}.filter-row{display:flex;gap:6px;flex-wrap:wrap}.caption-input{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:inherit}.doc-upload-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.emergency-card{border:2px solid var(--alert);background:linear-gradient(180deg,var(--alert-soft) 0%,var(--surface) 60%);padding:18px;margin:16px 0}.emergency-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.emergency-card section{margin-bottom:14px}.emergency-card h3{margin:0 0 4px;font-size:.9rem;color:var(--alert)}.emergency-card ul{margin:0;padding-left:18px}@media print{.back-link,.btn-secondary{display:none}}.settings-section{padding:14px 18px;margin:16px 0}.contact-lede{margin-bottom:0}.contact-email{display:inline-flex;align-items:center;min-height:44px;max-width:100%;color:var(--primary-strong);font-weight:600;text-underline-offset:3px;overflow-wrap:anywhere}.field{position:relative}.field-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.field-none{color:var(--text-muted)}.field-hint{margin:0;color:var(--text-muted);font-size:.85rem}.check-row{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.btn-secondary.small{padding:8px 14px;margin:0}.field .validate-proxy{position:absolute;left:12px;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.wheels{display:flex;align-items:center;gap:4px}.wheel{position:relative;height:123px;width:56px;flex-shrink:0;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.wheel-band{position:absolute;left:4px;right:4px;top:40px;height:40px;border-radius:5px;background:var(--pet-primary-soft, var(--primary-soft));pointer-events:none}.wheel-scroller{position:relative;height:100%;padding:40px 0;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;border-radius:var(--radius-md);outline:none}.wheel-scroller::-webkit-scrollbar{display:none}.wheel-scroller:focus-visible{box-shadow:0 0 0 3px var(--pet-primary-soft, var(--primary-soft))}.wheel-row{height:40px;display:flex;align-items:center;justify-content:center;padding:0 4px;scroll-snap-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.wheel-row.current{color:var(--text);font-weight:700}.wheel-fade{position:absolute;left:0;right:0;height:32px;pointer-events:none}.wheel-fade.top{top:0;border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(var(--surface),transparent)}.wheel-fade.bottom{bottom:0;border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(transparent,var(--surface))}.wheel-sep{color:var(--text-muted);padding:0 2px}.date-button{background:var(--surface);color:var(--text);border:1.5px solid var(--border);box-shadow:none;font-weight:600;font-size:1rem;padding:10px 14px;min-height:44px}.date-button em{color:var(--text-muted);font-weight:500}.quick-dates{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--surface);color:var(--pet-primary-strong, var(--primary-strong));border:1.5px solid var(--pet-primary, var(--primary));box-shadow:none;padding:7px 12px;border-radius:var(--radius-pill);font-size:.85rem;min-height:36px}.chip[aria-pressed=true]{background:var(--pet-primary, var(--primary));color:#fff}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#24302c66;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-md);padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-nav{background:none;color:var(--text);box-shadow:none;font-size:1.5rem;padding:4px 14px;min-width:44px;min-height:44px;justify-content:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted);padding:4px 0}.calendar-day{justify-content:center;padding:0;height:44px;background:none;color:var(--text);box-shadow:none;border-radius:50%;font-variant-numeric:tabular-nums;font-weight:500}.calendar-day:hover{background:var(--pet-primary-soft, var(--primary-soft));transform:none;filter:none}.calendar-day.today{box-shadow:inset 0 0 0 1.5px var(--pet-primary, var(--primary));font-weight:700}.calendar-day.picked{background:var(--pet-primary, var(--primary));color:#fff;font-weight:700}.sheet .btn-secondary{margin:0}.quick-log{display:flex;flex-direction:column;gap:12px}.quick-summary{margin:0;font-weight:600;color:var(--pet-primary-strong, var(--primary-strong))}.quick-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.quick-buttons button{justify-content:center;min-height:48px;padding:10px 8px}.today-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.today-entry{width:100%;justify-content:space-between;background:var(--bg);color:var(--text);box-shadow:none;border:1px solid var(--border);font-weight:600;padding:10px 12px;min-height:44px;text-align:left}.today-entry:hover{background:var(--pet-primary-soft, var(--primary-soft));transform:none;filter:none}.today-time{color:var(--text-muted);font-weight:500;white-space:nowrap}.sheet-title{margin:0 0 12px}.sheet-choices{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.sheet-choices .btn-secondary{margin:0;justify-content:flex-start;min-height:48px}.sheet{max-height:90vh;overflow-y:auto}.record-form>.field-suggestions,.record-form>.field-hint{margin-top:-8px}.toast{position:fixed;left:50%;transform:translate(-50%);z-index:60;bottom:calc(16px + var(--idle-banner-h) + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:448px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-radius:var(--radius-md);background:var(--text);color:#fff;box-shadow:var(--shadow-md);font-weight:600}.toast-undo{background:transparent;color:#fff;box-shadow:none;border:1.5px solid rgba(255,255,255,.6);padding:8px 14px}.seasonal-tips{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}.seasonal-tip{background:var(--gold-soft);border:1.5px solid var(--gold);border-radius:var(--radius-md);padding:10px 14px}.seasonal-tip-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.seasonal-tip-head .btn-link{color:#8a6100;padding:4px 8px;min-width:44px;min-height:36px;justify-content:center}.seasonal-tip p{margin:4px 0 0;font-size:.9rem}.call-buttons{display:flex;flex-direction:column;gap:8px}.call-button{margin:0;justify-content:center}.danger-list{margin:0;padding-left:20px;line-height:1.6}.record-form h2{margin:12px 0 0}.places-tile{margin:0 0 12px;text-align:center}.cafes-button{margin-bottom:4px}.parks-search{display:flex;gap:8px;margin:8px 0}.parks-search input{flex:1;min-width:0;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font:inherit;font-size:1rem;background:var(--surface);color:var(--text)}.parks-search .btn-secondary{margin:0}.parks-search button{white-space:nowrap}.parks-credit{margin-top:12px}.place-rating{color:var(--gold)}.legal p{margin:0 0 8px;line-height:1.55}.legal p:last-child{margin-bottom:0}.legal .current-card h2{margin-top:0}.legal h3{font-size:.95rem;margin:12px 0 4px}.legal-list{margin:0 0 8px;padding-left:20px;line-height:1.55}.legal code{font-size:.85em}:root{--idle-banner-h: 0px}html[data-idle-banner=on]{--idle-banner-h: 81px}.idle-banner-bar{position:fixed;left:0;right:0;bottom:0;z-index:26;padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border-top:1px solid var(--border);background:#f6f7f6f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.idle-banner-bar idle-ideas-banner{display:block;min-height:80px;max-width:480px;margin:0 auto;--iib-height: 80px;--iib-bg: transparent;--iib-fg: var(--text);--iib-muted: var(--text-muted);--iib-accent: var(--primary);--iib-border: transparent;--iib-chip-bg: var(--primary-soft);--iib-chip-fg: var(--primary-strong)}.hero-mark{width:40px;height:auto;flex-shrink:0}.welcome{text-align:center;display:flex;flex-direction:column;align-items:center}.welcome-logo{width:min(280px,78%);height:auto;margin:8px 0 16px}.welcome-picture{width:100%;max-width:420px;height:auto;aspect-ratio:704 / 670;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.welcome h1{margin:20px 0 6px}.welcome-lede{margin:0 0 20px;color:var(--text-muted);max-width:34ch}.welcome-start{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:420px;min-height:52px;border-radius:var(--radius-md);background:var(--primary);color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;box-shadow:var(--shadow-sm)}.welcome-start:hover{filter:brightness(1.05)}
