:root{font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#f1f2f6;color-scheme:dark;--gold:#e9cb91;--sky:#9cc8ef;--border:#2a425c}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:#02050c}button,input,select{font:inherit;color:inherit}button,select,input[type=number]{background:#112135;border:1px solid #38536b;padding:9px 10px;border-radius:8px}button{cursor:pointer;transition:background .2s}button:hover{background:#24415b}input[type=range]{width:100%;accent-color:#ddbf86}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #e5bd68;outline-offset:3px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:#081423;border-bottom:1px solid var(--border);padding:12px 18px}.brand{font-size:16px;font-weight:750;letter-spacing:.08em}.brand span{display:block;font-size:10px;color:#adc4d4;letter-spacing:.14em;font-weight:400}.top a{color:var(--gold);text-decoration:none}.top nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px}.layout{display:grid;grid-template-columns:285px minmax(0,1fr) 265px;min-height:calc(100dvh - 106px)}.panel{background:#0a1725;padding:21px 17px;max-height:calc(100dvh - 100px);overflow:auto}.left{border-right:1px solid var(--border)}.right{border-left:1px solid var(--border)}.eyebrow{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.16em}.panel h1{font:27px/1.12 Georgia,serif;letter-spacing:-.02em;margin:11px 0}.panel h1 em{color:var(--gold);font-weight:400}.panel p{color:#adbfcd;font-size:12px}.panel>label{display:block;color:#b7cada;font-size:11px;font-weight:700;margin-top:13px}.panel>label select,.panel>label input[type=number]{width:100%;margin-top:5px}.twobtn{display:flex;gap:7px;margin-top:10px}.twobtn button{flex:1;min-width:0;font-size:11px}.primary{background:#e3c38a;color:#0a1929;font-weight:800;border-color:#e3c38a}.primary:hover{background:#f4dca9}.divider{border-top:1px solid #344457;margin:20px 0 14px}.note,.smalltext{font-size:11px;color:#aabaca;line-height:1.55;margin-top:16px;border-left:2px solid #c5a670;padding-left:9px}.stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#101d31 0%,#02040b 78%);min-height:620px}canvas{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.hud{position:absolute;top:15px;left:18px;right:18px;pointer-events:none;display:flex;justify-content:space-between;gap:10px}.pill{font-size:10px;border:1px solid #365571;background:#0d1e31d9;padding:6px 10px;border-radius:8px;color:#beddf0}.help{position:absolute;top:62px;left:17px;right:17px;pointer-events:none;text-align:center;color:#c0d0e3b9;font-size:11px}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;color:#fff9;font-weight:300;font-size:24px}.bottomBtns{position:absolute;bottom:78px;right:16px;display:flex;gap:6px}.bottomBtns button{background:#152e43d9;font-size:11px}.mapread{position:absolute;bottom:15px;left:16px;padding:10px 14px;border:1px solid #45647e;background:#071728ce;border-radius:8px;font-size:11px;max-width:calc(100% - 32px);color:#d9e6f0}.warnings{position:absolute;bottom:145px;left:18px;right:18px;pointer-events:none;font-size:10px;color:#cbb589;text-align:center;text-shadow:0 0 5px #000}.right h2{font:24px/1.22 Georgia,serif;margin:10px 0 3px}.kind{font-size:12px;color:var(--gold);padding-bottom:9px}.dataRow{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #263a50;padding:9px 0;font-size:11px}.dataRow span:first-child{color:#9bafc2}.dataRow span:last-child{text-align:right}.switch{display:flex!important;gap:8px;align-items:center;margin:10px 0!important;font-size:12px!important;font-weight:400!important}.switch input{accent-color:#dfc88e}.legend{font-size:10px;margin-top:22px;color:#9eb3c5}footer{font-size:10px;color:#8098af;text-align:center;padding:12px;background:#06101d;border-top:1px solid #24364d}@media(max-width:1050px){.layout{grid-template-columns:240px minmax(0,1fr)}.right{grid-column:1/-1;max-height:none;border-left:0;border-top:1px solid var(--border)}}@media(max-width:720px){.top{padding:9px 12px}.top nav{gap:6px 11px;font-size:11px}.layout{display:flex;flex-direction:column}.stage{min-height:65dvh;order:1}.left{order:2;max-height:none;border-right:0;border-top:1px solid var(--border)}.right{order:3;max-height:none}.help{font-size:9px;text-align:left}.bottomBtns{bottom:74px}.bottomBtns button{padding:8px}.warnings{bottom:116px}.mapread{font-size:10px}.panel h1{font-size:25px}}

/* V0.15 — cockpit and immersive full-stage layout */
.cinematicUI{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:7px;pointer-events:auto;white-space:nowrap}
.cinematicUI button{background:#071725d9;border:1px solid #50728a;border-radius:20px;font-size:11px;padding:8px 12px;backdrop-filter:blur(8px);color:#e8dfc9}
.routeCard{background:#0e2232;border:1px solid #345573;border-radius:9px;padding:11px;margin:12px 0 8px;font-size:12px;line-height:1.6;color:#d2e1ef}
.routeCard strong{color:#eed3a0}.routeCard small{display:block;color:#9db4c6;line-height:1.5;margin-top:5px}
.right label select{display:block;width:100%;margin-top:8px}.stage::after{content:'';pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 150px #00000069}
body.immersive .layout{grid-template-columns:minmax(0,1fr)}body.immersive .left,body.immersive .right{display:none}body.immersive .stage{height:calc(100dvh - 102px);min-height:420px}
body.immersive .warnings{bottom:90px}body.immersive .help{opacity:.65}
@media(max-width:720px){.cinematicUI{top:auto;bottom:130px;left:50%;max-width:100%;transform:translateX(-50%)}.cinematicUI button{font-size:10px;padding:7px}.stage{min-height:66dvh}body.immersive .stage{order:1;height:calc(100dvh - 94px);min-height:450px}.right label select{width:100%}}

/* V0.18 — Vue 3D intégrée au planétarium, source partagée avec le voyage complet */
body.embedFocus .top,body.embedFocus footer,body.embedFocus .panel.left,body.embedFocus .panel.right{display:none!important}
body.embedFocus .layout{display:block;height:100dvh;min-height:0}
body.embedFocus .stage{width:100%;height:100dvh;min-height:0!important}
body.embedFocus .cinematicUI{top:8px;bottom:auto}
body.embedFocus .cinematicUI #immersive{display:none}
body.embedFocus .warnings{bottom:70px}
body.embedFocus .help{top:45px}
body.embedFocus .hud{top:8px}
body.embedFocus .bottomBtns{bottom:64px}
@media(max-width:720px){body.embedFocus .cinematicUI{top:32px;bottom:auto}}
