/* Seasonal campaign layer. Core structure and data remain reusable. */
.help-shortcuts{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:20px;font-size:13px;color:var(--green);font-weight:700}.help-shortcuts a{text-decoration:underline;text-underline-offset:4px}.wb-block{margin-top:28px;padding:24px;background:var(--mint);border:1px dashed var(--holly);border-radius:16px}.wb-block .eyebrow{display:block;margin-bottom:10px;color:var(--holly)}.wb-block h3{font-size:25px}.wb-block p{margin-top:12px;font-size:13px}.wb-block .button{margin-top:18px}.wb-block button:disabled{opacity:1;color:var(--muted);border-color:var(--line)}.wb-link{border-color:var(--holly);color:var(--holly)}.sharing-kit{margin-top:55px;background:var(--ice);padding:30px;border:1px dashed var(--holly);border-radius:18px}.sharing-kit h3{font-size:30px}.sharing-kit p:not(.eyebrow){margin-top:14px;font-size:14px;max-width:660px}.sharing-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.secret-envelope{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;margin-top:24px;padding:32px 20px;background:var(--pink);color:var(--green);border:2px dashed var(--green);border-radius:16px}.secret-envelope>span{font-size:78px;line-height:1}.secret-envelope strong{font-size:22px}.secret-envelope small{font-size:12px}.secret-envelope:hover{background:var(--soft)}.envelope-reveal{margin-top:22px;animation:letter-reveal .25s ease-out}.envelope-reveal img{width:100%;height:240px;border-radius:12px;object-fit:cover}.envelope-reveal p{margin:18px 0!important}.envelope-reveal .text-link{display:block;margin-top:10px;color:var(--green)}@keyframes letter-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:760px){.help-shortcuts{font-size:12px;gap:12px}.wb-block{padding:20px}.wb-block h3{font-size:23px}.wb-block .button{width:100%;font-size:12px}.sharing-kit{padding:23px;margin-top:35px}.sharing-kit h3{font-size:26px}.sharing-actions{flex-direction:column}.sharing-actions .button{width:100%}.envelope-reveal img{height:210px}}
.map-canvas[style*="background-image"]{background-size:100% 100%}
:root{--paper:#fffaf2;--surface:#fffefa;--soft:#ffebe4;--text:#283b3d;--muted:#626965;--green:#c9363f;--line:#eddfd3;--map:#e1f0eb;--building:#d1e0db;--white:#fffefa;--shadow:0 12px 30px #773b3510;--mint:#e1f0eb;--ice:#e4f0f5;--pink:#fce5e4;--holly:#286458;--gold:#efbe57}
:root[data-theme=dark]{--paper:#221f2a;--surface:#302b37;--soft:#402c37;--text:#fff3e8;--muted:#d2c1c5;--green:#ffadb0;--line:#5c4451;--map:#283f3d;--building:#48625a;--white:#341f2a;--mint:#283f3d;--ice:#293d4b;--pink:#432d3b;--holly:#abd9c5;--gold:#efc879;--shadow:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#221f2a;--surface:#302b37;--soft:#402c37;--text:#fff3e8;--muted:#d2c1c5;--green:#ffadb0;--line:#5c4451;--map:#283f3d;--building:#48625a;--white:#341f2a;--mint:#283f3d;--ice:#293d4b;--pink:#432d3b;--holly:#abd9c5;--gold:#efc879;--shadow:none}}
body{font-family:"Trebuchet MS","Segoe UI",sans-serif}h1,h2,h3{font-family:"Trebuchet MS","Segoe UI",sans-serif;letter-spacing:-.045em}h1,h2{font-weight:800}.site-header{height:92px;position:relative;border-bottom:1px dashed var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand-gift{font-size:31px}.brand-name{display:block}.brand strong{color:var(--green);font-size:24px;letter-spacing:-.8px;font-weight:800}.brand small{color:var(--text);font-size:10px;letter-spacing:.4px}.site-header nav{gap:27px;font-size:14px}.header-actions{color:var(--green)}.demo-strip{background:var(--mint);font-size:11px;padding:6px 20px}.hero{position:relative;grid-template-columns:1.05fr 1fr;gap:5px;padding-block:45px 32px;min-height:465px}.hero-copy{position:relative;z-index:1}.hero .eyebrow{font-size:12px;letter-spacing:2px;color:var(--holly)}.hero h1{font-size:clamp(46px,5vw,72px);line-height:1.05;color:var(--green);letter-spacing:-.055em}.hero h1 span{color:var(--text);font-size:.83em}.hero-description{font-size:18px;max-width:420px;margin-top:25px;line-height:1.65}.hero-actions{margin-top:28px;gap:22px}.button{border-radius:12px;min-height:52px;font-family:inherit;font-size:14px;font-weight:700}.primary{box-shadow:0 4px 0 #7e172823}.primary:hover{box-shadow:0 6px 0 #7e172823}.hero-art{position:relative;align-self:center;margin-right:-25px;padding:5px 0 20px;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:10% 0 6%;background:var(--ice);border-radius:47% 53% 44% 56% / 54% 42% 58% 46%;transform:rotate(-7deg);z-index:-1}.hero-art img{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 5px #ab56490b)}.holiday-spark{position:absolute;color:var(--gold);font-size:36px;z-index:1}.spark-one{right:8%;top:0;transform:rotate(10deg)}.spark-two{left:3%;top:10%;font-size:27px;color:var(--green)}.holiday-note{position:absolute;right:10px;bottom:4px;transform:rotate(-7deg);padding:15px 22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px;line-height:1.5;border-radius:3px;color:var(--holly);text-align:center}.holiday-note:before{content:"";position:absolute;left:35%;top:-8px;width:55px;height:18px;background:var(--pink);opacity:.9;transform:rotate(4deg)}.holiday-note strong{font-size:16px}.holiday-ribbon{display:flex;align-items:center;justify-content:center;gap:65px;background:var(--pink);border-top:1px dashed var(--green);border-bottom:1px dashed var(--green);padding:14px 24px;color:var(--green);font-size:14px;font-weight:700;transform:rotate(-.7deg);margin-block:14px 65px}.section-heading .eyebrow{color:var(--holly);letter-spacing:1.5px}.section-heading h2{font-size:clamp(32px,3.3vw,46px)}.map-section{padding-top:0}.map-frame{border:2px solid var(--line);border-radius:18px;box-shadow:0 7px 0 var(--pink)}.map-toolbar{border-bottom:1px dashed var(--line);padding-block:12px;color:var(--holly);font-weight:700}.map-canvas{background-color:var(--mint);background-image:radial-gradient(circle at 8px 8px,#fffefa88 1.5px,transparent 2px);background-size:34px 34px}.map-path{background:var(--surface);opacity:.85}.enclosure{border-radius:8px;border-top-width:7px;border-top-color:var(--holly);background:var(--building);box-shadow:0 4px 0 #496b5720}.enclosure.inhabited{border-top-color:var(--green);background:var(--surface)}.enclosure[aria-pressed=true],.enclosure:hover{background:var(--green);border-color:var(--green);color:var(--white)}.enclosure span{font-size:23px;font-weight:800}.enclosure small{font-size:9px}.map-legend{border-top-style:dashed}.map-preview{border:2px solid var(--green);border-radius:12px;box-shadow:0 8px 20px #6d3c3c23}.enclosure-panel{border:2px dashed var(--line);background:var(--surface);border-radius:18px;padding:28px;position:relative}.enclosure-panel:before{content:"Почта Тайного Санты";color:var(--green);font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px}.panel-number{display:none}.enclosure-panel h3{font-size:29px}.resident{border-bottom:1px dashed var(--line)}.resident:last-child{border-bottom:0}.resident img{border-radius:12px}.resident strong{font-weight:800}.enclosure-panel>.text-link{color:var(--green)}.search-field{border-radius:12px;border-width:2px}.species-filters .filter,.filter-row>#saved-only{border-radius:9px;font-weight:700}.catalog-section{padding-top:85px}.animal-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:11px;box-shadow:0 5px 0 var(--pink);position:relative}.animal-card:nth-child(3n+2){box-shadow:0 5px 0 var(--mint)}.animal-card:nth-child(3n+3){box-shadow:0 5px 0 var(--ice)}.animal-card .photo-link{border-radius:11px}.animal-card .card-heading{margin:12px 6px 0}.animal-card .card-heading h3{font-size:30px}.animal-card>p{margin:3px 6px 0;font-size:13px}.card-bottom{margin:8px 6px 0;border:0;padding:9px 0 5px}.card-bottom .text-link{color:var(--green);font-size:13px}.animal-card .favorite{font-size:29px}.how-section{background:var(--mint);border:2px dashed var(--holly);border-radius:24px;padding:45px 48px;position:relative}.how-section:after{content:"✦";position:absolute;right:35px;top:26px;font-size:42px;color:var(--gold)}.how-section .section-heading{max-width:850px}.how-section h2{color:var(--holly)}.how-section .section-heading p{max-width:600px}.step-number{border:0;background:var(--surface);color:var(--green);font-weight:800;width:43px;height:43px;box-shadow:0 3px 0 #496b5720;font-size:19px}.faq-section h2{color:var(--green);font-size:40px}.faq-list details{border-bottom-style:dashed}.faq-list summary{font-weight:700}.site-footer{border-top:2px dashed var(--line)}.site-footer .brand strong{font-size:22px}.site-footer>span{color:var(--green)}.animal-page .back-link{color:var(--green);font-weight:700}.animal-portrait{background:var(--surface);padding:12px;border:1px solid var(--line);border-radius:17px;box-shadow:0 6px 0 var(--pink);transform:rotate(-1deg)}.animal-portrait>img{border-radius:10px;height:530px}.portrait-caption{padding-inline:7px}.animal-intro .eyebrow{color:var(--holly);font-size:11px}.profile-heading h1{color:var(--green);font-size:82px}.animal-lead{font-size:23px;font-weight:700}.animal-story{font-size:15px;line-height:1.8}.pet-facts span{border-style:dashed;background:var(--mint);color:var(--holly);border-radius:8px}.care-note{border-top-style:dashed}.care-note strong{color:var(--green)}.wishes>h2{color:var(--green);font-size:42px}.wish-row{border-bottom-style:dashed}.wish-row h3{font-size:22px;font-weight:800}.wish-row .button{border-color:var(--green);color:var(--green);background:var(--surface)}.donation-panel{background:var(--pink);border-radius:20px;border:2px dashed var(--green);position:relative;padding:30px}.donation-panel .eyebrow{font-size:10px}.donation-panel h2{font-size:28px;color:var(--green)}.payment-placeholder{border-radius:14px;border:1px dashed var(--green)}.payment-placeholder>span{font-size:43px}.pet-contacts{border-top-style:dashed}.online-help h3{font-size:23px}.online-help .text-link{color:var(--green)}.other-pets h2{color:var(--green)}dialog{border:2px dashed var(--green);border-radius:20px}dialog h2{color:var(--green)}#toast{border-radius:12px}.empty-state{background:var(--ice);border:1px dashed var(--line);border-radius:18px}
@media(min-width:1450px){.hero h1{font-size:76px}.hero{padding-block:52px 40px}.hero-art{margin-right:-35px}}
@media(max-width:1050px){.hero{gap:0}.hero h1{font-size:54px}.hero-description{font-size:16px;max-width:350px}.hero-art{margin-right:0}.hero .hero-actions{gap:13px}.hero .hero-actions .button{font-size:13px;padding-inline:17px}.holiday-ribbon{gap:30px;font-size:12px}.brand strong{font-size:21px}.site-header nav{gap:19px;font-size:12px}.hero-art:before{inset:12% 0 10%}.holiday-note{font-size:11px;padding:12px 15px;right:5px;bottom:-10px}.holiday-note strong{font-size:14px}.enclosure-panel{padding:20px}.wishes>h2{font-size:36px}.profile-heading h1{font-size:70px}}
@media(max-width:760px){.site-header{height:81px}.brand{gap:7px}.brand-gift{font-size:24px}.brand strong{font-size:17px;letter-spacing:-.6px}.brand small{font-size:8px;letter-spacing:0}.site-header nav{font-size:10px}.site-header nav a:nth-child(2){max-width:57px;line-height:1.4}.header-actions{gap:2px}.saved-link{font-size:21px}.theme-toggle{width:28px}.demo-strip{font-size:9px;line-height:1.5;padding:6px 15px}.hero{grid-template-columns:1fr;gap:3px;padding-top:32px;padding-bottom:28px;min-height:0}.hero .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:18px}.hero h1{font-size:clamp(43px,11.5vw,65px);line-height:1.05}.hero h1 span{font-size:.84em}.hero-description{font-size:15px;max-width:330px;margin-top:18px}.hero-actions{margin-top:22px!important;gap:12px!important}.hero .hero-actions .button{min-height:49px;padding:12px 16px;font-size:12px}.hero .hero-actions .text-link{font-size:11px}.hero-art{margin:13px -5px 0;padding-bottom:22px;max-width:460px;justify-self:center}.hero-art img{max-height:320px;width:100%;object-fit:contain}.hero-art:before{inset:10% 4% 9%}.holiday-note{right:12px;bottom:2px;padding:10px 16px;font-size:10px}.holiday-note strong{font-size:13px}.spark-one{font-size:27px;right:6%;top:4%}.spark-two{font-size:23px;top:16%}.holiday-ribbon{gap:20px;padding:12px 16px;font-size:10px;margin-top:4px;margin-bottom:42px;white-space:nowrap;overflow:hidden;justify-content:flex-start}.holiday-ribbon span:last-child{display:none}.section-heading h2{font-size:31px;line-height:1.12}.section-heading p:not(.eyebrow){font-size:13px}.map-frame{border-radius:16px}.map-toolbar{padding:10px 12px;font-size:11px}.enclosure-panel{padding:20px;border-radius:16px}.enclosure-panel:before{margin-bottom:8px;font-size:9px}.enclosure-panel h3{font-size:25px}.enclosure span{font-size:19px}.resident{padding-block:10px}.resident img{height:65px;width:65px}.resident strong{font-size:20px}.map-legend{font-size:9px}.catalog-section{padding-top:52px}.animal-grid{gap:23px 12px}.animal-card{padding:7px;border-radius:13px}.animal-card .photo-link{border-radius:8px}.animal-card .card-heading{margin:5px 3px 0}.animal-card .card-heading h3{font-size:23px}.animal-card>p{font-size:10px;margin-inline:3px;min-height:32px}.animal-card .card-bottom{margin:3px 3px 0;padding-top:6px}.animal-card .card-bottom .text-link{font-size:11px}.animal-card .favorite{font-size:24px;width:30px}.how-section{border-radius:18px;padding:29px 22px;margin-top:52px}.how-section:after{display:none}.how-section h2{font-size:31px}.how-section .section-heading p{font-size:13px}.step-number{width:34px;height:34px;font-size:16px}.how-list h3{font-size:21px}.how-list p{font-size:12px}.faq-section h2{font-size:33px}.faq-list summary{font-size:13px}.site-footer .brand{width:100%}.site-footer .brand strong{font-size:23px}.site-footer .brand small{font-size:9px}.site-footer .brand-gift{font-size:31px}.site-footer>p{width:45%}.site-footer>span{margin-left:0}.animal-layout{gap:33px}.animal-portrait{padding:9px}.animal-portrait>img{height:390px}.profile-heading h1{font-size:64px}.animal-intro .eyebrow{font-size:9px}.animal-lead{font-size:21px}.animal-story{font-size:14px}.profile-actions .button{font-size:12px;padding-inline:13px;gap:8px}.wishes>h2{font-size:34px}.wish-row h3{font-size:20px}.donation-panel{padding:25px;border-radius:17px}.donation-panel h2{font-size:28px}.other-pets h2{font-size:31px}.profile-actions a{flex-basis:56%}}
@media(max-width:359px){.brand strong{font-size:15px}.brand-gift{font-size:21px}.brand small{font-size:7px}.site-header nav{display:none}.hero .hero-actions{flex-direction:column;align-items:flex-start}.hero-art{margin-top:6px}.holiday-ribbon{font-size:9px;gap:15px}.animal-card .card-heading h3{font-size:21px}.site-footer>p{width:100%}}
