/* ========================================================================
   RITES OF PASSAGE — COMPLETE PORTAL SYSTEM
   Palette: black / charcoal / grey stone / iron / weathered steel
   Gold = restrained aged accent only. Crimson = primary action.
   ======================================================================== */

/* ---- FONTS ---- */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ---- TOKENS ---- */
:root {
  --rop-black: #050607;
  --rop-abyss: #07080a;
  --rop-void: #0a0c0f;
  --rop-charcoal: #111418;
  --rop-stone-deep: #16191d;
  --rop-stone: #1c2024;
  --rop-stone-mid: #22262b;
  --rop-stone-raised: #272b30;
  --rop-stone-high: #2d3137;
  --rop-iron: #181b1e;
  --rop-iron-light: #20242a;
  --rop-steel: #2b3035;
  --rop-steel-border: #3a3f44;
  --rop-gold-dark: #5a4a2a;
  --rop-gold: #b8994a;
  --rop-gold-light: #c8a85b;
  --rop-gold-accent: rgba(184,153,74,0.25);
  --rop-crimson-dark: #3a0c08;
  --rop-crimson: #8b1a14;
  --rop-crimson-light: #b82820;
  --rop-steel-blue: #5a80b0;
  --rop-steel-blue-light: #6a90c0;
  --rop-text: #d4d6d8;
  --rop-text-heading: #d5b96d;
  --rop-text-bright: #e4e5e6;
  --rop-text-muted: #a09e96;
  --rop-text-link: #c8a85b;
  --rop-font-display: 'Cinzel','Times New Roman',Georgia,serif;
  --rop-font-body: 'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --rop-radius: 2px;
  --rop-tr: 0.2s ease;
  --rop-shadow: 0 4px 24px rgba(0,0,0,0.6);
}

/* ---- RESET ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}

/* ---- BODY — dark stone environment ---- */
body{
  background-color:#080a0c;
  background-image:url('/static/website/images/rop-dark-stone-tile.webp');
  background-repeat:repeat;
  background-position:top left;
  background-size:1024px 1024px;
  background-attachment:fixed;
  color:var(--rop-text);
  font-family:var(--rop-font-body);
  font-weight:400;
  font-size:1.05rem;
  line-height:1.65;
  min-height:100vh;
}

/* ---- GLOBAL CONTAINER ---- */
.rop-wrap{
  max-width:1560px;
  margin:0 auto;
  position:relative;
}
.rop-container{
  width:100%;
  max-width:1480px;
  margin:0 auto;
  padding:0 1.5rem;
}

/* ---- TYPOGRAPHY ---- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--rop-font-display);
  font-weight:700;
  color:var(--rop-text-heading);
  text-transform:uppercase;
  letter-spacing:0.06em;
  line-height:1.3;
  text-shadow:0 1px 4px rgba(0,0,0,0.6);
}
h1{font-size:1.6rem;letter-spacing:0.08em}
h2{font-size:1.2rem;letter-spacing:0.07em}
h3{font-size:0.95rem;letter-spacing:0.06em}
h4{font-size:0.82rem;letter-spacing:0.05em}
a{color:var(--rop-text-link);text-decoration:none;transition:color var(--rop-tr)}
a:hover{color:var(--rop-gold-light)}
a:focus-visible{outline:2px solid var(--rop-gold);outline-offset:2px}
p{margin-bottom:0.6rem}
small,.rop-muted{color:#b0b2b4;font-size:0.85rem}
.rop-lead{font-size:1.15rem;color:#d4d6d8}
code{font-family:monospace;background:rgba(0,0,0,0.3);padding:0.1em 0.35em;border-radius:2px;color:var(--rop-gold-light)}

/* ---- HEADER — fortress/cathedral structure ---- */
.rop-header{
  background:
    url('../images/ornate/dark-stone.png') repeat,
    linear-gradient(180deg,var(--rop-stone-mid) 0%,var(--rop-stone-deep) 50%,var(--rop-charcoal) 100%);
  border-top:3px solid var(--rop-steel-border);
  border-bottom:2px solid var(--rop-steel-border);
  box-shadow:0 4px 20px rgba(0,0,0,0.7);
  position:relative;z-index:100;
}
.rop-header::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--rop-gold-accent) 20%,var(--rop-gold-accent) 80%,transparent);
}
.rop-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1480px;
  margin:0 auto;
  padding:0.5rem 1.5rem;
  min-height:64px;
  gap:1rem;
  flex-wrap:wrap;
}
.rop-nav__brand{
  display:flex;
  align-items:center;
  gap:0.75rem;
  text-decoration:none !important;
  flex-shrink:0;
}
.rop-nav__brand img{
  height:48px;
  width:auto;
}
.rop-nav__brand-text{
  font-family:var(--rop-font-display);
  font-weight:800;
  font-size:1rem;
  letter-spacing:0.1em;
  color:var(--rop-gold-light);
  text-transform:uppercase;
  display:none;
}
.rop-nav__links{
  display:flex;
  align-items:center;
  gap:0.15rem;
  list-style:none;
  flex-wrap:wrap;
}
.rop-nav__links a{
  display:block;
  font-family:var(--rop-font-display);
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--rop-text);
  text-decoration:none;
  padding:0.65rem 0.55rem;
  transition:color var(--rop-tr),background var(--rop-tr);
  border-radius:var(--rop-radius);
  white-space:nowrap;
}
.rop-nav__links a:hover,
.rop-nav__links a.active{
  color:var(--rop-gold-light);
  background:rgba(160,136,72,0.05);
}
.rop-nav__play{
  font-family:var(--rop-font-display) !important;
  font-weight:700 !important;
  font-size:0.68rem !important;
  letter-spacing:0.08em !important;
  color:#f0d8b0 !important;
  background:linear-gradient(180deg,var(--rop-crimson) 0%,var(--rop-crimson-dark) 100%) !important;
  border:1px solid rgba(180,60,40,0.3) !important;
  padding:0.5rem 1rem !important;
  box-shadow:inset 0 1px 0 rgba(220,100,60,0.2);
}
.rop-nav__play:hover{
  background:linear-gradient(180deg,var(--rop-crimson-light) 0%,var(--rop-crimson) 100%) !important;
  color:#fff !important;
}
.rop-nav__user{
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-family:var(--rop-font-display);
  font-size:0.7rem;
  letter-spacing:0.04em;
}
.rop-nav__user a{
  color:var(--rop-text-muted);
  text-decoration:none;
  text-transform:uppercase;
  padding:0.4rem 0.5rem;
}
.rop-nav__user a:hover{color:var(--rop-gold-light)}
.rop-nav__toggle{
  display:none;
  background:none;
  border:1px solid var(--rop-steel-border);
  color:var(--rop-text);
  font-size:1.4rem;
  padding:0.3rem 0.6rem;
  cursor:pointer;
  border-radius:var(--rop-radius);
}

/* ---- PANEL — dark stone construction ---- */
.rop-panel{
  position:relative;
  margin-bottom:1.5rem;
  background:
    linear-gradient(180deg,var(--rop-stone-mid) 0%,var(--rop-stone-deep) 40%,var(--rop-charcoal) 100%);
  border:1px solid #30363b;
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.42),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.16),
    inset 0 0 18px rgba(0,0,0,0.5);
  overflow:hidden;
}

.rop-panel::before{
  content:'';
  position:absolute;
  inset:5px;
  border:1px solid rgba(160,136,72,0.22);
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,0.75),
    0 0 0 1px rgba(70,76,82,0.32);
  pointer-events:none;
  z-index:4;
}

.rop-panel::after{
  content:'';
  position:absolute;
  left:16px;
  right:16px;
  top:7px;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(198,165,82,0.28) 12%,
    rgba(198,165,82,0.55) 50%,
    rgba(198,165,82,0.28) 88%,
    transparent
  );
  pointer-events:none;
  z-index:4;
}
.rop-panel__rail{
  position:absolute;
  left:0;right:0;
  height:3px;
  z-index:2;
  pointer-events:none;
}
.rop-panel__rail--top{
  top:0;
  background:linear-gradient(90deg,transparent 3%,var(--rop-gold-accent) 20%,rgba(160,136,72,0.35) 50%,var(--rop-gold-accent) 80%,transparent 97%);
}
.rop-panel__rail--bottom{
  bottom:0;
  background:linear-gradient(90deg,transparent 5%,rgba(160,136,72,0.1) 20%,var(--rop-gold-accent) 50%,rgba(160,136,72,0.1) 80%,transparent 95%);
}
.rop-panel__inner{
  padding:1rem 1.25rem;
  position:relative;
}
.rop-panel__plaque{
  position:relative;
  padding:0.65rem 1rem 0.5rem;
  margin-bottom:0.75rem;
  text-align:center;
  border-bottom:1px solid var(--rop-steel-border);
}
.rop-panel__plaque::before{
  content:'';
  position:absolute;
  top:0;left:20%;right:20%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(160,136,72,0.3),transparent);
}
.rop-panel__plaque h2,.rop-panel__plaque h3{
  margin:0;
  color:#c8a85b;
  font-size:0.82rem;
  letter-spacing:0.1em;
  text-shadow:0 1px 3px rgba(0,0,0,0.5);
}
.rop-panel__corners{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:3;
}
.rop-panel__corner{
  position:absolute;
  width:48px;
  height:48px;
}
.rop-panel__corner--tl{top:0;left:0}
.rop-panel__corner--tr{top:0;right:0}
.rop-panel__corner--bl{bottom:0;left:0}
.rop-panel__corner--br{bottom:0;right:0}

/* ---- BUTTONS ---- */
.rop-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.4rem;
  font-family:var(--rop-font-display);
  font-weight:700;
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-decoration:none !important;
  padding:0.55rem 1.2rem;
  border:none;
  cursor:pointer;
  transition:all var(--rop-tr);
  border-radius:var(--rop-radius);
}
.rop-btn--crimson{
  color:#e8dcc8;
  background:linear-gradient(180deg,var(--rop-crimson) 0%,var(--rop-crimson-dark) 100%);
  border:1px solid rgba(180,60,40,0.35);
  box-shadow:0 2px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(220,100,60,0.2);
}
.rop-btn--crimson:hover{background:linear-gradient(180deg,var(--rop-crimson-light) 0%,var(--rop-crimson) 100%);color:#fff;border-color:rgba(200,70,50,0.45)}
.rop-btn--gold{
  color:#1a1408;
  background:linear-gradient(180deg,var(--rop-gold-light) 0%,var(--rop-gold-dark) 100%);
  border:1px solid rgba(180,150,80,0.4);
  box-shadow:0 2px 6px rgba(0,0,0,0.4),inset 0 1px 0 rgba(240,210,140,0.3);
}
.rop-btn--gold:hover{background:linear-gradient(180deg,#b89850 0%,var(--rop-gold-light) 100%)}
.rop-btn--iron{
  color:#d4d6d8;
  background:linear-gradient(180deg,var(--rop-iron-light) 0%,var(--rop-iron) 100%);
  border:1px solid var(--rop-steel-border);
  box-shadow:0 2px 6px rgba(0,0,0,0.4);
}
.rop-btn--iron:hover{color:#e4e5e6;border-color:#555}
.rop-btn--sm{font-size:0.65rem;padding:0.35rem 0.8rem}
.rop-btn--lg{font-size:0.85rem;padding:0.7rem 1.6rem}

/* ---- DIVIDER ---- */
.rop-divider{
  display:flex;
  align-items:center;
  gap:0.75rem;
  margin:2rem 0 1.5rem;
}
.rop-divider::before,.rop-divider::after{
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--rop-steel-border) 40%,var(--rop-steel-border) 60%,transparent);
}
.rop-divider__icon{
  width:8px;
  height:8px;
  border:1.5px solid var(--rop-gold-accent);
  transform:rotate(45deg);
  flex-shrink:0;
}

/* ---- ART MOUNT ---- */
.rop-art{
  position:relative;
  overflow:hidden;
  margin-bottom:1.5rem;
}
.rop-art img{
  display:block;
  width:100%;
  height:auto;
}
.rop-art__frame{
  border:4px solid var(--rop-charcoal);
  box-shadow:inset 0 0 0 1px rgba(160,136,72,0.08),0 0 0 1px rgba(0,0,0,0.5);
  line-height:0;
}
.rop-art__shade{
  position:absolute;
  bottom:0;left:0;right:0;
  height:50%;
  background:linear-gradient(180deg,transparent 0%,rgba(5,6,7,0.45) 40%,rgba(5,6,7,0.82) 100%);
  pointer-events:none;
}

/* ---- COMPENDIUM CARD — for races/professions/armory ---- */
.rop-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,var(--rop-stone-deep) 0%,var(--rop-charcoal) 100%);
  border:1px solid #30363b;
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.42),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.16),
    inset 0 0 18px rgba(0,0,0,0.5);
  transition:all var(--rop-tr);
}

.rop-card::before{
  content:'';
  position:absolute;
  inset:5px;
  border:1px solid rgba(160,136,72,0.22);
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,0.75),
    0 0 0 1px rgba(70,76,82,0.32);
  pointer-events:none;
  z-index:4;
}

.rop-card::after{
  content:'';
  position:absolute;
  left:16px;
  right:16px;
  top:7px;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(198,165,82,0.28) 12%,
    rgba(198,165,82,0.55) 50%,
    rgba(198,165,82,0.28) 88%,
    transparent
  );
  pointer-events:none;
  z-index:4;
}
.rop-card:hover{
  border-color:#555;
  transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(0,0,0,0.7);
}
.rop-card a{text-decoration:none}
.rop-card__img{
  line-height:0;
  border-bottom:1px solid var(--rop-steel-border);
  overflow:hidden;
}
.rop-card__img img{
  display:block;
  width:100%;
  height:auto;
}
.rop-card__body{
  padding:0.6rem 0.75rem 0.75rem;
}
.rop-card__title{
  font-family:var(--rop-font-display);
  font-weight:700;
  font-size:0.8rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#c8a85b;
  margin-bottom:0.2rem;
}
.rop-card__info{
  font-size:0.85rem;
  color:#b0b2b4;
  line-height:1.4;
}

/* ---- STAT ITEM ---- */
.rop-stat{
  display:flex;
  flex-direction:column;
  padding:0.35rem 0.55rem;
  background:rgba(0,0,0,0.2);
  border:1px solid rgba(255,255,255,0.03);
}
.rop-stat__label{
  font-family:var(--rop-font-display);
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--rop-text-muted);
}
.rop-stat__value{
  font-size:0.95rem;
  font-weight:500;
  color:var(--rop-text-bright);
}

/* ---- BADGE ---- */
.rop-badge{
  display:inline-block;
  font-family:var(--rop-font-display);
  font-size:0.62rem;
  font-weight:600;
  letter-spacing:0.05em;
  text-transform:uppercase;
  padding:0.12rem 0.45rem;
  border:1px solid var(--rop-gold-accent);
  color:var(--rop-gold-light);
}
.rop-badge--crimson{border-color:rgba(180,40,30,0.3);color:#c87060}
.rop-badge--steel{border-color:rgba(90,128,176,0.25);color:var(--rop-steel-blue-light)}
.rop-badge--green{border-color:rgba(50,140,50,0.3);color:#70b870}

/* ---- GRIDS ---- */
.rop-grid{display:grid;gap:1rem}
.rop-grid--2{grid-template-columns:1fr 1fr}
.rop-grid--3{grid-template-columns:repeat(3,1fr)}
.rop-grid--4{grid-template-columns:repeat(4,1fr)}
.rop-grid--auto{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

/* ---- HERO SECTION ---- */
.rop-hero{
  position:relative;
  overflow:hidden;
  margin-bottom:1.5rem;
  background:var(--rop-void);
}
.rop-hero__art{
  line-height:0;
}
.rop-hero__art img{
  display:block;
  width:100%;
  height:auto;
}
.rop-hero__overlay{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:3rem 2rem 2rem;
  background:linear-gradient(180deg,transparent 0%,rgba(5,6,7,0.6) 30%,rgba(5,6,7,0.9) 100%);
  text-align:center;
}
.rop-hero__logo{
  max-width:500px;
  height:auto;
  margin:0 auto 1rem;
  display:block;
}
.rop-hero__tagline{
  font-family:var(--rop-font-display);
  font-weight:600;
  font-size:1rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#c8a85b;
  text-shadow:0 1px 6px rgba(0,0,0,0.7);
  margin-bottom:0.5rem;
}
.rop-hero__copy{
  font-size:1.05rem;
  color:#d4d6d8;
  text-shadow:0 1px 4px rgba(0,0,0,0.7);
  max-width:600px;
  margin:0 auto 1rem;
}
.rop-hero__actions{
  display:flex;
  gap:0.75rem;
  justify-content:center;
  flex-wrap:wrap;
}

/* ---- FACTIONS SPLIT ---- */
.rop-faction-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:var(--rop-steel-border);
}
.rop-faction-split__side{
  position:relative;
  overflow:hidden;
}
.rop-faction-split__art{
  line-height:0;
}
.rop-faction-split__art img{
  display:block;
  width:100%;
  height:auto;
}
.rop-faction-split__shade{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.rop-faction-split__shade--valorian{
  background:linear-gradient(180deg,transparent 50%,rgba(5,10,20,0.85) 100%);
}
.rop-faction-split__shade--mordrath{
  background:linear-gradient(180deg,transparent 50%,rgba(20,5,5,0.85) 100%);
}
.rop-faction-split__info{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:2rem 1.5rem 1.5rem;
  text-align:center;
  z-index:2;
}
.rop-faction-split__emblem{
  width:64px;
  height:64px;
  object-fit:contain;
  margin-bottom:0.5rem;
}
.rop-faction-split__name{
  font-family:var(--rop-font-display);
  font-weight:800;
  font-size:1.3rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  margin-bottom:0.3rem;
}
.rop-faction-split__name--valorian{color:var(--rop-steel-blue-light);text-shadow:0 1px 4px rgba(0,0,0,0.7)}
.rop-faction-split__name--mordrath{color:#d88070;text-shadow:0 1px 4px rgba(0,0,0,0.7)}
.rop-faction-split__desc{
  font-size:0.85rem;
  color:#d0d2d4;
  text-shadow:0 1px 4px rgba(0,0,0,0.8);
  margin-bottom:0.75rem;
}
.rop-faction-split__link{
  display:inline-block;
  font-family:var(--rop-font-display);
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#f0d8b0;
  text-decoration:none;
  padding:0.45rem 1rem;
  background:linear-gradient(180deg,rgba(139,26,20,0.85),rgba(90,16,12,0.9));
  border:1px solid rgba(180,60,46,0.45);
  box-shadow:0 2px 8px rgba(0,0,0,0.5),inset 0 1px 0 rgba(220,100,60,0.2);
  transition:all var(--rop-tr);
}
.rop-faction-split__link:hover{
  background:linear-gradient(180deg,rgba(180,30,24,0.9),rgba(120,20,16,0.92));
  border-color:rgba(200,50,40,0.55);
  color:#ffe0c0;
  box-shadow:0 4px 14px rgba(0,0,0,0.6),inset 0 1px 0 rgba(220,80,50,0.3);
}

/* ---- SECTION CAP ---- */
.rop-cap{
  text-align:center;
  margin-bottom:0.75rem;
  font-family:var(--rop-font-display);
  font-size:0.65rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--rop-text-muted);
}
.rop-cap::before,.rop-cap::after{
  content:' — ';
  color:var(--rop-steel-border);
}

/* ---- FORM ---- */
.rop-form-group{margin-bottom:0.85rem}
.rop-label{
  display:block;
  font-family:var(--rop-font-display);
  font-size:0.7rem;
  font-weight:600;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--rop-text-heading);
  margin-bottom:0.3rem;
}
.rop-input{
  display:block;
  width:100%;
  font-family:var(--rop-font-body);
  font-size:0.95rem;
  color:var(--rop-text);
  background:var(--rop-charcoal);
  border:1px solid var(--rop-steel-border);
  padding:0.5rem 0.75rem;
  border-radius:var(--rop-radius);
  transition:border-color var(--rop-tr);
}
.rop-input:focus{
  outline:none;
  border-color:var(--rop-gold-light);
  box-shadow:0 0 0 2px rgba(160,136,72,0.1);
}
.rop-input::placeholder{color:var(--rop-text-muted)}
.rop-alert{
  padding:0.65rem 1rem;
  margin-bottom:0.85rem;
  border:1px solid;
  font-size:0.9rem;
}
.rop-alert--warning{
  background:rgba(139,34,34,0.06);
  border-color:rgba(180,60,50,0.2);
  color:#d88070;
}
.rop-alert--info{
  background:rgba(90,128,176,0.05);
  border-color:rgba(90,128,176,0.15);
  color:var(--rop-steel-blue-light);
}

/* ---- STATUS ---- */
.rop-status{display:inline-flex;align-items:center;gap:0.4rem}
.rop-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.rop-status__dot--online{background:#50b850;box-shadow:0 0 6px rgba(80,184,80,0.4)}
.rop-status__dot--offline{background:#666}
.rop-status__count{font-weight:600}

/* ---- FOOTER ---- */
.rop-footer{
  margin-top:2rem;
  padding:1rem 0;
  text-align:center;
  border-top:2px solid var(--rop-steel-border);
  background:var(--rop-charcoal);
  font-family:var(--rop-font-display);
  font-size:0.65rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--rop-text-muted);
}
.rop-footer::before{
  content:'';
  display:block;
  height:1px;
  margin-bottom:1rem;
  background:linear-gradient(90deg,transparent,var(--rop-gold-accent),transparent);
}

/* ---- CINEMATIC AUTH ---- */
.rop-auth-hero{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--rop-void);
  margin-bottom:1.5rem;
}
.rop-auth-hero__bg{
  position:absolute;
  inset:0;
}
.rop-auth-hero__bg img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.rop-auth-hero__shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,6,7,0.6) 0%,rgba(5,6,7,0.75) 50%,rgba(5,6,7,0.95) 100%);
}
.rop-auth-hero__panel{
  position:relative;
  z-index:2;
  width:100%;
  max-width:460px;
  margin:1.5rem;
}

/* ========================================================================
   GETTING STARTED — New-Player Onboarding Guide (.rop-start-*)
   ======================================================================== */

/* ---- Cinematic Masthead ---- */
.rop-start-masthead {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: var(--rop-void);
  border: 1px solid var(--rop-steel-border);
  border-bottom: none;
}
.rop-start-masthead__frame {
  position: relative;
  line-height: 0;
  border: 4px solid var(--rop-charcoal);
  box-shadow: inset 0 0 0 1px rgba(160,136,72,0.08),
              0 0 0 1px rgba(0,0,0,0.5);
}
.rop-start-masthead__frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 380px;
  object-fit: cover;
  object-position: center 30%;
}
.rop-start-masthead__overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2.5rem 2rem 1.5rem;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5,6,7,0.45) 35%,
    rgba(5,6,7,0.88) 100%
  );
  z-index: 2;
}
.rop-start-masthead__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.9rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-shadow: 0 2px 10px rgba(0,0,0,0.85);
  margin: 0 0 0.3rem;
  line-height: 1.2;
}
.rop-start-masthead__subtitle {
  font-family: var(--rop-font-body);
  font-weight: 400;
  font-size: 1.1rem;
  color: #d4d6d8;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75);
  margin: 0;
  max-width: 620px;
  line-height: 1.45;
}

/* ---- Stone Divider ---- */
.rop-start-divider {
  text-align: center;
  margin: 0;
  line-height: 0;
  background: var(--rop-charcoal);
  border-left: 1px solid var(--rop-steel-border);
  border-right: 1px solid var(--rop-steel-border);
  border-bottom: 1px solid var(--rop-steel-border);
}
.rop-start-divider img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 36px;
  object-fit: contain;
  opacity: 0.55;
}

/* ---- Introduction ---- */
.rop-start-intro {
  padding: 1.75rem 0 0.5rem;
  text-align: center;
}
.rop-start-intro p {
  font-size: 1.08rem;
  color: #d4d6d8;
  max-width: 680px;
  margin: 0 auto;
  line-height: 1.6;
}

/* ---- Guide Section ---- */
.rop-start-section {
  position: relative;
  display: flex;
  gap: 0;
  margin-bottom: 0;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 40%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.35),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.12),
    inset 0 0 18px rgba(0,0,0,0.5);
  border-top: none;
}
.rop-start-section:first-of-type {
  border-top: 1px solid var(--rop-steel-border);
}
.rop-start-section + .rop-start-section {
  margin-top: 1px;
}

.rop-start-section__marker {
  flex-shrink: 0;
  width: 72px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1.25rem 0 0 0;
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  color: rgba(184,153,74,0.16);
  background:
    linear-gradient(180deg, rgba(184,153,74,0.06) 0%, transparent 100%);
  border-right: 1px solid rgba(160,136,72,0.12);
  user-select: none;
}

.rop-start-section__body {
  flex: 1;
  min-width: 0;
  padding: 1.25rem 1.5rem 1.5rem;
}

.rop-start-section__heading {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin: 0 0 0.65rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(160,136,72,0.15);
}

.rop-start-section__body p {
  color: #d6d8d9;
  line-height: 1.7;
  margin-bottom: 0.6rem;
}
.rop-start-section__body ul,
.rop-start-section__body ol {
  color: #d6d8d9;
  padding-left: 1.3rem;
  margin-bottom: 0.6rem;
}
.rop-start-section__body li {
  margin-bottom: 0.35rem;
  line-height: 1.6;
}
.rop-start-section__body strong {
  color: var(--rop-text-bright);
}

.rop-start-section__actions {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 0.75rem;
}

/* Logged-in indicator */
.rop-start-logged-in {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.9rem;
  color: var(--rop-text-muted);
}
.rop-start-logged-in a {
  color: var(--rop-gold-light);
  text-decoration: underline;
}

/* ---- Callout / Warning ---- */
.rop-start-callout {
  margin-top: 0.75rem;
  padding: 0.65rem 0.9rem;
  border: 1px solid;
  font-size: 0.9rem;
  line-height: 1.55;
}
.rop-start-callout--warn {
  background: rgba(139,26,20,0.06);
  border-color: rgba(180,50,40,0.22);
  color: #d88070;
}
.rop-start-callout--warn strong {
  color: #e89080;
}

/* ---- Command Table ---- */
.rop-start-cmd-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.rop-start-cmd-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.55;
}
.rop-start-cmd-table thead {
  border-bottom: 2px solid rgba(160,136,72,0.2);
}
.rop-start-cmd-table th {
  text-align: left;
  padding: 0.45rem 0.75rem 0.4rem;
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  background: rgba(0,0,0,0.15);
}
.rop-start-cmd-table td {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  color: #d6d8d9;
  vertical-align: top;
}
.rop-start-cmd-table__cmd {
  white-space: nowrap;
  width: 1px;
}
.rop-start-cmd-table__cmd code {
  font-family: "SF Mono", "Consolas", "Monaco", monospace;
  font-size: 0.9rem;
  background: rgba(0,0,0,0.35);
  padding: 0.15em 0.5em;
  border: 1px solid rgba(160,136,72,0.18);
  border-radius: 2px;
  color: var(--rop-gold-light);
}

/* ---- Next Steps Grid ---- */
.rop-start-next {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin-top: 0.75rem;
}
.rop-start-next__item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.7rem 0.85rem;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(160,136,72,0.12);
  text-decoration: none !important;
  transition: border-color var(--rop-tr), background var(--rop-tr);
  border-radius: var(--rop-radius);
}
.rop-start-next__item:hover {
  border-color: rgba(160,136,72,0.3);
  background: rgba(160,136,72,0.04);
}
.rop-start-next__item:focus-visible {
  outline: 2px solid var(--rop-gold);
  outline-offset: 2px;
}
.rop-start-next__label {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
}
.rop-start-next__desc {
  font-size: 0.85rem;
  color: var(--rop-text-muted);
  line-height: 1.4;
}
/* ========================================================================
   GAME GUIDE — Player Manual (.rop-guide-*)
   ======================================================================== */

/* ---- Cinematic Masthead ---- */
.rop-guide-masthead {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: var(--rop-void);
  border: 1px solid var(--rop-steel-border);
  border-bottom: none;
}
.rop-guide-masthead__frame {
  position: relative;
  line-height: 0;
  border: 4px solid var(--rop-charcoal);
  box-shadow: inset 0 0 0 1px rgba(160,136,72,0.08),
              0 0 0 1px rgba(0,0,0,0.5);
}
.rop-guide-masthead__frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 350px;
  object-fit: cover;
  object-position: center 30%;
}
.rop-guide-masthead__overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2.5rem 2rem 1.5rem;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5,6,7,0.4) 30%,
    rgba(5,6,7,0.9) 100%
  );
  z-index: 2;
}
.rop-guide-masthead__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.9rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-shadow: 0 2px 10px rgba(0,0,0,0.85);
  margin: 0 0 0.3rem;
  line-height: 1.2;
}
.rop-guide-masthead__subtitle {
  font-family: var(--rop-font-body);
  font-weight: 400;
  font-size: 1.1rem;
  color: #d4d6d8;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75);
  margin: 0;
  max-width: 640px;
  line-height: 1.45;
}

/* ---- Layout — two-column (sidebar nav + content) ---- */
.rop-guide-layout {
  display: flex;
  gap: 0;
  align-items: flex-start;
}

/* ---- Sidebar Navigation ---- */
.rop-guide-nav {
  flex-shrink: 0;
  width: 220px;
  background: linear-gradient(180deg, var(--rop-stone-deep) 0%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  border-top: none;
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.35),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78);
  margin-right: 1.5rem;
}
.rop-guide-nav__sticky {
  position: sticky;
  top: 1rem;
  padding: 1rem 0;
}
.rop-guide-nav__heading {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  padding: 0 1rem 0.65rem;
  border-bottom: 1px solid rgba(160,136,72,0.15);
  margin-bottom: 0.5rem;
}
.rop-guide-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.rop-guide-nav__link {
  display: block;
  font-family: var(--rop-font-display);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--rop-text-muted);
  text-decoration: none;
  padding: 0.45rem 1rem;
  transition: color var(--rop-tr), background var(--rop-tr);
  border-left: 3px solid transparent;
}
.rop-guide-nav__link:hover {
  color: var(--rop-gold-light);
  background: rgba(160,136,72,0.06);
  border-left-color: rgba(160,136,72,0.4);
}
.rop-guide-nav__link:focus-visible {
  outline: 2px solid var(--rop-gold);
  outline-offset: -2px;
}

/* ---- Content Area ---- */
.rop-guide-content {
  flex: 1;
  min-width: 0;
}

/* ---- Guide Sections ---- */
.rop-guide-section {
  position: relative;
  display: flex;
  gap: 0;
  margin-bottom: 0;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 40%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.35),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.12),
    inset 0 0 18px rgba(0,0,0,0.5);
  border-top: none;
}
.rop-guide-section:first-of-type {
  border-top: 1px solid var(--rop-steel-border);
}
.rop-guide-section + .rop-guide-section {
  margin-top: 1px;
}

.rop-guide-section__marker {
  flex-shrink: 0;
  width: 72px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1.25rem 0 0 0;
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  color: rgba(184,153,74,0.16);
  background:
    linear-gradient(180deg, rgba(184,153,74,0.06) 0%, transparent 100%);
  border-right: 1px solid rgba(160,136,72,0.12);
  user-select: none;
}

.rop-guide-section__body {
  flex: 1;
  min-width: 0;
  padding: 1.25rem 1.5rem 1.5rem;
}
.rop-guide-section__heading {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(160,136,72,0.18);
}
.rop-guide-section__body h3 {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 1rem 0 0.4rem;
}
.rop-guide-section__body ul,
.rop-guide-section__body ol {
  margin: 0 0 0.6rem 1.2rem;
  padding: 0;
  color: #d6d8d9;
}
.rop-guide-section__body li {
  margin-bottom: 0.25rem;
  line-height: 1.55;
}

/* ---- Inline Command Style ---- */
.rop-guide-cmd {
  font-family: "SF Mono", "Consolas", "Monaco", monospace;
  font-size: 0.95rem;
  background: rgba(0,0,0,0.35);
  padding: 0.12em 0.45em;
  border: 1px solid rgba(160,136,72,0.2);
  border-radius: 2px;
  color: var(--rop-gold-light);
  white-space: nowrap;
}

/* ---- Callout Box ---- */
.rop-guide-callout {
  padding: 0.6rem 1rem;
  margin: 0.6rem 0 0.85rem;
  background: rgba(0,0,0,0.25);
  border-left: 3px solid rgba(160,136,72,0.35);
  font-size: 0.95rem;
  color: #d6d8d9;
  line-height: 1.65;
}
.rop-guide-callout code {
  font-family: "SF Mono", "Consolas", "Monaco", monospace;
  font-size: 0.9rem;
  background: rgba(0,0,0,0.35);
  padding: 0.1em 0.4em;
  border: 1px solid rgba(160,136,72,0.18);
  border-radius: 2px;
  color: var(--rop-gold-light);
}

/* ---- Alert Boxes ---- */
.rop-guide-alert {
  padding: 0.6rem 1rem;
  margin: 0.75rem 0;
  border: 1px solid;
  font-size: 0.9rem;
  line-height: 1.5;
}
.rop-guide-alert--crimson {
  background: rgba(139,26,20,0.08);
  border-color: rgba(184,40,32,0.25);
  color: #d88070;
}
.rop-guide-alert--warning {
  background: rgba(184,153,74,0.06);
  border-color: rgba(184,153,74,0.2);
  color: var(--rop-gold-light);
}
.rop-guide-alert--info {
  background: rgba(90,128,176,0.06);
  border-color: rgba(90,128,176,0.18);
  color: var(--rop-steel-blue-light);
}

/* ---- Command Grid (movement dirs / item cats / currency) ---- */
.rop-guide-cmd-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin: 0.5rem 0 0.85rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-guide-cmd-grid--4 { grid-template-columns: repeat(4, 1fr); }
.rop-guide-cmd-grid__item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.5rem 0.75rem;
  background: rgba(0,0,0,0.25);
}
.rop-guide-cmd-grid__cmd {
  font-family: "SF Mono", "Consolas", "Monaco", monospace;
  font-size: 0.88rem;
  color: var(--rop-gold-light);
}
.rop-guide-cmd-grid__alias {
  font-family: var(--rop-font-display);
  font-size: 0.62rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
}

/* ---- Equipment Slot Grid ---- */
.rop-guide-slot-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  margin: 0.5rem 0 0.85rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-guide-slot-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.45rem 0.55rem;
  background: rgba(0,0,0,0.25);
  font-family: var(--rop-font-display);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #d6d8d9;
}

/* ---- Faction Duo ---- */
.rop-guide-faction-duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 0.6rem 0 0.85rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-guide-faction-duo__side {
  padding: 0.8rem 1rem;
  background: rgba(0,0,0,0.25);
}
.rop-guide-faction-duo__side p {
  font-size: 0.9rem;
  color: #b0b2b4;
  margin: 0.3rem 0 0;
}
.rop-guide-faction-duo__name {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin: 0 0 0.3rem;
}
.rop-guide-faction-duo__name--valorian { color: var(--rop-steel-blue-light); }
.rop-guide-faction-duo__name--mordrath { color: #d88070; }

/* ---- PvP Zone Table ---- */
.rop-guide-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.5rem 0 0.85rem;
  font-size: 0.9rem;
  border: 1px solid var(--rop-steel-border);
}
.rop-guide-table thead th {
  font-family: var(--rop-font-display);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  padding: 0.5rem 0.75rem;
  text-align: left;
  background: rgba(0,0,0,0.3);
  border-bottom: 1px solid var(--rop-steel-border);
}
.rop-guide-table tbody td {
  padding: 0.5rem 0.75rem;
  color: #d6d8d9;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  vertical-align: top;
}
.rop-guide-table__zone {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
  width: 1px;
}
.rop-guide-table__zone--safe { color: #70b870; }
.rop-guide-table__zone--contested { color: #d88070; }

/* ---- Command Reference Rows ---- */
.rop-guide-cmd-cat {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0.85rem 0 0.35rem;
  padding: 0.45rem 0.75rem;
  background: rgba(0,0,0,0.15);
  border-left: 3px solid rgba(160,136,72,0.3);
}
.rop-guide-cmd-ref {
  border: 1px solid rgba(160,136,72,0.1);
  margin-bottom: 0.5rem;
}
.rop-guide-cmd-ref__row {
  display: flex;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  align-items: baseline;
}
.rop-guide-cmd-ref__row:last-child { border-bottom: none; }
.rop-guide-cmd-ref__cmd {
  flex-shrink: 0;
  min-width: 180px;
  font-family: "SF Mono", "Consolas", "Monaco", monospace;
  font-size: 0.88rem;
  color: var(--rop-gold-light);
  background: rgba(0,0,0,0.3);
  padding: 0.1em 0.5em;
  border: 1px solid rgba(160,136,72,0.16);
  border-radius: 2px;
  white-space: nowrap;
}
.rop-guide-cmd-ref__desc {
  font-size: 0.92rem;
  color: #d6d8d9;
  line-height: 1.5;
}
.rop-guide-cmd-ref__desc code {
  font-family: "SF Mono", "Consolas", "Monaco", monospace;
  font-size: 0.85rem;
  background: rgba(0,0,0,0.3);
  padding: 0.1em 0.35em;
  border-radius: 2px;
  color: var(--rop-gold-light);
}

/* ---- Command Search ---- */
.rop-guide-search { margin: 0.6rem 0 1rem; }
.rop-guide-search__label {
  display: block;
  font-family: var(--rop-font-display);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-text-heading);
  margin-bottom: 0.3rem;
}
.rop-guide-search__input { font-family: var(--rop-font-body); }

/* ---- RESPONSIVE ---- */
@media(min-width:768px){
  .rop-nav__brand-text{display:inline}
}
@media(max-width:1024px){
  .rop-grid--4{grid-template-columns:repeat(3,1fr)}
  .rop-start-next{grid-template-columns:repeat(2,1fr)}
  .rop-guide-nav{width:180px}
  .rop-guide-cmd-grid--4{grid-template-columns:repeat(2,1fr)}
  .rop-guide-slot-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .rop-grid--2,.rop-grid--3,.rop-grid--4{grid-template-columns:1fr}
  .rop-grid--auto{grid-template-columns:1fr}
  .rop-faction-split{grid-template-columns:1fr}
  .rop-nav__toggle{display:block}
  .rop-nav__links{display:none;width:100%;flex-direction:column;gap:0}
  .rop-nav__links.open{display:flex}
  .rop-nav__links a{padding:0.5rem 0;border-bottom:1px solid var(--rop-steel-border)}
  .rop-nav{flex-wrap:wrap}
  .rop-hero__overlay{padding:1.5rem 1rem}
  .rop-hero__logo{max-width:300px}
  .rop-hero__tagline{font-size:0.8rem}
  .rop-container{padding:0 1rem}
  .rop-panel__inner{padding:0.75rem 0.9rem}
  .rop-panel__corner{width:32px;height:32px}

  .rop-start-masthead__frame img{max-height:260px}
  .rop-start-masthead__overlay{padding:1.75rem 1rem 1rem}
  .rop-start-masthead__title{font-size:1.3rem}
  .rop-start-masthead__subtitle{font-size:0.9rem}
  .rop-start-section{flex-direction:column}
  .rop-start-section__marker{width:100%;flex-direction:row;align-items:center;justify-content:flex-start;padding:0.55rem 1rem;font-size:1.2rem;border-right:none;border-bottom:1px solid rgba(160,136,72,0.12)}
  .rop-start-section__body{padding:0.85rem 1rem 1rem}
  .rop-start-next{grid-template-columns:1fr}
  .rop-start-cmd-table{font-size:0.85rem}
  .rop-start-cmd-table th,.rop-start-cmd-table td{padding:0.35rem 0.5rem}
  .rop-start-intro{padding:1rem 0 0.25rem}

  /* Game Guide responsive */
  .rop-guide-layout{flex-direction:column}
  .rop-guide-nav{width:100%;margin-right:0;margin-bottom:1rem;border-top:1px solid var(--rop-steel-border)}
  .rop-guide-nav__sticky{position:static;padding:0.5rem 0}
  .rop-guide-nav__list{display:flex;flex-wrap:wrap;gap:0.25rem;padding:0 0.75rem}
  .rop-guide-nav__link{font-size:0.62rem;padding:0.3rem 0.5rem;border-left:none;border-bottom:2px solid transparent}
  .rop-guide-nav__link:hover{border-left-color:transparent;border-bottom-color:rgba(160,136,72,0.4)}
  .rop-guide-nav__heading{padding:0.5rem 0.75rem 0.4rem}
  .rop-guide-masthead__frame img{max-height:240px}
  .rop-guide-masthead__overlay{padding:1.5rem 1rem 1rem}
  .rop-guide-masthead__title{font-size:1.3rem}
  .rop-guide-masthead__subtitle{font-size:0.9rem}
  .rop-guide-section{flex-direction:column}
  .rop-guide-section__marker{width:100%;flex-direction:row;align-items:center;justify-content:flex-start;padding:0.55rem 1rem;font-size:1.2rem;border-right:none;border-bottom:1px solid rgba(160,136,72,0.12)}
  .rop-guide-section__body{padding:0.85rem 1rem 1rem}
  .rop-guide-cmd-grid{grid-template-columns:1fr 1fr}
  .rop-guide-cmd-grid--4{grid-template-columns:repeat(2,1fr)}
  .rop-guide-slot-grid{grid-template-columns:repeat(3,1fr)}
  .rop-guide-faction-duo{grid-template-columns:1fr}
  .rop-guide-cmd-ref__row{flex-direction:column;gap:0.2rem}
  .rop-guide-cmd-ref__cmd{min-width:0;white-space:normal}
}

/* ========================================================================
   LORE & WORLD — Codex (.rop-lore-*)
   ======================================================================== */

/* ---- Masthead ---- */
.rop-lore-masthead {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: var(--rop-void);
  border: 1px solid var(--rop-steel-border);
  border-bottom: none;
}
.rop-lore-masthead__frame {
  position: relative;
  line-height: 0;
  border: 4px solid var(--rop-charcoal);
  box-shadow: inset 0 0 0 1px rgba(160,136,72,0.08),
              0 0 0 1px rgba(0,0,0,0.5);
}
.rop-lore-masthead__frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 350px;
  object-fit: cover;
  object-position: center 40%;
}
.rop-lore-masthead__overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2.5rem 2rem 1.5rem;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5,6,7,0.45) 35%,
    rgba(5,6,7,0.92) 100%
  );
  z-index: 2;
}
.rop-lore-masthead__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-shadow: 0 2px 12px rgba(0,0,0,0.9);
  margin: 0 0 0.3rem;
  line-height: 1.2;
}
.rop-lore-masthead__subtitle {
  font-family: var(--rop-font-body);
  font-weight: 400;
  font-size: 1.15rem;
  color: #d4d6d8;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75);
  margin: 0;
  max-width: 620px;
  line-height: 1.45;
}

/* ---- Table of Contents ---- */
.rop-lore-toc {
  padding: 1.2rem 0 0;
  text-align: center;
}
.rop-lore-toc__heading {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin-bottom: 0.7rem;
}
.rop-lore-toc__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  justify-content: center;
}
.rop-lore-toc__link {
  display: inline-block;
  font-family: var(--rop-font-display);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--rop-text-muted);
  text-decoration: none;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(160,136,72,0.12);
  transition: color var(--rop-tr), border-color var(--rop-tr), background var(--rop-tr);
}
.rop-lore-toc__link:hover {
  color: var(--rop-gold-light);
  border-color: rgba(160,136,72,0.35);
  background: rgba(160,136,72,0.06);
}

/* ---- Codex Sections ---- */
.rop-lore-section {
  display: flex;
  gap: 0;
  margin-bottom: 0;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 40%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.32),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.1),
    inset 0 0 18px rgba(0,0,0,0.5);
  border-top: none;
}
.rop-lore-section:first-of-type { border-top: 1px solid var(--rop-steel-border); }
.rop-lore-section + .rop-lore-section { margin-top: 1px; }
.rop-lore-section__numeral {
  flex-shrink: 0;
  width: 80px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1.5rem 0 0 0;
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 2rem;
  letter-spacing: 0.04em;
  color: rgba(184,153,74,0.14);
  background: linear-gradient(180deg, rgba(184,153,74,0.05) 0%, transparent 100%);
  border-right: 1px solid rgba(160,136,72,0.1);
  user-select: none;
}
.rop-lore-section__numeral--valorian { color: rgba(90,128,176,0.16); }
.rop-lore-section__numeral--mordrath { color: rgba(184,100,90,0.16); }
.rop-lore-section__body {
  flex: 1;
  min-width: 0;
  padding: 1.5rem 2rem 1.75rem;
}
.rop-lore-section__heading {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 0.85rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid rgba(160,136,72,0.18);
}
.rop-lore-section__heading--valorian { color: var(--rop-steel-blue-light); }
.rop-lore-section__heading--mordrath { color: #d88070; }
.rop-lore-section__body h3 {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 1.25rem 0 0.45rem;
}
.rop-lore-section__body p {
  font-size: 1.02rem;
  color: #d6d8d9;
  line-height: 1.7;
  margin-bottom: 0.65rem;
}
.rop-lore-dropcap {
  font-size: 1.12rem !important;
  color: #e0e1e2 !important;
}

/* ---- Pillars ---- */
.rop-lore-pillars {
  display: flex;
  gap: 1px;
  margin: 0.75rem 0 1rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-lore-pillar {
  flex: 1;
  padding: 0.75rem 0.6rem;
  text-align: center;
  background: rgba(0,0,0,0.25);
}
.rop-lore-pillar__word {
  display: block;
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  margin-bottom: 0.2rem;
}
.rop-lore-pillar__desc {
  display: block;
  font-family: var(--rop-font-body);
  font-size: 0.75rem;
  font-style: italic;
  color: var(--rop-text-muted);
}
.rop-lore-pillar--valorian .rop-lore-pillar__word { color: var(--rop-steel-blue-light); }
.rop-lore-pillar--mordrath .rop-lore-pillar__word { color: #d88070; }

/* ---- Callout Boxes ---- */
.rop-lore-callout {
  padding: 0.75rem 1.25rem;
  margin: 0.75rem 0 1rem;
  background: rgba(0,0,0,0.25);
  border-left: 3px solid rgba(160,136,72,0.3);
}
.rop-lore-callout p { font-size: 0.98rem !important; color: #c8c9cb !important; margin-bottom: 0.3rem !important; }
.rop-lore-callout--subtle { border-left-color: rgba(160,136,72,0.15); background: rgba(0,0,0,0.15); }

/* ---- Pull Quotes ---- */
.rop-lore-quote {
  position: relative;
  padding: 1rem 1.25rem 0.5rem 2.5rem;
  margin: 1rem 0;
  background: rgba(0,0,0,0.18);
  border-left: 3px solid rgba(184,153,74,0.25);
}
.rop-lore-quote--player { border-left-color: rgba(139,26,20,0.2); }
.rop-lore-quote__mark {
  position: absolute;
  left: 0.6rem;
  top: 0.15rem;
  font-family: var(--rop-font-display);
  font-size: 3rem;
  line-height: 1;
  color: rgba(184,153,74,0.15);
  pointer-events: none;
}
.rop-lore-quote__text {
  font-family: var(--rop-font-body);
  font-weight: 400;
  font-style: italic;
  font-size: 1.05rem !important;
  color: #dbddde !important;
  line-height: 1.55 !important;
}

/* ---- Sect Cards ---- */
.rop-lore-sect {
  margin: 1rem 0;
  border: 1px solid rgba(160,136,72,0.12);
  background: rgba(0,0,0,0.18);
}
.rop-lore-sect--dominant {
  border-color: rgba(184,100,90,0.25);
  background: rgba(139,26,20,0.04);
}
.rop-lore-sect__header {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background: rgba(0,0,0,0.2);
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.rop-lore-sect__icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: var(--rop-gold-light);
  background: rgba(0,0,0,0.3);
  border: 1px solid rgba(160,136,72,0.2);
}
.rop-lore-sect--mordrath .rop-lore-sect__icon { color: #d88070; border-color: rgba(184,100,90,0.25); }
.rop-lore-sect--valorian .rop-lore-sect__icon { color: var(--rop-steel-blue-light); border-color: rgba(90,128,176,0.25); }
.rop-lore-sect__titles { flex: 1; min-width: 0; }
.rop-lore-sect__name {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 0.15rem;
}
.rop-lore-sect--mordrath .rop-lore-sect__name { color: #d88070; }
.rop-lore-sect--valorian .rop-lore-sect__name { color: var(--rop-steel-blue-light); }
.rop-lore-sect__role {
  display: block;
  font-family: var(--rop-font-display);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
}
.rop-lore-sect__badge {
  display: inline-block;
  margin-top: 0.2rem;
  font-family: var(--rop-font-display);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 0.1rem 0.45rem;
  background: rgba(184,40,32,0.15);
  border: 1px solid rgba(184,100,90,0.25);
  color: #d88070;
}
.rop-lore-sect__body { padding: 0.75rem 1rem 0.85rem; }
.rop-lore-sect__body p { font-size: 0.95rem !important; line-height: 1.6 !important; margin-bottom: 0.5rem !important; }

/* ---- Sayings ---- */
.rop-lore-saying {
  display: flex;
  gap: 0.4rem;
  align-items: flex-start;
  margin: 0.6rem 0 0.25rem;
  padding: 0.45rem 0;
  border-top: 1px solid rgba(255,255,255,0.03);
}
.rop-lore-saying__mark {
  flex-shrink: 0;
  font-family: var(--rop-font-display);
  font-size: 1.6rem;
  line-height: 1;
  color: rgba(184,153,74,0.2);
}
.rop-lore-sect--mordrath .rop-lore-saying__mark { color: rgba(184,100,90,0.18); }
.rop-lore-saying__text {
  font-family: var(--rop-font-body);
  font-style: italic;
  font-size: 0.95rem;
  color: #c5c6c8;
  padding-top: 0.2rem;
}

/* ---- Marches Grid ---- */
.rop-lore-marches-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  margin: 0.6rem 0 0.85rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-lore-marches-grid__item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.55rem 0.6rem;
  background: rgba(0,0,0,0.25);
}
.rop-lore-marches-grid__label {
  font-family: var(--rop-font-display);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
}
.rop-lore-marches-grid__desc {
  font-size: 0.78rem;
  color: var(--rop-text-muted);
  line-height: 1.35;
}

/* ---- PvP Callout ---- */
.rop-lore-pvp-callout {
  margin: 1rem 0 0.5rem;
  padding: 0.85rem 1rem;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(160,136,72,0.15);
}
.rop-lore-pvp-callout__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--rop-font-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin-bottom: 0.6rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.rop-lore-pvp-callout__icon { font-size: 1rem; }
.rop-lore-pvp-callout__rules {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.rop-lore-pvp-callout__rule {
  padding: 0.5rem 0.65rem;
  border: 1px solid;
  font-size: 0.82rem;
  line-height: 1.4;
}
.rop-lore-pvp-callout__rule strong { display: block; margin-bottom: 0.15rem; }
.rop-lore-pvp-callout__rule--safe {
  background: rgba(50,140,50,0.05);
  border-color: rgba(50,140,50,0.15);
  color: #b0d0b0;
}
.rop-lore-pvp-callout__rule--contested {
  background: rgba(184,100,60,0.05);
  border-color: rgba(184,100,60,0.18);
  color: #e0b8a8;
}
.rop-lore-pvp-callout__note {
  font-size: 0.82rem !important;
  color: var(--rop-text-muted) !important;
  line-height: 1.4 !important;
}

/* ---- Faith Grid ---- */
.rop-lore-faith-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 0.6rem 0 0.8rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-lore-faith-grid__item {
  padding: 0.6rem 0.8rem;
  background: rgba(0,0,0,0.2);
}
.rop-lore-faith-grid__item p { font-size: 0.9rem !important; margin-bottom: 0 !important; font-style: italic; }

/* ---- Life List ---- */
.rop-lore-life-list { margin: 0.5rem 0 0.75rem; }
.rop-lore-life-list p {
  padding: 0.35rem 0 0.35rem 1.5rem;
  margin-bottom: 0 !important;
  border-left: 2px solid rgba(160,136,72,0.15);
  font-size: 0.95rem !important;
}

/* ---- Age Signs ---- */
.rop-lore-age-signs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 0.75rem 0 0.85rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-lore-age-sign {
  padding: 0.75rem 1rem;
  background: rgba(0,0,0,0.2);
}
.rop-lore-age-sign__label {
  display: block;
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.rop-lore-age-sign--valorian .rop-lore-age-sign__label { color: var(--rop-steel-blue-light); }
.rop-lore-age-sign--mordrath .rop-lore-age-sign__label { color: #d88070; }
.rop-lore-age-sign__text { font-size: 0.9rem; color: #c5c6c8; line-height: 1.5; }

/* ---- Closing & Next Steps ---- */
.rop-lore-closing { text-align: center; margin: 1.25rem 0 0.5rem; }
.rop-lore-closing p {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  color: var(--rop-gold-light);
  text-transform: uppercase;
  margin-bottom: 0.2rem !important;
}
.rop-lore-next { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid rgba(160,136,72,0.12); }
.rop-lore-next h4 {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin-bottom: 0.6rem;
  text-align: center;
}
.rop-lore-next__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
.rop-lore-next__item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.65rem 0.85rem;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(160,136,72,0.1);
  text-decoration: none !important;
  transition: border-color var(--rop-tr), background var(--rop-tr);
}
.rop-lore-next__item:hover { border-color: rgba(160,136,72,0.3); background: rgba(160,136,72,0.04); }
.rop-lore-next__label {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
}
.rop-lore-next__desc {
  font-size: 0.82rem;
  color: var(--rop-text-muted);
  line-height: 1.35;
}

/* ---- LORE RESPONSIVE ---- */
@media(max-width:1024px){
  .rop-lore-marches-grid{grid-template-columns:repeat(3,1fr)}
  .rop-lore-section__body{padding:1.25rem 1.25rem 1.5rem}
}
@media(max-width:768px){
  .rop-lore-masthead__frame img{max-height:220px}
  .rop-lore-masthead__overlay{padding:1.5rem 1rem 1rem}
  .rop-lore-masthead__title{font-size:1.4rem}
  .rop-lore-masthead__subtitle{font-size:0.95rem}
  .rop-lore-toc__links{gap:0.2rem}
  .rop-lore-toc__link{font-size:0.6rem;padding:0.25rem 0.45rem}
  .rop-lore-section{flex-direction:column}
  .rop-lore-section__numeral{width:100%;flex-direction:row;align-items:center;justify-content:flex-start;padding:0.5rem 1rem;font-size:1.4rem;border-right:none;border-bottom:1px solid rgba(160,136,72,0.1)}
  .rop-lore-section__body{padding:0.85rem 1rem 1rem}
  .rop-lore-section__heading{font-size:1rem}
  .rop-lore-section__body p{font-size:0.92rem}
  .rop-lore-pillars{flex-direction:column}
  .rop-lore-marches-grid{grid-template-columns:repeat(2,1fr)}
  .rop-lore-pvp-callout__rules{grid-template-columns:1fr;gap:0.35rem}
  .rop-lore-faith-grid{grid-template-columns:1fr}
  .rop-lore-age-signs{grid-template-columns:1fr}
  .rop-lore-next__grid{grid-template-columns:1fr}
  .rop-lore-sect__header{flex-direction:column;gap:0.4rem}
  .rop-lore-quote{padding-left:1.75rem}
  .rop-lore-quote__mark{font-size:2.2rem;left:0.3rem}
}

/* ========================================================================
   NEWS & UPDATES — .rop-news-*
   ======================================================================== */

/* ---- Cinematic Masthead ---- */
.rop-news-masthead {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: var(--rop-void);
  border: 1px solid var(--rop-steel-border);
  border-bottom: none;
}
.rop-news-masthead__frame {
  position: relative;
  line-height: 0;
  border: 4px solid var(--rop-charcoal);
  box-shadow: inset 0 0 0 1px rgba(160,136,72,0.08),
              0 0 0 1px rgba(0,0,0,0.5);
}
.rop-news-masthead__frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 320px;
  object-fit: cover;
  object-position: center 35%;
}
.rop-news-masthead__overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2.2rem 2rem 1.4rem;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5,6,7,0.5) 35%,
    rgba(5,6,7,0.92) 100%
  );
  z-index: 2;
}
.rop-news-masthead__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-shadow: 0 2px 10px rgba(0,0,0,0.85);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
.rop-news-masthead__subtitle {
  font-family: var(--rop-font-body);
  font-weight: 400;
  font-size: 1.05rem;
  color: #d4d6d8;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75);
  margin: 0;
  max-width: 580px;
  line-height: 1.45;
}

/* ---- Anchor Nav ---- */
.rop-news-nav {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 100%);
  border: 1px solid var(--rop-steel-border);
  border-top: none;
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.35),
    0 0 0 6px #111417;
}
.rop-news-nav__link {
  font-family: var(--rop-font-display);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  text-decoration: none;
  padding: 0.6rem 1.2rem;
  border-right: 1px solid rgba(255,255,255,0.04);
  transition: color var(--rop-tr), background var(--rop-tr);
}
.rop-news-nav__link:hover,
.rop-news-nav__link--active {
  color: var(--rop-gold-light);
  background: rgba(160,136,72,0.06);
}
.rop-news-nav__link--active {
  border-bottom: 2px solid var(--rop-crimson);
}

/* ---- News Badge ---- */
.rop-news-badge {
  display: inline-block;
  font-family: var(--rop-font-display);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.15rem 0.55rem;
  border: 1px solid rgba(160,136,72,0.25);
  color: var(--rop-gold-light);
  background: rgba(160,136,72,0.06);
  white-space: nowrap;
}
.rop-news-badge--crimson {
  border-color: rgba(180,40,30,0.35);
  color: #d88070;
  background: rgba(139,26,20,0.1);
}
.rop-news-badge--steel {
  border-color: rgba(90,128,176,0.3);
  color: var(--rop-steel-blue-light);
  background: rgba(90,128,176,0.06);
}

/* ---- FEATURED STORY ---- */
.rop-news-featured {
  position: relative;
  margin-bottom: 1.5rem;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 30%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(180,40,30,0.28),
    0 0 0 6px #111417,
    0 8px 32px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(200,70,50,0.10),
    inset 0 0 24px rgba(0,0,0,0.5);
}
/* Featured corner brackets */
.rop-news-featured__bracket {
  position: absolute;
  width: 24px; height: 24px;
  pointer-events: none;
  z-index: 2;
}
.rop-news-featured__bracket--tl {
  top: 6px; left: 6px;
  border-top: 2px solid rgba(200,70,50,0.4);
  border-left: 2px solid rgba(200,70,50,0.4);
}
.rop-news-featured__bracket--tr {
  top: 6px; right: 6px;
  border-top: 2px solid rgba(200,70,50,0.4);
  border-right: 2px solid rgba(200,70,50,0.4);
}
.rop-news-featured__bracket--bl {
  bottom: 6px; left: 6px;
  border-bottom: 2px solid rgba(200,70,50,0.4);
  border-left: 2px solid rgba(200,70,50,0.4);
}
.rop-news-featured__bracket--br {
  bottom: 6px; right: 6px;
  border-bottom: 2px solid rgba(200,70,50,0.4);
  border-right: 2px solid rgba(200,70,50,0.4);
}
.rop-news-featured__header {
  padding: 2rem 2.5rem 0;
}
.rop-news-featured__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.rop-news-featured__date {
  font-family: var(--rop-font-display);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--rop-text-muted);
}
.rop-news-featured__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 0.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(200,70,50,0.18);
  line-height: 1.25;
}
.rop-news-featured__body {
  padding: 1.5rem 2.5rem 2rem;
}
.rop-news-featured__body p {
  font-size: 1.02rem;
  color: #d6d8d9;
  line-height: 1.7;
  margin-bottom: 0.75rem;
}
.rop-news-dropcap {
  font-size: 1.12rem !important;
  color: #e0e1e2 !important;
}
.rop-news-featured__closing {
  font-size: 1.05rem !important;
  color: #c8a85b !important;
  margin-top: 1rem !important;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(160,136,72,0.12);
}

/* Featured highlights grid */
.rop-news-featured__highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin: 0.85rem 0 1rem;
  background: var(--rop-steel-border);
  border: 1px solid var(--rop-steel-border);
}
.rop-news-highlight {
  padding: 0.6rem 0.85rem;
  background: rgba(0,0,0,0.25);
}
.rop-news-highlight__label {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin-bottom: 0.15rem;
}
.rop-news-highlight__detail {
  font-size: 0.85rem;
  color: #b0b2b4;
  line-height: 1.45;
}
.rop-news-featured__rail {
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(200,70,50,0.25) 20%,
    rgba(200,70,50,0.25) 80%,
    transparent 100%
  );
}

/* ---- NEXUS ANNOUNCEMENT ---- */
.rop-news-portal {
  position: relative;
  margin-bottom: 1.5rem;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 30%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(90,128,176,0.22),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(90,128,176,0.08),
    inset 0 0 18px rgba(0,0,0,0.5);
}
.rop-news-portal__accent {
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(
    180deg,
    rgba(90,128,176,0.5) 0%,
    rgba(90,128,176,0.15) 100%
  );
  pointer-events: none;
}
.rop-news-portal__header {
  padding: 1.75rem 2rem 0;
}
.rop-news-portal__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 0.6rem;
}
.rop-news-portal__date {
  font-family: var(--rop-font-display);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--rop-text-muted);
}
.rop-news-portal__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.2rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rop-steel-blue-light);
  margin: 0 0 0.25rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid rgba(90,128,176,0.15);
  line-height: 1.3;
}
.rop-news-portal__body {
  padding: 1.25rem 2rem 1.75rem;
}
.rop-news-portal__body p {
  font-size: 1.02rem;
  color: #d6d8d9;
  line-height: 1.7;
  margin-bottom: 0.65rem;
}
/* ---- ARCHIVE HEADER ---- */
.rop-news-archive-header {
  text-align: center;
  margin-bottom: 1.25rem;
  padding: 1rem 1.5rem;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.3),
    0 0 0 6px #111417;
}
.rop-news-archive-header__title {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin: 0 0 0.3rem;
}
.rop-news-archive-header__subtitle {
  font-size: 0.95rem;
  color: var(--rop-text-muted);
  margin: 0;
}

/* ---- TIMELINE ---- */
.rop-news-timeline {
  position: relative;
}

/* ---- ARCHIVE ENTRY ---- */
.rop-news-entry {
  display: flex;
  gap: 0;
  margin-bottom: 0;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 40%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.35),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.12),
    inset 0 0 18px rgba(0,0,0,0.5);
  border-top: none;
}
.rop-news-entry:first-of-type {
  border-top: 1px solid var(--rop-steel-border);
}
.rop-news-entry + .rop-news-entry {
  margin-top: 1px;
}

/* Marker (date column) */
.rop-news-entry__marker {
  flex-shrink: 0;
  width: 85px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.25rem 0 0 0;
  background:
    linear-gradient(180deg, rgba(184,153,74,0.06) 0%, transparent 100%);
  border-right: 1px solid rgba(160,136,72,0.12);
  position: relative;
}
.rop-news-entry__date {
  text-align: center;
  line-height: 1.15;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.rop-news-entry__day {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.7rem;
  color: rgba(184,153,74,0.22);
  display: block;
}
.rop-news-entry__month {
  font-family: var(--rop-font-display);
  font-weight: 600;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  display: block;
}
.rop-news-entry__year {
  font-family: var(--rop-font-display);
  font-weight: 600;
  font-size: 0.55rem;
  letter-spacing: 0.08em;
  color: rgba(160,136,72,0.35);
  display: block;
}
.rop-news-entry__rail {
  flex: 1;
  width: 2px;
  min-height: 1.5rem;
  background: linear-gradient(
    180deg,
    rgba(160,136,72,0.15) 0%,
    transparent 100%
  );
  margin-top: 0.5rem;
}

/* Entry body */
.rop-news-entry__body {
  flex: 1;
  min-width: 0;
  padding: 1.25rem 1.5rem 1.5rem;
}
.rop-news-entry__meta {
  margin-bottom: 0.4rem;
}
.rop-news-entry__title {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 0.65rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(160,136,72,0.14);
}
.rop-news-entry__content p {
  font-size: 0.95rem;
  color: #d6d8d9;
  line-height: 1.65;
  margin-bottom: 0.55rem;
}
.rop-news-entry__content p:last-child {
  margin-bottom: 0;
}
.rop-news-entry__link {
  display: inline-block;
  font-family: var(--rop-font-display);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-decoration: none;
  margin-top: 0.25rem;
  transition: color var(--rop-tr);
}
.rop-news-entry__link:hover {
  color: #d5b96d;
}

/* ---- DEVELOPMENT STATUS ---- */
.rop-news-status {
  position: relative;
  margin-bottom: 2rem;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 40%, var(--rop-charcoal) 100%);
  border: 1px solid var(--rop-steel-border);
  box-shadow:
    0 0 0 3px #090b0d,
    0 0 0 4px rgba(160,136,72,0.35),
    0 0 0 6px #111417,
    0 8px 28px rgba(0,0,0,0.78),
    inset 0 0 0 1px rgba(205,170,86,0.12),
    inset 0 0 18px rgba(0,0,0,0.5);
}
.rop-news-status__header {
  padding: 1.25rem 2rem 0;
  text-align: center;
}
.rop-news-status__title {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(160,136,72,0.18);
}
.rop-news-status__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1px;
  background: var(--rop-steel-border);
  margin: 0 1.5rem 1.5rem;
  border: 1px solid var(--rop-steel-border);
}
.rop-news-status__item {
  padding: 0.75rem 1rem;
  background: rgba(0,0,0,0.25);
  border-left: 3px solid transparent;
}
.rop-news-status__item--complete {
  border-left-color: rgba(50,140,50,0.35);
}
.rop-news-status__item--active {
  border-left-color: rgba(184,153,74,0.3);
}
.rop-news-status__item--steel {
  border-left-color: rgba(90,128,176,0.3);
}
.rop-news-status__item--ongoing {
  border-left-color: rgba(160,136,72,0.2);
}
.rop-news-status__label {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin-bottom: 0.15rem;
}
.rop-news-status__state {
  font-family: var(--rop-font-display);
  font-weight: 600;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.rop-news-status__item--complete .rop-news-status__state { color: #70b870; }
.rop-news-status__item--active .rop-news-status__state { color: #c8a85b; }
.rop-news-status__item--steel .rop-news-status__state { color: var(--rop-steel-blue-light); }
.rop-news-status__item--ongoing .rop-news-status__state { color: var(--rop-text-muted); }
.rop-news-status__desc {
  font-size: 0.82rem;
  color: var(--rop-text-muted);
  line-height: 1.45;
}

/* ========================================================================
   NEWS RESPONSIVE
   ======================================================================== */

@media(max-width:1024px){
  .rop-news-featured__body{padding:1.25rem 1.5rem 1.5rem}
  .rop-news-featured__header{padding:1.5rem 1.5rem 0}
  .rop-news-featured__highlights{grid-template-columns:1fr}
  .rop-news-portal__body{padding:1.25rem 1.5rem 1.5rem}
  .rop-news-portal__header{padding:1.5rem 1.5rem 0}
}
@media(max-width:768px){
  .rop-news-masthead__frame img{max-height:200px}
  .rop-news-masthead__overlay{padding:1.2rem 1rem 0.8rem}
  .rop-news-masthead__title{font-size:1.3rem}
  .rop-news-masthead__subtitle{font-size:0.9rem}
  .rop-news-nav__link{font-size:0.62rem;padding:0.5rem 0.75rem}
  .rop-news-featured__title{font-size:1.15rem}
  .rop-news-featured__body{padding:1rem 1.25rem 1.25rem}
  .rop-news-featured__header{padding:1.25rem 1.25rem 0}
  .rop-news-featured__body p{font-size:0.92rem}
  .rop-news-featured__highlights{grid-template-columns:1fr}
  .rop-news-featured__bracket{width:16px;height:16px}
  .rop-news-featured__bracket--tl{top:4px;left:4px}
  .rop-news-featured__bracket--tr{top:4px;right:4px}
  .rop-news-featured__bracket--bl{bottom:4px;left:4px}
  .rop-news-featured__bracket--br{bottom:4px;right:4px}
  .rop-news-portal__title{font-size:1rem}
  .rop-news-portal__body{padding:1rem 1.25rem 1.25rem}
  .rop-news-portal__header{padding:1.25rem 1.25rem 0}
  .rop-news-portal__body p{font-size:0.92rem}
  .rop-news-entry{flex-direction:column}
  .rop-news-entry__marker{
    width:100%;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    padding:0.5rem 0.85rem;
    border-right:none;
    border-bottom:1px solid rgba(160,136,72,0.1);
    gap:0.5rem;
  }
  .rop-news-entry__date{flex-direction:row;gap:0.3rem;align-items:baseline}
  .rop-news-entry__day{font-size:1.2rem}
  .rop-news-entry__month{font-size:0.6rem}
  .rop-news-entry__year{font-size:0.55rem}
  .rop-news-entry__rail{display:none}
  .rop-news-entry__body{padding:0.85rem 1rem 1rem}
  .rop-news-entry__title{font-size:0.9rem}
  .rop-news-entry__content p{font-size:0.88rem}
  .rop-news-status__grid{grid-template-columns:1fr;margin:0 1rem 1rem}
  .rop-news-status__header{padding:1rem 1rem 0}
  .rop-news-archive-header{padding:0.85rem 1rem}
  .rop-news-archive-header__title{font-size:0.95rem}
}

@media(max-width:480px){
  .rop-news-masthead__frame img{max-height:150px}
  .rop-news-masthead__overlay{padding:0.8rem 0.75rem 0.6rem}
  .rop-news-masthead__title{font-size:1.05rem}
  .rop-news-masthead__subtitle{font-size:0.78rem}
  .rop-news-nav{flex-wrap:wrap}
  .rop-news-nav__link{font-size:0.58rem;padding:0.4rem 0.6rem;border-right:none}
  .rop-news-featured__title{font-size:1rem}
  .rop-news-featured__body{padding:0.75rem 1rem 1rem}
  .rop-news-featured__header{padding:1rem 1rem 0}
  .rop-news-portal__body{padding:0.75rem 1rem 1rem}
  .rop-news-portal__header{padding:1rem 1rem 0}
  .rop-news-entry__body{padding:0.7rem 0.85rem 0.85rem}
}
/* ========================================================================
   DASHBOARD — Player Command Center (.rop-dashboard-*)
   ======================================================================== */
/* ---- Cinematic Identity Masthead ---- */
.rop-dashboard-masthead {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  background: var(--rop-void);
  border: 1px solid var(--rop-steel-border);
  border-bottom: none;
}
.rop-dashboard-masthead__frame {
  position: relative;
  line-height: 0;
  border: 4px solid var(--rop-charcoal);
  box-shadow: inset 0 0 0 1px rgba(160,136,72,0.08),
              0 0 0 1px rgba(0,0,0,0.5);
}
.rop-dashboard-masthead__frame img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 320px;
  object-fit: cover;
  object-position: center 25%;
}
.rop-dashboard-masthead__overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 2.2rem 2rem 1.25rem;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(5,6,7,0.35) 28%,
    rgba(5,6,7,0.85) 100%
  );
  z-index: 2;
}
.rop-dashboard-masthead__title {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-shadow: 0 2px 10px rgba(0,0,0,0.85);
  margin: 0 0 0.2rem;
  line-height: 1.2;
}
.rop-dashboard-masthead__greeting {
  font-family: var(--rop-font-display);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #d4d6d8;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75);
  margin: 0 0 0.5rem;
}
.rop-dashboard-masthead__char-name {
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.35rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  text-shadow: 0 2px 8px rgba(0,0,0,0.85);
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
.rop-dashboard-masthead__char-meta {
  font-family: var(--rop-font-body);
  font-size: 1.05rem;
  color: #d6d8d9;
  text-shadow: 0 1px 5px rgba(0,0,0,0.75);
  margin: 0;
  line-height: 1.4;
}
.rop-dashboard-masthead__char-meta strong {
  color: #e4e5e6;
  font-weight: 600;
}
.rop-dashboard-masthead__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.6rem;
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  padding: 0.4rem 1rem;
  color: #e8dcc8;
  background: linear-gradient(180deg, var(--rop-crimson) 0%, var(--rop-crimson-dark) 100%);
  border: 1px solid rgba(180,60,40,0.35);
  border-radius: var(--rop-radius);
  box-shadow: 0 2px 8px rgba(0,0,0,0.5), inset 0 1px 0 rgba(220,100,60,0.2);
  transition: all var(--rop-tr);
}
.rop-dashboard-masthead__cta:hover {
  background: linear-gradient(180deg, var(--rop-crimson-light) 0%, var(--rop-crimson) 100%);
  color: #fff;
  border-color: rgba(200,70,50,0.45);
}

/* ---- Status Rail ---- */
.rop-dashboard-status {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 0;
  background:
    linear-gradient(180deg, var(--rop-stone-mid) 0%, var(--rop-stone-deep) 100%);
  border-left: 1px solid var(--rop-steel-border);
  border-right: 1px solid var(--rop-steel-border);
  border-bottom: 1px solid var(--rop-steel-border);
}
.rop-dashboard-status__item {
  flex: 1;
  min-width: 120px;
  padding: 0.55rem 0.85rem;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
}
.rop-dashboard-status__item:last-child {
  border-right: none;
}
.rop-dashboard-status__label {
  font-family: var(--rop-font-display);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
}
.rop-dashboard-status__value {
  font-family: var(--rop-font-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #d6d8d9;
}
.rop-dashboard-status__value--online { color: #50b850; }
.rop-dashboard-status__value--offline { color: #b05050; }
.rop-dashboard-status__value--valorian { color: var(--rop-steel-blue-light); }
.rop-dashboard-status__value--mordrath { color: #d88070; }
.rop-dashboard-status__value--crimson { color: var(--rop-crimson-light); }
.rop-dashboard-status__dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-right: 0.3rem;
  vertical-align: middle;
}
.rop-dashboard-status__dot--online {
  background: #50b850;
  box-shadow: 0 0 6px rgba(80,184,80,0.5);
}
.rop-dashboard-status__dot--offline {
  background: #666;
}
/* ---- Command Center Grid ---- */
.rop-dashboard-cc {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}
.rop-dashboard-cc--wide {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* ---- Command Center Tile ---- */
.rop-dashboard-cc__tile {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.1rem 1rem 1rem;
  background: linear-gradient(180deg, var(--rop-stone-deep) 0%, var(--rop-charcoal) 100%);
  border: 1px solid #30363b;
  box-shadow:
    0 0 0 2px #090b0d,
    0 0 0 3px rgba(160,136,72,0.35),
    0 0 0 5px #111417,
    0 6px 20px rgba(0,0,0,0.6),
    inset 0 0 0 1px rgba(205,170,86,0.1),
    inset 0 0 12px rgba(0,0,0,0.4);
  text-decoration: none !important;
  transition: all var(--rop-tr);
  cursor: pointer;
  min-height: 140px;
  justify-content: space-between;
}
.rop-dashboard-cc__tile::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(160,136,72,0.18);
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,0.65),
    0 0 0 1px rgba(70,76,82,0.28);
  pointer-events: none;
  z-index: 2;
}
.rop-dashboard-cc__tile::after {
  content: '';
  position: absolute;
  left: 14px;
  right: 14px;
  top: 6px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(198,165,82,0.22) 15%,
    rgba(198,165,82,0.42) 50%,
    rgba(198,165,82,0.22) 85%,
    transparent
  );
  pointer-events: none;
  z-index: 2;
}
.rop-dashboard-cc__tile:hover {
  border-color: #4a5056;
  transform: translateY(-2px);
  box-shadow:
    0 0 0 2px #090b0d,
    0 0 0 3px rgba(160,136,72,0.5),
    0 0 0 5px #111417,
    0 8px 28px rgba(0,0,0,0.75),
    inset 0 0 0 1px rgba(205,170,86,0.18),
    inset 0 0 16px rgba(0,0,0,0.5);
}
a.rop-dashboard-cc__tile,
a.rop-dashboard-cc__tile:hover,
a.rop-dashboard-cc__tile:visited {
  color: inherit;
}

.rop-dashboard-cc__tile-header {
  position: relative;
  z-index: 3;
}
.rop-dashboard-cc__tile-icon {
  font-family: var(--rop-font-display);
  font-size: 1.5rem;
  line-height: 1;
  color: var(--rop-gold-light);
  margin-bottom: 0.4rem;
  opacity: 0.7;
}
.rop-dashboard-cc__tile-title {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.85rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #c8a85b;
  margin-bottom: 0.2rem;
}
.rop-dashboard-cc__tile-desc {
  font-size: 0.85rem;
  color: #a0a2a4;
  line-height: 1.4;
  position: relative;
  z-index: 3;
}
.rop-dashboard-cc__tile-footer {
  position: relative;
  z-index: 3;
  margin-top: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.rop-dashboard-cc__tile-action {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c8a85b;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.rop-dashboard-cc__tile-action::after {
  content: '\2192';
  font-size: 0.8rem;
}
/* Primary tile (Play in Browser) */
.rop-dashboard-cc__tile--primary {
  border-color: rgba(180,60,40,0.3);
  box-shadow:
    0 0 0 2px #090b0d,
    0 0 0 3px rgba(180,60,40,0.25),
    0 0 0 5px #111417,
    0 6px 24px rgba(0,0,0,0.65),
    inset 0 0 0 1px rgba(205,170,86,0.12),
    inset 0 0 16px rgba(0,0,0,0.45);
  background: linear-gradient(180deg, rgba(60,15,10,0.25) 0%, var(--rop-charcoal) 100%);
}
.rop-dashboard-cc__tile--primary::before {
  border-color: rgba(200,70,50,0.22);
}
.rop-dashboard-cc__tile--primary:hover {
  border-color: rgba(200,70,50,0.45);
  box-shadow:
    0 0 0 2px #090b0d,
    0 0 0 3px rgba(200,70,50,0.35),
    0 0 0 5px #111417,
    0 8px 32px rgba(80,15,5,0.3),
    inset 0 0 0 1px rgba(205,170,86,0.18),
    inset 0 0 20px rgba(0,0,0,0.55);
}
.rop-dashboard-cc__tile--primary .rop-dashboard-cc__tile-title {
  color: #e8c8c0;
}
.rop-dashboard-cc__tile--primary .rop-dashboard-cc__tile-action {
  color: #e8c8c0;
}

/* Admin tile */
.rop-dashboard-cc__tile--admin {
  border-color: rgba(184,153,74,0.15);
}
.rop-dashboard-cc__tile--admin .rop-dashboard-cc__tile-title {
  color: #a09060;
}

/* Disabled tile */
.rop-dashboard-cc__tile--disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}
.rop-dashboard-cc__tile--disabled .rop-dashboard-cc__tile-title {
  color: #6a6a6a;
}
.rop-dashboard-cc__tile--disabled .rop-dashboard-cc__tile-desc {
  color: #5a5a5a;
}
/* ---- Character Overview Panel ---- */
.rop-dashboard-char-summary {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.rop-dashboard-char-summary__stats {
  flex: 1;
  min-width: 220px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
.rop-dashboard-char-stat {
  display: flex;
  flex-direction: column;
  padding: 0.4rem 0.55rem;
  background: rgba(0,0,0,0.25);
  border: 1px solid rgba(255,255,255,0.04);
  border-radius: var(--rop-radius);
}
.rop-dashboard-char-stat__label {
  font-family: var(--rop-font-display);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  margin-bottom: 0.1rem;
}
.rop-dashboard-char-stat__value {
  font-family: var(--rop-font-display);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #d6d8d9;
}
.rop-dashboard-char-stat__value--valorian { color: var(--rop-steel-blue-light); }
.rop-dashboard-char-stat__value--mordrath { color: #d88070; }

/* ---- Empty State (Character Absent) ---- */
.rop-dashboard-empty {
  text-align: center;
  padding: 2rem 1.5rem;
}
.rop-dashboard-empty__icon {
  font-family: var(--rop-font-display);
  font-size: 2.5rem;
  color: rgba(184,153,74,0.2);
  margin-bottom: 0.75rem;
  line-height: 1;
}
.rop-dashboard-empty__title {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c8a85b;
  margin: 0 0 0.4rem;
}
.rop-dashboard-empty__desc {
  font-size: 0.95rem;
  color: #a0a2a4;
  margin: 0 auto 1rem;
  max-width: 420px;
  line-height: 1.5;
}

/* ---- Account Controls (restrained) ---- */
.rop-dashboard-controls {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255,255,255,0.04);
}
.rop-dashboard-controls__label {
  font-family: var(--rop-font-display);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  width: 100%;
  margin-bottom: 0.1rem;
}

/* ---- Dashboard Section Heading ---- */
.rop-dashboard-cc__heading {
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c8a85b;
  margin-bottom: 0.85rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(160,136,72,0.15);
}
/* ---- Dashboard Responsive ---- */
@media(max-width:1024px){
  .rop-dashboard-masthead__frame img { max-height: 260px; }
  .rop-dashboard-masthead__overlay { padding: 1.8rem 1.5rem 1rem; }
  .rop-dashboard-masthead__title { font-size: 1.3rem; }
  .rop-dashboard-masthead__char-name { font-size: 1.1rem; }
  .rop-dashboard-masthead__char-meta { font-size: 0.92rem; }
  .rop-dashboard-cc { grid-template-columns: repeat(2, 1fr); }
}

@media(max-width:768px){
  .rop-dashboard-masthead__frame img { max-height: 200px; }
  .rop-dashboard-masthead__overlay { padding: 1.2rem 1rem 0.8rem; }
  .rop-dashboard-masthead__title { font-size: 1.05rem; }
  .rop-dashboard-masthead__greeting { font-size: 0.68rem; }
  .rop-dashboard-masthead__char-name { font-size: 0.95rem; }
  .rop-dashboard-masthead__char-meta { font-size: 0.82rem; }
  .rop-dashboard-status { flex-wrap: wrap; }
  .rop-dashboard-status__item {
    flex: 1 1 33%;
    min-width: 100px;
    padding: 0.4rem 0.5rem;
  }
  .rop-dashboard-cc { grid-template-columns: 1fr; gap: 0.65rem; }
  .rop-dashboard-cc__tile { min-height: auto; }
  .rop-dashboard-char-summary__stats { grid-template-columns: 1fr 1fr; }
  .rop-dashboard-empty { padding: 1.25rem 1rem; }
}

@media(max-width:480px){
  .rop-dashboard-masthead__frame img { max-height: 150px; }
  .rop-dashboard-masthead__overlay { padding: 0.8rem 0.75rem 0.6rem; }
  .rop-dashboard-masthead__title { font-size: 0.85rem; }
  .rop-dashboard-masthead__char-name { font-size: 0.8rem; }
  .rop-dashboard-masthead__char-meta { font-size: 0.72rem; }
  .rop-dashboard-masthead__cta { font-size: 0.6rem; padding: 0.3rem 0.7rem; }
  .rop-dashboard-status__item { flex: 1 1 50%; }
  .rop-dashboard-char-summary__stats { grid-template-columns: 1fr; }
}
/* ========================================================================
   CHARACTER CREATION — WIZARD SYSTEM  (.rop-chargen-*)
   Authoritative flow: name → faction → race → profession → stats → review
   ======================================================================== */

/* ---- Progress Indicator ---- */
.rop-chargen__progress {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.rop-chargen__progress-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.rop-chargen__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
}
.rop-chargen__step-number {
  width: 32px; height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--rop-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--rop-text-muted);
  background: var(--rop-charcoal);
  border: 2px solid var(--rop-steel-border);
  transition: all var(--rop-tr);
}
.rop-chargen__step--current .rop-chargen__step-number {
  color: var(--rop-gold-light);
  background: var(--rop-charcoal);
  border-color: var(--rop-gold);
  box-shadow: 0 0 8px rgba(184,153,74,0.3);
}
.rop-chargen__step-label {
  font-family: var(--rop-font-display);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  white-space: nowrap;
}
.rop-chargen__step--current .rop-chargen__step-label {
  color: var(--rop-gold-light);
}
.rop-chargen__step-connector {
  flex: 1;
  height: 2px;
  min-width: 1rem;
  max-width: 3rem;
  background: var(--rop-steel-border);
  margin: 0 0.2rem;
  margin-bottom: 1.3rem;
}

/* ---- Card Grid (race + profession selection) ---- */
.rop-chargen__card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.85rem;
}
.rop-chargen__card-grid--profession {
  grid-template-columns: repeat(3, 1fr);
}

/* ---- Chargen Card ---- */
.rop-chargen__card {
  display: block;
  cursor: pointer;
  position: relative;
}
.rop-chargen__card-radio {
  position: absolute;
  opacity: 0;
  width: 0; height: 0;
  pointer-events: none;
}
.rop-chargen__card-inner {
  display: flex;
  flex-direction: row;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--rop-stone-deep) 0%, var(--rop-charcoal) 100%);
  border: 2px solid var(--rop-steel-border);
  border-radius: var(--rop-radius);
  transition: all var(--rop-tr);
  height: 100%;
}
.rop-chargen__card:hover .rop-chargen__card-inner {
  border-color: #555;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.rop-chargen__card-radio:focus-visible + .rop-chargen__card-inner {
  outline: 2px solid var(--rop-gold);
  outline-offset: 2px;
}
.rop-chargen__card-radio:checked + .rop-chargen__card-inner {
  border-color: var(--rop-gold-light);
  box-shadow:
    0 0 0 2px rgba(184,153,74,0.2),
    0 4px 20px rgba(0,0,0,0.6);
}
.rop-chargen__card-image {
  width: 100px;
  min-width: 100px;
  line-height: 0;
  border-right: 1px solid var(--rop-steel-border);
  border-bottom: 0;
  overflow: hidden;
  background: var(--rop-void);
}
.rop-chargen__card-image img {
  display: block;
  width: 100px;
  height: 100%;
  min-height: 110px;
  object-fit: cover;
  object-position: center top;
}
.rop-chargen__card-body {
  padding: 0.7rem 0.8rem;
  flex: 1;
  min-width: 0;
}
.rop-chargen__card-title {
  display: block;
  font-family: var(--rop-font-display);
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-gold-light);
  margin-bottom: 0.25rem;
}
.rop-chargen__card-stats {
  display: block;
  font-family: var(--rop-font-display);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--rop-text-muted);
  margin-bottom: 0.3rem;
}
.rop-chargen__card-traits {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.rop-chargen__card-subtitle {
  display: block;
  font-size: 0.78rem;
  color: var(--rop-text-muted);
  font-style: italic;
}

/* ---- Faction Selection Panels ---- */
.rop-chargen__faction-outer {
  max-width: 960px;
  margin: 0 auto;
}
.rop-chargen__faction-form {
  text-align: center;
}
.rop-chargen__faction-heading {
  font-family: var(--rop-font-display);
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rop-text-heading);
  margin-bottom: 0.5rem;
}
.rop-chargen__faction-intro {
  font-size: 0.95rem;
  color: var(--rop-text-muted);
  margin-bottom: 1.5rem;
}
.rop-chargen__faction-panels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.rop-chargen__faction-panel {
  display: block;
  cursor: pointer;
}
.rop-chargen__faction-radio {
  position: absolute;
  opacity: 0;
  width: 0; height: 0;
  pointer-events: none;
}
.rop-chargen__faction-panel-inner {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background: var(--rop-charcoal);
  border: 2px solid var(--rop-steel-border);
  border-radius: var(--rop-radius);
  transition: all var(--rop-tr);
  height: 100%;
}
.rop-chargen__faction-panel:hover .rop-chargen__faction-panel-inner {
  border-color: #555;
}
.rop-chargen__faction-panel--good .rop-chargen__faction-panel-inner {
  border-color: rgba(70,110,160,0.25);
}
.rop-chargen__faction-panel--evil .rop-chargen__faction-panel-inner {
  border-color: rgba(160,40,30,0.25);
}
.rop-chargen__faction-panel--good .rop-chargen__faction-radio:checked + .rop-chargen__faction-panel-inner {
  border-color: var(--rop-steel-blue-light);
  box-shadow: 0 0 20px rgba(90,128,176,0.2);
}
.rop-chargen__faction-panel--evil .rop-chargen__faction-radio:checked + .rop-chargen__faction-panel-inner {
  border-color: var(--rop-crimson-light);
  box-shadow: 0 0 20px rgba(184,40,32,0.2);
}
.rop-chargen__faction-radio:focus-visible + .rop-chargen__faction-panel-inner {
  outline: 2px solid var(--rop-gold);
  outline-offset: 2px;
}
.rop-chargen__faction-panel-art {
  line-height: 0;
  border-bottom: 1px solid var(--rop-steel-border);
  overflow: hidden;
  position: relative;
}
.rop-chargen__faction-panel-art img {
  display: block;
  width: 100%;
  height: auto;
}
.rop-chargen__faction-panel-body {
  padding: 1rem 1rem 1.2rem;
  flex: 1;
}
.rop-chargen__faction-panel-name {
  display: block;
  font-family: var(--rop-font-display);
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}
.rop-chargen__faction-panel-name--good {
  color: var(--rop-steel-blue-light);
}
.rop-chargen__faction-panel-name--evil {
  color: #d88070;
}
.rop-chargen__faction-panel-desc {
  display: block;
  font-size: 0.88rem;
  color: var(--rop-text-muted);
  margin-bottom: 0.8rem;
  line-height: 1.5;
}
.rop-chargen__faction-panel-select {
  display: inline-block;
  font-size: 0.68rem !important;
  padding: 0.4rem 1rem !important;
}

/* ---- Faction Banner (race page) ---- */
.rop-chargen__faction-banner {
  text-align: center;
  padding: 0.5rem 1rem;
  border: 1px solid var(--rop-steel-border);
  background: var(--rop-charcoal);
}
.rop-chargen__faction-banner--good {
  border-color: rgba(70,110,160,0.2);
}
.rop-chargen__faction-banner--evil {
  border-color: rgba(160,40,30,0.2);
}
.rop-chargen__faction-banner-label {
  font-family: var(--rop-font-display);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  margin-right: 0.5rem;
}
.rop-chargen__faction-banner-name {
  font-family: var(--rop-font-display);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.rop-chargen__faction-banner--good .rop-chargen__faction-banner-name {
  color: var(--rop-steel-blue-light);
}
.rop-chargen__faction-banner--evil .rop-chargen__faction-banner-name {
  color: #d88070;
}

/* ---- Summary (race/profession/stats page) ---- */
.rop-chargen__summary {
  text-align: center;
  font-size: 0.88rem;
  color: var(--rop-text-muted);
  padding: 0.5rem 0.75rem;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.03);
}
.rop-chargen__summary strong {
  color: var(--rop-text-bright);
}

/* ---- Roll Indicator ---- */
.rop-chargen__roll-indicator {
  text-align: center;
}
.rop-chargen__roll-badge {
  display: inline-block;
  font-family: var(--rop-font-display);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.5rem 1.2rem;
  color: var(--rop-gold-light);
  background: rgba(184,153,74,0.08);
  border: 1px solid rgba(184,153,74,0.2);
}
.rop-chargen__roll-badge--final {
  color: #d88070;
  background: rgba(184,40,32,0.06);
  border-color: rgba(184,40,32,0.2);
}

/* ---- Stat Grid ---- */
.rop-chargen__stat-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.5rem;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.rop-chargen__stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.75rem 0.4rem;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.03);
  transition: all var(--rop-tr);
}
.rop-chargen__stat-item:hover {
  background: rgba(0,0,0,0.3);
  border-color: rgba(184,153,74,0.15);
}
.rop-chargen__stat-label {
  font-family: var(--rop-font-display);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  margin-bottom: 0.15rem;
}
.rop-chargen__stat-value {
  font-family: var(--rop-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--rop-text-bright);
  line-height: 1.2;
  margin-bottom: 0.1rem;
}
.rop-chargen__stat-name {
  font-size: 0.62rem;
  color: var(--rop-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ---- Stat Actions ---- */
.rop-chargen__stat-actions {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* ---- Review Grid ---- */
.rop-chargen__review-banner {
  text-align: center;
  padding: 0.75rem 1rem;
  border: 1px solid;
  background: rgba(0,0,0,0.2);
}
.rop-chargen__review-banner--good {
  border-color: rgba(70,110,160,0.2);
  background: rgba(70,110,160,0.04);
}
.rop-chargen__review-banner--evil {
  border-color: rgba(160,40,30,0.2);
  background: rgba(160,40,30,0.04);
}
.rop-chargen__review-banner-text {
  font-family: var(--rop-font-display);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rop-chargen__review-banner--good .rop-chargen__review-banner-text {
  color: var(--rop-steel-blue-light);
}
.rop-chargen__review-banner--evil .rop-chargen__review-banner-text {
  color: #d88070;
}
.rop-chargen__review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}
.rop-chargen__review-item {
  padding: 0.65rem 0.85rem;
  background: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.03);
}
.rop-chargen__review-label {
  display: block;
  font-family: var(--rop-font-display);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--rop-text-muted);
  margin-bottom: 0.3rem;
}
.rop-chargen__review-value {
  font-size: 0.95rem;
  color: var(--rop-text-bright);
  font-weight: 500;
}
.rop-chargen__review-value--name {
  font-family: var(--rop-font-display);
  font-size: 1.1rem;
  color: var(--rop-gold-light);
  font-weight: 700;
}
.rop-chargen__review-value--good {
  color: var(--rop-steel-blue-light);
  font-family: var(--rop-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.rop-chargen__review-value--evil {
  color: #d88070;
  font-family: var(--rop-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ---- Chargen Responsive ---- */
@media(max-width:768px){
  .rop-chargen__faction-panels {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .rop-chargen__faction-panel-art {
    max-height: 150px;
  }
}
@media(max-width:1200px){
  .rop-chargen__card-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .rop-chargen__card-grid--profession {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media(max-width:900px){
  .rop-chargen__card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .rop-chargen__card-grid--profession {
    grid-template-columns: repeat(2, 1fr);
  }
  .rop-chargen__stat-grid {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media(max-width:600px){
  .rop-chargen__card-grid,
  .rop-chargen__card-grid--profession {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
  .rop-chargen__progress-steps {
    flex-wrap: wrap;
  }
  .rop-chargen__step-label {
    display: none;
  }
  .rop-chargen__step-connector {
    min-width: 0.5rem;
    max-width: 1.5rem;
  }
  .rop-chargen__stat-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .rop-chargen__stat-item:nth-child(4),
  .rop-chargen__stat-item:nth-child(5) {
    grid-column: span 1;
  }
  .rop-chargen__review-grid {
    grid-template-columns: 1fr;
  }
}
@media(max-width:400px){
  .rop-chargen__stat-grid {
    grid-template-columns: 1fr 1fr;
  }
  .rop-chargen__stat-item:last-child {
    grid-column: 1 / -1;
  }
}


/* === FINAL CHARGEN RACE/PROFESSION CARD LAYOUT === */

/*
   Race/profession selection cards:
   compact artwork left, information right.
   This intentionally does NOT affect faction artwork.
*/

.rop-chargen__card-grid {
  align-items: stretch;
  gap: 14px;
}

.rop-chargen__card {
  height: auto;
}

.rop-chargen__card-inner {
  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: stretch !important;
  min-height: 132px !important;
  height: 100% !important;

  background: linear-gradient(
      135deg,
      rgba(255,255,255,0.025),
      rgba(255,255,255,0) 55%
    ),
    var(--rop-charcoal) !important;

  overflow: hidden !important;
}

.rop-chargen__card-image {
  width: 118px !important;
  min-width: 118px !important;
  height: 100% !important;
  min-height: 132px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-right: 1px solid var(--rop-steel-border) !important;
  border-bottom: 0 !important;

  background: #090b0d !important;
  overflow: hidden !important;
}

.rop-chargen__card-image img {
  display: block !important;
  width: 118px !important;
  height: 132px !important;
  min-height: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;
}

.rop-chargen__card-body {
  padding: 14px 16px !important;

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;

  min-width: 0 !important;
  text-align: left !important;
}

.rop-chargen__card-title {
  margin: 0 0 7px 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.15 !important;
}

.rop-chargen__card-stats {
  margin: 0 0 9px 0 !important;
  font-size: 0.65rem !important;
  line-height: 1.45 !important;
}

.rop-chargen__card-traits {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 0 !important;
}

.rop-chargen__card-traits > * {
  margin: 0 !important;
  padding: 4px 7px !important;

  font-size: 0.61rem !important;
  line-height: 1.15 !important;
  letter-spacing: 0.035em !important;

  white-space: normal !important;
}

/* Slightly larger screens get a little more artwork breathing room. */
@media (min-width: 1400px) {
  .rop-chargen__card-inner {
    grid-template-columns: 126px minmax(0, 1fr) !important;
    min-height: 140px !important;
  }

  .rop-chargen__card-image {
    width: 126px !important;
    min-width: 126px !important;
    min-height: 140px !important;
  }

  .rop-chargen__card-image img {
    width: 126px !important;
    height: 140px !important;
  }
}

/* Phone/tablet fallback. */
@media (max-width: 700px) {
  .rop-chargen__card-inner {
    grid-template-columns: 95px minmax(0, 1fr) !important;
    min-height: 112px !important;
  }

  .rop-chargen__card-image {
    width: 95px !important;
    min-width: 95px !important;
    min-height: 112px !important;
  }

  .rop-chargen__card-image img {
    width: 95px !important;
    height: 112px !important;
  }

  .rop-chargen__card-body {
    padding: 10px 11px !important;
  }
}
