/* Website v3: consistent portraits, readable touch controls and coherent game props. */
.portrait{background-position:var(--portrait-x) var(--portrait-y);background-size:var(--portrait-width) var(--portrait-height)}
.fixed-wheel,.fitted-wheel{position:absolute;top:73.3%;width:24%;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 2px #5b441f44)}
.fixed-wheel{left:19.1%}.fitted-wheel{left:68.2%}.axle-target{left:68.2%;top:72.2%}
.wagon-bow{left:37%;top:36%;width:21%}
.wagon-stage,.fit-area{width:min(100%,560px);max-height:none}.quest-activity{min-height:0;padding-bottom:16px;overflow:visible}
.quest-board{overflow:hidden;background-clip:padding-box;isolation:isolate}.quest-activity .wagon-stage{margin-bottom:12px}
.quest-progress{gap:clamp(12px,3vw,40px);margin-top:4px}
.quest-progress li{flex-direction:column;font-weight:800;color:#f2e7c6;gap:8px}
.quest-progress b{position:relative;border:0;border-radius:50%;width:56px;height:56px;background:none}
.quest-progress .portrait{width:56px;border-width:3px;box-shadow:0 3px #775427}
.quest-progress em{position:absolute;right:-5px;bottom:-3px;display:grid;place-items:center;width:22px;height:22px;border:2px solid #f1d086;border-radius:50%;font:800 12px var(--body);font-style:normal;background:#245968;color:#fff0c2}
.quest-progress .current b{background:none;box-shadow:0 0 0 4px #ffe092}
.quest-progress .done b{background:none}.quest-progress .done em{background:#466c35}
.quest-progress .current{color:#ffe29a}
.settings button,.read,.quiet,.back,.book-tabs button,.close{min-height:44px}
.settings{flex-direction:row;flex-wrap:wrap;max-width:160px;gap:6px;justify-content:flex-end}
.settings button{font-size:11px;min-width:72px;padding:6px 9px}
.settings button:disabled{opacity:1;cursor:default;background:#234c56;color:#f1dcaa}
.topbar{gap:18px}.topbar nav{gap:2px}.topbar nav a{min-height:44px;display:flex;align-items:center;justify-content:center}
.read{font-size:13px;padding:9px 15px;min-width:92px}
.notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100;max-width:550px;width:calc(100% - 36px);padding:16px 22px;border:2px solid #d7ac60;border-radius:12px;background:#fff1c9;color:#174c59;box-shadow:0 8px 25px #072b3b77;font-weight:800;font-size:15px}
.notice[hidden]{display:none}
.book #read-book{margin-top:14px}.room-guide .speech{min-width:0}.room-info,.friend-grid,.library-layout,.destinations{min-width:0}
.book-tabs button:focus-visible,.choice:focus-visible,.read:focus-visible{outline-color:#165e70}
.quest-activity button:focus-visible{outline-color:#165e70;outline-offset:5px}
.image-card img{aspect-ratio:3/2}.book-art img{aspect-ratio:3/2}
.building-grid button[aria-pressed=true]{background:#ffe6912b;border-color:#d3aa50}
.grownup-copy .fine{line-height:1.65}
@media(min-width:761px) and (max-width:1000px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;justify-content:center;border-top:1px solid #72948a66;padding-top:8px}.settings{max-width:none}.room-guide{max-width:85%}.destinations{grid-template-columns:1fr}.destination{grid-template-columns:85px 1fr 20px}.destination img{width:85px;height:75px}.destination strong{font-size:23px}.destination small{font-size:13px}}
@media(max-width:760px){
 .topbar{gap:10px;padding:13px 12px}.logo{font-size:30px}.settings{max-width:150px;gap:5px}.settings button{min-height:44px;font-size:10px;padding:6px;min-width:66px}
 .topbar nav{gap:3px}.topbar nav a{min-height:44px;font-size:12px;padding:7px 5px;flex:1;text-align:center}
 .topbar nav a:last-child{white-space:nowrap}
 .read,.welcome .read,.quest-guide .read{min-height:44px;font-size:12px;padding:8px 12px}
 .quiet{min-height:44px;font-size:11px;padding:8px 10px}
 .home-scene{height:auto;display:flex;flex-direction:column;background:#154f60;isolation:isolate}
 .home-scene .scene-bg{position:relative;inset:auto;order:2;aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;animation:none}
 .home-scene .welcome{position:relative;inset:auto;order:1;max-width:none;margin:12px;transform:none;padding:15px 18px}
 .welcome h1{font-size:35px;margin:6px 0}.welcome p{font-size:17px;padding-right:90px;margin:0}.welcome .read{position:absolute;right:12px;bottom:15px;min-width:76px}
 .home-scene .sun-glow{display:none}
 .pip-invite{position:relative;inset:auto;order:3;justify-content:center;margin:12px 10px 16px;gap:8px}
 .pip-invite>.portrait{width:78px}.pip-invite .speech{font-size:21px;padding:13px 15px;transform:none}.pip-invite b{font-size:19px}
 .home-title-plank{position:relative;inset:auto;order:4;font-size:15px}
 .spark-button{top:auto;right:8%;bottom:183px;z-index:2;width:54px;height:54px}
 .spark-button span{font-size:10px}.idea-bubble{top:auto;right:12px;bottom:155px;z-index:3;max-width:240px;pointer-events:none}
 .friend-tile small{font-size:11px;text-align:center;line-height:1.3}.friend-tile strong{font-size:23px}
 .friend-card p{font-size:14px;min-height:44px}.friend-card .button{font-size:14px;min-height:46px;padding:10px 8px}
 .room-scene{height:auto;display:flex;flex-direction:column;background:#164e5b}
 .room-scene>.scene-bg{position:relative;inset:auto;order:2;aspect-ratio:3/2;height:auto;width:100%;object-fit:contain}
 .room-guide{position:relative;inset:auto;order:1;max-width:none;align-items:center;margin:13px 10px;gap:9px}
 .room-guide>.portrait{width:68px;margin:0}.room-guide .speech{padding:12px;flex:1}.room-guide p{font-size:14px;line-height:1.4}
 .room-guide .speech>strong{font-size:21px}.room-action{position:relative;inset:auto;order:3;transform:none;margin:16px auto 22px;width:auto;font-size:21px;max-width:92%}
 .room-action:hover{transform:translateY(-3px)}#room-surprise{top:auto;right:8%;bottom:112px;width:105px;height:105px;z-index:3}.step-note{width:100px;height:100px;font-size:40px}.step-note small{font-size:20px}
 .quest-heading h1{font-size:30px}.quest-heading{gap:10px}.quest-heading>div{min-width:0}
 .quest-progress{gap:5px;margin:8px 0 25px}.quest-progress li{font-size:10px;min-width:0;gap:8px}.quest-progress b,.quest-progress .portrait{width:39px;height:39px}.quest-progress .portrait{border-width:2px}.quest-progress em{width:18px;height:18px;font-size:9px;right:-4px;bottom:-3px}
 .quest-guide>.portrait{width:66px}.quest-guide .speech{padding:12px;min-width:0}.quest-guide p{font-size:21px}.quest-board{padding:16px 11px 20px}
 .quest-activity{min-height:0;padding:18px 0 8px}.choices{gap:9px;margin:12px 0 20px}.choice{padding:9px 4px}.choice strong{font-size:15px;min-height:38px}
 .wagon-stage{width:100%;max-height:none}.axle-target{width:46px;height:46px}.axle-target span{font-size:11px}
 .quest-activity .button.big{font-size:21px;padding:13px 23px}.decor-options .button,.quest-end .button{font-size:19px;min-height:49px}
 .book-tabs button{font-size:12px;padding:8px 10px}.book-tabs{gap:7px}.book p{line-height:1.65}
 .building-grid span{font-size:11px;padding:5px 6px;bottom:4%}.village-board{overflow:hidden}
 footer{font-size:13px}footer a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:380px){.logo{font-size:27px}.topbar nav a{font-size:11px;padding:7px 3px}.settings{max-width:142px}.settings button{font-size:9px;min-width:63px}.welcome p{font-size:15px;padding-right:78px}.friend-tile small{font-size:10px}.quest-progress b,.quest-progress .portrait{width:35px;height:35px}.quest-progress li{font-size:9px}.quest-guide>.portrait{width:56px}.quest-guide p{font-size:19px}.building-grid span{font-size:10px;padding:4px}.room-guide>.portrait{width:56px}.room-guide .speech>strong{font-size:19px}}

/* Keep lower frame edges and footer in separate paint regions. */
.frame{background-clip:padding-box;outline:0;box-shadow:0 0 0 2px #e1b76c,0 9px 18px #052b3780}
main{padding-bottom:20px}footer{position:relative;clear:both;margin-top:32px}
