/* Portrait composition. All coordinates share the same visible viewport. */
.compact-reward-sign>img{display:block;width:100%;height:auto}
@media(max-width:900px){
 body[data-page=farm] .garden-world .world-base{background-image:url('assets/village-clean.webp');background-size:auto 100svh;background-position:center top}
 .compact-reward-sign{width:min(82%,300px);margin:10px auto 0;transform:none;filter:drop-shadow(0 5px 3px #3f381a30);mask-image:none}
 body[data-page=farm] .reward-disclosure{margin-top:0}
 body .preview-note{position:relative;bottom:auto;left:auto;display:block;margin:12px auto;width:max-content;max-width:90%}
 body .music-control{position:relative;right:auto;bottom:auto;display:block;margin:12px auto 24px;min-height:44px}
 body.immersive-page[data-page^=marketplace]{height:100dvh;min-height:0;overflow:hidden}
 body.immersive-page[data-page^=marketplace] .garden-world .world-base{background-image:url('assets/market-phone-scene.webp');background-size:100% 100%;background-position:center;inset:0;height:100dvh}
 body.immersive-page[data-page^=marketplace] .app-header{position:absolute;inset:0 0 auto;z-index:5;padding:4px 10px 0;height:21dvh;grid-template-rows:minmax(0,1fr) 7.5dvh;align-items:center}
 body.immersive-page[data-page^=marketplace] .brand{width:clamp(105px,30vw,145px);max-height:13dvh;margin:0}
 body.immersive-page[data-page^=marketplace] .header-tools{padding:0;gap:4px;align-self:start;margin-top:7px}
 body.immersive-page[data-page^=marketplace] .main-nav{align-self:end;gap:3px}
 body.immersive-page[data-page^=marketplace] .nav-link{min-height:0;height:7.5dvh;padding:3px 1px;font-size:10px;border-radius:12px}
 body.immersive-page[data-page^=marketplace] .nav-link>.icon{width:24px;height:24px}
 body.immersive-page[data-page^=marketplace] #page-content{position:absolute;inset:0;width:100%;height:100dvh;margin:0;padding:0}
 body.immersive-page[data-page^=marketplace] #scene{position:relative;width:100%;height:100%}
 .market-stand{position:absolute;left:11%;top:31.5%;width:75%;height:44%;margin:0;padding:0;min-height:0}
 .market-stand .stall-title{background:none;filter:none;padding:0 0 5px;margin:0;min-height:0;height:5.5dvh;flex:none;gap:6px}
 .market-stand .stall-title h1{font-size:clamp(19px,5vw,26px);line-height:1;margin:0 0 3px}.market-stand .stall-title p{font-size:8px}.market-stand .stall-title>.icon{width:25px;height:30px}
 .market-stand .market-controls{padding:0;background:none;border:0;border-radius:0;box-shadow:none;min-height:0;flex:1}
 .market-controls .market-tabs{padding:3px;gap:3px;border-radius:10px;flex:none}.market-controls .market-tabs a{font-size:10px;min-height:32px;padding:4px 0}
 .market-controls .market-toolbar{margin:5px 0;flex:none}.market-controls .native-select{width:66%;min-width:0;min-height:30px;font-size:10px;padding:3px 6px}.market-controls .market-toolbar .compact-button{min-height:30px;font-size:10px;padding:3px 8px}
 .market-controls .market-empty-note{font-size:9px;line-height:1.2;margin:1px 0 3px}
 .market-controls .basket-grid{flex:1;height:auto;min-height:0;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:100%;gap:7px;padding:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#efc481 #6e3617;scroll-snap-type:y proximity}
 .market-controls .basket-card{scroll-snap-align:start;min-height:0}.market-controls .basket-body{inset:30% 7% 4%;padding:0;gap:2px}
 .market-controls .basket-who{grid-template-rows:15px 25px 9px}.market-controls .basket-who .illustrated-avatar{width:15px;height:15px}.market-controls .farmer-name{font-size:8px}.market-controls .basket-amount{font-size:25px}.market-controls .basket-unit{font-size:9px}
 .market-controls .basket-price-pair{gap:2px}.market-controls .basket-price-pair strong{font-size:9px}.market-controls .basket-usd{font-size:8px}
 .market-controls .basket-total .compact-button{min-height:36px;min-width:48px;font-size:11px;padding:3px 9px}
 .market-controls .empty-crate-label strong{font-size:12px}.market-controls .empty-crate-label span{font-size:10px}
 .market-controls:has(.live-sell),.market-controls:has(.listing-identity){background:#fff0d8;border:2px solid #d5ab72;border-radius:12px;padding:5px;overflow:auto;scrollbar-width:thin}
 .market-controls .live-sell{padding:3px;row-gap:3px}.market-controls .live-sell h2{font-size:18px}.market-controls .live-sell .dialog-input{min-height:38px;height:38px;font-size:15px}.market-controls .live-sell .max-button,.market-controls .currency-switch{min-height:38px;font-size:10px;padding:3px 6px}.market-controls .live-sell .field-label{font-size:11px}
 .market-controls .own-listings-scroll{flex:1;min-height:100px;max-height:none}.market-controls .listing-identity{gap:5px;flex-wrap:wrap}.market-controls .listing-identity>strong{font-size:12px}.market-controls .listing-row{min-height:0}.market-controls .holdings-summary{padding:3px 0}.market-controls .holdings-summary strong{font-size:17px}
 body.immersive-page[data-page^=marketplace] .preview-note{position:fixed;left:8px;bottom:8px;margin:0;max-width:65%;font-size:8px;padding:5px 7px;min-height:0}
 body.immersive-page[data-page^=marketplace] .music-control{position:fixed;left:8px;right:auto;bottom:35px;margin:0;padding:5px 9px;min-height:32px;font-size:10px}
}
@media(max-width:900px) and (max-height:700px){
 .market-stand{top:31%;height:45%}.market-stand .stall-title p{display:none}.market-stand .stall-title{height:5dvh;padding-bottom:3px}
 .market-controls .market-tabs a{min-height:28px;font-size:9px}.market-controls .market-toolbar{margin:3px 0}.market-controls .native-select,.market-controls .market-toolbar .compact-button{min-height:27px}
 .market-controls .basket-who{grid-template-rows:13px 21px 9px}.market-controls .basket-amount{font-size:22px}.market-controls .basket-total .compact-button{min-height:30px}
}
