:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#3d4a39;background:#eef0df;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 4% 4%,#fbf6d5 0,transparent 28%),linear-gradient(165deg,#f5f2df,#e4ecd9 62%,#d8e7d5);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}.game{width:min(1100px,100% - 36px);margin:0 auto;padding:32px 0 70px}.game-hero{display:flex;gap:24px;justify-content:space-between;align-items:end;padding:8px 0 24px}.game-hero h1{font-size:clamp(2.6rem,5.5vw,4.5rem);line-height:1.05;letter-spacing:-.055em;color:#354b36;margin:3px 0 12px}.game-hero h1 span{color:#edaaa7;font-size:.55em;vertical-align:top}.eyebrow{font-size:.74rem;font-weight:800;letter-spacing:.17em;color:#71815c;margin:0 0 8px}.hero-intro,.muted{color:#6f7969}.hero-intro{margin:0}.hero-stats{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;max-width:480px}.stat{min-width:98px;background:#fffdf0d9;border:1px solid #e8ead6;border-radius:18px;padding:10px 13px;box-shadow:0 8px 24px #6e8a5a16}.stat span{display:block;color:#7c8772;font-size:.7rem}.stat strong{display:block;font-size:1rem;color:#39533f;margin-top:2px}.game-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:6px;border-radius:20px;background:#d7dfc8;box-shadow:inset 0 2px 6px #6f87501e;margin-bottom:25px;position:sticky;top:48px;z-index:20}.tab{border:0;background:transparent;color:#586c50;font-weight:700;border-radius:15px;padding:11px 4px;white-space:nowrap}.tab span{display:inline-block;font-size:1.22rem;margin-right:7px;vertical-align:-.05em}.tab:hover,.tab:focus-visible{background:#f8f9e7}.tab.is-active{background:#fffdf1;color:#35543f;box-shadow:0 3px 10px #48694321}.panel{animation:appear .25s ease}.panel[hidden],#game-content[hidden],#login-gate[hidden],.notice[hidden]{display:none!important}@keyframes appear{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.section-heading h2{font-family:Georgia,"Microsoft YaHei",serif;color:#344c39;margin:0;font-size:clamp(1.45rem,3vw,2rem)}.section-heading h2 span{font-family:inherit;color:#8b9b72;font-size:.68em}.section-heading p:last-child{margin-bottom:0}.subsection{margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #bed0ae;color:#466148;background:#fcfff4;border-radius:999px;padding:11px 17px;text-decoration:none;font-weight:700;white-space:nowrap;box-shadow:0 2px 0 #abc098;transition:transform .16s,background .16s}.button:hover{background:#f3f9e9;transform:translateY(-1px)}.button:active{transform:translateY(1px);box-shadow:none}.button.primary{background:#52785d;color:white;border-color:#52785d;box-shadow:0 3px 0 #385a41}.button.primary:hover{background:#456d51}.button.danger{color:#9b5447;border-color:#e9c6b9;background:#fff7f0;box-shadow:0 2px 0 #e1b8a8}.button.wide{width:100%}.button.small{padding:7px 12px;font-size:.82rem}.count-pill{background:#fffef1;border:1px solid #d7e3c8;color:#597453;padding:7px 12px;border-radius:100px;font-weight:700;font-size:.8rem}.notice{position:sticky;top:112px;z-index:30;background:#fff9e6;color:#4c5a3b;border:1px solid #e6d79f;border-radius:14px;padding:12px 16px;margin:0 0 18px;box-shadow:0 12px 28px #5b663122}.notice.error{background:#fff2ed;color:#914c40;border-color:#f0bcb0}.yard-scene,.public-scene{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(#a9c7be 0%,#d4e5c9 43%,#a8ce8c 44%,#78a76e 100%);border:8px solid #fffdf0;border-radius:26px;min-height:480px;box-shadow:0 14px 35px #425f3730,0 2px 0 #c2d3a9}.scene-sky{position:absolute;inset:0 0 43%;z-index:-1}.scene-sun{position:absolute;right:12%;top:10%;width:75px;height:75px;border-radius:50%;background:#ffe5a2;box-shadow:0 0 0 14px #ffe8a958,0 0 55px #ffe8a9}.scene-cloud{position:absolute;width:116px;height:35px;border-radius:100px;background:#f8f8e6aa;filter:blur(2px)}.scene-cloud:before,.scene-cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.scene-cloud:before{width:55px;height:55px;left:18px;bottom:5px}.scene-cloud:after{width:44px;height:44px;right:15px;bottom:3px}.cloud-one{top:14%;left:8%}.cloud-two{top:28%;left:45%;transform:scale(.7)}.scene-hill{position:absolute;border-radius:50% 50% 0 0;z-index:-1}.hill-back{background:#b2d3a3;width:95%;height:140px;top:37%;left:-14%;transform:rotate(-4deg)}.hill-front{background:#85b77b;width:95%;height:180px;top:42%;right:-20%;transform:rotate(5deg)}.scene-fence{position:absolute;top:39%;left:0;right:0;height:52px;opacity:.77;background:repeating-linear-gradient(90deg,transparent 0 24px,#f3e5bf 24px 34px,transparent 34px 63px),linear-gradient(transparent 16px,#f8edd0 16px 26px,transparent 26px 37px,#f8edd0 37px 46px,transparent 46px)}.scene-path{position:absolute;left:36%;bottom:-38%;width:26%;height:70%;border-radius:50%;background:linear-gradient(#d4bd91,#e3d3aa);filter:blur(2px);transform:perspective(180px) rotateX(25deg)}.scene-flower{position:absolute;z-index:1;color:#f8d9b0;text-shadow:0 2px #5e966c;font-size:1.8rem}.flower-one{left:7%;bottom:14%}.flower-two{right:12%;bottom:27%;color:#fff2be}.flower-three{left:67%;bottom:8%;color:#f2b7bf}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:13px}.outing-card,.neighbor-card,.slot-card,.animal-card{background:#fffdf2;border:1px solid #e2e9d4;border-radius:19px;box-shadow:0 5px 18px #55764a13}.outing-card{padding:17px}.outing-card-head{display:flex;gap:12px;align-items:center}.outing-card .big-glyph{font-size:2.7rem}.outing-card strong,.neighbor-card strong{color:#3b5840}.outing-card p{margin:7px 0;color:#70806b;font-size:.88rem}.outing-card .earnings{font-size:1.15rem;color:#a6763c;font-weight:800;margin:12px 0}.empty-card{padding:21px;border:1px dashed #b7c9a9;border-radius:18px;color:#75836d;background:#f9fbea}.slot-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.slot-card{padding:14px}.slot-card.locked{opacity:.53;background:#f5f4ea}.slot-head{display:flex;justify-content:space-between;color:#526b50;font-weight:800}.slot-card p{font-size:.8rem;color:#7b8970;margin:9px 0}.progress{height:7px;border-radius:99px;background:#e6ead8;overflow:hidden}.progress>span{display:block;height:100%;background:#85b076;border-radius:inherit}.animal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}.animal-card{padding:15px;display:flex;flex-direction:column;align-items:flex-start;min-height:190px}.animal-card .card-glyph{font-size:2.9rem;line-height:1;margin-bottom:11px}.animal-card h3{font-size:1rem;margin:0 0 5px;color:#415a43}.animal-card p{font-size:.79rem;color:#758273;margin:3px 0}.animal-card .card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}.animal-card.locked{filter:saturate(.6)}.animal-card.undiscovered .card-glyph{filter:grayscale(1);opacity:.48}.animal-card .badge{font-size:.65rem;background:#eff3df;padding:4px 7px;border-radius:99px;color:#597558;margin-left:auto}.search-label{display:block;font-size:.78rem;color:#6c7d64;margin-bottom:7px;font-weight:700}.search{width:100%;max-width:430px;border:1px solid #bfceae;border-radius:13px;background:#fffdf5;padding:12px 15px;color:#35513d;outline:none;margin-bottom:18px}.search:focus{border-color:#5d8a62;box-shadow:0 0 0 3px #9ac28e55}.neighbor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:11px}.neighbor-card{padding:17px}.neighbor-card p{margin:8px 0;color:#6d7d69;font-size:.85rem}.neighbor-card .neighbor-top{display:flex;justify-content:space-between;gap:8px}.neighbor-card.closed{opacity:.62}.neighbor-card .button{margin-top:8px}.public-scene{min-height:200px;border-width:6px;background:linear-gradient(#c9e3db,#a8cf91 47%,#75b273 48%,#6daa67)}.public-animal{position:absolute;font-size:2rem;transform:translate(-50%,-50%);filter:drop-shadow(0 5px 2px #46674866)}.public-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#477044;background:#ffffff33;padding:20px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.filter{background:#f9fbeb;color:#62785b;border:1px solid #d3dfc4;border-radius:99px;padding:8px 14px}.filter.is-active{background:#54765a;color:white;border-color:#54765a}.record-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.record-list li{display:flex;gap:12px;background:#fffdf2;border:1px solid #e3e9d7;padding:12px 15px;border-radius:13px}.record-list time{color:#809078;white-space:nowrap;font-size:.79rem;min-width:96px}.record-list span{color:#52624f}.login-gate{text-align:center;background:#fffdf2;border:1px solid #e0e9d0;border-radius:24px;padding:50px 20px;box-shadow:0 12px 30px #5d775525}.gate-art{font-size:5rem}.gate-art span{font-size:2rem;margin-left:-1rem}.login-gate h2{color:#435d44}.login-gate p{color:#72826d}.gate-links{display:flex;justify-content:center;gap:10px;margin-top:22px}.game-dialog,.detail-dialog{border:0;border-radius:24px;background:#fffdf2;color:#425843;box-shadow:0 22px 70px #253a2f62;padding:25px;width:min(440px,calc(100vw - 24px));max-height:min(85vh,750px);overflow:auto}.game-dialog::backdrop,.detail-dialog::backdrop{background:#1f3e3290;backdrop-filter:blur(3px)}.game-dialog h2,.detail-dialog h2{margin:0 0 12px;color:#3d5941}.dialog-close{position:absolute;right:15px;top:13px;border:0;border-radius:50%;width:34px;height:34px;background:#eef3e3;color:#557157;font-size:1.4rem}.place-form{display:grid;gap:8px;margin-top:16px}.place-form label{font-size:.82rem;font-weight:800;color:#5d7159}.place-form select{border:1px solid #c7d7b9;border-radius:12px;padding:11px;background:#f9fcf0;color:#3f5841;min-width:0}.form-hint{font-size:.8rem;color:#788671;line-height:1.55;margin:4px 0 12px}.detail-dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(540px,100vw);border-radius:25px 25px 0 0;padding:30px 24px 34px}.detail-hero{display:flex;gap:17px;align-items:center;margin-bottom:15px}.detail-hero .big-glyph{font-size:4rem}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.detail-meta div{background:#eef5e8;padding:10px;border-radius:11px}.detail-meta span{display:block;color:#7b8b74;font-size:.72rem}.detail-meta strong{display:block;margin-top:3px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap}.detail-actions .button{flex:1}@media(max-width:700px){.game{width:min(100% - 22px,540px);padding-top:21px}.game-hero{display:block;padding-bottom:20px}.game-hero h1{font-size:2.8rem}.hero-stats{justify-content:start;margin-top:17px}.stat{min-width:calc(50% - 5px)}.game-tabs{top:44px;gap:2px;padding:4px;border-radius:14px;margin-bottom:20px}.tab{padding:8px 0;font-size:.75rem}.tab span{display:block;margin:0 0 2px;font-size:1.18rem}.section-heading{align-items:flex-end}.section-heading .button{padding:9px 11px;font-size:.8rem}.yard-scene{min-height:380px;border-width:5px;border-radius:20px}.record-list li{display:block}.record-list time{display:block;margin-bottom:4px}.animal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.animal-card{min-height:178px}.public-scene{min-height:180px}}@media(max-width:360px){.tab{font-size:.65rem}.animal-grid{gap:7px}.animal-card{padding:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.animal-card.away .card-glyph{filter:saturate(.55)}
.hero-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:550px;max-width:550px}.stat{min-width:0}@media(max-width:700px){.hero-stats{width:100%;max-width:none;grid-template-columns:repeat(6,minmax(0,1fr))}.stat{grid-column:span 2}.stat:nth-child(-n+2){grid-column:span 3}}


/* Ten visible grass plots: five across on desktop, two across on phones. */
.yard-scene{min-height:600px;background:linear-gradient(#bfd9bb55,#87b36e33),url('./art-prototype/yard-v1.png') center/cover}
.scene-occupants{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 14px;padding:175px 25px 38px;z-index:2}
.yard-plot{position:relative;min-width:0;height:170px;border:0;background:transparent;color:#344d35;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:0 5px 8px;isolation:isolate}
.yard-plot:before{content:"";position:absolute;inset:42px 0 0;border-radius:45% 44% 32% 36%;background:linear-gradient(150deg,#d3e5a68c,#78a456a8);border:1px solid #e4edbf9c;box-shadow:inset 0 -5px 12px #44662e24,0 3px 5px #3d5b2920;z-index:-1}
.yard-plot:after{content:"";position:absolute;width:7px;height:17px;left:7%;bottom:30px;background:#ae8759;border:1px solid #816440;border-radius:3px;box-shadow:0 2px 2px #3c552c44}
.yard-animal:hover:before,.yard-animal:focus-visible:before{border-color:#fff7ce;box-shadow:0 0 0 3px #fff4be80}
.yard-animal:focus-visible{outline:2px solid #345c39;outline-offset:4px;border-radius:22px}
.plot-number{position:absolute;right:9%;bottom:28px;color:#526b3d;font-size:.65rem}
.plot-animal{height:102px;width:100%;display:flex;align-items:flex-end;justify-content:center;position:relative}
.plot-animal:before{content:"";position:absolute;bottom:0;width:58px;height:10px;background:#33492340;filter:blur(3px);border-radius:50%;z-index:-1}
.static-animal{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.static-placeholder{display:block;font-size:64px;line-height:1.05}
.owner-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;margin-top:5px;background:#f4f5d8d9;border-radius:8px;padding:2px 7px}
.stay-time{font-size:.65rem;color:#354d2f;margin-top:3px}
.empty-plot-label{font-size:.75rem;color:#4d6740;padding-bottom:35px}
.card-glyph,.big-glyph{display:block;width:72px;height:76px;flex-shrink:0}.card-glyph .static-placeholder,.big-glyph .static-placeholder{font-size:58px}
.public-animal{width:54px;height:60px}.public-animal .static-placeholder{font-size:40px}
@media(max-width:700px){.yard-scene{min-height:0;background-position:58% center}.scene-occupants{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;padding:125px 16px 24px}.yard-plot{height:143px}.plot-animal{height:83px}.static-placeholder{font-size:57px}.yard-plot:before{inset:30px 0 0}.scene-fence{top:100px}.scene-path{opacity:.25}}

@media(max-width:700px){.yard-scene{background-color:#91b66b;background-image:url('./art-prototype/yard-v1.png');background-position:58% top;background-size:auto 360px;background-repeat:no-repeat}.scene-occupants{background:linear-gradient(transparent 240px,#91b66b 365px,#a1bf79 100%)}}
/* First playtest adjustments: preserve yard art and cream/green palette. */
.game{padding-top:14px}.game-hero{padding:0 0 14px;gap:16px}.game-hero h1{font-size:2.3rem;margin-bottom:6px}.hero-intro{font-size:.82rem}.game-hero .eyebrow{margin-bottom:4px}.hero-stats{gap:6px}.stat{padding:7px 9px;border-radius:12px}.game-tabs{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:16px}.tab{padding:8px 2px}
.notice{position:fixed;top:auto;bottom:30px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 28px);margin:0;z-index:10000;pointer-events:none}
.slot-list{grid-template-columns:repeat(5,minmax(0,1fr))}.exp-label{font-size:.68rem;color:#627357;margin-top:6px}progress{appearance:none;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#e6ead8}progress::-webkit-progress-bar{background:#e6ead8}progress::-webkit-progress-value{background:#85b076}progress::-moz-progress-bar{background:#85b076}#yard-exp{max-width:330px}.stat progress{display:block}
.yard-scene{height:540px;min-height:0;background-size:cover;background-position:center}.scene-occupants{position:absolute;inset:0;display:block;padding:0;background:none;z-index:2}.scene-animal{position:absolute;transform:translate(-50%,-65%);width:90px;border:0;padding:0;background:none;color:#344d35}.scene-animal .plot-animal{height:78px}.scene-animal .owner-tag{font-size:.65rem}.scene-animal:focus-visible{outline:3px solid #fff6c2;border-radius:12px}.field-scene{cursor:crosshair}.field-scene .scene-animal{cursor:default;text-align:center}.animal-choice{cursor:pointer;width:100%;text-align:left}.animal-choice.selected{outline:3px solid #52785d;background:#eff6de}.place-cursor{position:absolute;transform:translate(-50%,-50%);font-size:2rem;color:#fff9d6;text-shadow:0 1px 4px #345436;pointer-events:none}
.meadow{height:480px;min-height:0;background:radial-gradient(ellipse at 60% 95%,#c0d68e66,transparent 60%),linear-gradient(#c6e7dc 0%,#e1edcd 35%,#9cc788 36%,#8bbc70 60%,#a9cb7c);background-size:auto}.meadow-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}.meadow-art .scene-sun{width:52px;height:52px;top:8%}.meadow-hill{position:absolute;top:24%;left:-10%;width:120%;height:24%;background:#a3c697;border-radius:48% 60% 0 0;box-shadow:60px 20px 0 #8eb982}.meadow-pond{position:absolute;right:-4%;bottom:3%;width:23%;height:20%;border-radius:50%;background:linear-gradient(165deg,#aacfc0,#80bcb2);border:9px solid #cad6a0;transform:rotate(-20deg)}.meadow-tree{position:absolute;left:2%;top:18%;font-size:110px;color:#618f61;text-shadow:12px 10px #729e6b}.meadow-flowers{position:absolute;bottom:6%;left:7%;font-size:24px;color:#fff0b9}.meadow-sign{position:absolute;left:15%;top:35%;padding:8px 14px;border:3px solid #b8a478;background:#f4e8c3;border-radius:6px;color:#66754b;font-size:13px;transform:rotate(-5deg)}.public-empty{inset:auto 20% 25%;background:#fffdf0b8;border-radius:16px;padding:12px;font-size:.85rem}.public-scene{height:340px}.meadow .scene-animal{z-index:2}#ranking-list li{justify-content:space-between}
@media(max-width:700px){.game-hero{padding-bottom:12px}.game-hero h1{font-size:2rem}.hero-stats{margin-top:10px;grid-template-columns:repeat(5,minmax(0,1fr))}.stat,.stat:nth-child(-n+2){grid-column:auto;padding:7px 5px}.stat strong{font-size:.78rem}.stat .exp-label{font-size:.58rem}.slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tab span{display:none}.tab{font-size:.72rem;padding:10px 1px}.yard-scene,.meadow{height:430px;background-size:cover}.scene-animal{width:62px}.scene-animal .plot-animal{height:60px}.scene-animal .static-placeholder{font-size:44px}.scene-animal .owner-tag{font-size:.55rem;padding:2px 3px}.public-scene{height:300px}.hero-intro{font-size:.76rem}.notice{bottom:65px}}
.notice{right:auto}.notice::backdrop{display:none}
.meadow{background:#a1c384 url("./art-prototype/public-meadow.svg") center/cover}.meadow-sign{left:15%;top:37%;font-size:11px;padding:5px 10px}#field-animals{display:flex;gap:10px;overflow-x:auto;padding:4px 4px 12px;margin-bottom:8px}#field-animals .animal-choice{flex:0 0 155px;min-height:0;padding:10px;display:grid;grid-template-columns:45px 1fr;align-items:center;gap:3px 7px}#field-animals .card-glyph{grid-row:span 2;width:45px;height:50px;margin:0}#field-animals .static-placeholder{font-size:38px}#field-animals p{font-size:.7rem}#field-animals .empty-card{margin:0}

.game-tabs{grid-template-columns:repeat(8,minmax(0,1fr))}.help-content{display:grid;gap:12px}.help-content details{background:#fffdf2;border:1px solid #d3dfc4;border-radius:16px;padding:16px 20px;line-height:1.8;overflow-wrap:anywhere}.help-content summary{cursor:pointer;font-weight:700;color:#39533f}.help-content p,.help-content ul{margin:12px 0 0}.help-content ul{padding-left:22px}@media(max-width:700px){.help-content details{padding:13px}.game-tabs .tab{font-size:.7rem}}

@media(max-width:700px){.game-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}

.scene-status{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding:2px 5px;border-radius:7px;background:#fffdf1ed;color:#42583c;font-size:10px;line-height:1.5;white-space:nowrap;pointer-events:none;box-shadow:0 1px 4px #344d3520}.scene-animal .owner-tag,.public-animal .owner-tag{display:block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fffdf1df;border-radius:6px;padding:2px 4px;line-height:1.4}.public-animal .owner-tag{position:absolute;top:100%;left:50%;transform:translateX(-50%);font-size:10px}.my-animal .owner-tag{background:#dceecb;color:#285232;font-weight:700}.scene-animal:hover,.scene-animal:focus-visible,.public-animal:hover{z-index:100!important}

.scene-rate{display:block;font-size:9px;line-height:1.4;white-space:nowrap;background:#fffdf1e8;border-radius:5px;padding:2px 3px}.public-animal .scene-rate{position:absolute;bottom:calc(100% + 20px);left:50%;transform:translateX(-50%)}

/* Keep tab content aligned when the page gains or loses its vertical scrollbar. */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}

.scene-recall{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);border:1px solid #bed0ae;border-radius:999px;padding:4px 10px;background:#fffdf1;color:#39533f;font-size:12px;line-height:1.4;white-space:nowrap;box-shadow:0 2px 4px #344d3520}.public-animal .scene-recall{top:calc(100% + 20px)}

.quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.animal-heading{flex-wrap:wrap}
.capped-filter{display:flex;align-items:center;gap:7px;color:#62785b;font-size:.85rem;margin:0 0 15px;width:fit-content;cursor:pointer}
.capped-filter input{accent-color:#52785d;width:17px;height:17px}
.scene-actions{display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap;max-width:100%;pointer-events:none}
.scene-actions button{pointer-events:auto}
.scene-actions .scene-recall,.scene-renew{position:static;transform:none;border:1px solid #bed0ae;border-radius:999px;padding:5px 8px;background:#fffdf1;color:#39533f;font-size:12px;line-height:1.4;white-space:nowrap;min-height:32px;box-shadow:0 2px 4px #344d3520;cursor:pointer}
.scene-renew{background:#e4eed7}
.public-animal .scene-actions{position:absolute;top:calc(100% + 40px);left:50%;transform:translateX(-50%);max-width:none;width:105px}
.exchange-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.exchange-choices label{display:flex;flex-direction:column;gap:10px;min-width:0}
.exchange-choices select{width:100%;min-width:0;padding:10px 8px;border:1px solid #c9c7b5;border-radius:10px;background:#fffdf5;color:inherit;font:inherit}
.exchange-choices .card-glyph{align-self:center}
#exchange-summary{padding:12px;border-radius:12px;background:#eef2dd;line-height:1.6}
@media(max-width:700px){.scene-actions .scene-recall,.scene-renew{font-size:10px;padding:5px 6px}.quick-actions{gap:5px}.quick-actions .button{padding:8px 10px}.exchange-choices{gap:9px}.exchange-choices select{font-size:12px}}

.yard-place-spot{position:absolute;left:0;top:0;transform:translate(-50%,-65%);width:15%;height:20%;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px dashed #f8ffe5;border-radius:18px;background:#edf9bd66;color:#29492e;font-size:12px;text-shadow:0 1px #fff9;box-shadow:inset 0 0 0 1px #52785d55}.yard-place-spot>span:first-child{font-size:24px}.yard-place-spot:hover,.yard-place-spot:focus-visible{background:#f6ffd4bb;outline:3px solid #52785d;outline-offset:2px}

.scene-drive{position:absolute;transform:translate(-50%,38px);z-index:3;border:1px solid #e9c6b9;border-radius:999px;padding:4px 10px;background:#fff7f0;color:#9b5447;font-size:12px;line-height:1.4}.scene-drive:hover,.scene-drive:focus-visible{background:#ffe7da;outline:2px solid #9b5447}@media(max-width:700px){.scene-drive{transform:translate(-50%,34px)}}

.scene-animal.is-highlighted{outline:3px solid #fff1a8;border-radius:18px;box-shadow:0 0 22px 10px #fff4a999;animation:animal-highlight 5s ease-out forwards}@keyframes animal-highlight{0%,70%{outline-color:#fff1a8;box-shadow:0 0 22px 10px #fff4a999}100%{outline-color:transparent;box-shadow:0 0 0 0 transparent}}

/* Animal artwork is informational; only explicit action buttons are interactive. */
.scene-animal{cursor:default;text-align:center}

.record-filter{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#62785b;font-size:.85rem}.record-filter select{font:inherit;max-width:100%;padding:8px 12px;border:1px solid #d3dfc4;border-radius:12px;background:#fffdf2;color:#425843}.record-filter select:focus-visible{outline:2px solid #54765a;outline-offset:2px}

/* Anchor artwork to the grass; names and actions follow in normal flow. */
.scene-animal{--animal-height:78px;width:min(130px,17%);transform:translate(-50%,calc(-1 * var(--animal-height)));display:flex;flex-direction:column;align-items:center;gap:4px}
.scene-animal .plot-animal{height:var(--animal-height);flex-shrink:0}
.scene-animal .owner-tag{max-width:100%;margin:0;font-size:12px;font-weight:400;padding:2px 6px}
.scene-animal .owner-tag,.public-animal .owner-tag{display:flex;align-items:center;gap:0}
.scene-species{flex-shrink:0;font-weight:700}
.scene-owner{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#627357}
.scene-possessive{flex-shrink:0;color:#627357}
.slot-card .slot-income{display:flex;flex-wrap:wrap;gap:3px 10px;margin:9px 0;line-height:1.5}
.slot-income>span:first-child{color:#52785d;font-weight:700}
.scene-animal .scene-drive,.scene-animal .scene-recall{position:static;transform:none;max-width:100%;min-height:32px;margin:0;padding:5px 10px;line-height:1.4;white-space:nowrap}
.scene-status{display:flex;align-items:center;justify-content:center;gap:3px;width:max-content;max-width:100%;font-variant-numeric:tabular-nums}
.yard-scene{height:700px}
.scene-earnings{display:flex;align-items:center;justify-content:center;gap:3px;width:max-content;padding:2px 3px;background:#fff6dbe8;border-radius:6px;font-size:11px;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;color:#79602d}
.public-animal .scene-earnings{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);max-width:none}
.public-animal .scene-recall{top:calc(100% + 40px)}
.scene-coins{display:inline-flex;align-items:center;gap:2px}
.scene-time{color:#627357}
.scene-time::before{content:'·';margin-right:3px;color:#a59a79}
.scene-coin{width:10px;height:10px;flex-shrink:0;fill:#f6dc8a;stroke:#987027;stroke-width:1.2}
.scene-max{font-size:.8em;font-weight:700;line-height:1.2;padding:1px 3px;border-radius:4px;background:#eadfa8;color:#75602c}
.scene-max[hidden]{display:none}
@media(max-width:700px){.yard-scene:not(.meadow){height:570px}.scene-animal{--animal-height:48px;width:min(100px,18.5%);gap:3px}.scene-animal .owner-tag{font-size:10px;padding:2px 1px;gap:0}.scene-animal .scene-drive,.scene-animal .scene-recall{font-size:10px;padding:5px 2px}.scene-earnings{font-size:10px}}
@media(max-width:620px){
  #yard-scene,.field-scene:not(.meadow){height:740px}
  #yard-occupants .scene-animal,.field-scene:not(.meadow) .scene-animal,.field-scene:not(.meadow) .yard-place-spot{--scene-x:var(--compact-x);--scene-y:var(--compact-y);width:29%}
  .field-scene:not(.meadow) .yard-place-spot{height:15%}
  .scene-earnings{font-size:9px;gap:2px}
  .scene-animal .scene-coin{width:8px;height:8px}
  .scene-animal .scene-max{padding:1px 2px}
}
.neighbor-collection{margin:10px 0 14px}
.neighbor-collection-title{display:block;margin-bottom:7px;font-size:.8rem;color:#627357}
.neighbor-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.neighbor-card{min-width:0}
.neighbor-animal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.neighbor-owned-animal{display:flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border-radius:10px;background:#edf2df;font-size:.8rem}
.neighbor-animal-art{display:block;width:34px;height:36px;flex-shrink:0}
.neighbor-animal-art .static-placeholder{font-size:28px}
.neighbor-owned-animal small{display:block;font-size:.65rem;color:#627357}
#field-owner-animals{padding:0 0 4px}
@media(max-width:700px){.neighbor-list{grid-template-columns:1fr}}
@media(max-width:380px){.neighbor-card{padding:14px}.neighbor-owned-animal{padding:5px;gap:5px;font-size:.75rem}.neighbor-animal-art{width:28px;height:32px}.neighbor-owned-animal small{font-size:.6rem}}
