/* The natural scene stays bounded while the full family remains accessible. */
/* The garden shares the site's ivory / sage palette; every rule is scoped. */
.game-app{--game-ink:#244738;--game-sage:#718b68;--game-paper:#fcf8ed;--game-rose:#cf817a;color:var(--game-ink);max-width:1200px;margin:0 auto;padding-bottom:3rem;font-family:inherit}
.game-app *{box-sizing:border-box}.game-app button,.game-app input,.game-app select{font:inherit}.game-app button{cursor:pointer;color:var(--game-ink);background:#fffdf6;border:1px solid #a5b49a;border-radius:1.2rem;padding:.65rem .95rem;min-height:44px;line-height:1.45;transition:background .18s,box-shadow .18s;white-space:normal;max-width:100%}.game-app button:hover{background:#e9eedf;box-shadow:0 2px 0 #c0ccb5}.game-app button:focus-visible,.game-app input:focus-visible,.game-app select:focus-visible,.game-app summary:focus-visible{outline:3px solid #c37363;outline-offset:3px}.game-app input:not([type=checkbox]),.game-app select{min-height:46px;padding:.6rem .8rem;border:1px solid #8ba17f;border-radius:.6rem;background:#fffef8;color:var(--game-ink);max-width:100%;min-width:0}.game-app input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:#496e50}.game-app h2,.game-app h3,.game-app h4{font-family:"Noto Serif JP","Yu Mincho",serif;line-height:1.6;color:#244738}.game-app h2{font-size:clamp(1.65rem,4.5vw,2.7rem);margin:.15rem 0}.game-app h3{font-size:clamp(1.25rem,3vw,1.65rem);margin:.3rem 0 1rem}.game-app h4{font-size:1.1rem;margin:1.2rem 0 .65rem}.game-app p{line-height:1.85}.game-heading{text-align:center;padding:2.5rem 1rem 1.5rem;background:radial-gradient(ellipse at top,#e8eedc 0,transparent 70%)}.game-heading>p{margin:.3rem 0}.game-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:#657a59}.game-status{display:flex;gap:.65rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:1.1rem;font-size:.9rem}.game-status>span{padding:.4rem .7rem;background:#edf0e3;border-radius:1rem}.game-tabs{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:center;padding:.75rem;border-top:1px solid #c8cdb8;border-bottom:1px solid #c8cdb8}.game-tabs button{border-color:transparent;background:transparent;border-radius:.3rem;font-size:.9rem;padding:.6rem .85rem}.game-tabs button[aria-pressed=true]{background:#315740;color:#fffdf4}.game-message{min-height:.3rem;font-size:.9rem;text-align:center;margin:.4rem 0}.game-message:empty{display:none}.game-message.is-error,.game-warning{color:#8c392d;background:#fff0e4;padding:.8rem 1rem;border-radius:.4rem}.game-welcome{background:#edf1df;padding:1rem;line-height:1.8;border-radius:.5rem}.game-welcome button{margin-left:.75rem}.game-panel{padding:1.1rem 0}.game-room-hint{text-align:center;font-size:.9rem;color:#63785a}.game-visitor-box{padding:1.2rem;background:#f0f1e5;border-radius:.75rem;margin:1.5rem 0}.game-visitor-box h3{font-size:1.15rem}.game-app .game-bird-link{display:flex;align-items:center;gap:.6rem;text-align:left;border-color:#d0d6c4;background:#fffdf7;min-width:0}.game-bird-link>span:not(.game-mini-bird){min-width:0;overflow-wrap:anywhere}.game-bird-link small{display:block;font-size:.7rem;font-weight:400;color:#6b7d60}.game-mini-bird{display:inline-flex;width:72px;min-width:56px;flex:0 0 72px}.game-mini-bird .game-sprite{display:block;width:100%;height:auto}.game-pill{font-size:.7rem;background:#e7edde;border-radius:.6rem;padding:.3rem .5rem;margin-left:auto}.game-profile{padding:1.5rem 0;border-top:1px solid #ccd4bf}.game-profile-heading{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.game-profile-heading>.game-mini-bird{width:110px;flex-basis:110px}.game-profile-heading h3,.game-profile-heading p{margin:.2rem 0}.game-profile-heading>button{margin-left:auto}.game-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1rem 0}.game-facts>div{border-top:1px solid #d3d9c8;padding-top:.5rem}.game-facts dt{color:#6c7d60;font-size:.8rem}.game-facts dd{margin:.3rem 0;line-height:1.7;font-size:.9rem;overflow-wrap:anywhere}.game-meters{display:flex;gap:1.2rem;flex-wrap:wrap}.game-meters label{font-size:.85rem;display:flex;align-items:center;gap:.4rem}.game-meters meter{width:85px;height:12px}.game-last-memory{padding:1rem 1.2rem;background:#eef1e5;border-left:3px solid #8ca57b;border-radius:0 .6rem .6rem 0;font-size:.9rem}.game-last-memory small{display:block;color:#6f7c62}.game-name-form{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:1rem 0}.game-name-form label{font-size:.85rem}.game-name-form input{flex:1;max-width:260px}.game-talk{background:#f6eee0;padding:1.3rem;border-radius:1rem;margin:1rem 0}.game-talk h4{margin-top:0}.game-talk-choices{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.game-talk-choices button{font-size:.9rem}.game-talk form>label{font-size:.85rem}.game-input-row{display:flex;gap:.5rem;margin-top:.3rem}.game-input-row input{flex:1;width:100%}.game-reply{background:#fffdf6;padding:1rem 1.2rem;border-radius:1rem 1rem 1rem .15rem;border:1px solid #dbcbb3;font-size:1rem}.game-links{display:flex;gap:.6rem;flex-wrap:wrap}.game-small{font-size:.8rem;line-height:1.8;color:#677860}.game-relation-center{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:1rem;background:#e8efdf;border-radius:50% 50% 1rem 1rem / 18% 18% 1rem 1rem;max-width:360px}.game-relation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.game-relation-card{border-top:3px solid #93a981;border-bottom:1px solid #ccd5c0;padding:.8rem 0}.game-relation-card>.game-bird-link{width:100%}.game-relation-card>p{font-size:.85rem;margin:.7rem .3rem;overflow-wrap:anywhere}.game-relation-card>p+p{padding-top:.6rem;border-top:1px dashed #c3cdb6}.game-relation-card small{color:#6d7c63}.game-family-tree{border-left:3px solid #93a77e;margin:1.5rem 0 1.5rem .5rem;padding-left:1.25rem}.game-generation{position:relative;padding:0 0 1.5rem}.game-generation>h4:before{content:'';position:absolute;left:-1.35rem;top:1rem;width:1rem;border-top:3px solid #93a77e}.game-family-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.game-family-card{background:#f0f1e6;border-radius:.75rem;padding:.8rem;min-width:0}.game-ancestry{text-align:center;font-size:.75rem;line-height:1.4!important;min-height:5rem;color:#697e5f}.game-ancestry button,.game-family-card>p>button{font-size:.75rem;min-height:34px;padding:.2rem .4rem;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px}.game-family-card>.game-bird-link{width:100%}.game-family-card>.game-bird-link .game-mini-bird{width:48px;flex-basis:48px;min-width:48px}.game-family-card>p{font-size:.8rem;overflow-wrap:anywhere}.game-family-card>button:last-child{font-size:.75rem;width:100%}.game-diary{list-style:none;padding:0;margin:1rem 0;border-left:2px solid #bac9aa}.game-diary li{position:relative;padding:.5rem 1rem 1.2rem;margin-left:.8rem;border-bottom:1px solid #d3dac8}.game-diary li:before{content:'';position:absolute;left:-1.2rem;top:.8rem;width:.65rem;height:.65rem;background:#8ca578;border-radius:50%}.game-diary time{font-size:.75rem;color:#687e5a;font-weight:700;letter-spacing:.07em}.game-diary p{margin:.3rem 0;font-size:.9rem}.game-diary summary{font-size:.8rem;cursor:pointer;color:#5e7851;min-height:32px}.game-diary details{margin:.5rem 0}.game-diary details p{font-size:.8rem}.game-diary button{font-size:.8rem}.game-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.game-roster .game-bird-link{width:100%}.game-settings{max-width:760px;margin:auto}.game-settings>button{margin:.4rem .5rem .7rem 0}.game-import-label{display:block;margin:1.3rem 0 .5rem;font-weight:700;font-size:.9rem}.game-settings input[type=file]{width:100%;font-size:.85rem}.game-check{display:flex;align-items:center;gap:.6rem;margin:1rem 0}.game-settings details{border-top:1px solid #c8d2b8;margin-top:1rem;padding:1rem 0}.game-settings summary{cursor:pointer;min-height:44px;padding:.5rem 0}.game-settings details p{font-size:.85rem}.game-help{max-width:760px;margin:auto}.game-help ol{padding-left:1.3rem}.game-help li{line-height:1.9;margin-bottom:1rem}.game-help>p{font-size:.9rem}.game-loading{text-align:center;padding:4rem 1rem}
@media(max-width:768px){.game-profile-heading>.game-mini-bird{width:86px;flex-basis:86px}.game-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.game-family-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.game-tabs{gap:.15rem;padding:.5rem 0}.game-tabs button{padding:.55rem .7rem;font-size:.85rem}.game-profile-heading>button{margin-left:0}}
@media(max-width:480px){.game-heading{padding:1.5rem .2rem 1rem}.game-heading>p{font-size:.85rem}.game-mini-bird{width:54px;min-width:46px;flex-basis:54px}.game-profile-heading{gap:.7rem}.game-profile-heading>.game-mini-bird{width:70px;flex-basis:70px}.game-profile-heading>div{flex:1}.game-profile-heading>button{font-size:.8rem}.game-profile{padding-top:1rem}.game-facts{gap:.6rem}.game-facts dd{font-size:.82rem}.game-meters{gap:.65rem}.game-meters meter{width:65px}.game-name-form{align-items:stretch}.game-name-form label{width:100%}.game-name-form input{max-width:none;width:100%;flex-basis:100%}.game-name-form button{flex:1;font-size:.85rem}.game-talk{padding:.9rem}.game-talk-choices button{font-size:.8rem;padding:.5rem .65rem}.game-input-row{flex-wrap:wrap}.game-input-row button{width:100%}.game-relation-list{grid-template-columns:1fr}.game-family-cards{grid-template-columns:1fr}.game-family-tree{padding-left:.8rem}.game-generation>h4:before{left:-.9rem;width:.65rem}.game-roster{grid-template-columns:1fr}.game-visitor-box{padding:.8rem}.game-visitor-box .game-bird-link{flex-wrap:wrap;width:100%}.game-pill{margin-left:0}.game-diary li{padding-right:0;padding-left:.5rem}.game-status{gap:.4rem;font-size:.8rem}.game-status button{font-size:.8rem}.game-links button{width:100%;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.game-app *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Photo-quality natural habitat. A fixed ratio, never population rows. */
.game-room{position:relative;isolation:isolate;width:100%;max-width:960px;aspect-ratio:8/5;max-height:600px;margin:0 auto;overflow:hidden;border:1px solid #b5c1a6;border-radius:22px;background:#dce6d2}
.game-habitat{position:absolute;inset:0;display:block;pointer-events:none;z-index:0}
.game-habitat img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.game-sprite{display:block;width:100%;aspect-ratio:.85;position:relative;overflow:hidden;pointer-events:none}
.game-sprite img{position:absolute;display:block;left:var(--sprite-image-left,0%);top:var(--sprite-image-top,0%);width:var(--sprite-image-width,100%);height:auto;max-width:none;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
.game-app .game-room-bird{position:absolute;left:var(--bird-x);top:var(--bird-y);width:var(--bird-width);height:auto;min-width:46px;min-height:46px;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(calc(-1 * var(--foot-x)),calc(-1 * var(--foot-y)));z-index:var(--bird-depth);transition:none;line-height:0;overflow:visible}
.game-app .game-room-bird:hover{background:transparent;box-shadow:none}
.game-room-bird .game-sprite:after{content:'';position:absolute;left:32%;right:18%;bottom:0;height:5%;border-radius:50%;background:#18221822;filter:blur(2px);z-index:-1}
.game-room-bird.is-selected .game-sprite:after{background:#fff5b570;box-shadow:0 0 0 1.5px #f7e9a1;filter:blur(.4px)}
.game-app .game-room-bird:focus-visible{outline:2px solid #fff8dc;outline-offset:4px;border-radius:45%}
.game-app .game-room-bird.game-nestling{min-width:0;min-height:0;pointer-events:none}
.game-scene-caption{position:absolute;z-index:150;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:center;gap:.5rem;max-width:calc(100% - 24px);padding:.3rem .7rem;border:1px solid #dce3cb;background:#fffdf4e8;border-radius:1rem;line-height:1.5;font-size:.78rem;color:#264633;pointer-events:none}
.game-scene-caption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12em}
.game-scene-caption>span{white-space:nowrap;font-size:.72rem}
.game-scene-caption .game-bubble{color:#557146;border-left:1px solid #bdcbb1;padding-left:.5rem}
.game-scene-picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem;margin:1rem auto .4rem;max-width:960px}
.game-scene-picker label{font-size:.9rem;font-weight:700}.game-scene-picker select{max-width:min(18rem,100%);flex:1;min-width:12rem}.game-scene-picker button{font-size:.85rem}
.game-art-disclosure{font-size:.75rem;color:#65785b;text-align:center;max-width:760px;margin:.3rem auto 1rem;line-height:1.7}
@media(max-width:600px){
 .game-room{max-width:375px;aspect-ratio:3/4;max-height:500px;border-radius:18px}
 .game-app .game-room-bird{left:var(--bird-tall-x);top:var(--bird-tall-y);width:var(--bird-tall-width);z-index:var(--bird-tall-depth)}
 .game-scene-caption{bottom:7px;gap:.35rem;padding:.25rem .5rem;font-size:.72rem;max-width:calc(100% - 16px)}
 .game-scene-caption strong{max-width:8em}.game-scene-caption>span{font-size:.66rem}.game-scene-caption .game-bubble{display:inline;max-width:8em;overflow:hidden;text-overflow:ellipsis}
 .game-scene-picker{gap:.4rem}.game-scene-picker label{width:100%;text-align:center;font-size:.85rem}.game-scene-picker select{min-width:0;max-width:15rem}.game-art-disclosure{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){.game-room-bird{animation:none!important;transition:none!important}}

/* Care additions: the translucent yellow patch is BETWEEN the background and
   all birds/captions. Its reviewed polygon covers central ground, not bowls,
   branches or nest. No sprite/text/global image filter is used. */
.game-floor-soil{position:absolute;inset:0;z-index:1;pointer-events:none;background:#dfb33c;opacity:clamp(0,var(--care-soil-opacity,0),.22);clip-path:polygon(32% 84%,48% 80%,64% 83%,66% 92%,82% 100%,17% 100%,26% 94%)}
.game-garden-care{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem 1rem;max-width:960px;margin:1rem auto;padding:.8rem;border:1px solid #ccd4bf;border-radius:.6rem;background:#f5f2e8}
.game-garden-care label{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem}.game-garden-care meter{width:100px;max-width:100%;height:14px}.game-garden-care p{flex-basis:100%;margin:.1rem 0;text-align:center}.game-garden-care output,.game-fullness output{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.game-care{margin:1rem 0;padding:1rem 1.2rem;border:1px solid #c7d2b8;border-radius:.7rem;background:#f1f3e9}.game-care h4{margin:0 0 .6rem}.game-care-actions{display:flex;flex-wrap:wrap;gap:.6rem}.game-care-actions button:disabled{cursor:not-allowed;opacity:.6;background:#eeeae1;box-shadow:none}.game-fullness{margin:.4rem 0 .9rem;font-size:1rem}.game-fullness small{display:inline-block;margin-left:.3rem;font-size:.77rem}.game-care-feedback{padding:.6rem .8rem;border-left:3px solid #8ca57b;background:#fffdf6;font-size:.9rem}.game-care-disclosure{font-size:.78rem;line-height:1.8;color:#63765a}.game-care-sound{font-size:.85rem;align-items:flex-start}.game-care-sound input{flex:0 0 auto;margin-top:.15rem}.game-care-cheer{position:absolute;right:4%;top:5%;color:#fff6b1;text-shadow:0 1px 2px #244738;font:700 1.35rem/1 sans-serif;pointer-events:none;animation:game-care-note .8s ease-out both}
@keyframes game-care-note{0%{opacity:0}20%,70%{opacity:1}100%{opacity:0}}
@media(max-width:600px){.game-floor-soil{clip-path:polygon(36% 83%,57% 82%,63% 88%,65% 95%,83% 100%,16% 100%,20% 96%,35% 91%)}.game-garden-care{padding:.65rem;justify-content:flex-start}.game-garden-care p{text-align:left}.game-care{padding:.85rem}.game-care-actions{flex-direction:column}.game-care-actions button{width:100%}.game-fullness small{display:block;margin:.3rem 0 0}.game-care-cheer{font-size:1rem}}
html[data-motion="off"] .game-care-cheer,.game-app[data-care-motion="off"] .game-care-cheer{animation:none}
@media(prefers-reduced-motion:reduce){.game-care-cheer{animation:none!important}}

/* Each atlas frame has its own reviewed crop; the raw atlas may exceed this window. */
.game-pose-window{display:block;position:absolute;overflow:hidden;pointer-events:none}
.game-pose-window>img{max-width:none;height:auto;object-fit:initial;transform:none}

/* Invisible hit/contact planes do not squeeze horizontal tails or wings. */
.game-sprite[data-pose]{overflow:visible}

/* Illustrated field edition: the living scene is the visual center; optional
   systems sit below it rather than obscuring birds with dashboard chrome. */
.game-heading{padding:1.2rem .5rem .8rem;background:none}.game-heading h2{font-size:clamp(1.35rem,3vw,2rem)}.game-heading>p:not(.game-eyebrow){font-size:.86rem}.game-status{margin-top:.5rem}.game-tabs{gap:.2rem}.game-tabs button{font-size:.78rem;padding:.4rem .6rem}.game-field-bar,.game-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:960px;margin:0 auto .7rem}.game-field-bar h3,.game-section-title h3{margin:0;font-size:clamp(1.25rem,3vw,1.8rem)}.game-field-bar p,.game-section-title p{margin:.15rem 0}.game-wallet{display:flex;gap:.55rem;align-items:center;flex-shrink:0;padding:.6rem .8rem;background:#f2e4b9;border:1px solid #ddcc9a;border-radius:1rem;color:#604a2d;box-shadow:inset 0 1px 0 #fff9e6}.game-wallet strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.game-wallet small{font-size:.7rem}.game-wallet>span{font-size:.7rem;padding:.2rem .4rem;background:#fffbec;border-radius:.4rem}.game-field-nav{display:flex;justify-content:center;gap:.45rem;max-width:960px;margin:auto}.game-field-nav button{border-radius:.7rem;flex:1;background:#f6f0df;border-color:#d7cbae;font-size:.85rem}.game-field-nav button[aria-pressed=true]{background:#355c46;border-color:#355c46;color:#fffbed;box-shadow:0 3px 0 #233e30}.game-progression{text-align:center;font-size:.73rem;margin:.65rem auto;color:#68775f}.game-room{border:1px solid #d4c3a0;box-shadow:0 10px 28px #79623816;background:#f4e7cf}.game-room-bird .game-sprite:after{background:#5f4b3030;filter:blur(3px);height:4%;bottom:0}.game-field-story{display:flex;gap:.8rem;align-items:flex-start;max-width:960px;margin:.9rem auto;padding:.85rem 1rem;background:#f7efdd;border:1px solid #e5d9bd;border-radius:.7rem}.game-field-story>span{font-size:1.4rem;color:#ab8453;line-height:1.5}.game-field-story p{margin:0;font-size:.88rem}.game-field-story small{display:block;font-size:.75rem;color:#718064;margin-top:.2rem}.game-furnishings{position:absolute;inset:0;pointer-events:none;z-index:2}.game-furnishing{position:absolute;display:block;width:10%;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 2px #79623820)}.game-furnishing svg{display:block;width:100%;height:auto}.furnishing-perch{left:27%;top:53%;width:18%}.furnishing-feed{left:19%;top:77%;width:10%}.furnishing-water{left:31%;top:74%;width:9%}.furnishing-bath{left:72%;top:77%;width:14%}.furnishing-greens{left:42%;top:75%;width:9%}.furnishing-shellgrit{left:52%;top:79%;width:8%}.furnishing-swing{left:69%;top:25%;width:13%}.furnishing-toy{left:79%;top:21%;width:8%}.furnishing-paper{left:50%;top:80%;width:30%;z-index:-1;opacity:.75}.game-care-drawer{max-width:960px;margin:1rem auto;border-top:1px solid #ddd2b9;padding:.5rem}.game-care-drawer summary{cursor:pointer;min-height:44px;padding:.6rem;font-size:.85rem}.game-care-drawer .game-garden-care{margin:.25rem 0}.game-decoration,.game-friends{max-width:1000px;margin:auto}.game-decor-intro{display:flex;justify-content:space-between;align-items:center;gap:1rem}.game-decor-intro>p{font-size:.85rem;max-width:40rem}.game-decor-slots{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.4rem;margin:1.1rem 0}.game-decor-slots button{padding:.4rem .2rem;border-radius:.8rem;background:#f6efdf;border-color:#dfd3b7;min-width:0}.game-decor-slots svg{width:52px;max-width:100%;display:block;margin:auto}.game-decor-slots span{display:block;font-size:.69rem}.game-decor-slots button[aria-pressed=true]{background:#e1ead5;border:2px solid #6c8b5c;padding:calc(.4rem - 1px) calc(.2rem - 1px)}.game-decor-workbench{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:1.4rem;border:1px solid #ddceb2;background:#f5ecda;border-radius:1.4rem}.game-decor-preview{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;background:radial-gradient(ellipse,#fffcf3 20%,#eee1c6 90%);border-radius:50% 50% 1rem 1rem;padding:1.4rem 1rem;text-align:center}.game-item-art{width:200px;max-width:80%;filter:drop-shadow(0 8px 5px #65553722)}.game-item-art svg{display:block;width:100%}.game-decor-preview p{font-weight:700;font-size:.95rem;margin:.5rem 0}.game-decor-preview small{font-size:.73rem;color:#716f59}.game-decor-preview>div:last-child:not(.game-item-art){display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-top:.8rem}.game-decor-draw h4{margin:.2rem 0 .6rem}.game-decor-draw>p{font-size:.88rem}.game-app .game-draw-button{width:100%;background:#365d46;border:1px solid #294c37;color:#fffbed;border-radius:1rem;box-shadow:0 4px 0 #234330;font-weight:700;padding:1rem}.game-app button:disabled{cursor:default;opacity:.55;box-shadow:none}.game-decor-draw details{margin-top:1rem;font-size:.75rem}.game-decor-draw summary{cursor:pointer;min-height:44px;padding:.6rem 0}.game-draw-result{margin-top:.8rem;padding:.8rem;background:#fff9e8;border:1px solid #dec584;border-radius:.7rem;animation:field-reveal .35s ease-out}.game-draw-result p{font-size:.8rem;margin:.25rem 0}.game-owned-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:.65rem}.game-owned-items button{display:flex;align-items:center;gap:.5rem;text-align:left;border-radius:.8rem;padding:.5rem}.game-owned-items svg{width:60px;flex:0 0 60px}.game-owned-items span{font-size:.8rem}.game-owned-items small{display:block;font-size:.65rem;color:#6c7961}.game-owned-items button[aria-pressed=true]{border:2px solid #6c8b5c;background:#eef2e4}.game-friend-houses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.game-friend-house{padding:1rem;text-align:center;background:#f6eddb;border:1px solid #e0d0b1;border-radius:5rem 5rem 1rem 1rem}.game-house-portrait{margin:auto;width:110px;height:130px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#fcf7e8,#dfd4ae);border:5px double #c7af82;border-radius:50% 50% .6rem .6rem}.game-house-portrait .game-mini-bird{width:90px;flex-basis:90px}.game-friend-house h4{margin:.7rem 0 .3rem}.game-friend-house p{font-size:.8rem}.game-friend-house>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.game-friend-house button{font-size:.8rem}.game-empty-home{grid-column:1/-1;padding:2rem;text-align:center;background:#f7efdf;border-radius:1rem}.game-empty-home h4{margin:0}.game-empty-home p{font-size:.85rem}.game-scene-caption{background:#fffaf0ed;border-color:#d7c9aa}
@keyframes field-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:600px){.game-field-bar{gap:.4rem}.game-field-bar h3{font-size:1.12rem}.game-field-bar .game-eyebrow{font-size:.6rem}.game-wallet{padding:.4rem .55rem;gap:.35rem;border-radius:.7rem}.game-wallet strong{font-size:1rem}.game-wallet>span{font-size:.65rem}.game-field-nav{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.game-field-nav button{padding:.5rem .3rem;font-size:.78rem}.game-progression{font-size:.65rem;margin:.6rem .1rem;line-height:1.6}.game-field-story{padding:.7rem;gap:.5rem}.game-field-story p{font-size:.8rem}.game-field-story small{font-size:.68rem}.game-decor-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.game-decor-slots button{display:flex;align-items:center;justify-content:flex-start;gap:.2rem;padding:.25rem}.game-decor-slots svg{width:35px;flex:0 0 35px;margin:0}.game-decor-slots span{font-size:.66rem;text-align:left}.game-decor-slots button[aria-pressed=true]{padding:calc(.25rem - 1px)}.game-decor-workbench{grid-template-columns:1fr;padding:.8rem;gap:1rem}.game-decor-preview{padding:.7rem}.game-item-art{width:130px}.game-decor-preview p{font-size:.85rem}.game-decor-draw h4{font-size:1rem}.game-decor-draw>p{font-size:.8rem}.game-decor-intro{align-items:flex-start}.game-decor-intro>p{font-size:.75rem;margin-top:0}.game-section-title{align-items:flex-start;gap:.6rem}.game-section-title h3{font-size:1.2rem}.game-section-title>button{font-size:.72rem;padding:.5rem;flex:0 0 5rem}.game-section-title .game-eyebrow{font-size:.6rem}.game-friend-houses{grid-template-columns:1fr 1fr;gap:.6rem}.game-friend-house{padding:.7rem .5rem}.game-friend-house h4{font-size:1rem}.game-house-portrait{width:86px;height:105px}.game-friend-house>div:last-child{flex-direction:column}.game-friend-house p{font-size:.7rem}.furnishing-perch{top:50%;left:27%;width:21%}.furnishing-feed{width:13%}.furnishing-water{width:12%;top:75%}.furnishing-greens{width:12%}.furnishing-bath{width:18%;left:75%}.furnishing-shellgrit{width:11%}.furnishing-swing{width:18%;left:67%;top:27%}.furnishing-toy{width:12%;left:80%;top:22%}.furnishing-paper{width:38%}.game-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:.4rem 0;scrollbar-width:thin}.game-tabs button{flex-shrink:0;font-size:.72rem}.game-panel{padding-top:.8rem}}
@media(prefers-reduced-motion:reduce){.game-draw-result{animation:none}}
/* The customizable perch is a fitted colored sleeve over the structural rail,
   not a second floating branch. Its upper edge is the same contact surface. */
.furnishing-perch{top:59.2%;left:28%;width:23%}
@media(max-width:600px){.furnishing-perch{top:55.8%;left:29%;width:25%}}
.game-route-title{text-align:center;padding:.8rem .5rem .2rem;color:#244738}.game-route-title h1{font-size:clamp(1.45rem,3.5vw,2.1rem);margin:.15rem 0;line-height:1.5}.game-route-title p{font-size:.72rem;letter-spacing:.14em;margin:0;color:#6d7d5c}.game-heading{padding:.3rem .5rem .6rem}.game-status{margin-top:.2rem}.game-status button{font-size:.75rem;padding:.3rem .65rem}
/* Paper lies in the ground plane rather than standing up as an inventory card. */
.furnishing-paper{top:79%;left:48%;width:34%;opacity:.85}
@media(max-width:600px){.furnishing-paper{top:80%;left:48%;width:42%}}
/* World furnishings use shaded glaze / wood-grain materials and a floor
   contact shadow inside their own SVG, not the inventory icon as a sticker. */
.game-furnishing{filter:none}.furnishing-perch{width:22%;top:59.2%}
.furnishing-swing:before,.furnishing-toy:before{content:'';position:absolute;left:50%;bottom:98%;height:65%;width:2px;background:linear-gradient(90deg,#d7c79e,#9e8d68,#ded1ac);opacity:.8}
.furnishing-toy:before{height:100%}
@media(max-width:600px){.furnishing-perch{width:25%;top:55.8%}.furnishing-swing:before{height:100%}}
/* Calibrated against the actual rail pixels: desktop rail begins at x=.25,
   portrait at x=.17. The sleeve stays entirely on that wood, at its diameter. */
.furnishing-perch{left:37%;width:18%;top:59.55%}
@media(max-width:600px){.furnishing-perch{left:30%;width:25%;top:56.2%}}
/* One primary location row; secondary story and save tools sit after the
   living scene in a native, keyboard-operable disclosure. */
.game-secondary-menu{max-width:960px;margin:.7rem auto;border:1px solid #d5d5bf;border-radius:.65rem;background:#f7f3e6;padding:.1rem .6rem}.game-secondary-menu>summary{cursor:pointer;min-height:44px;padding:.7rem .25rem;font-size:.85rem;color:#38563e;line-height:1.5}.game-secondary-menu .game-tabs{border:0;flex-wrap:wrap;justify-content:flex-start;overflow:visible;padding:.2rem 0 .6rem}.game-secondary-menu .game-menu-close{font-size:.75rem;margin:.1rem 0 .5rem;padding:.4rem .7rem}.game-panel>.game-field-nav{margin-bottom:.75rem}.game-field-nav button{font-weight:700}.game-field-bar{margin-bottom:.4rem}
@media(max-width:600px){.game-route-title{padding:.45rem .2rem .1rem}.game-route-title h1{font-size:1.25rem;margin:.1rem 0}.game-route-title p{display:none}.game-heading{padding:.1rem .2rem .4rem}.game-status{gap:.35rem;font-size:.7rem;justify-content:flex-end}.game-status>span{padding:.25rem .4rem}.game-status>span:nth-child(2){font-size:.65rem}.game-status button{min-height:44px}.game-panel{padding-top:.35rem}.game-field-bar .game-eyebrow{display:none}.game-field-bar h3{font-size:1rem}.game-field-bar{min-height:40px}.game-field-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.game-field-nav button{min-height:44px;padding:.45rem .2rem;font-size:.8rem;line-height:1.4}.game-progression{font-size:.65rem;margin:.4rem .1rem;line-height:1.5}.game-secondary-menu{margin:.6rem 0}.game-secondary-menu .game-tabs button{font-size:.78rem}.game-route-title+ #game-root .game-app{padding-top:0}}
