:root{--step: 8px;--space-xs: calc(var(--step) * 1);--space-s: calc(var(--step) * 2);--space-m: calc(var(--step) * 3);--space-l: calc(var(--step) * 4);--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--tg-bg-color: var(--tg-theme-bg-color, #101010);--tg-text-color: var(--tg-theme-text-color, #FFFFFF);--tg-hint-color: var(--tg-theme-hint-color, #AAAAAA);--tg-button-color: var(--tg-theme-button-color, #FF4D6D);--tg-button-text-color: var(--tg-theme-button-text-color, #FFFFFF);--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08);--danger-color: #EF4444;--success-color: #22C55E;--warning-color: #EAB308;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--transition: .2s ease-in-out}*{box-sizing:border-box;margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word}body{font-family:var(--font-family);background-color:var(--tg-bg-color);color:var(--tg-text-color);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom)}.app-container{max-width:600px;margin:0 auto;padding:var(--space-s);min-height:100vh;display:flex;flex-direction:column}h1,h2,h3{max-width:100%;color:var(--tg-text-color)}p{color:var(--tg-hint-color);font-size:.95rem}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-m);padding:var(--space-s);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform var(--transition)}.glass-card:active{transform:scale(.99)}.card-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-xs)}.card-list{display:flex;flex-direction:column;gap:var(--space-s);margin-bottom:var(--space-m)}.btn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);background-color:var(--tg-button-color);color:var(--tg-button-text-color);border:none;border-radius:var(--radius-m);padding:14px var(--space-s);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s ease;width:100%}.btn-primary:active{opacity:.8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.icon-btn{background:transparent;border:none;color:var(--tg-hint-color);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:6px;border-radius:50%;transition:all var(--transition)}.icon-btn:active{background:var(--glass-bg);color:var(--tg-text-color)}.icon-btn.danger{color:var(--danger-color)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-s)}.form-group label{font-size:.875rem;color:var(--tg-hint-color);font-weight:500}.form-group input,.form-group select,.form-group textarea{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--tg-text-color);padding:12px var(--space-s);border-radius:var(--radius-s);font-size:1rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--tg-button-color)}.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--tg-text-color);padding:8px 12px;border-radius:var(--radius-s);font-size:.875rem;cursor:pointer;margin-top:var(--space-xs);transition:background var(--transition)}.btn-secondary:active{background:var(--glass-border)}.modal-overlay{position:fixed;inset:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{padding:var(--space-m);max-width:90vw;text-align:center;background:var(--tg-bg-color)}.modal-actions{display:flex;gap:var(--space-s);margin-top:var(--space-m);justify-content:center}.pet-avatar-header{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--tg-button-color)}.pet-avatar-placeholder-header{width:48px;height:48px;border-radius:50%;border:2px solid var(--tg-button-color);display:flex;align-items:center;justify-content:center;background:var(--glass-bg);font-size:20px}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-m)}.header__left,.header__right{display:flex;align-items:center;gap:var(--space-s)}.header__title{font-size:1.25rem;font-weight:700;line-height:1.2}.avatar-placeholder{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border-radius:50%}.pet-list{display:flex;flex-direction:column;gap:var(--space-s);margin-top:var(--space-s)}.pet-card{display:flex;align-items:center;gap:var(--space-s);cursor:pointer;transition:transform var(--transition)}.pet-card:active{transform:scale(.98)}.pet-avatar-wrapper{flex-shrink:0;width:56px;height:56px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:2px solid var(--tg-button-color)}.pet-avatar{width:100%;height:100%;object-fit:cover}.pet-emoji{font-size:28px}.pet-info{flex-grow:1}.pet-info h3{margin:0 0 4px;font-size:1.1rem;display:flex;align-items:center;gap:4px}.pet-info p{margin:0;font-size:.85rem;color:var(--tg-hint-color)}.arrow-icon{opacity:.4}.home-actions{display:flex;gap:var(--space-s);margin-bottom:var(--space-m)}.chip{padding:8px 16px;border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--tg-text-color);cursor:pointer;font-size:.9rem;font-weight:500;transition:background var(--transition)}.chip:active{background:var(--glass-border)}.pet-avatar-header{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--tg-button-color)}.pet-avatar-placeholder-header{width:40px;height:40px;border-radius:50%;border:2px solid var(--tg-button-color);display:flex;align-items:center;justify-content:center;background:var(--glass-bg);font-size:18px}.pet-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-m)}.pet-detail-left{display:flex;flex-direction:column;gap:4px}.species-badge{display:inline-block;padding:4px 8px;background:#ffffff1a;border-radius:var(--radius-s);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.breed-text{color:var(--tg-hint-color);font-size:.9rem;margin:0}.pet-actions{display:flex;gap:var(--space-xs)}.pet-actions .icon-btn.danger{color:var(--danger-color)}.tabs{display:flex;overflow-x:auto;gap:var(--space-xs);padding-bottom:var(--space-s);margin-bottom:var(--space-s);scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;padding:10px 16px;border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--tg-text-color);cursor:pointer;font-size:.9rem;font-weight:500;transition:all var(--transition)}.tab.active{background:var(--tg-button-color);color:var(--tg-button-text-color);border-color:var(--tg-button-color)}.tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:var(--space-l) var(--space-m);display:flex;flex-direction:column;align-items:center;gap:var(--space-s);color:var(--tg-hint-color)}*{word-wrap:break-word;overflow-wrap:break-word}h1,h2,h3,p{max-width:100%}.form-row{display:flex;gap:var(--space-s)}.form-row>.form-group{flex:1;margin-bottom:0}.form-divider{margin:var(--space-l) 0 var(--space-s) 0;font-size:.85rem;font-weight:600;color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--glass-border);padding-bottom:4px}.checkbox-group{display:flex;align-items:center;gap:var(--space-s);margin-bottom:var(--space-m);color:var(--tg-text-color)}.selected-files{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.file-tag{background:var(--tg-button-color);color:var(--tg-button-text-color);padding:4px 10px;border-radius:12px;font-size:.8rem;display:inline-flex;align-items:center}.record-list{display:flex;flex-direction:column;gap:var(--space-s);margin-bottom:var(--space-m)}.record-card{display:flex;justify-content:space-between;align-items:flex-start}.record-info{flex-grow:1;min-width:0}.record-info h3{margin:0;font-size:1.05rem}.record-type{font-size:.8rem;color:var(--tg-hint-color);display:block;margin-bottom:4px}.record-type:not(:empty){margin-bottom:4px}.record-date{font-size:.85rem;color:var(--tg-button-color);margin-top:6px;display:block;font-weight:500}.chart-container{width:100%;height:250px;margin:var(--space-m) 0;padding:var(--space-xs);background:var(--glass-bg);border-radius:var(--radius-m)}.recharts-responsive-container{min-height:250px!important}.record-card,.parasite-card,.symptom-card,.weight-card{display:flex;justify-content:space-between;align-items:center;min-width:0}.record-info,.parasite-info,.symptom-info,.weight-info{flex-grow:1;min-width:0}.weight-list{display:flex;flex-direction:column;gap:var(--space-s);margin-top:var(--space-s)}.weight-card{display:flex;justify-content:space-between;align-items:center}.weight-info-left{display:flex;align-items:baseline;gap:4px}.weight-value{font-size:1.5rem;font-weight:700;color:var(--tg-text-color)}.weight-info-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.weight-trend{font-size:.85rem;display:flex;align-items:center;gap:2px;font-weight:600}.weight-trend.up{color:var(--danger-color)}.weight-trend.down{color:#4caf50}.weight-trend.neutral{color:var(--tg-hint-color)}.card-list{display:flex;flex-direction:column;gap:var(--space-s)}.card-title{font-size:1.1rem;font-weight:700;margin-bottom:2px}.data-date{font-size:.85rem;color:var(--tg-button-color);font-weight:500;display:block;margin-top:4px}.data-hint{font-size:.8rem;color:var(--tg-hint-color)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.success{background:#22c55e26;color:var(--success-color)}.status-badge.warning{background:#eab30826;color:var(--warning-color)}.status-badge.danger{background:#ef444426;color:var(--danger-color)}.chart-container{width:100%;height:250px;margin:var(--space-m) 0;padding:var(--space-xs)}.weight-value{font-size:1.6rem;font-weight:700;color:var(--tg-text-color);margin-right:4px}.weight-unit{font-size:.9rem;color:var(--tg-hint-color)}.record-card{display:flex;justify-content:space-between;align-items:center}.record-info,.parasite-info,.symptom-info,.weight-info{display:flex;flex-direction:column;gap:6px}.data-date{font-size:.85rem;color:var(--tg-theme-link-color, #3390ec);font-weight:600}.weight-chart{display:flex;align-items:flex-end;justify-content:space-around;height:100%;padding:var(--space-m) 0 0 0;border-bottom:1px solid var(--glass-border)}.weight-bar-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:8px;font-size:.8rem;color:var(--tg-hint-color)}.weight-bar{width:28px;background:var(--tg-theme-link-color, #3390ec);border-radius:6px 6px 0 0;transition:height .4s ease-out}.breed-selector{position:relative;display:flex;flex-direction:column;gap:8px}.breed-dropdown{position:absolute;top:100%;left:0;width:100%;margin-top:8px;padding:8px 0;background:#fff;border-radius:8px;box-shadow:0 8px 24px #0000001f;max-height:240px;overflow-y:auto;z-index:10;list-style:none}.breed-option{padding:8px 16px;cursor:pointer;transition:background .2s;display:flex;justify-content:space-between;align-items:center}.breed-option:hover,.breed-option[aria-selected=true]{background-color:#f0f4f8}.breed-weight-hint{font-size:12px;color:#64748b}.weight-chart-container{padding:16px;background:#ffffff80;border-radius:16px;margin-top:24px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}
