/* Common interface theme. Arena geometry, team colours and simulation are untouched. */
:root{color-scheme:dark;--astreon-bg:#080f19;--astreon-surface:#0d1b29;--astreon-raised:#142637;--astreon-line:#2b4355;--astreon-text:#e8f1f6;--astreon-muted:#9cb1c0;--astreon-accent:#9be9d2;--astreon-gold:#d9aa70;--astreon-font:Inter,"Segoe UI",system-ui,sans-serif}
body.astreon-ui{font-family:var(--astreon-font);color:var(--astreon-text);background-color:var(--astreon-bg);--panel:#0d1b29f5;--line:var(--astreon-line);--muted:var(--astreon-muted);--text:var(--astreon-text);--accent:var(--astreon-accent);--mint:var(--astreon-accent);--gold:var(--astreon-gold)}
.astreon-ui [hidden]{display:none!important}.astreon-ui :is(button,input,select,textarea){font-family:var(--astreon-font);border-radius:7px}.astreon-ui :is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--astreon-accent);outline-offset:4px}.astreon-ui :is(input,select,textarea){accent-color:var(--astreon-accent)}
.astreon-ui .astreon-masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:98px;border-bottom:1px solid var(--astreon-line);position:relative;inset:auto;pointer-events:auto;flex-wrap:nowrap}
.astreon-brand{display:flex;align-items:center;gap:13px;text-decoration:none!important;color:var(--astreon-text)!important;font-size:13px;font-weight:750;letter-spacing:.15em;line-height:1.35;flex:none}.astreon-symbol{font-size:38px;line-height:1;color:var(--astreon-accent)}.astreon-brand small{display:block;margin-top:5px;font-size:9px;letter-spacing:.3em;font-weight:500;color:var(--astreon-muted)}
.astreon-ui .astreon-masthead .astreon-brand{padding:0;margin:0;font-size:13px;gap:13px;letter-spacing:.15em}.astreon-ui .astreon-masthead .astreon-brand small{font-size:9px;letter-spacing:.3em}
.astreon-ui .astreon-masthead .astreon-symbol{font-size:38px;line-height:1;color:var(--astreon-accent);max-width:none;text-align:left}
.astreon-masthead>nav{display:flex;gap:29px;align-items:center;font-size:12px}.astreon-masthead>nav a{color:var(--astreon-muted);text-decoration:none}.astreon-masthead>nav a:hover,.astreon-masthead>nav a[aria-current]{color:var(--astreon-accent)}.astreon-masthead>div{min-width:0}.astreon-account-link{display:inline-flex;min-height:42px;align-items:center;padding:10px 16px;border:1px solid var(--astreon-line);border-radius:6px;font-size:12px;text-decoration:none;color:var(--astreon-text)}.astreon-guest{font-size:11px;color:var(--astreon-muted)}
.astreon-ui .nav-profile{display:flex;align-items:center;gap:10px;max-width:205px;text-decoration:none;color:var(--astreon-text);font-size:12px}.astreon-ui .nav-profile>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.astreon-ui .nav-profile .user-avatar{width:34px;height:34px;flex:none}
.astreon-ui .user-avatar{width:96px;height:96px;color:#8ce2d6}.astreon-ui .user-avatar rect{fill:#142d35;stroke:currentColor;stroke-opacity:.3}.astreon-ui .color-gold{color:#e6bc7c}.astreon-ui .color-violet{color:#b6a1e1}.astreon-ui .color-coral{color:#efa398}
.astreon-ui .portal-header{min-height:98px}.astreon-ui .portal-footer{border-color:var(--astreon-line)}.astreon-ui :is(.auth-card,.profile-panel,.mode-card){background:var(--astreon-surface);border-color:var(--astreon-line);border-radius:10px}.astreon-ui .button{border-radius:7px}.astreon-ui :is(.auth-card,.identity-editor) :is(input,textarea,select){background:var(--astreon-bg);border-color:var(--astreon-line)}
.astreon-ui .hero{grid-template-columns:1fr 1.15fr;padding:65px 0 70px;gap:50px}.astreon-ui .hero h1{font-size:clamp(46px,5vw,72px)}.hero-gameplay{position:relative;margin:0;min-width:0}.hero-gameplay>img{width:100%;height:auto;aspect-ratio:1.24;object-fit:cover;display:block;border:1px solid #4a7080;border-radius:14px;box-shadow:0 30px 80px #0007}.hero-gameplay:before{content:"CAPTURE DU JEU / CAMPAGNE";position:absolute;top:15px;left:15px;z-index:1;background:#08131cdd;border:1px solid #678d9880;padding:8px 10px;color:#cfdfdf;font:8px var(--astreon-font);letter-spacing:.15em;border-radius:4px}.hero-gameplay figcaption{display:flex;flex-direction:column;gap:8px;padding:18px 4px 0}.hero-gameplay figcaption span{font-size:9px;letter-spacing:.16em;color:var(--astreon-accent)}.hero-gameplay figcaption strong{font-size:16px;font-weight:500}.hero-gameplay figcaption small{font-size:11px;color:var(--astreon-muted)}
.astreon-ui .hero-art:before{display:none}.astreon-ui .card-scene{height:190px;background:var(--astreon-bg)}.card-scene img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.mode-card:hover .card-scene img{transform:scale(1.04)}.astreon-ui .card-scene>span{z-index:1;background:#07121de8;padding:6px 8px;border-radius:3px;left:10px;bottom:10px;font-size:7px}.astreon-ui .card-copy .eyebrow{color:var(--astreon-accent)}
.astreon-ui .trailer-section{grid-template-columns:2.7fr 1fr;gap:38px;align-items:start}.game-trailer{border:1px solid var(--astreon-line);border-radius:11px;overflow:hidden;background:#03070d}.game-trailer video{display:block;width:100%;aspect-ratio:16/9;background:#03070d;object-fit:contain}.game-trailer-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:17px 20px;background:var(--astreon-surface);border-top:1px solid var(--astreon-line)}.game-trailer-toolbar .button{font-size:11px;padding:10px 15px;min-height:40px}.game-trailer-toolbar>div{display:flex;gap:9px;flex-wrap:wrap}.trailer-duration{font-size:9px;letter-spacing:.11em;color:var(--astreon-muted)}.trailer-details{border-top:1px solid var(--astreon-line);padding:17px 20px;background:var(--astreon-surface);font-size:11px;color:var(--astreon-muted);line-height:1.9}.trailer-details summary{cursor:pointer;color:var(--astreon-text)}.trailer-details ol{padding-left:18px}.trailer-details time{color:var(--astreon-accent);margin-right:7px}.trailer-details a{color:var(--astreon-accent)}#trailer-status{font-size:11px;color:var(--astreon-gold);margin:10px 20px}.astreon-ui .trailer-aside{padding-top:17px}.astreon-ui .trailer-aside h2{font-size:35px}.auth-gameplay{margin:30px 0 0;border:1px solid var(--astreon-line);border-radius:12px;overflow:hidden;position:relative}.auth-gameplay>img{width:100%;height:auto;display:block;aspect-ratio:1.9;object-fit:cover}.auth-gameplay figcaption{padding:11px 15px;font-size:9px;letter-spacing:.08em;color:var(--astreon-muted);background:var(--astreon-surface)}.astreon-ui .auth-intro>.ship-art{display:none}.astreon-ui .ship-thumb .ship-art{width:100%;height:80px;transform:none}
/* Party landing, preparation, programme, results and in-game menus. */
body.astreon-ui:has(#party){background:var(--astreon-bg);color:var(--astreon-text)}body.astreon-ui:not(.game-page) #party{max-width:1600px;padding:0 5.2% 55px}.astreon-ui .party-heading{padding:30px 0 20px;margin:0;border:0}.astreon-ui .party-heading h1{font-size:24px;letter-spacing:-.04em;margin:7px 0 0;font-weight:500}.astreon-ui .party-heading small{color:var(--astreon-accent);letter-spacing:.16em;font-size:9px}.astreon-ui .party-heading #network{color:var(--astreon-muted);font-size:11px}.astreon-ui .welcome{gap:45px;padding:42px 0;align-items:center;border-top:1px solid var(--astreon-line)}.astreon-ui .welcome>div:first-child>small{color:var(--astreon-accent);letter-spacing:.18em;font-size:9px}.astreon-ui .welcome h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-.05em;font-weight:500;line-height:1.12}.astreon-ui .welcome p{color:var(--astreon-muted);font-size:14px;line-height:1.85}.astreon-ui .welcome .entry{gap:15px}.astreon-ui .welcome form{border:1px solid var(--astreon-line);background:var(--astreon-surface);border-radius:10px;padding:24px}.astreon-ui .welcome form h2{font-size:22px;letter-spacing:-.04em;margin:0 0 25px}.astreon-ui .welcome form label{color:var(--astreon-muted);font-size:12px}.astreon-ui .welcome form :is(input,select){background:var(--astreon-bg);border-color:var(--astreon-line);padding:13px;min-height:45px}.astreon-ui .welcome form>button{background:var(--astreon-accent);color:#102425;border-color:var(--astreon-accent);min-height:45px;font-size:12px;font-weight:650}.astreon-ui .welcome form>button.secondary{background:transparent;color:var(--astreon-text);border-color:#536f7d}.astreon-ui .mode-cards span{border-color:var(--astreon-line);background:var(--astreon-surface);color:var(--astreon-accent);border-radius:6px;font-size:11px}
.party-account-summary{display:flex;align-items:center;gap:13px;grid-column:1/-1;padding:14px 17px;border:1px solid var(--astreon-line);border-radius:9px;background:var(--astreon-surface);margin:0 0 16px;font-size:11px;color:var(--astreon-muted)}.party-account-summary .user-avatar{width:41px;height:41px;flex:none}.party-account-summary strong{display:block;font-size:14px;color:var(--astreon-text);margin-top:4px;font-weight:500}.party-account-summary>a{margin-left:auto;color:var(--astreon-accent);text-decoration:none;white-space:nowrap}.party-game-collage{display:grid;grid-template-columns:1.25fr 1fr;gap:9px;margin-top:28px}.party-game-collage img{width:100%;height:145px;object-fit:cover;border-radius:8px;border:1px solid var(--astreon-line)}
.astreon-ui .welcome{margin:12px 0 0}.astreon-ui .welcome>div:first-child h2{font-size:clamp(32px,3.4vw,48px);line-height:1.12;font-weight:500}
.astreon-ui #party :is(.card,.lobby-navigation,.journey-hero,.program-event,.invitation,dialog){background:var(--astreon-surface);border-color:var(--astreon-line);border-radius:10px}.astreon-ui #party .journey-hero{background:linear-gradient(120deg,#123330,var(--astreon-surface));border-color:#477969}.astreon-ui #party :is(.session-strip,.program-event-head,.lobby-tabs){border-color:var(--astreon-line)}.astreon-ui #party .lobby-tabs button[aria-selected=true]{color:var(--astreon-accent);background:#193a38}.astreon-ui #party :is(.party-profile-setup,.party-event-setup,.party-host-compositions) :is(input,select){background:var(--astreon-bg);border-color:var(--astreon-line)}.astreon-ui #party :is(.room-header h2,.journey-heading h2,.section-title h2){font-weight:500;letter-spacing:-.04em}.astreon-ui #party .journey-guide{color:#bdcfd5}.astreon-ui.game-page .party-site-header{display:none}.astreon-ui #party-game-menu{background:var(--astreon-surface);border-color:var(--astreon-line);color:var(--astreon-text)}
/* Game chrome: only surfaces and controls, never faction/club markings. */
.astreon-ui:is(.campaign-page,.football-page) :is(dialog,.football-setup,.football-championship,.football-help-dialog,.football-club-editor,#combat-lab,#cockpit-more,#targeting,.telemetry){background-color:var(--panel);border-color:var(--astreon-line);color:var(--astreon-text)}.astreon-ui:is(.campaign-page,.football-page) :is(button,select,input,textarea){font-family:var(--astreon-font)}.astreon-ui #cockpit-dock{background:var(--panel);border-color:var(--astreon-line)}.astreon-ui #football>header{background:var(--panel);border-color:var(--astreon-line)}.astreon-ui .football-bottom-bar{background-color:var(--panel);border-color:var(--astreon-line)}.astreon-ui .football-setup-brand>span{color:var(--astreon-accent)}
/* Protected administrative pages use the same surfaces and focus treatment. */
html.astreon-admin body{background:var(--astreon-bg);color:var(--astreon-text);font-family:var(--astreon-font)}html.astreon-admin :is(input,select,button){font-family:var(--astreon-font);border-radius:7px;border-color:var(--astreon-line)}html.astreon-admin :is(input,select){background:var(--astreon-surface);color:var(--astreon-text)}html.astreon-admin a{color:var(--astreon-accent)}html.astreon-admin :is(h1,h2){font-weight:500;letter-spacing:-.035em}html.astreon-admin :is(.card,dialog){background:var(--astreon-surface);border-color:var(--astreon-line)}
@media(max-width:1100px){.astreon-masthead{gap:16px}.astreon-masthead>nav{gap:17px;font-size:11px}.astreon-ui .hero{gap:27px}.astreon-ui .trailer-section{grid-template-columns:2.2fr 1fr;gap:25px}.astreon-ui .card-scene{height:185px}.astreon-ui .welcome{gap:25px}}
@media(max-width:760px){.astreon-ui .astreon-masthead,.astreon-ui .portal-header{min-height:108px;flex-wrap:wrap;gap:10px;padding:17px 0}.astreon-masthead .astreon-brand{font-size:11px;gap:8px;letter-spacing:.1em}.astreon-masthead .astreon-symbol{font-size:30px}.astreon-masthead .astreon-brand small{font-size:7px}.astreon-masthead>nav{order:3;width:100%;justify-content:space-between;padding-top:10px;gap:9px;font-size:10px}.astreon-ui .nav-profile{max-width:145px;font-size:10px;gap:7px}.astreon-ui .nav-profile .user-avatar{width:29px;height:29px}.astreon-account-link{font-size:10px;padding:8px 10px;min-height:36px}.astreon-ui .hero{grid-template-columns:1fr;gap:32px;padding:43px 0 50px}.astreon-ui .hero h1{font-size:51px}.hero-gameplay>img{aspect-ratio:1.45}.hero-gameplay figcaption strong{font-size:14px}.hero-gameplay figcaption small{font-size:10px}.astreon-ui .card-scene{height:145px}.astreon-ui .trailer-section{grid-template-columns:1fr;gap:17px}.astreon-ui .trailer-aside h2{font-size:31px}.game-trailer-toolbar{padding:12px;gap:11px}.game-trailer-toolbar .button{font-size:10px;padding:9px 10px}.trailer-details{padding:13px 15px;font-size:10px}.auth-gameplay{margin-top:22px}.auth-gameplay>img{aspect-ratio:2.2}.astreon-ui .auth-intro{margin-bottom:30px}.astreon-ui .auth-gameplay{display:block}.astreon-ui .welcome{grid-template-columns:1fr;padding:28px 0}.astreon-ui .welcome h2{font-size:36px}.astreon-ui .welcome p{font-size:13px}.astreon-ui .welcome form{padding:21px}.party-account-summary{font-size:10px;gap:10px;padding:12px}.party-account-summary strong{font-size:13px}.party-account-summary>a{font-size:10px}.party-game-collage img{height:116px}.astreon-ui .party-heading{padding:25px 0 18px}.astreon-ui .party-heading h1{font-size:21px}.astreon-ui .party-heading small{font-size:8px}.astreon-ui .party-heading #network{font-size:9px;max-width:140px;text-align:right}}
@media(prefers-reduced-motion:reduce){.astreon-ui *{scroll-behavior:auto;transition:none!important;animation:none!important}}
@media(max-width:760px){.astreon-ui .astreon-masthead .astreon-brand{font-size:11px;gap:8px;letter-spacing:.1em}.astreon-ui .astreon-masthead .astreon-brand small{font-size:7px}.astreon-ui .astreon-masthead .astreon-symbol{font-size:30px}.astreon-ui .welcome>div:first-child h2{font-size:36px}}
