/* Last in the cascade: the same game adapts to the available space. */
*,*::before,*::after{box-sizing:border-box}
main,#main,section,article,form,fieldset{min-width:0}
img,video,canvas{max-width:100%}
button,input,select,textarea{max-width:100%}
input,select,textarea{min-width:0}
body[data-circuit-scene] .topbar nav{min-width:0}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overscroll-behavior:contain}
dialog form,dialog section,dialog article{min-width:0}
@media(max-width:1400px){
 .topbar,body[data-circuit-scene] .topbar{height:auto;min-height:0;display:flex;flex-wrap:wrap;gap:12px;padding:15px 4% 0}
 .topbar .logo-button{flex:0 0 auto}
 .topbar .hud-wallet{margin-left:auto}
 .topbar .player-chip{margin-left:0;min-width:0}
 .topbar nav,body[data-circuit-scene] .topbar nav{order:4;flex:0 0 100%;width:100%;height:auto;min-height:48px;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0 14px;overflow:visible;white-space:normal;padding:5px 0 10px}
 .topbar nav button,body[data-circuit-scene] .topbar nav button{flex:0 0 auto;min-height:44px;padding:10px 5px;font-size:14px;white-space:normal}
 .season-bar{height:auto;min-height:40px;flex-wrap:wrap;gap:10px;padding:12px 4%}
 .admin-layout,.trade-layout{grid-template-columns:minmax(0,1fr)}
 .admin-roster #adminPlayers{display:flex;overflow-x:auto;max-width:100%;gap:8px}
 .admin-roster #adminPlayers button{flex:0 0 170px}
}
@media(max-width:700px){
 main{width:100%;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .topbar .player-chip{max-width:58%;flex-wrap:wrap;justify-content:flex-start;gap:7px;padding:8px}
 .player-chip b{overflow-wrap:anywhere}
 .player-chip small{flex-basis:100%;font-size:11px}
 .topbar .hud-wallet{font-size:20px;max-width:38%;overflow-wrap:anywhere}
 .topbar nav,body[data-circuit-scene] .topbar nav{gap:0 8px}
 .topbar nav button,body[data-circuit-scene] .topbar nav button{font-size:13px;padding:10px 6px}
 .season-bar span{font-size:10px;overflow-wrap:anywhere}
 h1,h2,h3,p,a,label{overflow-wrap:break-word}
 .page-head,.garage-toolbar,.atelier-toolbar{flex-wrap:wrap;gap:12px}
 .page-head h1{font-size:clamp(30px,8vw,48px)}
 .garage-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .garage-toolbar input,.garage-toolbar select{width:100%;min-width:0!important}
 .garage-toolbar input{grid-column:1/-1}
 input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px!important}
 button.primary,button.secondary,.text-button{min-height:44px}
 .car-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
 .market-grid,.cozy-lounge,.cozy-collection,.fr-dashboard,.trade-layout,.club-columns,.guess-stage,.activity-hub,.atelier-build-layout,.cw-config,.carwin-demo{grid-template-columns:minmax(0,1fr)}
 .club-columns{padding:20px 0}
 .admin-fields,.admin-metrics,.admin-packs,.price-settings{grid-template-columns:repeat(2,minmax(0,1fr))}
 #adminEdit,.broadcast-panel{padding:18px}
 .admin-card-list{grid-template-columns:minmax(0,1fr)}
 .atelier-gallery{grid-template-columns:minmax(0,1fr)}
 .atelier-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .atelier-bot{grid-template-columns:minmax(0,1fr)}
 .atelier-bot img{width:min(100%,340px);justify-self:center}
 #atelierGiftPart{grid-template-columns:minmax(0,1fr)}
 .reward-dock{flex-wrap:wrap;padding:16px;gap:10px}
 .reward-dock .reward-track{flex:1 1 90px;min-width:40px}
 .reward-dock small{flex-basis:100%}
 footer{flex-wrap:wrap;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 dialog,#opening,#detail,#confirm,#celebrate{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px;margin:auto;overflow:auto}
 #detailContent{display:flex!important;flex-direction:column;gap:20px;min-width:0}
 #detailContent>*{min-width:0;max-width:100%;width:100%}
 #detail .card{width:min(320px,100%);margin-inline:auto}
 #detail .car-history,#detail .spec-note{padding:18px;max-width:100%}
 #detail>.secondary{position:sticky;bottom:0;z-index:10;background:#fff8ed;color:#173c55;min-height:48px}
 #opening .opening-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
 .opening-header,.opening-actions,.pack-actions{flex-wrap:wrap;gap:10px}
 .carwin-viewer{width:100%;max-width:min(315px,100%);min-width:0;margin-inline:auto}
 .carwin-stage{touch-action:pan-y}
 .carwin-view-controls{flex-wrap:wrap}
 .carwin-view-controls button{min-height:44px}
 .auth-shell{grid-template-columns:minmax(0,1fr)}
 .auth-panel{width:100%;max-width:440px;padding:24px;margin:20px auto}
 .auth-visual{min-height:270px}
 .founder-gift{inset:10px 10px auto;width:calc(100vw - 20px);max-width:none;padding:20px}
}
@media(max-width:380px){
 .topbar .logo-button{max-width:90px}
 .topbar .player-chip{max-width:100%;margin-left:auto}
 .atelier-parts,.admin-fields{grid-template-columns:minmax(0,1fr)}
 .car-grid{gap:14px 8px}
}
@media(max-height:500px) and (orientation:landscape){
 dialog,#opening,#detail,#confirm,#celebrate{max-height:calc(100dvh - 12px)}
 .topbar nav,body[data-circuit-scene] .topbar nav{padding-bottom:4px}
}
