:root{color-scheme:dark;--bg:#060d15;--text:#edf3f8;--muted:#a2b1c2;--orange:#ec9a53;--cyan:#84d8e8;--line:#22303e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--cyan);outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:20;background:#111;padding:12px}.header{position:absolute;top:0;left:0;width:100%;height:112px;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:18px 6vw;border-bottom:0;background:linear-gradient(#050c16b3,transparent)}.brand img{display:block;width:190px;height:auto}.header nav{display:flex;gap:36px;align-items:center;font-size:14px}.header nav a:hover{color:var(--cyan)}.nav-download{border:1px solid #ffffff40;padding:10px 22px;border-radius:4px}.nav-download span{margin-left:22px}.hero{position:relative;min-height:800px;height:100svh;max-height:1050px;overflow:hidden;background:#071321}.hero-image{position:absolute;inset:0;background-image:linear-gradient(90deg,#060d15 0%,#060d15e8 22%,#060d1570 47%,#060d1500 70%),linear-gradient(0deg,#060d15 0%,transparent 35%),url('assets/space.png');background-size:cover;background-position:center,right center,calc(50% + 220px) center;background-repeat:no-repeat}.hero-content{position:relative;padding:225px 6vw 150px;max-width:850px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:3px;color:var(--cyan);margin:0 0 24px}.hero .eyebrow span{display:inline-block;width:7px;height:7px;background:var(--orange);margin-right:12px;box-shadow:0 0 14px #ec9a5370}.hero h1{font-size:clamp(54px,6.3vw,88px);font-weight:650;line-height:1.05;letter-spacing:-3.5px;margin:0 0 30px;text-shadow:0 2px 30px #0008}.hero h1 em{font-style:normal;color:var(--orange)}.hero-description{font-size:19px;line-height:1.8;color:#b9c7d5;margin:0 0 34px}.hero-actions{display:flex;gap:16px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 24px;font-size:14px;font-weight:650;border-radius:4px;border:1px solid transparent;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--orange);color:#19100b;box-shadow:0 5px 30px #ec9a5314}.primary:hover{background:#f4b47c}.ghost{background:#0c18266b;border-color:#526373;color:#e4edf5}.ghost:hover,.secondary:hover{background:#263c4b}.secondary{background:#1b3547;border-color:#42657c}.hero-note{font-size:11px;color:#91a5b9;margin-top:18px}.hero-bottom{position:absolute;bottom:35px;left:6vw;right:6vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff1f;padding-top:25px;font-size:11px;letter-spacing:2px;color:#99aabd}.hero-bottom a{font-size:12px;letter-spacing:.2px;color:#d5e6ef}.hero-bottom a span{margin-left:30px}.content{max-width:1380px;margin:auto;padding:90px 6vw}.universe{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.section-heading h2,h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;font-weight:600;letter-spacing:-1.2px;margin:0 0 22px}.section-heading>p:last-child,.download-heading>p,.design-banner p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:590px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.feature-number{display:block;color:var(--orange);font-size:12px;padding-bottom:24px;border-bottom:1px solid var(--line)}.features h3{font-size:21px;margin:22px 0 10px}.features p{font-size:14px;color:var(--muted);margin:0}.downloads{padding-top:30px}.download-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.download-heading h2{margin:0}.download-heading>p{margin:0}.programs{display:grid;grid-template-columns:1fr 1fr;gap:24px}.program{padding:34px;background:linear-gradient(145deg,#14212e,#0a131e);border:1px solid #283b4b;border-radius:8px}.program.featured{border-top:2px solid var(--orange)}.program-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.program-tag{font-size:10px;letter-spacing:2px;color:var(--cyan)}.version{font-size:12px;color:#c4d6e3;border:1px solid #344b5d;border-radius:30px;padding:3px 12px}.program h3{font-size:32px;letter-spacing:-1px;margin:0 0 10px}.program p{font-size:14px;color:var(--muted);margin:0 0 27px}.program .button{width:100%;min-height:57px}.archive-link{display:block;font-size:12px;color:#b9cddd;margin-top:18px}.archive-link:hover{color:var(--orange)}.program-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:9px;letter-spacing:1.5px;color:#6f899e}.design-banner{display:flex;justify-content:space-between;gap:50px;align-items:center;border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}.design-banner .button{flex-shrink:0}.footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:30px;padding-top:32px;padding-bottom:32px;font-size:11px;color:#71889c}.footer-brand{font-size:24px;font-weight:750;letter-spacing:3px;color:#dce9f3;white-space:nowrap}.footer-brand span{font-size:8px;letter-spacing:1px;display:block}.footer p{flex:1}.footer>a:last-child{color:#a9bdce}@media(min-width:1600px){.hero-image{background-position:center,center,calc(50% + 330px) center}.hero-content{padding-top:260px}}@media(max-width:1000px){.universe{grid-template-columns:1fr;gap:35px}.hero-image{background-position:center,center,calc(50% + 150px) center}.hero h1{font-size:64px}.hero-content{max-width:650px}.design-banner{gap:25px}}@media(max-width:640px){.header{height:90px;padding:14px 6vw}.brand img{width:135px}.header nav{gap:18px;font-size:11px}.header nav>a:first-child{display:none}.nav-download{padding:8px 12px}.nav-download span{display:none}.hero{height:auto;min-height:750px}.hero-image{background-size:auto 640px;background-position:center,center,calc(50% + 135px) 40px;opacity:.85;background-image:linear-gradient(90deg,#060d15d9,#060d1555),linear-gradient(0deg,#060d15 0%,#060d1590 40%,transparent 75%),url('assets/space.png')}.hero-content{padding:270px 6vw 125px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.hero h1{font-size:52px;letter-spacing:-2px}.hero-description{font-size:16px}.hero-actions{gap:10px}.button{gap:20px;padding:14px 18px;font-size:12px}.hero-note{font-size:10px}.hero-bottom{bottom:24px;padding-top:16px}.hero-bottom>span{font-size:8px;letter-spacing:1px}.hero-bottom>a{display:none}.content{padding:55px 6vw}.features{grid-template-columns:1fr;gap:22px}.features article{display:grid;grid-template-columns:35px 1fr;column-gap:20px}.feature-number{grid-row:span 2;padding-top:5px;border:0}.features h3{margin:0 0 8px}.download-heading{display:block}.download-heading>p{margin-top:20px}.programs{grid-template-columns:1fr}.program{padding:26px}.design-banner{display:block}.design-banner .button{margin-top:15px}.footer{flex-wrap:wrap;gap:15px}.footer p{flex-basis:100%;order:3;margin:0}.footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
[hidden]{display:none!important}.header nav{gap:24px}.login-button{font-size:12px;border:1px solid #527287;border-radius:5px;padding:10px 14px;background:#122434}.profile{position:relative;padding:12px 0 12px 16px}.avatar{border:1px solid #8fc6d5;border-radius:50%;width:44px;height:44px;background:#19394b;color:#d5eef7;cursor:pointer;font:600 18px system-ui;overflow:hidden;padding:0;display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}.profile-menu{display:none;position:absolute;right:0;top:100%;background:#101f2d;border:1px solid #344c60;border-radius:8px;min-width:240px;padding:18px;box-shadow:0 18px 50px #0008}.profile:hover .profile-menu,.profile:focus-within .profile-menu,.profile.open .profile-menu{display:block}.profile-menu strong,.profile-menu>span{display:block}.profile-menu strong{font-size:14px}.profile-menu>span{font-size:11px;color:#9bb0c4;margin-bottom:12px}.profile-menu a,.profile-menu button{display:block;text-align:left;width:100%;padding:10px 0;background:none;border:0;color:#dceaf5;font:13px system-ui;cursor:pointer}.profile-menu button:hover{color:var(--orange)}.download-status{border:1px solid var(--line);padding:26px;background:#101e2b;border-radius:8px}.download-status p{color:#bdcfdf}.programs.member-only{grid-template-columns:1fr;max-width:680px}.admin-header{position:relative}.admin-content{padding-top:45px}.admin-message{color:var(--muted)}.member-list{display:grid;gap:15px;margin-top:30px}.member-row{background:#101e2b;border:1px solid var(--line);padding:20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.member-row h3{margin:0;font-size:18px}.member-row p{margin:5px 0;font-size:13px;color:#abc0d1}.member-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.member-actions button,.member-actions select{font:13px system-ui;background:#21394c;color:#e7eef4;border:1px solid #476072;padding:10px;border-radius:4px;cursor:pointer}.member-actions .approve{background:var(--orange);color:#211308}.member-status{font-size:11px;color:var(--cyan)}@media(max-width:640px){.header nav{gap:12px}.header nav>a:not(.nav-download){display:none}.header nav>.nav-download{display:none}.login-button{font-size:11px;padding:8px 10px}.profile{padding-left:0}.avatar{width:38px;height:38px}.admin-content{padding-top:30px}}

/* Logo officiel plus lisible dans l’en-tête. */
.header{height:154px}.brand img{width:300px}.brand{flex-shrink:0}@media(max-width:640px){.header{height:110px}.brand img{width:190px}.header nav{gap:8px}.login-button{font-size:10px;padding:8px}.hero-content{padding-top:270px}}

/* Cadres inspirés de la fenêtre Gestion du jeu ASC. */
.game-frame{position:relative;isolation:isolate;padding:24px;background:none;}
.game-frame::before,.game-frame::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;}
.game-frame::before{background:rgb(4 37 55 / .7);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);}
.game-frame::after{border:1px solid #17618a;clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0,16 L16,0' stroke='%2317618a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath d='M0,16 L16,0' stroke='%2317618a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"),linear-gradient(#23dfe9,#23dfe9),linear-gradient(to bottom,#23dfe9 70px,transparent 70px),linear-gradient(to bottom,#23dfe9 70px,transparent 70px);background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;background-position:0 0,100% 100%,16px 0,0 16px,100% 0;background-size:16px 16px,16px 16px,calc(100% - 16px) 2px,2px 70px,2px 70px;}

.hero-description.game-frame{max-width:520px;padding:22px 26px;color:#c6dce6;font-size:18px;line-height:1.8}
.universe{grid-template-columns:.85fr 1.5fr;gap:54px}
.section-heading>.game-frame{padding:22px 24px;margin-bottom:0;color:#b8ccd9}
.features{gap:18px;align-items:stretch}
.features>.game-frame{padding:24px 20px;min-width:0}
.features .feature-number{color:#23dfe9;border-color:#17618a;padding-bottom:16px}
.features h3{font-size:20px;margin-top:18px}
.features p{color:#b8ccd9}
.program.game-frame{padding:34px;border:0;border-radius:0;background:none}
.download-status.game-frame{border:0;border-radius:0;background:none;margin-bottom:24px}
.program.game-frame .program-meta{border-color:#17618a}
@media(max-width:1000px){.universe{grid-template-columns:1fr;gap:32px}.features>.game-frame{padding:24px}}
@media(max-width:640px){.hero-description.game-frame{padding:20px 22px;font-size:16px}.section-heading>.game-frame{padding:22px}.features>.game-frame{grid-template-columns:30px minmax(0,1fr);column-gap:16px;padding:24px}.features .feature-number{border:0;padding:0}.features h3{margin:0 0 8px}.program.game-frame{padding:26px}.download-status.game-frame{padding:24px}}

/* Homepage: enlarged identity, quieter hero and concept illustrations. */
.header{height:224px;padding:8px 5.4vw;border-bottom:0;z-index:5}
.brand{flex-shrink:1;min-width:0}
.brand img{width:510px;max-width:100%;height:auto;display:block}
.header nav{flex-shrink:0;margin-left:24px}
.hero-content{padding-top:295px;max-width:880px;z-index:2;pointer-events:none}
.hero-content p,.hero-content h1{pointer-events:auto}
.hero h1{font-size:clamp(56px,5.4vw,88px)}
.hero-description.game-frame{max-width:565px;margin-bottom:0}
.hero-image{transform:scale(1.025);animation:ship-flight 18s ease-in-out infinite alternate}
.flight-stars{position:absolute;inset:0;pointer-events:none;z-index:1;mask-image:linear-gradient(90deg,transparent 12%,#000 65%);opacity:.8}
.hero-bottom{z-index:2}
@keyframes ship-flight{from{transform:scale(1.025) translate(0,0)}to{transform:scale(1.045) translate(-12px,4px)}}
.frontiers{padding-top:35px;padding-bottom:70px;position:relative}
.frontiers-heading{max-width:830px;margin-bottom:32px}
.frontiers-heading>p:last-child{color:var(--muted);max-width:700px}
.colony-stories{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.colony-story{min-width:0}
.colony-story figure,.mecha-story figure{margin:0;position:relative}
.colony-story figure{aspect-ratio:1.5;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 65%,#0b465340,transparent 65%)}
.colony-story img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 28px #0005)}
.colony-story figcaption{position:absolute;bottom:4px;left:20px;color:var(--muted);font-size:11px;letter-spacing:1px}
.colony-story .game-frame{min-height:260px;padding:28px}
.frontiers h3{font-size:26px;line-height:1.25;font-weight:600;margin:0 0 18px}
.frontiers .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:14px}
.frontiers .game-frame>p:not(.eyebrow){color:#b9cbd6;font-size:16px;line-height:1.75;margin:0}
.mecha-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-top:70px;background:radial-gradient(ellipse at 78% 50%,#14435345,transparent 60%)}
.mecha-copy{padding:38px}
.mecha-copy h3{font-size:clamp(32px,3.3vw,48px);margin-bottom:25px}
.frontiers .mecha-copy>p:not(.eyebrow)+p{margin-top:18px}
.mecha-story figure{height:640px;text-align:center}
.mecha-story img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 32px #0007)}
.concept-tag{display:block;margin-top:26px;color:var(--cyan);font-size:11px;letter-spacing:.6px}
.development-note{font-size:12px;color:var(--muted);border-top:1px solid #84d8e822;margin:35px 0 0;padding-top:18px;max-width:850px}
@media(max-width:1000px){.header{height:190px}.brand img{width:425px}.hero-content{padding-top:265px}.mecha-story{gap:20px}.mecha-copy{padding:28px}.mecha-story figure{height:540px}.colony-stories{gap:24px}.colony-story .game-frame{min-height:300px}}
@media(max-width:640px){.header{height:160px;padding:8px 5vw;align-items:flex-start}.brand img{width:323px}.brand{max-width:calc(100% - 66px)}.header nav{margin-left:12px;margin-top:18px}.login-button{font-size:11px;padding:8px;max-width:90px;line-height:1.25;text-align:center}.hero{min-height:760px}.hero-content{padding-top:280px}.hero h1{font-size:clamp(43px,11.8vw,62px);letter-spacing:-2px}.hero-image{background-position:center,center,calc(50% + 105px) 95px}.hero-description.game-frame{font-size:16px;padding:20px}.frontiers{padding-top:20px}.colony-stories{grid-template-columns:1fr;gap:30px}.colony-story .game-frame{min-height:0;padding:24px}.colony-story figure{margin-bottom:12px}.frontiers h3{font-size:25px}.mecha-story{grid-template-columns:1fr;margin-top:45px;gap:18px}.mecha-story figure{height:510px;grid-row:1}.mecha-copy{padding:26px}.mecha-copy h3{font-size:36px}.frontiers .game-frame>p:not(.eyebrow){font-size:15px}.development-note{font-size:11px}.frontiers-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-image{animation:none;transform:none}.flight-stars{display:none}}


/* Full-width original composition: complete ship, text in empty left space. */
.hero{height:100vh;height:max(100svh,66.6667vw);min-height:850px;max-height:none;background:#060d15}
.hero-image{inset:0;background-image:linear-gradient(0deg,#060d15,transparent 22%),url('assets/space.png');background-size:100% 100%,100% auto;background-position:center,center top;background-repeat:no-repeat;transform:none;animation:none;opacity:1;mask-image:none}
.hero-content{position:absolute;top:245px;left:5.4vw;width:23%;max-width:300px;padding:0;z-index:2}
.hero h1{font-size:clamp(30px,2.3vw,44px);letter-spacing:-1.5px;line-height:1.12;margin-bottom:20px}
.hero-description.game-frame{font-size:15px;line-height:1.55;padding:16px 18px}
.flight-stars{mask-image:linear-gradient(90deg,transparent 28%,#000 40%);opacity:1}
.hero-bottom>span{font-size:10px;letter-spacing:1.3px}
@media(min-width:1900px){.hero-content{top:265px}}
@media(max-width:1400px){.hero{height:auto;min-height:calc(66.6667vw + 540px)}.hero-image{background-position:center,center 145px}.hero-content{top:calc(66.6667vw + 145px);left:6vw;width:88%;max-width:550px}.hero h1{font-size:40px}.flight-stars{mask-image:linear-gradient(to bottom,transparent 130px,#000 190px,#000 75vw,transparent calc(75vw + 150px))}}
@media(max-width:640px){.hero{min-height:850px}.hero-content{top:calc(66.6667vw + 175px)}.hero h1{font-size:clamp(34px,10vw,42px)}.hero-description.game-frame{font-size:16px;padding:20px}.hero-bottom>span{font-size:8px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){.flight-stars{display:none}}

.hero-content{transform:translateY(35px)}
.hero h1 .title-line{display:block;white-space:nowrap;font-size:.92em}
@media(max-width:640px){.hero h1{font-size:clamp(28px,9vw,40px)}}

/* Keep account controls near the upper-right edge; retain menu placement. */
.header>.brand{align-self:center}
.header>nav{position:absolute;top:12px;right:12px;margin:0}
.profile{padding:0}
.avatar{width:61.6px;height:61.6px;font-size:25px}
.profile-menu{top:calc(100% + 8px);max-width:calc(100vw - 24px)}
@media(max-width:640px){.header>nav{top:10px;right:10px;margin:0}.avatar{width:53.2px;height:53.2px;font-size:24px}.header>.brand{align-self:flex-start;max-width:calc(100% - 68px)}}

/* Transparent hover bridge across the avatar/menu gap. */
.profile-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;background:transparent;pointer-events:auto}
