@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}:root{--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1;--primary-800: #075985;--primary-900: #0c4a6e;--secondary-50: #fef7ff;--secondary-100: #fceeff;--secondary-200: #f8d5ff;--secondary-300: #f2b3ff;--secondary-400: #e882ff;--secondary-500: #dd5bff;--secondary-600: #c73ae8;--secondary-700: #a52bc2;--secondary-800: #8825a0;--secondary-900: #722583;--accent-50: #fef3c7;--accent-100: #fde68a;--accent-200: #fcd34d;--accent-300: #fbbf24;--accent-400: #f59e0b;--accent-500: #d97706;--accent-600: #b45309;--accent-700: #92400e;--accent-800: #78350f;--accent-900: #451a03;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--success-50: #f0fdf4;--success-500: #22c55e;--success-600: #16a34a;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--neutral-800);background:linear-gradient(135deg,var(--primary-50) 0%,var(--secondary-50) 100%);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--neutral-200);padding:var(--space-6) 0;text-align:center;position:sticky;top:0;z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.logo-link{display:inline-block;transition:transform var(--transition-normal)}.logo-link:hover{transform:scale(1.05)}.logo{width:80px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.app-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--neutral-800);margin-top:var(--space-4);background:linear-gradient(135deg,var(--primary-600),var(--secondary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .8s ease-out}.app-main{flex:1;max-width:1200px;margin:0 auto;padding:var(--space-8) var(--space-4);width:100%}.search-params{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-8);margin-bottom:var(--space-8);animation:fadeInUp .6s ease-out .2s both}.search-header{text-align:center;margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200)}.search-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--neutral-800);margin-bottom:var(--space-2)}.search-header p{color:var(--neutral-600);font-size:var(--font-size-sm)}.adopted-pet-display{text-align:center;margin-bottom:var(--space-6);padding:var(--space-6);background:linear-gradient(135deg,var(--success-50),var(--success-100));border-radius:var(--radius-xl);border:2px solid var(--success-200)}.adopted-pet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.adopted-pet-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--success-800);margin:0}.adopted-badge{background:var(--success-500);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.adopted-pet-name{font-size:var(--font-size-base);font-weight:500;color:var(--success-700);margin:var(--space-2) 0 0 0}.form-group{margin-bottom:var(--space-6)}.label-text{display:block;font-weight:500;color:var(--neutral-700);margin-bottom:var(--space-2);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.search-button{width:100%;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.search-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.search-button:hover:before{left:100%}.search-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--primary-600),var(--primary-700))}.search-button:active{transform:translateY(0)}.search-button svg{transition:transform var(--transition-normal)}.search-button:hover svg{transform:scale(1.1)}.search-params form{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--neutral-200);position:sticky;top:calc(100px + var(--space-8));height:fit-content;transition:all var(--transition-normal)}.search-params form:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.search-params label{display:block;font-weight:500;color:var(--neutral-700);margin-bottom:var(--space-2);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.search-params input,.search-params select{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--neutral-200);border-radius:var(--radius-lg);font-size:var(--font-size-base);margin-bottom:var(--space-6);background:white;transition:all var(--transition-fast);font-family:inherit}.search-params input:focus,.search-params select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;transform:translateY(-1px)}.search-params input::placeholder{color:var(--neutral-400)}.search-params button{width:100%;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.search-params button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.search-params button:hover:before{left:100%}.search-params button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--primary-600),var(--primary-700))}.search-params button:active{transform:translateY(0)}.search-results{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--neutral-200);animation:fadeInUp .6s ease-out .4s both}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--neutral-200)}.results-header h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--neutral-800);margin:0}.results-count{background:var(--primary-100);color:var(--primary-700);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.pets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-6)}.no-pets-found{text-align:center;padding:var(--space-12) var(--space-6);color:var(--neutral-600)}.no-pets-icon{margin-bottom:var(--space-6);color:var(--neutral-400)}.no-pets-found h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--neutral-700);margin-bottom:var(--space-4)}.no-pets-found p{font-size:var(--font-size-base);color:var(--neutral-500);max-width:400px;margin:0 auto;line-height:1.6}.pet-card{display:block;background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-200);transition:all var(--transition-normal);text-decoration:none;color:inherit;position:relative;overflow:hidden;margin-bottom:var(--space-6)}.pet-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--secondary-500));transform:scaleX(0);transition:transform var(--transition-normal)}.pet-card:hover:before{transform:scaleX(1)}.pet-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--primary-200)}.pet-image-container{position:relative;width:100%;height:200px;overflow:hidden;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.pet-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.pet-card:hover .pet-image{transform:scale(1.1)}.pet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-normal)}.pet-card:hover .pet-overlay{opacity:1}.pet-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:#fff;text-align:center}.pet-overlay-content svg{transition:transform var(--transition-normal)}.pet-card:hover .pet-overlay-content svg{transform:scale(1.2)}.pet-overlay-content span{font-weight:600;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em}.pet-info{padding:var(--space-6)}.pet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.pet-name{font-size:var(--font-size-xl);font-weight:600;color:var(--neutral-800);margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pet-type{background:linear-gradient(135deg,var(--primary-100),var(--primary-200));color:var(--primary-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-left:var(--space-3);flex-shrink:0}.pet-details{display:flex;flex-direction:column;gap:var(--space-2)}.pet-breed{font-size:var(--font-size-base);color:var(--neutral-600);font-weight:500;margin:0}.pet-location{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--neutral-500);margin:0}.pet-location svg{flex-shrink:0}.pet.image-container{text-align:center;margin-bottom:var(--space-6);padding:var(--space-4);background:linear-gradient(135deg,var(--accent-50),var(--accent-100));border-radius:var(--radius-xl);border:2px solid var(--accent-200)}.pet.image-container img{width:80px;height:80px;border-radius:var(--radius-full);object-fit:cover;border:3px solid white;box-shadow:var(--shadow-md);animation:pulse 2s infinite}.details{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);border:1px solid var(--neutral-200);animation:fadeInUp .6s ease-out}.details-header{text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200)}.details-header h1{font-size:var(--font-size-4xl);font-weight:700;color:var(--neutral-800);margin-bottom:var(--space-4);background:linear-gradient(135deg,var(--primary-600),var(--secondary-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pet-meta{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.pet-type-badge,.pet-breed-badge,.pet-location-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.pet-type-badge{background:linear-gradient(135deg,var(--primary-100),var(--primary-200));color:var(--primary-700)}.pet-breed-badge{background:linear-gradient(135deg,var(--secondary-100),var(--secondary-200));color:var(--secondary-700)}.pet-location-badge{background:linear-gradient(135deg,var(--accent-100),var(--accent-200));color:var(--accent-700)}.details-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}.carousel-section{animation:fadeInUp .6s ease-out .2s both}.pet-info-section{animation:fadeInUp .6s ease-out .4s both}.pet-description{margin-bottom:var(--space-8)}.pet-description h3{font-size:var(--font-size-xl);font-weight:600;color:var(--neutral-800);margin-bottom:var(--space-4)}.pet-description p{line-height:1.7;color:var(--neutral-700);font-size:var(--font-size-base);margin:0}.adoption-section{background:linear-gradient(135deg,var(--success-50),var(--success-100));border-radius:var(--radius-xl);padding:var(--space-6);border:2px solid var(--success-200);text-align:center}.adoption-info h3{font-size:var(--font-size-lg);font-weight:600;color:var(--success-800);margin-bottom:var(--space-2)}.adoption-info p{color:var(--success-700);font-size:var(--font-size-base);margin-bottom:var(--space-6)}.adopt-button{background:linear-gradient(135deg,var(--success-500),var(--success-600));color:#fff;border:3px solid var(--success-700);padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0 auto;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.adopt-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1),transparent);transition:left var(--transition-slow)}.adopt-button:hover:before{left:100%}.adopt-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl);background:linear-gradient(135deg,var(--success-600),var(--success-800));border-color:var(--success-800);color:#fff}.adopt-button:active{transform:translateY(-1px)}.adopt-button svg{transition:transform var(--transition-normal);color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.adopt-button:hover svg{transform:scale(1.1);color:#fff}.adoption-modal{text-align:center}.modal-header h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--neutral-800);margin-bottom:var(--space-4)}.modal-header p{color:var(--neutral-600);font-size:var(--font-size-base);margin-bottom:var(--space-8);line-height:1.6}.modal-actions{display:flex;gap:var(--space-4);justify-content:center}.confirm-adopt,.cancel-adopt{padding:var(--space-4) var(--space-6);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-width:150px}.confirm-adopt{background:linear-gradient(135deg,var(--success-500),var(--success-600));color:#fff}.confirm-adopt:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--success-600),var(--success-700))}.cancel-adopt{background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-300)}.cancel-adopt:hover{background:var(--neutral-200);transform:translateY(-2px)}.carousel{display:flex;flex-direction:column;gap:var(--space-6)}.carousel-main{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);background:white}.carousel-image-container{position:relative;width:100%;height:400px;overflow:hidden}.carousel-main-image{width:100%;height:100%;object-fit:cover;transition:all var(--transition-slow);animation:fadeIn .5s ease-in-out}.carousel-indicators{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);display:flex;gap:var(--space-2);background:rgba(0,0,0,.5);padding:var(--space-2);border-radius:var(--radius-full);backdrop-filter:blur(10px)}.carousel-indicator{width:12px;height:12px;border-radius:var(--radius-full);border:none;background:rgba(255,255,255,.5);cursor:pointer;transition:all var(--transition-fast)}.carousel-indicator:hover{background:rgba(255,255,255,.8);transform:scale(1.2)}.carousel-indicator.active{background:white;transform:scale(1.3);box-shadow:0 0 0 2px var(--primary-500)}.carousel-thumbnails{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.carousel-thumbnail{position:relative;width:80px;height:80px;border-radius:var(--radius-lg);overflow:hidden;border:3px solid transparent;background:none;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.carousel-thumbnail:hover{transform:scale(1.1);border-color:var(--primary-300);box-shadow:var(--shadow-md)}.carousel-thumbnail.active{border-color:var(--primary-500);box-shadow:var(--shadow-lg);transform:scale(1.05)}.carousel-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.carousel-thumbnail:hover img{transform:scale(1.1)}.carousel-thumbnail.active:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));opacity:.2;border-radius:var(--radius-lg)}.modal-backdrop{position:fixed;inset:0;background:transparent;backdrop-filter:none;z-index:var(--z-modal);display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease-out;padding:var(--space-4)}.modal-content{background:white;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);animation:slideInUp .3s ease-out;border:2px solid var(--neutral-300);position:relative;padding:var(--space-8)}.modal-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--secondary-500));border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}#modal{background:transparent;backdrop-filter:none;position:fixed;inset:0;z-index:var(--z-modal);display:flex;justify-content:center;align-items:center;animation:fadeIn .3s ease-out}#modal:empty{display:none}#modal>div{background:white;max-width:500px;width:90%;padding:var(--space-8);text-align:center;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);animation:slideInUp .3s ease-out;border:2px solid var(--neutral-300)}#modal h1{font-size:var(--font-size-2xl);font-weight:600;color:var(--neutral-800);margin-bottom:var(--space-6)}#modal .buttons{display:flex;gap:var(--space-4);justify-content:center}#modal .buttons button{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-normal);min-width:100px}#modal .buttons button:first-child{background:linear-gradient(135deg,var(--success-500),var(--success-600));color:#fff}#modal .buttons button:first-child:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--success-600),var(--success-700))}#modal .buttons button:last-child{background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-300)}#modal .buttons button:last-child:hover{background:var(--neutral-200);transform:translateY(-2px)}.loading-pane{display:flex;align-items:center;justify-content:center;padding:var(--space-8);min-height:200px}.loader{font-size:var(--font-size-4xl);animation:spin 1s linear infinite;color:var(--primary-500)}.mini.loading-pane{height:40px;padding:var(--space-2)}.mini .loader{font-size:var(--font-size-lg)}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-base{background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.loading-skeleton{padding:var(--space-8)}.skeleton-header{text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200)}.skeleton-title{width:300px;height:48px;margin:0 auto var(--space-4);background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-lg)}.skeleton-badges{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.skeleton-badge{width:80px;height:32px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-full)}.skeleton-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}.skeleton-carousel{animation:fadeInUp .6s ease-out .2s both}.skeleton-image{width:100%;height:400px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-xl)}.skeleton-info{animation:fadeInUp .6s ease-out .4s both}.skeleton-text{height:20px;margin-bottom:var(--space-4);background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text:first-child{width:80%;height:24px}.skeleton-text:nth-child(2){width:100%}.skeleton-text.short{width:60%}.skeleton-button{width:200px;height:48px;margin-top:var(--space-6);background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-lg)}.pet-skeleton{background:white;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--neutral-200);overflow:hidden;margin-bottom:var(--space-6)}.skeleton-pet-image{width:100%;height:200px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.skeleton-pet-info{padding:var(--space-6)}.skeleton-pet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.skeleton-pet-name{width:60%;height:24px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-pet-type{width:60px;height:24px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-full)}.skeleton-pet-details{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-pet-breed{width:80%;height:16px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-pet-location{width:60%;height:14px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-count{width:100px;height:32px;background:linear-gradient(90deg,var(--neutral-200) 25%,var(--neutral-100) 50%,var(--neutral-200) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-full)}footer{background:var(--neutral-800);color:var(--neutral-300);padding:var(--space-6) 0;text-align:center;margin-top:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width: 1200px){.app-main{max-width:100%;padding:var(--space-6) var(--space-4)}.search-params{grid-template-columns:1fr;gap:var(--space-6)}.search-params form{position:static}.details-content{grid-template-columns:1fr;gap:var(--space-6)}.pets-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.app-main{padding:var(--space-4) var(--space-3)}.app-title{font-size:var(--font-size-2xl)}.search-params form,.search-results,.details{padding:var(--space-6)}.pets-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.pet-card{margin-bottom:var(--space-4)}.pet-image-container{height:180px}.pet-info{padding:var(--space-4)}.pet-name{font-size:var(--font-size-lg)}.carousel-image-container{height:300px}.carousel-thumbnails{gap:var(--space-2)}.carousel-thumbnail{width:60px;height:60px}.details-header h1{font-size:var(--font-size-3xl)}.pet-meta{gap:var(--space-2)}.pet-type-badge,.pet-breed-badge,.pet-location-badge{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3)}.modal-content{margin:var(--space-4);max-width:calc(100% - var(--space-8))}.modal-actions{flex-direction:column;gap:var(--space-3)}.confirm-adopt,.cancel-adopt{width:100%}.skeleton-content{grid-template-columns:1fr;gap:var(--space-6)}.skeleton-title{width:250px;height:40px}.skeleton-image{height:300px}}@media (max-width: 480px){.app-header{padding:var(--space-4) 0}.logo{width:60px}.app-title{font-size:var(--font-size-xl);margin-top:var(--space-3)}.search-params form,.search-results,.details{padding:var(--space-4)}.search-header h3{font-size:var(--font-size-lg)}.search-header p{font-size:var(--font-size-xs)}.adopted-pet-display{padding:var(--space-4)}.adopted-pet-header{flex-direction:column;gap:var(--space-2);text-align:center}.pets-grid{grid-template-columns:1fr;gap:var(--space-4)}.pet-image-container{height:160px}.pet-info{padding:var(--space-3)}.pet-name{font-size:var(--font-size-base)}.pet-type{font-size:var(--font-size-xs);padding:var(--space-1) var(--space-2)}.results-header{flex-direction:column;gap:var(--space-3);text-align:center}.results-header h2{font-size:var(--font-size-xl)}.details-header h1{font-size:var(--font-size-2xl)}.pet-meta{flex-direction:column;align-items:center}.carousel-image-container{height:250px}.carousel-thumbnails{justify-content:center}.carousel-thumbnail{width:50px;height:50px}.adoption-section{padding:var(--space-4)}.adopt-button{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.modal-content{margin:var(--space-2);padding:var(--space-6)}.modal-header h2{font-size:var(--font-size-xl)}.modal-header p{font-size:var(--font-size-sm)}.skeleton-title{width:200px;height:32px}.skeleton-image{height:250px}.skeleton-button{width:150px;height:40px}}@media (hover: none) and (pointer: coarse){.pet-card:hover{transform:none}.pet-card:hover .pet-overlay{opacity:0}.search-params form:hover,.search-button:hover,.adopt-button:hover,.carousel-thumbnail:hover,.carousel-indicator:hover{transform:none}.carousel-thumbnail{min-width:44px;min-height:44px}.carousel-indicator{min-width:20px;min-height:20px}.search-button,.adopt-button,.confirm-adopt,.cancel-adopt{min-height:44px}}@media (prefers-contrast: high){.pet-card,.search-params form,.search-results,.details{border:2px solid var(--neutral-800)}.pet-card:before,.modal-content:before{height:6px}.search-button,.adopt-button,.confirm-adopt{border:2px solid var(--neutral-800)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.pet-card:hover,.search-params form:hover,.search-button:hover,.adopt-button:hover{transform:none}}*:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}html{scroll-behavior:smooth}::selection{background:var(--primary-200);color:var(--primary-900)}
