:root {
  --night:#080e17;
  --panel:#0c1520;
  --ink:#ece9dc;
  --muted:#9ca8b4;
  --gold:#c8aa6c;
  --gold-light:#f2dfad;
  --cyan:#76e4ed;
  --line:rgba(194,171,120,.22);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; color:var(--ink); background:var(--night); font-family:"Amiri",Georgia,serif; line-height:1.7; overflow-x:hidden; }
body::before { content:""; position:fixed; inset:0; z-index:-1; opacity:.22; pointer-events:none; background-image:radial-gradient(circle at 14% 18%,#c5efff 0 1px,transparent 1.5px),radial-gradient(circle at 72% 62%,#c5efff 0 1px,transparent 1.5px); background-size:211px 241px,319px 263px; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
button,a { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible { outline:2px solid var(--cyan); outline-offset:6px; }
img { max-width:100%; }
.site-header { height:96px; width:calc(100% - 112px); max-width:1472px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:38px; border-bottom:1px solid var(--line); position:relative; z-index:5; }
.brand { direction:ltr; display:flex; align-items:center; gap:12px; flex-shrink:0; }
.brand b { font-family:"Palatino Linotype",Georgia,serif; font-size:30px; font-weight:800; line-height:1; letter-spacing:2px; color:var(--gold-light); text-shadow:0 2px 0 #634d2e,0 0 26px #cea96720; }
.brand small { font-family:"Amiri",sans-serif; display:block; font-size:9px; letter-spacing:5px; text-align:center; color:#b4ae9e; margin-top:5px; }
.brand-orbit { color:var(--cyan); display:grid; place-items:center; width:39px; height:39px; border:1px solid #657d80; transform:rotate(45deg); font-size:26px; box-shadow:inset 0 0 15px #73e4ed10,0 0 18px #73e4ed10; }
.site-header nav { display:flex; gap:38px; height:100%; align-items:center; }
.site-header nav a { color:#b5bdc5; font-size:14px; height:100%; display:flex; align-items:center; position:relative; transition:color .2s; }
.site-header nav a:hover,.site-header nav a[aria-current] { color:var(--gold-light); }
.site-header nav a[aria-current]::after { content:""; position:absolute; bottom:-2px; left:50%; width:5px; height:5px; transform:rotate(45deg); background:var(--gold); box-shadow:0 0 16px var(--gold); }
.header-actions { display:flex; align-items:center; gap:24px; }
.language { color:#b1bac2; background:none; border:0; font-family:"Amiri",sans-serif; font-size:12px; letter-spacing:1px; padding:10px 4px; }
.account-link { padding:8px 26px; border:1px solid #a58b535e; color:var(--gold-light); font-size:13px; background:linear-gradient(120deg,#c9a7640b,transparent); }
.account-link:hover { background:#c9a76416; }
.menu-toggle { display:none; background:none; border:0; color:var(--gold); font-size:24px; }
.hero { max-width:1600px; margin:auto; min-height:700px; position:relative; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; padding:65px 6% 95px; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:-96px -10% -80px; z-index:-2; pointer-events:none; background:radial-gradient(ellipse at 30% 44%,#0e344452,transparent 44%),radial-gradient(ellipse at 83% 37%,#22274655,transparent 50%),linear-gradient(180deg,transparent 75%,#080e17); }
.astral-dust { position:absolute; inset:0; pointer-events:none; }
.hero-copy,.hero-world { min-width:0; }
.hero { overflow:clip; }
.hero-copy { position:relative; z-index:2; max-width:530px; padding-bottom:32px; }
.eyebrow { font-family:"Amiri","Segoe UI",sans-serif; letter-spacing:2px; color:var(--gold); font-size:11px; text-transform:uppercase; font-weight:600; margin:0 0 20px; }
.hero-copy>.eyebrow { display:flex; align-items:center; gap:12px; direction:ltr; justify-content:flex-end; }
html[dir=ltr] .hero-copy>.eyebrow { justify-content:flex-start; }
.eyebrow>span { height:1px; width:35px; display:inline-block; background:var(--gold); }
h1,h2,h3,p { margin-top:0; }
.hero h1 { font-size:clamp(64px,5.7vw,88px); line-height:1.16; font-weight:600; margin:0 0 30px; letter-spacing:-2px; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 em { font-style:normal; color:var(--gold-light); text-shadow:0 0 45px #eac78020; }
html[dir=ltr] .hero h1 { font-family:"Palatino Linotype",Georgia,serif; font-size:clamp(52px,4.4vw,73px); line-height:1.15; letter-spacing:-1.5px; }
.hero-description { font-size:16px; color:#a7b4c2; line-height:2; max-width:435px; margin-bottom:31px; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:35px; min-height:54px; padding:10px 30px; font-size:15px; font-weight:600; position:relative; transition:filter .2s,transform .2s; }
.button-gold { color:#17202a; background:linear-gradient(125deg,#f0dfb5,#bd9d61); border:1px solid #ebd4a2; box-shadow:inset 0 0 0 3px #3e332d24,0 8px 32px #ac874817; clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px); }
.button-gold:hover { filter:brightness(1.14); transform:translateY(-2px); }
.button>span:last-child { font-size:23px; font-weight:400; }
.text-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; color:#c4cbd0; padding:8px 0; border-bottom:1px solid #b5bfc535; }
.text-link:hover { color:var(--gold-light); border-color:var(--gold); }
.hero-note { margin:21px 0 0; font-size:11px; color:#788795; }
.hero-world { position:relative; min-height:520px; display:flex; align-items:center; justify-content:center; margin-inline-start:-45px; }
.floating-island { width:112%; max-width:820px; position:relative; z-index:1; filter:drop-shadow(0 25px 25px #0009) drop-shadow(0 0 25px #46c8ea15); animation:float-island 8s ease-in-out infinite; }
.world-glow { position:absolute; width:460px; height:460px; border-radius:50%; background:radial-gradient(ellipse,#4db5d025,#25567117 45%,transparent 70%); filter:blur(20px); }
.world-orbit { position:absolute; border:1px solid #72d5e01a; border-radius:50%; pointer-events:none; }
.orbit-one { width:535px; height:535px; transform:rotateX(52deg) rotateZ(-25deg); box-shadow:0 0 50px #74d3f008; }
.orbit-two { width:590px; height:590px; transform:rotateX(50deg) rotateZ(35deg); border-style:dashed; border-color:#b7a7791a; }
.world-orbit::after { content:""; position:absolute; inset:28px; border:1px solid #7ad4df10; border-radius:50%; }
.world-caption { position:absolute; bottom:-2px; inset-inline-start:19%; display:flex; align-items:center; gap:13px; color:#889ba8; font-size:10px; white-space:nowrap; }
.world-caption i { display:block; width:55px; height:1px; background:linear-gradient(90deg,#8ac4ce66,transparent); }
.coordinate { font:10px "Amiri",sans-serif; letter-spacing:2px; color:var(--cyan); }
.scroll-cue { position:absolute; bottom:23px; left:50%; color:var(--gold); font-size:28px; }
.realm-strip { display:flex; max-width:1330px; margin:0 auto 20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 20px; justify-content:space-around; gap:24px; background:linear-gradient(90deg,transparent,#151e2444,transparent); }
.realm-strip>div { display:flex; align-items:center; gap:14px; font-size:12px; }
.realm-strip>div>span:not(.strip-symbol) { color:#8f9ca9; }
.realm-strip strong { font-weight:500; color:#dfdccf; font-size:14px; }
.realm-strip small { font:10px "Amiri",sans-serif; color:#8a948f; letter-spacing:1px; }
.strip-symbol { font-size:25px; color:var(--gold); }
.cyan { color:var(--cyan)!important; }
.section-wrap { max-width:1330px; margin-inline:auto; padding-inline:20px; }
.world-section { padding-top:94px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:70px; margin-bottom:34px; }
.section-heading h2,.join-banner h2 { font-size:34px; line-height:1.4; font-weight:500; margin:0; color:#e4dfd0; }
.section-heading .eyebrow { margin-bottom:10px; }
.section-heading>p { max-width:350px; color:var(--muted); font-size:13px; line-height:1.9; margin-bottom:4px; }
.world-stories { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:22px; }
.story { min-height:340px; position:relative; overflow:hidden; background:#15212b; border:1px solid #bba47035; }
.story img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .8s; filter:saturate(.8); }
.story:hover img { transform:scale(1.045); }
.story-shade { position:absolute; inset:0; background:linear-gradient(180deg,#09121d04 5%,#09121d21 30%,#09121de6 78%,#09121df7); }
.story-copy { position:absolute; bottom:0; width:100%; padding:28px; }
.story-copy .eyebrow { font-size:10px; color:#cbba8e; margin-bottom:8px; display:block; }
.story-copy h3 { font-size:24px; font-weight:500; line-height:1.45; margin-bottom:9px; }
.story-copy p { color:#aeb8c0; font-size:12px; margin:0; line-height:1.9; }
.story-corner { position:absolute; top:14px; inset-inline-end:17px; color:var(--gold-light); font-size:18px; text-shadow:0 0 12px #000; }
.news-section { padding-top:95px; }
.section-rule { height:1px; background:linear-gradient(90deg,transparent,var(--line)); flex:1; margin-bottom:17px; }
.news-entry { display:flex; gap:28px; align-items:center; padding:28px 0 32px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.news-mark { width:90px; height:90px; display:grid; place-items:center; color:var(--cyan); font-size:40px; background:radial-gradient(circle,#3ba6b418,transparent 70%); flex-shrink:0; }
.news-category { color:var(--gold); font-size:10px; }
.news-entry h3 { margin:5px 0 7px; font-size:23px; font-weight:500; }
.news-entry p { max-width:780px; font-size:13px; color:var(--muted); margin:0; }
.news-link { margin-inline-start:auto; padding:10px 22px; color:var(--gold); font-size:25px; }
.join-banner { position:relative; display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:43px; margin-top:76px; margin-bottom:70px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:radial-gradient(ellipse at 78% 50%,#193b4733,transparent 70%); }
.join-banner .eyebrow { margin-bottom:5px; font-size:9px; }
.join-star { font-size:70px; line-height:1; color:#b29a6155; margin-inline:20px; }
.join-banner>div:nth-child(2) { flex:1; }
.site-footer { display:flex; flex-wrap:wrap; gap:20px 45px; justify-content:space-between; align-items:center; max-width:1330px; margin:auto; padding:0 20px 30px; color:#83909b; }
.footer-brand b { font-size:23px; }
.footer-brand small { font-size:8px; }
.site-footer>p { font-size:12px; margin:0; }
.site-footer>div { display:flex; gap:25px; font-size:12px; }
.site-footer a:hover { color:var(--gold-light); }
.credits { flex-basis:100%; text-align:center; border-top:1px solid #bba47012; padding-top:24px; margin-top:14px; font-size:10px; color:#64727f; line-height:1.8; }
.credits a { color:#a79570; }
.inner-page { min-height:68vh; padding-top:80px; padding-bottom:90px; position:relative; isolation:isolate; }
.inner-page::before { content:""; z-index:-1; position:absolute; inset:0; background:radial-gradient(ellipse at 70% 40%,#1b475030,transparent 60%); }
.back-link { color:#8797a6; font-size:12px; display:block; margin-bottom:52px; }
.inner-page h1 { font-size:clamp(38px,5vw,64px); font-weight:500; line-height:1.4; color:var(--gold-light); margin-bottom:24px; }
.inner-description { color:var(--muted); max-width:650px; font-size:16px; line-height:2; margin-bottom:30px; }
.pending-note { display:flex; gap:10px; align-items:center; color:var(--gold); font-size:12px; margin-top:35px; margin-bottom:20px; }
.connection-detail { border-top:1px solid var(--line); border-bottom:1px solid var(--line); max-width:530px; padding:20px 0; margin-top:35px; }
.connection-detail>span { font-size:12px; color:#8a9ba8; }
.connection-detail>div { display:flex; gap:30px; align-items:center; margin-top:8px; }
.connection-detail code { color:var(--gold-light); direction:ltr; font-family:"Amiri",sans-serif; font-size:30px; }
.copy-address { color:var(--cyan); border:1px solid #76e4ed44; background:#76e4ed08; padding:5px 16px; font-size:12px; }
.connection-detail small { display:block; margin-top:8px; color:#8495a4; font-size:11px; }
.toast { position:fixed; bottom:30px; left:50%; transform:translate(-50%,20px); opacity:0; pointer-events:none; z-index:20; border:1px solid var(--line); background:#14222c; color:var(--gold-light); padding:10px 25px; transition:opacity .2s,transform .2s; font-size:13px; }
.toast.visible { opacity:1; transform:translate(-50%,0); }
html[dir=ltr] body { font-family:"Amiri","Segoe UI",sans-serif; }
html[dir=ltr] h2,html[dir=ltr] .inner-page h1 { font-family:"Palatino Linotype",Georgia,serif; }
html[dir=ltr] .section-heading h2 { font-size:30px; }
@keyframes float-island { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-13px) rotate(0); } }
@media(min-width:1600px) { .hero { min-height:770px; } }
@media(max-width:1100px) {
  .site-header { width:calc(100% - 48px); gap:20px; }
  .site-header nav { gap:23px; }
  .header-actions { gap:16px; }
  .hero { min-height:650px; padding-inline:4%; grid-template-columns:1fr 1fr; }
  .hero h1 { font-size:66px; }
  .hero-world { margin-inline-start:-10px; min-height:440px; }
  .orbit-one { width:400px; height:400px; }
  .orbit-two { width:450px; height:450px; }
  .world-glow { width:350px; height:350px; }
  .realm-strip { margin-inline:24px; gap:15px; padding-inline:5px; }
  .realm-strip>div { gap:9px; font-size:10px; }
  .realm-strip strong { font-size:12px; }
  .realm-strip small { display:none; }
  .story-copy { padding:20px; }
  .story-copy h3 { font-size:21px; }
}
@media(max-width:760px) {
  .site-header { height:78px; width:calc(100% - 36px); }
  .brand b { font-size:24px; }
  .brand-orbit { width:29px; height:29px; font-size:19px; }
  .brand small { font-size:8px; letter-spacing:3px; }
  .header-actions { gap:15px; }
  .account-link { display:none; }
  .menu-toggle { display:block; }
  .site-header nav { display:none; position:absolute; top:77px; inset-inline:0; height:auto; padding:18px 22px; flex-direction:column; align-items:stretch; gap:0; background:#0b1420fa; border:1px solid var(--line); }
  .site-header nav.open { display:flex; }
  .site-header nav a { height:46px; }
  .site-header nav a[aria-current]::after { display:none; }
  .hero { display:flex; flex-direction:column; min-height:0; padding:48px 24px 65px; }
  .hero-copy { width:100%; max-width:500px; padding-bottom:0; }
  .hero h1 { font-size:62px; margin-bottom:24px; }
  html[dir=ltr] .hero h1 { font-size:52px; }
  .hero-description { font-size:14px; max-width:400px; }
  .hero-actions { gap:20px; }
  .button { padding-inline:20px; min-height:51px; font-size:14px; gap:20px; white-space:nowrap; }
  .hero-world { min-height:0; height:340px; width:100%; max-width:500px; margin:15px 0 0; }
  .floating-island { max-width:530px; width:110%; }
  .world-glow { width:300px; height:300px; }
  .orbit-one { width:320px; height:320px; }
  .orbit-two { width:370px; height:370px; }
  .world-caption { bottom:-10px; inset-inline-start:10%; font-size:9px; gap:8px; }
  .coordinate { font-size:9px; }
  .scroll-cue { bottom:2px; }
  .realm-strip { display:grid; grid-template-columns:1fr 1fr; padding:20px 0; gap:22px; margin-inline:24px; }
  .realm-strip>div { font-size:11px; flex-wrap:wrap; gap:7px; }
  .realm-strip>div:first-child { gap:7px; }
  .strip-symbol { font-size:20px; }
  .section-wrap { padding-inline:24px; }
  .world-section,.news-section { padding-top:58px; }
  .section-heading { display:block; margin-bottom:25px; }
  .section-heading h2 { font-size:29px; }
  .section-heading>p { margin-top:17px; font-size:12px; max-width:100%; }
  .world-stories { grid-template-columns:1fr; gap:18px; }
  .story { min-height:280px; }
  .story-copy { padding:26px; }
  .story-copy h3 { font-size:25px; }
  .story-copy p { max-width:350px; }
  .story img { object-position:center 35%; }
  .section-rule { display:none; }
  .news-entry { gap:8px; align-items:flex-start; }
  .news-mark { display:none; }
  .news-entry h3 { font-size:21px; }
  .news-entry p { font-size:12px; }
  .news-link { padding:10px 3px; }
  .join-banner { margin:50px 24px; padding:28px 0; flex-wrap:wrap; gap:18px; }
  .join-star { display:none; }
  .join-banner h2 { font-size:27px; }
  .join-banner .button { gap:15px; padding-inline:18px; }
  .site-footer { padding-inline:24px; gap:25px; }
  .site-footer>p { font-size:11px; }
  .site-footer>div { width:100%; justify-content:space-between; }
  .inner-page { padding-top:45px; min-height:70vh; padding-bottom:60px; }
  .back-link { margin-bottom:40px; }
  .inner-description { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Original 7.0 client textures, decoded from Interface.pak. */
.button-gold {
  min-width:218px;
  min-height:56px;
  padding:3px 22px;
  color:#fff0be;
  border:12px solid transparent;
  border-image:url("assets/ui/button-gold-normal.png") 12 24 fill / 12px 24px stretch;
  background:none;
  box-shadow:none;
  clip-path:none;
  text-shadow:0 2px 2px #4a2300,0 0 5px #763a0a;
  isolation:isolate;
}
.button-gold>span:last-child { display:none; }
.button-gold::before {
  content:"";
  position:absolute;
  inset:-12px;
  z-index:-1;
  pointer-events:none;
  background:url("assets/ui/button-gold-highlight.png") center / 100% 100% no-repeat;
  mix-blend-mode:screen;
  opacity:0;
  transition:opacity .18s;
}
.button-gold:hover { filter:brightness(1.08); transform:none; }
.button-gold:hover::before { opacity:.5; }
.button-gold:active { border-image-source:url("assets/ui/button-gold-pressed.png"); transform:translateY(1px); }
.site-header nav { gap:7px; }
.site-header nav a,.account-link,.language,.copy-address,.menu-toggle {
  position:relative;
  isolation:isolate;
  justify-content:center;
  height:39px;
  min-width:95px;
  padding:1px 14px;
  color:#ead29a;
  border:8px solid transparent;
  border-image:url("assets/ui/button-dark-normal.png") 8 14 fill / 8px 14px stretch;
  background:none;
  text-shadow:0 1px 2px #140a01;
}
.site-header nav a::before,.account-link::before,.language::before,.copy-address::before,.menu-toggle::before {
  content:"";
  position:absolute;
  inset:-8px;
  z-index:-1;
  pointer-events:none;
  background:url("assets/ui/button-dark-highlight.png") center / 100% 100% no-repeat;
  mix-blend-mode:screen;
  opacity:0;
  transition:opacity .18s;
}
.site-header nav a:hover::before,.account-link:hover::before,.language:hover::before,.copy-address:hover::before,.menu-toggle:hover::before { opacity:.45; }
.site-header nav a:active,.account-link:active,.language:active,.copy-address:active,.menu-toggle:active { border-image-source:url("assets/ui/button-dark-pressed.png"); }
.site-header nav a[aria-current] {
  color:#fff3c0;
  border-image-source:url("assets/ui/button-menu-normal.png");
  border-image-slice:7 12 fill;
}
.site-header nav a[aria-current]::before { background-image:url("assets/ui/button-menu-highlight.png"); }
.site-header nav a[aria-current]:active { border-image-source:url("assets/ui/button-menu-pressed.png"); }
.site-header nav a[aria-current]::after { display:none; }
.account-link:hover { background:none; }
.language { min-width:56px; padding-inline:8px; height:34px; letter-spacing:0; }
.header-actions { gap:12px; }
.account-link { min-width:109px; text-align:center; font-size:12px; }
.copy-address { min-width:76px; height:36px; font-size:12px; }
.realm-strip {
  border:15px solid transparent;
  border-image:url("assets/ui/window-hollow.png") 20 16 18 16 fill / 15px stretch;
  padding:19px 18px;
  background:none;
}
.story { border:0; }
.story::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:16px solid transparent;
  border-image:url("assets/ui/window-frame.png") 37 16 17 16 / 30px 13px 14px 13px stretch;
}
.story-copy { padding:33px 29px 28px; }
.story-corner { display:none; }
.news-entry,.join-banner,.connection-detail {
  border:18px solid transparent;
  border-image:url("assets/ui/window-frame.png") 37 16 17 16 / 30px 14px 15px 14px stretch;
  background-image:linear-gradient(#07121b66,#07121b66),url("assets/ui/panel-texture.png");
  background-size:cover;
  background-position:center;
}
.news-entry { padding:28px 24px 24px; }
.join-banner { padding:40px 38px 30px; }
.connection-detail { padding:25px 23px 18px; }
.toast { border:12px solid transparent; border-image:url("assets/ui/window-hollow.png") 20 16 18 16 fill / 12px stretch; background:none; }
@media(max-width:1100px) {
  .site-header nav { gap:3px; }
  .site-header nav a { min-width:80px; padding-inline:8px; font-size:12px; }
  .account-link { min-width:91px; padding-inline:10px; }
  .realm-strip { padding-inline:8px; }
}
@media(max-width:760px) {
  .menu-toggle { display:block; min-width:42px; width:42px; padding:0; height:34px; font-size:19px; line-height:1; }
  .site-header nav { padding:27px 16px 17px; gap:7px; border:15px solid transparent; border-image:url("assets/ui/window-frame.png") 37 16 17 16 fill / 30px 14px 15px 14px stretch; background:none; }
  .site-header nav a { height:40px; font-size:14px; }
  .account-link { display:none; }
  .header-actions { gap:8px; }
  .language { min-width:50px; }
  .button-gold { min-width:173px; min-height:52px; padding-inline:12px; }
  .realm-strip { padding:18px 9px; gap:18px 12px; }
  .realm-strip>div { font-size:10px; }
  .story-copy { padding:30px 27px 25px; }
  .news-entry { padding:24px 9px 17px; }
  .join-banner { margin-inline:24px; padding:28px 14px 20px; }
  .join-banner .button { min-width:135px; padding-inline:10px; }
  .connection-detail { padding:25px 10px 17px; }
  .connection-detail code { font-size:26px; }
  .connection-detail>div { gap:12px; }
}
/* The client artwork sets the palette for the entire realm. */
@font-face { font-family:Amiri; src:url("assets/fonts/Amiri-Regular.ttf") format("truetype"); font-weight:400; font-display:swap; }
@font-face { font-family:Amiri; src:url("assets/fonts/Amiri-Bold.ttf") format("truetype"); font-weight:600 900; font-display:swap; }
:root { --night:#080f0e; --panel:#101b17; --ink:#eee5d0; --muted:#b1b7a7; --gold:#c8ac72; --cyan:#a5c9b0; --line:rgba(195,166,103,.25); }
body { background:#080f0e; font-size:18px; }
body::before { opacity:1; background:linear-gradient(180deg,rgba(5,15,15,.28),#080f0e 1080px),linear-gradient(90deg,rgba(6,15,13,.55),rgba(10,19,15,.35)),url("assets/ui/astral-harbor.png") center top / cover no-repeat; position:absolute; height:1400px; }
.site-header { height:116px; border-bottom-color:#b7a16b45; }
.brand img { width:166px; height:auto; display:block; filter:drop-shadow(0 5px 7px #000a); }
.footer-brand img { width:150px; }
.site-header nav a,.account-link,.language { font-size:16px; }
.hero { min-height:660px; padding-top:50px; padding-bottom:80px; }
.hero::before { inset:0 -10% -80px; background:linear-gradient(0deg,#080f0e,transparent 45%),radial-gradient(ellipse at 78% 40%,#08140dd9,transparent 64%); }
.hero-copy { max-width:500px; }
.hero h1 { font-size:clamp(62px,5.6vw,88px); font-weight:700; letter-spacing:0; line-height:1.35; text-shadow:0 3px 12px #000; }
.hero-description { color:#d0d2c2; font-size:20px; line-height:1.9; text-shadow:0 2px 4px #000; }
.hero-note { color:#b0b6a7; font-size:15px; }
.hero-world { min-height:470px; flex-direction:column; margin-inline-start:0; }
.hero-emblem { position:relative; width:94%; max-width:510px; z-index:2; filter:drop-shadow(0 15px 25px #000b); }
.floating-island,.world-orbit,.world-glow,.world-caption { display:none; }
.hero-copy>.eyebrow { font-family:Georgia,serif; color:#dac69b; font-size:12px; letter-spacing:3px; }
.button,.text-link { font-size:18px; }
.eyebrow { letter-spacing:.5px; font-size:15px; }
.realm-strip>div,.realm-strip strong { font-size:16px; }
.section-heading h2,.join-banner h2 { font-size:39px; font-weight:700; }
.section-heading>p { font-size:18px; }
.story { min-height:380px; background:#10201a; }
.story-shade { background:linear-gradient(180deg,transparent,#09140b25 25%,#09140ee8 78%,#09140e); }
.story-copy h3 { font-size:29px; font-weight:700; }
.story-copy p,.news-entry p { font-size:17px; color:#c2c7b6; }
.story-copy .eyebrow { font-size:14px; }
.news-mark,.join-star { color:#c8ac72; }
.site-footer { background:linear-gradient(transparent,#050b08); }
.site-footer p,.site-footer a { font-size:16px; }
.page-main { background:radial-gradient(ellipse at 50% 20%,#0b1914c9,transparent 75%); }
@media(max-width:1100px) { .site-header { gap:15px; } .brand img { width:145px; } .site-header nav a { font-size:15px; } }
@media(max-width:760px) {
 .site-header { height:98px; } .brand img { width:132px; }
 .hero { padding-top:30px; min-height:auto; }
 .hero-world { min-height:210px; height:240px; order:-1; margin:0 0 24px; }
 .hero-emblem { width:300px; max-width:88%; }
 .hero-copy { padding-bottom:10px; }
 .hero h1 { font-size:58px; line-height:1.2; margin-bottom:22px; }
 .hero-description { font-size:19px; }
 .hero::before { background:linear-gradient(0deg,#080f0e,transparent 80%); }
 .realm-strip>div,.realm-strip strong { font-size:14px; }
 .section-heading h2,.join-banner h2 { font-size:31px; }
 .story { min-height:350px; }
 body::before { background-position:44% top; background-size:auto 1000px; }
}

/* Rebirth is a game portal: each destination has its own page. */
.brand { flex-direction:column; gap:0; }
.realm-name { display:block; text-align:center; color:#f0d896; font-family:"Palatino Linotype",Georgia,serif; font-weight:700; letter-spacing:.25em; text-indent:.25em; text-shadow:0 2px 2px #000,0 0 12px #b68b4b66; line-height:1.2; }
.brand .realm-name { font-size:15px; margin-top:3px; }
.hero-emblem img { width:100%; height:auto; display:block; }
.hero-emblem .realm-name { font-size:clamp(26px,3.5vw,45px); margin-top:10px; }
.translation-banner { color:#f3d58e; font-size:27px; margin-bottom:15px; font-weight:700; text-shadow:0 2px 7px #000; }
.hero h1 { margin-bottom:17px; }
.realm-page { min-height:65vh; padding-top:48px; padding-bottom:80px; }
.realm-page .world-section,.realm-page .news-section { padding:0; }
.site-header nav { gap:5px; }
.site-header nav a { min-width:83px; padding-inline:10px; }
@media(max-width:1100px) and (min-width:761px) {
 .site-header { flex-wrap:wrap; height:auto; min-height:120px; padding-block:12px; }
 .site-header nav { order:3; width:100%; justify-content:center; }
}
@media(max-width:760px) {
 .hero-emblem .realm-name { font-size:29px; }
 .hero-world { height:200px; min-height:200px; }
 .translation-banner { font-size:23px; }
 .realm-page { padding-top:30px; }
 .realm-page .section-heading { margin-bottom:25px; }
 .site-header nav a { min-height:40px; }
}

.realm-page .section-heading h1 { font-size:42px; line-height:1.4; color:var(--gold-light); margin:0; }
@media(max-width:760px) { .realm-page .section-heading h1 { font-size:32px; } }

.site-header nav .mobile-account { display:none; }
@media(max-width:760px) { .site-header nav .mobile-account { display:flex; } }

.launcher-requirements { font-size:15px; color:var(--muted); margin-top:12px; }

/* Account controls share the client's carved frame and gold buttons. */
[hidden] { display:none!important; }
.auth-card { width:100%; max-width:590px; padding:38px 32px 29px; border:18px solid transparent; border-image:url("assets/ui/window-frame.png") 37 16 17 16 fill / 30px 14px 15px 14px stretch; }
.auth-form { display:grid; gap:9px; }
.auth-form label { font-size:20px; color:var(--gold-light); margin-top:8px; }
.auth-form input { width:100%; min-width:0; height:46px; padding:8px 12px; font:16px "Segoe UI",Tahoma,sans-serif; color:#f0ecd9; background:#07110d; border:1px solid #8a8054; border-radius:0; }
.auth-form input:focus { outline:2px solid var(--gold); outline-offset:2px; }
.auth-form small { font-size:15px; color:#b7bfaa; }
.auth-form .button { justify-self:start; margin-top:8px; }
.auth-form .text-link { justify-self:start; }
.auth-status { font-size:17px; color:#f1c794; margin:6px 0; min-height:1.5em; }
.auth-status:empty { display:none; }
.account-panel h2 { font:28px "Palatino Linotype",Georgia,serif; color:var(--gold-light); overflow-wrap:anywhere; }
.account-panel p { font-size:19px; }
.account-actions { display:flex; gap:25px; align-items:center; margin:24px 0; flex-wrap:wrap; }
#logout-button { color:var(--gold-light); padding:5px 18px; background:#15251a; border:1px solid #8a8054; font-size:17px; }
.auth-form button:disabled,#logout-button:disabled { opacity:.5; cursor:wait; }
@media(max-width:760px) { .auth-card { padding:28px 15px 21px; } .auth-form label { font-size:19px; } }

.account-page { padding-top:35px; padding-bottom:55px; }
.account-page .back-link { margin-bottom:28px; }
.auth-layout { display:grid; grid-template-columns:.85fr 1fr; gap:60px; align-items:center; }
.auth-intro h1 { font-size:46px; }
.auth-intro .inner-description { font-size:20px; line-height:1.8; }
.auth-controls { min-width:0; }
@media(max-width:900px) { .auth-layout { grid-template-columns:1fr; gap:14px; } .auth-intro h1 { font-size:36px; } .auth-intro .eyebrow { margin-bottom:10px; } .auth-intro .inner-description { font-size:18px; } }
