/* Space Empire 4.5.5A — interface monde & couche orbitale */
.world-overlay{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:12px;background:rgba(0,4,10,.72);backdrop-filter:blur(10px)}
.world-backdrop{position:absolute;inset:0}.world-shell{position:relative;width:min(1320px,calc(100vw - 24px));height:min(860px,calc(100dvh - 24px));display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid rgba(103,220,255,.25);border-radius:24px;background:linear-gradient(145deg,rgba(4,13,23,.985),rgba(2,8,15,.98));box-shadow:0 35px 120px #000,0 0 70px rgba(83,209,255,.08)}
.world-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(110,220,255,.14);background:linear-gradient(180deg,rgba(11,31,48,.95),rgba(5,16,27,.88))}.world-head small,.world-head strong{display:block}.world-head small{font-size:8px;letter-spacing:.18em;color:#68dfff;font-weight:850}.world-head strong{font-size:18px;color:#edfbff}.world-head-meta{font-size:10px;color:#789eb3;margin-top:3px}.world-close{width:40px;height:40px;border-radius:12px;border:1px solid rgba(108,220,255,.2);background:#071725;color:#b6d8e8;font-size:18px}
.world-layout{min-height:0;display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr)}.world-visual-wrap{min-height:0;padding:16px;border-right:1px solid rgba(100,220,255,.1);background:radial-gradient(circle at 50% 40%,rgba(29,83,112,.12),transparent 55%),#020811}.world-interface{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr}.world-tabs{display:flex;gap:4px;overflow-x:auto;padding:9px;border-bottom:1px solid rgba(100,220,255,.1);background:#061421}.world-tabs button{flex:0 0 auto;min-height:42px;padding:8px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:#769caf;font-size:10px;font-weight:750}.world-tabs button span{display:block;font-size:15px;margin-bottom:2px}.world-tabs button.active{color:#eafcff;border-color:rgba(103,221,255,.28);background:linear-gradient(180deg,rgba(20,61,78,.7),rgba(8,30,43,.7))}.world-content{min-height:0;overflow:auto;padding:14px 16px 28px}.world-loading,.world-error{height:100%;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#9cbfd0}.world-loading i{width:34px;height:34px;border:2px solid #2c5265;border-top-color:#6be5ff;border-radius:50%;animation:worldSpin .8s linear infinite}.world-loading small{color:#55798d}@keyframes worldSpin{to{transform:rotate(360deg)}}
.world-space{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden;border-radius:20px;border:1px solid rgba(101,219,255,.13);background:radial-gradient(circle at 50% 45%,rgba(34,82,110,.16),transparent 34%),linear-gradient(#02060d,#020914 60%,#020710)}.world-stars{position:absolute;inset:0;background-image:radial-gradient(#fff 0.6px,transparent 0.9px),radial-gradient(#65cfff 0.5px,transparent .8px);background-size:71px 71px,113px 113px;background-position:12px 19px,43px 37px;opacity:.44}.world-globe{position:absolute;left:50%;top:44%;width:min(210px,45%);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.42),transparent 13%),radial-gradient(circle at 68% 72%,rgba(0,0,0,.34),transparent 48%),repeating-linear-gradient(155deg,rgba(255,255,255,.07) 0 8px,rgba(0,0,0,.035) 8px 20px),var(--planet);box-shadow:inset -30px -22px 55px rgba(0,0,0,.45),inset 18px 12px 34px rgba(255,255,255,.12),0 0 40px color-mix(in srgb,var(--planet) 55%,transparent),0 0 0 1px rgba(255,255,255,.24);animation:worldPlanetFloat 7s ease-in-out infinite}.world-atmosphere{position:absolute;inset:-7px;border-radius:50%;box-shadow:0 0 14px rgba(108,219,255,.45),0 0 34px rgba(79,176,255,.22);pointer-events:none}.world-clouds{position:absolute;inset:6%;border-radius:50%;opacity:.26;background:repeating-linear-gradient(16deg,transparent 0 13px,rgba(255,255,255,.7) 13px 16px,transparent 16px 30px);mix-blend-mode:screen;animation:worldCloud 26s linear infinite}.world-night{position:absolute;inset:0;border-radius:50%;background:linear-gradient(100deg,transparent 36%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.58) 75%,rgba(0,0,0,.78));pointer-events:none}@keyframes worldPlanetFloat{50%{transform:translate(-50%,-52%) scale(1.015)}}@keyframes worldCloud{to{transform:rotate(360deg)}}
.world-orbit-ring{position:absolute;left:50%;top:44%;border:1px solid rgba(115,220,255,.15);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg)}.world-orbit-ring.r1{width:58%;height:25%}.world-orbit-ring.r2{width:76%;height:36%;transform:translate(-50%,-50%) rotate(16deg)}.world-orbit-ring.r3{width:92%;height:48%;transform:translate(-50%,-50%) rotate(-24deg);border-style:dashed;opacity:.65}.world-shield{position:absolute;left:50%;top:44%;width:min(245px,53%);aspect-ratio:1;border:2px solid rgba(94,229,255,.34);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 calc(14px + var(--shield)*5px) rgba(75,216,255,.22),inset 0 0 22px rgba(83,218,255,.08);animation:worldShield 3s ease-in-out infinite}@keyframes worldShield{50%{opacity:.62;transform:translate(-50%,-50%) scale(1.025)}}
.world-orbital{--radius:calc(118px + var(--ring)*48px);position:absolute;left:50%;top:44%;width:24px;height:24px;margin:-12px;transform:rotate(var(--a)) translateX(var(--radius));animation:worldOrbit var(--speed) linear infinite;display:grid;place-items:center;filter:drop-shadow(0 0 6px rgba(91,218,255,.6))}.world-orbital b{font-size:13px;line-height:1;padding:3px;border:1px solid rgba(100,220,255,.28);border-radius:7px;background:rgba(4,15,25,.92)}@keyframes worldOrbit{to{transform:rotate(calc(var(--a) + 360deg)) translateX(var(--radius))}}.world-orbital-defense b,.world-orbital-battery b{border-color:rgba(255,185,87,.45);filter:drop-shadow(0 0 5px rgba(255,171,70,.4))}.world-orbital-weather b{border-color:rgba(117,225,255,.55)}.world-orbital-habitat b{border-color:rgba(119,255,173,.5)}.world-orbital-shipyard b{border-color:rgba(197,156,255,.5)}.world-visual-caption{position:absolute;left:14px;right:14px;bottom:14px;padding:10px 12px;border:1px solid rgba(99,217,255,.15);border-radius:12px;background:rgba(4,14,24,.82);backdrop-filter:blur(10px)}.world-visual-caption b,.world-visual-caption span{display:block}.world-visual-caption b{font-size:15px;color:#effcff}.world-visual-caption span{font-size:9px;color:#6f95a9;margin-top:3px;text-transform:uppercase;letter-spacing:.07em}
.world-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:13px}.world-section-head small{font-size:8px;letter-spacing:.15em;color:#61dfff;font-weight:850}.world-section-head h2{margin:3px 0 0;font-size:20px}.world-section-head p{max-width:390px;color:#6f92a5;font-size:11px;line-height:1.45;margin:0}.world-content h3{font-size:9px;letter-spacing:.13em;color:#67dfff;text-transform:uppercase;margin:16px 0 8px}.world-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:7px}.world-metric{display:flex;gap:9px;align-items:center;min-height:64px;padding:9px 10px;border:1px solid rgba(103,218,255,.14);border-radius:12px;background:linear-gradient(145deg,rgba(8,24,38,.85),rgba(5,15,26,.8))}.world-metric>span{font-size:20px}.world-metric small,.world-metric b,.world-metric em{display:block}.world-metric small{font-size:8px;color:#63869a;text-transform:uppercase;letter-spacing:.06em}.world-metric b{font-size:14px;margin-top:2px;color:#e9faff}.world-metric em{font-size:8px;color:#60879a;font-style:normal}.world-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.world-columns section,.world-content>section{padding:10px;border:1px solid rgba(98,214,255,.12);border-radius:13px;background:rgba(6,18,30,.66)}.world-meter{margin:7px 0}.world-meter span{display:flex;justify-content:space-between;font-size:9px;color:#81a6b9}.world-meter i{display:block;height:6px;margin-top:4px;border-radius:9px;background:#0c2434;overflow:hidden}.world-meter em{display:block;height:100%;background:linear-gradient(90deg,#48c3ff,#68f1c4);border-radius:inherit}.world-meter.danger em{background:linear-gradient(90deg,#ffc04f,#ff6e5d)}.world-stockgrid,.world-orbit-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.world-orbit-summary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:13px}.world-alert,.world-disease,.world-ok{margin:10px 0;padding:9px 11px;border-radius:10px;font-size:10px}.world-alert,.world-disease{border:1px solid rgba(255,106,99,.25);background:rgba(255,74,74,.08);color:#ffd0cc}.world-disease b,.world-disease span,.world-disease small{display:block}.world-disease span{margin-top:3px}.world-disease small{color:#a97878;margin-top:3px}.world-ok{border:1px solid rgba(94,238,169,.2);background:rgba(64,220,149,.07);color:#9cf0c9}.world-note{color:#668b9f;font-size:9px;line-height:1.45}.world-cardline{display:flex;justify-content:space-between;gap:12px;padding:8px 9px;margin:5px 0;border:1px solid rgba(102,210,255,.09);border-radius:9px;background:rgba(255,255,255,.025);font-size:10px}.world-cardline span{color:#7c9dad;text-align:right}.world-built-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.world-built-grid article{display:flex;gap:9px;align-items:center;padding:9px;border:1px solid rgba(100,214,255,.12);border-radius:11px;background:#071725}.world-built-grid article>span{font-size:20px}.world-built-grid b,.world-built-grid small{display:block}.world-built-grid b{font-size:10px}.world-built-grid small{font-size:8px;color:#668da1;margin-top:2px}.world-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px}.world-catalog article{display:grid;grid-template-rows:auto 1fr auto auto;gap:7px;padding:10px;border:1px solid rgba(101,217,255,.14);border-radius:13px;background:linear-gradient(145deg,rgba(7,22,35,.9),rgba(4,14,24,.84))}.world-catalog-title{display:flex;gap:8px;align-items:center}.world-catalog-title>span{font-size:20px}.world-catalog-title b,.world-catalog-title small{display:block}.world-catalog-title b{font-size:10px}.world-catalog-title small{font-size:8px;color:#688da0;margin-top:2px}.world-catalog p{font-size:9px;color:#7898aa;line-height:1.4;margin:0}.world-cost{font-size:8px;color:#d2b878}.world-catalog button,.world-defense-actions button{min-height:38px;border-radius:9px;border:1px solid rgba(91,218,255,.2);background:#0b2638;color:#cceef8;font-size:9px}.world-catalog button:hover,.world-defense-actions button:hover{border-color:#65dcff80;background:#10344a}.world-catalog button:disabled{opacity:.35}.world-defense-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}.world-open-btn{border-color:rgba(86,223,255,.28)!important;background:rgba(18,63,79,.58)!important;color:#d8f8ff!important}.admin-floating-panel{z-index:130!important}
@media(max-width:900px){.world-shell{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:18px}.world-layout{grid-template-columns:1fr;grid-template-rows:300px minmax(0,1fr)}.world-visual-wrap{padding:8px;border-right:0;border-bottom:1px solid rgba(100,220,255,.1)}.world-space{min-height:0}.world-globe{width:135px}.world-orbit-ring.r1{width:42%;height:28%}.world-orbit-ring.r2{width:58%;height:38%}.world-orbit-ring.r3{width:74%;height:50%}.world-orbital{--radius:calc(76px + var(--ring)*31px)}.world-visual-caption{bottom:8px;left:8px;right:8px}.world-section-head{display:block}.world-section-head p{margin-top:7px}.world-columns{grid-template-columns:1fr}}
@media(max-width:560px){.world-overlay{padding:0}.world-shell{width:100vw;height:100dvh;border-radius:0;border:0}.world-head{padding:9px 10px}.world-head strong{font-size:14px}.world-layout{grid-template-rows:225px minmax(0,1fr)}.world-tabs{padding:5px}.world-tabs button{min-height:37px;padding:5px 8px;font-size:8px}.world-tabs button span{font-size:13px}.world-content{padding:10px 10px 22px}.world-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.world-stockgrid{grid-template-columns:1fr 1fr}.world-catalog{grid-template-columns:1fr}.world-defense-actions{grid-template-columns:1fr}.world-section-head h2{font-size:16px}.world-orbital{--radius:calc(60px + var(--ring)*24px);width:20px;height:20px}.world-orbital b{font-size:10px}.world-visual-caption{padding:6px 8px}.world-visual-caption b{font-size:11px}.world-visual-caption span{font-size:7px}}

/* 4.5.5A2 — aperçu 3D des infrastructures orbitales */
.world-orbital-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.world-orbital-actions>button{flex:1 1 120px}
.world-orbital-actions>button.ghost{background:transparent;border:1px solid rgba(130,190,255,.34);color:#bfe5ff}
.world-orbital-actions>button.ghost:hover{background:rgba(87,169,255,.1)}
