/* Six Star Gaming - restyled 2026-11-14 to match the approved look-and-feel
   preview (artifact "six-star-gaming"): deep-navy Vice City night palette,
   neon pink / cyan / gold accents, Archivo + Space Mono type.
   Original styling only - no Rockstar assets, logos or key art. */
:root{
  --bg:#0a0a18; --bg2:#0e0e22; --panel:#14142c; --panel2:#1a1a38;
  --card:var(--panel);
  --line:#2b2b52; --ink:#f5f2ea; --text:var(--ink);
  --muted:#aaa6c6; --faint:#6f6a94;
  --pink:#ff2e88; --pink-deep:#d1105f; --sunset:#ff6a3d; --cyan:#25d5f2;
  --teal:var(--cyan);
  --gold:#ffc53d; --green:#3ddc97; --star-off:#3a3a63;
  --danger:#ff5d5d;
  --hero-shade:rgba(8,7,22,.55); --hero-shade2:rgba(8,7,22,.88);
  --shadow:0 18px 40px rgba(0,0,0,.45);
}
@media (prefers-color-scheme: light){
  :root{
    --bg:#eef7fa; --bg2:#e3f1f5; --panel:#ffffff; --panel2:#f4fbfd;
    --line:#cfd9e8; --ink:#181233; --muted:#57517a; --faint:#8a84ad;
    --pink:#e0115f; --pink-deep:#b80c4c; --sunset:#e85a24; --cyan:#0b8fb3;
    --gold:#a86e00; --green:#0d7a55; --star-off:#ccd3e4;
    --hero-shade:rgba(10,8,30,.45); --hero-shade2:rgba(10,8,30,.82);
    --shadow:0 18px 40px rgba(24,18,51,.16);
  }
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
img{ max-width:100%; }
a{ color:var(--cyan); text-decoration:none; }
a:hover{ text-decoration:underline; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 20px; }
.wrap.narrow{ max-width:760px; }
h1{
  font-size:clamp(30px,4.6vw,44px); font-weight:900; text-transform:uppercase;
  line-height:1.02; letter-spacing:-.01em; margin:34px 0 8px;
}
h2{
  font-size:clamp(26px,3.8vw,38px); font-weight:900; text-transform:uppercase;
  line-height:1.05; letter-spacing:-.01em; margin:30px 0 10px;
}
h3{ font-weight:800; }
.sub{ color:var(--muted); max-width:62ch; margin:0 0 18px; }
.meta{ color:var(--muted); font-size:13.5px; }
.note{ color:var(--faint); font-size:13.5px; }
.err{ color:var(--danger); font-weight:600; }
.kicker{
  font:700 11px "Space Mono", ui-monospace, monospace; letter-spacing:.18em;
  text-transform:uppercase; color:var(--pink); margin:0 0 6px;
}
.mono{ font-family:"Space Mono", ui-monospace, monospace; }

/* ---------- top bar ---------- */
.site-head{
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.head-in{ display:flex; align-items:center; gap:18px; padding-top:10px; padding-bottom:10px; flex-wrap:wrap; }
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); }
.brand:hover{ text-decoration:none; }
.brand .mark{
  width:38px; height:38px; flex:none; display:grid; place-items:center;
  background:var(--pink); color:#fff; border-radius:9px;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--pink) 40%, transparent);
}
.brand .mark svg{ width:22px; height:22px; }
.brand b{ font-weight:900; letter-spacing:.02em; font-size:19px; text-transform:uppercase; line-height:1; }
.brand b span{ color:var(--pink); }
.brand small{ display:block; font-size:10px; letter-spacing:.22em; color:var(--muted); font-weight:700; margin-top:3px; text-transform:uppercase; }
.main-nav{ display:flex; gap:2px; margin-left:auto; flex-wrap:wrap; }
.main-nav a{
  color:var(--ink); text-decoration:none; font-weight:700; font-size:14px;
  letter-spacing:.06em; text-transform:uppercase; padding:9px 11px; border-radius:8px;
}
.main-nav a:hover{ background:var(--panel2); color:var(--pink); text-decoration:none; }
.head-right{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.lang-switch{ display:flex; border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.lang-switch a{
  color:var(--muted); font:700 13px "Space Mono", ui-monospace, monospace;
  padding:8px 12px; text-decoration:none; line-height:1.2;
}
.lang-switch a:hover{ text-decoration:none; color:var(--ink); }
.lang-switch a.on{ background:var(--pink); color:#fff; }
.user-area{ display:flex; gap:6px; align-items:center; }
.user-area a{
  color:var(--ink); text-decoration:none; font-weight:700; font-size:14px;
  letter-spacing:.04em; padding:9px 8px; border-radius:8px;
}
.user-area a:hover{ background:var(--panel2); color:var(--pink); text-decoration:none; }
.user-area a.join{ background:var(--pink); color:#fff; padding:9px 14px; border-radius:9px; }
.user-area a.join:hover{ background:var(--pink-deep); color:#fff; }

/* ---------- hero ---------- */
.hero{ position:relative; overflow:hidden; border-bottom:4px solid var(--pink); }
.hero img.bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero .shade{ position:absolute; inset:0; background:linear-gradient(180deg, var(--hero-shade) 0%, rgba(8,7,22,.18) 45%, var(--hero-shade2) 100%); }
.hero .wrap{ position:relative; padding-top:64px; padding-bottom:40px; color:#fff; }
.hero .kicker{
  display:inline-flex; align-items:center; gap:8px;
  font:700 12px "Space Mono", ui-monospace, monospace; letter-spacing:.18em; text-transform:uppercase;
  background:rgba(10,8,30,.55); border:1px solid rgba(255,255,255,.35);
  padding:7px 12px; border-radius:999px; color:#fff; margin:0;
}
.hero .kicker::before{
  content:""; width:8px; height:8px; border-radius:50%;
  background:var(--green); box-shadow:0 0 10px var(--green); flex:none;
}
.hero h1{
  margin:20px 0 6px; font-size:clamp(44px, 8.5vw, 96px); font-weight:900;
  line-height:.94; letter-spacing:-.01em; text-transform:uppercase; max-width:14ch;
  text-shadow:0 4px 30px rgba(0,0,0,.5); color:#fff;
}
.hero-sub{ font-size:clamp(17px,2.4vw,21px); max-width:56ch; color:#efeafd; margin:14px 0 0; }
.count-label{
  font:700 11px "Space Mono", ui-monospace, monospace; letter-spacing:.22em;
  text-transform:uppercase; color:#ffd9e9; margin:34px 0 8px;
}
.countdown{ display:flex; gap:8px; flex-wrap:wrap; margin:0; }
.countdown div{
  background:rgba(10,8,30,.62); border:1px solid rgba(255,255,255,.28); border-radius:10px;
  min-width:74px; padding:10px 8px 8px; text-align:center;
}
.countdown span{ font:700 34px/1 "Space Mono", ui-monospace, monospace; color:#fff; display:block; }
.countdown small{
  font:700 10px "Space Mono", ui-monospace, monospace; letter-spacing:.2em;
  color:#ffb9d6; margin-top:5px; text-transform:uppercase; display:block;
}
.count-live{ font:900 30px/1.1 "Archivo", sans-serif; text-transform:uppercase; color:var(--gold); margin:34px 0 0; }
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin:26px 0 0; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:9px; text-decoration:none; cursor:pointer;
  font-weight:800; font-size:15px; letter-spacing:.04em; text-transform:uppercase;
  padding:13px 20px; border-radius:10px; border:2px solid transparent; min-height:3rem;
  background:var(--pink); color:#fff; font-family:inherit;
}
.btn:hover{ background:var(--pink-deep); text-decoration:none; }
.btn.ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn.ghost:hover{ border-color:var(--pink); color:var(--pink); background:transparent; }
.hero .btn.ghost{ background:rgba(10,8,30,.5); color:#fff; border-color:rgba(255,255,255,.55); }
.hero .btn.ghost:hover{ border-color:#fff; color:#fff; }
.btn.danger{ background:var(--danger); }
.btn.danger:hover{ filter:brightness(1.1); }
button.mini{
  background:var(--panel2); color:var(--ink); border:1px solid var(--line); border-radius:6px;
  padding:5px 10px; cursor:pointer; font:700 11px "Space Mono", ui-monospace, monospace;
  letter-spacing:.08em; text-transform:uppercase;
}
button.mini:hover{ border-color:var(--pink); color:var(--pink); }
button.mini.danger{ border-color:color-mix(in srgb, var(--danger) 55%, var(--line)); color:var(--danger); }

/* ---------- cards & components ---------- */
.card{
  background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:22px; box-shadow:var(--shadow); margin:0 0 14px;
}
.card h3{ margin:0 0 8px; font-size:20px; font-weight:800; line-height:1.25; }
.grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:18px; }
.grid .card{ margin-bottom:0; }
.story h3 a{ color:var(--ink); }
.story h3 a:hover{ color:var(--pink); text-decoration:none; }
.pin{
  color:var(--gold); font:700 10px "Space Mono", ui-monospace, monospace;
  letter-spacing:.12em; text-transform:uppercase;
}
.badge{
  display:inline-block; font:700 10.5px "Space Mono", ui-monospace, monospace;
  letter-spacing:.14em; text-transform:uppercase; padding:5px 9px; border-radius:6px;
  background:var(--panel2); color:var(--gold);
  border:1px solid color-mix(in srgb, var(--gold) 45%, var(--line));
}
.badge-admin{ color:var(--pink); border-color:color-mix(in srgb, var(--pink) 45%, var(--line)); }
.badge-banned{ color:var(--danger); border-color:color-mix(in srgb, var(--danger) 45%, var(--line)); }
.badge-block{
  display:block; border:2px dashed var(--gold); border-radius:12px; padding:16px;
  margin-top:14px; background:var(--panel2);
}
.badge-block strong{
  display:block; font-size:19px; font-weight:900; text-transform:uppercase;
  letter-spacing:.02em; color:var(--gold);
}
.badge-block span{ display:block; font-size:14px; color:var(--muted); margin-top:3px; }
.stars{ display:inline-flex; gap:2px; font-size:15px; line-height:1; vertical-align:-2px; }
.stars .on{ color:var(--gold); }
.stars .off{ color:var(--star-off); }
.rank-name{ font-weight:700; }
.gate-tag{
  color:var(--danger); font:700 10.5px "Space Mono", ui-monospace, monospace;
  letter-spacing:.14em; text-transform:uppercase;
}
.gate{ text-align:center; border-color:color-mix(in srgb, var(--danger) 50%, var(--line)); }
.more{
  font:700 12px "Space Mono", ui-monospace, monospace; letter-spacing:.12em;
  text-transform:uppercase; color:var(--cyan); vertical-align:middle;
}

/* ---------- forum ---------- */
.board{
  display:flex; gap:16px; padding:18px 20px; background:var(--panel);
  border:1px solid var(--line); border-radius:12px; margin-bottom:12px; align-items:flex-start;
  box-shadow:var(--shadow);
}
.board .bmark{
  flex:none; width:44px; height:44px; border-radius:10px; display:grid; place-items:center;
  background:var(--panel2); border:1px solid var(--line); color:var(--pink);
}
.board .bmark svg{ width:22px; height:22px; }
.board h3{ margin:0; font-size:18.5px; font-weight:800; }
.board h3 a{ color:var(--ink); }
.board h3 a:hover{ color:var(--pink); text-decoration:none; }
.board p{ margin:4px 0 0; color:var(--muted); font-size:14.5px; }
.board .bmeta{ margin-top:10px; }
.thread-row{ padding:11px 0; border-bottom:1px solid var(--line); margin:0; }
.thread-row:last-child{ border-bottom:0; }
.thread-title{ font-weight:700; font-size:16.5px; line-height:1.35; color:var(--ink); }
.thread-title:hover{ color:var(--pink); text-decoration:none; }
.spoiler-blur{ filter:blur(5px); background:var(--panel2); cursor:pointer; padding:0 4px; border-radius:4px; user-select:none; }
.spoiler-blur.revealed{ filter:none; background:transparent; user-select:text; }
.admin-bar{ margin-top:10px; display:flex; gap:8px; }

/* ---------- forms ---------- */
.form label{
  display:block; margin:0 0 12px;
  font:700 11px "Space Mono", ui-monospace, monospace; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted);
}
.form input, .form select, .form textarea{
  display:block; width:100%; margin-top:5px;
  background:var(--bg2); color:var(--ink); border:1px solid var(--line);
  border-radius:9px; padding:11px 12px;
  font-family:"Archivo", system-ui, sans-serif; font-size:15.5px;
  text-transform:none; letter-spacing:normal;
}
form.inline{ display:inline; }

/* ---------- tables ---------- */
table{ border-collapse:collapse; width:100%; font-size:15px; }
th, td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
thead th{
  font:700 11px "Space Mono", ui-monospace, monospace; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted);
}
table.unlock td:nth-child(4), table.unlock td:nth-child(5){
  font-family:"Space Mono", ui-monospace, monospace; font-weight:700; white-space:nowrap;
}
.table-scroll{ overflow-x:auto; }
.district h3{ margin-top:0; }
.article p{ line-height:1.65; }

/* ---------- footer ---------- */
.site-foot{ margin-top:70px; border-top:1px solid var(--line); background:var(--bg2); padding:38px 0 46px; }
.site-foot .wrap{ display:flex; flex-direction:column; }
.foot-brand{
  order:-1; font-weight:900; text-transform:uppercase; font-size:18px;
  color:var(--ink); margin:0 0 14px;
}
.disclaimer{
  border:1px solid var(--line); border-radius:10px; padding:14px 16px;
  background:var(--panel); color:var(--muted); font-size:14px; margin:0;
}
.foot-note{ color:var(--muted); font-size:14px; margin:16px 0 0; }

@media (max-width: 640px){
  .hero .wrap{ padding-top:44px; padding-bottom:30px; }
  .countdown div{ min-width:64px; }
  .countdown span{ font-size:26px; }
  table.unlock td:nth-child(4), table.unlock td:nth-child(5){ white-space:normal; }
}

/* House ad: Carib Alumni (Paul's own community) - Carib navy + gold.
   Kept in its own navy/gold identity under the new chrome. */
.house-ad { background: linear-gradient(120deg, #0b2440 0%, #14335c 55%, #0b2440 100%); border-top: 2px solid #d4af37; border-bottom: 2px solid #d4af37; }
.house-ad-in { display: flex; align-items: center; gap: 20px; padding-top: 16px; padding-bottom: 16px; }
.house-ad-text { flex: 1 1 auto; min-width: 0; }
.house-ad-eyebrow { margin: 0 0 2px; color: #d4af37; font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.house-ad-head { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 1.35rem; color: #ffffff; }
.house-ad-sub { margin: 4px 0 0; color: #cfdce9; font-size: .9rem; max-width: 640px; }
.house-ad-cta { flex: 0 0 auto; background: #d4af37; color: #0b2440; font-weight: 800; padding: 10px 18px; border-radius: 999px; white-space: nowrap; }
.house-ad-cta:hover { background: #e8c65a; color: #0b2440; }
@media (max-width: 640px) { .house-ad-in { flex-direction: column; align-items: flex-start; gap: 10px; } .house-ad-head { font-size: 1.15rem; } }
