
:root{
  --bg:#f8f4ee;--paper:#fffdf9;--ink:#2d241f;--muted:#74665d;--line:#dfd4ca;
  --accent:#b85f36;--accent-dark:#8d4428;--accent-soft:#f2dfd2;--sand:#ede4d8;
  --success:#60725d;--warning:#a56d2f;--danger:#984f43;--shadow:0 18px 45px rgba(58,40,28,.09);
  --radius:22px;--font-scale:1;--shell:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(16px * var(--font-scale))}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",Arial,sans-serif;line-height:1.65}
body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
img{max-width:100%;display:block}.shell{width:min(calc(100% - 36px),var(--shell));margin-inline:auto}.skip{position:fixed;left:12px;top:-60px;z-index:999;background:var(--ink);color:white;padding:10px 14px;border-radius:10px}.skip:focus{top:12px}
.topbar{position:sticky;top:0;z-index:80;background:rgba(248,244,238,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(130,100,80,.15)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;min-width:230px}.brand-mark{width:46px;height:46px;border:1px solid #cdb9aa;border-radius:15px;display:grid;place-items:center;background:var(--paper);color:var(--accent-dark)}.brand-mark svg{width:34px;height:34px}.brand-name{display:block;font-size:1.14rem;font-weight:800;letter-spacing:.04em}.brand-sub{display:block;font-size:.72rem;color:var(--muted);line-height:1.25}.desktop-nav{display:flex;align-items:center;gap:5px}.desktop-nav a{padding:9px 12px;border-radius:10px;color:#584a42;font-weight:650;font-size:.91rem}.desktop-nav a:hover,.desktop-nav a.active{background:var(--accent-soft);color:var(--accent-dark)}
.nav-tools{display:flex;align-items:center;gap:7px}.icon-btn,.lang-btn,.menu-btn{height:38px;min-width:38px;padding:0 10px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font-weight:750;display:grid;place-items:center}.menu-btn{display:none}.dev-strip{background:#2f2520;color:#f8f4ee;text-align:center;padding:7px 16px;font-size:.78rem}.dev-strip strong{color:#e5aa86}
.hero{padding:72px 0 46px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:58px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent-dark);font-size:.74rem;font-weight:800;margin:0 0 10px}.hero h1,.page-hero h1{font-size:clamp(2.65rem,6vw,5.25rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 20px;max-width:920px}.lead{font-size:1.14rem;line-height:1.75;color:#66574e;max-width:760px}.hero-actions,.form-actions,.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.btn{min-height:48px;padding:12px 19px;border-radius:14px;border:1px solid transparent;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:var(--paper);border-color:#c7aa98;color:var(--ink)}.btn-ghost{background:transparent;border-color:var(--line)}.btn-danger{background:var(--danger);color:white}.btn-small{min-height:38px;padding:8px 12px;border-radius:10px;font-size:.84rem}.wa-btn{background:#386c53;color:#fff}.btn[disabled]{opacity:.5;cursor:not-allowed}.dev-note{margin-top:20px;padding:12px 15px;border-left:4px solid var(--warning);background:#fff9ef;border-radius:0 12px 12px 0;color:#695244;font-size:.87rem}
.hero-panel{background:linear-gradient(145deg,#efe3d6,#fbf8f3);border:1px solid #dfd0c3;border-radius:32px;padding:24px;box-shadow:var(--shadow)}.hero-visual{min-height:450px;border-radius:23px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),transparent 30%),linear-gradient(145deg,#ead6c6,#f5ede5);position:relative;overflow:hidden;display:grid;place-items:center}.home-line{width:57%;opacity:.93}.pet-orb{position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(255,253,249,.7);filter:blur(.2px)}.pet-orb.one{left:-30px;bottom:-34px}.pet-orb.two{right:-36px;top:-38px}.pet-icon{position:absolute;color:#925c42}.pet-icon svg{width:92px}.pet-icon.one{left:10%;bottom:12%}.pet-icon.two{right:9%;top:15%}.status-note{position:absolute;right:20px;bottom:20px;left:20px;background:rgba(45,36,31,.92);color:#fff;padding:15px 17px;border-radius:16px}.status-note strong,.status-note span{display:block}.status-note span{font-size:.86rem;color:#e8ddd5}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-bottom:60px}.quick-card{background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:21px;transition:.2s;min-height:180px}.quick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cfae99}.quick-icon{width:42px;height:42px;border-radius:13px;background:var(--accent-soft);color:var(--accent-dark);display:grid;place-items:center;font-weight:900}.quick-card h3{margin:15px 0 5px}.quick-card p{margin:0;color:var(--muted);font-size:.92rem}
.section{padding:82px 0}.section-soft{background:#eee5da}.section-dark{background:#30251f;color:#fff}.section-dark .muted{color:#d8c9bf}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px}.section-head h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;letter-spacing:-.035em;margin:0}.section-head>p,.section-head>div+div{max-width:520px;color:var(--muted);margin:0}.filter-shell{display:grid;grid-template-columns:260px 1fr;gap:20px}.filter-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;height:max-content;position:sticky;top:98px}.filter-panel h3{margin:0 0 14px}.filter-row{display:grid;gap:6px;margin-bottom:13px}.filter-row label{font-size:.78rem;font-weight:800;color:#5f5148}.filter-row select,.filter-row input{width:100%;height:44px;border:1px solid #d5c7bc;background:#fff;border-radius:11px;padding:0 11px;color:var(--ink)}.filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.filter-toggle{display:none;width:100%;margin-bottom:14px}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.filter{border:1px solid #d2bcae;background:var(--paper);border-radius:999px;padding:8px 13px;color:#5d4d44;font-weight:700}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}
.results-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;color:var(--muted);font-size:.88rem}.animal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.animal-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(60,42,30,.05)}.animal-photo{height:250px;background:linear-gradient(145deg,#e9d4c4,#f3e8de);position:relative;display:grid;place-items:center;color:#8d5b43;overflow:hidden}.animal-photo img{width:100%;height:100%;object-fit:cover}.animal-photo svg{width:90px}.animal-photo.dog{background:linear-gradient(145deg,#e2d2c1,#f0e7de)}.animal-photo.special{background:linear-gradient(145deg,#d7c4b8,#eee1d7)}.photo-label{position:absolute;bottom:12px;left:12px;background:rgba(255,253,249,.88);padding:6px 9px;border-radius:9px;font-size:.68rem;color:#69574c}.badge{position:absolute;top:12px;left:12px;padding:6px 9px;border-radius:9px;color:#fff;font-size:.73rem;font-weight:800}.badge.urgent{background:var(--danger)}.badge.adopt{background:var(--success)}.badge.care{background:var(--warning)}.badge.pending{background:#6f6964}.animal-body{padding:18px}.animal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.animal-title-row h3,.animal-title-row h2{margin:0}.animal-id{color:var(--muted);font-size:.75rem;font-weight:800}.meta{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0}.meta span{background:var(--sand);padding:4px 8px;border-radius:8px;font-size:.72rem}.animal-body p{color:var(--muted);font-size:.9rem;min-height:48px}.card-link{font-weight:800;color:var(--accent-dark);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.empty-state{grid-column:1/-1;text-align:center;background:var(--paper);border:1px dashed #c9b5a6;border-radius:18px;padding:44px 20px;color:var(--muted)}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.info-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:25px}.steps{display:grid;gap:18px}.step{display:grid;grid-template-columns:42px 1fr;gap:13px}.step-no{width:42px;height:42px;border-radius:13px;background:var(--accent-soft);color:var(--accent-dark);display:grid;place-items:center;font-weight:900}.step h3{margin:0}.step p{margin:4px 0 0;color:var(--muted)}
.page-hero{padding:58px 0 30px}.breadcrumbs{color:var(--muted);font-size:.82rem;margin-bottom:20px}.page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}.page-intro{max-width:800px;color:var(--muted);font-size:1.08rem}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.content-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px}.content-card h2,.content-card h3{margin-top:0}.content-card p,.content-card li{color:var(--muted)}
.detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;padding-bottom:90px}.detail-photo{min-height:620px;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#e2d2c1,#f0e7de);display:grid;place-items:center;position:sticky;top:96px;color:#8d5b43}.detail-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.detail-photo svg{width:150px}.detail-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px}.detail-summary{font-size:1.05rem;color:#63554c}.key-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.key{background:var(--sand);border-radius:13px;padding:12px}.key b,.key span{display:block}.key b{font-size:.72rem;color:var(--muted)}.key span{font-weight:800}.divider{height:1px;background:var(--line);margin:22px 0}.content-block h3{margin-bottom:7px}.content-block p,.content-block li{color:var(--muted)}.contact-panel{background:#f0e1d5;border-radius:18px;padding:20px;margin-top:24px}.contact-panel h3{margin-top:0}.wa-note{font-size:.76rem;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.gallery img{aspect-ratio:1;object-fit:cover;border-radius:12px}
.organisation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.org-card{background:var(--paper);border:1px solid var(--line);border-radius:19px;padding:20px}.org-card h3{margin:0}.org-card .org-type{color:var(--accent-dark);font-size:.76rem;font-weight:800}.org-card p{color:var(--muted)}
.form-wrap{width:min(calc(100% - 30px),920px);margin:0 auto 90px}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:29px;box-shadow:var(--shadow)}.form-progress{display:flex;gap:8px;margin-bottom:28px}.form-progress span{height:5px;flex:1;background:#e8ded6;border-radius:10px}.form-progress span.active{background:var(--accent)}.form-step{display:none}.form-step.active{display:block}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.84rem}.field input,.field select,.field textarea{width:100%;border:1px solid #d3c5ba;border-radius:12px;background:white;padding:11px 12px;color:var(--ink)}.field input,.field select{height:48px}.field textarea{min-height:130px;resize:vertical}.help{font-size:.74rem;color:var(--muted)}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;gap:9px!important;background:#f6f0e9;border-radius:12px;padding:12px}.check input{width:18px!important;height:18px!important;margin-top:3px}.honeypot{position:absolute!important;left:-9999px!important}.form-message{display:none;margin-top:18px;padding:16px;border-radius:13px;background:#eef4ed;color:#3d5b43}.form-message.show{display:block}.warning-box{background:#fff8ed;border-left:4px solid var(--warning);padding:15px;border-radius:0 12px 12px 0;color:#6b5548}
.faq{display:grid;gap:10px}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:13px 16px}.faq summary{font-weight:800;cursor:pointer}.faq p{color:var(--muted)}
.footer{padding:55px 0;background:#241c18;color:#eee4dc}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer h3{margin:0 0 10px}.footer p,.footer a{color:#cdbfb5;font-size:.88rem}.footer-links{display:grid;gap:7px}.footer-note{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:.76rem;color:#a99b91}.bottom-nav{display:none}.mobile-menu{display:none;position:fixed;inset:66px 0 auto 0;z-index:75;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 18px;box-shadow:var(--shadow)}.mobile-menu.open{display:grid;gap:8px}.mobile-menu a{padding:11px;border-radius:10px;font-weight:750}.mobile-menu a:hover{background:var(--accent-soft)}
.modal{display:none;position:fixed;inset:0;z-index:110;background:rgba(24,18,15,.68);padding:18px;overflow-y:auto;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(100%,600px);background:var(--paper);border-radius:22px;padding:25px;box-shadow:0 30px 70px rgba(0,0,0,.25)}.modal-card h2{margin:0}.modal-card ul{color:var(--muted);padding-left:20px}.modal-actions{justify-content:flex-end}.loading{padding:30px;text-align:center;color:var(--muted)}
@media(max-width:1030px){.desktop-nav{display:none}.menu-btn{display:grid}.hero{grid-template-columns:1fr}.hero-panel{max-width:760px}.quick-grid{grid-template-columns:repeat(2,1fr)}.animal-grid{grid-template-columns:repeat(2,1fr)}.filter-shell{grid-template-columns:1fr}.filter-panel{display:none;position:static}.filter-panel.open{display:block}.filter-toggle{display:flex}.info-grid,.detail-layout{grid-template-columns:1fr}.detail-photo{position:relative;top:auto;min-height:480px}.organisation-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:700px){body{padding-bottom:76px}.shell{width:min(calc(100% - 22px),var(--shell))}.nav{height:66px}.brand{min-width:auto}.brand-mark{width:40px;height:40px;border-radius:13px}.brand-sub{display:none}.nav-tools .font-tool{display:none}.hero{padding:38px 0 28px;gap:25px}.hero h1{font-size:clamp(2.45rem,12vw,3.8rem)}.hero-actions,.form-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn,.form-actions .btn{width:100%}.hero-visual{min-height:335px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px}.quick-card{padding:16px;min-height:158px}.section{padding:58px 0}.section-head{display:block}.section-head>p{margin-top:12px}.animal-grid,.organisation-grid{grid-template-columns:1fr}.animal-photo{height:270px}.content-grid{grid-template-columns:1fr}.footer{padding-bottom:30px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:9px;right:9px;bottom:8px;z-index:70;background:rgba(255,253,249,.95);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 15px 45px rgba(48,32,23,.15);border-radius:19px;padding:6px}.bottom-nav a{display:grid;place-items:center;gap:2px;color:#6a5c53;font-size:.65rem;font-weight:800;padding:6px 2px;border-radius:12px}.bottom-nav a.active{background:var(--accent-soft);color:var(--accent-dark)}.bottom-nav svg{width:21px;height:21px}.detail-card{padding:20px}.key-grid{grid-template-columns:1fr 1fr}.form-card{padding:19px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.quick-grid{grid-template-columns:1fr}.key-grid{grid-template-columns:1fr}.nav-tools .lang-btn{padding:0 8px}}

/* PWA 2.1 */
.pwa-install-btn{display:flex;gap:5px;padding-inline:10px}.pwa-install-btn .install-label{font-size:.76rem}.pwa-install-btn.ready{border-color:#c58c6d;background:#fff8f1;color:var(--accent-dark)}
.pwa-menu-install{width:100%;border:1px solid #c7aa98;background:var(--accent-soft);color:var(--accent-dark);padding:12px;border-radius:11px;text-align:left;font-weight:800}
.pwa-install-card{display:grid;grid-template-columns:88px 1fr auto;gap:22px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.pwa-install-card img{width:88px;border-radius:22px}.pwa-install-card h2{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.1;margin:0 0 8px}.pwa-install-card p{margin:0;color:var(--muted)}
.pwa-modal .modal-card{position:relative}.pwa-modal-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:1.5rem;line-height:1}.pwa-steps{padding-left:23px;color:var(--muted)}.pwa-steps li{margin:9px 0}
.network-badge{position:fixed;left:50%;bottom:92px;z-index:140;transform:translate(-50%,18px);opacity:0;pointer-events:none;padding:9px 14px;border-radius:12px;color:#fff;font-size:.78rem;font-weight:800;transition:.25s}.network-badge.show{opacity:1;transform:translate(-50%,0)}.network-badge.offline{background:#6f5142}.network-badge.online{background:#60725d}
.pwa-update-toast{position:fixed;right:18px;bottom:18px;z-index:145;background:var(--ink);color:#fff;border-radius:15px;padding:12px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 18px 45px rgba(0,0,0,.22)}.pwa-update-toast button{border:0;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);font-weight:800;padding:7px 10px}
.pwa-installed .pwa-install-btn,.pwa-installed .pwa-menu-install,.pwa-installed [data-pwa-install],.pwa-installed .pwa-home-card{display:none!important}
@media(max-width:700px){.pwa-install-btn .install-label{display:none}.pwa-install-card{grid-template-columns:68px 1fr}.pwa-install-card img{width:68px}.pwa-install-card .btn{grid-column:1/-1;width:100%}.network-badge{bottom:96px;white-space:nowrap}.pwa-update-toast{left:12px;right:12px;bottom:92px;justify-content:space-between}}


/* MVP 2.2 unified cases and pet motion */
:root{--font-scale:1;--warm:#FAF7F2;--paper:#FFFDFA;--ink:#2B201A;--muted:#6E625A;--accent:#B96832;--accent-dark:#8B5638;--accent-soft:#E8CBB7;--sand:#EDE2D5;--line:#DDCFC4;--warning:#B27B35;--error:#9A4B3F;--success:#66745C;--shadow:0 14px 36px rgba(62,42,31,.08)}
html{font-size:calc(16px * var(--font-scale))}.section-tight{padding:25px 0 80px}.statement-title{font-size:clamp(2rem,4vw,3.5rem)}.section-action{margin-top:26px;text-align:center}.muted-light{color:#d7c9bf}.btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.35)}.compact{padding-bottom:10px}.updated{color:var(--muted);font-size:.78rem}.text-link{color:var(--accent-dark);font-weight:800}.legal-copy{max-width:850px}.legal-copy h2{margin-top:30px}.legal-copy p{color:var(--muted)}
.status-badges{display:flex;flex-wrap:wrap;gap:7px;position:absolute;left:13px;right:13px;top:13px;z-index:2}.detail-badges{position:static;margin-bottom:16px}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:9px;background:#fff9f3;border:1px solid rgba(43,32,26,.12);font-size:.72rem;font-weight:900;box-shadow:0 5px 14px rgba(43,32,26,.08)}.status-badge.foster{background:#f2e2d6;color:#7d4528}.status-badge.adopt{background:#efe7dd;color:#5b4639}.status-badge.care{background:#eee9e2;color:#5f5954}.status-badge.closed{background:#e4e6e1;color:#576052}.status-badge.urgency-priority{background:#f5ead6;color:#805a24}.status-badge.urgency-urgent,.status-badge.urgency-critical,.status-badge.foster.urgent{background:#f3ddd8;color:#873e34}.status-badge.urgency-critical{animation:gentlePulse 2.7s ease 1}
.animal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.case-id{font-size:.68rem;color:var(--muted);white-space:nowrap}.animal-summary{color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.4em}.animal-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#8B5638;background:linear-gradient(145deg,#E8D5C7,#F5EDE6)}.animal-placeholder svg{width:42%;max-width:150px}.animal-photo{position:relative;display:block}.animal-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:13px;margin-top:16px;font-size:.76rem}.animal-footer span{color:var(--muted)}.animal-footer a{font-weight:900;color:var(--accent-dark)}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.filter-chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 13px;border-radius:12px;font-weight:800}.filter-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.empty-state{grid-column:1/-1;text-align:center;border:1px dashed var(--line);border-radius:22px;padding:46px 20px;background:rgba(255,255,255,.45)}.empty-paw{display:inline-block;width:38px;height:33px;position:relative;color:var(--accent);opacity:.7}.empty-paw:before{content:"";position:absolute;left:10px;top:12px;width:19px;height:16px;border-radius:50% 50% 45% 45%;background:currentColor;box-shadow:-11px -10px 0 -5px currentColor,-2px -16px 0 -5px currentColor,9px -14px 0 -5px currentColor,17px -6px 0 -5px currentColor}.closed-message{background:#e7e8e4;color:#536050;padding:13px;border-radius:12px;font-weight:900;width:100%}
.pet-loader{grid-column:1/-1;min-height:190px;display:grid;place-items:center;align-content:center;gap:14px;color:var(--accent-dark);font-weight:850}.loader-track{width:150px;height:60px;position:relative}.loader-bone{width:72px;position:absolute;left:39px;top:12px;color:var(--accent);animation:boneFloat 1.6s ease-in-out infinite}.loader-paw,.scene-paw,.paw{position:absolute;width:16px;height:14px;color:var(--accent)}.loader-paw:before,.scene-paw:before,.paw:before{content:"";position:absolute;left:4px;top:5px;width:9px;height:8px;border-radius:50% 50% 44% 44%;background:currentColor;box-shadow:-5px -5px 0 -3px currentColor,0 -8px 0 -3px currentColor,5px -6px 0 -3px currentColor}.lp1{left:5px;top:30px;animation:pawStep 1.6s .05s infinite}.lp2{right:8px;top:5px;animation:pawStep 1.6s .4s infinite}.lp3{right:0;bottom:0;animation:pawStep 1.6s .75s infinite}.loading-dots:after{content:"";animation:dots 1.2s steps(4,end) infinite}.data-notice{position:fixed;left:50%;bottom:100px;z-index:160;transform:translate(-50%,18px);opacity:0;background:var(--ink);color:#fff;padding:10px 14px;border-radius:12px;font-size:.78rem;transition:.22s;pointer-events:none}.data-notice.show{opacity:1;transform:translate(-50%,0)}
.footer-paw-trail{height:62px;position:relative;overflow:hidden;background:linear-gradient(to bottom,transparent,var(--sand));color:var(--accent);opacity:.72}.footer-paw-trail .paw{opacity:0}.footer-paw-trail .p1{left:12%;top:33px;transform:rotate(-18deg);animation:trail 9s 0s infinite}.footer-paw-trail .p2{left:28%;top:16px;transform:rotate(10deg);animation:trail 9s .6s infinite}.footer-paw-trail .p3{left:46%;top:35px;transform:rotate(-5deg);animation:trail 9s 1.2s infinite}.footer-paw-trail .p4{left:66%;top:15px;transform:rotate(14deg);animation:trail 9s 1.8s infinite}.footer-paw-trail .p5{left:84%;top:32px;transform:rotate(-12deg);animation:trail 9s 2.4s infinite}.footer{position:relative;overflow:hidden}.footer-pets{position:absolute;inset:auto 0 0;pointer-events:none;color:rgba(237,226,213,.18)}.footer-cat,.footer-dog{position:absolute;bottom:-5px;width:150px}.footer-cat{left:2%;}.footer-dog{right:2%}.footer-cat path:last-of-type{transform-origin:95px 55px;animation:catTail 4s ease-in-out infinite}.footer-dog path:last-of-type{transform-origin:108px 54px;animation:dogTail 1.8s ease-in-out infinite}.footer-origin-link{display:inline-flex;align-items:center;gap:3px;color:#F0C5A8!important;font-weight:850;border-bottom:1px solid rgba(240,197,168,.35)}.external-icon{width:14px;height:14px;flex:none}.footer-note{display:flex;justify-content:space-between;gap:25px}.footer-note span:first-child{max-width:820px}.footer-identity{max-width:610px}
.hero-visual{position:relative}.scene-house{width:58%;color:var(--accent-dark);opacity:.7}.scene-paw{opacity:.55}.sp1{left:18%;bottom:18%;animation:pawDrift 7s infinite}.sp2{right:25%;top:18%;animation:pawDrift 7s 1.8s infinite}.sp3{right:10%;bottom:30%;animation:pawDrift 7s 3.6s infinite}.offline-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--warm)}.offline-card{width:min(100%,540px);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:36px;text-align:center;box-shadow:var(--shadow)}
@keyframes boneFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}@keyframes pawStep{0%,25%{opacity:0;transform:scale(.7)}40%,75%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:translate(8px,-5px) scale(.9)}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}@keyframes gentlePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025);box-shadow:0 0 0 5px rgba(154,75,63,.08)}}@keyframes trail{0%,12%{opacity:0}18%,55%{opacity:.65}70%,100%{opacity:0}}@keyframes catTail{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(8deg)}}@keyframes dogTail{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}@keyframes pawDrift{0%,100%{opacity:.25;transform:translate(0,0) rotate(-8deg)}50%{opacity:.7;transform:translate(8px,-9px) rotate(8deg)}}
@media(hover:hover){.animal-card{transition:transform .22s ease,box-shadow .22s ease}.animal-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(62,42,31,.12)}.animal-photo img{transition:transform .3s ease}.animal-card:hover .animal-photo img{transform:scale(1.02)}}
@media(max-width:700px){.footer-pets{display:none}.footer-note{display:grid}.status-badges{left:10px;right:10px;top:10px}.status-badge{font-size:.67rem}.filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-chip{white-space:nowrap}.data-notice{width:calc(100% - 26px);text-align:center}.footer-paw-trail{height:45px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.footer-paw-trail .paw{opacity:.35}.loader-bone{transform:none}.loader-paw{opacity:.55}}
.case-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px}.view-chips{display:flex;flex-wrap:wrap;gap:8px}.view-chips button{min-height:42px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:8px 12px;border-radius:12px;font-weight:850;cursor:pointer}.view-chips button.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.filter-title h2{margin:0;font-size:1.25rem}.filter-title button{border:0;background:transparent;color:var(--accent-dark);font-weight:850;cursor:pointer}.result-line{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.result-line span{font-size:.78rem;color:var(--muted)}.filter-toggle{display:none}.compact-check{margin-top:10px}
@media(max-width:1030px){.case-toolbar{align-items:flex-start}.filter-toggle{display:inline-flex}.view-chips{max-width:calc(100% - 130px)}}
@media(max-width:700px){.case-toolbar{display:grid}.view-chips{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.view-chips button{white-space:nowrap}.result-line{align-items:flex-start}.filter-toggle{width:100%}}
.freshness-note{display:inline-flex;margin:0 0 8px;padding:5px 8px;border-radius:8px;background:#F5EAD6;color:#805A24;font-size:.7rem;font-weight:900}
