/* Illustrations visibles même lorsque les prérequis ne sont pas encore acquis. */
.game-sheet .technology-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;padding:12px}
.game-sheet .technology{width:100%!important;min-height:110px!important;position:relative}
.game-sheet .technology-icon{width:100%!important;height:80px!important;background-size:cover!important;filter:none!important;opacity:1!important;border:1px solid #73899c!important}
.game-sheet .technology-name{display:block!important;color:#d6e4ed!important;font-size:11px!important;min-height:30px;line-height:1.35}
.game-sheet .technology-lock{display:block!important;left:5px;top:5px;background:#061521e8;border-radius:4px;padding:2px 5px;color:#f1ce86;z-index:2}
.game-sheet .technology-large{filter:none!important;opacity:1!important;background-size:cover!important}
.game-sheet .technology-group h2{font-size:20px!important;margin:0;padding:12px}
.game-sheet .shipyard-columns{grid-template-columns:1fr 1fr;gap:14px}
.build-palette.construction-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.construction-intro{font-size:12px;margin:10px 0 14px;color:#bed0dc}
.construction-cards article{display:grid;grid-template-columns:68px minmax(0,1fr);gap:6px 10px;padding:9px;align-items:start;min-height:110px}
.construction-cards article>img{grid-column:1;grid-row:1 / 3;width:68px;height:68px;aspect-ratio:1;object-fit:cover;border-radius:7px}
.construction-cards .construction-copy{min-width:0}
.construction-cards h3{font:600 13px/1.25 'Segoe UI',sans-serif;margin:0 0 5px;color:#f2d69b}
.construction-cards small{display:block;font-size:10px;line-height:1.4;color:#b8cbd8}
.construction-cards article>button{grid-column:2;min-height:36px;margin:0;font-size:11px;padding:5px 8px}
.construction-cards .installation-upgrade{grid-column:2;display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin:0;border:0;padding:0}
.construction-cards .installation-upgrade>span{font-size:11px;color:#e1e9ee}
.construction-cards .installation-upgrade>small{align-self:center;text-align:right;font-size:10px}
.construction-cards .installation-upgrade>button{grid-column:1 / -1;min-height:36px;font-size:11px;margin:3px 0 0;padding:5px 8px}
.game-sheet:has(.construction-cards){padding:16px}
.game-sheet:has(.construction-cards)>header{margin-bottom:6px}
.game-sheet:has(.construction-cards)>header h2{padding:0;margin:0;font-size:24px}
.game-sheet:has(.construction-cards)>header button{width:44px;height:44px;min-height:44px;padding:0;line-height:24px;font-size:22px}
.construction-cards .installation-upgrade>span{line-height:13px}
@media(min-width:1250px){.game-sheet:has(.construction-cards){width:min(900px,calc(100vw - 360px))}}
.game-sheet:has(.construction-cards) .construction-tabs{padding:5px 0}
.game-sheet:has(.construction-cards) .construction-intro{margin:6px 0 9px}
.game-sheet:has(.construction-cards) .game-shop-offers{margin:8px 0 0;padding:5px 9px}
.game-sheet:has(.construction-cards) .game-shop-offers summary{min-height:28px;font-size:11px}
@media(min-width:1250px){.game-sheet .build-palette.construction-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.construction-cards article{min-height:90px;grid-template-columns:54px minmax(0,1fr);gap:5px 8px;padding:8px}.construction-cards article>img{width:54px;height:54px}.construction-cards h3{font-size:12px}.construction-cards .installation-upgrade{grid-template-columns:1fr}.construction-cards .installation-upgrade>small{text-align:left}.construction-cards .installation-upgrade>span{font-size:10px}.construction-cards .installation-upgrade>button,.construction-cards article>button{min-height:30px;font-size:10px;padding:3px 6px}}
.game-stage .galaxy-caption{top:130px;font-size:22px;max-width:70%;text-shadow:0 2px 6px #000}
.planet-texture-loading{position:absolute;bottom:120px;left:50%;transform:translateX(-50%);padding:10px 15px;background:#071727e8;color:#e6d4a5;border:1px solid #b99b6077;border-radius:8px;font-size:12px;pointer-events:none}
.shop-tile .tile-copy>span{font-size:11px;letter-spacing:1px}
.shop-tile .tile-contents{display:block;font-size:12px;line-height:1.4;color:#eef3f7;margin:7px 0 12px}
.shop-category-heading{grid-column:1 / -1;font:27px Georgia,serif;color:#f0d598;margin:25px 0 3px}
.shop-category-heading small{display:block;font:12px/1.5 'Segoe UI',sans-serif;color:#b5c5d4;margin-top:6px}
.shop-merch-grid.filtered{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto}
.shop-merch-grid.filtered .shop-tile{height:365px!important;grid-column:auto;grid-row:auto}
.shop-merch-grid .officer-tile{grid-column:auto}
.shop-tile .tile-copy h3{font-size:24px;margin:7px 0 9px}
.shop-tile .tile-copy{left:15px;right:15px;bottom:14px}
.shop-tile .tile-shade{background:linear-gradient(0deg,#020c17 0%,#06121cf2 15%,#06121c88 45%,transparent 80%)}
.tile-ship-models{display:flex!important;gap:6px;margin:7px 0 12px}
.tile-ship-models img{width:calc((100% - 12px)/3);height:42px;object-fit:cover;border:1px solid #a7977555;border-radius:4px}
#stellar-shop .stellar-shop-head{padding:5px 6px 12px}
#stellar-shop .stellar-shop-head h2{font:32px/1.15 Georgia,serif;margin:6px 0}
#stellar-shop .stellar-shop-head p{font-size:13px;margin:6px 0}
#stellar-shop .shop-tabs{margin-bottom:12px;padding-bottom:4px}
#stellar-shop .shop-filterbar{margin:8px 0 14px}
#modal.stellar-shop-modal #dialogContent>.row:first-child{padding-bottom:9px;margin-bottom:8px;min-height:44px}
@media(max-width:1000px){.shop-merch-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.shop-merch-grid.filtered{grid-template-columns:1fr}.shop-merch-grid.filtered .shop-tile{height:335px!important}.tile-ship-models img{height:48px}}
@media(min-width:1700px){.game-sheet:has(.construction-cards){width:min(950px,calc(100vw - 430px))}.build-palette.construction-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.game-sheet .shipyard-columns{grid-template-columns:1fr}.game-sheet .technology-strip{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:9px}.game-sheet .technology-icon{height:72px!important}.game-stage .galaxy-caption{top:105px;font-size:18px;max-width:94%}.build-palette.construction-cards{grid-template-columns:1fr}.construction-cards article{min-height:98px;grid-template-columns:64px minmax(0,1fr)}.construction-cards article>img{width:64px;height:64px}.shop-category-heading{font-size:23px}}
@media(max-width:700px){.game-stage .game-sheet:has(.construction-cards){max-height:calc(100dvh - 275px)}.game-sheet:has(.construction-cards) .construction-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.game-sheet:has(.construction-cards) .construction-tabs button{flex:0 0 auto;white-space:nowrap;min-height:44px}.construction-cards article>button,.construction-cards .installation-upgrade>button{min-height:44px}}
/* Les nombres restent entièrement dans la barre, à tous les zooms. */
.game-shell .game-resources{width:min(740px,calc(100% - 48px));max-width:calc(100% - 48px);padding:8px 12px}
.game-shell .game-resources .resourcebar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;min-height:0;position:static;padding:0;align-items:center}
.game-shell .game-resources .resource{min-width:0;max-width:none;width:auto;min-height:78px;padding:4px 8px;gap:2px;justify-content:center}
.game-shell .game-resources .resource-art{width:36px;height:32px;margin:0;transform:none;box-sizing:border-box}
.game-shell .game-resources .visible-resource-label{font-size:11px;line-height:16px}
.game-shell .game-resources .resource strong{font-size:19px;line-height:24px;font-weight:600;max-width:100%;text-align:center}
.game-shell .game-resources .resource-owner{display:none}
.game-shell .planet-controls{left:50%;right:auto;bottom:130px;transform:translateX(-50%);display:flex;justify-content:center;gap:8px;z-index:19}
.game-shell .planet-controls button{display:grid;place-items:center;width:64px;height:44px;padding:0;line-height:1;flex:none}
@media(min-width:901px){.game-topbar #planet-select{position:absolute;left:50%;transform:translateX(-50%);max-width:240px}}
.terrain-filter{min-width:150px;padding:0;overflow:hidden}
.terrain-filter summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 13px;cursor:pointer;list-style:none}
.terrain-filter summary::-webkit-details-marker{display:none}
.terrain-filter summary::after{content:'+';font-size:18px;color:#efd49c}
.terrain-filter[open] summary::after{content:'−'}
.terrain-filter .terrain-filter-content{display:block;padding:0 12px 10px;font-size:11px}
.terrain-filter select{display:block;margin-top:6px;width:100%;min-height:40px}
.terrain-filter .terrain-key{margin:0;padding:0 12px 12px}
.account-panel .account-enter-empire{display:block;width:100%;min-height:58px;font:600 20px Georgia,serif;color:#17140d;background:linear-gradient(120deg,#f3dcab,#c59c52);border:1px solid #ffe7b5;margin:7px 0 14px}
.player-preferences{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.player-preferences section{padding:18px;border:1px solid #758c9d55;border-radius:10px;background:#091b29}
.player-preferences h3{margin:0 0 18px;font:22px Georgia,serif;color:#f0d49b}
.player-preferences label{display:block;font-size:13px;margin:15px 0;color:#d9e6ed}
.player-preferences output{float:right;color:#f0d49b}
.player-preferences input[type=range]{display:block;width:100%;min-height:30px;padding:0;accent-color:#e2bb71;margin:8px 0}
.player-preferences .preference-check{display:flex;align-items:center;gap:10px;min-height:40px}
.player-preferences input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:#e2bb71;flex:none}
.player-preferences p{font-size:12px;line-height:1.6;color:#aec3d3}
.player-preferences>button{min-height:44px;width:fit-content}
.game-shell #surface-globe canvas{filter:brightness(var(--planet-brightness,1)) drop-shadow(0 0 16px #4cabe044)}
/* Décor vivant, sans interaction avec les missions ni les bâtiments. */
.ambient-space{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;contain:layout paint}
.ambient-orbit{position:absolute;left:50%;top:48%;width:46%;height:64%;transform:translate(-50%,-50%) rotate(-18deg);opacity:.8}
.ambient-craft{position:absolute;width:26px;height:13px;offset-path:ellipse(50% 50% at 50% 50%);offset-rotate:auto;animation:ambient-route 38s linear infinite;filter:drop-shadow(-4px 0 5px #63deff99)}
.ambient-craft svg{display:block;width:100%;height:100%}
.orbit-two{width:64%;height:37%;transform:translate(-50%,-50%) rotate(23deg);opacity:.55}
.orbit-two .ambient-craft{width:18px;animation-duration:57s;animation-delay:-19s}
.orbit-three{width:79%;height:80%;transform:translate(-50%,-50%) rotate(-34deg);opacity:.45}
.orbit-three .ambient-craft{width:22px;animation-duration:79s;animation-delay:-41s;animation-direction:reverse}
.ambient-system .ambient-orbit{width:77%;height:65%}.ambient-system .orbit-two{width:48%;height:46%}.ambient-system .orbit-three{width:92%;height:77%}
.ambient-star{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#d7f4ff;box-shadow:0 0 7px #8bd3fa;animation:ambient-twinkle 5.5s ease-in-out infinite;animation-delay:var(--delay)}
.ambient-comet{position:absolute;left:12%;top:0;width:90px;height:2px;background:linear-gradient(90deg,transparent,#77b9d677,#e6faff);transform:rotate(32deg);opacity:0;animation:ambient-comet 31s linear infinite;filter:drop-shadow(0 0 4px #9ed7ff)}
.comet-two{left:54%;animation-duration:47s;animation-delay:-19s;top:10%;width:60px}
@keyframes ambient-route{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes ambient-twinkle{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.4)}}
@keyframes ambient-comet{0%,75%,100%{opacity:0;transform:translate(-12vw,-7vh) rotate(32deg)}77%{opacity:.9}83%{opacity:0;transform:translate(60vw,48vh) rotate(32deg)}}
html[data-space-motion=off] .ambient-space{display:none}html[data-space-resting] .ambient-space *{animation-play-state:paused!important}
body:has(#modal[open]) .ambient-space *,body:has(.game-sheet) .ambient-space *{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.ambient-space *{animation-duration:120s!important}.ambient-comet{display:none}}
@media(max-width:700px){.game-shell .game-resources{width:calc(100% - 20px);max-width:none;padding:7px}.game-shell .game-resources .resource{min-height:40px;padding:2px;gap:2px}.game-shell .game-resources .resource-art{display:none}.game-shell .game-resources .visible-resource-label{font-size:9px;line-height:12px}.game-shell .game-resources .resource strong{font-size:13px;line-height:18px}.game-shell .planet-controls{bottom:106px}.game-shell .planet-controls button{width:56px}.player-preferences{grid-template-columns:1fr}.terrain-filter{top:85px;right:10px;min-width:120px}.terrain-filter summary{font-size:11px}.ambient-orbit{width:68%;height:48%}.ambient-craft{width:20px}.comet-two{display:none}}
