/* The Roaming Empire, shared theme and components */
/* Path: /assets/css/tre.css */

/* ---------------- Root Variables ---------------- */
:root{
  /* Core palette */
  --bg:#050505;
  --fg:#f5f5f7;
  --muted:#b5b5b9;

  --gold:#e8b94c;
  --gold-2:#ffd87a;

  /* Brand spokes */
  --evt:#6a00ff;
  --evt-2:#ff7a00;

  --iron:#c0c3c7;
  --iron-2:#b31919;

  --ser:#5a67ff;
  --ser-2:#0fa3b1;

  --scribe:#ffb703;
  --scribe-2:#111111;

  --store:#c08b3e;
  --store-2:#ffffff;

  /* New accent colors referenced in hub.html */
  --iw:#e84141;   /* Iron Wanderer red */
  --scr:#d16eff;  /* ScribeNation purple */
  --fs:#00b389;   /* Final Stone green */
  --ct:#ffd87a;   /* Contact gold-soft */

  /* Surfaces */
  --card:#0b0b0c;
  --card-2:#0e0e10;
  --border:rgba(232,185,76,.25);
  --ring:0 0 40px rgba(232,185,76,.25);
  --shadow:0 8px 30px rgba(0,0,0,.35);

  /* Hub orbit radius (bigger, grander) */
  --R:clamp(300px,42vw,420px);
}

/* ---------------- Global Resets ---------------- */
*{box-sizing:border-box}
html{background:var(--bg); color-scheme:dark}
html,body{min-height:100%}
body{
  margin:0;
  background:var(--bg); /* ensure body never renders white */
  color:var(--fg);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  line-height:1.45;
}

/* ---------------- Layout Helpers ---------------- */
.container{max-width:1200px;margin-inline:auto;padding:clamp(16px,3vw,32px)}
.section{padding:clamp(48px,7vw,96px) 0}
.stack{display:grid;gap:clamp(12px,2.4vw,28px)}
.center{display:grid;place-items:center}
.grid{display:grid;gap:clamp(16px,3vw,32px)}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.grid.cols-2{grid-template-columns:1fr}}
.max{width:100%}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--muted)}

/* ---------------- Cards / Buttons / Fields ---------------- */
.card{
  background:linear-gradient(180deg,rgba(232,185,76,.06),transparent 20%),
             linear-gradient(0deg,rgba(255,255,255,.02),rgba(255,255,255,.02));
  border:1px solid var(--border);
  border-radius:14px;
  padding:clamp(16px,2.5vw,24px);
  box-shadow:var(--shadow);
}

.btn{
  display:inline-grid;place-items:center;
  padding:.85rem 1.15rem;
  border:1px solid var(--border);
  border-radius:12px;
  background:#111;
  color:var(--fg);
  text-decoration:none;
  user-select:none;
  transition:transform .12s ease, box-shadow .12s ease, background .2s ease;
  box-shadow:var(--ring);
}
.btn:hover{transform:translateY(-1px)}
.btn.gold{
  background:linear-gradient(180deg,#1a1a1a,#0f0f10);
  border-color:var(--gold-2);
  box-shadow:0 0 40px rgba(232,185,76,.35);
}
.btn.ghost{background:transparent}

/* ---------------- Form Fields ---------------- */
.field{display:block}
.field input,.field textarea{
  width:100%;color:var(--fg);
  background:var(--card-2);
  border:1px solid var(--border);
  border-radius:12px;
  padding:1rem;
  outline:none;
}
.field input:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(232,185,76,.25)}
.field small{color:var(--muted)}

/* ---------------- Header ---------------- */
.site-header{
  position:sticky;top:0;width:100%;
  background:rgba(5,5,5,.9);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(6px);
  z-index:100;
}
.top-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg)}
.brand img{height:36px;width:auto;display:block}
.top-links{display:flex;gap:12px;flex-wrap:wrap}

/* ---------------- Footer ---------------- */
.site-footer{border-top:1px solid var(--border);padding:28px 18px;color:var(--muted)}

/* ---------------- Hub Wheel System ---------------- */
.hub-wrap{position:relative;min-height:100vh;overflow:hidden}
.hub{position:relative;width:100%;height:100vh}

.center-logo{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:clamp(180px,24vw,240px);height:clamp(180px,24vw,240px);
  border-radius:50%;
  background:var(--card);
  border:1px solid var(--border);
  display:grid;place-items:center;
  box-shadow:0 0 40px rgba(232,185,76,.35),inset 0 0 60px rgba(232,185,76,.08);
  z-index:2;
}
.center-logo img{width:80%;height:auto;object-fit:contain;filter:drop-shadow(0 0 20px rgba(232,185,76,.5))}
.center-label{margin-top:6px;font-size:.8rem;color:var(--muted);text-align:center}

.hub svg{
  position:absolute;inset:0;width:100%;height:100%;
  -webkit-mask:radial-gradient(circle at center,#000 0 60%,transparent 61%);
          mask:radial-gradient(circle at center,#000 0 60%,transparent 61%);
}

.node{
  position:absolute;transform:translate(-50%,-50%);
  padding:12px 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#0e0e10;
  text-align:center;
  box-shadow:var(--shadow);
  text-decoration:none;color:var(--fg);
  min-width:120px;
  transition:background .25s ease,color .25s ease,transform .12s ease,box-shadow .2s ease;
  z-index:3;
}
.node small{display:block;color:var(--muted);font-size:.8rem}
.node:hover{transform:translate(-50%,-52%)}

.n-eventure:hover{background:linear-gradient(90deg,var(--evt),var(--evt-2))}
.n-iron:hover{background:linear-gradient(90deg,var(--iron),var(--iron-2))}
.n-serenity:hover{background:linear-gradient(90deg,var(--ser),var(--ser-2))}
.n-scribe:hover{background:linear-gradient(90deg,var(--scribe),var(--gold))}
.n-store:hover{background:linear-gradient(90deg,var(--store),var(--store-2))}
.n-events:hover{background:linear-gradient(90deg,var(--gold),var(--gold-2))}

/* Positioning around a circle */
.node.pos-0{left:50%;top:calc(50% - var(--R))}
.node.pos-1{left:calc(50% + var(--R)*0.866);top:calc(50% - var(--R)*0.5)}
.node.pos-2{left:calc(50% + var(--R)*0.866);top:calc(50% + var(--R)*0.5)}
.node.pos-3{left:50%;top:calc(50% + var(--R))}
.node.pos-4{left:calc(50% - var(--R)*0.866);top:calc(50% + var(--R)*0.5)}
.node.pos-5{left:calc(50% - var(--R)*0.866);top:calc(50% - var(--R)*0.5)}

/* ---------------- ScribeNation Page Bits ---------------- */
.hero{display:grid;place-items:center;padding:clamp(80px,10vw,140px) 0;text-align:center}
.kicker{letter-spacing:.2em;color:var(--gold);text-transform:uppercase;font-weight:600}
.title{font-size:clamp(2rem,4.5vw,3.4rem);font-weight:800}
.subtitle{color:var(--muted);max-width:60ch;margin-inline:auto}

.tag{display:inline-block;padding:.35rem .6rem;border:1px solid var(--border);border-radius:999px;font-size:.85rem;color:var(--muted)}
.badge{padding:.35rem .6rem;border-radius:8px;background:rgba(232,185,76,.12);border:1px solid var(--border);color:var(--gold)}

.list{display:grid;gap:16px}
.list a{color:var(--fg);text-decoration:none}
.list a:hover{text-decoration:underline}

.img-fit{width:100%;height:auto;display:block}

/* ---------------- Accessibility ---------------- */
:focus-visible{outline:3px solid rgba(232,185,76,.45);outline-offset:2px}

/* --- End of hub hotfixes --- */