:root{--bg:#070b0e;--bg2:#0a1014;--panel:#0c1318;--ink:#f3efe7;--muted:#aeb6b8;--gold:#ddb96e;--gold2:#8b7449;--line:rgba(221,185,110,.22);--white:rgba(255,255,255,.08);--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.58 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.top{position:sticky;top:0;z-index:50;height:72px;background:rgba(5,9,12,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--white)}nav{height:72px;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.1em;margin-right:auto}.sigil{width:34px;height:34px;border:1px solid var(--gold);transform:rotate(45deg);display:grid;place-items:center}.sigil:after{content:'216';transform:rotate(-45deg);font:700 9px/1 ui-monospace;color:var(--gold)}.navlinks{display:flex;gap:28px;align-items:center}.navlinks a{position:relative;text-decoration:none;color:#c3c9ca;font-size:12px;text-transform:uppercase;letter-spacing:.09em}.navlinks a:hover,.navlinks a.active{color:var(--gold)}.navlinks a.active:after{content:'';position:absolute;left:0;right:0;bottom:-13px;height:1px;background:var(--gold)}
.homehero{position:relative;min-height:610px;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#070b0e 0 44%,#0a0f12 44% 100%)}.hero-art{position:absolute;inset:0 0 0 42%;background:url('assets/hero.jpg') center/cover no-repeat}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#070b0e 0%,rgba(7,11,14,.72) 12%,rgba(7,11,14,.12) 45%,rgba(7,11,14,.05) 100%),linear-gradient(0deg,rgba(7,11,14,.9),transparent 32%)}.hero-grid{min-height:610px;display:grid;grid-template-columns:48% 52%;align-items:center;position:relative}.hero-copy{padding:70px 0 55px;position:relative;z-index:2}.eyebrow,.kicker{color:var(--gold);font-size:12px;letter-spacing:.23em;text-transform:uppercase;font-weight:800}.hero-copy h1{font:500 clamp(62px,7.4vw,112px)/.86 var(--serif);letter-spacing:-.045em;margin:20px 0 18px}.hero-copy h1 em{font-style:normal;color:var(--gold)}.strap{font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#d0d5d5;font-size:15px}.lead{font-size:18px;color:#c1c8ca;max-width:650px}.hero-copy .lead{max-width:560px;margin:28px 0 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{min-height:48px;display:inline-flex;align-items:center;padding:0 19px;border:1px solid var(--gold2);text-decoration:none;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:850;background:rgba(7,11,14,.6)}.btn.primary{background:var(--gold);color:#101315}.btn:hover{border-color:var(--gold);transform:translateY(-1px)}
.homecards{padding:54px 0 70px;background:radial-gradient(circle at 50% 0%,rgba(221,185,110,.055),transparent 38%),#070b0e}.section-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px;color:var(--muted)}.section-intro span{color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:800}.section-intro p{margin:0}.portal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.portal{display:flex;flex-direction:column;min-height:390px;text-decoration:none;background:#0b1115;border:1px solid var(--line);overflow:hidden;transition:.2s ease}.portal:hover{transform:translateY(-4px);border-color:rgba(221,185,110,.65);box-shadow:0 22px 55px rgba(0,0,0,.32)}.portal-visual{height:155px;position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(221,185,110,.13),transparent 34%),linear-gradient(135deg,#111a20,#080d10)}.portal-visual:before,.portal-visual:after{content:'';position:absolute;border:1px solid rgba(221,185,110,.12);width:210px;height:210px;transform:rotate(45deg)}.portal-visual:after{width:120px;height:120px}.icon{position:relative;z-index:2;color:var(--gold);font:400 46px/1 var(--serif);text-shadow:0 0 28px rgba(221,185,110,.28)}.ghost{position:absolute;right:12px;bottom:-17px;font:500 76px/1 var(--serif);color:rgba(255,255,255,.035)}.portal-body{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}.portal-body small{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:9px}.portal-body h2{font:500 25px/1.08 var(--serif);margin:9px 0 10px}.portal-body p{font-size:14px;color:var(--muted);margin:0 0 20px}.portal-body b{margin-top:auto;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.constellation-mini i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(221,185,110,.8)}.constellation-mini i:nth-child(1){left:25%;top:35%}.constellation-mini i:nth-child(2){left:43%;top:28%}.constellation-mini i:nth-child(3){left:66%;top:40%}.constellation-mini i:nth-child(4){left:35%;top:61%}.constellation-mini i:nth-child(5){left:57%;top:67%}.constellation-mini i:nth-child(6){left:74%;top:58%}.constellation-mini i:after{content:'';position:absolute;width:60px;height:1px;background:rgba(221,185,110,.18);transform-origin:left}.constellation-mini i:nth-child(1):after{transform:rotate(-15deg)}.constellation-mini i:nth-child(2):after{transform:rotate(27deg)}.constellation-mini i:nth-child(4):after{transform:rotate(-22deg)}.server-note{padding:22px 0 42px}.server-note .wrap{display:flex;align-items:center;justify-content:center;gap:22px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:10px}.server-note span{width:120px;height:1px;background:var(--gold2)}
/* inner pages */.pagehero,.alliance-hero{position:relative;padding:88px 0 62px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 30%,rgba(221,185,110,.08),transparent 25%),linear-gradient(120deg,#0c1419,#070b0e 65%)}.pagehero:after,.alliance-hero:after{content:'216';position:absolute;right:5vw;bottom:-25px;font:500 180px/1 var(--serif);color:rgba(255,255,255,.025);pointer-events:none}.pagehero h1,.alliance-hero h1,.section-head h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}.pagehero h1,.alliance-hero h1{font-size:clamp(52px,7vw,92px);line-height:.92;margin:15px 0 22px}.back{display:inline-block;margin-bottom:28px;text-decoration:none;color:#c7cdce;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.back:hover{color:var(--gold)}.toc{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.toc a{font-size:10px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border:1px solid var(--white);padding:8px 11px;color:#c5cbcc}.principle{max-width:900px}.callout{padding:24px 26px;border-left:2px solid var(--gold);background:rgba(221,185,110,.06);margin:28px 0}.danger{border-left-color:#a75042;background:rgba(167,80,66,.08)}main>section:not(.homehero):not(.homecards):not(.server-note):not(.pagehero):not(.alliance-hero){padding:78px 0;border-bottom:1px solid rgba(255,255,255,.055)}.section-head{display:grid;grid-template-columns:.9fr 1.2fr;gap:60px;align-items:end;margin-bottom:34px}.section-head h2{font-size:clamp(36px,4.2vw,58px);line-height:1;margin:10px 0 0}.section-head p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:linear-gradient(145deg,#10181d,#0a1014);border:1px solid var(--white);padding:26px}.card h3{font:500 24px/1.15 var(--serif);margin:10px 0}.card p,.muted{color:var(--muted)}.num{color:var(--gold);font:800 10px/1 ui-monospace;letter-spacing:.1em}.rule{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--white)}.rule strong{color:var(--gold);font:700 11px ui-monospace}.rule h3{margin:0 0 5px;font-size:18px}.rule p{margin:0;color:var(--muted)}.steps{counter-reset:s}.step{counter-increment:s;display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--white)}.step:before{content:counter(s,decimal-leading-zero);color:var(--gold);font:700 11px ui-monospace}.step h3{margin:0 0 6px}.step p{margin:0;color:var(--muted)}
/* constellation */.alliance-hero{padding-bottom:54px}.alliance-hero .lead{max-width:820px}.const-section{padding-top:50px!important}.section-intro.wide{margin-bottom:24px}.constellation{height:720px;position:relative;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 50% 48%,rgba(221,185,110,.07),transparent 18%),radial-gradient(circle at 20% 15%,rgba(89,111,122,.10),transparent 22%),linear-gradient(145deg,#0b1318,#070b0e)}.const-gridlines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at center,#000 35%,transparent 90%)}.const-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(7,11,14,.75) 100%)}.const-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:500 180px/1 var(--serif);color:rgba(255,255,255,.025)}.const-field{position:absolute;inset:0}.alliance-label{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:5px;padding:5px 7px;background:rgba(7,11,14,.78);border:1px solid rgba(221,185,110,.2);white-space:nowrap;box-shadow:0 4px 15px rgba(0,0,0,.22)}.alliance-label:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}.alliance-label b{color:var(--gold);font:700 8px/1 ui-monospace}.alliance-label span{font-size:9px;font-weight:650;color:#d8dddd}.alliance-list{display:none}
footer{padding:42px 0 62px;color:#7e898b}.footerline{display:flex;justify-content:space-between;gap:20px}.footerline a{color:#9da5a7}
@media(max-width:1050px){.portal-grid{grid-template-columns:repeat(2,1fr)}.portal:last-child{grid-column:1/-1}.hero-grid{grid-template-columns:55% 45%}.hero-art{left:48%}.navlinks{gap:18px}}
@media(max-width:780px){.wrap{width:min(100% - 28px,1200px)}.navlinks a{display:none}.top,.top nav{height:62px}.homehero{min-height:690px;background:#070b0e}.hero-art{left:0;top:0;height:310px;opacity:.72}.hero-art:before{background:linear-gradient(0deg,#070b0e 0%,rgba(7,11,14,.05) 62%)}.hero-grid{min-height:690px;display:block;padding-top:260px}.hero-copy{padding:38px 0 48px}.hero-copy h1{font-size:64px}.strap{font-size:12px}.hero-copy .lead{font-size:16px}.portal-grid{grid-template-columns:1fr}.portal:last-child{grid-column:auto}.portal{min-height:0}.portal-visual{height:135px}.section-intro{align-items:flex-start;gap:12px;flex-direction:column}.pagehero,.alliance-hero{padding:70px 0 46px}.pagehero:after,.alliance-hero:after{font-size:100px}.section-head{grid-template-columns:1fr;gap:14px}.grid{grid-template-columns:1fr}main>section:not(.homehero):not(.homecards):not(.server-note):not(.pagehero):not(.alliance-hero){padding:60px 0}.constellation{display:none}.alliance-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.alliance-row{display:flex;gap:7px;padding:10px 11px;border:1px solid var(--white);background:#0a1014;font-size:11px}.alliance-row b{color:var(--gold);font:700 9px ui-monospace}.footerline{display:block}.footerline>*{display:block;margin:4px 0}.rule,.step{grid-template-columns:40px 1fr}}
@media(max-width:480px){.alliance-list{grid-template-columns:1fr}.actions .btn{width:100%}.hero-copy h1{font-size:56px}}
/* Constellation 216 — clean SVG star map */
.constellation{height:700px;position:relative;overflow:hidden;border:1px solid rgba(221,185,110,.20);background:
 radial-gradient(circle at 52% 48%,rgba(221,185,110,.07),transparent 16%),
 radial-gradient(circle at 18% 22%,rgba(77,105,120,.10),transparent 25%),
 radial-gradient(circle at 83% 73%,rgba(110,78,58,.08),transparent 24%),
 linear-gradient(145deg,#091116,#05090c 70%)}
.constellation:before{content:'';position:absolute;inset:0;opacity:.38;background-image:
 radial-gradient(circle,rgba(255,255,255,.34) 0 1px,transparent 1.2px),
 radial-gradient(circle,rgba(221,185,110,.22) 0 1px,transparent 1.2px);background-size:83px 83px,137px 137px;background-position:13px 7px,52px 31px;mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent)}
.const-gridlines,.const-glow{display:none}
.const-nebula{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 36%,rgba(5,9,12,.62) 100%);pointer-events:none}
.const-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.const-lines line{stroke:rgba(221,185,110,.17);stroke-width:.65;vector-effect:non-scaling-stroke;transition:.22s ease}
.const-lines line.hot{stroke:rgba(235,199,124,.62);stroke-width:1.15}.const-lines line.dim{opacity:.16}
.const-center{z-index:0;display:flex;flex-direction:column;align-items:center;gap:3px;font:500 150px/.78 var(--serif);color:rgba(221,185,110,.045);letter-spacing:-.05em}.const-center small{font:800 9px/1 ui-sans-serif;letter-spacing:.55em;color:rgba(221,185,110,.13);padding-left:.55em}
.const-field{z-index:2;inset:6% 7%}
.alliance-label{display:none}
.alliance-star{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;transition:opacity .2s ease,transform .2s ease;z-index:2}
.alliance-star i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#e4bf72;box-shadow:0 0 0 3px rgba(221,185,110,.07),0 0 13px rgba(221,185,110,.5);position:relative}
.alliance-star i:before,.alliance-star i:after{content:'';position:absolute;left:50%;top:50%;background:rgba(221,185,110,.28);transform:translate(-50%,-50%)}
.alliance-star i:before{width:15px;height:1px}.alliance-star i:after{height:15px;width:1px}
.alliance-star span{font-size:10px;font-weight:650;color:#dce0df;text-shadow:0 2px 8px #000,0 0 4px #000;letter-spacing:.01em}
.alliance-star b{color:#e0bd74;font:750 8px/1 ui-monospace;letter-spacing:.02em}
.alliance-star:hover{transform:translate(-50%,-50%) scale(1.08);z-index:6}.alliance-star:hover i{box-shadow:0 0 0 4px rgba(221,185,110,.10),0 0 22px rgba(235,199,124,.8)}.alliance-star:hover span{color:#fff}.alliance-star.dim{opacity:.28}
@media(max-width:780px){.constellation{display:none}}
/* RC8 — clean hero + atmospheric constellation field */
.hero-art{background-position:center center}
.constellation{
  isolation:isolate;
  background:#070b0e;
}
.constellation:after{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(rgba(5,9,12,.84),rgba(5,9,12,.88)),
    url('assets/hero.jpg') center 46%/cover no-repeat;
  filter:saturate(.62) contrast(1.04);
  opacity:.78;
  pointer-events:none;
}
.constellation:before{z-index:1;opacity:.55}
.const-nebula{z-index:1;background:radial-gradient(ellipse at center,rgba(7,11,14,.10) 18%,rgba(5,9,12,.68) 100%)}
.const-lines{z-index:2}
.const-center{z-index:2}
.const-field{z-index:3}
/* FINAL — clean landing and finished constellation */
.homehero{min-height:640px;background:#070b0e}
.hero-art{inset:0 0 0 41%;background-position:50% 48%;filter:saturate(.82) contrast(1.03)}
.hero-art:before{background:linear-gradient(90deg,#070b0e 0%,rgba(7,11,14,.88) 9%,rgba(7,11,14,.28) 35%,rgba(7,11,14,.04) 72%),linear-gradient(0deg,rgba(7,11,14,.78),transparent 34%)}
.hero-grid{min-height:640px}
.constellation{background:#070b0e}
.constellation:after{background:linear-gradient(rgba(5,9,12,.78),rgba(5,9,12,.88)),url('assets/hero.jpg') center 50%/cover no-repeat;filter:saturate(.5) brightness(.72) contrast(1.06);opacity:.72}
.const-nebula{background:radial-gradient(ellipse at 50% 46%,rgba(8,14,18,.12) 12%,rgba(5,9,12,.52) 76%,rgba(5,9,12,.86) 100%)}
.const-lines line{stroke:rgba(230,195,124,.22)}
.alliance-star span{font-size:10px;color:#e7e9e7}.alliance-star b{color:#e3bd70}
@media(max-width:780px){.hero-art{inset:0;top:0;height:310px;background-position:61% 48%}}
/* DEPLOY FINAL — generated visual set */
.homehero{min-height:560px;background:#070b0e}
.hero-art{inset:0;background-image:url('assets/hero-main.jpg');background-size:cover;background-position:center center;filter:saturate(.9) contrast(1.04)}
.hero-art:before{background:linear-gradient(90deg,rgba(5,9,12,.97) 0%,rgba(5,9,12,.88) 25%,rgba(5,9,12,.42) 43%,rgba(5,9,12,.06) 67%),linear-gradient(0deg,rgba(5,9,12,.55),transparent 40%)}
.hero-grid{min-height:560px;grid-template-columns:47% 53%}.hero-copy{padding:56px 0 48px}.hero-copy h1{font-size:clamp(62px,7vw,104px)}
.homecards{padding:34px 0 58px}.portal-grid{gap:10px}.portal{min-height:330px}.portal-visual{height:142px;background-size:cover;background-position:center}.portal-visual:before{inset:0;width:auto;height:auto;transform:none;border:0;background:linear-gradient(0deg,rgba(5,9,12,.68),rgba(5,9,12,.03) 70%)}.portal-visual:after{display:none}.portal.rules .portal-visual{background-image:url('assets/card-rules.jpg')}.portal.kvk .portal-visual{background-image:url('assets/card-kvk.jpg')}.portal.newbie .portal-visual{background-image:url('assets/card-newbies.jpg')}.portal.alliances .portal-visual{background-image:url('assets/card-alliances.jpg')}.portal.help .portal-visual{background-image:url('assets/card-help.jpg')}.portal-visual .icon{display:none}.portal-body{padding:17px 18px 19px}.portal-body h2{font-size:22px}.portal-body p{font-size:13px}.ghost{display:none}
/* give text-heavy inner pages their own visual identity without changing content */
.pagehero{overflow:hidden;background:#070b0e}.pagehero:before{content:'';position:absolute;inset:0 0 0 54%;background-size:cover;background-position:center;opacity:.34;filter:saturate(.72);mask-image:linear-gradient(90deg,transparent,#000 28%)}
body:has(a.active[href="rules.html"]) .pagehero:before{background-image:url('assets/card-rules.jpg')}
body:has(a.active[href="kvk.html"]) .pagehero:before{background-image:url('assets/card-kvk.jpg')}
body:has(a.active[href="newbies.html"]) .pagehero:before{background-image:url('assets/card-newbies.jpg')}
.pagehero>.wrap{position:relative;z-index:1}.pagehero .lead{max-width:720px}
/* keep the approved constellation; use its own generated field rather than the main hero */
.constellation:after{background:linear-gradient(rgba(5,9,12,.72),rgba(5,9,12,.86)),url('assets/card-alliances.jpg') center/cover no-repeat;filter:saturate(.6) brightness(.72);opacity:.72}
@media(max-width:780px){.homehero{min-height:660px}.hero-art{height:300px;background-position:68% center}.hero-grid{min-height:660px;padding-top:250px}.pagehero:before{inset:0;opacity:.14;mask-image:linear-gradient(0deg,transparent,#000)} }
/* POSTABLE FIX — lock approved alliance map + use full-resolution art on page heroes */
.constellation:after{background:linear-gradient(rgba(5,9,12,.78),rgba(5,9,12,.88)),url('assets/hero.jpg') center 50%/cover no-repeat!important;filter:saturate(.5) brightness(.72) contrast(1.06)!important;opacity:.72!important}
.pagehero:before{background-image:url('assets/hero-main.jpg')!important;background-size:cover!important;opacity:.32}
body:has(a.active[href="rules.html"]) .pagehero:before{background-position:25% 50%}
body:has(a.active[href="kvk.html"]) .pagehero:before{background-position:70% 50%}
body:has(a.active[href="newbies.html"]) .pagehero:before{background-position:48% 50%}
@media(max-width:780px){.pagehero:before{background-image:url('assets/hero-main.jpg')!important;background-size:cover!important}}

.rule-summary{margin:26px 0 4px;max-width:820px;padding:18px 20px;border-left:2px solid var(--gold);background:rgba(221,185,110,.055);display:grid;gap:6px}.rule-summary b{color:var(--gold);text-transform:uppercase;letter-spacing:.08em}.rule-summary span{color:#e6e8e7;font-size:14px}.hard-rule{margin:0 0 22px;padding:16px 20px;border:1px solid rgba(221,185,110,.48);background:rgba(221,185,110,.07);color:var(--gold);font-weight:900;letter-spacing:.18em;text-align:center}.const-note{margin:12px 2px 0;color:var(--muted);font-size:11px;line-height:1.5}.const-field{inset:0!important}.alliance-star{transform:translate(0,-50%)}.alliance-star.flip{transform:translate(-100%,-50%);flex-direction:row-reverse}.alliance-star:hover{transform:translate(0,-50%) scale(1.06)}.alliance-star.flip:hover{transform:translate(-100%,-50%) scale(1.06)}
