@font-face{font-family:"Baloo 2";src:url("../fonts/baloo2-700.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
.equipment-dialog{width:min(900px,calc(100vw - 8px))!important;max-height:calc(100dvh - 8px)!important}.equipment-dialog-open{border-color:#4e873e!important;background:#70ba59!important;color:#173d1e!important;box-shadow:inset 0 -2px #4f963b,0 2px #315b2e!important}.field-upgrades{display:grid;align-content:center;justify-items:center;gap:2px;padding:3px 1px;border-left:1px solid #d8c28c;border-right:1px solid #d8c28c;background:#f7edcf}.field-upgrades-title{font:900 7px/1 "Nunito",sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#8d7652}.field-upgrade{display:grid;place-items:center;width:18px;height:17px;border:1px solid #c8baa0;border-radius:5px;background:#ece6d6;filter:grayscale(1);opacity:.48;font-size:14px;line-height:1}.field-upgrade.is-installed{border-color:#6aa854;background:#dceecb;filter:none;opacity:1}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-reference-card{grid-template-columns:82px 52px minmax(0,1fr) 132px!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-reference-card>.plot-land{grid-column:1!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-upgrades{grid-column:2!important;grid-row:1!important;height:144px!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-copy{grid-column:3!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-action{grid-column:4!important}.valley-content.place-farmyard .compact-plots.as-table .field-upgrades{display:flex!important;align-items:center;justify-content:center;gap:2px;padding:0;background:none;border:0}.valley-content.place-farmyard .compact-plots.as-table .field-upgrades-title{display:none}.valley-content.place-farmyard .compact-plots.as-table .field-upgrade{width:16px;height:16px;font-size:10px}
.weather-station{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:10px 12px;border:1px solid #c7ad76;border-radius:9px;background:#f4e5b9;color:#405139}.weather-station>div{display:grid;gap:3px}.weather-station strong{font:900 12px/1.2 "Nunito",sans-serif}.weather-station small{font:700 10px/1.2 "Nunito",sans-serif;color:#75684f}.weather-station button{height:32px;padding:0 12px;border:1px solid #4e873e;border-radius:7px;background:#70ba59;color:#173d1e;font:900 10px/1 "Nunito",sans-serif;box-shadow:0 2px #315b2e}.weather-station>b{padding:6px 9px;border-radius:10px;background:#cde6ba;color:#397239;font:900 10px/1 "Nunito",sans-serif}
/* Aménagements agricoles : une fiche technique compacte. */
.equipment-dialog{width:min(900px,calc(100vw - 8px))!important;max-height:calc(100dvh - 8px)!important}.equipment-dialog-panel{display:grid;gap:12px;padding:18px;max-height:calc(100dvh - 36px);overflow:auto}.equipment-dialog-panel>header{margin:-18px -18px 0!important}.equipment-soil,.equipment-irrigate{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px!important;border:1px solid #c7ad76;border-radius:9px;background:#f3e7c4}.equipment-soil span{font:800 11px/1.2 "Nunito",sans-serif}.equipment-soil strong{color:#28749a;font:900 12px/1.2 "Nunito",sans-serif}.equipment-irrigate p{display:grid;gap:2px;margin:0}.equipment-irrigate p strong{font-size:12px}.equipment-irrigate p small{font-size:10px;color:#75684f}.equipment-irrigate .irrigate-button{flex:0 0 auto}.equipment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.equipment-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:72px;padding:9px;border:1px solid #d4bf8e;border-radius:9px;background:#fffaf0}.equipment-list article>span{font-size:24px;text-align:center}.equipment-list article>div{display:grid;gap:3px;min-width:0}.equipment-list article strong{font-size:11px;color:#35542f}.equipment-list article small{font-size:9px;line-height:1.25;color:#75684f}.equipment-list article form{display:block!important;padding:0!important}.equipment-list article button{height:29px;padding:0 8px;border:1px solid #4e873e;border-radius:7px;background:#70ba59;color:#173d1e;font:900 9px/1 "Nunito",sans-serif;box-shadow:0 2px #315b2e}.equipment-list article>b{padding:5px 7px;border-radius:10px;background:#cde6ba;color:#397239;font:900 9px/1 "Nunito",sans-serif}.equipment-list article>b.is-unavailable{background:#eadfca;color:#8a7055}.equipment-list article.is-installed{border-color:#82ac6b;background:#edf6df}.equipment-dialog-panel>footer{margin:0 -18px -18px!important}.equipment-dialog-open{white-space:nowrap}@media(max-width:620px){.equipment-list{grid-template-columns:1fr}.equipment-irrigate{align-items:flex-start;flex-direction:column}}
@font-face{font-family:"Baloo 2";src:url("../fonts/baloo2-800.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-400.woff2") format("woff2");font-weight:300 500;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-700.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-800.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:swap}
/* Fallow Valley — interface de jeu entièrement recomposée */
.valley-content.game-place :is(.location-heading .copper-button,.crop-library>header .library-toggle){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:42px!important;min-height:42px!important;padding:0 13px!important;line-height:1!important;margin-top:0!important;margin-bottom:0!important}.valley-content.game-place .location-heading .place-heading-tools,.valley-content.game-place .location-heading .place-heading-tools>form{height:42px!important;align-items:center!important}
.valley-game .valley-landscape{background-color:#9acb78!important;background-image:none!important}.valley-game .valley-landscape:before,.valley-game .valley-landscape:after,.valley-game .valley-home:before{content:none!important;display:none!important;background:none!important}
.valley-landscape{background:#a8daec!important;background-image:none!important}.valley-landscape:before,.valley-landscape:after,.valley-home:before{display:none!important}
.valley-landscape{isolation:isolate;background:#79b957!important;background-image:linear-gradient(180deg,#a8daec 0 106px,#79b957 106px)!important}.valley-landscape:before{z-index:-2!important}.valley-landscape:after{content:"";position:absolute;z-index:-1;inset:150px 0 0;pointer-events:none;background-image:radial-gradient(circle at 8% 18%,#3f7c3a 0 5px,transparent 6px),radial-gradient(circle at 92% 72%,#3f7c3a 0 5px,transparent 6px),linear-gradient(90deg,transparent 0 31%,#8f653c 31% 31.4%,#d7b06b 31.4% 33.6%,#8f653c 33.6% 34%,transparent 34% 100%),linear-gradient(0deg,transparent 0 54%,#8f653c 54% 54.5%,#d7b06b 54.5% 58%,#8f653c 58% 58.5%,transparent 58.5% 100%),repeating-linear-gradient(125deg,#ffffff08 0 14px,#315f2410 14px 28px),linear-gradient(90deg,#8ac461 0 31%,#70ad52 31% 58%,#82bd5c 58% 100%);background-size:74px 74px,86px 86px,100% 100%,100% 100%,100% 100%,100% 100%;opacity:.92}.valley-home:before{content:"";position:fixed;z-index:-1;left:7%;bottom:5%;width:120px;height:54px;border-radius:50%;background:#5a9948;box-shadow:170px -90px 0 25px #70ae50,520px 20px 0 10px #6aa34c,820px -130px 0 35px #73ad51;opacity:.42;filter:blur(1px)}@media(max-width:700px){.valley-landscape:after{inset:110px 0 0;background-image:linear-gradient(0deg,transparent 0 58%,#9a6f42 58% 59%,#d7b06b 59% 62%,#9a6f42 62% 63%,transparent 63%),repeating-linear-gradient(125deg,#ffffff08 0 12px,#315f2410 12px 24px),linear-gradient(90deg,#82bd5c,#70ad52)}}
.valley-content.game-place .crop-library>header{box-sizing:border-box!important;width:100%!important;height:68px!important;min-height:68px!important;margin:0!important;padding:12px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}.valley-content.game-place .crop-library>header>div:first-child{display:flex!important;align-items:center!important;min-height:42px!important}.valley-content.game-place .crop-library>header h2{margin:0!important;padding:0!important;font-family:"Baloo 2","Trebuchet MS",sans-serif!important;font-size:22px!important;font-weight:400!important;line-height:26px!important;letter-spacing:0!important}.valley-content.game-place .crop-library>header>.library-toggle{position:static!important;flex:0 0 auto!important;margin-left:auto!important;transform:none!important}
.valley-content .compact-assets{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:10px!important;margin:.65rem 0 1rem!important}.valley-content .compact-assets .compact-asset{width:100%!important;height:132px!important;min-height:132px!important;display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;overflow:hidden!important;border:3px solid #735034!important;border-radius:11px!important;background:#fff8dd!important;color:#293622!important;box-shadow:0 4px #563820!important}.valley-content.place-factory .compact-assets .compact-asset{grid-template-columns:82px minmax(0,1fr) 82px!important}.valley-content .compact-assets :is(.holding-visual,.plot-land){display:grid!important;width:82px!important;height:128px!important;min-height:128px!important;border:0!important;border-right:2px solid #67432c!important}.valley-content .compact-assets :is(.holding-visual,.plot-land)>small{position:absolute;left:5px;bottom:5px;padding:3px 4px;background:#31452cdd;color:#fff!important;font-size:8px!important}.valley-content .compact-assets .asset-copy{min-width:0;height:100%;display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-content:center;padding:12px}.valley-content.place-factory .compact-assets .asset-copy{padding-right:12px;border-right:2px solid #d6bd83}.valley-content .compact-assets .asset-copy h2{grid-column:1/-1;margin:0 0 4px!important;font-size:16px!important;color:#35542f!important}.valley-content .compact-assets .asset-copy p{display:contents}.valley-content .compact-assets .asset-copy span{overflow:hidden;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#8b704e!important}.valley-content .compact-assets .asset-copy strong{overflow:hidden;font-size:11px;color:#35542f!important;text-align:right;white-space:nowrap;text-overflow:ellipsis}.valley-content .compact-assets .asset-change{width:68px!important;height:44px!important;align-self:center!important;justify-self:center!important}.recipe-change-dialog header small{display:none!important}@media(max-width:1450px){.valley-content .compact-assets{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:760px){.valley-content .compact-assets{grid-template-columns:1fr!important}.valley-content .compact-assets .compact-asset{grid-template-columns:68px minmax(0,1fr)!important}.valley-content.place-factory .compact-assets .compact-asset{grid-template-columns:68px minmax(0,1fr) 72px!important}.valley-content .compact-assets :is(.holding-visual,.plot-land){width:68px!important}.valley-content .compact-assets .asset-copy{padding:9px!important}.valley-content .compact-assets .asset-change{width:62px!important}}
#toast-root{z-index:10000!important;right:308px!important}.toast{position:relative;z-index:10001!important;color:#fff!important;font-weight:800!important}@media(max-width:1350px){#toast-root{right:16px!important}}
.modal-toast{position:fixed!important;z-index:2147483647!important;top:16px!important;right:16px!important;width:min(360px,calc(100vw - 32px))!important}
body .valley-game :is(.land-buy-dialog,.crop-change-dialog) header>button{width:auto!important;height:auto!important;padding:4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#70472d!important;font-size:22px!important;line-height:1!important;box-shadow:none!important}
.land-buy-dialog header small{display:none!important}.land-buy-dialog header>button,.crop-change-dialog header>button{width:auto!important;height:auto!important;padding:4px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#70472d!important;font-size:22px!important;line-height:1!important;box-shadow:none!important}.land-buy-dialog label,.crop-change-dialog label{color:#4e5f43!important;font-size:12px!important}.land-buy-dialog label,.crop-change-dialog label{font-weight:900!important}
body :is(.land-buy-dialog,.crop-change-dialog,.confirm-dialog,.quick-sell-dialog){position:fixed!important;inset:0!important;margin:auto!important;width:min(520px,calc(100vw - 28px))!important;height:max-content!important;max-height:calc(100dvh - 28px)!important;border:4px solid #70472d!important;border-radius:17px!important;background:#fff8dc!important;color:#293622!important;box-shadow:0 18px 60px #2d241a66!important}body :is(.land-buy-dialog,.crop-change-dialog,.confirm-dialog,.quick-sell-dialog)::backdrop{background:#26351fa8!important;backdrop-filter:blur(4px)}body :is(.confirm-dialog,.quick-sell-dialog){padding:20px!important}body :is(.confirm-dialog,.quick-sell-dialog)>:first-child{color:#35542f!important;font-family:"Baloo 2","Nunito","Trebuchet MS",sans-serif!important;font-size:22px!important}body :is(.confirm-dialog,.quick-sell-dialog)>p{color:#627058!important;font-size:13px!important}body :is(.confirm-dialog,.quick-sell-dialog)>div{margin:18px -20px -20px!important;padding:14px 20px!important;border-top:2px solid #cfb27b!important;background:#f2e2b7!important}body :is(.confirm-dialog,.quick-sell-dialog)>div>button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:112px!important;height:44px!important;padding:0 14px!important;border-width:2px!important;border-style:solid!important;border-radius:9px!important;font-size:13px!important;font-weight:800!important;box-shadow:inset 0 -3px #00000018,0 3px #69472d!important}body :is(.confirm-dialog,.quick-sell-dialog) button.secondary{border-color:#b79663!important;background:#f2e2b7!important;color:#4e402e!important}body :is(.confirm-dialog,.quick-sell-dialog) button.primary{border-color:#3e7838!important;background:#6ab653!important;color:#183a1c!important}body .quick-sell-dialog>input[type=range]{height:8px!important;padding:0!important;border:0!important;background:#dfcd99!important;accent-color:#5da44d!important}body .quick-sell-dialog>strong{color:#397239!important;font-size:18px!important}
.valley-game .land-buy-dialog form{gap:15px;padding:18px!important;overflow:hidden}.valley-game .land-buy-dialog header{margin:-18px -18px 0;padding:15px 18px;background:#ead59f;border-bottom:2px solid #c8a76c}.valley-game .land-buy-dialog header>div{display:grid;gap:2px}.valley-game .land-buy-dialog header button{border:2px solid #c59d5d!important;background:#f6e6b8!important;box-shadow:inset 0 -2px #ddc17f}.valley-game .land-buy-dialog footer{margin:2px -18px -18px;padding:14px 18px;background:#f2e2b7;border-top:2px solid #cfb27b}.valley-game .land-buy-dialog footer button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:112px!important;height:44px!important;padding:0 14px!important;border-width:2px!important;border-style:solid!important;border-radius:9px!important;font-size:13px!important;font-weight:800!important;line-height:1!important;box-shadow:inset 0 -3px #00000018,0 3px #69472d!important}.valley-game .land-buy-dialog footer .secondary{border-color:#b79663!important;background:#f2e2b7!important;color:#4e402e!important}.valley-game .land-buy-dialog footer .plant-button{border-color:#3e7838!important;background:#6ab653!important;color:#183a1c!important}.valley-game .land-buy-dialog footer .plant-button:disabled{border-color:#9eae84!important;background:#c8d5ae!important;color:#879079!important;box-shadow:inset 0 -3px #a7b393,0 3px #776a4f!important}
.land-feedback{display:none;margin:0;padding:9px 11px;border:2px solid #c65b43;border-radius:9px;background:#f8d8c9;color:#8d3025;font-size:12px;font-weight:800}.land-feedback.visible{display:block}.land-buy-dialog [data-land-submit]:disabled{opacity:.45;cursor:not-allowed}.location-heading .place-heading-tools>button.copper-button{font-weight:900}
.valley-content .land-market:before,.valley-content .land-market-compact:before{display:none!important}.land-market-compact{display:flex!important;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px!important;padding:14px 16px!important}.land-market-compact>div h2{margin:0!important;font-size:19px!important}.land-market-compact>div p{margin:3px 0 0!important;font-size:11px!important;color:#75684f!important}.land-market-compact>button{flex:0 0 auto}.land-buy-dialog{position:fixed!important;inset:0!important;margin:auto!important;width:min(520px,calc(100vw - 28px));height:max-content;max-height:calc(100dvh - 28px);padding:0;border:4px solid #70472d;border-radius:17px;background:#fff8dc;color:#293622;box-shadow:0 18px 60px #2d241a66}.land-buy-dialog::backdrop{background:#26351fa8;backdrop-filter:blur(4px)}.land-buy-dialog form{display:grid;gap:14px;padding:18px}.land-buy-dialog header,.land-buy-dialog footer{display:flex;align-items:center;justify-content:space-between}.land-buy-dialog header small{font-size:9px;color:#a55c3b;font-weight:900}.land-buy-dialog h2{margin:2px 0 0;color:#35542f}.land-buy-dialog header button{width:32px;height:32px;border:0;border-radius:50%;background:#ead59f;color:#70472d}.land-buy-dialog label{display:grid;gap:6px;font-size:11px;font-weight:900}.land-buy-dialog :is(select,input){width:100%;padding:11px;border:2px solid #a77a49;border-radius:9px;background:#fffdf2;color:#293622}.land-total{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:10px;background:#eddda9}.land-total span{font-size:11px;font-weight:900;text-transform:uppercase}.land-total strong{font-size:21px;color:#397239}.land-capacity{margin:0;color:#75684f;font-size:11px}.land-buy-dialog footer{justify-content:flex-end;gap:8px}.land-buy-dialog footer button{padding:10px 14px;border-radius:9px}.land-buy-dialog .secondary{border:2px solid #b79663;background:#f2e2b7;color:#4e402e}@media(max-width:600px){.land-market-compact{align-items:stretch;flex-direction:column}.land-market-compact>button{width:100%}}
.valley-content.place-farmyard .compact-plots .plot-copy{height:100%;align-content:center;padding-right:12px;border-right:2px solid #d6bd83}.valley-game :is(.crop-change-dialog,.confirm-dialog,.quick-sell-dialog){position:fixed!important;inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;margin:auto!important;transform:none!important;max-height:min(620px,calc(100dvh - 28px))!important}.valley-game :is(.crop-change-dialog,.confirm-dialog,.quick-sell-dialog)[open]{display:block}.valley-game .crop-change-dialog[open]{display:grid;place-items:stretch}.valley-game :is(.confirm-dialog,.quick-sell-dialog){width:min(480px,calc(100vw - 28px))!important;height:max-content!important;padding:20px!important;border:4px solid #70472d!important;border-radius:17px!important;background:#fff8dc!important;color:#293622!important;box-shadow:0 18px 60px #2d241a66!important}.valley-game :is(.confirm-dialog,.quick-sell-dialog)::backdrop{background:#26351fa8;backdrop-filter:blur(4px)}
.valley-content.place-farmyard .compact-plots{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-auto-rows:auto!important}.valley-content.place-farmyard .compact-plots .plot-card{height:132px!important;min-height:132px!important;grid-template-columns:82px minmax(0,1fr)!important}.valley-content.place-farmyard .compact-plots .plot-land{width:82px!important;height:128px!important;min-height:128px!important}.valley-content.place-farmyard .compact-plots .plot-info{height:128px!important;min-height:128px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 82px!important;grid-template-rows:1fr!important;align-items:center!important;gap:10px!important;padding:12px!important}.valley-content.place-farmyard .compact-plots .crop-dialog-open{grid-column:2!important;grid-row:1!important;width:82px!important;height:44px!important}.valley-content.place-farmyard .compact-plots :is(.crop-current,.plot-empty){display:none!important}@media(max-width:1450px){.valley-content.place-farmyard .compact-plots{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:760px){.valley-content.place-farmyard .compact-plots{grid-template-columns:1fr!important}.valley-content.place-farmyard .compact-plots .plot-card{grid-template-columns:68px minmax(0,1fr)!important}.valley-content.place-farmyard .compact-plots .plot-land{width:68px!important;height:128px!important;min-height:128px!important}.valley-content.place-farmyard .compact-plots .plot-info{height:128px!important;grid-template-columns:minmax(0,1fr) 72px!important;grid-template-rows:1fr!important}.valley-content.place-farmyard .compact-plots .crop-dialog-open{grid-column:2!important;grid-row:1!important;width:72px!important}}
.valley-content .compact-plots{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.valley-content .compact-plots .plot-card{height:132px!important;min-height:132px!important;grid-template-columns:82px minmax(0,1fr)!important}.valley-content .compact-plots .plot-land{width:82px!important;height:128px!important;min-height:128px!important}.valley-content .compact-plots .plot-info{height:128px!important;min-height:128px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 82px!important;grid-template-rows:1fr!important;align-items:center!important;gap:10px!important;padding:12px!important}.valley-content .compact-plots .plot-copy{min-width:0;display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-content:center}.valley-content .compact-plots .plot-copy h2{grid-column:1/-1;margin:0 0 4px!important;font-size:16px!important}.valley-content .compact-plots .plot-copy p{display:contents}.valley-content .compact-plots .plot-copy span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#8b704e!important}.valley-content .compact-plots .plot-copy strong{font-size:12px;color:#35542f!important;text-align:right;white-space:nowrap}.valley-content .compact-plots .crop-dialog-open{grid-column:2!important;grid-row:1!important;width:82px!important;height:44px!important;align-self:center!important}.valley-content .compact-plots :is(.crop-current,.plot-empty){display:none!important}
@media(max-width:1450px){.valley-content .compact-plots{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.valley-content .compact-plots{grid-template-columns:1fr!important}.valley-content .compact-plots .plot-card{grid-template-columns:68px minmax(0,1fr)!important}.valley-content .compact-plots .plot-land{width:68px!important}.valley-content .compact-plots .plot-info{grid-template-columns:minmax(0,1fr) 72px!important;padding:9px!important}.valley-content .compact-plots .crop-dialog-open{width:72px!important}}
.home-estate-strip{max-width:720px;margin:18px auto;display:flex;align-items:center;gap:28px;padding:12px 16px;border:3px solid #755036;border-radius:14px;background:#fff6d6;box-shadow:0 4px #583820}.home-estate-strip>div{display:flex;align-items:center;gap:9px}.home-estate-strip>div>span{font-size:25px}.home-estate-strip p{display:grid;margin:0}.home-estate-strip small{font-size:9px;font-weight:900;text-transform:uppercase;color:#876642}.home-estate-strip strong{font-size:20px;color:#35542f}.home-estate-strip a{margin-left:auto;padding:10px 13px;border-radius:9px;background:#5ba14b;color:#fff;font-weight:900}.compact-plots{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important}.valley-content .compact-plots .plot-card{height:116px!important;min-height:116px!important;grid-template-columns:88px minmax(0,1fr)!important}.valley-content .compact-plots .plot-land{display:grid!important;width:88px!important;height:112px!important;min-height:112px!important}.valley-content .compact-plots .plot-info{height:112px!important;min-height:112px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:1fr 38px!important;gap:7px 10px!important}.valley-content .compact-plots .plot-info>header{grid-column:1!important;grid-row:1!important}.valley-content .compact-plots :is(.crop-current,.plot-empty){grid-column:2!important;grid-row:1!important;min-width:170px!important;height:auto!important;margin:0!important}.valley-content .compact-plots .crop-current{grid-template-columns:1fr auto!important}.valley-content .compact-plots .crop-current>div{display:grid}.valley-content .compact-plots .crop-dialog-open{grid-column:1/-1!important;grid-row:2!important;width:100%!important;height:34px!important}.crop-change-dialog{width:min(520px,calc(100vw - 28px));padding:0;border:4px solid #70472d;border-radius:17px;background:#fff8dc;color:#293622;box-shadow:0 18px 60px #2d241a66}.crop-change-dialog::backdrop{background:#26351f99;backdrop-filter:blur(3px)}.crop-change-dialog form{display:grid;gap:16px;padding:18px}.crop-change-dialog header,.crop-change-dialog footer{display:flex;align-items:center;justify-content:space-between}.crop-change-dialog header small{font-size:9px;color:#a55c3b;font-weight:900}.crop-change-dialog h2{margin:2px 0 0;color:#35542f}.crop-change-dialog header button{width:32px;height:32px;border:0;border-radius:50%;background:#ead59f;color:#70472d}.crop-change-dialog label{display:grid;gap:6px;font-size:12px;font-weight:900}.crop-change-dialog select{width:100%;padding:12px;border:2px solid #a77a49;border-radius:9px;background:#fffdf2;color:#293622}.crop-change-dialog footer{justify-content:flex-end;gap:8px}.crop-change-dialog footer button{padding:10px 14px;border-radius:9px}.crop-change-dialog .secondary{border:2px solid #b79663;background:#f2e2b7;color:#4e402e}
@media(max-width:1050px){.compact-plots{grid-template-columns:1fr!important}}
@media(max-width:600px){.home-estate-strip{align-items:stretch;flex-direction:column;gap:10px}.home-estate-strip a{margin-left:0;text-align:center}.valley-content .compact-plots .plot-card{grid-template-columns:68px minmax(0,1fr)!important;height:auto!important}.valley-content .compact-plots .plot-land{width:68px!important;height:auto!important;min-height:165px!important}.valley-content .compact-plots .plot-info{height:auto!important;grid-template-columns:1fr!important;grid-template-rows:auto auto 36px!important}.valley-content .compact-plots .plot-info>header,.valley-content .compact-plots :is(.crop-current,.plot-empty),.valley-content .compact-plots .crop-dialog-open{grid-column:1!important;grid-row:auto!important;min-width:0!important}}
.valley-content .location-heading .place-title:has(h1:only-child){display:block}.valley-content .location-heading .place-title:has(h1:only-child) h1{display:block;grid-column:auto;margin:0!important}
.valley-game{--cream:#fff8df;--paper:#fffdf2;--ink:#293622;--green:#4f8b45;--deep:#315d39;--leaf:#78b957;--yellow:#f5bd3c;--red:#d95d45;--wood:#8a5735;--line:#d8bd7c;min-height:100vh;color:var(--ink);font-family:"Nunito","Nunito","Trebuchet MS",sans-serif;background:#8dc765}
.valley-game *{box-sizing:border-box}.valley-game a{text-decoration:none}.valley-game button,.valley-game input,.valley-game select{font:inherit}
.valley-hud{height:76px;display:flex;align-items:center;gap:24px;padding:8px 28px;position:sticky;top:0;z-index:50;background:#fff9e8;border-bottom:4px solid var(--wood);box-shadow:0 4px 0 #56351f33}.valley-logo{display:flex;align-items:center;min-width:270px;color:var(--deep)}.valley-logo>span{font-size:42px;filter:drop-shadow(0 3px #bd7d20)}.valley-logo div{display:flex;flex-direction:column}.valley-logo strong{font:900 25px/1 "Baloo 2","Nunito","Trebuchet MS",sans-serif}.valley-logo small{margin-top:4px;color:#91603d;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.player-level{display:flex;align-items:center;gap:10px;padding:7px 14px;border-left:2px solid #e2cea0}.player-level>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--red);border:3px solid #9e4233;color:white;font-size:19px;font-weight:900;box-shadow:inset 0 -4px #a94334}.player-level>div{display:grid;min-width:130px}.player-level small{color:#876d4d;font-size:11px}.player-level strong{font-size:14px}.player-level i{height:6px;margin-top:4px;border-radius:5px;background:#dfd3aa;overflow:hidden}.player-level em{display:block;height:100%;background:var(--leaf)}.valley-status{margin-left:auto;display:flex;gap:10px}.valley-resource,.valley-clock{height:52px;display:flex;align-items:center;gap:8px;padding:7px 13px;border:2px solid #c6a56b;border-radius:13px;background:#fff2bd;box-shadow:0 3px #8a5934}.valley-resource>span,.valley-clock>span{font-size:23px}.valley-status p{display:grid;margin:0}.valley-status small{font-size:9px;font-weight:900;color:#976943;text-transform:uppercase;letter-spacing:.08em}.valley-status strong{font-size:14px;white-space:nowrap}.valley-clock{background:#e7f3d1;border-color:#86a967}
.valley-nav{height:62px;display:flex;align-items:end;justify-content:center;gap:8px;padding:8px 22px 0;background:linear-gradient(#79ad56,#639a47);border-bottom:5px solid #427338}.valley-nav a{display:flex;align-items:center;gap:7px;height:49px;padding:0 18px;border:2px solid #3f6c34;border-bottom:0;border-radius:13px 13px 0 0;background:#fff4ca;color:#38502f;font-size:14px;font-weight:900;box-shadow:inset 0 -5px #e5ca7f}.valley-nav a:hover{height:54px;background:white;transform:translateY(0)}.valley-nav span{font-size:20px}
.valley-landscape{display:grid;grid-template-columns:minmax(0,1fr) 292px;min-height:calc(100vh - 138px);background:linear-gradient(#a7d8ee 0 105px,#7eba5a 106px);position:relative}.valley-landscape:before{content:"";position:absolute;inset:65px 0 auto;height:90px;background:radial-gradient(ellipse at 12% 100%,#4d8b43 0 24%,transparent 25%),radial-gradient(ellipse at 48% 100%,#5d9849 0 29%,transparent 30%),radial-gradient(ellipse at 82% 100%,#477f3f 0 27%,transparent 28%);pointer-events:none}.valley-content{position:relative;z-index:1;padding:24px 28px 50px;min-width:0}.valley-inventory{position:relative;z-index:2;height:calc(100vh - 138px);position:sticky;top:138px;display:flex;flex-direction:column;background:var(--cream);border-left:5px solid var(--wood);box-shadow:-5px 0 #55351f22}.valley-inventory>header{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--red);color:#fff;border-bottom:4px solid #9e4233}.valley-inventory>header>div{display:flex;align-items:center;gap:10px}.valley-inventory>header span{font-size:27px}.valley-inventory p{margin:0}.valley-inventory header p{display:grid}.valley-inventory header small{font-size:9px;text-transform:uppercase;font-weight:900}.valley-inventory header strong{font-size:18px}.valley-inventory header button{border:0;background:#fff3;border-radius:50%;color:#fff;width:28px;height:28px}.valley-inventory .dock-tools{padding:12px;background:#f3e3ae;border-bottom:2px solid #c7a566}.valley-inventory .dock-tools input{width:100%;padding:9px 11px;border:2px solid #a77c4b;border-radius:9px;background:#fffdf3;color:var(--ink)}.valley-inventory .dock-tools label{display:block;margin-top:8px;font-size:11px}.valley-inventory .stock-dock-list{overflow:auto;flex:1;padding:0 10px}.valley-inventory .dock-resource{width:100%;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:9px 3px;border:0;border-bottom:1px solid #dec998;background:transparent;text-align:left;color:var(--ink)}.valley-inventory .dock-resource:hover{background:#e7f1d4}.valley-inventory .dock-empty{display:none}.valley-inventory .dock-icon{display:grid;place-items:center;width:36px;height:36px;border:2px solid #b38b58;border-radius:10px;background:#fff}.valley-inventory .dock-resource div{display:grid}.valley-inventory .dock-resource strong{font-size:13px}.valley-inventory .dock-resource small{font-size:10px;color:#88765c}.valley-inventory .dock-resource>b{display:grid;text-align:right;color:var(--green)}.valley-inventory footer{display:grid;grid-template-columns:1fr auto;padding:13px 15px;background:#eddb9f;border-top:3px solid #b98a4f}.valley-inventory footer span{font-size:10px;font-weight:900;text-transform:uppercase}.valley-inventory footer a{grid-column:1/-1;margin-top:8px;padding:9px;text-align:center;border-radius:8px;background:var(--red);color:#fff;font-weight:900;box-shadow:inset 0 -3px #a33e30}
.homestead-welcome{display:flex;align-items:center;justify-content:space-between;max-width:1450px;margin:0 auto 16px;padding:15px 22px;border:4px solid #71452b;border-radius:16px;background:#fff8dc;box-shadow:inset 0 0 0 3px #ead18c,0 6px #5c3822}.homestead-welcome small{color:#b25537;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.homestead-welcome h1{margin:2px 0;font:900 clamp(27px,3vw,44px)/1 "Baloo 2","Nunito","Trebuchet MS",sans-serif;color:#36572f}.homestead-welcome p{margin:5px 0 0;color:#68775c}.homestead-welcome>a{padding:13px 18px;border:3px solid #9c432f;border-radius:11px;background:linear-gradient(#ef7458,#d95740);color:white;font-weight:900;box-shadow:inset 0 -4px #ad3e31,0 4px #6d4328}.homestead-map{position:relative;max-width:1450px;height:650px;margin:auto;overflow:hidden;border:5px solid #65402a;border-radius:25px;background:linear-gradient(#9eddf1 0 29%,#76b753 29% 100%);box-shadow:inset 0 0 0 4px #e6c875,0 9px #54331f}.homestead-map:before{content:"";position:absolute;inset:29% 0 0;background:repeating-linear-gradient(135deg,#ffffff08 0 20px,#00000005 20px 40px)}.sun{position:absolute;right:7%;top:5%;font-size:65px}.hill{position:absolute;width:55%;height:170px;border-radius:50% 50% 0 0;background:#579b49;top:19%}.hill-a{left:-10%}.hill-b{right:-10%;background:#4b8d44}.pond{position:absolute;left:45%;top:44%;width:17%;height:48%;border:8px solid #e7d28e;border-radius:45%;background:repeating-linear-gradient(110deg,#4fc0df 0 16px,#61cce6 16px 32px);transform:rotate(12deg)}.path{position:absolute;left:4%;right:-5%;bottom:18%;height:45px;background:#d5ad6a;border:5px solid #94663d;transform:rotate(-4deg)}.homestead-place{position:absolute;display:flex;align-items:center;gap:12px;width:270px;min-height:118px;padding:14px;border:4px solid #62402a;border-radius:18px;color:#2e4229;box-shadow:0 8px #50321f;transition:.15s}.homestead-place:hover{transform:translateY(-6px);filter:brightness(1.06)}.homestead-place .place-art{font-size:55px;filter:drop-shadow(0 4px #0003)}.homestead-place div{display:grid}.homestead-place small{font-size:10px;font-weight:900;text-transform:uppercase;color:#72563b}.homestead-place strong{font:900 19px "Baloo 2","Nunito","Trebuchet MS",sans-serif}.homestead-place em{font-size:11px;font-style:normal}.fields{left:4%;top:13%;background:#edcf4f}.ranch{left:38%;top:10%;background:#f3e1a2}.quarry{right:4%;top:15%;background:#b9b8a4}.workshop{left:8%;bottom:7%;background:#b6c7c0}.barn{left:40%;bottom:5%;background:#db704f}.town{right:4%;bottom:9%;background:#f1bd70}.homestead-notice{display:flex;align-items:center;gap:12px;max-width:1450px;margin:16px auto 0;padding:13px 18px;border:3px solid #70462c;border-radius:13px;background:#fff4c8;box-shadow:0 5px #593721}.homestead-notice>span{font-size:28px}.homestead-notice p{display:grid}.homestead-notice small{font-size:9px;color:#b05a38;font-weight:900;text-transform:uppercase}
/* Les écrans métier deviennent des panneaux de lieu, pas des dashboards. */
.valley-content .game-heading,.valley-content .merged-place-heading{border:4px solid #70452b!important;border-radius:17px!important;background:#fff7d8!important;color:var(--ink)!important;box-shadow:inset 0 0 0 3px #e4ca83,0 6px #583620!important}.valley-content h1,.valley-content h2,.valley-content h3{color:#354f2e!important}.valley-content .game-heading h1{font-family:"Baloo 2","Nunito","Trebuchet MS",sans-serif!important;text-shadow:none!important}.valley-content .plot-card,.valley-content .holding-card,.valley-content .catalogue,.valley-content .crop-library,.valley-content .land-market{border-color:#6c452d!important;background:#fff9e5!important;color:var(--ink)!important;box-shadow:0 5px #593721!important}.valley-content .plot-info,.valley-content .holding-body,.valley-content .catalog-group,.valley-content article{color:var(--ink)}.valley-content input,.valley-content select{background:#fffdf3!important;color:var(--ink)!important;border-color:#a67a4c!important}.valley-content .copper-button,.valley-content .library-toggle{background:var(--red)!important;color:#fff!important;border-color:#9c3e31!important}.valley-content .plant-button,.valley-content .build-button{background:var(--leaf)!important;color:#17351b!important;border-color:#3d7936!important}
@media(max-width:1100px){.valley-hud{gap:10px;padding-inline:14px}.valley-logo{min-width:210px}.valley-logo small,.player-level{display:none}.valley-nav{overflow-x:auto;justify-content:flex-start}.valley-nav a{white-space:nowrap}.valley-landscape{grid-template-columns:1fr}.valley-inventory{display:none}.homestead-map{height:760px}.homestead-place{width:250px}.fields{left:4%}.ranch{left:auto;right:4%}.quarry{top:38%;left:4%;right:auto}.workshop{top:38%;right:4%;left:auto}.barn{left:4%;bottom:5%}.town{right:4%;bottom:5%}}
@media(max-width:700px){.valley-hud{height:auto;flex-wrap:wrap}.valley-status{width:100%;overflow:auto}.valley-resource,.valley-clock{flex:1}.valley-landscape{min-height:calc(100vh - 180px)}.valley-content{padding:14px}.homestead-welcome{align-items:flex-start;gap:14px;flex-direction:column}.homestead-map{height:auto;padding:14px;display:grid;gap:12px;background:#74b654}.homestead-map>.hill,.homestead-map>.pond,.homestead-map>.path,.homestead-map>.sun{display:none}.homestead-place{position:relative!important;inset:auto!important;width:100%;min-height:100px}.valley-nav a{padding:0 12px}}

/* Harmonisation complète des anciens composants métier */
@media(min-width:1101px){.valley-inventory{position:fixed!important;z-index:70!important;right:0!important;top:0!important;width:292px!important;height:100vh!important}}
.valley-content.game-place{color:var(--ink)!important}.valley-content.game-place :is(.plot-card,.holding-card){border:3px solid #735034!important;background:#fff8dd!important;color:var(--ink)!important;box-shadow:0 4px 0 #563820!important}.valley-content.game-place :is(.plot-info,.holding-body){background:#fff8dd!important;color:var(--ink)!important}.valley-content.game-place :is(.plot-info h2,.holding-title h2){color:#35522f!important}.valley-content.game-place :is(.plot-info>header,.holding-title){border-color:#d6bd83!important}.valley-content.game-place :is(.crop-current,.holding-stat,.holding-body>.recipe-materials){border:2px solid #cfb376!important;background:#f4e5b9!important;color:var(--ink)!important}.valley-content.game-place .recipe-materials>div{border-color:#d4bb82!important;background:#fff4cf!important;color:var(--ink)!important}.valley-content.game-place :is(.holding-stat span,.efficiency small,.catalogue-grid p){color:#69775e!important}.valley-content.game-place .efficiency>span{background:#d8c895!important}.valley-content.game-place .efficiency>span i{background:#65a94d!important}.valley-content.game-place .holding-title>b{border-color:#b67a23!important;background:#f5bd3c!important;color:#503311!important}.valley-content.game-place .holding-visual>i{border-color:#3e7838!important;background:#57a34a!important;color:white!important}.valley-content.game-place .catalogue{padding:14px!important;border:4px solid #70472d!important;border-radius:16px!important;background:#fff6d6!important}.valley-content.game-place .catalogue>header{padding:14px 18px!important;border-radius:11px!important;background:#ead497!important;color:var(--ink)!important}.valley-content.game-place .catalog-group{margin-top:12px!important;border:2px solid #b48a54!important;border-radius:12px!important;background:#fffaf0!important;overflow:hidden}.valley-content.game-place .catalog-group>header{padding:12px 15px!important;border:0!important;border-bottom:2px solid #bea069!important;background:#e6d19b!important;color:var(--ink)!important}.valley-content.game-place .catalog-group>header h2{color:#36522f!important}.valley-content.game-place .catalogue-grid{margin:0!important;border:0!important;border-radius:0!important;background:#fffaf0!important}.valley-content.game-place .catalogue-grid>article{border:0!important;border-bottom:1px solid #ddc99d!important;border-radius:0!important;background:#fffaf0!important;color:var(--ink)!important}.valley-content.game-place .catalogue-grid>article:nth-child(even){background:#f7edcf!important}.valley-content.game-place .catalogue-icon{border-color:#ae8552!important;background:#fff7db!important}.valley-content.game-place .build-button{border:2px solid #3e7838!important;background:#6ab653!important;color:#183a1c!important;box-shadow:inset 0 -3px #478b3c,0 3px #6a472d!important}

@media(min-width:1101px){.valley-hud,.valley-nav{margin-right:292px}}
.valley-content .place-summary{border:3px solid #987046!important;border-radius:12px!important;background:#f1dda6!important;color:#334c2d!important;box-shadow:inset 0 2px #fff5d1,0 3px #654127!important}.valley-content .place-summary :is(span,small,p){color:#765a3c!important}.valley-content .place-summary strong{color:#3e7538!important}.valley-content.game-place .holding-visual{border-color:#67432c!important;background:repeating-linear-gradient(135deg,#789764 0 12px,#6c8b5a 12px 24px)!important}.valley-content.game-place.place-quarry .holding-visual{background:repeating-linear-gradient(135deg,#a69578 0 12px,#938469 12px 24px)!important}.valley-content.game-place.place-factory .holding-visual{background:repeating-linear-gradient(90deg,#b59671 0 14px,#a78663 14px 28px)!important}.valley-content.game-place :is(.game-heading p,.place-title>p:last-child){color:#708263!important}.valley-content.game-place .game-kicker{color:#a8613f!important}.valley-content.game-place :is(.catalog-badge,.catalogue-icon){color:#3b5634!important}

/* Palette unique sur chaque sous-composant des écrans de production. */
.valley-content .bulk-crop-bar{border:3px solid #71482e!important;border-radius:12px!important;background:#f0dda7!important;color:#334c2d!important;box-shadow:0 4px #583721!important}.valley-content .bulk-crop-bar strong{color:#334c2d!important}.valley-content .bulk-crop-bar button{border:2px solid #a75c25!important;background:#f4ad3c!important;color:#4c2e11!important;box-shadow:inset 0 -3px #d77a22!important}
.valley-content .land-market>header,.valley-content .crop-library>header{background:#e8d198!important;color:#334c2d!important;border-color:#b68b54!important}.valley-content .land-market>header :is(h2,p),.valley-content .crop-library>header :is(h2,p){color:#334c2d!important}.valley-content .land-offers form{border:3px solid #795034!important;background:#fff8df!important;color:#334c2d!important;box-shadow:0 4px #5b3a25!important}.valley-content .land-offers form:before{background:repeating-linear-gradient(90deg,#6baa4e 0 20px,#f3bd3f 20px 40px)!important}.valley-content .land-offers form :is(span,strong,p){color:#334c2d!important}.valley-content .land-offers form button{border:2px solid #a75a24!important;background:#f5a83a!important;color:#4a2d12!important;box-shadow:inset 0 -3px #d77921,0 3px #70472d!important}
.valley-content .crop-grid,.valley-content .recipe-grid{border:2px solid #b78e59!important;background:#fffaf0!important}.valley-content .crop-grid>article,.valley-content .recipe-grid>article{border:0!important;border-bottom:1px solid #ddc89a!important;background:#fffaf0!important;color:#33452e!important;box-shadow:none!important}.valley-content .crop-grid>article:nth-child(even),.valley-content .recipe-grid>article:nth-child(even){background:#f6eac9!important}.valley-content :is(.crop-grid,.recipe-grid)>article:hover{background:#e7f0d2!important}.valley-content :is(.crop-grid,.recipe-grid) :is(h2,h3,strong){color:#334f2e!important}.valley-content :is(.crop-grid,.recipe-grid) :is(p,small,span){color:#6a775f!important}.valley-content .factory-symbol{border-color:#a98150!important;background:#fff3cb!important;color:#35522f!important}.valley-content .recipe-grid .recipe-materials{border-color:#cdb276!important;background:#f0dda9!important}.valley-content .recipe-grid .recipe-materials>div{background:#fff5d5!important;color:#33452e!important}.valley-content .recipe-grid .recipe-materials>i{color:#c7653c!important}
.valley-content.place-factory .plot-land{border-color:#67432c!important;background:repeating-linear-gradient(90deg,#a88c6c 0 16px,#92775b 16px 32px)!important}.valley-content .catalog-count{color:#55714b!important}.valley-content .plots-empty{border-color:#a9885b!important;background:#fff6d7!important;color:#506148!important}
.valley-content .stock-grid,.valley-content .market-table{border:2px solid #b68d58!important;background:#fffaf0!important}.valley-content .stock-card,.valley-content .market-row{border-color:#ddc89a!important;background:#fffaf0!important;color:#33452e!important}.valley-content .stock-card:nth-child(even),.valley-content .market-row:nth-child(odd):not(.market-head){background:#f6eac9!important}.valley-content .market-head{background:#dfc686!important;color:#4c563f!important}.valley-content .warehouse-hero{border:4px solid #70472d!important;background:#e8d198!important;color:#334c2d!important;box-shadow:0 5px #593721!important}.valley-content .warehouse-hero :is(span,small,strong){color:#334c2d!important}.valley-content .market-open{border-color:#86a56a!important;background:#e5f0d1!important;color:#36542f!important}
.valley-content.place-market .catalog-toolbar,.valley-content.place-warehouse .catalog-toolbar{border:3px solid #775035!important;border-radius:12px!important;background:#ecd79f!important;color:#334c2d!important;box-shadow:0 4px #593821!important}.valley-content.place-market .catalog-toolbar span,.valley-content.place-warehouse .catalog-toolbar span{color:#526448!important}.valley-content.place-market .market-table{border-color:#ad8451!important;background:#fffaf0!important;box-shadow:0 4px #604029!important}.valley-content.place-market .market-row{border:0!important;border-bottom:1px solid #dbc596!important;background:#fffaf0!important;color:#33452e!important;box-shadow:none!important}.valley-content.place-market .market-row:nth-child(odd):not(.market-head){background:#f5e8c5!important}.valley-content.place-market .market-row:hover{background:#e5efd0!important}.valley-content.place-market .market-head{background:#d9bd79!important;color:#405139!important}.valley-content.place-market .market-product :is(strong,small),.valley-content.place-market .market-row>strong,.valley-content.place-market .market-row>span{color:#405139!important}.valley-content.place-market .sell-form input{border:2px solid #aa7c48!important;background:#fffdf2!important;color:#293622!important}.valley-content.place-market .sell-form button{border:2px solid #9c4230!important;background:#d95d45!important;color:#fff!important;box-shadow:inset 0 -3px #a83d30!important}.valley-content.place-market .trend.up{color:#397b3d!important}.valley-content.place-market .trend.down{color:#b94c3b!important}

/* En-tête de lieu compact : priorité aux actions et aux parcelles. */
.valley-content .location-heading{min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;margin-bottom:16px!important;padding:12px 16px!important;border-width:3px!important;border-radius:14px!important}.valley-content .location-heading .place-title{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px}.valley-content .location-heading .game-kicker{grid-column:1;font-size:9px!important}.valley-content .location-heading h1{grid-column:2;margin:0!important;font-size:clamp(24px,2.4vw,36px)!important}.valley-content .location-heading .place-title>p:last-child{grid-column:2;margin:3px 0 0!important;font-size:13px!important}.valley-content .location-heading .place-heading-tools{display:flex!important;align-items:center!important;gap:10px!important}.valley-content .location-heading .place-summary{min-width:210px!important;padding:8px 11px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:2px 10px!important}.valley-content .location-heading .place-summary>span{grid-column:1;display:flex!important;gap:6px!important}.valley-content .location-heading .place-summary>strong{grid-column:2;grid-row:1;font-size:20px!important}.valley-content .location-heading .place-summary>p{grid-column:1/-1;font-size:9px!important;margin:0!important}.valley-content .location-heading .place-summary>i{grid-column:1/-1;height:5px!important}.valley-content .location-heading .copper-button{white-space:nowrap!important;padding:11px 13px!important}

/* Responsive contrôlé : la colonne inventaire ne comprime jamais le jeu. */
@media(max-width:1350px){.valley-hud,.valley-nav{margin-right:0!important}.valley-landscape{grid-template-columns:minmax(0,1fr)!important}.valley-inventory{display:none!important}.valley-content{padding-inline:22px}.valley-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}.valley-nav a{flex:0 0 auto}}
@media(max-width:900px){.valley-hud{position:relative;height:auto;min-height:70px;flex-wrap:wrap;padding:8px 14px}.valley-logo{min-width:0;flex:1}.valley-logo strong{font-size:21px}.valley-status{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,1fr)}.valley-resource,.valley-clock{min-width:0;height:46px}.valley-nav{position:sticky;top:0;z-index:45;height:56px;padding-inline:10px}.valley-nav a{height:44px;padding:0 12px;font-size:12px}.valley-content{padding:16px 14px 40px}.valley-content .location-heading{grid-template-columns:1fr!important}.valley-content .location-heading .place-heading-tools{justify-content:space-between}.valley-content .bulk-crop-bar{position:static!important;display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important}.valley-content .bulk-crop-bar strong{grid-column:1/-1}.valley-content .land-offers{grid-template-columns:repeat(2,minmax(0,1fr))!important}.valley-content.game-place .plot-card{height:auto!important;min-height:124px!important;grid-template-columns:88px minmax(0,1fr)!important}.valley-content.game-place .plot-land{display:grid!important;width:88px!important;height:auto!important;min-height:120px!important}.valley-content.game-place .plot-info{height:auto!important;min-height:120px!important;grid-template-columns:minmax(140px,.7fr) minmax(170px,.8fr)!important;grid-template-rows:auto auto!important}.valley-content.game-place .plot-info>form{grid-column:1/-1!important;grid-row:2!important}.valley-content .crop-search{width:100%!important}}
@media(max-width:600px){.valley-logo small{display:none}.valley-status{grid-template-columns:1fr 1fr}.valley-clock{grid-column:1/-1}.valley-status small{font-size:8px}.valley-nav a{padding-inline:10px}.valley-nav a span{font-size:17px}.valley-content .location-heading{padding:11px!important}.valley-content .location-heading .place-title{display:block}.valley-content .location-heading h1{font-size:25px!important}.valley-content .location-heading .place-title>p:last-child{font-size:12px!important}.valley-content .location-heading .place-heading-tools{align-items:stretch!important;flex-direction:column!important}.valley-content .location-heading .place-summary{width:100%!important;min-width:0!important}.valley-content .location-heading .copper-button{text-align:center}.valley-content .bulk-crop-bar{grid-template-columns:1fr!important}.valley-content .bulk-crop-bar :is(strong,select,button){grid-column:1!important;width:100%!important}.valley-content.game-place .plot-card{grid-template-columns:68px minmax(0,1fr)!important}.valley-content.game-place .plot-land{display:grid!important;width:68px!important;min-height:180px!important}.valley-content.game-place .plot-info{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important}.valley-content.game-place .plot-info>header,.valley-content.game-place .crop-current,.valley-content.game-place .plot-info>form{grid-column:1!important;grid-row:auto!important}.valley-content.game-place .plot-info>header{border-right:0!important;border-bottom:1px solid #d6bd83!important;padding-bottom:5px!important}.valley-content.game-place .plot-info>form{grid-template-columns:1fr!important}.valley-content.game-place .plot-info>form label{grid-template-columns:1fr!important}.valley-content.game-place .plot-info select,.valley-content.game-place .plant-button{width:100%!important}.valley-content .land-offers{grid-template-columns:1fr!important}.valley-content .land-market>header,.valley-content .crop-library>header{align-items:flex-start!important;flex-direction:column!important}.valley-content .crop-search{display:grid!important;grid-template-columns:1fr!important}.valley-content .crop-grid article{min-width:0!important;display:grid!important;grid-template-columns:42px 1fr auto!important;grid-template-rows:auto auto!important;gap:4px 9px!important;padding:9px!important}.valley-content .crop-grid article>span{grid-column:1!important;grid-row:1/3!important}.valley-content .crop-grid article>h3{grid-column:2!important;grid-row:1!important}.valley-content .crop-grid article>small{grid-column:2!important;grid-row:2!important}.valley-content .crop-grid article>div{grid-column:3!important;grid-row:1!important}.valley-content .crop-grid article>p{grid-column:3!important;grid-row:2!important}.valley-content .catalogue-grid>article,.valley-content .recipe-grid>article{min-width:0!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto!important;gap:6px 9px!important;padding:10px!important}.valley-content :is(.catalogue-grid,.recipe-grid)>article>*{grid-column:2!important;grid-row:auto!important}.valley-content :is(.catalogue-grid,.recipe-grid)>article>:is(.catalogue-icon,.factory-symbol){grid-column:1!important;grid-row:1/3!important}.valley-content :is(.catalogue-grid,.recipe-grid) .recipe-materials{grid-column:1/-1!important}.valley-content .catalogue-grid>article>form{grid-column:1/-1!important}.valley-content .market-row{min-width:0!important;grid-template-columns:1fr auto!important}.valley-content .market-head{display:none!important}.valley-content .market-product{grid-column:1!important}.valley-content .sell-form{grid-column:1/-1!important}}

/* Appels d'offres */
.place-contracts{display:grid!important;gap:14px!important}.contract-heading{align-items:center!important}.contract-respect{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px;min-width:150px;padding:10px 16px;border:2px solid #9a7045;border-radius:12px;background:#f4dfa4;box-shadow:0 4px 0 #68452d;color:#315331}.contract-respect>span{grid-row:1/3;font-size:26px}.contract-respect small,.contract-card small,.contract-section>header small{font:700 10px/1.2 "Nunito",sans-serif;letter-spacing:.08em;color:#765c3d}.contract-respect strong{font:800 22px/1 "Nunito",sans-serif}.contract-section{border:2px solid #8e663f;border-radius:13px;background:#fff7da;box-shadow:0 5px 0 #68452d;overflow:hidden}.contract-section>header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#edd79a;border-bottom:1px solid #c49a5c}.contract-section>header h2{margin:2px 0 0;color:#294e2c;font-size:22px}.contract-section>header>b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:8px;background:#4f9f45;color:white;font:800 14px "Nunito",sans-serif}.contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}.contract-card{display:grid;grid-template-columns:minmax(170px,1.5fr) minmax(115px,1fr) 100px 92px;align-items:center;gap:10px;padding:13px;border:2px solid #bd945c;border-radius:10px;background:#fffaf0;color:#29452d}.contract-card.active{border-color:#59a64e;background:#f8ffe8}.contract-client{display:flex;align-items:center;gap:10px;min-width:0}.contract-client>div,.contract-order{display:grid;gap:2px}.contract-client strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contract-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:2px solid #997c52;border-radius:10px;background:#f2e4b9;font-size:23px}.contract-order,.contract-stock,.contract-deadline{padding-left:10px;border-left:1px solid #d8b877}.contract-order strong,.contract-stock strong,.contract-deadline strong{font:800 16px "Nunito",sans-serif}.contract-order span{font-size:12px}.contract-stock .enough{color:#31843d}.contract-deadline .expired{color:#b44435}.contract-rewards{grid-column:1/4;display:flex;gap:18px;padding-top:9px;border-top:1px dashed #d7b979}.contract-rewards span{display:flex;align-items:baseline;gap:6px}.contract-rewards strong{color:#31773b}.contract-card form{grid-column:4;grid-row:2;display:grid;gap:4px}.contract-button{min-height:40px;border:1px solid #7b382b;border-radius:8px;background:#dd5d47;color:#fff;box-shadow:0 4px 0 #502d25;font-weight:800;cursor:pointer}.contract-card.active .contract-button{background:#58ad4d;border-color:#347036}.contract-button:disabled{background:#c7c7a8;border-color:#999;box-shadow:0 3px 0 #777;color:#6d6d5b;cursor:not-allowed}.contract-card form>small{text-align:center;letter-spacing:0;color:#a04937}.contract-empty{margin:0;padding:22px;text-align:center;color:#705f44}.contract-history-list{display:grid}.contract-history-list article{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #ead9ae}.contract-history-list article:first-child{border-top:0}.contract-history-list article div{display:grid}.contract-history-list article small{color:#786b52}.contract-history-list article>b{padding:5px 9px;border-radius:6px;font:800 11px "Nunito",sans-serif}.contract-history-list .completed{background:#d7efc9;color:#34763b}.contract-history-list .expired{background:#eaded0;color:#8a6553}
@media(max-width:1100px){.contract-grid{grid-template-columns:1fr}.contract-card{grid-template-columns:minmax(160px,1.5fr) minmax(110px,1fr) 95px 90px}}
@media(max-width:700px){.contract-heading{align-items:stretch!important}.contract-respect{min-width:0}.contract-grid{padding:8px}.contract-card{grid-template-columns:1fr 1fr;gap:9px}.contract-client{grid-column:1/-1}.contract-order,.contract-stock,.contract-deadline{border-left:0;padding-left:0}.contract-deadline{text-align:right}.contract-rewards{grid-column:1/-1;justify-content:space-between}.contract-card form{grid-column:1/-1;grid-row:auto}.contract-button{width:100%}.contract-section>header h2{font-size:19px}}

/* Registre compact des contrats : une information par colonne */
.place-contracts{gap:16px!important;padding-top:24px!important}.place-contracts .contract-section>header{min-height:62px;box-sizing:border-box;padding:10px 16px}.place-contracts .contract-section>header h1,.place-contracts .contract-section>header h2{margin:0;color:#294e2c;font-size:23px;line-height:1}.place-contracts .contract-main>header h1{font-size:27px}.place-contracts .contract-grid{display:grid;grid-template-columns:1fr;gap:8px;padding:10px}.place-contracts .contract-card{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) 120px 115px minmax(170px,.9fr) 105px;grid-template-rows:1fr;align-items:center;gap:0;min-height:76px;box-sizing:border-box;padding:8px 10px;background:#fffaf0}.place-contracts .contract-card>*{min-width:0}.place-contracts .contract-client{grid-column:1;grid-row:1;padding-right:14px}.place-contracts .contract-client strong{font-size:15px}.place-contracts .contract-order{grid-column:2;grid-row:1}.place-contracts .contract-stock{grid-column:3;grid-row:1}.place-contracts .contract-deadline{grid-column:4;grid-row:1}.place-contracts :is(.contract-order,.contract-stock,.contract-deadline,.contract-rewards,.contract-card form){height:48px;box-sizing:border-box;padding:3px 12px;border-left:1px solid #d8b877;display:flex;flex-direction:column;justify-content:center}.place-contracts .contract-order strong{font-size:14px}.place-contracts .contract-order span{font:700 13px "Nunito",sans-serif;color:#735f40}.place-contracts .contract-stock strong,.place-contracts .contract-deadline strong{font-size:14px}.place-contracts .contract-rewards{grid-column:5;grid-row:1;gap:1px;border-top:0}.place-contracts .contract-rewards strong{font:800 16px "Nunito",sans-serif;color:#31773b}.place-contracts .contract-rewards span{font:700 12px "Nunito",sans-serif;color:#70592f}.place-contracts .contract-card form{grid-column:6;grid-row:1;height:auto;padding-right:0}.place-contracts .contract-card form>small{position:absolute;left:-9999px}.place-contracts .contract-button{width:100%;min-height:38px}.place-contracts .contract-icon{flex-basis:42px;width:42px;height:42px}.place-contracts .contract-empty{background:#fffaf0}
@media(max-width:1050px){.place-contracts .contract-card{grid-template-columns:minmax(180px,1.3fr) minmax(140px,1fr) 105px 105px 105px}.place-contracts .contract-rewards{grid-column:5}.place-contracts .contract-card form{grid-column:1/-1;grid-row:2;height:auto;margin-top:7px;padding:8px 0 0;border-left:0;border-top:1px dashed #d8b877}.place-contracts .contract-card{grid-template-rows:auto auto}.place-contracts .contract-button{width:160px;margin-left:auto}}
@media(max-width:720px){.place-contracts{padding-top:12px!important}.place-contracts .contract-section>header{min-height:54px}.place-contracts .contract-card{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.place-contracts .contract-client{grid-column:1/-1;border-bottom:1px solid #ead5a6;padding:0 0 8px}.place-contracts .contract-order{grid-column:1;grid-row:2}.place-contracts .contract-stock{grid-column:2;grid-row:2}.place-contracts .contract-deadline{grid-column:1;grid-row:3;text-align:left}.place-contracts .contract-rewards{grid-column:2;grid-row:3}.place-contracts :is(.contract-order,.contract-stock,.contract-deadline,.contract-rewards){height:auto;min-height:46px;padding:4px 0;border-left:0}.place-contracts .contract-card form{grid-column:1/-1;grid-row:4}.place-contracts .contract-button{width:100%}}

/* Modale d'aménagement : override final contre le style générique des dialogues. */
body .valley-game .equipment-dialog.land-buy-dialog{width:min(820px,calc(100vw - 20px))!important;max-width:none!important}
body .valley-game .equipment-dialog .equipment-dialog-panel{padding:20px!important;gap:14px!important}
body .valley-game .equipment-dialog .equipment-list{grid-template-columns:repeat(2,minmax(260px,1fr))!important;gap:10px!important}
body .valley-game .equipment-dialog .equipment-list article{min-height:82px!important;grid-template-columns:42px minmax(0,1fr) 118px!important;padding:12px!important;overflow:visible!important}
body .valley-game .equipment-dialog .equipment-list article form{display:flex!important;justify-content:flex-end!important;justify-self:end!important;width:112px!important;margin:0 6px 0 0!important;padding:0!important;overflow:visible!important}
body .valley-game .equipment-dialog .equipment-list article button{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:104px!important;height:34px!important;box-sizing:border-box!important;font:800 11px/1 "Nunito","Trebuchet MS",sans-serif!important}
body .valley-game .equipment-dialog .equipment-list article>b{justify-self:end!important}
@media(max-width:700px){body .valley-game .equipment-dialog.land-buy-dialog{width:calc(100vw - 8px)!important}body .valley-game .equipment-dialog .equipment-list{grid-template-columns:1fr!important}}

/* Ranch : cheptel en badge + gestion dans une modale compacte. */
.valley-content.place-ranch .asset-copy>.herd-size{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:start!important;padding:4px 9px!important;border:2px solid #c59b59!important;border-radius:9px!important;background:#fff6d8!important;color:#a36722!important;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif!important;box-shadow:inset 0 -2px #ead398!important}
.valley-content.place-ranch .ranch-herd{display:grid!important;place-items:center!important;width:96px!important;height:128px!important;padding:10px!important;border-left:2px solid #d6bd83!important;background:#fff8dd!important}
.valley-content.place-ranch .ranch-herd .herd-open{width:78px!important;height:32px!important;border:1px solid #a9793f!important;border-radius:7px!important;background:#f4ad3c!important;color:#4c2e11!important;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif!important;box-shadow:0 3px #9c6a24!important;cursor:pointer}
.valley-content.place-ranch .ranch-herd .herd-open:hover{background:#ffc15b!important}
body .valley-game .herd-dialog.land-buy-dialog{width:min(500px,calc(100vw - 24px))!important}
body .valley-game .herd-dialog .herd-modal-form{display:grid!important;gap:14px!important;padding:18px!important;overflow:visible!important}
body .valley-game .herd-dialog input[type=number]{height:42px!important;padding:0 12px!important;border:2px solid #a9793f!important;border-radius:9px!important;background:#fffdf2!important;color:#293622!important;font:900 18px/1 "Nunito","Trebuchet MS",sans-serif!important;text-align:center!important}
body .valley-game .herd-dialog .livestock-capacity{margin:0!important;color:#75684f!important;font:800 11px/1.3 "Nunito","Trebuchet MS",sans-serif!important}

/* Grange : registre de stock sans doublon avec l'inventaire rapide */
.place-warehouse{padding-top:24px!important}.place-warehouse .warehouse-heading{display:flex;align-items:center;gap:18px;min-height:66px;box-sizing:border-box;padding:10px 14px;border:3px solid #775035;border-radius:13px;background:#ecd79f;color:#334c2d;box-shadow:0 5px #593821}.place-warehouse .warehouse-heading h1{margin:0 auto 0 0;font-size:28px;line-height:1}.place-warehouse .warehouse-total{display:grid;min-width:150px;padding-left:18px;border-left:1px solid #bd995e}.place-warehouse .warehouse-total small,.place-warehouse .stock-card small{font:700 9px/1.2 "Nunito",sans-serif;letter-spacing:.08em;color:#765f3e}.place-warehouse .warehouse-total strong{font:800 18px/1.2 "Nunito",sans-serif;color:#2f7139}.place-warehouse .warehouse-heading .copper-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:42px!important;box-sizing:border-box;padding:0 14px!important}.place-warehouse .catalog-toolbar{position:static!important;margin:12px 0!important;box-shadow:0 4px #593821!important}.place-warehouse .catalog-group{margin:10px 0 16px}.place-warehouse .catalog-group>header{min-height:52px;margin:0!important;padding:8px 12px!important;border:2px solid #b48a54!important;border-bottom:0!important;border-radius:11px 11px 0 0!important;background:#e6d19b!important}.place-warehouse .catalog-group>header>b{background:#4f9f45!important;color:#fff!important}.place-warehouse .stock-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important;border:2px solid #b48a54!important;border-radius:0 0 11px 11px!important;background:#fffaf0!important;box-shadow:0 4px #604029!important}.place-warehouse .stock-card{display:grid!important;grid-template-columns:44px minmax(180px,1.4fr) minmax(130px,.8fr) minmax(145px,.8fr) minmax(120px,.7fr) 90px!important;align-items:center!important;gap:10px!important;min-height:64px!important;box-sizing:border-box!important;padding:8px 12px!important;border:0!important;border-bottom:1px solid #ddc99d!important;border-radius:0!important;background:#fffaf0!important;box-shadow:none!important}.place-warehouse .stock-card:nth-child(even){background:#f7edcf!important}.place-warehouse .stock-card:last-child{border-bottom:0!important}.place-warehouse .stock-card:hover{transform:none!important;background:#e9f1d5!important;box-shadow:inset 4px 0 #5ca451!important}.place-warehouse .stock-card:after{display:none!important}.place-warehouse .stock-card .resource-medal{width:36px!important;height:36px!important;font-size:17px!important}.place-warehouse .stock-name{font-size:14px;color:#29452d}.place-warehouse :is(.stock-quantity,.stock-price,.stock-value){display:grid;padding-left:12px;border-left:1px solid #d8b877}.place-warehouse :is(.stock-quantity,.stock-price,.stock-value)>strong{font:800 14px/1.4 "Nunito",sans-serif;color:#334c2d}.place-warehouse .stock-value>strong{color:#31773b}.place-warehouse .stock-card>a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid #9c4230;border-radius:7px;background:#d95d45;color:#fff!important;box-shadow:0 3px #8e392d;font-size:12px;font-weight:800}.place-warehouse .stock-card>a:hover{transform:translateY(-1px)}
@media(max-width:900px){.place-warehouse .stock-card{grid-template-columns:40px minmax(150px,1fr) 120px 120px 82px!important}.place-warehouse .stock-price{display:none}.place-warehouse .stock-card>a{grid-column:5}.place-warehouse .warehouse-heading{flex-wrap:wrap}}

/* Overrides finaux ranch / champs */
.valley-content.game-place.place-farmyard .compact-plots:not(.as-table) .field-reference-card.field-reference-card .equipment-dialog-open{border:1px solid #a9793f!important;background:#f4ad3c!important;color:#4c2e11!important;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif!important;box-shadow:0 3px #9c6a24!important}
.valley-content.game-place.place-farmyard .compact-plots:not(.as-table) .field-reference-card.field-reference-card .equipment-dialog-open:hover{background:#ffc15b!important}
.valley-content.place-ranch .compact-assets:not(.as-table) .ranch-reference-card{grid-template-columns:82px minmax(0,1fr) 96px 132px!important}
.valley-content.place-ranch .asset-copy>.herd-size{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:start!important;padding:4px 9px!important;border:2px solid #c59b59!important;border-radius:9px!important;background:#fff6d8!important;color:#a36722!important;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif!important;box-shadow:inset 0 -2px #ead398!important}
.valley-content.place-ranch .ranch-herd{display:grid!important;place-items:center!important;width:96px!important;height:128px!important;padding:10px!important;border-left:2px solid #d6bd83!important;background:#fff8dd!important}
.valley-content.place-ranch .ranch-herd small,.valley-content.place-ranch .ranch-herd .herd-form{display:none!important}
.valley-content.place-ranch .ranch-herd .herd-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:78px!important;height:32px!important;border:1px solid #a9793f!important;border-radius:7px!important;background:#f4ad3c!important;color:#4c2e11!important;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif!important;box-shadow:0 3px #9c6a24!important;cursor:pointer}
.valley-content.place-ranch .ranch-herd .herd-open:hover{background:#ffc15b!important}
@media(max-width:760px){.valley-content.place-ranch .compact-assets:not(.as-table) .ranch-reference-card{grid-template-columns:68px minmax(0,1fr) 84px 112px!important}.valley-content.place-ranch .ranch-herd{width:84px!important;padding:7px!important}.valley-content.place-ranch .ranch-herd .herd-open{width:70px!important}}
@media(min-width:901px){.valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .pen-table-head,.valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card{grid-template-columns:56px minmax(110px,1.2fr) minmax(90px,.9fr) minmax(120px,1.4fr) minmax(120px,1.4fr) 86px 108px!important}.valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-herd{display:contents!important}.valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-herd .herd-open{width:78px!important;height:30px!important;justify-self:start!important}.valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy>.herd-size{grid-column:auto!important;grid-row:auto!important;justify-self:start!important}}
@media(max-width:620px){.place-warehouse{padding-top:12px!important}.place-warehouse .warehouse-heading{gap:10px}.place-warehouse .warehouse-heading h1{width:100%}.place-warehouse .warehouse-total{margin-right:auto;padding-left:0;border-left:0}.place-warehouse .warehouse-heading .copper-button{height:38px!important}.place-warehouse .catalog-toolbar{display:grid!important;grid-template-columns:1fr!important}.place-warehouse .catalog-toolbar input{width:100%!important}.place-warehouse .stock-card{grid-template-columns:38px 1fr auto!important;grid-template-rows:auto auto!important;gap:5px 9px!important;padding:9px!important}.place-warehouse .stock-name{grid-column:2;grid-row:1}.place-warehouse .stock-quantity{grid-column:2;grid-row:2}.place-warehouse .stock-value{grid-column:3;grid-row:1}.place-warehouse .stock-card>a{grid-column:3;grid-row:2;min-width:72px}.place-warehouse :is(.stock-quantity,.stock-value){padding-left:0;border-left:0}.place-warehouse .stock-price{display:none}.place-warehouse .stock-card .resource-medal{grid-row:1/3}}

/* Marché : en-tête utile, sans compteur décoratif */
.place-market{padding-top:24px!important}.place-market .market-heading{display:flex;align-items:center;min-height:66px;box-sizing:border-box;padding:10px 14px;border:3px solid #775035;border-radius:13px;background:#ecd79f;color:#334c2d;box-shadow:0 5px #593821}.place-market .market-heading h1{margin:0;font-size:28px;line-height:1}.place-market .catalog-toolbar{position:static!important;margin:12px 0!important}.place-market .catalog-group{margin-top:10px}
@media(max-width:620px){.place-market{padding-top:12px!important}.place-market .market-heading{min-height:56px}.place-market .market-heading h1{font-size:25px}.place-market .catalog-toolbar{display:grid!important;grid-template-columns:1fr!important}.place-market .catalog-toolbar input{width:100%!important}}

/* Rayons économiques du marché */
.place-market .market-sectors{display:flex;gap:7px;margin:12px 0 0;padding:7px;border:2px solid #775035;border-radius:11px;background:#e6d19b;box-shadow:0 4px #593821;overflow-x:auto;scrollbar-width:thin}.place-market .market-sectors button{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid #ad824b;border-radius:7px;background:#fff7d8;color:#3c5534;font:800 12px/1 "Nunito",sans-serif;cursor:pointer;white-space:nowrap}.place-market .market-sectors button:hover{background:#edf2d1}.place-market .market-sectors button.active{border-color:#367438;background:#59a94e;color:#fff;box-shadow:inset 0 -3px #397d37}.place-market .market-sectors button:focus-visible{outline:3px solid #e99b32;outline-offset:2px}.place-market .catalog-toolbar{margin-top:9px!important}
@media(max-width:620px){.place-market .market-sectors{margin-top:9px;padding:6px}.place-market .market-sectors button{min-height:36px;padding-inline:11px}}

.valley-content.place-market .catalog-empty{margin:12px 0 0;padding:22px;border:2px dashed #b48a54!important;border-radius:10px;background:#fff7d8!important;color:#6f6045!important;box-shadow:none!important;font-size:12px;text-align:center}
.valley-content.place-market .market-product .resource-medal{border:2px solid color-mix(in srgb,var(--resource) 55%,#8b6843)!important;border-radius:9px!important;background:color-mix(in srgb,var(--resource) 18%,#fff8dc)!important;color:#29452d!important;box-shadow:inset 0 -2px #8b684322!important}
.valley-content.place-market .market-table{border-radius:0!important}
.valley-content.place-warehouse .stock-card .resource-medal{border:2px solid color-mix(in srgb,var(--resource) 55%,#8b6843)!important;border-radius:9px!important;background:color-mix(in srgb,var(--resource) 18%,#fff8dc)!important;color:#29452d!important;box-shadow:inset 0 -2px #8b684322!important}
.valley-content.place-factory .location-heading .place-heading-tools,.valley-content.place-factory .location-heading .place-heading-tools>form{height:42px!important;min-height:42px!important;max-height:42px!important}.valley-content.place-factory .location-heading button.copper-button{box-sizing:border-box!important;height:42px!important;min-height:42px!important;max-height:42px!important;padding:0 13px!important;line-height:1!important}
.valley-content.place-factory .location-heading{box-sizing:border-box!important;height:66px!important;min-height:66px!important;max-height:66px!important;padding:9px 14px!important}.valley-content.place-factory .location-heading .place-title{align-items:center!important}.valley-content.place-factory .location-heading h1{line-height:1!important}

/* Historique du joueur */
.place-history{display:grid!important;gap:12px!important;padding-top:24px!important}.place-history .history-heading{display:flex;align-items:center;min-height:66px;box-sizing:border-box;padding:10px 14px;border:3px solid #775035;border-radius:13px;background:#ecd79f;box-shadow:0 5px #593821}.place-history .history-heading h1{margin:0;font-size:28px;line-height:1}.place-history .history-filters{display:flex;gap:7px;padding:7px;border:2px solid #775035;border-radius:11px;background:#e6d19b;box-shadow:0 4px #593821}.place-history .history-filters button{min-height:38px;padding:0 16px;border:1px solid #ad824b;border-radius:7px;background:#fff7d8;color:#3c5534;font:800 12px "Nunito",sans-serif;cursor:pointer}.place-history .history-filters button.active{border-color:#367438;background:#59a94e;color:#fff;box-shadow:inset 0 -3px #397d37}.place-history .history-filters button:focus-visible{outline:3px solid #e99b32;outline-offset:2px}.place-history .history-register{overflow:hidden;border:2px solid #b48a54;border-radius:11px;background:#fffaf0;box-shadow:0 5px #604029}.place-history .history-register>header{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(170px,1fr) 120px 130px;gap:12px;padding:11px 14px 11px 66px;background:#e6d19b;color:#5a5039;font:800 10px "Nunito",sans-serif;letter-spacing:.09em;text-transform:uppercase}.place-history [data-history-list]{display:grid}.place-history [data-history-row]{display:grid;grid-template-columns:40px minmax(210px,1.5fr) minmax(170px,1fr) 120px 130px;align-items:center;gap:12px;min-height:66px;padding:8px 14px;border-bottom:1px solid #ddc99d;background:#fffaf0;color:#29452d}.place-history [data-history-row]:nth-child(even){background:#f7edcf}.place-history [data-history-row]:last-child{border-bottom:0}.place-history [data-history-row][hidden]{display:none!important}.place-history .history-icon{display:grid;place-items:center;width:36px;height:36px;border:2px solid #a77f4d;border-radius:9px;background:#f5e6b8;font-size:18px}.place-history :is(.history-copy,.history-resource,time){display:grid}.place-history :is(.history-copy,.history-resource,time) small{font:700 10px "Nunito",sans-serif;color:#796b50}.place-history :is(.history-copy,.history-resource,time) strong{font-size:13px}.place-history time{padding-left:12px;border-left:1px solid #d8b877}.place-history .history-amount{padding-left:12px;border-left:1px solid #d8b877;text-align:right;font:800 15px "Nunito",sans-serif}.place-history .history-amount.income{color:#2f7e3a}.place-history .history-amount.expense{color:#b34a38}.place-history .history-amount.neutral{color:#75694f}.place-history .history-empty{margin:0;padding:24px;text-align:center;color:#706247;background:#fff7d8}
@media(max-width:800px){.place-history .history-register>header{display:none}.place-history [data-history-row]{grid-template-columns:38px 1fr auto;gap:7px 10px}.place-history .history-icon{grid-row:1/3}.place-history .history-copy{grid-column:2;grid-row:1}.place-history .history-resource{grid-column:2;grid-row:2}.place-history time{grid-column:3;grid-row:1;padding-left:8px}.place-history .history-amount{grid-column:3;grid-row:2}.place-history .history-filters{overflow-x:auto}.place-history .history-filters button{flex:0 0 auto}}
@media(max-width:520px){.place-history{padding-top:12px!important}.place-history [data-history-row]{grid-template-columns:36px 1fr}.place-history time,.place-history .history-amount{grid-column:2;padding-left:0;border-left:0;text-align:left}.place-history time{grid-row:3;display:flex;gap:5px}.place-history .history-amount{grid-row:4}.place-history .history-resource{grid-row:2}}

/* En-tête unique pour toutes les pages de gestion */
.valley-content.game-place .page-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;box-sizing:border-box!important;width:100%!important;height:66px!important;min-height:66px!important;max-height:66px!important;margin:0 0 16px!important;padding:9px 14px!important;border:3px solid #775035!important;border-radius:13px!important;background:#ecd79f!important;color:#334c2d!important;box-shadow:0 5px #593821!important;overflow:visible!important}.valley-content.game-place .page-heading h1{min-width:0;margin:0!important;color:#354f2e!important;font:700 28px/1 "Baloo 2","Nunito","Trebuchet MS",sans-serif!important;white-space:nowrap}.valley-content.game-place .page-heading>form{display:flex!important;align-items:center!important;height:42px!important;margin:0!important}.valley-content.game-place .page-heading .copper-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0 14px!important;border:2px solid #9c3e31!important;border-radius:8px!important;background:var(--red)!important;color:#fff!important;box-shadow:0 4px #733027!important;font:900 12px/1 "Nunito",sans-serif!important;white-space:nowrap!important}.valley-content.game-place .page-heading .copper-button:disabled{opacity:.5;cursor:not-allowed}.place-contracts>.page-heading,.place-history>.page-heading{margin-bottom:0!important}.place-warehouse>.page-heading,.place-market>.page-heading{margin-bottom:0!important}
.valley-content.place-contracts{align-content:start!important;justify-content:stretch!important;grid-auto-rows:max-content!important;grid-template-rows:none!important;row-gap:12px!important}
.valley-content.game-place .page-heading{margin-bottom:8px!important}.valley-content.place-contracts,.valley-content.place-history{gap:8px!important;row-gap:8px!important}.valley-content.place-contracts>.page-heading,.valley-content.place-history>.page-heading{margin-bottom:0!important}.valley-content.place-warehouse>.page-heading,.valley-content.place-market>.page-heading{margin-bottom:0!important}.valley-content.place-warehouse .catalog-toolbar,.valley-content.place-market .market-sectors{margin-top:8px!important}.valley-content.place-market .catalog-toolbar{margin-top:8px!important}.valley-content.game-place .page-heading+ :is(.plot-grid,.holding-grid,.bulk-crop-bar,.catalogue,.crop-library){margin-top:0!important}

/* Planche commune des 56 cultures */
.crop-sprite{display:block;width:34px;height:34px;background-image:url("../images/crop-sprites-v1.webp");background-repeat:no-repeat;background-size:800% 700%;background-position:var(--sprite-x) var(--sprite-y);filter:drop-shadow(0 1px 1px #4e382633)}.resource-medal .crop-sprite,.dock-icon .crop-sprite{width:90%;height:90%}.crop-grid article>span .crop-sprite{width:100%;height:100%}.plot-land>span:has(.crop-sprite){display:block;width:62px;height:62px}.plot-land>span .crop-sprite{width:100%;height:100%}
.workshop-sprite{display:block;width:40px;height:40px;background-image:url("../images/workshop-sprites-v5.webp");background-repeat:no-repeat;background-size:800% 1200%;background-position:var(--sprite-x) var(--sprite-y);filter:drop-shadow(0 1px 1px #4e382633)}.resource-medal .workshop-sprite,.dock-icon .workshop-sprite{width:90%;height:90%}
.place-market .market-product .resource-medal :is(.crop-sprite,.extraction-sprite,.workshop-sprite){width:90%!important;height:90%!important}
.place-warehouse .stock-card .resource-medal :is(.crop-sprite,.extraction-sprite,.workshop-sprite){width:80%!important;height:80%!important}

/* Retour discret en haut de page */
.back-to-top{position:fixed;right:22px;bottom:20px;z-index:90;display:grid;place-items:center;width:38px;height:38px;padding:0;border:2px solid #8d6945;border-radius:10px;background:#f4e2aeeb;color:#36532f;font:900 20px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:0 3px #654329,0 5px 14px #3326162b;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;cursor:pointer}.back-to-top.is-visible{opacity:.82;visibility:visible;transform:translateY(0)}.back-to-top:hover,.back-to-top:focus-visible{opacity:1;background:#fff0c4;outline:0}.back-to-top:focus-visible{box-shadow:0 0 0 3px #6ab65366,0 3px #654329}@media(min-width:1351px){.back-to-top{right:314px;bottom:80px}}@media(max-width:700px){.back-to-top{right:12px;bottom:12px;width:34px;height:34px;font-size:18px}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

@media(min-width:1101px){.valley-hud{padding-inline:16px}.valley-logo{min-width:245px}}

.crop-season-note{margin:0;color:#627058;font-size:12px;font-weight:700}.crop-change-dialog option:disabled{color:#a0604d}
.field-months{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:2px!important;width:100%!important;margin-top:4px!important}.field-months span{grid-column:auto!important;grid-row:auto!important;display:grid!important;place-items:center!important;width:auto!important;min-width:0!important;height:15px;border:1px solid #d8c89f;border-radius:3px;background:#eee5ca;color:#a09579;font:800 7px/1 "Nunito",sans-serif}.field-months span.is-growing{border-color:#70a55f;background:#b9dda0;color:#315b2e}.field-months span.is-current{outline:2px solid #d6933f;outline-offset:0;font-weight:900}.plot-grid.as-table .field-months{display:none!important}

/* Doit rester après les règles génériques .field-copy span. */
.valley-content.place-farmyard .compact-plots:not(.as-table) .field-copy>.field-months{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;width:100%!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-copy>.field-months>span{grid-column:auto!important;grid-row:auto!important;display:grid!important;width:auto!important;min-width:0!important;padding:0!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;overflow:visible!important}
.extraction-sprite{display:block;width:40px;height:40px;background-image:url("../images/extraction-sprites-v1.webp");background-repeat:no-repeat;background-size:500% 400%;background-position:var(--sprite-x) var(--sprite-y);filter:drop-shadow(0 2px 1px #3e302633)}.place-quarry .catalogue-icon .extraction-sprite{width:100%;height:100%}.place-quarry .holding-visual>span:has(.extraction-sprite){display:block;width:64px;height:64px}.place-quarry .holding-visual .extraction-sprite{width:100%;height:100%}
.valley-inventory .dock-icon :is(.crop-sprite,.extraction-sprite){width:72%;height:72%}

/* Pagination de l'historique */
.place-history .history-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px 14px;border-top:2px solid #c9a566;background:#e6d19b}.place-history .history-pagination[hidden]{display:none!important}.place-history .history-pagination span{margin-right:auto;color:#5f563f;font:700 12px "Nunito",sans-serif}.place-history .history-pagination button{min-height:36px;padding:0 13px;border:1px solid #9c4230;border-radius:7px;background:#d95d45;color:#fff;box-shadow:0 3px #8e392d;font:800 11px "Nunito",sans-serif;cursor:pointer}.place-history .history-pagination button:disabled{opacity:.42;cursor:not-allowed}.place-history .history-pagination button:focus-visible{outline:3px solid #efaa38;outline-offset:2px}
@media(max-width:520px){.place-history .history-pagination{justify-content:space-between;gap:7px;padding:9px}.place-history .history-pagination span{margin:0;font-size:10px}.place-history .history-pagination button{padding-inline:9px;font-size:10px}}
.valley-nav .valley-nav-logout{display:grid;place-items:center;flex:0 0 49px;width:49px;height:49px;margin:0 0 0 4px;padding:0;border:2px solid #8f392e;border-bottom:0;border-radius:13px 13px 0 0;background:#db604d;color:#fff;box-shadow:inset 0 -5px #b74235;font-size:21px;cursor:pointer}.valley-nav .valley-nav-logout:hover{height:54px;background:#e87560}.valley-nav .valley-nav-logout:focus-visible{outline:3px solid #ffd060;outline-offset:-4px}@media(max-width:900px){.valley-status{grid-template-columns:repeat(2,minmax(0,1fr))!important}.valley-nav .valley-nav-logout{flex-basis:44px;width:44px;height:44px;font-size:18px}.valley-nav .valley-nav-logout:hover{height:48px}}
@media(max-width:620px){.valley-content.game-place .page-heading{height:60px!important;min-height:60px!important;max-height:60px!important;padding:8px 11px!important;gap:8px!important}.valley-content.game-place .page-heading h1{font-size:22px!important}.valley-content.game-place .page-heading>form,.valley-content.game-place .page-heading .copper-button{height:38px!important;min-height:38px!important;max-height:38px!important}.valley-content.game-place .page-heading .copper-button{padding:0 10px!important;font-size:10px!important}}

/* ===================== Portail Fallow Valley — connexion / inscription ===================== */
.valley-gate{position:relative;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;background:#79b957}

/* ---- décor ---- */
.valley-gate .gate-scene{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.valley-gate .gate-scene:before{content:"";position:absolute;left:0;right:0;top:0;bottom:46%;background:linear-gradient(180deg,#5fb6e2 0,#8ed2ec 40%,#bfe6ef 76%,#e2f1d9 100%)}
.valley-gate .gate-scene:after{content:"";position:absolute;left:0;right:0;top:54%;bottom:0;background:radial-gradient(120% 70% at 50% 0,#a8d97e 0,#8ac462 38%,transparent 72%),linear-gradient(180deg,#8fc968 0,#7cba55 30%,#65a445 100%)}
.valley-gate .gate-sun{position:absolute;top:7%;right:8%;width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fff7c8 0 32%,#ffd85f 66%,#f6b52e 100%);box-shadow:0 0 0 16px #fff0a828,0 0 0 34px #fff0a815,0 0 60px #ffe07f88;animation:gate-sun 8s ease-in-out infinite}
@keyframes gate-sun{50%{transform:scale(1.06)}}
.valley-gate .gate-cloud{position:absolute;width:98px;height:30px;border-radius:30px;background:#fffdf8;filter:drop-shadow(0 8px 10px #4f9cc02e);animation:gate-drift 70s linear infinite}
.valley-gate .gate-cloud:before,.valley-gate .gate-cloud:after{content:"";position:absolute;bottom:0;border-radius:50%;background:#fffdf8}
.valley-gate .gate-cloud:before{left:11px;width:46px;height:46px}
.valley-gate .gate-cloud:after{right:13px;width:33px;height:33px}
.valley-gate .gate-cloud.c1{top:11%;left:-20%;transform:scale(1)}
.valley-gate .gate-cloud.c2{top:26%;left:-20%;transform:scale(.66);opacity:.9;animation-duration:96s;animation-delay:-30s}
.valley-gate .gate-cloud.c3{top:4%;left:-20%;transform:scale(1.32);animation-duration:118s;animation-delay:-72s}
.valley-gate .gate-cloud.c4{top:34%;left:-20%;transform:scale(.5);opacity:.8;animation-duration:84s;animation-delay:-14s}
@keyframes gate-drift{to{left:120%}}
.valley-gate .gate-hills{position:absolute;left:0;right:0;bottom:46%;height:0;z-index:1}
.valley-gate .gate-hills i{position:absolute;bottom:-2px;border-radius:50% 50% 0 0/100% 100% 0 0}
.valley-gate .gate-hills i:nth-child(1){left:-10%;width:54%;height:132px;background:#a5d19b}
.valley-gate .gate-hills i:nth-child(2){right:-12%;width:62%;height:158px;background:#9acb8e}
.valley-gate .gate-hills i:nth-child(3){left:22%;width:46%;height:104px;background:#8dc47c}
.valley-gate .gate-hills i:nth-child(4){right:14%;width:38%;height:82px;background:#83bd6d}
.valley-gate .gate-trees{position:absolute;left:0;right:0;bottom:46%;height:0;z-index:2}
.valley-gate .gate-trees i{position:absolute;bottom:1px;width:24px;height:28px;background:#4f8b45;border-radius:50% 50% 42% 42%;box-shadow:inset -5px -4px 0 #43793a}
.valley-gate .gate-trees i:after{content:"";position:absolute;left:50%;bottom:-6px;width:5px;height:8px;margin-left:-2.5px;border-radius:0 0 2px 2px;background:#7c5535}
.valley-gate .gate-trees i:nth-child(1){left:1%;transform:scale(1.18)}
.valley-gate .gate-trees i:nth-child(2){left:6%;transform:scale(.76)}
.valley-gate .gate-trees i:nth-child(3){left:41%;transform:scale(.86)}
.valley-gate .gate-trees i:nth-child(4){left:47%;transform:scale(1.06)}
.valley-gate .gate-trees i:nth-child(5){left:55%;transform:scale(.7)}
.valley-gate .gate-trees i:nth-child(6){left:63%;transform:scale(.95)}
.valley-gate .gate-trees i:nth-child(7){left:74%;transform:scale(1.12)}
.valley-gate .gate-trees i:nth-child(8){left:85%;transform:scale(.72)}
.valley-gate .gate-trees i:nth-child(9){left:94%;transform:scale(1.22)}
.valley-gate .gate-field{position:absolute;left:0;right:0;top:54%;bottom:0;z-index:1;background-image:linear-gradient(180deg,transparent 0 14%,#ffffff1c 14% 29%,transparent 29% 50%,#2b582514 50% 69%,transparent 69% 83%,#ffffff16 83% 100%)}

/* ---- mise en page ---- */
.valley-gate .gate-shell{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,436px);align-items:stretch;align-content:center;gap:44px;width:min(1160px,100%);margin:0 auto;padding:34px 22px 120px}
.valley-gate .gate-story{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:26px 28px 28px;border:4px solid var(--wood);border-radius:20px;background:var(--paper);box-shadow:0 8px 0 #56351f5c,0 22px 44px #1e341a3d;color:#3d5433}
.valley-gate .gate-story:before{content:"";position:absolute;inset:7px;border:2px dashed #ecd9a6;border-radius:14px;pointer-events:none}
.valley-gate .gate-story>*{position:relative}
.valley-gate .gate-story .valley-logo{min-width:0;gap:12px}
.valley-gate .gate-story .valley-logo strong{text-shadow:0 2px 0 #ffffff8f}
.valley-gate .gate-story .valley-logo small{font-size:12px;font-weight:800;color:#3f6134}
.valley-gate .gate-story h1{margin:16px 0 12px;font:900 clamp(24px,2.6vw,38px)/1.1 "Baloo 2","Nunito","Trebuchet MS",sans-serif;color:#35542f;text-shadow:none;white-space:nowrap}
.valley-gate .gate-story h1 em{font-style:normal;color:#c9482f;text-shadow:none}
.valley-gate .gate-story>p{max-width:42ch;margin:0 auto;font-size:15px;font-weight:600;line-height:1.55;color:#7d6a4a;text-shadow:none}
.valley-gate .gate-panel{display:grid;align-items:stretch;justify-items:center}
.valley-gate .gate-panel>.gate-card{height:100%;display:flex;flex-direction:column;justify-content:flex-start}

/* ---- panneau du formulaire ---- */
.valley-gate .gate-card{position:relative;width:100%;padding:26px 26px 24px;border:4px solid var(--wood);border-radius:20px;background:var(--paper);box-shadow:0 8px 0 #56351f5c,0 26px 50px #1e341a40}
.valley-gate .gate-card:before{content:"";position:absolute;inset:7px;border:2px dashed #ecd9a6;border-radius:14px;pointer-events:none}
.valley-gate .gate-card>*{position:relative}
.valley-gate .gate-card .eyebrow{margin:0;font:800 11px/1 "Nunito","Trebuchet MS",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#b0802f}
.valley-gate .gate-card h2{margin:0 0 18px;padding-bottom:14px;border-bottom:2px dashed #e5d3a4;font:800 31px/1.15 "Baloo 2","Nunito","Trebuchet MS",sans-serif;color:#35542f}
.valley-gate .gate-card h2:has(+.form-intro){margin-bottom:9px;padding-bottom:0;border-bottom:0}
.valley-gate .form-intro{margin:0 0 18px;padding-bottom:15px;border-bottom:2px dashed #e5d3a4;font-size:13px;font-weight:600;line-height:1.5;color:#8b704e}
.valley-gate form.stack{display:grid;gap:13px;margin:0}
.valley-gate label{display:grid;gap:5px;font:900 11px/1.2 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#6d5837}
.valley-gate input:not([type=checkbox]){width:100%;height:46px;padding:0 13px;border:3px solid #c6a56b;border-radius:12px;background:#fffdf2;color:#293622;font:700 15px/1 "Nunito","Nunito","Trebuchet MS",sans-serif;box-shadow:inset 0 3px #e8d7a740;transition:border-color .15s,box-shadow .15s}
.valley-gate input:not([type=checkbox])::placeholder{color:#bda878;font-weight:600}
.valley-gate input:not([type=checkbox]):focus{border-color:#6ab653;box-shadow:0 0 0 4px #6ab6533d}
.valley-gate .password-wrap{position:relative;display:block}
.valley-gate .password-wrap input{padding-right:82px}
.valley-gate .password-wrap button{position:absolute;top:50%;right:6px;transform:translateY(-50%);height:34px;padding:0 11px;border:2px solid #c6a56b;border-radius:9px;background:#f6e4b6;color:#6d5837;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.06em}
.valley-gate .password-wrap button:hover{background:#ffefc9}
.valley-gate .form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}
.valley-gate label.check{display:flex;align-items:center;gap:8px;font:700 12px/1.35 "Nunito","Trebuchet MS",sans-serif;text-transform:none;letter-spacing:0;color:#5f4f34}
.valley-gate input[type=checkbox]{width:18px;height:18px;flex:0 0 auto;accent-color:#6ab653}
.valley-gate .form-row a,.valley-gate .form-foot a{color:#c04a34;font-weight:900;text-decoration:underline;text-underline-offset:3px}
.valley-gate .form-row a:hover,.valley-gate .form-foot a:hover{color:#9c3e31}
.valley-gate .strength{height:10px;margin-top:7px;border:2px solid #c6a56b;border-radius:9px;background:#f1e4c1;overflow:hidden}
.valley-gate .strength i{display:block;height:100%;transition:width .25s}
.valley-gate .strength-label{font:800 11px/1 "Nunito","Trebuchet MS",sans-serif;color:#8b704e}
.valley-gate .password-rules{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 0;padding:0;list-style:none}
.valley-gate .password-rules li{padding:3px 8px;border:2px solid #ddc793;border-radius:8px;background:#fdf3d8;font:800 10px/1.4 "Nunito","Trebuchet MS",sans-serif;color:#a08a5d}
.valley-gate .password-rules li.valid{border-color:#6ab653;background:#e6f6da;color:#3e7838}
.valley-gate .password-rules li.valid:before{content:"✓ "}
.valley-gate small[data-error]{min-height:0;font:700 11px/1.3 "Nunito","Trebuchet MS",sans-serif;color:#c9482f}
.valley-gate small[data-match]{font:800 11px/1.3 "Nunito","Trebuchet MS",sans-serif;color:#3e7838}
.valley-gate button.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;margin-top:4px;border:3px solid #3e7838;border-radius:14px;background:#6ab653;color:#173a1a;font:900 16px/1 "Baloo 2","Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 5px #3e7838,inset 0 -4px #58a344;transition:transform .1s,box-shadow .1s,background .15s}
.valley-gate button.primary:hover{background:#7cc763}
.valley-gate button.primary:active{transform:translateY(4px);box-shadow:0 1px #3e7838,inset 0 -2px #58a344}
.valley-gate button.primary:disabled,.valley-gate button.primary.is-loading{opacity:.68;cursor:progress}
.valley-gate .form-foot{margin:16px 0 0;padding-top:14px;border-top:2px dashed #e5d3a4;font-size:13px;font-weight:700;color:#7d6a4a;text-align:center}
@media(max-width:1050px){
  .valley-gate .gate-shell{grid-template-columns:minmax(0,1fr);justify-items:center;gap:24px;padding:26px 22px 118px}
  .valley-gate .gate-story{max-width:520px;text-align:center}
  .valley-gate .gate-story .valley-logo{justify-content:center}
  .valley-gate .gate-story h1{margin-top:14px;font-size:clamp(22px,4.6vw,32px)}
  .valley-gate .gate-story>p{margin:0 auto}
  .valley-gate .gate-panel{width:min(436px,100%)}
}
@media(max-width:620px){
  .valley-gate .gate-scene:before{bottom:58%}
  .valley-gate .gate-scene:after{top:42%}
  .valley-gate .gate-hills,.valley-gate .gate-trees{bottom:58%}
  .valley-gate .gate-field{top:42%}
  .valley-gate .gate-front i:nth-child(1){height:104px}
  .valley-gate .gate-front i:nth-child(2){height:84px}
  .valley-gate .gate-front i:nth-child(3){height:66px}
  .valley-gate .gate-front b:nth-child(4){bottom:72px}
  .valley-gate .gate-front b:nth-child(5){bottom:64px}
  .valley-gate .gate-front b:nth-child(6){bottom:54px}
  .valley-gate .gate-front b:nth-child(7){display:none}
  .valley-gate .gate-sun{width:58px;height:58px;top:4%}
  .valley-gate .gate-story h1{font-size:22px;white-space:normal}
  .valley-gate .gate-story>p{font-size:14px}
  .valley-gate .gate-card{padding:20px 18px 18px}
  .valley-gate .gate-card h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.valley-gate .gate-cloud,.valley-gate .gate-sun{animation:none}}

/* Bouton de déconnexion dans le HUD du jeu */
.valley-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;width:52px;height:52px;padding:0;border:2px solid #9c3e31;border-radius:13px;background:#e2705a;color:#fff;font-family:inherit;box-shadow:0 3px #8a5934,inset 0 -4px #c9503c;transition:transform .1s,box-shadow .1s,background .15s}
.valley-logout>span{font-size:22px;line-height:1}
.valley-logout p{display:none;margin:0;text-align:left}
.valley-logout small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#ffe4dc;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.valley-logout strong{font-size:14px;white-space:nowrap}
.valley-logout:hover{background:#ec7f69}
.valley-logout:active{transform:translateY(3px);box-shadow:0 0 #8a5934,inset 0 -2px #c9503c}
@media(min-width:1650px){.valley-logout{width:auto;padding:0 14px}.valley-logout p{display:grid}}
@media(max-width:900px){.valley-logout{position:absolute;top:8px;right:14px;width:44px;height:44px}.valley-logout>span{font-size:19px}}
.valley-gate .gate-front{position:absolute;left:0;right:0;bottom:0;height:0;z-index:2}
.valley-gate .gate-front i{position:absolute;bottom:-2px;border-radius:50% 50% 0 0/100% 100% 0 0}
.valley-gate .gate-front i:nth-child(1){right:-20%;width:86%;height:152px;background:#63a446}
.valley-gate .gate-front i:nth-child(2){left:-18%;width:76%;height:122px;background:#57953d}
.valley-gate .gate-front i:nth-child(3){left:34%;width:78%;height:96px;background:#4d8836}
.valley-gate .gate-front b{position:absolute;width:46px;height:54px;background:#407c3a;border-radius:50% 50% 42% 42%;box-shadow:inset -9px -7px 0 #356b31}
.valley-gate .gate-front b:after{content:"";position:absolute;left:50%;bottom:-11px;width:10px;height:15px;margin-left:-5px;border-radius:0 0 3px 3px;background:#6f4a2e}
.valley-gate .gate-front b:nth-child(4){left:17%;bottom:106px}
.valley-gate .gate-front b:nth-child(5){left:4%;bottom:96px;transform:scale(.78)}
.valley-gate .gate-front b:nth-child(6){left:69%;bottom:78px;transform:scale(1.16)}
.valley-gate .gate-front b:nth-child(7){left:92%;bottom:62px;transform:scale(.86)}

/* ===================== Pied de page du jeu (calqué sur le HUD) ===================== */
.valley-landscape>.valley-column{display:flex;flex-direction:column;min-width:0}
.valley-landscape>.valley-column>.valley-content{flex:1 0 auto}
.valley-footer{position:relative;z-index:4;display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:13px 24px;background:#fff9e8;border-top:5px solid var(--wood);box-shadow:0 -4px 0 #56351f22}
.valley-footer .foot-brand{display:flex;align-items:center;gap:11px;color:var(--deep)}
.valley-footer .foot-brand>span{font-size:32px;line-height:1;filter:drop-shadow(0 3px #bd7d20)}
.valley-footer .foot-brand>div{display:flex;flex-direction:column}
.valley-footer .foot-brand strong{font:900 19px/1.1 "Baloo 2","Nunito","Trebuchet MS",sans-serif}
.valley-footer .foot-brand small{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#976943}
.valley-footer .foot-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}
.valley-footer .foot-copy{font-size:11px;font-weight:800;color:#a08a5d;white-space:nowrap}
.valley-footer .foot-links a{display:inline-flex;align-items:center;justify-content:center;min-width:86px;height:36px;padding:0 15px;border:2px solid #c6a56b;border-radius:12px;background:#fff2bd;color:#38502f;font-size:12px;font-weight:900;box-shadow:0 3px #c9a86a;transition:transform .1s,box-shadow .1s,background .15s}
.valley-footer .foot-links a:hover{background:#fff;transform:translateY(-2px);box-shadow:0 5px #c9a86a}
.valley-footer .foot-links a:active{transform:translateY(1px);box-shadow:0 1px #c9a86a}
@media(max-width:900px){
  .valley-footer{gap:10px 14px;padding:12px 14px}
  .valley-footer .foot-brand>span{font-size:26px}
  .valley-footer .foot-brand strong{font-size:16px}
  .valley-footer .foot-links a{min-width:72px;height:32px;padding:0 12px;font-size:11px}
  .valley-footer .foot-copy{width:100%;text-align:right}
}

/* ===================== Cartes de contenu (en-tête + corps) ===================== */
.valley-content .vcard{margin:0 0 18px;border:4px solid #6c4b2e;border-radius:16px;background:#eaf3da;box-shadow:0 6px 0 #56351f4d;overflow:hidden}
.valley-content .vcard>header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:50px;padding:7px 14px;background:linear-gradient(#f0d9a6,#e6c98d);border-bottom:4px solid #6c4b2e}
.valley-content .vcard>header>h1,.valley-content .vcard>header>h2{margin:0;font:400 21px/1.15 "Baloo 2","Trebuchet MS",sans-serif;color:#4a3a20}
.valley-content .vcard>header>h1 b,.valley-content .vcard>header>h2 b{font:900 12px/1 "Nunito","Trebuchet MS",sans-serif;color:#8b6a35;vertical-align:middle}
.valley-content .vcard-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-left:auto}
.valley-content .vcard>header input[type=search],.valley-content .vcard>header select{width:auto;min-width:190px;height:34px;padding:0 11px;border:2px solid #a9793f;border-radius:11px;background:#fffdf2;color:#3d3220;font:700 13px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:inset 0 2px #d8bd7c40}
.valley-content .vcard>header input[type=search]:focus,.valley-content .vcard>header select:focus{border-color:#6ab653;box-shadow:0 0 0 3px #6ab6533d}
.valley-content .vcard-body{padding:14px 16px 16px}
.valley-content .vcard-body>:first-child{margin-top:0}
.valley-content .vcard-body>.plot-grid,.valley-content .vcard-body>.crop-grid,.valley-content .vcard-body>.recipe-grid{margin:0}
.valley-content .vcard-note{margin:0 0 12px;font-size:12px;font-weight:700;color:#6d5837}
.valley-content .enc-empty{margin:10px 2px 0;font-size:13px;font-weight:800;color:#6d5837}
.valley-content .vcard .catalog-group{margin:0 0 14px}
@media(max-width:760px){
  .valley-content .vcard>header{padding:10px 12px}
  .valley-content .vcard>header>h1,.valley-content .vcard>header>h2{font-size:20px}
  .valley-content .vcard-tools{width:auto;margin-left:auto;flex:0 1 auto;justify-content:flex-end}
  .valley-content .vcard>header>h1,.valley-content .vcard>header>h2{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .valley-content .vcard>header .copper-button{padding:0 11px!important;font-size:11.5px!important}
  .valley-content .vcard>header input[type=search],.valley-content .vcard>header select{flex:1 1 150px;min-width:0}
  .valley-content .vcard-body{padding:12px}
}
/* barre d'action fondue dans le corps de carte (aucun fond supplémentaire) */
.valley-content .vcard-body>.bulk-crop-bar{width:100%;margin:0 0 13px!important;padding:0 0 12px!important;display:flex!important;align-items:center;flex-wrap:wrap;gap:9px!important;border:0!important;border-bottom:2px dashed #bfd0a5!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.valley-content .vcard-body>.bulk-crop-bar strong{margin:0 auto 0 0;font:700 15px/1 "Nunito","Trebuchet MS",sans-serif;color:#3d5433!important}
.valley-content .vcard-body>.bulk-crop-bar select{width:auto;min-width:240px;height:40px;padding:0 12px;border:2px solid #a9793f;border-radius:11px;background:#fffdf2;color:#3d3220;font:700 13px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:inset 0 2px #d8bd7c40}
.valley-content .vcard-body>.bulk-crop-bar select:focus{border-color:#6ab653;box-shadow:0 0 0 3px #6ab6533d}
.valley-content .vcard-body>.bulk-crop-bar button{height:40px;padding:0 15px;border-radius:11px;font-weight:900}
@media(max-width:760px){.valley-content .vcard-body>.bulk-crop-bar strong{width:100%;margin:0}.valley-content .vcard-body>.bulk-crop-bar select{min-width:0;flex:1 1 140px}}
/* boutons d'en-tête de carte : plus bas que ceux des pages */
.valley-content .vcard>header .copper-button,.valley-content .vcard>header button,.valley-content .vcard>header a.copper-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:34px!important;min-height:34px!important;padding:0 13px!important;line-height:1!important;font-size:12.5px!important;border-radius:10px!important;box-sizing:border-box!important}
.valley-content .vcard>header form{display:flex;align-items:center;height:34px!important}
@media(max-width:760px){.valley-content .vcard>header{min-height:46px;padding:7px 12px}.valley-content .vcard>header>h1,.valley-content .vcard>header>h2{font-size:18px}}

/* Navigation pleine largeur et pleine hauteur */
.valley-nav{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr)) 58px!important;align-items:stretch!important;justify-content:stretch!important;gap:0!important;height:62px!important;padding:0!important;border-bottom:5px solid #427338!important}.valley-nav a{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-sizing:border-box!important;width:100%!important;height:57px!important;margin:0!important;padding:0 8px!important;border:0!important;border-right:1px solid #bca568!important;border-radius:0!important;background:#fff4ca!important;color:#38502f!important;box-shadow:inset 0 -5px #e5ca7f!important;white-space:nowrap!important}.valley-nav a:first-child{border-left:1px solid #bca568!important}.valley-nav a:hover{height:57px!important;background:#fff9df!important;transform:none!important}.valley-nav a.active,.valley-nav a[aria-current="page"]{position:relative;background:#f4cf69!important;color:#294827!important;box-shadow:inset 0 -6px #d95d45!important}.valley-nav a.active:before,.valley-nav a[aria-current="page"]:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:#4e8f42}.valley-nav .valley-nav-logout{box-sizing:border-box!important;width:58px!important;height:57px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:inset 0 -5px #b74235!important}.valley-nav .valley-nav-logout:hover{height:57px!important}
@media(max-width:1350px){.valley-nav{display:flex!important;align-items:stretch!important;overflow-x:auto!important}.valley-nav a{flex:1 0 132px!important;height:57px!important}.valley-nav .valley-nav-logout{flex:0 0 58px!important}}
@media(max-width:900px){.valley-nav{height:56px!important}.valley-nav a{flex-basis:120px!important;height:51px!important;font-size:12px!important}.valley-nav a:hover{height:51px!important}.valley-nav .valley-nav-logout,.valley-nav .valley-nav-logout:hover{height:51px!important}}

/* Etat actif du menu sans liseré vert */
.valley-nav a.active::before,.valley-nav a[aria-current="page"]::before{display:none!important}

/* Empêche le header de se décaler entre les vues */
html{scrollbar-gutter:stable}
body{overflow-y:scroll}
.valley-status .valley-resource:first-child{width:152px;min-width:152px}
.valley-status .valley-resource:nth-child(2){width:128px;min-width:128px}
@media(max-width:900px){.valley-status .valley-resource:first-child,.valley-status .valley-resource:nth-child(2){width:auto;min-width:0}}

/* Création d'un élevage : même modale que l'achat de parcelles */
.livestock-buy-dialog .livestock-capacity{margin:0;color:#5f664d;font-size:12px;font-weight:700}
.livestock-buy-dialog select{min-height:44px}

/* Mise en vente automatique des concessions */
.extraction-sale .sale-clock{display:flex;align-items:center;gap:5px;color:#705d3d;font-size:12px}.extraction-sale .sale-clock strong{color:#34743a}.extraction-offer{display:grid;grid-template-columns:minmax(0,1fr) 190px 190px;align-items:center;gap:18px;min-height:104px;padding:14px;border:2px solid #b78c52;background:#fffaf0;box-shadow:0 4px #68452d}.offer-resource{display:flex;align-items:center;gap:14px}.offer-resource .catalogue-icon{display:grid;place-items:center;flex:0 0 68px;width:68px;height:68px;border:2px solid #ad8451;background:#fff}.offer-resource .extraction-sprite{width:58px;height:58px}.offer-resource small,.offer-price small{color:#87623d;font:800 9px/1.2 "Nunito",sans-serif;letter-spacing:.08em}.offer-resource h2{margin:3px 0;color:#315331;font-size:23px}.offer-resource p{margin:0;color:#70654e;font-size:12px}.offer-price{display:grid;gap:4px;padding-left:18px;border-left:1px solid #d8b877}.offer-price strong{color:#34743a;font-size:21px}.extraction-offer form{display:flex;justify-content:flex-end}.extraction-offer .copper-button{width:100%;height:42px!important}.extraction-offer .copper-button:disabled{opacity:.45;cursor:not-allowed}.extraction-wait{display:flex;align-items:center;justify-content:center;gap:14px;min-height:110px;padding:20px;background:transparent;text-align:left}.extraction-wait>span{font-size:34px}.extraction-wait h2{margin:0 0 4px;color:#315331}.extraction-wait p{margin:0;color:#70654e}
@media(max-width:760px){.extraction-sale>header{align-items:flex-start;flex-direction:column}.extraction-offer{grid-template-columns:1fr}.offer-price{padding:10px 0 0;border-left:0;border-top:1px solid #d8b877}}

.extraction-offer{grid-template-columns:minmax(0,1fr) 210px 230px}.extraction-offer .copper-button{min-width:230px;padding-inline:16px!important;white-space:nowrap!important}.extraction-offer .offer-price{grid-template-columns:1fr;gap:3px}.extraction-offer .offer-price small:nth-of-type(2){margin-top:7px}
@media(max-width:760px){.extraction-offer{grid-template-columns:1fr}.extraction-offer .copper-button{min-width:0;width:100%}}

.place-quarry [data-extraction-site]{transition:opacity .45s ease,transform .45s ease}.place-quarry [data-extraction-site].is-depleted{opacity:0;transform:scale(.96);pointer-events:none}
@media(prefers-reduced-motion:reduce){.place-quarry [data-extraction-site]{transition:none}}

/* Revente des mines et sources */
.place-quarry .compact-assets .compact-asset:has(.extraction-resale){grid-template-columns:82px minmax(0,1fr) 132px!important}.place-quarry .extraction-resale{height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px;padding:10px;border-left:2px solid #d6bd83;background:#f3e5bd}.place-quarry .extraction-resale small{color:#87623d;font:800 8px/1.2 "Nunito",sans-serif;letter-spacing:.06em;text-align:center}.place-quarry .extraction-resale strong{color:#34743a;font-size:14px;text-align:center}.place-quarry .extraction-resale button{height:34px;margin-top:4px;border:1px solid #9c4230;border-radius:7px;background:#d95d45;color:#fff;box-shadow:0 3px #8e392d;font-size:11px;font-weight:800;cursor:pointer}.place-quarry .extraction-resale button:hover{background:#e46b54}
@media(max-width:760px){.place-quarry .compact-assets .compact-asset:has(.extraction-resale){grid-template-columns:68px minmax(0,1fr) 112px!important}.place-quarry .extraction-resale{padding:7px}.place-quarry .extraction-resale strong{font-size:12px}}

.place-quarry .extraction-resale button{white-space:nowrap}.player-listing{border-left:6px solid #5ca451}.extraction-sell-dialog [data-extraction-sell-name]{margin:0;padding:10px 12px;background:#f3e5bd;color:#315331;font-size:16px;font-weight:900}.extraction-sell-dialog input{min-height:44px}
.place-quarry .production-paused{color:#b04a37!important}
.extraction-offer form .copper-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;text-align:center!important;padding-top:0!important;padding-bottom:0!important}

/* ---- généralisation des cartes aux autres pages ---- */
.valley-content .vcard-count{display:inline-flex;align-items:center;height:28px;padding:0 11px;border:2px solid #b5904f;border-radius:9px;background:#fdf3d8;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#8b6a35}
.valley-content .vcard-subtitle{display:flex;align-items:center;gap:9px;margin:4px 0 10px;font:900 13px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#4a6b3d}
.valley-content .vcard-subtitle:not(:first-child){margin-top:20px;padding-top:14px;border-top:2px dashed #bfd0a5}
.valley-content .vcard-subtitle b{display:inline-flex;align-items:center;height:21px;padding:0 8px;border-radius:7px;background:#5c9a40;color:#fff;font-size:11px}
/* barres d'outils et filtres : fondus dans le corps de carte, sans fond propre */
.valley-content .vcard-body>.catalog-toolbar,.valley-content .vcard-body>.market-sectors,.valley-content .vcard-body>.history-filters{width:100%;margin:0 0 13px!important;padding:0 0 12px!important;border:0!important;border-bottom:2px dashed #bfd0a5!important;border-radius:0!important;background:none!important;box-shadow:none!important;display:flex!important;align-items:center;flex-wrap:wrap;gap:9px!important}
.valley-content .vcard-body>.market-sectors{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
.valley-content .vcard-body>.market-sectors button,.valley-content .vcard-body>.history-filters button{flex:0 0 auto;min-height:34px!important;height:34px;padding:0 13px!important;border:2px solid #b5904f!important;border-radius:10px!important;background:#fdf3d8!important;color:#4a6b3d!important;font:900 12px/1 "Nunito","Trebuchet MS",sans-serif!important}
.valley-content .vcard-body>.market-sectors button.active,.valley-content .vcard-body>.history-filters button.active{border-color:#3e7838!important;background:#6ab653!important;color:#173a1a!important;box-shadow:inset 0 -3px #58a344!important}
.valley-content .vcard-body input[type=search]{width:auto;min-width:230px;height:34px;padding:0 11px;border:2px solid #a9793f;border-radius:11px;background:#fffdf2;color:#3d3220;font:700 13px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:inset 0 2px #d8bd7c40}
.valley-content .vcard-body input[type=search]:focus{border-color:#6ab653;box-shadow:0 0 0 3px #6ab6533d}
.valley-content .vcard-body>.catalog-toolbar .catalog-check{display:inline-flex;align-items:center;gap:7px;margin:0;font:800 12px/1 "Nunito","Trebuchet MS",sans-serif;color:#3d5433!important;text-transform:none;letter-spacing:0}
.valley-content .vcard-body>.catalog-toolbar .catalog-check input{width:17px;height:17px;accent-color:#6ab653}
/* le contenu d'une carte ne rajoute pas de marge en tête */
.valley-content .vcard-body>.plot-grid:first-child,.valley-content .vcard-body>.holding-grid:first-child,.valley-content .vcard-body>.catalog-group:first-child{margin-top:0!important}
.valley-content .vcard-body>.catalog-group:last-child,.valley-content .vcard-body>.contract-grid:last-child{margin-bottom:0!important}
@media(max-width:760px){.valley-content .vcard-body input[type=search]{min-width:0;flex:1 1 140px}}
/* le niveau du joueur reste visible sur toutes les largeurs (version compacte) */
@media(max-width:1100px){
  .valley-hud .player-level{display:flex!important;gap:8px;padding:6px 10px}
  .valley-hud .player-level>span{width:34px;height:34px;border-width:2px;font-size:16px}
  .valley-hud .player-level>div{min-width:0}
  .valley-hud .player-level small{max-width:130px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .valley-hud .player-level strong{font-size:13px;white-space:nowrap}
}
@media(max-width:700px){
  .valley-hud .player-level{padding:4px 6px;border-left:0}
  .valley-hud .player-level small{display:none}
}

/* Champs : copie exacte de la carte de référence des mines */
.valley-content.place-farmyard .compact-plots .field-reference-card{height:132px!important;min-height:132px!important;display:grid!important;grid-template-columns:82px minmax(0,1fr) 132px!important;grid-template-rows:128px!important;overflow:hidden!important;background:#fff8dd!important}.valley-content.place-farmyard .compact-plots .field-reference-card>.plot-land{grid-column:1!important;width:82px!important;height:128px!important;min-height:128px!important}.valley-content.place-farmyard .compact-plots .field-copy{grid-column:2!important;min-width:0!important;height:128px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-content:center!important;gap:4px 8px!important;padding:12px!important;background:#fff8dd!important}.valley-content.place-farmyard .compact-plots .field-copy h2{grid-column:1/-1!important;margin:0 0 4px!important;font-size:16px!important;color:#35542f!important}.valley-content.place-farmyard .compact-plots .field-copy p{display:contents!important}.valley-content.place-farmyard .compact-plots .field-copy span{grid-column:1!important;min-width:0!important;overflow:hidden!important;color:#8b704e!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important}.valley-content.place-farmyard .compact-plots .field-copy strong{grid-column:2!important;min-width:0!important;overflow:hidden!important;color:#35542f!important;font-size:11px!important;text-align:right!important;text-overflow:ellipsis!important;white-space:nowrap!important}.valley-content.place-farmyard .compact-plots .field-action{grid-column:3!important;width:132px!important;height:128px!important;display:grid!important;place-items:center!important;padding:10px!important;border-left:2px solid #d6bd83!important;background:#f3e5bd!important}.valley-content.place-farmyard .compact-plots .field-action .crop-dialog-open{position:static!important;grid-column:auto!important;grid-row:auto!important;width:108px!important;height:38px!important;margin:0!important;transform:none!important}
@media(max-width:760px){.valley-content.place-farmyard .compact-plots .field-reference-card{grid-template-columns:68px minmax(0,1fr) 112px!important}.valley-content.place-farmyard .compact-plots .field-reference-card>.plot-land{width:68px!important}.valley-content.place-farmyard .compact-plots .field-copy{padding:9px!important}.valley-content.place-farmyard .compact-plots .field-action{width:112px!important;padding:7px!important}.valley-content.place-farmyard .compact-plots .field-action .crop-dialog-open{width:88px!important}}

/* Ateliers : même carte de référence */
.valley-content.place-factory .compact-assets .factory-reference-card{grid-template-columns:82px minmax(0,1fr) 132px!important}.valley-content.place-factory .compact-assets .factory-reference-card>.asset-copy{min-width:0!important;height:128px!important;padding:12px!important;border-right:0!important;background:#fff8dd!important}.valley-content.place-factory .compact-assets .factory-action{display:grid!important;place-items:center!important;width:132px!important;height:128px!important;padding:10px!important;border-left:2px solid #d6bd83!important;background:#f3e5bd!important}.valley-content.place-factory .compact-assets .factory-action .asset-change{position:static!important;width:108px!important;height:38px!important;margin:0!important}
@media(max-width:760px){.valley-content.place-factory .compact-assets .factory-reference-card{grid-template-columns:68px minmax(0,1fr) 112px!important}.valley-content.place-factory .compact-assets .factory-action{width:112px!important;padding:7px!important}.valley-content.place-factory .compact-assets .factory-action .asset-change{width:88px!important}}

/* Fond uni pour tous les visuels de cartes */
.valley-content.game-place :is(.plot-land,.holding-visual){background:#fff!important;background-color:#fff!important;background-image:none!important}
.valley-content.game-place.place-quarry .holding-visual,.valley-content.game-place.place-ranch .holding-visual{background:#fff!important;background-color:#fff!important;background-image:none!important}.valley-content.game-place.place-quarry .holding-visual::before,.valley-content.game-place.place-quarry .holding-visual::after,.valley-content.game-place.place-ranch .holding-visual::before,.valley-content.game-place.place-ranch .holding-visual::after{display:none!important;background:none!important}

/* Ranch : carte identique aux mines, avec arrêt/reprise de la production */
.valley-content.place-ranch .compact-assets .ranch-reference-card{grid-template-columns:82px minmax(0,1fr) 132px!important;background:#fff8dd!important}.valley-content.place-ranch .ranch-reference-card>.asset-copy{min-width:0!important;height:128px!important;padding:12px!important;border-right:0!important;background:#fff8dd!important}.valley-content.place-ranch .ranch-action{display:grid!important;place-items:center!important;width:132px!important;height:128px!important;padding:10px!important;border-left:2px solid #d6bd83!important;background:#f3e5bd!important}.valley-content.place-ranch .ranch-action button{width:108px!important;height:38px!important;margin:0!important;border:1px solid #9c4230;border-radius:7px;background:#d95d45;color:#fff;box-shadow:0 4px #8e392d;font-size:12px;font-weight:900;cursor:pointer}.valley-content.place-ranch .ranch-action button:hover{background:#e46b54}.valley-content.place-ranch .ranch-action button.resume{border-color:#397536;background:#6ab653;box-shadow:0 4px #285b2b}.valley-content.place-ranch .ranch-action button.resume:hover{background:#78c563}.valley-content.place-ranch .production-paused{color:#b04a37!important}.valley-content.place-ranch .ranch-reference-card.is-paused>.holding-visual span{opacity:.62;filter:grayscale(.25)}
@media(max-width:760px){.valley-content.place-ranch .compact-assets .ranch-reference-card{grid-template-columns:68px minmax(0,1fr) 112px!important}.valley-content.place-ranch .ranch-action{width:112px!important;padding:7px!important}.valley-content.place-ranch .ranch-action button{width:88px!important}}
/* logo image : portail, HUD et pied de page */
.valley-gate .gate-brand{display:block;width:min(230px,52%);margin:0 auto}
.valley-gate .gate-brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 8px #2c4a2640)}
.valley-gate .gate-story h1{margin-top:14px}
.valley-logo>img{flex:0 0 auto;width:54px;height:54px;margin-right:10px;border-radius:0;object-fit:contain;filter:drop-shadow(0 2px 2px #5a341f55)}
.valley-footer .foot-brand>img{flex:0 0 auto;width:40px;height:40px;border-radius:0;object-fit:contain;transform:scale(1.3);transform-origin:center;filter:drop-shadow(0 2px 2px #5a341f55)}
@media(max-width:1050px){.valley-gate .gate-brand{width:min(210px,60%);margin:0 auto}.valley-gate .gate-story{padding:22px}}
@media(max-width:1100px){.valley-logo>img{width:42px;height:42px;margin-right:8px}}
@media(max-width:620px){.valley-gate .gate-brand{width:min(180px,58%)}}
/* carrousel du bloc de gauche (page d'inscription) */
.valley-gate .gate-carousel{width:100%;margin-top:18px;padding-top:16px;border-top:2px dashed #ecd9a6}
.valley-gate .gate-slides{position:relative;height:126px}
.valley-gate .gate-slides>article{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;opacity:0;transform:translateY(7px);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.valley-gate .gate-slides>article.is-active{opacity:1;transform:none}
.valley-gate .gate-slides span{font-size:34px;line-height:1;filter:drop-shadow(0 3px 0 #e8d7a7)}
.valley-gate .gate-slides strong{font:800 18px/1.1 "Baloo 2","Trebuchet MS",sans-serif;color:#35542f}
.valley-gate .gate-slides p{max-width:34ch;margin:0;font-size:13px;font-weight:600;line-height:1.45;color:#8b704e}
.valley-gate .gate-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.valley-gate .gate-dots button{width:10px;height:10px;padding:0;border:2px solid #c6a56b;border-radius:50%;background:#f6e9c4;transition:width .25s,background .25s,border-color .25s}
.valley-gate .gate-dots button.is-active{width:24px;border-radius:7px;border-color:#3e7838;background:#6ab653}
@media(prefers-reduced-motion:reduce){.valley-gate .gate-slides>article{transition:none}}
@media(max-width:620px){.valley-gate .gate-slides{height:150px}}
/* hauteur du jeu calculée par flex : plus de barre de défilement parasite due aux arrondis de calc() */
.valley-game{display:flex;flex-direction:column;min-height:100vh}
.valley-game>.valley-landscape{flex:1 0 auto;min-height:0!important}
/* bouton « Max » de l'ordre de vente */
.valley-content .sell-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:7px!important;align-items:stretch}
.valley-content.place-market .sell-form .sell-max{display:inline-flex!important;align-items:center;justify-content:center;min-height:100%;padding:0 13px!important;border:2px solid #a9793f!important;border-radius:9px!important;background:#f6e4b6!important;color:#6d5837!important;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif!important;text-transform:uppercase;letter-spacing:.06em;box-shadow:inset 0 -3px #dfc48c!important}
.valley-content.place-market .sell-form .sell-max:hover:not(:disabled){background:#fff0c9!important}
.valley-content.place-market .sell-form .sell-max:active:not(:disabled){transform:translateY(1px)}
@media(max-width:760px){.valley-content .sell-form{grid-template-columns:minmax(0,1fr) auto!important}.valley-content.place-market .sell-form .sell-max{grid-column:1/-1}}

/* sélecteur de vue : desktop uniquement */
.valley-content .view-switch{display:none}
@media(min-width:901px){
  .valley-game .valley-content .view-switch{display:inline-flex;align-items:stretch;gap:3px;height:38px;padding:3px;border:2px solid #a9793f;border-radius:12px;background:#f3e3ba;box-shadow:inset 0 2px #d8bd7c66}
  .valley-game .valley-content .view-switch button{flex:0 0 auto;min-width:86px;display:inline-flex!important;align-items:center!important;justify-content:center!important;height:100%!important;min-height:0!important;margin:0!important;padding:0 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#8b6a35!important;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif!important;text-transform:uppercase;letter-spacing:.05em;box-shadow:none!important;transition:background .15s,color .15s}
  .valley-game .valley-content .view-switch button:hover:not(.is-active){background:#fff6dd!important;color:#6d5837!important}
  .valley-game .valley-content .view-switch button.is-active{background:#6ab653!important;color:#12300f!important;box-shadow:0 2px 0 #3e7838!important}
}
/* ===================== Vue tableau des parcelles (desktop) ===================== */
/* en dessous de 900px on repasse automatiquement aux cartes */
.valley-content .plot-table-head{display:none!important}
@media(min-width:901px){
  /* mode tableau : même habillage que le tableau du marché */
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table{display:block!important;margin:0!important;padding:0!important;border:2px solid #ad8451;border-radius:12px;background:#fffaf0;box-shadow:0 4px #604029;overflow:hidden}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-table-head,
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card{display:grid!important;grid-template-columns:34px 56px 30px minmax(110px,1.2fr) 82px minmax(85px,.85fr) minmax(95px,.9fr) minmax(65px,.65fr) minmax(110px,.8fr) minmax(180px,1.35fr) 110px 104px!important;align-items:center!important;gap:0 14px!important;width:100%!important;height:auto!important;min-height:0!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-table-head{padding:11px 14px!important;background:#d9bd79;border-bottom:1px solid #c9a86a;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#405139}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card{margin:0!important;padding:9px 14px!important;border:0!important;border-bottom:1px solid #dbc596!important;border-radius:0!important;background:#fffaf0!important;box-shadow:none!important;transition:background .15s}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card:nth-of-type(odd){background:#f5e8c5!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card:hover{background:#e5efd0!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card:last-child{border-bottom:0!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card.selected{background:#dff0cc!important;box-shadow:inset 4px 0 0 #6ab653!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-info,
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-copy{display:contents!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-card>*,
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-info>*,
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-copy>*{grid-column:auto!important;grid-row:auto!important;align-self:center!important;justify-self:stretch!important;max-width:100%!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-selector{position:static!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;font-size:0!important;justify-self:center!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-selector input{width:17px!important;height:17px!important;accent-color:#6ab653}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-land{width:56px!important;height:40px!important;min-height:0!important;border:2px solid #b68d58!important;border-radius:8px!important;box-shadow:none!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-land>span{display:block!important;width:30px!important;height:30px!important;font-size:24px!important;line-height:30px!important;transform:none!important;filter:drop-shadow(0 1px 1px #0002)!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-land>span .crop-sprite{width:30px!important;height:30px!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-land>small{left:3px!important;bottom:2px!important;padding:2px 3px!important;font-size:7px!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-copy h2{margin:0!important;font:800 14px/1.2 "Baloo 2","Nunito",sans-serif!important;color:#35542f!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-copy p{display:block!important;margin:0!important;min-width:0}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-copy p>span{display:none!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .plot-copy p>strong{display:block!important;font:700 13px/1.2 "Nunito","Trebuchet MS",sans-serif!important;color:#405139!important;text-align:left!important;white-space:nowrap}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .crop-dialog-open{width:104px!important;height:32px!important;justify-self:end!important;font-size:12px!important}
  /* mode tableau : structure field-* (carte de référence) */
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-reference-card{grid-template-columns:34px 56px 30px minmax(110px,1.2fr) 82px minmax(85px,.85fr) minmax(95px,.9fr) minmax(65px,.65fr) minmax(110px,.8fr) minmax(180px,1.35fr) 110px 104px!important;grid-template-rows:auto!important;grid-auto-rows:auto!important;height:auto!important;min-height:0!important;padding:9px 14px!important;align-items:center!important;gap:0 14px!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy,
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-action{display:contents!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy>*,
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-action>*{grid-column:auto!important;grid-row:auto!important;align-self:center!important;height:auto!important;min-height:0!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy h2{grid-column:auto!important;margin:0!important;font:800 14px/1.2 "Baloo 2","Nunito",sans-serif!important;color:#35542f!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy p{display:block!important;grid-column:auto!important;margin:0!important;min-width:0}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy p>span{display:none!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy p>strong{display:block!important;grid-column:auto!important;font:700 13px/1.2 "Nunito","Trebuchet MS",sans-serif!important;color:#405139!important;text-align:left!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-action{padding:0!important;background:none!important;border:0!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-action .crop-dialog-open{width:104px!important;height:32px!important;margin:0!important;justify-self:end!important;font-size:12px!important}
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-reference-card>.plot-land{grid-column:auto!important;width:56px!important;height:40px!important;min-height:0!important}
}

/* mobile : navigation en icônes, pleine largeur, onglets jointifs */
@media(max-width:700px){
  .valley-game .valley-nav{display:flex!important;align-items:stretch!important;justify-content:stretch!important;gap:0!important;height:50px!important;padding:0!important;overflow-x:hidden!important}
  .valley-game .valley-nav a{flex:1 1 0!important;flex-basis:0!important;width:auto!important;min-width:0!important;height:100%!important;margin:0!important;padding:0!important;font-size:0!important;gap:0!important;justify-content:center!important;border:0!important;border-left:1px solid #3f6c34!important;border-radius:0!important;box-shadow:inset 0 -4px #e5ca7f!important}
  .valley-game .valley-nav a:first-child{border-left:0!important}
  .valley-game .valley-nav a>span{font-size:20px!important;line-height:1!important}
  .valley-game .valley-nav a.active,.valley-game .valley-nav a[aria-current]{box-shadow:inset 0 -4px #6ab653!important}
}

/* HUD/menu : alignement strict, trésorerie compacte, sans toucher à la carte météo. */
.valley-game .valley-hud,
.valley-game .valley-nav{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.valley-game .valley-hud{
  gap:14px!important;
  padding-inline:18px!important;
  overflow:hidden!important;
}
.valley-game .valley-logo{
  min-width:220px!important;
  flex:0 0 auto!important;
}
.valley-game .player-level{
  flex:0 0 auto!important;
  padding-inline:10px!important;
}
.valley-game .valley-status{
  min-width:0!important;
  gap:9px!important;
}
.valley-game .valley-status .valley-resource:first-child{
  width:118px!important;
  min-width:118px!important;
}
.valley-game .valley-status .valley-resource:nth-child(2){
  width:118px!important;
  min-width:118px!important;
}
.valley-game .valley-status strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.valley-game .valley-nav{
  left:0!important;
  right:0!important;
  margin:0!important;
  border-left:0!important;
  border-right:0!important;
}
@media(max-width:1150px){
  .valley-game .valley-hud{
    flex-wrap:wrap!important;
    height:auto!important;
    min-height:76px!important;
  }
  .valley-game .valley-status{
    width:100%!important;
    margin-left:0!important;
  }
}
@media(max-width:700px){
  .valley-game .valley-hud{
    padding-inline:10px!important;
  }
  .valley-game .valley-logo{
    min-width:0!important;
  }
  .valley-game .player-level{
    margin-left:auto!important;
  }
  .valley-game .valley-status .valley-resource:first-child,
  .valley-game .valley-status .valley-resource:nth-child(2){
    width:auto!important;
    min-width:0!important;
  }
}

/* Responsive HUD/menu final : 3 statuts sur une ligne, menu sans scroll horizontal. */
@media(max-width:1350px){
  .valley-game .valley-nav{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr)) 44px!important;
    overflow-x:hidden!important;
    scrollbar-width:none!important;
  }
  .valley-game .valley-nav::-webkit-scrollbar{display:none!important}
  .valley-game .valley-nav a{
    flex:initial!important;
    min-width:0!important;
    padding:0 4px!important;
    gap:4px!important;
    font-size:11px!important;
  }
  .valley-game .valley-nav .valley-nav-logout{
    width:44px!important;
    flex:initial!important;
  }
}
@media(max-width:980px){
  .valley-game .valley-nav a{
    font-size:0!important;
    gap:0!important;
  }
  .valley-game .valley-nav a>span{
    font-size:20px!important;
  }
  .valley-game .valley-nav{
    grid-template-columns:repeat(9,minmax(0,1fr)) 42px!important;
  }
  .valley-game .valley-nav .valley-nav-logout{
    width:42px!important;
  }
}
@media(max-width:700px){
  .valley-game .valley-status{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    overflow:visible!important;
    gap:7px!important;
  }
  .valley-game .valley-resource,
  .valley-game .valley-clock{
    width:auto!important;
    min-width:0!important;
    height:48px!important;
    padding:6px 7px!important;
    gap:5px!important;
  }
  .valley-game .valley-resource>span,
  .valley-game .valley-clock>span{
    font-size:20px!important;
  }
  .valley-game .valley-status small{
    font-size:7px!important;
    letter-spacing:.05em!important;
  }
  .valley-game .valley-status strong{
    font-size:12px!important;
  }
  .valley-game .valley-world .weather-sprite{
    width:30px!important;
    height:30px!important;
  }
}
@media(max-width:430px){
  .valley-game .valley-resource>span,
  .valley-game .valley-clock>span{
    display:none!important;
  }
  .valley-game .valley-resource,
  .valley-game .valley-clock{
    justify-content:center!important;
    padding-inline:5px!important;
  }
}

/* Desktop avec grange latérale : le HUD/menu s'arrêtent avant le panneau fixe. */
@media(min-width:1101px){
  .valley-game .valley-hud,
  .valley-game .valley-nav{
    width:calc(100% - 292px)!important;
    max-width:calc(100% - 292px)!important;
    margin-right:0!important;
  }
  .valley-game .valley-nav{
    grid-template-columns:repeat(9,minmax(92px,1fr)) 48px!important;
  }
  .valley-game .valley-nav a{
    padding:0 5px!important;
    gap:5px!important;
    font-size:12px!important;
  }
  .valley-game .valley-nav .valley-nav-logout{
    width:48px!important;
  }
  .valley-game .valley-status .valley-resource:first-child{
    width:178px!important;
    min-width:178px!important;
  }
  .valley-game .valley-status .valley-resource:nth-child(2){
    width:156px!important;
    min-width:156px!important;
  }
  .valley-game .valley-status{
    gap:12px!important;
  }
}

/* Verrou final menu mobile : aucune barre de scroll, ni horizontale ni verticale. */
@media(max-width:980px){
  .valley-game .valley-nav{
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr)) 40px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    overflow:hidden!important;
    padding:0!important;
  }
  .valley-game .valley-nav a,
  .valley-game .valley-nav .valley-nav-logout,
  .valley-game .valley-nav a:hover,
  .valley-game .valley-nav .valley-nav-logout:hover{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    line-height:1!important;
  }
  .valley-game .valley-nav a{
    font-size:0!important;
  }
  .valley-game .valley-nav a>span{
    display:block!important;
    font-size:18px!important;
    line-height:48px!important;
    width:100%!important;
    text-align:center!important;
  }
  .valley-game .valley-nav .valley-nav-logout{
    flex:initial!important;
    font-size:17px!important;
  }
}

/* superficie de la parcelle : pastille à côté du nom (cartes) / colonne dédiée (tableau) */
.valley-content.place-farmyard .compact-plots .field-copy h2{grid-column:1!important}
.valley-content.place-farmyard .compact-plots .field-copy>.field-size{grid-column:2!important;justify-self:end;align-self:center;margin:0 0 4px!important;padding:2px 8px;border:2px solid #c6a56b;border-radius:8px;background:#fdf3d8;font:900 10px/1.5 "Nunito","Trebuchet MS",sans-serif;color:#8b6a35;white-space:nowrap}
@media(min-width:901px){
  .valley-game .valley-content.game-place.place-farmyard .plot-grid.compact-plots.as-table .field-copy>.field-size{grid-column:auto!important;justify-self:stretch!important;margin:0!important;padding:0!important;border:0!important;background:none!important;font:700 13px/1.2 "Nunito","Trebuchet MS",sans-serif!important;color:#405139!important}
}

/* case de sélection : coin haut droit de la carte, sans libellé */
.valley-content.place-farmyard .compact-plots .plot-card>.plot-selector{position:absolute!important;top:7px!important;right:9px!important;left:auto!important;bottom:auto!important;z-index:4!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;padding:0!important;gap:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-size:0!important}
.valley-content.place-farmyard .compact-plots .plot-card>.plot-selector input{width:17px!important;height:17px!important;margin:0!important;accent-color:#6ab653;cursor:pointer}

/* carte : bouton d'action calé en bas de son bloc */
.valley-content.place-farmyard .compact-plots .field-action{place-items:end center!important;align-content:end!important;justify-items:center!important;padding:10px!important}
/* case « tout sélectionner » de la barre groupée */
.valley-content .vcard-body>.bulk-crop-bar .bulk-all{display:inline-flex!important;align-items:center;gap:7px;margin:0 4px 0 0!important;padding:0 11px 0 9px;height:40px;border:2px solid #a9793f;border-radius:11px;background:#fffdf2;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#6d5837!important;cursor:pointer;box-shadow:inset 0 2px #d8bd7c40}
.valley-content .vcard-body>.bulk-crop-bar .bulk-all:hover{background:#fff6dd}
.valley-content .vcard-body>.bulk-crop-bar .bulk-all input{width:17px;height:17px;margin:0;accent-color:#6ab653;cursor:pointer}

/* mobile : barre groupée sur deux lignes (sélection / action) */
@media(max-width:760px){
  .valley-content .vcard-body>.bulk-crop-bar{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:9px 10px!important;align-items:center!important}
  .valley-content .vcard-body>.bulk-crop-bar .bulk-all{grid-area:1/1/2/2!important;justify-self:start!important;height:36px!important;margin:0!important}
  .valley-content .vcard-body>.bulk-crop-bar strong{grid-area:1/2/2/4!important;justify-self:start!important;margin:0!important;font-size:13px!important}
  .valley-content .vcard-body>.bulk-crop-bar select{grid-area:2/1/3/3!important;width:100%!important;min-width:0!important;height:38px!important}
  .valley-content .vcard-body>.bulk-crop-bar button{grid-area:2/3/3/4!important;height:38px!important;padding:0 11px!important;font-size:11px!important;white-space:nowrap}
}

/* ===================== Vue tableau du ranch (desktop) ===================== */
.valley-content .pen-table-head{display:none!important}
@media(min-width:901px){
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table{display:block!important;margin:0!important;padding:0!important;border:2px solid #ad8451;border-radius:12px;background:#fffaf0;box-shadow:0 4px #604029;overflow:hidden}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .pen-table-head,
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card{display:grid!important;grid-template-columns:56px minmax(110px,1.3fr) minmax(90px,1fr) minmax(120px,1.4fr) minmax(120px,1.4fr) 112px!important;grid-template-rows:auto!important;grid-auto-rows:auto!important;align-items:center!important;gap:0 14px!important;width:100%!important;height:auto!important;min-height:0!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .pen-table-head{padding:11px 14px!important;background:#d9bd79;border-bottom:1px solid #c9a86a;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#405139}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card{margin:0!important;padding:9px 14px!important;border:0!important;border-bottom:1px solid #dbc596!important;border-radius:0!important;background:#fffaf0!important;box-shadow:none!important;transition:background .15s}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card:nth-of-type(odd){background:#f5e8c5!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card:hover{background:#e5efd0!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card:last-child{border-bottom:0!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy,
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-action{display:contents!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-reference-card>*,
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy>*{grid-column:auto!important;grid-row:auto!important;align-self:center!important;justify-self:stretch!important;max-width:100%!important;height:auto!important;min-height:0!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy{padding:0!important;border:0!important;background:none!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .holding-visual{width:56px!important;height:40px!important;min-height:0!important;border:2px solid #b68d58!important;border-radius:8px!important;box-shadow:none!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .holding-visual>span{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;font-size:24px!important;line-height:1!important;transform:none!important;filter:drop-shadow(0 1px 1px #0002)!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .holding-visual>small{left:3px!important;bottom:2px!important;padding:2px 3px!important;font-size:7px!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy h2{margin:0!important;font:800 14px/1.2 "Baloo 2","Nunito",sans-serif!important;color:#35542f!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy p{display:block!important;margin:0!important;min-width:0}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy p>span{display:none!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .asset-copy p>strong{display:block!important;font:700 12.5px/1.3 "Nunito","Trebuchet MS",sans-serif!important;color:#405139!important;text-align:left!important;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-action{width:auto!important;height:auto!important;padding:0!important;border:0!important;place-items:center!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .ranch-action button{width:108px!important;height:32px!important;margin:0!important;justify-self:end!important}
  .valley-game .valley-content.game-place.place-ranch .holding-grid.compact-assets.as-table .pen-table-head{display:grid!important}
}

/* historique des contrats : lignes plus compactes */
.valley-content .contract-history-list article{grid-template-columns:24px 1fr auto!important;gap:9px!important;padding:6px 14px!important}
.valley-content .contract-history-list article>span{font-size:16px;line-height:1}
.valley-content .contract-history-list article div{gap:1px!important}
.valley-content .contract-history-list article strong{font-size:13px;line-height:1.25}
.valley-content .contract-history-list article small{font-size:11px;line-height:1.2}
.valley-content .contract-history-list article>b{padding:3px 8px!important;font-size:10px!important}
/* aperçu de la recette sélectionnée dans la modale des ateliers */
.valley-game .recipe-change-dialog .recipe-preview{display:grid;gap:8px;margin:-4px 0 0;padding:11px 12px;border:2px solid #d8bd7c;border-radius:11px;background:#fdf3d8}
.valley-game .recipe-change-dialog .recipe-preview .recipe-materials{display:grid!important;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:8px;margin:0!important;padding:0!important;border:0!important;background:none!important}
.valley-game .recipe-change-dialog .recipe-preview .recipe-materials>div{display:grid;gap:3px;min-width:0}
.valley-game .recipe-change-dialog .recipe-preview small{font:900 9px/1 "Nunito","Trebuchet MS",sans-serif;letter-spacing:.07em;color:#a3762f}
.valley-game .recipe-change-dialog .recipe-preview span{font:700 12px/1.35 "Nunito","Trebuchet MS",sans-serif;color:#3d5433}
.valley-game .recipe-change-dialog .recipe-preview>.recipe-materials>i{font-style:normal;font-weight:900;color:#a3762f;text-align:center}
.valley-game .recipe-change-dialog .recipe-preview-meta{margin:0;padding-top:8px;border-top:2px dashed #e5d3a4;font:800 11px/1 "Nunito","Trebuchet MS",sans-serif;color:#8b704e}
/* ranch : même transition que les parcelles au changement de vue */
/* la transition ne joue qu'au moment du changement de vue */
.valley-content .plot-card,
.valley-content.place-ranch .compact-assets .ranch-reference-card{position:relative;transition:background .15s}
.valley-content :is(.plot-grid,.holding-grid){transition:opacity .12s ease!important}.valley-content :is(.plot-grid,.holding-grid).is-switching{opacity:0!important;pointer-events:none}.valley-content :is(.plot-grid,.holding-grid).is-switching :is(.plot-card,.holding-card){transition:none!important}@media(prefers-reduced-motion:reduce){.valley-content :is(.plot-grid,.holding-grid){transition:none!important}}

/* ===================== Vue tableau des mines (desktop) ===================== */
.valley-content .mine-table-head{display:none!important}
.valley-content.place-quarry .compact-assets .compact-asset{position:relative;transition:background .15s}
@media(min-width:901px){
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table{display:block!important;margin:0!important;padding:0!important;border:2px solid #ad8451;border-radius:12px;background:#fffaf0;box-shadow:0 4px #604029;overflow:hidden}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .mine-table-head,
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .compact-asset{display:grid!important;grid-template-columns:56px minmax(90px,1.1fr) 88px minmax(85px,.95fr) minmax(120px,1.25fr) minmax(100px,1.1fr) 240px!important;grid-template-rows:auto!important;grid-auto-rows:auto!important;align-items:center!important;gap:0 14px!important;width:100%!important;height:auto!important;min-height:0!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .mine-table-head{display:grid!important;padding:11px 14px!important;background:#d9bd79;border-bottom:1px solid #c9a86a;font:900 11px/1 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#405139}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .compact-asset{margin:0!important;padding:9px 14px!important;border:0!important;border-bottom:1px solid #dbc596!important;border-radius:0!important;background:#fffaf0!important;box-shadow:none!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .compact-asset:nth-of-type(odd){background:#f5e8c5!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .compact-asset:hover{background:#e5efd0!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .compact-asset:last-child{border-bottom:0!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .asset-copy{display:contents!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .compact-asset>*,
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .asset-copy>*{grid-column:auto!important;grid-row:auto!important;align-self:center!important;justify-self:stretch!important;max-width:100%!important;height:auto!important;min-height:0!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .holding-visual{width:56px!important;height:40px!important;min-height:0!important;border:2px solid #b68d58!important;border-radius:8px!important;box-shadow:none!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .holding-visual>span{display:block!important;width:30px!important;height:30px!important;font-size:24px!important;line-height:30px!important;transform:none!important;filter:drop-shadow(0 1px 1px #0002)!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .holding-visual>span .extraction-sprite{width:30px!important;height:30px!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .holding-visual>small{display:none!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .asset-copy h2{margin:0!important;font:800 14px/1.2 "Baloo 2","Nunito",sans-serif!important;color:#35542f!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .asset-copy p{display:block!important;margin:0!important;min-width:0}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .asset-copy p>span{display:none!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .asset-copy p>strong{display:block!important;font:700 12.5px/1.3 "Nunito","Trebuchet MS",sans-serif!important;color:#405139!important;text-align:left!important;overflow:hidden;text-overflow:ellipsis}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .extraction-resale{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;width:auto!important;height:auto!important;padding:0!important;border:0!important;background:none!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .extraction-resale small{display:none!important}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .extraction-resale{min-width:0!important;overflow:hidden}
.valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .extraction-resale strong{flex:0 0 auto;font-size:12.5px!important;white-space:nowrap}
  .valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .extraction-resale button{height:32px!important;margin:0!important;padding:0 11px!important;font-size:11px!important;white-space:nowrap}
}
/* bouton d'agrandissement d'un site d'extraction */
.valley-content.place-quarry .extraction-resale .upgrade-site{height:32px;margin-top:4px;padding:0 10px;border:1px solid #a9793f;border-radius:7px;background:#f4ad3c;color:#4c2e11;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:0 3px #9c6a24;white-space:nowrap}
.valley-content.place-quarry .extraction-resale .upgrade-site:hover{background:#ffbe55}
.valley-game .valley-content.game-place.place-quarry .holding-grid.compact-assets.as-table .extraction-resale .upgrade-site{margin:0!important;height:32px!important;font-size:10px!important}
/* modale de vente : rappel du prix conseillé */
.valley-game .extraction-sell-dialog .sale-suggestion{display:flex;align-items:center;gap:9px;margin:-6px 0 0;padding:9px 11px;border:2px solid #d8bd7c;border-radius:10px;background:#fdf3d8;font:800 12px/1 "Nunito","Trebuchet MS",sans-serif;color:#8b704e}
.valley-game .extraction-sell-dialog .sale-suggestion strong{color:#34743a;font-size:14px}
.valley-game .extraction-sell-dialog .sale-suggestion-apply{margin-left:auto;height:28px;padding:0 11px;border:2px solid #a9793f;border-radius:8px;background:#f6e4b6;color:#6d5837;font:900 10px/1 "Nunito",sans-serif;text-transform:uppercase;letter-spacing:.05em}
.valley-game .extraction-sell-dialog .sale-suggestion-apply:hover{background:#fff0c9}
/* atelier : bouton d'agrandissement dans la zone d'action */
.valley-content.place-factory .factory-action{display:grid!important;align-content:center;justify-items:center;gap:6px!important}
.valley-content.place-factory .factory-action .upgrade-site{width:100%;max-width:112px;height:30px;padding:0 8px;border:1px solid #a9793f;border-radius:7px;background:#f4ad3c;color:#4c2e11;font:900 10px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:0 3px #9c6a24;white-space:nowrap}
.valley-content.place-factory .factory-action .upgrade-site:hover{background:#ffbe55}
/* ===================== Date, saison et météo ===================== */
.valley-hud .valley-world small{display:flex;gap:4px;white-space:nowrap}
.valley-hud .valley-world strong{font-size:13px}
.valley-content .world-card .world-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.valley-content .world-tile{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid #c6a56b;border-radius:12px;background:#fffaf0;box-shadow:0 3px #8a5934}
.valley-content .world-tile>span{font-size:26px;line-height:1}
.valley-content .world-tile p{display:grid;gap:2px;margin:0;min-width:0}
.valley-content .world-tile small{font:900 9px/1.2 "Nunito","Trebuchet MS",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#8b704e}
.valley-content .world-tile strong{font:800 14px/1.2 "Nunito","Trebuchet MS",sans-serif;color:#35542f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.valley-content .world-note{margin:12px 0 0;padding-top:11px;border-top:2px dashed #bfd0a5;font:600 12px/1.5 "Nunito","Trebuchet MS",sans-serif;color:#6d5837}
.weather-impact{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:10px 12px;border:1px solid #c9b27d;border-radius:8px;background:#fff9e8;color:#4f4a34}.weather-impact>div{display:grid;gap:2px;min-width:0}.weather-impact strong{font:900 12px/1.2 "Nunito","Trebuchet MS",sans-serif}.weather-impact span{font:700 10px/1.2 "Nunito","Trebuchet MS",sans-serif;color:#766749}.weather-impact ul{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;margin:0;padding:0;list-style:none}.weather-impact li{padding:4px 7px;border-radius:10px;background:#eee4c8;font:800 10px/1 "Nunito","Trebuchet MS",sans-serif}.weather-impact--good,.weather-impact--mixed,.weather-impact--warning,.weather-impact--danger{border-left-width:1px}
/* Une seule signature visuelle : l'atmosphère du domaine suit le bulletin. */
.valley-game{position:relative;isolation:isolate}.valley-game::after{content:"";position:fixed;z-index:20;inset:0;pointer-events:none;opacity:0;transition:opacity .8s ease}.valley-game.weather-rain::after,.valley-game.weather-storm::after{opacity:.18;background:repeating-linear-gradient(105deg,transparent 0 18px,rgba(82,124,155,.65) 19px 20px,transparent 21px 37px);animation:valley-rain .7s linear infinite}.valley-game.weather-snow::after{opacity:.45;background-image:radial-gradient(circle,#fff 0 2px,transparent 2.5px),radial-gradient(circle,#fff 0 1.5px,transparent 2px);background-size:70px 70px,45px 45px;background-position:0 0,22px 18px;animation:valley-snow 8s linear infinite}.valley-game.weather-fog::after{opacity:.22;background:linear-gradient(100deg,transparent,white 35%,transparent 70%);animation:valley-fog 10s ease-in-out infinite alternate}.valley-game.weather-ice::after,.valley-game.weather-frost::after{opacity:.12;background:linear-gradient(135deg,#dff6ff,transparent 42%,#c9efff)}.valley-game.weather-heat::after{opacity:.08;background:#f49b38}.valley-game.weather-storm::after{opacity:.25}.valley-game.weather-hail::after{opacity:.3;background-image:radial-gradient(circle,#fff 0 2px,transparent 2.5px);background-size:34px 34px;animation:valley-snow 2.5s linear infinite}@keyframes valley-rain{to{background-position:-35px 70px}}@keyframes valley-snow{to{background-position:35px 140px,67px 108px}}@keyframes valley-fog{to{transform:translateX(8%)}}
@media(prefers-reduced-motion:reduce){.valley-game::after{animation:none!important}}
@media(max-width:900px){.valley-content .world-card .world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.weather-impact{align-items:flex-start;flex-direction:column}.weather-impact ul{justify-content:flex-start}}@media(max-width:520px){.valley-content .world-card .world-grid{grid-template-columns:minmax(0,1fr)}}

/* Priorité finale : frise mensuelle horizontale dans les cartes de champs. */
.valley-content.place-farmyard .compact-plots:not(.as-table) .field-copy>.field-months{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:2px!important;width:100%!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-copy>.field-months>span{grid-column:auto!important;grid-row:auto!important;display:grid!important;place-items:center!important;width:auto!important;min-width:0!important;height:15px!important;padding:0!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;overflow:visible!important}

@media(min-width:901px){.valley-content.place-farmyard .compact-plots.as-table .plot-table-head>span:last-child::before{content:"Calendrier"}.valley-content.place-farmyard .compact-plots.as-table .plot-table-head::after{content:""}.valley-content.place-farmyard .compact-plots.as-table .field-copy>.field-months{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:2px!important;width:100%!important;margin:0!important}.valley-content.place-farmyard .compact-plots.as-table .field-copy>.field-months>span{grid-column:auto!important;grid-row:auto!important;display:grid!important;place-items:center!important;width:auto!important;min-width:0!important;height:16px!important;padding:0!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;overflow:visible!important;font-size:7px!important}}

/* Sol agricole : une lecture et une action, intégrées aux cartes existantes. */
.soil-reading strong{color:#28749a!important}.soil-reading strong.soil-trop-sec{color:#b05a34!important}.soil-reading strong.soil-trop-humide,.soil-reading strong.soil-saturé{color:#426fa2!important}.soil-reading strong.soil-optimal{color:#438144!important}.field-action form{margin:0}.irrigate-button{height:28px;padding:0 10px;border:1px solid #4f8ea7;border-radius:7px;background:#d9f0f4;color:#27586c;font:800 10px/1 "Nunito","Trebuchet MS",sans-serif;box-shadow:0 2px #4d7180;cursor:pointer}.irrigate-button:hover:not(:disabled){background:#bfe8ef}.irrigate-button:disabled{opacity:.45;cursor:not-allowed}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-reference-card{height:148px!important;min-height:148px!important;grid-template-rows:144px!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-reference-card>.plot-land,.valley-content.place-farmyard .compact-plots:not(.as-table) .field-copy,.valley-content.place-farmyard .compact-plots:not(.as-table) .field-action{height:144px!important;min-height:144px!important}.valley-content.place-farmyard .compact-plots:not(.as-table) .field-action{align-content:center!important;gap:10px!important}.valley-content.place-farmyard .compact-plots.as-table .field-action form{display:block!important}.valley-content.place-farmyard .compact-plots.as-table .irrigate-button{width:110px;height:30px;padding:0 5px}
