/* The 600 × 500 room and its furniture share one unstretched coordinate plane. */
.room{height:auto!important;aspect-ratio:6/5!important;overflow:hidden}#sketchRoomArt>svg{object-fit:contain!important}#seasonGarland{z-index:8!important;pointer-events:none!important;top:0!important;left:0!important;width:100%!important;height:18%!important}#seasonGarland>svg{width:100%;height:100%}.placed-furniture{min-width:0!important;min-height:0!important}.placed-furniture>svg{height:auto!important;max-height:none!important;width:100%!important}.room-object-hint{display:none!important}.room-interactive:hover .room-object-hint,.room-interactive:focus-visible .room-object-hint{display:block!important}.arcade-secrets,.secret-preview,.secret-gallery,.secret-showcase,.surprise-card .secret-teaser{margin-top:28px!important}#surpriseGrid+.secret-preview,#surpriseGrid+.hidden-preview{margin-top:30px!important}.resident-pass-button em{opacity:.48;transform:none!important;display:block!important;width:120px!important;height:60px!important}.resident-pass-button em>svg{width:100%;height:100%}.friend-module-tabs{display:flex;gap:12px;margin:0 0 22px;padding:6px;background:#eee9db;border:1px solid #dbccb2;border-radius:13px}.friend-module-tabs button{flex:1;padding:12px;min-height:44px;border-radius:9px;font-size:13px}.friend-module-tabs button.active{background:#dce5d0;color:#64734f}.home-task-modal p{display:flex;justify-content:space-between;gap:15px;font-size:13px;padding:15px 0;border-bottom:1px dashed #d9ccb7}.home-task-modal b{white-space:nowrap;color:#9e8758}
#homeQuickActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0 10px}#homeQuickActions button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-height:46px;padding:5px;background:#f5efdf;border:1px solid #d9cbb2;border-radius:12px;color:#897356}#homeQuickActions button:nth-child(2n){background:#eaf0e1}#homeQuickActions span{font-size:19px;line-height:1.1}#homeQuickActions b{font-size:10px;font-weight:500}#homeTaskButton{margin-left:auto;font-size:10px;padding:5px 9px;background:#edf0df;border:1px solid #c7ceae;border-radius:10px;white-space:nowrap}.compact-home .greeting,.compact-home #playerIdentity,.compact-home #homeStoreLinks,.compact-home #homeTravel:not(.has-trip),.compact-home .right-column,.compact-home .shop-invitation,.compact-home #residentRegister,.compact-home .companions,.compact-home footer{display:none!important}.compact-home .page-shell{max-width:610px!important;margin:0 auto;padding:9px 14px 8px!important}.compact-home .home-grid{display:block!important}.compact-home .room-card{width:min(100%,calc((100dvh - 370px)*1.2));min-width:240px;margin:0 auto;border-radius:15px!important}.compact-home .home-grid>.right-column{display:none!important}.compact-home #obviousPetFile{margin:0!important}.compact-home .resident-pass-button{padding:8px 12px!important;gap:10px!important;min-height:58px!important;border-radius:13px!important}.compact-home .resident-pass-button>div{width:44px!important;min-width:44px!important}.compact-home .resident-pass-button>div>svg{width:44px!important;height:44px!important}.compact-home .resident-pass-button h2{font-size:14px!important;margin:3px 0!important}.compact-home .resident-pass-button p,.compact-home .resident-pass-button b{display:none!important}.compact-home .resident-pass-button small{font-size:8px!important;letter-spacing:.5px!important}.compact-home .resident-pass-button em{margin-left:auto;width:94px!important;height:46px!important}.compact-home .room-heading{padding:8px 12px!important;gap:8px;font-size:11px;min-height:30px}.compact-home .room-heading>span{display:none!important}.compact-home .pet-overview{padding:8px 12px 0!important;align-items:center}.compact-home #petName{font-size:15px!important;margin:0!important}.compact-home #petDesc,.compact-home #petFileButton,.compact-home #growthHome,.compact-home #protectionNotice,.compact-home .pet-overview .status-pill{display:none!important}.compact-home .stats{padding:9px 12px!important;gap:9px}.compact-home .stat-label{font-size:9px!important;margin-bottom:4px}.compact-home .track{height:4px!important}.compact-home .care-actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important}.compact-home .care-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important;margin:0 8px!important;padding:5px 0 8px!important;gap:4px!important}.compact-home .care-actions button{min-height:52px!important;padding:0!important}.compact-home .care-actions .action-icon{width:30px!important;height:30px!important;font-size:18px!important;margin:0 auto 4px!important}.compact-home .care-actions b{font-size:9px!important;white-space:nowrap}.compact-home .care-actions small{display:none!important}.compact-home:not(.home-editing) #roomDecorator,.compact-home #welcomeGiftCard{display:none!important}.compact-home.home-editing #obviousPetFile,.compact-home.home-editing #homeQuickActions,.compact-home.home-editing .pet-overview,.compact-home.home-editing .stats,.compact-home.home-editing .care-actions{display:none!important}.compact-home.home-editing .room-card{width:min(100%,calc((100dvh - 340px)*1.2))}.compact-home.home-editing #roomDecorator{max-height:40dvh;overflow:auto;margin:8px;padding:10px}.compact-home.home-editing .room-inventory{max-height:155px!important}.compact-home .room .bubble{top:43%!important;left:32%!important;font-size:9px!important;padding:8px!important;max-width:58%!important}.compact-home .big-pet{width:145px!important;height:145px!important;left:calc(50% - 72px)!important;bottom:10px!important}.compact-home #homeTravel.has-trip .trip-live{padding:8px!important;gap:8px}.compact-home #homeTravel.has-trip h3{font-size:12px}.compact-home #homeTravel.has-trip p,.compact-home #homeTravel.has-trip small{display:none}.compact-home #musicToggle{font-size:9px;opacity:.8}
@media(max-width:720px){.compact-home .topbar{height:52px!important;padding:5px 8px!important}.compact-home .sidebar{top:52px!important;height:calc(100dvh - 52px)!important}.compact-home .page-shell{padding:7px 10px!important}.compact-home .room-card{width:min(100%,calc((100dvh - 330px)*1.2))}.compact-home #homeQuickActions{gap:6px;margin:6px 0 8px}.compact-home #homeQuickActions button{min-height:44px}.compact-home .resident-pass-button em{width:72px!important}.compact-home .big-pet{width:125px!important;height:125px!important;left:calc(50% - 62px)!important;bottom:10px!important}.compact-home .room .bubble{font-size:8px!important}.compact-home .room-decor-heading h3{font-size:14px}.compact-home .home-grid .room-card{min-width:0}.compact-home #homeTravel.has-trip .trip-live>span{font-size:20px}}
@media(max-height:650px){.compact-home .resident-pass-button{min-height:46px!important;padding:4px 9px!important}.compact-home #homeQuickActions button{min-height:37px}.compact-home #homeQuickActions span{font-size:15px}.compact-home #homeQuickActions b{font-size:9px}.compact-home .room-card{width:min(100%,calc((100dvh - 290px)*1.2))}}
.compact-home .topbar{height:58px;padding-top:4px;padding-bottom:4px}.compact-home .resident-pass-button{padding:4px 10px!important}.compact-home #homeQuickActions button{height:42px;min-height:42px;gap:2px;padding:4px}.compact-home #homeQuickActions span{font-size:16px;line-height:1}.compact-home #homeQuickActions b{line-height:1.2;font-size:10px}.compact-home .room-card{width:min(100%,calc((100dvh - 430px)*1.2))}.compact-home .room-heading{padding:4px 10px!important;min-height:30px}.compact-home #homeTaskButton{padding:4px 7px;line-height:1.3}.compact-home .resident-pass{min-height:0!important}.pool-hidden-preview{margin-top:28px!important;margin-bottom:22px!important}.monthly-prize-layout{gap:28px!important}
@media(max-width:720px){.compact-home .topbar{height:52px!important}.compact-home .room-card{width:min(100%,calc((100dvh - 380px)*1.2))}.compact-home .resident-pass-button{min-height:52px!important}.compact-home #homeQuickActions button{height:40px;min-height:40px}.compact-home #homeQuickActions{gap:5px}}
@media(max-height:650px){.compact-home .room-card{width:min(100%,calc((100dvh - 360px)*1.2))}.compact-home #homeQuickActions button{height:35px;min-height:35px}}
/* Natural room proportions, a generous rug, and the same icons as the sidebar. */
.room{aspect-ratio:4/3!important}#homeQuickActions span{display:flex;align-items:center;justify-content:center;width:24px;height:21px}#homeQuickActions span>svg{width:20px!important;height:20px!important;max-width:20px}#homeQuickActions .currency-icon{width:20px!important;height:20px!important}.home-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-directory button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:73px;padding:10px;background:#f2ecd9;border:1px solid #d6c6aa;border-radius:12px}.home-directory span>svg{width:24px;height:24px}.home-directory b{font-size:11px}#homeDecorateButton{padding:4px 8px;border:1px solid #c7ceae;background:#edf0df;border-radius:10px;font-size:10px;line-height:1.3}.compact-home .big-pet{bottom:18px!important}.compact-home .island{min-width:0!important;width:152px!important;max-width:46vw!important;height:34px!important;padding:4px 9px!important;gap:5px!important}.compact-home #islandText{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-home #islandPet{width:24px!important;min-width:24px!important;height:24px!important}.compact-home #islandPet svg{width:24px!important;height:24px!important}.compact-home #miniPet svg{max-width:100%}.compact-home .breadcrumb{font-size:10px}@media(max-width:720px){.compact-home .island{width:138px!important;height:32px!important;margin:auto!important}.compact-home .big-pet{bottom:18px!important}.home-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-home #homeDecorateButton{padding:4px 7px}.compact-home .room-heading>div{font-size:9px}.compact-home #homeTaskButton{font-size:9px}}

/* Keep the wish label in normal flow so longer pet messages never overlap it. */
.room #speech.bubble{top:auto!important;left:47%!important;bottom:136px;transform:translateX(-50%);width:120px;max-width:34%!important;min-height:56px;padding:8px 10px!important;border-radius:13px;font-size:10px!important;line-height:1.65;white-space:normal;overflow-wrap:anywhere;text-align:center;z-index:8}
.room #speech.bubble::before{content:'♡ 小心愿';display:block;position:static;margin:0 0 4px;font-size:8px;line-height:1.3;letter-spacing:1px;color:#aa9277}
.room #speech.bubble::after{content:'';position:absolute;left:57%;bottom:-6px;width:10px;height:10px;background:#fffdf3;border-right:1.4px solid #b7a080;border-bottom:1.4px solid #b7a080;transform:rotate(45deg);border-radius:0 0 3px 0}
@media(max-width:600px){.room #speech.bubble{bottom:116px;width:112px;min-height:54px;font-size:9px!important;padding:7px 9px!important}}

/* Small, touch-triggered speech and planted feet during idle movement. */
.room #speech.bubble{display:none!important;width:108px;min-height:0;padding:7px 9px!important;font-size:9px!important;bottom:131px}
.room #speech.bubble.pet-speaking:not([hidden]){display:block!important}
.room #speech.bubble::before{content:none;display:none}
@media(max-width:600px){.room #speech.bubble{width:102px;bottom:111px;font-size:9px!important}}
#heroPet .pet-upper-idle{transform-box:view-box;transform-origin:100px 130px;animation:quiet-head-sway 9s ease-in-out infinite}
@keyframes quiet-head-sway{0%,55%,100%{transform:rotate(0)}65%{transform:rotate(-1.3deg)}78%{transform:rotate(1.1deg)}90%{transform:rotate(0)}}
.no-motion #heroPet .pet-upper-idle{animation:none!important}
@media(prefers-reduced-motion:reduce){#heroPet .pet-upper-idle{animation:none!important}}
#homeQuickActions [data-page="travel"]>span{font-size:23px;line-height:1}
.sidebar [data-page="travel"]>span{font-size:26px!important}
#connectFriends{background:#dce5cd!important;color:#4e6243!important;border:1px solid #a5b38d!important;opacity:1!important;min-height:42px;padding:10px 18px;border-radius:11px}
#connectFriends:hover,#connectFriends:focus-visible{background:#cbdab8!important;color:#304b26!important}
#connectFriends:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #50644422}
/* Every page fits the phone; grids reflow instead of clipping wide desktop cards. */
@media(max-width:720px){
main,.page-shell,.page,.page>section,.page>div,.page article,.page form{min-width:0;max-width:100%;box-sizing:border-box}
.page-shell{width:100%}.page h2{font-size:21px;line-height:1.5}.page h3{overflow-wrap:anywhere}.page p,.page small,.page label{overflow-wrap:anywhere}
.page .co-grid,.page .social-grid,.page .friend-grid,.page .travel-routes,.page .settings-grid,.page .workshop-grid{grid-template-columns:minmax(0,1fr)!important}
.page .premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.page .co-actions,.page .player-number,.page .friend-search>div,.page .co-invite,.page .section-title{flex-wrap:wrap;gap:10px}
.page input,.page select{min-width:0;width:100%}.page form input{flex:1 1 160px}
.page .co-paper,.page .social-connection,.page .friends-heading,.page .boutique-heading{padding:16px!important}
.page svg,.page img{max-width:100%;height:auto}.page .room-scene{height:100%!important}
.page .friend-room,.page .co-room{width:100%;max-width:100%;overflow:hidden}
.page .co-actions button{min-width:0;max-width:100%;white-space:normal}
.page .language-setting select{font-size:16px}.page .travel-route{min-width:0}
}
#togetherPage .co-paper>.primary{background:#dce5cd!important;color:#4e6243!important;border:1px solid #a5b38d!important;opacity:1!important;padding:10px 18px;border-radius:11px;min-height:42px}
#togetherPage .co-paper>.primary:hover,#togetherPage .co-paper>.primary:focus-visible{background:#cbdab8!important;color:#304b26!important}
#togetherPage .co-paper>.primary:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #50644422}

/* A closed phone drawer must not leave a shadow or a sliver over the game. */
@media(max-width:720px){
body:not(.phone-menu-open) .sidebar{visibility:hidden!important;pointer-events:none!important;box-shadow:none!important}
body.phone-menu-open .sidebar{visibility:visible!important;pointer-events:auto!important}
body:not(.compact-home) .page-shell{padding:10px 10px 22px!important}
body:not(.compact-home) .greeting{margin-bottom:10px;gap:8px}
body:not(.compact-home) .greeting .eyebrow,body:not(.compact-home) .greeting p{display:none}
body:not(.compact-home) .greeting h1{font-size:16px;margin:0;letter-spacing:0}
body:not(.compact-home) .balance{padding:5px 8px;flex-shrink:0}
body:not(.compact-home) .home-identity{margin:0 0 10px;font-size:9px;gap:8px}
body:not(.compact-home) .secondary{padding:12px!important}
.page>h2{font-size:19px;margin:6px 0 10px}.page>h3{font-size:15px;margin:14px 0 9px}.page>p{font-size:11px;line-height:1.65;margin:8px 0 12px}
.page .section-title{margin:12px 0 8px}.page .section-title h3{margin:0}
.page .roster-toolbar{margin:10px 0}.page .roster-toolbar>p{margin:7px 0}.page .roster-art{height:115px}.page .roster-art>svg{width:102px;height:102px;margin-top:5px}.page .roster-info{padding:10px}.page .roster-info p{margin:4px 0 8px;min-height:0}.page .expanded{gap:9px;margin-top:10px}
.page .co-paper{padding:13px!important;margin:12px 0}.page .co-paper p{font-size:11px;line-height:1.65}.page .co-paper label{font-size:11px;margin:8px 0}.page .co-paper input,.page .co-paper select{padding:9px;margin:5px 0}
.page .friend-module-tabs{margin:0 0 12px;padding:5px}.page .friend-module-tabs button{padding:9px;font-size:11px}
.page .friends-heading{padding:10px 0!important}.page .friends-heading h2{font-size:19px;margin:9px 0}.page .friends-heading>p{margin:7px 0;font-size:11px}.page .player-number{padding:10px;margin:12px 0}.page .social-connection{padding:13px!important;margin-top:12px}
.page .settings-box{padding:14px;margin-bottom:12px}.page .settings-box h3{margin:4px 0 9px}.page .settings-box p{font-size:11px;line-height:1.7}.page .language-setting{margin-top:12px;padding:13px}
.page .travel-routes{gap:10px;margin:12px 0 18px}.page .travel-routes article{padding:10px;border-radius:14px}.page .travel-routes h3{font-size:14px;margin:8px 0}.page .travel-routes p{font-size:10px;line-height:1.6;margin:6px 0}.page .travel-routes .primary{margin-top:8px;padding:8px;font-size:11px;min-height:40px}
.page .pet-letters{gap:12px}.page .pet-letters article{padding:16px;font-size:12px;line-height:1.8}.page .pet-letters h3{font-size:14px}
.page .diary-entry{padding:12px;margin:8px 0;font-size:12px}.page .summary-card{padding:14px;margin:10px 0}
.page .recipe-card{padding:10px}.page .recipe-card h3{font-size:13px}.page .recipe-card p{font-size:10px;line-height:1.6}
}
@media(min-width:360px) and (max-width:720px){
.page .travel-routes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.page .surprise-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
.page .surprise-card-info{padding:12px!important}.page .surprise-card-info h3{font-size:15px}.page .surprise-card-info p{font-size:10px;line-height:1.7}.page .surprise-card-info button{font-size:11px;padding:9px}
.page .arcade-display{height:145px;padding:20px 10px 27px}.page .arcade-display>svg{height:105px}.page .arcade-plaque{font-size:9px!important}.page .arcade-garland{letter-spacing:4px;font-size:11px!important}
}
@media(max-width:720px){
.page .trip-live{display:grid!important;grid-template-columns:28px minmax(0,1fr);gap:9px;padding:12px!important;margin:12px 0!important;min-height:0!important;border-radius:15px}
.page .trip-live>span{font-size:26px;align-self:center}.page .trip-live h3{font-size:13px;line-height:1.6;margin:5px 0}.page .trip-live p{font-size:11px;line-height:1.6;margin:5px 0}.page .trip-live small{font-size:8px}.page .trip-live>button{grid-column:2;justify-self:end;font-size:11px;padding:8px 12px;min-height:38px;margin:0}
.page .travel-routes small,.page .travel-routes b{font-size:10px;line-height:1.6}.page .travel-routes small{display:block}
}
/* Only the head/upper group and tail move; the resident's feet stay planted. */
#heroPet,#heroPet[data-reaction]{animation:none!important;transform:none!important}

/* A legible, grounded care hint with space below the rug. */
.room .room-caption{bottom:1px!important;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;margin:0;padding:1px 8px;font-size:10px!important;line-height:15px;color:#715744!important;background:#fff9edee;border-radius:6px;text-align:center;letter-spacing:.2px;text-shadow:none;pointer-events:none;z-index:9}

/* Hidden rewards stay compact within narrow arcade cards. */
@media(max-width:720px){
.surprise-card>.secret-inline{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start;gap:5px!important;width:calc(100% - 16px)!important;max-width:100%;min-width:0;margin:14px 8px 10px!important;padding:9px 8px!important;text-align:center;box-sizing:border-box;white-space:normal}
.surprise-card>.secret-inline>span{width:80px!important;height:66px!important;flex:0 0 66px!important;display:flex;align-items:center;justify-content:center}
.surprise-card>.secret-inline>span>svg{width:80px!important;height:66px!important;max-width:100%!important;transform:none!important}
.surprise-card>.secret-inline>div{width:100%;min-width:0;flex:0 0 auto!important}
.surprise-card>.secret-inline small{font-size:9px!important;letter-spacing:0!important;line-height:1.5}
.surprise-card>.secret-inline b{font-size:11px!important;line-height:1.55!important;margin:4px 0!important;word-break:normal;overflow-wrap:break-word}
.surprise-card>.secret-inline em{font-size:9px!important;line-height:1.5!important}
.pool-hidden-preview,.monthly-play-layout .pool-hidden-preview{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:9px!important;padding:10px!important;min-width:0;max-width:100%;box-sizing:border-box}
.pool-hidden-preview>div,.monthly-play-layout .pool-hidden-preview>div{width:72px!important;margin:0!important;min-width:0}.pool-hidden-preview svg,.monthly-play-layout .pool-hidden-preview svg{width:72px!important;height:76px!important}.pool-hidden-preview>span{min-width:0;overflow-wrap:break-word}
.secret-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.secret-gallery article{min-width:0}.secret-gallery h3{overflow-wrap:break-word}.secret-gallery article>div{height:100px!important}
}
