/* Player-first navigation. Existing PlayNexus palette, artwork and fonts stay intact. */
[hidden] { display:none !important; }
.player-topbar { position:relative; height:auto; min-height:84px; gap:1.5rem; padding-block:1.15rem; background:#061014; }
.player-topbar nav { gap:clamp(.8rem,2vw,2rem); align-items:center; }
.player-topbar nav a { font-size:.7rem; letter-spacing:.09em; line-height:1.3; }
.player-topbar nav a[aria-current="page"] { color:var(--cyan); }
.player-topbar .discord-link { white-space:nowrap; }
.network-page :where(a,button,summary,input):focus-visible,.player-topbar a:focus-visible,.player-footer a:focus-visible { outline:3px solid var(--cyan); outline-offset:5px; }
.network-page h1,.network-page h2,.network-page h3 { text-transform:uppercase; font-family:var(--display); }
.network-hero { position:relative; isolation:isolate; padding:clamp(3rem,6vw,6rem) clamp(1.25rem,6vw,7rem); overflow:clip; }
.network-hero .hero-backdrop { background-position:center 45%; }
.network-hero .hero-grid { inset:0; }
.network-hero__copy { max-width:800px; }
.network-hero h1 { margin:0; font-size:clamp(3.4rem,7.7vw,7.5rem); line-height:.88; letter-spacing:-.055em; font-weight:900; }
.network-hero h1 em { color:transparent; -webkit-text-stroke:1.5px var(--orange); font-style:normal; }
.network-hero__copy > p:not(.eyebrow) { max-width:570px; margin:1.5rem 0 1.8rem; color:var(--paper-muted); font-size:1.08rem; }
.network-primary { display:inline-flex; justify-content:space-between; align-items:center; gap:2rem; padding:1rem 1.3rem; text-decoration:none; color:var(--ink); background:var(--orange); font:900 .83rem/1.3 var(--display); text-transform:uppercase; letter-spacing:.05em; }
.network-primary:hover { background:#ff884d; }
.network-primary span { font-size:1.15rem; }
.network-section { padding:clamp(2.75rem,5vw,5rem) clamp(1.25rem,6vw,7rem); }
.network-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }
.network-heading .eyebrow { margin-bottom:.65rem; }
.network-heading h2,.network-community h2 { margin:0; font:900 clamp(1.9rem,3.1vw,3.2rem)/1 var(--display); letter-spacing:-.035em; }
.network-heading > span { color:var(--paper-muted); font-size:.78rem; }
.network-heading h1 { margin:0; font:900 clamp(2.8rem,5.5vw,5.2rem)/.95 var(--display); letter-spacing:-.05em; }
.network-intro { color:var(--paper-muted); margin:0 0 1.8rem; max-width:650px; }
.network-intro strong { color:var(--paper); }
.mobile-join-bridge { display:none; }
.network-guide-intro h1,.network-community h1 { margin:0; font:900 clamp(2.8rem,5.5vw,5.2rem)/.95 var(--display); text-transform:uppercase; letter-spacing:-.045em; }
.network-guide-intro > p:not(.eyebrow) { color:var(--paper-muted); max-width:700px; margin:1.25rem 0 2rem; }
.calendar-compact { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-bottom:1rem; }
.calendar-compact > div { padding:1.4rem; border:1px solid var(--line); background:var(--ink-soft); }
.calendar-compact span { color:var(--cyan); font:800 .65rem/1.3 var(--display); text-transform:uppercase; letter-spacing:.1em; }
.calendar-compact strong { display:block; margin:.7rem 0; font:900 clamp(1.5rem,3vw,2.4rem)/1.2 var(--display); }
.calendar-compact small { color:var(--paper-muted); }
.network-join { padding-top:3rem; }
.network-faq { border-top:1px solid var(--line); }
.network-faq details,.network-details { border-bottom:1px solid var(--line); }
.network-faq summary,.network-details summary { padding:1.15rem 1.8rem 1.15rem 0; cursor:pointer; font:800 1rem/1.4 var(--display); }
.network-faq details > p,.network-details > p { color:var(--paper-muted); font-size:.88rem; max-width:800px; margin:0 0 1.25rem; }
.network-faq code { overflow-wrap:anywhere; }
.network-faq a,.network-details a { color:var(--cyan); text-underline-offset:4px; }
.network-record { margin:0 0 1rem; }
.network-record > div { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.5rem 0; border-bottom:1px solid var(--line); font-size:.78rem; }
.network-record dt { color:var(--paper-muted); }
.network-record dd { text-align:right; margin:0; max-width:65%; overflow-wrap:anywhere; }
.network-map-record { margin:1.4rem 0 0; }
.network-map-section { padding-top:0; }
.network-map-section .map-preview-frame { max-width:800px; margin:1.2rem auto; }
.network-map-section .map-preview-empty { min-height:160px; }
.network-map-section .network-details + .network-details { margin-top:.85rem; }
.network-map-section .map-seed-visual { position:relative; width:100%; min-height:360px; justify-content:center; overflow:hidden; }
.network-map-section .map-seed-visual::before { content:""; position:absolute; inset:8%; border:1px solid rgba(53,213,230,.18); border-radius:50%; transform:rotate(var(--seed-tilt,0deg)); box-shadow:0 0 0 32px rgba(53,213,230,.025),0 0 0 96px rgba(243,107,43,.018); }
.network-map-section .map-seed-visual > * { position:relative; z-index:1; }
.network-map-section .map-seed-visual > span { max-width:100%; color:rgba(53,213,230,.16); font-size:clamp(3rem,9vw,7rem); letter-spacing:-.08em; overflow-wrap:anywhere; }
.network-map-section .map-seed-visual .network-text-link { margin-top:1.25rem; color:var(--orange); }
.campaign-estimate { display:block; color:var(--paper-muted); padding:.65rem 0; font-size:.68rem; }
.player-topbar ~ main :is(.guide-hero,.dashboard-hero,.growth-v1-hero,.surface-hero,.market-hero,.legal-hero) { padding-top:clamp(3rem,5vw,5rem); min-height:0; }
.network-jump { display:flex; gap:1.5rem; margin-bottom:1.2rem; font:800 .7rem/1.3 var(--display); letter-spacing:.09em; }
.network-jump a { color:var(--paper-muted); text-decoration:none; padding:.45rem 0; border-bottom:1px solid var(--line); }
.network-jump a:hover { color:var(--cyan); border-color:currentColor; }
[data-server-card] { scroll-margin-top:1.5rem; }
[data-server-card]:target { outline:2px solid var(--card-accent); outline-offset:4px; }
.network-page:has(#main-server:target) .network-jump a[href="#main-server"],
.network-page:has(#duo-server:target) .network-jump a[href="#duo-server"] { color:var(--cyan); border-color:currentColor; }
.battlefield-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
/* A server choice changes the visible detail panel, not just the URL/scroll.
   Native fragment links also work before JavaScript or live data loads. */
[data-server-details] .battlefield-grid { grid-template-columns:minmax(0,1fr); max-width:920px; }
[data-server-details] [data-server-card] { scroll-margin-top:7rem; }
[data-server-details]:not(:has(#duo-server:target)) [data-server-card="duo"],
[data-server-details]:has(#duo-server:target) [data-server-card="main"] { display:none; }
[data-server-details]:not(:has(#duo-server:target)) .network-jump a[href="#main-server"] { color:var(--orange); border-color:currentColor; }
.battlefield-card { position:relative; min-width:0; padding:clamp(1.2rem,2.4vw,2.4rem); border:1px solid var(--line); border-top:3px solid var(--card-accent); background:linear-gradient(135deg,#102229,#0a171c); --card-accent:var(--cyan); }
.battlefield-card--main { --card-accent:var(--orange); background:radial-gradient(ellipse at 95% 0%,rgba(243,107,43,.11),transparent 65%),linear-gradient(135deg,#102229,#0a171c); }
.battlefield-card__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.format-tag { color:var(--card-accent); font:800 .66rem/1.4 var(--display); letter-spacing:.12em; }
.network-status { color:var(--paper-muted); font:800 .65rem/1.3 var(--display); letter-spacing:.07em; }
.network-status::before { content:""; display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:.45rem; background:currentColor; }
[data-server-availability="online"] .network-status { color:#48e893; }
.battlefield-card h3 { margin:1.7rem 0 .8rem; font-size:clamp(2.7rem,4.2vw,4.6rem); font-weight:900; line-height:.95; letter-spacing:-.045em; }
.battlefield-card h3 span { display:block; color:var(--paper); margin:.85rem 0 0; font:600 .94rem/1.4 var(--body); letter-spacing:0; text-transform:none; }
.battlefield-card > p { max-width:500px; min-height:3em; margin:.65rem 0 1.3rem; color:var(--paper-muted); font-size:.88rem; }
.battlefield-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:0 0 1.6rem; padding-top:1rem; border-top:1px solid var(--line); }
.battlefield-facts dt { color:var(--paper-muted); text-transform:uppercase; font:700 .57rem/1.3 var(--display); letter-spacing:.09em; }
.battlefield-facts dd { margin:.45rem 0 0; font:800 .85rem/1.4 var(--display); overflow-wrap:anywhere; }
.battlefield-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.85rem 1rem; }
.battlefield-actions button { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:46px; padding:.85rem 1rem; background:var(--card-accent); border:0; color:var(--ink); cursor:pointer; font:900 .73rem/1.3 var(--display); text-transform:uppercase; }
.battlefield-actions button:hover { background:var(--paper); }
.battlefield-actions a,.network-text-link { color:var(--paper-muted); font-size:.8rem; text-underline-offset:4px; }
.battlefield-actions a:hover,.network-text-link:hover { color:var(--cyan); }
.battlefield-command { display:block; margin-top:1rem; font-size:.74rem; overflow-wrap:anywhere; color:var(--paper-muted); user-select:all; }
.connection-hint { margin:1.3rem 0 0; color:var(--paper-muted); font-size:.82rem; }
.connection-hint kbd { color:var(--paper); }
.network-copy-fallback { display:block; padding:1rem; margin-top:1rem; border:1px solid var(--cyan); font-size:.85rem; }
.network-copy-fallback input { display:block; width:100%; padding:.75rem; margin-top:.5rem; color:var(--paper); background:var(--ink); border:1px solid var(--line); }
.network-next-wipe { padding-top:0; }
.network-wipe-notice { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.2rem 1.4rem; border-left:3px solid var(--orange); background:rgba(243,107,43,.075); }
.network-wipe-notice strong { color:var(--orange); font:800 .72rem/1.5 var(--display); letter-spacing:.06em; }
.network-wipe-notice p { margin:.35rem 0 0; color:var(--paper-muted); font-size:.82rem; }
.network-wipe-notice > a { flex-shrink:0; font-size:.82rem; text-underline-offset:4px; }
.network-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:3rem 0 1.2rem; }
.network-benefits article > span { color:var(--cyan); font:800 .63rem/1.3 var(--display); letter-spacing:.08em; }
.network-benefits h3 { font-size:1.25rem; line-height:1.2; margin:1rem 0 .7rem; }
.network-benefits p { color:var(--paper-muted); font-size:.88rem; margin:0; max-width:400px; }
.network-community { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); border-top:1px solid var(--line); background:linear-gradient(130deg,rgba(53,213,230,.045),transparent); }
.network-community > div > p:not(.eyebrow) { color:var(--paper-muted); max-width:480px; margin:1.2rem 0 1.7rem; }
.community-shortcuts { display:grid; align-content:start; }
.community-shortcuts > a:not(.network-text-link) { display:grid; gap:.35rem; border-bottom:1px solid var(--line); padding:.9rem 0; text-decoration:none; }
.community-shortcuts span { color:var(--cyan); font:800 .58rem/1.3 var(--display); letter-spacing:.1em; }
.community-shortcuts strong { font-size:.98rem; }
.community-shortcuts > small { margin-top:1rem; color:var(--paper-muted); font-size:.72rem; }
.community-shortcuts > .network-text-link { margin-top:.75rem; font-size:.7rem; }
.player-footer { display:grid; grid-template-columns:1.3fr 1fr 1fr .7fr; align-items:start; gap:2rem; padding:3rem clamp(1.25rem,6vw,7rem); border-top:1px solid var(--line); background:#030a0d; }
.player-footer > div > p { text-align:left; font-size:.83rem; color:var(--paper-muted); margin:1rem 0; }
.player-footer small { color:var(--paper-muted); font-size:.72rem; }
.player-footer nav { display:grid; gap:.5rem; }
.player-footer nav strong { font:800 .62rem/1.3 var(--display); color:var(--cyan); letter-spacing:.12em; margin-bottom:.35rem; }
.player-footer nav a { font-size:.77rem; color:var(--paper-muted); text-decoration:none; }
.player-footer nav a:hover { color:var(--paper); text-decoration:underline; }
@media(max-width:1050px) {
  .player-topbar { grid-template-columns:1fr auto; }
  .player-topbar nav { grid-row:2; grid-column:1/-1; justify-content:center; flex-wrap:wrap; gap:1rem 2rem; }
  .network-heading { align-items:start; flex-direction:column; gap:.65rem; }
  .player-footer { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .player-topbar { padding:.9rem 1.2rem; gap:1rem; }
  .player-topbar .brand { font-size:.83rem; letter-spacing:.07em; }
  .player-topbar .brand img { width:32px; height:32px; }
  .player-topbar .discord-link { font-size:.56rem; padding:.6rem; }
  .player-topbar nav { justify-content:space-between; gap:.7rem; }
  .player-topbar nav a { font-size:.6rem; letter-spacing:.035em; }
  .network-hero { padding:2.5rem 1.25rem; }
  .network-hero h1 { font-size:clamp(2.6rem,10.4vw,4.6rem); }
  .network-hero__copy > p:not(.eyebrow) { font-size:.96rem; }
  .battlefield-grid,.network-benefits,.network-community { grid-template-columns:1fr; }
  .calendar-compact { grid-template-columns:1fr; }
  .battlefield-card > p { min-height:0; }
  .network-join { padding-top:2rem; }
  .network-join .network-intro { margin-bottom:1rem; }
  .network-join .network-intro strong { display:block; margin-bottom:.35rem; color:var(--orange); font:900 .72rem/1.3 var(--display); letter-spacing:.08em; text-transform:uppercase; }
  .mobile-join-bridge { display:grid; gap:1rem; margin:0 0 1.25rem; padding:1rem; border:1px solid rgba(53,213,230,.62); background:linear-gradient(135deg,rgba(53,213,230,.1),rgba(6,16,20,.95)); }
  .mobile-join-bridge strong { color:var(--cyan); font:900 .67rem/1.3 var(--display); letter-spacing:.12em; }
  .mobile-join-bridge p { margin:.4rem 0 0; color:var(--paper-muted); font-size:.82rem; }
  .mobile-join-bridge .network-primary { justify-content:center; width:100%; min-height:52px; text-align:center; }
  .network-join .network-jump { display:grid; grid-template-columns:1fr; gap:.35rem; }
  .network-join .network-jump a { display:flex; align-items:center; min-height:44px; padding:.65rem 0; }
  .network-join .battlefield-actions { display:grid; grid-template-columns:1fr; gap:.45rem; }
  .network-join .battlefield-actions button { width:100%; min-height:54px; }
  .network-join .battlefield-actions a { display:flex; align-items:center; min-height:44px; }
  .network-join .battlefield-command { margin-top:.5rem; padding:.7rem; border:1px solid rgba(233,237,229,.14); background:rgba(3,10,13,.72); }
  .network-wipe-notice { align-items:start; flex-direction:column; gap:.8rem; }
  .network-benefits { margin-top:2rem; gap:1.7rem; }
  .player-footer { gap:2rem 1rem; }
  .player-footer > div { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .network-page { scroll-behavior:auto; } .network-page .hero-backdrop { animation:none; } }
