
/*
 * Redgully visual system / 2026-10
 * Brand-authoritative crimson #961C1C, charcoal stone, copper highlights.
 * Layered on top of site.css to keep all existing page layouts functional.
 */
:root {
  --bg: #0c0d11;
  --bg2: #15161b;
  --panel: #1b1c22;
  --line: #393238;
  --cream: #f8f4ed;
  --muted: #bcb6b7;
  --red: #d7474c;
  --red2: #961c1c;
  --gold: #e6bd80;
  --width: 1200px;
}
body {
  color: var(--cream);
  background-color: var(--bg);
  background-image: radial-gradient(ellipse at 93% 0%, rgba(150,28,28,.10), transparent 50%);
  font-family: "Segoe UI", "Trebuchet MS", system-ui, -apple-system, sans-serif;
  font-size: 16px;
}
h1, h2, h3 { letter-spacing: -.048em; text-wrap: balance; }
h1 { letter-spacing: -.07em; font-weight: 900; }
h1 span, h2 span { color: #f16a6b; }
h2 { font-weight: 870; }
p { text-wrap: pretty; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid #e3b97e;
  outline-offset: 5px;
}
.announcement {
  position: relative;
  min-height: 34px;
  display: flex;
  gap: .24rem;
  justify-content: center;
  align-items: center;
  background: #1b1317;
  color: #d2c2c1;
  border-bottom: 1px solid #442329;
  font-size: .69rem;
  font-weight: 760;
  letter-spacing: .055em;
}
.announcement a { color: #f6dedc; }
.announcement a span { color: #e8b778; }
.status-dot { background: #c8a879; box-shadow: 0 0 0 4px #c8a87912; }
.site-header {
  z-index: 100;
  background: rgba(12,13,17,.94);
  border-bottom: 1px solid #413137;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.header-inner { min-height: 92px; }
.brand {
  gap: 13px;
  font-family: "Arial Black", "Segoe UI Black", "Segoe UI", system-ui, sans-serif;
  font-weight: 950;
  letter-spacing: -.075em;
  font-size: 1.8rem;
}
.brand-emblem {
  clip-path: polygon(0 0,80% 0,100% 20%,100% 100%,20% 100%,0 80%);
  width: 48px;
  height: 48px;
  color: #fff8f2;
  font-size: 1.53rem;
  background: linear-gradient(135deg,#b92b31 0%,#961c1c 56%,#6e191e 100%);
  border: 1px solid #e96e69;
  box-shadow: inset 0 -4px #430e17, 0 5px 18px #030203aa;
  text-shadow: 3px 3px 0 #4a1019;
}
.brand-muted { color: #f8f6f3; }
.brand small {
  color: #c29e9e;
  letter-spacing: .255em;
  font-size: .5rem;
  margin-top: 8px;
  font-family: "Segoe UI", system-ui, sans-serif;
}
nav { gap: 25px; }
nav a {
  color: #c5babe;
  font-size: .79rem;
  font-weight: 820;
  letter-spacing: .035em;
}
nav a[aria-current]:not(.nav-discord) {
  text-decoration-color: #e35257;
  text-underline-offset: 13px;
  text-decoration-thickness: 3px;
}
nav .nav-discord {
  border: 1px solid #78373b;
  background: linear-gradient(180deg,#382025,#21181d);
  color: #f9eeeb;
  padding: 12px 18px;
  border-radius: 3px;
  box-shadow: inset 0 1px #ffffff0d;
}
nav .nav-discord:hover { border-color: #d15557; }
.eyebrow {
  color: #d89a98;
  letter-spacing: .205em;
  font-size: .69rem;
  font-weight: 900;
  text-transform: uppercase;
}
.dash { width: 24px; height: 3px; background: #d7474c; }
.hero {
  isolation: isolate;
  background:
    radial-gradient(circle at 79% 29%,rgba(147,36,42,.20),transparent 41%),
    radial-gradient(circle at 3% 100%,rgba(94,26,28,.25),transparent 40%),
    #0e0e12;
}
.hero::before {
  content: "";
  z-index: -1;
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);
  background-size: 64px 64px;
  opacity: .17;
  mask-image: linear-gradient(to right,#0007,transparent 65%);
}
.hero::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg,transparent,#ae323d,#e1ac79,#ae323d,transparent);
  opacity: .65;
}
.hero-grid {
  min-height: 760px;
  grid-template-columns: 1fr 1fr;
  gap: clamp(35px,5vw,85px);
  padding-top: 94px;
  padding-bottom: 124px;
}
.hero-copy { position: relative; z-index: 2; }
.hero-copy::before {
  content: "01 / 05";
  display: block;
  margin-bottom: 57px;
  color: #6d5e63;
  font: 800 .65rem "Consolas", monospace;
  letter-spacing: .18em;
}
.hero h1 {
  font-size: clamp(3.25rem,6.1vw,6.2rem);
  line-height: 1.055;
  max-width: 700px;
  margin-bottom: 32px;
}
.hero h1 span {
  display: inline;
  background: linear-gradient(110deg,#fff3e9 0%,#eca6a0 48%,#d84d51 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.hero-lead {
  max-width: 540px;
  color: #c9bec2;
  font-size: 1.05rem;
  line-height: 1.85;
  border-left: 2px solid #88383d;
  padding-left: 22px;
}
.hero-lead strong { color: #fff6ee; }
.hero-actions { gap: 14px; margin: 38px 0 34px; }
.button {
  min-height: 53px;
  padding: 15px 25px;
  font-size: .82rem;
  letter-spacing: .03em;
  font-weight: 880;
  border-radius: 3px;
  box-shadow: inset 0 1px #ffffff1a;
}
.button-primary {
  background: linear-gradient(145deg,#e3565b 0%,#b72c37 100%);
  border: 1px solid #ed6b6f;
  color: #fff7f3;
  text-shadow: 0 1px #8b2933;
  box-shadow: inset 0 1px #ffc1b633,0 9px 25px #761b2940;
}
.button-primary:hover { background: linear-gradient(145deg,#f36a6c,#c73441); }
.button-outline {
  border: 1px solid #5d484b;
  background: #ffffff07;
  color: #f3e9e6;
}
.button-outline:hover { border-color: #cd8487; background: #372026; }
.hero-tags { gap: 9px; }
.hero-tags span {
  border: 1px solid #4a353a;
  color: #bdb0b1;
  background: #22181ec4;
  padding: 8px 10px;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .025em;
}
.hero-tags i { background: #e2a772; }
.hero-visual { isolation: isolate; }
.hero-art {
  height: 445px;
  border: 1px solid #90434d;
  border-radius: 3px;
  background:
    linear-gradient(180deg,rgba(13,12,17,.13) 0%,rgba(21,8,16,.04) 45%,rgba(11,9,12,.45) 100%),
    url("/assets/redgully-world.svg") center/cover no-repeat !important;
  box-shadow: 16px 18px 0 #5b252a55, 0 35px 100px #0008;
}
.hero-art::before {
  inset: 13px;
  border: 1px solid #f6d0b121;
  background: none;
  opacity: 1;
  z-index: 2;
  pointer-events: none;
}
.hero-art::after {
  content: "REDGULLY  •  AUSTRALIAN SURVIVAL";
  position: absolute;
  bottom: 24px;
  left: 28px;
  right: 28px;
  color: #f9e8d9a8;
  font: 800 .65rem "Consolas",monospace;
  letter-spacing: .16em;
  z-index: 6;
  text-align: center;
}
.art-mountains, .art-glow, .art-sun, .art-ground { display:none; }
.art-worldmark {
  left: 5%;
  right: 5%;
  top: 48%;
  padding: 26px 5px;
  transform: translateY(-50%);
  background: radial-gradient(ellipse,rgba(14,9,14,.60),rgba(14,9,14,.14) 64%,transparent 78%);
  text-shadow: 0 5px #3b1219,0 12px 30px #0c080a;
}
.worldmark-top {
  color: #ffeddf;
  font-size: .59rem;
  letter-spacing: .36em;
  margin-bottom: 6px;
}
.art-worldmark strong {
  display: block;
  color: #e95e63;
  font-family: "Arial Black",Impact,"Segoe UI Black",sans-serif;
  font-size: clamp(3.1rem,5.4vw,5.65rem) !important;
  font-weight: 1000;
  line-height: 1.13;
  letter-spacing: -.075em;
  -webkit-text-stroke: 1.3px #2c0f15;
  filter: drop-shadow(0 6px 0 #281015);
}
.art-worldmark strong span { color: #fff8ef; }
.worldmark-bottom {
  display: inline-block;
  background: #7f1d2ccf;
  border: 1px solid #c45359;
  padding: 7px 15px;
  color: #fff1e4;
  font-size: .59rem;
  font-weight: 900;
  letter-spacing: .19em;
}
.connect-card {
  margin: -36px 28px 0;
  padding: 21px 26px 22px;
  border: 1px solid #6f363d;
  background: linear-gradient(115deg,#24171e,#1b1b20 60%);
  box-shadow: 0 20px 55px #0008;
  border-radius: 2px;
}
.connect-label { color: #e7bb9a; letter-spacing: .18em; }
.connect-line { margin-top: 9px; }
.connect-line code { font-size: clamp(1.65rem,2.5vw,2.45rem); letter-spacing: -.06em; }
.copy-ip {
  background: #f4eee6;
  color: #332126;
  border-radius: 2px;
  font-size: .73rem;
  padding: 12px 18px;
  font-weight: 900;
}
.copy-ip:hover { background: #ffccac; }
.copy-ip:active { transform: translateY(1px); }
.connect-card p { color: #a99ca1; }
.connect-card p strong { color: #e6ded8; }
.trust-strip { background: #161318; border-block: 1px solid #4c2931; }
.trust-grid { padding: 31px 0; }
.trust-grid strong { font-size: 1.92rem; color: #f2dfd2; }
.trust-grid span {
  color: #baadae;
  font-size: .7rem;
  letter-spacing: .085em;
  font-weight: 800;
  text-transform: uppercase;
}
.trust-grid > div { border-color: #543039; }
.section { padding-block: 118px; }
.section-heading { align-items: end; }
.section-heading h2 { font-size: clamp(2.6rem,4.3vw,4.6rem); }
.section-heading > p { font-size: .96rem; line-height: 1.8; color: #c1b6b9; }
.feature-grid { gap: 13px; }
.feature-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg,#252026,#17181d 75%);
  border: 1px solid #4b3338;
  border-radius: 2px;
  min-height: 305px;
  padding: 31px 27px;
  box-shadow: inset 0 1px #ffffff07;
}
.feature-card::after {
  content: "";
  pointer-events: none;
  position: absolute;
  right: -20px;
  top: -22px;
  width: 90px;
  height: 90px;
  border: 13px solid #9c374027;
  transform: rotate(45deg);
}
.feature-card::before {
  content: "";
  height: 3px;
  left: 0;
  right: 65%;
  top: 0;
  position: absolute;
  background: #bf444a;
  transition: right .24s;
}
.feature-card:hover { border-color: #96545a; transform: translateY(-4px); }
.feature-card:hover::before { right: 0; }
.feature-no { color: #d9908f; font: 900 .63rem "Consolas",monospace; letter-spacing: .12em; }
.feature-card h3 { font-size: 1.55rem; margin: 79px 0 12px; }
.feature-card p { color: #c0b5b7; font-size: .87rem; }
.text-link { color: #f7afa5; font-weight: 850; text-underline-offset: 6px; }
.alt-section {
  background: #151419;
  border-color: #413036;
  background-image: linear-gradient(118deg,#521b281a 0,transparent 55%);
}
.rank-path {
  border-radius: 2px;
  border: 1px solid #6c3842;
  background: linear-gradient(145deg,#381c25,#18181e 65%);
  box-shadow: 14px 14px 0 #ffffff06,0 25px 65px #0005;
}
.rank-path-label { color: #f1a29d; }
.rank-track span {
  border-radius: 1px;
  font-size: .69rem;
  background: #241e27;
  border: 1px solid #51404a;
  color: #d2c0c1;
  padding: 16px 8px;
}
.rank-track span.rank-last {
  border-color: #eea6a1;
  background: #8b283a8a;
}
.wide-callout {
  border-radius: 3px;
  border: 1px solid #793d48;
  background: radial-gradient(ellipse at 92% 16%,#88304665,transparent 49%),linear-gradient(130deg,#302026,#21171e);
  min-height: 342px;
  padding: 45px 46px;
}
.wide-callout.smaller { border-color: #49363d; background: #201e24; }
.wide-callout h3, .wide-callout h2 { letter-spacing: -.045em; }
.wide-callout p { line-height: 1.85; }
.pill {
  color: #f8d6c8;
  border: 1px solid #915361;
  background: #86324042;
  font-size: .6rem;
  border-radius: 1px;
  font-weight: 900;
}
.join-banner {
  border-radius: 3px;
  border-color: #88414c;
  background: linear-gradient(105deg,#3a2028,#251a21);
  box-shadow: 13px 13px 0 #7c30351a;
}
.join-banner h2 { font-size: clamp(2.5rem,3.25vw,3.5rem); }
.page-hero {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  background: linear-gradient(115deg,#161117 8%,#301820 61%,#531f28);
  padding: 117px 0 106px;
  border-color: #5e3038;
}
.page-hero::before {
  position: absolute;
  content: "";
  inset: 0 0 0 45%;
  z-index: -1;
  background: url("/assets/redgully-world.svg") center 57%/cover no-repeat;
  opacity: .2;
  mask-image: linear-gradient(90deg,transparent,#000 70%);
}
.page-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg,#c64045,transparent);
}
.page-hero h1 { max-width: 950px; font-weight: 900; line-height: 1.11; }
.page-hero p:last-child { color: #dfc7c4; line-height: 1.75; }
.detail-card {
  border-radius: 2px;
  border: 1px solid #49343b;
  background: linear-gradient(148deg,#252027,#18191f);
  padding: 45px;
}
.detail-card > .eyebrow { color: #e49c94; font-weight: 950; }
.detail-card h2 { font-size: 2.15rem; }
.detail-card p, .narrow > p:not(.eyebrow) { color: #c8bec1; line-height: 1.85; }
.check-list li::before { color: #ef9d81; }
.command-line { color: #e9af93 !important; font-weight: 850; }
.rank-table { border-color: #523740; }
.rank-row {
  padding: 25px 20px;
  border-color: #45343b;
  transition: background-color .18s, border-color .18s;
}
.rank-row:hover { background: #251b22; }
.rank-row.legacy { border-left-color: #e6bd80; background: linear-gradient(90deg,#572730,transparent); }
.rank-index { font-family: "Consolas",monospace; color: #cd7476; }
.rank-row h3 { font-weight: 880; font-size: 1.25rem; }
.rank-row p { color: #bcb1b6; line-height: 1.5; }
.rank-hours { color: #f4c6b4; }
.info-panel {
  border-color: #623c48;
  border-radius: 3px;
  background: linear-gradient(135deg,#30232b,#1a1b21);
}
.command-step code { color: #f3a49b; }
.join-steps article { border-color: #44323b; }
.address-box {
  background: #291c23;
  border-color: #77505a;
  border-radius: 3px;
}
.address-caption { color: #c8acaf; }
.faq-list details { border-color: #51383e; }
.faq-list summary::marker { color: #e6bd80; }
.vote-site {
  min-height: 91px;
  border: 1px solid #50353f;
  border-radius: 2px;
  background: #211c22;
}
.vote-site:hover { border-color: #ce6666; background: #38232c; }
.vote-number { font-family: "Consolas",monospace; color: #e29d91; }
.vote-arrow { color: #e7b180; }
.site-footer {
  background: #090a0d;
  border-color: #54313a;
  position: relative;
}
.site-footer::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(90deg,transparent,#962a32 26%,#db6e60 50%,#962a32 74%,transparent);
}
.footer-top { padding-block: 76px 60px; }
.footer-links strong { color: #f4e9df; }
.footer-links a:hover { color: #ecaaa1; }
.footer-bottom { border-color: #352a31; color: #a69a9e; }
.footer-bottom strong { color: #e7b4ad; }
@media (max-width: 1050px) {
  nav { gap: 15px; }
  .header-inner { gap: 18px; }
  .brand { font-size: 1.5rem; }
  .hero-grid { gap: 36px; }
  .art-worldmark strong { font-size: 4.45rem !important; }
  .feature-card { min-height: 280px; }
  .feature-card h3 { margin-top: 63px; }
}
@media (max-width: 760px) {
  .announcement { line-height: 1.45; padding-inline: 15px; text-wrap: balance; }
  .header-inner { min-height: 76px; }
  nav {
    top: 100%;
    background: #18151b;
    border-color: #713740;
    gap: 0;
    padding: 14px 20px 22px;
  }
  nav a { display: block; padding: 12px 3px; font-size: .96rem; }
  nav a[aria-current]:not(.nav-discord) { text-decoration: none; color: #ffb3a3; }
  nav .nav-discord { text-align: center; margin-top: 12px; }
  .menu-toggle { border-color: #6b4048; background: #2d1e25; }
  .hero-grid { min-height: 0; padding: 69px 0 87px; gap: 47px; }
  .hero-copy::before { margin-bottom: 29px; }
  .hero h1 { font-size: clamp(3.45rem,11.5vw,5.4rem); }
  .hero-lead { font-size: 1.03rem; line-height: 1.75; }
  .hero-art { height: clamp(320px,62vw,440px); }
  .art-worldmark strong { font-size: clamp(3.2rem,13vw,6.1rem) !important; }
  .section { padding-block: 77px; }
  .section-heading { margin-bottom: 33px; }
  .section-heading > p { margin-top: 24px; }
  .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feature-card { min-height: 275px; }
  .feature-card h3 { margin-top: 52px; }
  .trust-grid { gap: 22px 0; }
  .join-banner { box-shadow: none; }
  .page-hero { padding-block: 89px 78px; }
  .page-hero::before { inset-inline-start: 18%; opacity: .12; }
  .details-grid,.callout-grid,.join-layout,.split-layout { gap: 16px; }
  .rank-path { box-shadow: none; }
  .footer-top { padding-block: 62px 49px; }
}
@media (max-width: 480px) {
  .announcement { font-size: .58rem; gap: 2px; }
  .brand { font-size: 1.42rem; }
  .brand-emblem { width: 40px; height: 40px; }
  .hero h1 { font-size: clamp(3.3rem,13.1vw,4.6rem); }
  .hero-actions .button { width: 100%; }
  .hero-tags { gap: 7px; }
  .hero-tags span { padding: 7px 8px; font-size: .61rem; }
  .hero-art { height: 300px; }
  .art-worldmark strong { font-size: clamp(2.75rem,12.5vw,4.9rem) !important; }
  .worldmark-bottom { font-size: .48rem; letter-spacing: .13em; }
  .connect-card { margin: -25px 10px 0; padding: 18px 15px; }
  .connect-line code { font-size: 1.7rem; }
  .connect-card p { font-size: .66rem; }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 210px; }
  .feature-card h3 { margin-top: 37px; }
  .wide-callout, .detail-card { padding: 28px; }
  .join-banner { padding: 29px; }
  .join-banner h2 { font-size: 2.4rem; }
  .trust-grid strong { font-size: 1.5rem; }
  .trust-grid span { font-size: .62rem; }
  .rank-row { padding: 21px 14px; }
  .footer-links { gap: 34px; }
  .footer-bottom span { overflow-wrap: anywhere; }
}


/* Server facts are visible HTML for players, crawlers and AI retrieval. */
.fact-section { border-bottom: 1px solid #4e333b; }
.fact-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:34px; }
.fact-item { min-width:0; min-height:152px; padding:24px 22px; border:1px solid #634047; background:linear-gradient(155deg,#2a1f27,#18181e); position:relative; border-radius:2px; overflow:hidden; }
.fact-item::before { content:""; position:absolute; height:3px; top:0; left:0; width:32%; background:linear-gradient(90deg,#a43b46,#e7b887); }
.fact-item span { display:block; font:850 .63rem "Consolas",monospace; letter-spacing:.15em; color:#d9a3a0; }
.fact-item p { margin:22px 0 0; font-size:.94rem; line-height:1.62; color:#f2e8e3; }
.guide-note { margin-top:32px; padding-left:18px; border-left:2px solid #92505b; color:#c7b4b7; font-size:.86rem; line-height:1.8; }
@media(max-width:900px){ .fact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .fact-item { min-height:140px; } }
@media(max-width:480px){ .fact-grid { grid-template-columns:1fr; gap:9px; } .fact-item { min-height:0; padding:20px; } .fact-item p { margin-top:12px; } }


/* Existing players: a static companion, no active database calls. */
.portal-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.portal-card { min-width:0; min-height:292px; padding:31px 25px; background:linear-gradient(152deg,#282127,#191920 85%); border:1px solid #60404a; position:relative; display:flex; flex-direction:column; border-radius:2px; }
.portal-card::before { content:""; position:absolute; left:0; top:0; width:30%; height:3px; background:#cf535b; transition:width .2s ease; }
.portal-card:hover { border-color:#a96068; }
.portal-card:hover::before { width:100%; }
.portal-card h2 { font-size:1.55rem; margin:34px 0 12px; letter-spacing:-.04em; }
.portal-card p { font-size:.87rem; color:#c8b7bc; line-height:1.7; flex:1; }
.portal-card .text-link { font-size:.84rem; align-self:flex-start; }
.portal-disclosure { margin:26px 0 0; border:1px solid #58414a; background:#211c23; padding:22px 26px; }
.portal-disclosure strong { font-size:.83rem; color:#edd5cd; }
.portal-disclosure p { margin:8px 0 0; font-size:.83rem; line-height:1.75; color:#bbaeb3; }
.map-section { padding-top:79px; }
.map-toolbar { display:flex; justify-content:space-between; gap:32px; align-items:flex-end; margin-bottom:28px; }
.map-toolbar h2 { font-size:clamp(2.7rem,4vw,4rem); }
.map-toolbar p:not(.eyebrow) { color:#c7b8bc; max-width:700px; line-height:1.7; font-size:.94rem; }
.map-buttons { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.map-frame-shell { min-height:460px; height:min(73vh,890px); background:#110f16; border:1px solid #8b424a; position:relative; overflow:hidden; border-radius:2px; box-shadow:12px 14px 0 #4b272d66; }
.map-cover { display:flex; align-items:center; text-align:center; justify-content:center; flex-direction:column; padding:35px; min-height:100%; height:100%; background:linear-gradient(#130e18ba,#120d17db),url('/assets/redgully-world.svg') center/cover no-repeat; }
.map-cover .eyebrow { color:#e5aaa7; }
.map-cover h3 { font-size:clamp(2rem,4vw,3.5rem); margin:22px 0 14px; color:#fff0e2; }
.map-cover p { font-size:.94rem; color:#e6cfce; max-width:650px; }
.map-cover-button { padding:12px 22px; border:1px solid #ec7979; background:#aa3541; color:#fff; font-weight:850; margin-top:20px; border-radius:2px; }
.map-cover-button:hover { background:#d14e58; }
.world-map-frame { display:block; height:100%; width:100%; border:0; background:#12131a; }
.map-help { color:#bca9ae; font-size:.84rem; margin-top:26px; line-height:1.8; }
.map-help a { color:#f6b4ad; text-decoration:underline; text-underline-offset:4px; }
.map-buttons .button:disabled { opacity:.7; cursor:default; }
@media(max-width:1200px){ nav{gap:15px;} nav a{font-size:.73rem;} .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .portal-card{min-height:260px;} }
@media(max-width:760px){ .map-toolbar{flex-direction:column; align-items:flex-start;} .map-buttons{justify-content:flex-start;} .map-frame-shell{height:60vh;min-height:380px;} .portal-card{min-height:250px;} nav a{font-size:.95rem;} }
@media(max-width:480px){ .portal-grid{grid-template-columns:1fr;} .portal-card{min-height:215px;} .portal-card h2{margin-top:22px;} .map-buttons .button{width:100%;text-align:center;} .map-frame-shell{height:56vh;min-height:360px;} .map-cover{padding:24px;} }


/* Public five-minute snapshots: no synchronous browser-to-Minecraft API. */
.dashboard-live-section { background:linear-gradient(140deg,#1b151b,#100f14); border-top:1px solid #693842; }
.dashboard-live-section .section-heading { gap:35px; }
.live-status { max-width:380px; border-left:2px solid #74414a; padding:14px 20px; color:#ead7d3; font-size:.88rem; }
.live-status p { font-size:.77rem; color:#a89ca3; line-height:1.65; margin:7px 0 0; }
#portal-live-status[data-status="online"] { color:#a5d6b1; }
#portal-live-status[data-status="offline"] { color:#e1ad87; }
.live-status-dot { display:inline-block; width:7px; height:7px; border-radius:100%; background:#cc9c79; margin-right:9px; }
.stat-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:15px 0 32px; }
.stat-tile { padding:23px; border:1px solid #69404b; background:linear-gradient(135deg,#30212b,#19181f); border-radius:2px; display:flex; flex-direction:column; min-width:0; }
.stat-tile>span { font-size:.7rem; letter-spacing:.075em; text-transform:uppercase; color:#e4b1ac; font-weight:850; }
.stat-tile strong { font-family:Consolas,"Segoe UI",sans-serif; font-size:clamp(1.7rem,3.2vw,2.8rem); letter-spacing:-.055em; line-height:1.2; margin:21px 0 10px; overflow-wrap:anywhere; color:#fff6ec; }
.stat-tile small { font-size:.74rem; color:#a99da7; line-height:1.4; }
.stats-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.stat-panel { padding:30px; border:1px solid #593b45; background:linear-gradient(145deg,#261d25,#17171d); border-radius:3px; min-width:0; display:flex; flex-direction:column; gap:18px; }
.stat-panel>.text-link { align-self:flex-start; font-size:.85rem; margin-top:auto; }
.panel-heading h2 { font-size:clamp(1.95rem,3vw,2.65rem); margin:12px 0 0; }
.data-empty { font-size:.87rem; color:#baaaaf; line-height:1.7; padding:12px 0; }
.leaderboard-collections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.leaderboard-group { min-width:0; }
.leaderboard-group h3 { font-size:.92rem; color:#e4bbb4; margin:0 0 10px; }
.data-ranking { padding:0; margin:0; list-style:decimal inside; counter-reset:players; }
.data-ranking li { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid #513b45; font-size:.84rem; }
.data-ranking li::before { content:counter(players,decimal-leading-zero); counter-increment:players; color:#bc8588; font:800 .64rem Consolas,monospace; }
.player-name { color:#e8dddd; flex:1; overflow-wrap:anywhere; }
.player-value { color:#f6b3a7; font-size:.8rem; white-space:nowrap; }
#stat-project h3 { font-size:1.32rem; margin:0 0 9px; }
#stat-project h4 { font-size:.88rem; color:#e4b4ad; margin:17px 0 9px; }
.data-meta { color:#bcaeb4; font-size:.81rem; line-height:1.75; margin:0 0 13px; }
.project-progress { display:block; width:100%; height:12px; accent-color:#cf5c63; border:none; margin-bottom:18px; }
.project-progress::-webkit-progress-bar { background:#3f3038; }
.project-progress::-webkit-progress-value { background:#c64b53; }
.project-materials { display:grid; gap:0; }
.project-material { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid #45323a; font-size:.8rem; }
.project-material span { color:#cbbdc0; }
.project-material strong { color:#e9c6b4; text-align:right; white-space:nowrap; }
.market-table-wrap { overflow-x:auto; }
.market-table { width:100%; border-collapse:collapse; font-size:.78rem; }
.market-table th { font-size:.67rem; text-align:right; color:#e4aa9f; padding:10px 7px; border-bottom:1px solid #81535c; white-space:nowrap; }
.market-table th:first-child { text-align:left; }
.market-table td { padding:10px 7px; border-bottom:1px solid #46343d; text-align:right; color:#e7d8d8; }
.market-table td:first-child { text-align:left; min-width:155px; color:#f6e8df; }
.history-list { padding:0; margin:0; list-style:none; }
.history-list li { padding:13px 0; border-bottom:1px solid #46313a; display:flex; flex-direction:column; gap:6px; }
.history-list time { color:#cd9a93; font:800 .67rem Consolas,monospace; }
.history-list li span { color:#e0d3d5; font-size:.87rem; }
.stats-disclaimer { margin:21px 0 0; color:#a99ca2; font-size:.78rem; line-height:1.85; }
@media(max-width:1050px){ .stat-overview{grid-template-columns:repeat(2,minmax(0,1fr))} .leaderboard-collections{grid-template-columns:1fr} }
@media(max-width:760px){ .stats-columns{grid-template-columns:1fr} .dashboard-live-section .section-heading{align-items:flex-start;flex-direction:column} .live-status{max-width:none} .stat-panel{padding:24px} .leaderboard-collections{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:480px){ .stat-overview{gap:8px} .stat-tile{padding:15px} .stat-tile strong{font-size:1.8rem} .leaderboard-collections{grid-template-columns:1fr} .market-table th,.market-table td{padding:9px 4px} }

/*
 * 2026-10 home hero correction:
 * remove competing illustration lettering, let pixel world artwork breathe,
 * and keep the address card in the document flow rather than overlaying it.
 */
.hero-grid {
  min-height: 0;
  grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr);
  gap: clamp(32px,4.5vw,68px);
  padding-top: clamp(62px,6.5vw,88px);
  padding-bottom: clamp(74px,7vw,100px);
  align-items: center;
}
.hero-copy::before { display: none; }
.hero .eyebrow { margin-bottom: 22px; }
.hero h1 {
  font-size: clamp(3.15rem,4.65vw,5.15rem);
  line-height: 1.08;
  letter-spacing: -.065em;
  max-width: none;
  margin-bottom: 29px;
  overflow-wrap: normal;
}
.hero-lead {
  font-size: 1.025rem;
  line-height: 1.72;
  max-width: 555px;
}
.hero-actions { margin: 32px 0 28px; }
.hero-visual { align-self: center; }
.hero-art {
  height: clamp(310px,32vw,417px);
  background-position: center 55% !important;
  box-shadow: 11px 12px 0 #5b252a35,0 25px 65px #0007;
}
.hero-art::after {
  content: "REDGULLY  •  AUSTRALIAN SURVIVAL";
  bottom: 16px;
  left: 16px;
  right: auto;
  padding: 7px 11px;
  background: #171016ba;
  border: 1px solid #eed1b329;
  font-size: .55rem;
  letter-spacing: .14em;
}
.art-worldmark { display: none; }
.connect-card {
  position: static;
  margin: 15px 0 0;
  padding: 20px 22px;
  border-color: #554047;
  box-shadow: 0 12px 34px #0005;
}
.connect-line { flex-wrap: wrap; gap: 10px 16px; }
.connect-line code {
  font-size: clamp(1.65rem,2.3vw,2.15rem);
  overflow-wrap: anywhere;
}
.connect-card p { font-size: .74rem; line-height: 1.65; margin: 10px 0 0; }
.vote-page-hero .button { margin-top: 10px; }
.vote-hub-grid { margin-top: 25px; }
.vote-hub-grid .vote-site {
  min-height: 102px;
  gap: 16px;
}
.vote-hub-grid .vote-site strong { font-size: clamp(.85rem,1.4vw,1.03rem); overflow-wrap: anywhere; }
.vote-guide { margin-top: 38px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.vote-guide > div {
  border: 1px solid #5a3840;
  background: #221b21;
  padding: 25px;
}
.vote-guide strong { display: block; color: #f4cfb9; font-size: 1.06rem; margin-bottom: 11px; }
.vote-guide p { font-size: .86rem; color: #c3b4b9; line-height: 1.75; margin: 0; }
@media (max-width: 1100px) {
  .hero-grid { gap: 28px; grid-template-columns: minmax(0,1fr) minmax(0,.92fr); }
  .hero h1 { font-size: clamp(3.05rem,4.7vw,4.2rem); }
  nav { gap: 11px; }
  nav a { font-size: .72rem; }
}
@media (max-width: 880px) {
  .hero-grid { grid-template-columns: minmax(0,1fr); gap: 36px; padding: 66px 0 77px; }
  .hero h1 { font-size: clamp(3.3rem,7vw,4.8rem); max-width: 720px; }
  .hero-art { height: clamp(280px,49vw,430px); }
  .hero-visual { width: min(100%,720px); }
  .vote-guide { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hero-grid { padding: 60px 0 73px; gap: 28px; }
  .hero h1 { font-size: clamp(3rem,9vw,4.5rem); }
  .hero-art { height: clamp(270px,62vw,380px); }
  .hero .eyebrow { font-size: .65rem; }
  .connect-card { margin: 11px 0 0; padding: 17px; }
  .vote-hub-grid .vote-site { min-height: 90px; }
  .vote-guide > div { padding: 22px; }
}
@media (max-width: 480px) {
  .hero h1 { font-size: clamp(2.25rem,9.4vw,3.15rem); }
  .hero-lead { padding-left: 15px; font-size: .96rem; }
  .hero-art { height: 270px; }
  .hero-art::after { font-size: .45rem; left: 10px; bottom: 10px; }
  .connect-line code { font-size: 1.68rem; }
  .connect-line .copy-ip { margin-left: auto; }
  .vote-hub-grid .vote-site strong { font-size: .9rem; }
}

/* One official voting destination instead of seven duplicated link lists. */
.vote-hub-link {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:27px 31px;
  border:1px solid #69404a;
  background:linear-gradient(120deg,#302029,#1b1b22);
}
.vote-hub-link p {
  margin:0;
  max-width:620px;
  font-size:.96rem;
  line-height:1.75;
  color:#d7c3c5;
}
.vote-hub-link .button { flex-shrink:0; }
@media(max-width:760px) {
  .vote-hub-link { padding:24px; }
  .vote-hub-link .button { width:100%; }
}


/* Useful website polish; no analytics, cookie libraries or extra HTTP API. */
.footer-privacy { display: inline-block; margin-left: 9px; color: #e2b2aa; }
.footer-privacy:hover { color: #fff2ea; text-decoration: underline; }
.legal-hero { padding-block: 85px 80px; }
.legal-hero .legal-updated { margin: 18px 0 0; color: #e6b9ab; font: 750 .78rem "Consolas", monospace; }
.legal-section .narrow { max-width: 845px; }
.legal-intro {
  background: linear-gradient(135deg,#32212a,#1d1a21);
  border: 1px solid #78505a;
  border-left: 3px solid #d6555b;
  padding: 27px 29px;
  margin-bottom: 45px;
}
.legal-intro strong { color: #f8d1c5; font-size: 1rem; }
.legal-intro p { margin: 11px 0 0; color: #ead9d7; line-height: 1.78; }
.legal-section h2 {
  font-size: clamp(1.6rem,3vw,2.25rem);
  margin: 38px 0 14px;
}
.legal-section .narrow > p { color: #c9bbbf; line-height: 1.9; font-size: .96rem; }
.legal-section p a { color: #f5afa5; text-decoration: underline; text-underline-offset: 4px; }
.legal-bottom { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; padding-top: 28px; }
.error-section {
  min-height: min(760px,83vh);
  display: grid;
  place-items: center;
  text-align: center;
  background:
    radial-gradient(ellipse at 49% 45%,rgba(163,39,50,.16),transparent 55%),
    url('/assets/redgully-world.svg') center 48%/cover no-repeat,
    #111014;
  position: relative;
  isolation: isolate;
}
.error-section::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(12,10,15,.82); }
.error-content { padding-top: 15px; padding-bottom: 35px; }
.error-content .eyebrow { justify-content: center; }
.error-number { font: 900 clamp(6rem,17vw,13rem)/.95 "Arial Black",sans-serif; letter-spacing: -.11em; color: #d7474c; text-shadow: 9px 12px 0 #3c111c; margin-bottom: 18px; }
.error-section h1 { font-size: clamp(2.7rem,6vw,5.5rem); margin: 0 0 19px; }
.error-section h1 span { color: #efaaa2; }
.error-section p:not(.eyebrow) { color: #d6c5c5; max-width: 660px; margin: 0 auto 25px; font-size: 1.03rem; }
.error-actions { display: flex; gap: 13px; justify-content: center; flex-wrap: wrap; align-items: center; }
.mobile-join-bar { display: none; }
/* Only acquisition pages get a mobile CTA; player tools remain unobscured. */
@media (max-width:760px) {
  body.has-mobile-cta { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
  .mobile-join-bar {
    display: grid;
    grid-template-columns: 1.12fr 1fr;
    align-items: center;
    gap: 9px;
    position: fixed;
    top: auto; left: 0; right: 0; bottom: 0;
    z-index: 120;
    padding: 11px max(16px,env(safe-area-inset-left,0px)) calc(11px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));
    background: #131116f5;
    border-top: 1px solid #9a454e;
    box-shadow: 0 -15px 32px #0008;
    backdrop-filter: blur(15px);
  }
  .mobile-join-bar a {
    display: flex; justify-content: center; align-items: center; gap: 9px;
    padding: 12px 10px; min-height: 48px;
    text-align: center;
    font-size: .81rem; font-weight: 850;
    white-space: nowrap;
    border-radius: 3px;
  }
  .mobile-join-primary { color: #fff9f4; background: #b83e49; border: 1px solid #dc6870; }
  .mobile-join-secondary { color: #efddd3; border: 1px solid #67454c; background: #2a2129; }
  .mobile-join-bar a:focus-visible { outline: 2px solid #f6ceab; outline-offset: 2px; }
  .legal-section .legal-intro { padding: 23px; }
  .error-section { min-height: 66vh; }
}
@media (max-width:390px) {
  .mobile-join-bar { gap: 6px; padding-inline: 9px; }
  .mobile-join-bar a { font-size: .73rem; padding-inline: 7px; }
  .error-actions .button { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .mobile-join-bar { backdrop-filter: none; }
}

/* Official Redgully art replaces the old text-only "R" badge. */
.brand img.brand-emblem {
  display: block;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  object-fit: cover;
  border: 1px solid rgba(241,126,100,.72);
  border-radius: 5px;
  clip-path: none;
  background: #170b12;
  box-shadow: 0 0 0 2px #28161e, 0 3px 16px #09040794;
  filter: none;
  text-shadow: none;
  letter-spacing: normal;
}
.brand:hover img.brand-emblem { border-color: #ff9b77; }
@media (max-width:760px) {
  .brand img.brand-emblem {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 4px;
  }
}

/* Remove the optional project panel and shortcut when no project is active. */
.stat-panel[hidden], .portal-card[hidden] { display: none !important; }
