/* FTM 7.2 — polish réel, pas de nouveau panneau. Maintient la grille et les ateliers. */
:root{--ftm-or:#ffe39a;--ftm-rouge:#82253c;--ftm-sunset:#ff9d41;}
/* Répartition verrouillée dans la surface utile, pas de scroll du plateau. */
.app{background:linear-gradient(180deg,#220d2c 0%,#b64d38 19%,#fda151 37%,#ed903f 65%,#6a2034 100%)!important;}
.header{border-bottom:2px solid #ffcd6d!important;background:linear-gradient(180deg,#160c2f 0%,#321335 55%,#772042 100%)!important;}
.premium-logo{filter:drop-shadow(0 0 4px #f8ae40) drop-shadow(0 3px 3px #2e091b)!important;max-width:115px!important;}
.resource{border-color:#ffe5a1!important;background:linear-gradient(180deg,#7b2d43,#34162d 80%)!important;box-shadow:inset 0 2px #ffcf8788,0 2px 0 #a14b23,0 0 10px #ffb84144!important;}
.header-menu{filter:drop-shadow(0 0 4px #ffc64f70) drop-shadow(0 3px 1px #4b1426)!important;}
/* Une scène entière à l'étape de terrasse : l'ancienne étape 2 montrait encore le gros plan du comptoir. */
.skyline.truck-stage-2.terrace-ready:before,
.skyline.truck-stage-3.terrace-ready:before{background-image:url('assets/scene/hero-terrasse-v45.webp')!important;}
.skyline:before{background-position:center 50%!important;filter:saturate(1.50) contrast(1.12) brightness(1.12)!important;}
.skyline:after{background:linear-gradient(180deg,#15102608 0%,transparent 55%,#40112c5e 100%)!important;}
.skyline{border-bottom:3px solid #ffe098!important;box-shadow:0 4px 9px #481024aa!important;}
.truck-caption{inset:auto 7px 7px 7px!important;align-items:end!important;}
.truck-caption span{flex-basis:61%!important;max-width:62%!important;padding:5px 7px!important;border-radius:13px!important;
  background:linear-gradient(135deg,#1d1028e8,#5b2336dd)!important;border-color:#ffe5ad!important;box-shadow:0 3px 6px #1c091ab5,inset 0 1px #fff3c36b!important;}
.truck-caption small{color:#ffd986!important;font-size:clamp(8px,2.1vw,10px)!important;}
.truck-caption strong{color:#fff8dd!important;font-size:clamp(10px,3.0vw,14px)!important;line-height:1.09!important;}
.truck-caption button{border-radius:16px!important;border:2px solid #fff4c0!important;
  background:radial-gradient(ellipse at 30% 0%,#fffed0,#ffd855 42%,#ffa626 75%,#e57e1e)!important;
  box-shadow:inset 0 2px #ffffdf,0 3px 0 #973b15,0 0 13px #f9cc54cb!important;
  color:#431c13!important;font-size:clamp(10px,2.7vw,13px)!important;}
.truck-caption button .upgrade-wrench{filter:drop-shadow(0 2px 2px #a65c4e88)!important;}
/* Cartes premium lisibles: on ne met jamais l'équipe comme clients. */
.customers{background:linear-gradient(180deg,#d46b46,#eda25f 67%,#d76a40)!important;gap:5px!important;padding:5px 7px 6px!important;}
.customer,.customer.ready{border:2px solid #fff5cd!important;border-radius:15px!important;
  background:linear-gradient(142deg,#fffdf2 4%,#fff0d4 63%,#ffd49d 100%)!important;
  box-shadow:inset 0 1px #fff,0 3px 0 #a84a2a,0 4px 9px #7e2f2a88!important;}
.customer-top{height:60%!important;max-height:60%!important;}
.customer-portrait{object-position:center 35%!important;background:radial-gradient(ellipse at center,#fff9e3,#ffdfa9)!important;border-radius:12px!important;}
.customer-food{filter:drop-shadow(0 3px 2px #57241470)!important;}
.customer-title{font-weight:1000!important;color:#6d261c!important;letter-spacing:-.025em!important;}
.customer-wait{height:8px!important;background:#9d8076!important;border-color:#8c6254!important;}
.customer-wait i{background:linear-gradient(90deg,#1cb645,#6bf15c,#cafb7a)!important;}
.customer.ready .served-mark{font-weight:1000!important;color:#21ad4d!important;text-shadow:0 1px #fff9e9!important;}
/* Une barre de progression claire, sans perdre de hauteur. */
.chapter-strip{background:linear-gradient(145deg,#fffdf1,#ffe0a6)!important;border-color:#fff0bc!important;
  box-shadow:0 3px 0 #a94e2e,0 0 7px #ffc56d99!important;}
.chapter-bar{background:#f0bc86!important;}
.chapter-bar div{background:linear-gradient(90deg,#19ad44,#72f66a,#c6ff75)!important;}
.story-mini{background:linear-gradient(150deg,#ffe68f,#f8b63e,#df8022)!important;}
/* Le plateau est l'élément central; aucun redimensionnement des mécaniques. */
.game-area{gap:5px!important;}
.board-shell{background:linear-gradient(160deg,#ffbd73,#e98744)!important;border:3px solid #ffe8a6!important;
  box-shadow:inset 0 2px #fff4c8,0 3px 0 #b45831,0 0 11px #ffdb647c!important;}
.tile{background:linear-gradient(145deg,#fffdf2,#ffe2b5)!important;border:1.5px solid #fff8d5!important;
  box-shadow:inset 0 1px #fff,0 1px 1px #b366415b!important;}
.station{border:2px solid #ffedaa!important;box-shadow:inset 0 1px #fff2b875,0 3px 0 #9e4324,0 0 8px #ffa92b7a!important;}
.station img{max-height:55%!important;height:55%!important;}
.station .more{box-shadow:0 0 7px #e2ff9d,0 2px #15562d!important;}
/* Les boutons illustrés d'origine ne sont jamais rognés; on profite du bas existant. */
.bottom{background:linear-gradient(180deg,#86213a33 0%,#4c163ae9 100%)!important;border-top:1px solid #ffdaa15c!important;padding-top:4px!important;}
.bottom-btn img{object-fit:contain!important;filter:drop-shadow(0 0 2px #ffa94a70)!important;}
/* La taille d'un petit téléphone reste prioritaire. */
@media(max-width:360px){.truck-caption button{min-width:68px!important;}
 .customer,.customer.ready{padding:2px 3px 4px!important;}
 .customer-title{font-size:8.5px!important;}
 .customer-portrait,.customer-food{max-height:100%!important;}
 .board-shell{padding:3px!important;}
}
@media(max-height:720px){.truck-caption{bottom:3px!important;}
 .truck-caption span{padding:3px 6px!important;}
 .station img{height:49%!important;max-height:49%!important;}
}
/* Correction structurelle: les capsules passaient sur une DEUXIÈME rangée
   en raison du bouton options placé avant les ressources dans le DOM. */
.app{grid-template-rows:clamp(55px,8.1dvh,73px) clamp(87px,16dvh,150px) clamp(85px,12.2dvh,114px) clamp(35px,5.4dvh,50px) minmax(0,1fr) calc(clamp(64px,9.2dvh,85px) + env(safe-area-inset-bottom,0px))!important;}
.header{grid-template-columns:minmax(103px,1.42fr) minmax(80px,1.12fr) minmax(48px,.64fr) minmax(69px,.94fr) minmax(33px,.44fr)!important;grid-template-rows:minmax(0,1fr)!important;}
.premium-logo{grid-column:1!important;grid-row:1!important;max-width:128px!important;}
.header .resource-chapter{grid-column:2!important;grid-row:1!important;}
.header .resources>.resource:nth-child(2){grid-column:3!important;grid-row:1!important;}
.header .resources>.resource:nth-child(3){grid-column:4!important;grid-row:1!important;}
.header-menu{grid-column:5!important;grid-row:1!important;}
@media(max-width:345px){
 .header{grid-template-columns:minmax(87px,1.4fr) minmax(69px,1.1fr) minmax(43px,.65fr) minmax(61px,.96fr) minmax(29px,.45fr)!important;gap:2px!important;padding:0 3px!important;}
 .resource b{font-size:11px!important;}
 .premium-logo{max-width:104px!important;}
}
@media(max-height:710px){
 .app{grid-template-rows:clamp(50px,8dvh,56px) clamp(71px,14.5dvh,95px) clamp(76px,12dvh,88px) clamp(32px,5dvh,38px) minmax(0,1fr) calc(clamp(53px,8.8dvh,66px) + env(safe-area-inset-bottom,0px))!important;}
}
/* Nouveau décor 3D sans interface figée, visible uniquement lorsque la terrasse est réellement débloquée. */
.skyline.truck-stage-2.terrace-ready:before,
.skyline.truck-stage-3.terrace-ready:before{
 background-image:url('assets/scene/hero-marche-terrasse-premium.webp')!important;
 background-position:center 53%!important;
 background-size:cover!important;
}
