:root {
  --bg: #050608;
  --panel: rgba(10, 11, 13, 0.94);
  --panel-2: rgba(13, 15, 18, 0.92);
  --border: rgba(202, 153, 70, 0.30);
  --gold: #c9953f;
  --gold-light: #e2bb6a;
  --text: #eee7d9;
  --muted: #bdb4a4;
  --danger: #ef7373;
  --success: #67d6a0;
  --twitch: #9146ff;
  --youtube: #ff0000;
  --kick: #53fc18;
  font-family: Inter, system-ui, sans-serif;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 50% -20%, rgba(120, 78, 32, .22), transparent 45%),
    linear-gradient(rgba(3, 4, 5, .92), rgba(3, 4, 5, .99)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.013) 0 1px, transparent 1px 8px);
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
button { font: inherit; }
.hidden { display: none !important; }
.ambient { position: fixed; width: 420px; height: 420px; border-radius: 50%; filter: blur(130px); opacity: .12; pointer-events: none; }
.ambient-one { background: #c78c30; top: -160px; left: -120px; }
.ambient-two { background: #6b35b4; right: -180px; bottom: -160px; }

.site-header {
  width: min(1220px, calc(100% - 40px));
  margin: 0 auto;
  height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 0;
  position: relative;
  z-index: 2;
  isolation: isolate;
  background: transparent;
}

/* A fejléc tartalma megtartja a középre zárt szélességet, a háttér és az
   elválasztó vonal azonban mindig a teljes böngészőszélességet kitölti. */
.site-header::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  border-bottom: 1px solid rgba(217, 173, 85, .16);
  background:
    radial-gradient(circle at 18% 0%, rgba(120, 72, 25, .08), transparent 32%),
    linear-gradient(180deg, rgba(7, 8, 11, .97), rgba(4, 5, 7, .95));
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-shield {
  width: 44px; height: 50px; display: grid; place-items: center;
  font: 700 24px Cinzel, serif; color: #19120a;
  background: linear-gradient(135deg, var(--gold-light), #a97128);
  clip-path: polygon(50% 0, 92% 16%, 84% 75%, 50% 100%, 16% 75%, 8% 16%);
  filter: drop-shadow(0 5px 12px rgba(0,0,0,.45));
}
.brand strong { display:block; font: 700 18px Cinzel, serif; letter-spacing: .08em; }
.brand small { display:block; color: var(--gold); text-transform: uppercase; letter-spacing: .28em; font-size: 9px; margin-top: 2px; }
.home-link { color: var(--muted); font-size: 13px; transition: color .2s; }
.home-link:hover { color: var(--gold-light); }

.login-layout {
  width: min(1180px, calc(100% - 40px));
  min-height: calc(100vh - 165px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(50px, 8vw, 110px);
  align-items: center;
  padding: 56px 0 72px;
  position: relative;
  z-index: 1;
}
.eyebrow { color: var(--gold); letter-spacing: .22em; font-size: 11px; font-weight: 700; margin: 0 0 13px; }
.hero-copy h1 {
  font: 700 clamp(42px, 5.2vw, 72px)/1.07 Cinzel, serif;
  letter-spacing: -.035em;
  margin: 0;
  text-shadow: 0 6px 30px rgba(0,0,0,.4);
}
.hero-copy h1 em { color: var(--gold-light); font-style: normal; }
.hero-text { color: #bebbb4; font-size: 16px; line-height: 1.75; max-width: 650px; margin: 28px 0; }
.feature-row { display:flex; flex-wrap: wrap; gap: 12px 24px; color: #d5d1c8; font-size: 13px; }
.feature-row span::first-letter { color: var(--gold); }

.auth-card {
  position: relative;
  padding: 54px 42px 36px;
  border: 1px solid var(--border);
  background: linear-gradient(160deg, rgba(24,20,15,.96), rgba(9,10,12,.98));
  box-shadow: 0 26px 70px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.04);
  border-radius: 8px;
}
.auth-card::before, .auth-card::after {
  content:""; position:absolute; width:26px; height:26px; border-color: var(--gold); opacity:.55;
}
.auth-card::before { top:10px; left:10px; border-top:1px solid; border-left:1px solid; }
.auth-card::after { bottom:10px; right:10px; border-bottom:1px solid; border-right:1px solid; }
.seal {
  position:absolute; top:-36px; left:50%; transform:translateX(-50%);
  width:72px; height:72px; display:grid; place-items:center; border-radius:50%;
  border:1px solid #e1bd72; background:radial-gradient(circle, #3a2917, #17120d 68%);
  box-shadow:0 8px 25px rgba(0,0,0,.5); font:700 22px Cinzel,serif; color:var(--gold-light);
}
.card-kicker { text-align:center; color:var(--gold); letter-spacing:.18em; font-size:10px; font-weight:700; }
.auth-card h2 { text-align:center; font:700 27px Cinzel,serif; margin:8px 0 7px; }
.card-description { text-align:center; color:var(--muted); font-size:13px; margin:0 0 28px; }
.auth-buttons { display:grid; gap:12px; }
.platform-button {
  display:grid; grid-template-columns:48px 1fr 20px; gap:13px; align-items:center;
  min-height:68px; padding:10px 15px; border-radius:6px; border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035); transition:transform .18s,border-color .18s,background .18s;
}
.platform-button:hover { transform:translateY(-2px); background:rgba(255,255,255,.065); }
.platform-button.twitch:hover { border-color:rgba(145,70,255,.7); }
.platform-button.youtube:hover { border-color:rgba(255,61,61,.7); }
.platform-button.kick:hover { border-color:rgba(83,252,24,.7); }
.platform-icon { width:46px; height:40px; display:grid; place-items:center; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden; }
.twitch .platform-icon { background:rgba(145,70,255,.12); }
.youtube .platform-icon { background:rgba(255,0,0,.10); }
.kick .platform-icon { background:rgba(83,252,24,.08); }
.provider-logo {
  display:block;
  flex:none;
  object-fit:contain;
  max-width:100%;
  max-height:100%;
}
.platform-icon .provider-logo-twitch { width:25px !important; height:29px !important; }
.platform-icon .provider-logo-youtube { width:31px !important; height:23px !important; }
.platform-icon .provider-logo-kick { width:26px !important; height:30px !important; }
.platform-button strong { display:block; font-size:14px; }
.platform-button small { display:block; color:var(--muted); font-size:11px; margin-top:3px; }
.arrow { color:#777; font-size:25px; }
.privacy-note { color:#77746e; font-size:10px; text-align:center; line-height:1.55; margin:22px 10px 0; }
.alert { padding:12px 14px; margin:0 0 16px; border:1px solid rgba(239,115,115,.4); background:rgba(114,29,29,.25); color:#ffb7b7; border-radius:5px; font-size:12px; }
.alert.success { border-color:rgba(103,214,160,.4); background:rgba(30,100,68,.22); color:#9be9c0; }
footer { width:min(1220px,calc(100% - 40px)); margin:0 auto; padding:20px 0 28px; border-top:1px solid rgba(255,255,255,.06); color:#625f5a; font-size:11px; text-align:center; }

.top-nav { display:flex; align-items:center; gap:24px; color:#918e87; font-size:13px; }
.top-nav a.active { color:var(--gold-light); }
.top-nav .disabled { opacity:.4; cursor:not-allowed; }
.logout-button { color:#aaa69f; background:transparent; border:0; cursor:pointer; padding:8px 0; }
.logout-button:hover { color:#fff; }
.profile-shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; min-height:calc(100vh - 160px); padding:52px 0 80px; position:relative; z-index:1; }
.loading-card { margin-top:60px; padding:50px; text-align:center; color:var(--muted); border:1px solid var(--border); background:var(--panel); }
.profile-banner {
  display:grid; grid-template-columns:auto 1fr auto; gap:26px; align-items:center;
  padding:30px 34px; border:1px solid var(--border); border-radius:8px;
  background:linear-gradient(115deg,rgba(48,34,20,.86),rgba(12,13,15,.94) 55%,rgba(18,15,12,.92));
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.profile-avatar-wrap { position:relative; }
.profile-avatar { width:96px; height:96px; object-fit:cover; border-radius:50%; border:2px solid var(--gold); background:#1d202b; }
.level-badge { position:absolute; right:-2px; bottom:2px; width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#12141c;border:1px solid var(--gold);color:var(--gold-light);font:700 13px Cinzel,serif; }
.profile-heading h1 { font:700 clamp(28px,4vw,42px) Cinzel,serif; margin:0 0 7px; }
.profile-heading p:last-child { margin:0;color:var(--muted);font-size:13px; }
.treasury-stack { display:flex; align-items:stretch; margin-left:auto; }
.treasury-card { min-width:190px; padding:18px 22px; text-align:right; border-left:1px solid rgba(217,173,85,.3); }
.crown-card { background:linear-gradient(135deg, rgba(217,173,85,.10), rgba(217,173,85,.02)); }
.ancient-card strong { color:#b8ad98; font-size:28px; }
.ancient-card span { color:#a99b82; }
.treasury-card span { display:block; color:var(--gold);font-size:9px;letter-spacing:.18em;font-weight:700; }
.treasury-card strong { display:block;font:700 36px Cinzel,serif;color:var(--gold-light);margin:5px 0; }
.treasury-card small { color:#858179;font-size:10px; }
.section-block { margin-top:42px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:18px; }
.section-heading h2,.roadmap-card h2 { font:700 25px Cinzel,serif; margin:0; }
.section-heading>p { max-width:470px;color:var(--muted);font-size:12px;line-height:1.6;text-align:right;margin:0; }
.platform-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.account-card { position:relative; min-height:250px;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:var(--panel);overflow:hidden; }
.account-card::after { content:""; position:absolute;top:0;left:0;right:0;height:3px;background:var(--provider-color);opacity:.9; }
.account-card.unlinked { background:rgba(18,20,29,.72); border-style:dashed; }
.account-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:30px; }
.account-brand { display:flex;align-items:center;gap:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px; }
.account-logo { width:46px;height:34px;display:grid;place-items:center;border-radius:5px;background:color-mix(in srgb,var(--provider-color) 14%,transparent);overflow:hidden; }
.account-logo .provider-logo-twitch { width:22px !important; height:26px !important; }
.account-logo .provider-logo-youtube { width:28px !important; height:21px !important; }
.account-logo .provider-logo-kick { width:23px !important; height:27px !important; }
.status { font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--success); }
.account-user { display:flex;gap:13px;align-items:center;margin-bottom:26px; }
.account-user img { width:48px;height:48px;border-radius:50%;object-fit:cover;background:#292c36; }
.account-user strong { display:block;font-size:14px; }
.account-user small { color:var(--muted);font-size:10px; }
.balance-row { display:flex;align-items:end;justify-content:space-between;padding-top:19px;border-top:1px solid rgba(255,255,255,.07); }
.balance-row span { color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em; }
.balance-row strong { font:700 24px Cinzel,serif;color:var(--gold-light); }
.account-actions { margin-top:21px;display:flex;gap:10px; }
.connect-button,.unlink-button { width:100%;min-height:38px;border-radius:4px;cursor:pointer;font-weight:700;font-size:11px; }
.connect-button { display:grid;place-items:center;background:var(--provider-color);color:#090b12;border:0; }
.unlink-button { background:transparent;color:#8e8a83;border:1px solid rgba(255,255,255,.1); }
.unlink-button:hover { color:#f2aaaa;border-color:rgba(239,115,115,.4); }
.unlinked-copy { color:var(--muted);font-size:12px;line-height:1.65;min-height:82px;margin:0 0 20px; }
.roadmap-card { margin-top:35px;padding:29px 32px;display:flex;gap:23px;align-items:center;border:1px solid rgba(217,173,85,.18);background:rgba(10,11,13,.78);border-radius:7px; }
.roadmap-icon { width:60px;height:60px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border);color:var(--gold-light);font-size:27px;flex:none; }
.roadmap-card p:last-child { color:var(--muted);line-height:1.65;font-size:12px;margin:8px 0 0; }

@media (max-width:900px) {
  .login-layout { grid-template-columns:1fr; padding-top:70px; }
  .hero-copy { text-align:center; }
  .hero-text { margin-left:auto;margin-right:auto; }
  .feature-row { justify-content:center; }
  .auth-card { width:min(520px,100%);margin:0 auto; }
  .platform-grid { grid-template-columns:1fr; }
  .profile-banner { grid-template-columns:auto 1fr; }
  .treasury-stack { grid-column:1/-1; width:100%; margin-left:0; border-top:1px solid rgba(217,173,85,.3); }
  .treasury-card { flex:1; text-align:left; border-left:0; padding-left:0; }
  .treasury-card + .treasury-card { border-left:1px solid rgba(217,173,85,.3); padding-left:22px; }
}
@media (max-width:620px) {
  .site-header { width:calc(100% - 28px);height:76px; }
  .top-nav a,.top-nav .disabled { display:none; }
  .login-layout,.profile-shell { width:calc(100% - 28px); }
  .hero-copy h1 { font-size:38px; }
  .auth-card { padding:52px 20px 28px; }
  .profile-banner { grid-template-columns:1fr;text-align:center;padding:26px 20px; }
  .profile-avatar-wrap { margin:auto; }
  .treasury-stack { flex-direction:column; }
  .treasury-card { text-align:center; padding:16px 0; }
  .treasury-card + .treasury-card { border-left:0; border-top:1px solid rgba(217,173,85,.2); padding-left:0; }
  .section-heading { display:block; }
  .section-heading>p { text-align:left;margin-top:9px; }
  .roadmap-card { align-items:flex-start;padding:23px 20px; }
}


.balance-pulse {
  animation: balancePulse 0.45s ease-out;
}

@keyframes balancePulse {
  0% { transform: scale(1); filter: brightness(1); }
  45% { transform: scale(1.06); filter: brightness(1.35); }
  100% { transform: scale(1); filter: brightness(1); }
}


.provider-error {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 90, 90, 0.45);
  border-radius: 10px;
  background: rgba(120, 20, 20, 0.18);
  color: #ffd0d0;
  display: grid;
  gap: 4px;
}

.provider-error strong {
  color: #ff8080;
}

.provider-error small {
  color: #c99;
  overflow-wrap: anywhere;
}


.oauth-consent-note {
  margin: 10px 0 12px;
  font-size: 12px;
  line-height: 1.5;
  color: #aaa6a0;
}

.oauth-consent-note a,
.legal-card a,
.legal-footer a {
  color: #e0b85c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.legal-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 4%, rgba(131, 87, 28, 0.13), transparent 32%),
    radial-gradient(circle at 88% 14%, rgba(112, 69, 26, 0.10), transparent 34%),
    #050608;
  color: #d8d4cd;
}

.legal-shell {
  width: min(980px, calc(100% - 32px));
  margin: 48px auto 72px;
}

.legal-card {
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid rgba(217, 173, 85, 0.32);
  border-radius: 14px;
  background: rgba(10, 11, 13, 0.96);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

.legal-card h1 {
  margin: 8px 0 4px;
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(34px, 6vw, 58px);
  color: #f0eee8;
}

.legal-card h2 {
  margin: 36px 0 12px;
  font-family: Cinzel, Georgia, serif;
  color: #e8cf91;
  font-size: 22px;
}

.legal-card h3 {
  margin: 22px 0 8px;
  color: #f0eee8;
  font-size: 16px;
}

.legal-card p,
.legal-card li,
.legal-card dd,
.legal-card td,
.legal-card th {
  line-height: 1.72;
}

.legal-card ul,
.legal-card ol {
  padding-left: 24px;
}

.legal-updated {
  margin-top: 0;
  color: #908c86;
}

.legal-warning {
  margin: 24px 0;
  padding: 16px 18px;
  border: 1px solid rgba(255, 190, 85, 0.45);
  border-radius: 10px;
  background: rgba(115, 71, 13, 0.18);
  color: #f4d898;
}

.legal-card mark {
  padding: 2px 5px;
  background: rgba(255, 100, 100, 0.18);
  color: #ffb8b8;
}

.legal-details {
  display: grid;
  gap: 0;
  margin: 18px 0;
  border: 1px solid rgba(202,153,70,.20);
  border-radius: 10px;
  overflow: hidden;
}

.legal-details > div {
  display: grid;
  grid-template-columns: minmax(150px, 220px) 1fr;
  border-bottom: 1px solid rgba(202,153,70,.18);
}

.legal-details > div:last-child {
  border-bottom: 0;
}

.legal-details dt,
.legal-details dd {
  margin: 0;
  padding: 12px 14px;
}

.legal-details dt {
  font-weight: 700;
  color: #c8a75e;
  background: rgba(217, 173, 85, 0.05);
}

.legal-table-wrap {
  overflow-x: auto;
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}

.legal-table th,
.legal-table td {
  padding: 12px 14px;
  border: 1px solid rgba(202,153,70,.20);
  text-align: left;
  vertical-align: top;
}

.legal-table th {
  color: #e8cf91;
  background: rgba(217, 173, 85, 0.07);
}

.legal-links {
  padding-top: 4px;
  border-top: 1px solid rgba(202,153,70,.18);
}

.legal-footer {
  display: flex;
  justify-content: center;
  gap: 18px;
  padding: 0 20px 32px;
  color: #77746e;
  font-size: 12px;
}

@media (max-width: 620px) {
  .legal-details > div {
    grid-template-columns: 1fr;
  }

  .legal-details dt {
    padding-bottom: 2px;
  }

  .legal-details dd {
    padding-top: 6px;
  }

  .legal-footer {
    flex-direction: column;
    align-items: center;
  }
}


.site-footer {
  width: min(1180px, calc(100% - 32px));
  margin: 28px auto 0;
  padding: 22px 0 30px;
  border-top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: #77746e;
  font-size: 12px;
  position: relative;
  z-index: 2;
  isolation: isolate;
  background: transparent;
}

/* A lábléc sávja teljes szélességű, csak a tartalom marad a központi rácson. */
.site-footer::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  border-top: 1px solid rgba(217, 173, 85, .18);
  background:
    radial-gradient(circle at 82% 100%, rgba(58, 39, 23, .07), transparent 34%),
    linear-gradient(180deg, rgba(5, 6, 8, .96), rgba(2, 3, 5, .99));
  box-shadow: 0 -18px 48px rgba(0, 0, 0, .18);
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
}

.site-footer a {
  color: #b9b4aa;
  text-decoration: none;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: #e0b85c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 620px) {
  .site-footer {
    flex-direction: column;
    text-align: center;
  }

  .site-footer nav {
    justify-content: center;
  }
}

/* Nyomtatható jogi dokumentumok (Google/YouTube audit PDF-ekhez is). */
@media print {
  @page {
    size: A4;
    margin: 15mm 14mm;
  }

  html,
  body.legal-page {
    background: #fff !important;
    color: #222 !important;
  }

  .legal-page .site-header,
  .legal-page .site-footer {
    display: none !important;
  }

  .legal-shell {
    width: auto !important;
    margin: 0 !important;
  }

  .legal-card {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #222 !important;
    box-shadow: none !important;
  }

  .legal-card h1,
  .legal-card h3 {
    color: #1b1b1b !important;
  }

  .legal-card h2,
  .legal-card .eyebrow,
  .legal-card dt,
  .legal-card th {
    color: #765818 !important;
  }

  .legal-updated {
    color: #666 !important;
  }

  .legal-warning {
    border-color: #b58a2d !important;
    background: #fff8e8 !important;
    color: #4b390f !important;
  }

  .legal-details,
  .legal-details > div,
  .legal-table th,
  .legal-table td,
  .legal-links {
    border-color: #cfcfcf !important;
  }

  .legal-details dt,
  .legal-table th {
    background: #f5f1e7 !important;
  }

  .legal-card a {
    color: #6d500d !important;
    text-decoration: underline !important;
  }

  .legal-card h2,
  .legal-card h3 {
    break-after: avoid-page;
  }

  .legal-details,
  .legal-warning,
  .legal-table-wrap {
    break-inside: avoid-page;
  }
}

/* ========================================================================== 
   PAPLOVAG KINGDOM LANDING PAGE · v5.1
   Grim, inked gothic fantasy presentation. Scoped to the public login page.
   ========================================================================== */

html { scroll-behavior: smooth; }

body[data-page="login"] {
  background:
    radial-gradient(circle at 12% 12%, rgba(132, 72, 26, .18), transparent 28%),
    radial-gradient(circle at 88% 30%, rgba(64, 42, 82, .14), transparent 30%),
    linear-gradient(rgba(5, 6, 10, .95), rgba(5, 7, 12, .99)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.012) 0 1px, transparent 1px 9px);
}

body[data-page="login"]::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .25;
  background-image:
    linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.012) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(255,255,255,.009) 50%, transparent 50.2%);
  background-size: 92px 92px;
  mask-image: radial-gradient(circle at center, black, transparent 78%);
}

body[data-page="login"] .ambient { opacity: .07; }

body[data-page="login"] .landing-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  height: 82px;
  margin: 0;
  padding: 0;
  display: block;
  border-bottom: 1px solid rgba(217,173,85,.20);
  background: linear-gradient(180deg, rgba(4,5,8,.98), rgba(6,7,11,.92));
  box-shadow: 0 12px 34px rgba(0,0,0,.20);
  backdrop-filter: blur(16px);
}

.landing-header-inner {
  width: min(1320px, calc(100% - 44px));
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.landing-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  color: #aaa69f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.landing-nav a { transition: color .2s, border-color .2s, background .2s; }
.landing-nav a:hover { color: var(--gold-light); }
.landing-nav .header-cta {
  padding: 11px 17px;
  color: #171008;
  border: 1px solid #e5c578;
  background: linear-gradient(135deg, #f1d58d, #b87b2b);
  box-shadow: 0 8px 24px rgba(0,0,0,.24);
}

.landing-main {
  position: relative;
  z-index: 1;
  overflow: clip;
}

.landing-hero {
  position: relative;
  min-height: min(830px, calc(100vh - 82px));
  display: grid;
  align-items: center;
  isolation: isolate;
  border-bottom: 1px solid rgba(217,173,85,.18);
}

.landing-hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: url('/assets/landing/hero-castle.webp');
  background-size: cover;
  background-position: center 34%;
  filter: saturate(.76) contrast(1.1) brightness(.74);
  transform: scale(1.015);
}

.landing-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(5,6,9,.99) 0%, rgba(5,6,9,.92) 31%, rgba(5,6,9,.48) 59%, rgba(5,6,9,.72) 100%),
    linear-gradient(180deg, rgba(4,5,8,.16), rgba(4,5,8,.92) 94%),
    radial-gradient(circle at 72% 40%, transparent 0 26%, rgba(0,0,0,.48) 78%);
}

.landing-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .38;
  background:
    linear-gradient(135deg, transparent 0 47%, rgba(255,255,255,.018) 48% 49%, transparent 50% 100%),
    repeating-linear-gradient(0deg, transparent 0 6px, rgba(0,0,0,.045) 6px 7px);
}

.landing-hero-inner {
  width: min(1240px, calc(100% - 44px));
  margin: 0 auto;
  padding: 74px 0 96px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .75fr);
  align-items: center;
  gap: clamp(54px, 8vw, 120px);
}

.landing-hero-copy { max-width: 720px; }
.landing-hero-copy .eyebrow { font-size: 12px; }
.landing-hero-copy h1 {
  margin: 0;
  font: 800 clamp(62px, 7.3vw, 108px)/.92 Cinzel, Georgia, serif;
  letter-spacing: -.055em;
  text-transform: uppercase;
  color: #eee8dc;
  text-shadow: 0 12px 44px rgba(0,0,0,.78);
}
.landing-hero-copy h1 em {
  display: inline-block;
  color: #d5a241;
  font-style: normal;
  text-shadow: 0 8px 28px rgba(0,0,0,.72), 0 0 26px rgba(191,118,24,.16);
}

.landing-lead {
  max-width: 680px;
  margin: 28px 0 0;
  color: #d0ccc3;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.78;
  text-shadow: 0 4px 18px #000;
}

.landing-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 31px;
}

.primary-cta,
.secondary-cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid rgba(217,173,85,.55);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  transition: transform .2s, box-shadow .2s, border-color .2s, background .2s;
}
.primary-cta {
  color: #171008;
  background: linear-gradient(135deg, #f2d892, #c98a32);
  box-shadow: 0 12px 34px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.36);
}
.secondary-cta {
  color: #ddd5c6;
  background: rgba(7,8,12,.68);
}
.primary-cta:hover,
.secondary-cta:hover { transform: translateY(-2px); border-color: var(--gold-light); }
.primary-cta:hover { box-shadow: 0 15px 40px rgba(0,0,0,.42), 0 0 24px rgba(217,173,85,.12); }
.secondary-cta:hover { background: rgba(25,20,15,.84); }

.landing-stat-row {
  margin-top: 27px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  color: #bcb5a9;
  font-size: 12px;
}
.landing-stat-row span::first-letter { color: var(--gold); }

.landing-auth {
  align-self: center;
  background:
    linear-gradient(160deg, rgba(30,31,42,.96), rgba(10,12,18,.97)),
    repeating-linear-gradient(135deg, rgba(255,255,255,.015) 0 1px, transparent 1px 8px);
  border-color: rgba(217,173,85,.36);
  box-shadow: 0 34px 90px rgba(0,0,0,.60), inset 0 1px rgba(255,255,255,.04);
}
.landing-auth .platform-button {
  background: rgba(255,255,255,.032);
  border-color: rgba(255,255,255,.115);
}
.landing-auth .platform-button:hover { background: rgba(255,255,255,.072); }

.landing-section {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto;
  padding: 92px 0;
}

.kingdom-intro {
  text-align: center;
  border-bottom: 1px solid rgba(217,173,85,.12);
}

.section-ornament {
  display: grid;
  grid-template-columns: minmax(30px, 170px) auto minmax(30px, 170px);
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  color: var(--gold);
}
.section-ornament span { height: 1px; background: linear-gradient(90deg, transparent, rgba(217,173,85,.58)); }
.section-ornament span:last-child { background: linear-gradient(90deg, rgba(217,173,85,.58), transparent); }
.section-ornament b { font-size: 18px; }

.kingdom-intro h2,
.section-heading-centered h2,
.crown-copy h2,
.trust-card h2,
.final-cta h2 {
  margin: 7px 0 0;
  font: 700 clamp(30px, 4vw, 48px)/1.14 Cinzel, Georgia, serif;
  color: #eee8dc;
  letter-spacing: -.025em;
}

.intro-grid {
  margin-top: 36px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 26px;
  text-align: left;
}
.intro-lead,
.intro-oath {
  margin: 0;
  padding: 28px 30px;
  border: 1px solid rgba(217,173,85,.18);
  background: linear-gradient(145deg, rgba(30,28,25,.54), rgba(13,15,22,.78));
  color: #c9c4ba;
  font-size: 15px;
  line-height: 1.82;
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
}
.intro-oath strong {
  display: block;
  margin-bottom: 8px;
  color: var(--gold-light);
  font: 700 18px Cinzel, Georgia, serif;
}
.intro-oath p { margin: 0; }

.feature-section { padding-bottom: 100px; }
.section-heading-centered { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.section-heading-centered > p:last-child {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.adventure-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 22px;
}

.adventure-card {
  position: relative;
  overflow: hidden;
  min-height: 525px;
  border: 1px solid rgba(217,173,85,.25);
  background: linear-gradient(160deg, rgba(22,23,29,.96), rgba(8,10,15,.98));
  box-shadow: 0 22px 62px rgba(0,0,0,.24);
  transition: transform .22s, border-color .22s, box-shadow .22s;
}
.adventure-card::before,
.adventure-card::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 30px;
  height: 30px;
  pointer-events: none;
  border-color: rgba(242,211,141,.62);
}
.adventure-card::before { top: 10px; left: 10px; border-top: 1px solid; border-left: 1px solid; }
.adventure-card::after { right: 10px; bottom: 10px; border-right: 1px solid; border-bottom: 1px solid; }
.adventure-card:hover {
  transform: translateY(-5px);
  border-color: rgba(217,173,85,.52);
  box-shadow: 0 30px 78px rgba(0,0,0,.36);
}
.adventure-image {
  position: relative;
  height: 260px;
  overflow: hidden;
  border-bottom: 1px solid rgba(217,173,85,.25);
}
.adventure-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 36%, rgba(6,7,10,.78) 100%), linear-gradient(90deg, rgba(0,0,0,.18), transparent 50%);
}
.adventure-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.78) contrast(1.12) brightness(.86);
  transition: transform .6s ease, filter .35s;
}
.adventure-card:hover .adventure-image img { transform: scale(1.035); filter: saturate(.9) contrast(1.16) brightness(.92); }
.adventure-content { position: relative; padding: 30px 30px 32px; }
.adventure-content h3 {
  max-width: 420px;
  margin: 5px 0 11px;
  font: 700 25px/1.25 Cinzel, Georgia, serif;
  color: #eee7da;
}
.adventure-content > p:not(.eyebrow) {
  margin: 0;
  color: #aaa69d;
  font-size: 13px;
  line-height: 1.75;
}
.adventure-number {
  position: absolute;
  top: -29px;
  right: 25px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(217,173,85,.62);
  border-radius: 50%;
  color: var(--gold-light);
  background: radial-gradient(circle, #362516, #0c0b0a 68%);
  box-shadow: 0 8px 26px rgba(0,0,0,.55);
  font: 700 18px Cinzel, serif;
}
.feature-state {
  display: inline-block;
  margin-top: 18px;
  padding: 7px 9px;
  color: #bda66d;
  border: 1px solid rgba(217,173,85,.22);
  background: rgba(217,173,85,.05);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.crown-section {
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: center;
  gap: 56px;
  padding: 64px;
  border: 1px solid rgba(217,173,85,.26);
  background:
    radial-gradient(circle at 82% 48%, rgba(217,173,85,.10), transparent 28%),
    linear-gradient(130deg, rgba(37,31,22,.72), rgba(12,14,20,.96) 58%);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.crown-copy > p:not(.eyebrow) { color: #b8b3aa; line-height: 1.78; }
.crown-list { margin: 24px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.crown-list li {
  position: relative;
  padding-left: 24px;
  color: #c9c4ba;
  font-size: 13px;
  line-height: 1.55;
}
.crown-list li::before { content: "♛"; position: absolute; left: 0; color: var(--gold); }
.crown-sigil {
  min-height: 285px;
  display: grid;
  place-content: center;
  justify-items: center;
  text-align: center;
  border: 1px solid rgba(217,173,85,.26);
  background: radial-gradient(circle, rgba(217,173,85,.13), rgba(0,0,0,.14) 65%);
}
.crown-sigil span { font-size: 88px; line-height: 1; color: var(--gold-light); filter: drop-shadow(0 10px 20px rgba(0,0,0,.5)); }
.crown-sigil strong { margin-top: 14px; font: 700 24px Cinzel, serif; letter-spacing: .18em; color: var(--gold-light); }
.crown-sigil small { max-width: 260px; margin-top: 8px; color: #8d887f; line-height: 1.55; }

.trust-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.trust-card {
  position: relative;
  padding: 38px;
  border: 1px solid rgba(217,173,85,.19);
  background: linear-gradient(145deg, rgba(22,23,30,.92), rgba(10,12,18,.97));
}
.trust-card::after {
  content: "";
  position: absolute;
  inset: 12px;
  pointer-events: none;
  border-top: 1px solid rgba(255,255,255,.025);
  border-left: 1px solid rgba(255,255,255,.025);
}
.trust-card h2 { font-size: clamp(26px, 3vw, 36px); }
.trust-card > p:not(.eyebrow) { color: #aaa69e; font-size: 13px; line-height: 1.76; }
.trust-card > p strong { color: #ded7ca; }
.platform-strip { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.platform-strip span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.085);
  color: #d0cbc2;
  background: rgba(255,255,255,.025);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.platform-strip img { width: 22px; height: 22px; object-fit: contain; }
.youtube-trust { border-color: rgba(255,0,0,.22); }
.english-disclosure {
  margin-top: 22px;
  padding-top: 17px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.english-disclosure summary { cursor: pointer; color: #c1a869; font-size: 11px; font-weight: 700; letter-spacing: .05em; }
.english-disclosure p { color: #908c85; font-size: 12px; line-height: 1.72; }

.final-cta {
  text-align: center;
  padding-top: 72px;
  padding-bottom: 88px;
}
.final-cta > p:not(.eyebrow) { max-width: 700px; margin: 17px auto 28px; color: #aaa69e; line-height: 1.75; }

.landing-footer {
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  border-top: 1px solid rgba(217,173,85,.20);
  background:
    radial-gradient(circle at 18% 0%, rgba(120,72,25,.10), transparent 34%),
    linear-gradient(180deg, rgba(8,9,13,.96), rgba(3,4,7,.99));
  box-shadow: 0 -18px 48px rgba(0,0,0,.18);
  text-align: left;
}

.landing-footer-inner {
  width: min(1240px, calc(100% - 44px));
  margin: 0 auto;
  padding: 28px 0 38px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 28px;
}
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand .brand-shield { width: 36px; height: 42px; font-size: 18px; }
.footer-brand strong { display: block; color: #d9d3c8; font: 700 14px Cinzel, serif; }
.footer-brand small { display: block; margin-top: 3px; color: #716d66; font-size: 9px; }
.landing-footer nav { justify-content: center; }

@media (max-width: 1020px) {
  .landing-header-inner { width: calc(100% - 28px); }
  .landing-nav { gap: 17px; }
  .landing-nav a:not(.header-cta) { display: none; }
  .landing-hero-inner { grid-template-columns: 1fr; width: min(760px, calc(100% - 32px)); padding-top: 90px; }
  .landing-hero-copy { text-align: center; margin: 0 auto; }
  .landing-actions, .landing-stat-row { justify-content: center; }
  .landing-auth { width: min(560px, 100%); margin: 0 auto; }
  .intro-grid, .crown-section, .trust-grid { grid-template-columns: 1fr; }
  .crown-section { padding: 48px; }
  .landing-footer-inner { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .landing-footer nav { justify-content: center; }
}

@media (max-width: 760px) {
  .landing-section { width: calc(100% - 28px); padding: 70px 0; }
  .landing-hero-inner { width: calc(100% - 28px); gap: 74px; }
  .landing-hero-copy h1 { font-size: clamp(48px, 15vw, 72px); }
  .landing-lead { font-size: 15px; }
  .adventure-grid { grid-template-columns: 1fr; }
  .adventure-card { min-height: 0; }
  .adventure-image { height: 230px; }
  .crown-section { width: calc(100% - 28px); padding: 34px 22px; }
  .trust-card { padding: 30px 22px; }
  .intro-lead, .intro-oath { padding: 24px 21px; }
  .landing-footer-inner { width: calc(100% - 28px); }
}

@media (max-width: 520px) {
  .landing-actions { display: grid; }
  .primary-cta, .secondary-cta { width: 100%; }
  .landing-auth { padding: 52px 18px 28px; }
  .landing-stat-row { display: grid; justify-items: center; }
  .adventure-image { height: 205px; }
  .adventure-content { padding: 27px 21px 28px; }
  .adventure-content h3 { font-size: 21px; }
  .crown-sigil { min-height: 230px; }
  .platform-strip { display: grid; }
  .platform-strip span { justify-content: center; }
}

/* ==============================
   Landing redesign v5.4
   Darkest-Dungeon-inspired poster layout
   ============================== */

body.landing-poster-page {
  background:
    radial-gradient(circle at 18% 0%, rgba(123, 65, 20, 0.20), transparent 22%),
    radial-gradient(circle at 82% 100%, rgba(38, 31, 78, 0.18), transparent 24%),
    linear-gradient(rgba(5, 6, 10, 0.84), rgba(5, 6, 10, 0.97)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px),
    #05060b;
}

body.landing-poster-page .site-header.poster-header {
  width: 100%;
  margin: 0;
  min-height: 96px;
  border-bottom: 1px solid rgba(203, 160, 73, 0.28);
  background: linear-gradient(180deg, rgba(8, 10, 14, 0.92), rgba(8, 10, 14, 0.84));
}

.poster-header-inner,
.poster-main,
.poster-footer-grid,
.poster-copyright {
  width: min(1480px, calc(100% - 72px));
  margin: 0 auto;
}

.poster-header-inner {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.poster-nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 32px);
  font-family: Cinzel, Georgia, serif;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.poster-nav a {
  color: rgba(240, 232, 216, 0.86);
  position: relative;
  transition: color .18s ease;
}

.poster-nav a:hover,
.poster-nav a.active {
  color: var(--gold-light);
}

.poster-nav a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -14px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.poster-nav .header-cta {
  padding: 16px 18px;
  background: linear-gradient(180deg, #d7b061, #b58535);
  color: #120d07;
  border: 1px solid rgba(242, 211, 141, 0.55);
}
.poster-nav .header-cta::after { display:none; }

.poster-main {
  padding-top: 28px;
  padding-bottom: 24px;
}

.poster-hero-frame {
  border-bottom: 1px solid rgba(203, 160, 73, 0.18);
  padding-bottom: 18px;
}

.poster-hero-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(420px, 1.25fr);
  align-items: stretch;
  gap: 0;
  min-height: 620px;
}

.poster-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 26px 52px 24px;
  position: relative;
}

.poster-copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: 70px;
  width: 3px;
  height: 72px;
  background: linear-gradient(180deg, transparent, rgba(217,173,85,.68), transparent);
}

.poster-copy h1 {
  margin: 0;
  font: 700 clamp(48px, 6.3vw, 90px)/0.95 Cinzel, Georgia, serif;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  text-shadow: 0 10px 28px rgba(0,0,0,.42);
}

.poster-copy h1 span {
  color: var(--gold);
}

.poster-divider {
  display: flex;
  align-items: center;
  gap: 18px;
  width: min(330px, 100%);
  margin: 26px 0 22px;
  color: var(--gold);
}

.poster-divider span {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, rgba(217,173,85,0), rgba(217,173,85,.85), rgba(217,173,85,0));
}

.poster-divider b {
  font-size: 24px;
  color: var(--gold-light);
}

.poster-lead {
  max-width: 640px;
  margin: 0;
  color: #ddd7cb;
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.72;
}

.poster-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 30px;
}

.poster-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 56px;
  padding: 14px 20px;
  font-family: Cinzel, Georgia, serif;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: .04em;
  border: 1px solid rgba(217,173,85,.45);
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.poster-btn:hover {
  transform: translateY(-2px);
}

.poster-btn-primary {
  background: linear-gradient(180deg, #d7b061, #b58535);
  color: #130f09;
  box-shadow: inset 0 1px rgba(255,255,255,.36), 0 14px 30px rgba(0,0,0,.22);
}

.poster-btn-secondary {
  background: rgba(8, 10, 14, 0.62);
  color: #f1ece0;
}

.poster-art-card {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border-left: 1px solid rgba(203, 160, 73, 0.12);
}

.poster-art-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,8,13,.92) 0%, rgba(6,8,13,.45) 12%, rgba(6,8,13,0) 28%),
    linear-gradient(180deg, rgba(6,8,13,.18), rgba(6,8,13,.46));
  z-index: 1;
}

.poster-art-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.04) saturate(.82) brightness(.72);
}

.poster-section-intro {
  padding: 24px 0 20px;
  text-align: center;
}

.poster-section-intro h2 {
  margin: 8px 0 6px;
  font: 700 clamp(32px, 3vw, 54px)/1.05 Cinzel, Georgia, serif;
  text-transform: uppercase;
  letter-spacing: -.02em;
}

.poster-section-intro p {
  margin: 0;
  color: #c9c3b7;
  font-size: 20px;
}

.poster-ornament {
  max-width: 560px;
  margin: 0 auto;
}

.poster-feature-list {
  display: grid;
  gap: 12px;
}

.feature-strip {
  display: grid;
  grid-template-columns: 112px minmax(280px, 1.15fr) minmax(260px, 1fr);
  align-items: stretch;
  min-height: 184px;
  border: 1px solid rgba(203, 160, 73, 0.28);
  background:
    linear-gradient(180deg, rgba(14, 16, 22, 0.92), rgba(8, 10, 14, 0.96));
  box-shadow: inset 0 1px rgba(255,255,255,.03);
  overflow: hidden;
}

.feature-strip:nth-child(1) .feature-art::before { background: linear-gradient(90deg, rgba(89, 20, 16, 0.58), rgba(89, 20, 16, 0.04)); }
.feature-strip:nth-child(2) .feature-art::before { background: linear-gradient(90deg, rgba(33, 66, 48, 0.56), rgba(33, 66, 48, 0.04)); }
.feature-strip:nth-child(3) .feature-art::before { background: linear-gradient(90deg, rgba(98, 53, 18, 0.54), rgba(98, 53, 18, 0.04)); }
.feature-strip:nth-child(4) .feature-art::before { background: linear-gradient(90deg, rgba(82, 54, 24, 0.5), rgba(82, 54, 24, 0.04)); }

.feature-icon {
  display: grid;
  place-items: center;
  margin: auto;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  border: 2px solid rgba(217,173,85,.34);
  color: var(--gold-light);
  font-size: 36px;
  line-height: 1;
  background: radial-gradient(circle, rgba(45,32,18,.55), rgba(10,12,18,.92));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.feature-icon-youtube img {
  width: 34px !important;
  height: 26px !important;
}

.feature-text {
  padding: 28px 24px 24px 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.feature-text h3 {
  margin: 0 0 10px;
  font: 700 clamp(32px, 2.4vw, 46px)/1 Cinzel, Georgia, serif;
  text-transform: uppercase;
  letter-spacing: -.02em;
}

.feature-text p {
  margin: 0;
  color: #ddd6cb;
  font-size: 18px;
  line-height: 1.62;
}

.feature-text .english-copy {
  margin-top: 12px;
  color: #bbb4a6;
  font-size: 15px;
  line-height: 1.55;
}

.feature-art {
  position: relative;
  min-height: 184px;
}

.feature-art::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.feature-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,8,13,.08), rgba(6,8,13,.3));
  z-index: 1;
}

.feature-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: contrast(1.03) saturate(.78) brightness(.7);
}

.feature-strip-wide {
  grid-template-columns: 112px 1fr;
}

.feature-text-wide {
  padding-right: 32px;
}

.poster-connect-section {
  padding: 32px 0 24px;
}

.poster-connect-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.86fr) minmax(340px, 0.74fr);
  gap: 28px;
  align-items: start;
}

.connect-copy {
  padding: 24px 10px 0 0;
}

.connect-copy h2 {
  margin: 6px 0 14px;
  font: 700 clamp(34px, 3.4vw, 56px)/1.02 Cinzel, Georgia, serif;
  text-transform: uppercase;
}

.connect-copy p:last-child {
  margin: 0;
  color: #d3cdc1;
  font-size: 19px;
  line-height: 1.7;
  max-width: 680px;
}

.poster-auth-card {
  margin-top: 4px;
}

.poster-footer {
  width: 100%;
  margin: 12px 0 0;
  padding: 0 0 24px;
  border-top: 1px solid rgba(203, 160, 73, 0.18);
  background: linear-gradient(180deg, rgba(8,10,14,.72), rgba(8,10,14,.9));
  color: #d8d1c5;
  text-align: initial;
}

.poster-footer-grid {
  display: grid;
  grid-template-columns: 1fr .9fr 1.1fr;
  gap: 28px;
  padding: 30px 0 24px;
}

.footer-brand-lockup {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.poster-footer-brand strong,
.poster-footer-links h3,
.poster-footer-cta h3 {
  display: block;
  margin: 0 0 10px;
  font-family: Cinzel, Georgia, serif;
  font-size: 20px;
  color: #f0e9da;
  text-transform: uppercase;
}

.poster-footer-brand small {
  display: block;
  color: var(--gold);
  letter-spacing: .2em;
  font-size: 11px;
  text-transform: uppercase;
}

.footer-socials {
  display: flex;
  gap: 12px;
}

.footer-socials span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(217,173,85,.24);
  background: rgba(11,13,18,.68);
}

.poster-footer-links {
  display: grid;
  align-content: start;
  gap: 8px;
}

.poster-footer-links a {
  color: #d8d1c5;
}

.poster-footer-links a:hover,
.poster-footer-cta a:hover {
  color: var(--gold-light);
}

.poster-footer-cta p {
  margin: 0 0 18px;
  color: #d3cdc1;
  line-height: 1.7;
}

.poster-footer-button {
  min-width: 280px;
}

.poster-copyright {
  padding-top: 18px;
  border-top: 1px solid rgba(203, 160, 73, 0.18);
  text-align: center;
  color: #9d9588;
  font-size: 14px;
}

body.landing-poster-page footer > * {
  width: auto;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  border-top: 0;
}

@media (max-width: 1180px) {
  .poster-hero-grid,
  .poster-connect-grid,
  .poster-footer-grid {
    grid-template-columns: 1fr;
  }

  .poster-art-card {
    min-height: 420px;
    border-left: 0;
    border-top: 1px solid rgba(203, 160, 73, 0.12);
  }

  .feature-strip {
    grid-template-columns: 100px 1fr;
  }

  .feature-art {
    grid-column: 1 / -1;
    min-height: 240px;
    border-top: 1px solid rgba(203,160,73,.16);
  }

  .feature-text {
    padding-right: 24px;
  }
}

@media (max-width: 760px) {
  .poster-header-inner,
  .poster-main,
  .poster-footer-grid,
  .poster-copyright {
    width: calc(100% - 28px);
  }

  .poster-nav {
    gap: 14px;
    font-size: 11px;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 4px;
  }

  .poster-copy {
    padding: 32px 4px 30px 10px;
  }

  .poster-copy h1 {
    font-size: 46px;
  }

  .poster-lead,
  .poster-section-intro p,
  .feature-text p,
  .connect-copy p:last-child {
    font-size: 16px;
  }

  .feature-strip {
    grid-template-columns: 1fr;
    min-height: initial;
  }

  .feature-icon {
    margin: 18px auto 0;
  }

  .feature-text {
    padding: 18px 18px 20px;
    text-align: center;
  }

  .feature-text h3 {
    font-size: 28px;
  }

  .feature-art {
    min-height: 210px;
  }

  .poster-footer-button,
  .poster-btn {
    width: 100%;
    min-width: 0;
  }
}

.mobile-nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(217, 173, 85, .34);
  background: rgba(9, 10, 13, .94);
  color: var(--gold-light);
  cursor: pointer;
  place-items: center;
}
.mobile-nav-toggle span,
.mobile-nav-toggle::before,
.mobile-nav-toggle::after {
  display: block;
  width: 19px;
  height: 2px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
  content: "";
}
.mobile-nav-toggle span { margin: 4px 0; }
.mobile-nav-toggle[aria-expanded="true"]::before { transform: translateY(6px) rotate(45deg); }
.mobile-nav-toggle[aria-expanded="true"] span { opacity: 0; }
.mobile-nav-toggle[aria-expanded="true"]::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 760px) {
  .site-header {
    height: 76px;
    z-index: 100 !important;
  }
  .mobile-nav-toggle {
    display: grid;
    margin-left: auto;
  }
  .top-nav {
    position: absolute;
    z-index: 110;
    top: calc(100% - 4px);
    right: 0;
    width: min(300px, calc(100vw - 28px));
    display: none;
    padding: 8px;
    gap: 3px;
    border: 1px solid rgba(217, 173, 85, .30);
    background: rgba(5, 6, 8, .98);
    box-shadow: 0 22px 45px rgba(0, 0, 0, .72);
  }
  .top-nav.is-open {
    display: grid;
  }
  .top-nav a,
  .top-nav .disabled,
  .top-nav .logout-button {
    display: block;
    width: 100%;
    min-height: 43px;
    padding: 12px 13px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
    background: transparent;
    color: #c7c1b7;
    text-align: left;
  }
  .top-nav a.active {
    background: rgba(217, 173, 85, .09);
    color: var(--gold-light);
  }
  .top-nav .disabled { opacity: .42; }
  .top-nav .logout-button {
    border-bottom: 0;
    color: #d3a8a8;
  }
  .top-nav .hidden { display: none !important; }
  body.mobile-nav-open::after {
    content: "";
    position: fixed;
    z-index: 90;
    inset: 76px 0 0;
    background: rgba(0, 0, 0, .42);
  }
}


.brand.brand-logo-link { gap: 0; }
.brand-logo-image {
  display: block;
  width: min(210px, 33vw);
  height: auto;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.45));
}
.site-footer .brand-logo-image,
.footer-brand .brand-logo-image { width: min(165px, 28vw); }

.waiting-layout {
  width: min(980px, calc(100% - 40px));
  min-height: calc(100vh - 165px);
  margin: 0 auto;
  padding: 56px 0 72px;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
}
.waiting-card {
  width: min(760px, 100%);
  padding: clamp(28px, 5vw, 48px);
  border: 1px solid rgba(217,173,85,.22);
  background: linear-gradient(180deg, rgba(16,13,10,.96), rgba(6,7,8,.98));
  box-shadow: 0 30px 70px rgba(0,0,0,.45);
}
.waiting-kicker { margin: 0 0 10px; color: var(--gold); letter-spacing: .22em; font-size: 11px; font-weight: 700; }
.waiting-card h1 { margin: 0; font: 700 clamp(36px, 4.5vw, 58px)/1.05 Cinzel, serif; }
.waiting-card p { color: #c4c0b8; line-height: 1.75; }
.waiting-status-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin: 26px 0 22px; }
.waiting-status-box {
  padding: 16px 18px;
  border: 1px solid rgba(217,173,85,.14);
  background: rgba(255,255,255,.02);
}
.waiting-status-box small { display: block; color: #9c9385; font-size: 10px; text-transform: uppercase; letter-spacing: .18em; }
.waiting-status-box strong { display: block; margin-top: 6px; font: 700 20px/1.2 Cinzel, serif; color: #f0e6d4; }
.waiting-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.waiting-note { margin-top: 14px; color: #8f8a81; font-size: 13px; }
.waiting-card .ref-button { text-decoration: none; }
.waiting-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid rgba(217,173,85,.24);
  color: var(--gold-light);
  background: rgba(217,173,85,.06);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
@media (max-width: 720px) {
  .brand-logo-image { width: min(160px, 46vw); }
  .waiting-status-grid { grid-template-columns: 1fr; }
  .waiting-actions { flex-direction: column; }
}


/* V8.1.1 – Birodalom logó biztonságos fejlécmérete */
.brand.brand-logo-link {
  display: flex;
  align-items: center;
  height: 100%;
  min-width: 0;
  overflow: visible;
}
.brand-logo-image {
  display: block;
  width: auto !important;
  height: 70px;
  max-width: min(210px, 34vw);
  max-height: 70px;
  object-fit: contain;
  filter: drop-shadow(0 7px 14px rgba(0,0,0,.48));
}
.site-footer .brand-logo-image,
.footer-brand .brand-logo-image {
  height: 68px;
  max-height: 68px;
  width: auto !important;
}
@media (max-width: 720px) {
  .brand-logo-image {
    height: 56px;
    max-height: 56px;
    max-width: 42vw;
  }
}


/* V8.1.1 – Admin felület beépített stílusai */
:root {
  --admin-bg: #050607;
  --admin-panel: rgba(13, 14, 16, .96);
  --admin-gold: #c99842;
  --admin-gold-light: #e3c477;
  --admin-line: rgba(201, 152, 66, .28);
  --admin-muted: #a69d8f;
  --admin-danger: #d95d5d;
  --admin-success: #72c89b;
}

body.admin-page {
  min-height: 100vh;
  margin: 0;
  color: #eee6d7;
  background:
    linear-gradient(rgba(5,6,7,.91), rgba(5,6,7,.98)),
    url('/assets/landing/dungeons.webp') center / cover fixed,
    var(--admin-bg);
  font-family: Inter, system-ui, sans-serif;
}

.admin-header { background: transparent; backdrop-filter: none; }
.admin-shell { width: min(1500px, calc(100% - 40px)); margin: 0 auto; padding: 42px 0 80px; }
.admin-loading { padding: 60px 24px; text-align: center; border: 1px solid var(--admin-line); background: rgba(8,9,11,.9); color: var(--admin-muted); }
.admin-hero { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding: 26px 30px; border: 1px solid var(--admin-line); background: linear-gradient(110deg, rgba(64,41,20,.6), rgba(11,12,15,.96) 58%); }
.admin-kicker { margin: 0 0 8px; color: var(--admin-gold); font: 700 10px/1 Cinzel, Georgia, serif; letter-spacing: .18em; }
.admin-hero h1, .admin-panel h2, .delete-dialog h2 { margin: 0; font-family: Cinzel, Georgia, serif; text-transform: uppercase; }
.admin-hero h1 { font-size: clamp(36px, 5vw, 58px); }
.admin-hero p:last-child { color: var(--admin-muted); }
.admin-role-card { min-width: 170px; padding: 16px; text-align: center; border-left: 1px solid var(--admin-line); }
.admin-role-card small, .admin-role-card strong { display: block; }
.admin-role-card strong { margin-top: 7px; color: var(--admin-gold-light); font: 700 22px/1 Cinzel, Georgia, serif; text-transform: uppercase; }
.admin-alert { margin: 18px 0; padding: 13px 16px; border: 1px solid rgba(217,93,93,.5); background: rgba(90,23,23,.4); color: #ffd1d1; }
.admin-alert.success { border-color: rgba(114,200,155,.45); background: rgba(23,78,56,.4); color: #c8f0db; }
.summary-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.summary-card { padding: 18px; border: 1px solid var(--admin-line); background: linear-gradient(180deg, rgba(18,19,21,.96), rgba(8,9,11,.97)); }
.summary-card span, .summary-card strong { display: block; }
.summary-card span { color: var(--admin-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.summary-card strong { margin-top: 8px; color: var(--admin-gold-light); font: 700 30px/1 Cinzel, Georgia, serif; }
.admin-panel { margin-top: 18px; padding: 20px; border: 1px solid var(--admin-line); background: var(--admin-panel); }
.admin-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 17px; border-bottom: 1px solid rgba(201,152,66,.16); }
.admin-panel-heading h2 { font-size: 22px; }
.admin-search { display: flex; gap: 8px; width: min(520px, 100%); }
.admin-search input { flex: 1; min-width: 0; padding: 11px 12px; border: 1px solid var(--admin-line); background: #07080a; color: #f1eadf; }
.admin-search button, .admin-pagination button { border: 1px solid var(--admin-line); background: rgba(201,152,66,.08); color: var(--admin-gold-light); padding: 10px 14px; cursor: pointer; }
.admin-table-wrap { overflow-x: auto; margin-top: 16px; }
.admin-table { width: 100%; min-width: 1120px; border-collapse: collapse; }
.admin-table th { padding: 11px 10px; text-align: left; color: #c5bba9; font: 700 11px/1 Cinzel, Georgia, serif; text-transform: uppercase; border-bottom: 1px solid var(--admin-line); }
.admin-table td { padding: 13px 10px; vertical-align: top; border-bottom: 1px solid rgba(255,255,255,.06); color: #d8d0c4; font-size: 12px; }
.admin-table tr:hover td { background: rgba(201,152,66,.035); }
.character-cell strong, .owner-cell strong { display: block; font-family: Cinzel, Georgia, serif; color: #f2eadc; }
.character-cell small, .owner-cell small { display: block; margin-top: 5px; color: var(--admin-muted); max-width: 280px; line-height: 1.4; }
.stat-chip-list { display: flex; flex-wrap: wrap; gap: 5px; max-width: 260px; }
.stat-chip { padding: 4px 6px; border: 1px solid rgba(201,152,66,.18); background: rgba(201,152,66,.04); color: #cfc5b5; font-size: 10px; }
.delete-character { border: 1px solid rgba(217,93,93,.48); background: rgba(113,31,31,.26); color: #ffb7b7; padding: 8px 10px; cursor: pointer; }
.delete-character:hover { background: rgba(145,38,38,.42); }
.admin-empty { padding: 30px; text-align: center; color: var(--admin-muted); }
.admin-pagination { display: flex; justify-content: center; align-items: center; gap: 14px; padding-top: 16px; }
.admin-pagination button:disabled { opacity: .35; cursor: not-allowed; }
.audit-list { display: grid; gap: 8px; margin-top: 16px; }
.audit-entry { display: grid; grid-template-columns: 150px 1fr auto; gap: 14px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.018); }
.audit-entry strong { color: #e5dccf; }
.audit-entry span, .audit-entry time { color: var(--admin-muted); font-size: 11px; }
.delete-dialog { width: min(520px, calc(100% - 30px)); padding: 24px; border: 1px solid rgba(217,93,93,.55); background: #0c0d0f; color: #eee6d7; }
.delete-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(4px); }
.delete-dialog label { display: grid; gap: 8px; margin-top: 18px; color: #c9c0b3; }
.delete-dialog input { padding: 11px; border: 1px solid var(--admin-line); background: #050607; color: #fff; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.dialog-actions button { padding: 10px 14px; cursor: pointer; }
.dialog-actions .secondary { border: 1px solid var(--admin-line); background: transparent; color: #ddd4c7; }
.dialog-actions .danger { border: 1px solid rgba(217,93,93,.7); background: #7e2929; color: #fff; }
.delete-error { margin-top: 12px; color: #ffb6b6; }
.hidden { display: none !important; }

@media (max-width: 900px) {
  .summary-cards { grid-template-columns: repeat(2, 1fr); }
  .admin-hero, .admin-panel-heading { align-items: stretch; flex-direction: column; }
  .admin-role-card { border-left: 0; border-top: 1px solid var(--admin-line); }
  .admin-search { width: 100%; }
}

@media (max-width: 560px) {
  .admin-shell { width: min(100% - 20px, 1500px); padding-top: 20px; }
  .summary-cards { grid-template-columns: 1fr; }
  .audit-entry { grid-template-columns: 1fr; }
}

/* v7.6 – tituluskezelés */
.title-admin-copy {
  max-width: 560px;
  margin: 0;
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

.title-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.title-admin-form {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(201,152,66,.18);
  background: rgba(255,255,255,.018);
}

.title-admin-form h3 {
  margin: 0 0 2px;
  color: #efe6d8;
  font: 700 16px/1.2 Cinzel, Georgia, serif;
  text-transform: uppercase;
}

.title-admin-form label {
  display: grid;
  gap: 7px;
}

.title-admin-form label > span {
  color: #cfc5b6;
  font: 700 10px/1 Cinzel, Georgia, serif;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.title-admin-form input,
.title-admin-form textarea,
.title-admin-form select {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 11px;
  border: 1px solid var(--admin-line);
  background: #07080a;
  color: #f1eadf;
  font: inherit;
}

.title-admin-form textarea { resize: vertical; }
.title-admin-form > small { color: var(--admin-muted); line-height: 1.45; }
.title-admin-form button {
  min-height: 42px;
  border: 1px solid var(--admin-line);
  background: linear-gradient(180deg, rgba(201,152,66,.18), rgba(201,152,66,.07));
  color: var(--admin-gold-light);
  font: 700 11px/1 Cinzel, Georgia, serif;
  text-transform: uppercase;
  cursor: pointer;
}
.title-admin-form button:disabled,
.title-admin-form input:disabled,
.title-admin-form textarea:disabled,
.title-admin-form select:disabled { opacity: .45; cursor: not-allowed; }

.title-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.title-list-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  padding: 13px;
  border: 1px solid rgba(121,185,201,.16);
  background: linear-gradient(135deg, rgba(28,60,68,.12), rgba(5,7,8,.55));
}

.title-list-card strong,
.title-list-card small { display: block; }
.title-list-card strong { color: #dce9e8; font: 700 13px/1.2 Cinzel, Georgia, serif; }
.title-list-card small { margin-top: 4px; color: #73888c; font-size: 9px; }
.title-list-card p { grid-column: 1 / -1; margin: 0; color: var(--admin-muted); font-size: 10px; line-height: 1.45; }
.title-list-card > span { grid-column: 2; grid-row: 1; align-self: start; color: var(--admin-gold-light); font-size: 10px; white-space: nowrap; }

@media (max-width: 900px) {
  .title-admin-copy { text-align: left; }
  .title-admin-grid { grid-template-columns: 1fr; }
  .title-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .title-list { grid-template-columns: 1fr; }
}

/* v7.8 – teljes rendszernapló */
.summary-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.audit-heading { align-items: flex-start; }
.audit-intro { max-width: 660px; margin: 8px 0 0; color: var(--admin-muted); font-size: 12px; line-height: 1.5; }
.audit-filter-form { width: min(650px, 100%); display: grid; grid-template-columns: minmax(180px,1fr) 150px 140px auto; gap: 8px; }
.audit-filter-form input, .audit-filter-form select, .audit-filter-form button,
.audit-note-form input, .audit-note-form select, .audit-note-form textarea, .audit-note-form button {
  box-sizing: border-box; min-width: 0; padding: 10px 11px; border: 1px solid var(--admin-line); background: #07080a; color: #f1eadf; font: inherit;
}
.audit-filter-form button, .audit-note-form button { background: rgba(201,152,66,.1); color: var(--admin-gold-light); cursor: pointer; }
.audit-note-form { display: grid; grid-template-columns: minmax(230px,1.2fr) minmax(190px,1fr) 150px 140px; gap: 12px; margin-top: 18px; padding: 16px; border: 1px solid rgba(121,185,201,.22); background: rgba(26,53,59,.12); }
.audit-note-form h3 { margin: 0 0 6px; font: 700 17px/1.2 Cinzel, Georgia, serif; text-transform: uppercase; }
.audit-note-form small { color: var(--admin-muted); }
.audit-note-form label { display: grid; align-content: start; gap: 7px; }
.audit-note-form label > span { color: #cfc5b6; font: 700 9px/1 Cinzel, Georgia, serif; text-transform: uppercase; }
.audit-note-text { grid-column: 1 / -2; }
.audit-note-form > button { align-self: end; min-height: 44px; }
.system-audit-entry { display: grid; gap: 8px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.07); border-left: 3px solid #79b9c9; background: rgba(255,255,255,.018); }
.system-audit-entry.severity-warning { border-left-color: #d3a94f; }
.system-audit-entry.severity-error { border-left-color: #d95d5d; }
.audit-entry-head { display: flex; justify-content: space-between; gap: 12px; color: #9db9be; font-size: 10px; }
.system-audit-entry > strong { font: 700 13px/1.35 Cinzel, Georgia, serif; }
.system-audit-entry > small { color: var(--admin-muted); }
.system-audit-entry details { border-top: 1px solid rgba(255,255,255,.06); padding-top: 8px; }
.system-audit-entry summary { color: #9eb8bd; font-size: 10px; cursor: pointer; }
.system-audit-entry pre { max-height: 360px; overflow: auto; padding: 12px; background: #050607; color: #bfc7c6; white-space: pre-wrap; overflow-wrap: anywhere; font: 10px/1.55 ui-monospace, monospace; }
@media (max-width: 1100px) { .audit-filter-form { grid-template-columns: 1fr 1fr; } .audit-note-form { grid-template-columns: 1fr 1fr; } .audit-note-form > div, .audit-note-text { grid-column: 1/-1; } }
@media (max-width: 900px) { .summary-cards { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px) { .summary-cards, .audit-filter-form, .audit-note-form { grid-template-columns: 1fr; } .audit-note-form > div, .audit-note-text, .audit-note-form > button { grid-column: 1; } .audit-entry-head { flex-direction: column; } }

/* v8.0.0 – Birodalom építkezés adminisztráció */
.kingdom-admin-copy {
  max-width: 650px;
  margin: 0;
  color: var(--admin-muted);
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}
.kingdom-admin-content { margin-top: 18px; }
.kingdom-admin-card {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 230px;
  gap: 22px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(201,152,66,.2);
  background: linear-gradient(135deg, rgba(43,34,23,.34), rgba(5,7,8,.72));
}
.kingdom-admin-art {
  display: grid;
  place-items: center;
  min-height: 165px;
  overflow: hidden;
  border: 1px solid rgba(201,152,66,.14);
  background: radial-gradient(circle, rgba(201,152,66,.13), transparent 58%), #090a0b;
}
.kingdom-admin-art img { display: block; width: 94%; max-height: 180px; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(0,0,0,.55)); }
.kingdom-admin-art.level-1 img { width: 66%; }
.kingdom-admin-details { min-width: 0; }
.kingdom-admin-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.kingdom-admin-head h3 { margin: 0; color: #eee4d5; font: 700 19px/1.2 Cinzel, Georgia, serif; }
.kingdom-admin-state { padding: 5px 7px; border: 1px solid rgba(201,152,66,.35); color: #d3b77d; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.kingdom-admin-state.state-ready, .kingdom-admin-state.state-completed { border-color: rgba(105,153,100,.48); color: #b4d8ae; }
.kingdom-admin-state.state-building { border-color: rgba(180,103,62,.5); color: #e0a27c; }
.kingdom-admin-details > p { margin: 10px 0 15px; color: var(--admin-muted); font-size: 11px; line-height: 1.5; }
.kingdom-admin-progress { overflow: hidden; height: 10px; border: 1px solid rgba(201,152,66,.2); background: #050607; }
.kingdom-admin-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #785329, #c99942, #ead08e); transition: width .4s ease; }
.kingdom-admin-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin-top: 8px; color: #837a6e; font-size: 9px; }
.kingdom-admin-action { display: grid; gap: 10px; padding-left: 20px; border-left: 1px solid rgba(201,152,66,.16); }
.kingdom-admin-action strong { color: #ded3c1; font: 700 12px/1.35 Cinzel, Georgia, serif; }
.kingdom-admin-action span { color: var(--admin-muted); font-size: 10px; line-height: 1.45; }
.kingdom-admin-action button { min-height: 44px; border: 1px solid rgba(201,152,66,.48); background: linear-gradient(180deg, rgba(201,152,66,.19), rgba(201,152,66,.07)); color: var(--admin-gold-light); font: 700 10px Cinzel, Georgia, serif; text-transform: uppercase; cursor: pointer; }
.kingdom-admin-action button:disabled { opacity: .38; cursor: not-allowed; }
.kingdom-admin-countdown { color: #d2b276 !important; }
@media (max-width: 1050px) { .kingdom-admin-card { grid-template-columns: 180px 1fr; } .kingdom-admin-action { grid-column: 1/-1; padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(201,152,66,.16); } }
@media (max-width: 650px) { .kingdom-admin-copy { text-align: left; } .kingdom-admin-card { grid-template-columns: 1fr; } .kingdom-admin-art { min-height: 210px; } }

.admin-section-tabs {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  gap: 5px;
  margin: 18px 0;
  padding: 7px;
  overflow-x: auto;
  border: 1px solid var(--admin-line);
  background: rgba(5, 7, 8, .96);
  scrollbar-width: thin;
}
.admin-section-tabs button {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 10px 14px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--admin-muted);
  font: 700 10px/1 Cinzel, Georgia, serif;
  text-transform: uppercase;
  cursor: pointer;
}
.admin-section-tabs button.active {
  border-color: rgba(201, 152, 66, .38);
  background: rgba(201, 152, 66, .10);
  color: var(--admin-gold-light);
}
.admin-section-view { display: none; }
.admin-section-view.active { display: block; }
.admin-section-view > .admin-panel:first-child { margin-top: 0; }
.admin-panel-subcopy { max-width: 720px; margin: 8px 0 0; color: var(--admin-muted); font-size: 11px; line-height: 1.5; }

.role-guide-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 17px;
}
.role-guide-grid article {
  display: grid;
  gap: 7px;
  padding: 15px;
  border: 1px solid rgba(201, 152, 66, .17);
  background: rgba(255, 255, 255, .018);
}
.role-guide-grid strong { color: #e7dac5; font: 700 13px Cinzel, Georgia, serif; }
.role-guide-grid span { color: var(--admin-muted); font-size: 10px; line-height: 1.5; }

.admin-row-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.admin-row-actions button {
  padding: 7px 9px;
  border: 1px solid rgba(201, 152, 66, .26);
  background: rgba(201, 152, 66, .06);
  color: #d9c59e;
  cursor: pointer;
  font-size: 9px;
}
.admin-row-actions .delete-character { border-color: rgba(217, 93, 93, .35); color: #e3a2a2; background: rgba(126, 41, 41, .15); }
.crown-table-value { color: #e9c773; font: 700 14px Cinzel, Georgia, serif; }

.admin-detail-dialog {
  width: min(1180px, calc(100% - 24px));
  max-height: calc(100vh - 24px);
  padding: 0;
  overflow: auto;
  border: 1px solid rgba(201, 152, 66, .50);
  background: #08090b;
  color: #eee8df;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .82);
}
.admin-detail-dialog::backdrop { background: rgba(0, 0, 0, .84); backdrop-filter: blur(5px); }
.admin-dialog-close-form { position: sticky; z-index: 30; top: 0; height: 0; }
.admin-dialog-close-form button {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(201, 152, 66, .34);
  background: rgba(7, 8, 10, .96);
  color: #d8cbb8;
  font-size: 24px;
  cursor: pointer;
}
.admin-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 28px 70px 22px 28px;
  border-bottom: 1px solid var(--admin-line);
  background: linear-gradient(110deg, rgba(56, 42, 25, .36), rgba(7, 9, 11, .92));
}
.admin-detail-header h2 { margin: 5px 0 7px; font: 700 28px Cinzel, Georgia, serif; }
.admin-detail-header p:last-child { margin: 0; color: var(--admin-muted); }
.detail-crown-card { min-width: 150px; padding: 13px 16px; border-left: 1px solid var(--admin-line); text-align: right; }
.detail-crown-card small { display: block; color: var(--admin-gold); font-size: 8px; letter-spacing: .14em; }
.detail-crown-card strong { display: block; margin-top: 6px; color: var(--admin-gold-light); font: 700 27px Cinzel, Georgia, serif; }
.detail-summary { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; padding: 16px 28px; border-bottom: 1px solid rgba(255,255,255,.06); }
.detail-summary span { padding: 9px; background: rgba(255,255,255,.018); color: var(--admin-muted); font-size: 9px; text-align: center; }
.detail-summary strong { display: block; margin-top: 4px; color: #e8dfd3; font: 700 14px Cinzel, Georgia, serif; }

.crown-adjust-form {
  display: grid;
  grid-template-columns: minmax(200px, .8fr) 160px minmax(260px, 1.4fr) auto;
  gap: 12px;
  align-items: end;
  margin: 18px 28px;
  padding: 15px;
  border: 1px solid rgba(201, 152, 66, .20);
  background: rgba(201, 152, 66, .035);
}
.crown-adjust-form h3 { margin: 3px 0 5px; font: 700 15px Cinzel, Georgia, serif; }
.crown-adjust-form small { color: var(--admin-muted); font-size: 9px; }
.crown-adjust-form label { display: grid; gap: 7px; }
.crown-adjust-form label > span { color: #c9bca9; font: 700 9px Cinzel, Georgia, serif; text-transform: uppercase; }
.crown-adjust-form input { width: 100%; min-height: 41px; padding: 9px 10px; border: 1px solid var(--admin-line); background: #050607; color: #fff; }
.crown-adjust-actions { display: flex; gap: 7px; }
.crown-adjust-actions button { min-height: 41px; padding: 9px 11px; border: 1px solid rgba(201,152,66,.38); background: rgba(201,152,66,.10); color: var(--admin-gold-light); cursor: pointer; }
.crown-adjust-actions button.danger { border-color: rgba(217,93,93,.45); background: rgba(126,41,41,.20); color: #e9aaaa; }
.crown-adjust-form :disabled { opacity: .42; cursor: not-allowed; }

.admin-items-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; padding: 10px 28px 30px; }
.admin-items-layout section { min-width: 0; padding: 16px; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.012); }
.detail-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 13px; }
.detail-section-heading h3 { margin: 0; font: 700 16px Cinzel, Georgia, serif; }
.detail-section-heading span { color: var(--admin-muted); font-size: 9px; }
.admin-item-grid { display: grid; gap: 8px; }
.admin-item-card { display: grid; grid-template-columns: 46px 1fr; gap: 10px; min-width: 0; padding: 9px; border: 1px solid rgba(201,152,66,.14); background: #090a0c; }
.admin-item-icon { display: grid; place-items: center; width: 46px; height: 46px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); background: #050607; color: #8c806c; }
.admin-item-icon img { max-width: 85%; max-height: 85%; object-fit: contain; }
.admin-item-card strong, .admin-item-card small, .admin-item-card span { display: block; }
.admin-item-card small { color: #a58d60; font-size: 8px; text-transform: uppercase; }
.admin-item-card strong { margin-top: 3px; color: #e5ddd2; font-size: 11px; overflow-wrap: anywhere; }
.admin-item-card span { margin-top: 3px; color: var(--admin-muted); font-size: 8px; }
.admin-item-card ul { margin: 6px 0 0; padding-left: 14px; color: #a9a097; font-size: 8px; }
.admin-inventory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.admin-inventory-slot { position: relative; min-height: 72px; padding: 8px; border: 1px dashed rgba(255,255,255,.08); background: rgba(255,255,255,.01); color: #4e4d4a; }
.admin-inventory-slot > span { position: absolute; top: 4px; right: 5px; color: #4d4a44; font-size: 7px; }
.admin-inventory-slot > small { display: grid; place-items: center; height: 100%; font-size: 8px; }
.admin-inventory-slot.occupied { padding: 0; border-style: solid; }
.admin-inventory-slot .admin-item-card { height: 100%; grid-template-columns: 34px 1fr; border: 0; }
.admin-inventory-slot .admin-item-icon { width: 34px; height: 34px; }

.admin-member-form { display: grid; grid-template-columns: minmax(260px, 1fr) 190px auto; gap: 10px; align-items: end; margin-top: 17px; padding: 15px; border: 1px solid rgba(201,152,66,.17); background: rgba(255,255,255,.015); }
.admin-member-form label { display: grid; gap: 7px; }
.admin-member-form label span { color: #c9bca9; font: 700 9px Cinzel, Georgia, serif; text-transform: uppercase; }
.admin-member-form input, .admin-member-form select, .admin-member-form button { min-height: 42px; padding: 9px 11px; border: 1px solid var(--admin-line); background: #07080a; color: #eee7dd; }
.admin-member-form button { background: rgba(201,152,66,.10); color: var(--admin-gold-light); cursor: pointer; }
.admin-member-form :disabled { opacity: .42; cursor: not-allowed; }
.admin-member-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin-top: 14px; }
.admin-member-card { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; padding: 13px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.015); }
.admin-member-card strong { color: #e6ddd0; font: 700 12px Cinzel, Georgia, serif; }
.admin-member-card small { color: var(--admin-muted); font-size: 8px; overflow-wrap: anywhere; }
.admin-member-card > span { align-self: start; color: #d8bb7b; font: 700 9px Cinzel, Georgia, serif; }
.admin-member-card > button { grid-column: 2; padding: 6px 8px; border: 1px solid rgba(217,93,93,.30); background: rgba(126,41,41,.15); color: #df9c9c; cursor: pointer; font-size: 8px; }
.admin-member-card.role-owner, .admin-member-card.role-maintainer { border-color: rgba(201,152,66,.28); }

@media (max-width: 1100px) {
  .role-guide-grid { grid-template-columns: repeat(2, 1fr); }
  .crown-adjust-form { grid-template-columns: 1fr 150px 1fr; }
  .crown-adjust-actions { grid-column: 1 / -1; }
  .admin-items-layout { grid-template-columns: 1fr; }
  .admin-member-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .admin-section-tabs { top: 76px; margin-inline: -1px; }
  .admin-detail-header { align-items: stretch; flex-direction: column; padding-right: 58px; }
  .detail-crown-card { border-left: 0; border-top: 1px solid var(--admin-line); text-align: left; }
  .detail-summary { grid-template-columns: repeat(3, 1fr); padding-inline: 14px; }
  .crown-adjust-form { grid-template-columns: 1fr; margin-inline: 14px; }
  .crown-adjust-actions { grid-column: 1; flex-direction: column; }
  .admin-items-layout { padding-inline: 14px; }
  .admin-inventory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-member-form, .admin-member-list { grid-template-columns: 1fr; }
  .admin-table { min-width: 980px; }
}


.tester-admin-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 14px; margin-top: 16px; }
.tester-access-panel, .tester-pending-panel { min-width: 0; }
.tester-access-form { display: grid; grid-template-columns: minmax(240px,1fr) auto; gap: 10px; align-items: end; margin-bottom: 14px; padding: 15px; border: 1px solid rgba(201,152,66,.17); background: rgba(255,255,255,.015); }
.tester-access-form label { display: grid; gap: 7px; }
.tester-access-form label span { color: #c9bca9; font: 700 9px Cinzel, Georgia, serif; text-transform: uppercase; }
.tester-access-form input, .tester-access-form button { min-height: 42px; padding: 9px 11px; border: 1px solid var(--admin-line); background: #07080a; color: #eee7dd; }
.tester-access-form button { background: rgba(201,152,66,.10); color: var(--admin-gold-light); cursor: pointer; }
.tester-access-form :disabled { opacity: .42; cursor: not-allowed; }
.tester-list, .tester-pending-list { display: grid; gap: 9px; }
.tester-card { display: grid; grid-template-columns: 1fr auto; gap: 7px 10px; padding: 13px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.015); }
.tester-card strong { color: #e6ddd0; font: 700 12px Cinzel, Georgia, serif; }
.tester-card small { color: var(--admin-muted); font-size: 8px; overflow-wrap: anywhere; }
.tester-card > span { align-self: start; color: #d8bb7b; font: 700 9px Cinzel, Georgia, serif; }
.tester-card .tester-meta { display: grid; gap: 4px; }
.tester-card button { padding: 6px 8px; border: 1px solid rgba(201,152,66,.22); background: rgba(201,152,66,.10); color: var(--admin-gold-light); cursor: pointer; font-size: 8px; }
.tester-card .danger { border-color: rgba(217,93,93,.30); background: rgba(126,41,41,.15); color: #df9c9c; }
.tester-panel-intro { margin: 0 0 14px; color: var(--admin-muted); font-size: 10px; line-height: 1.6; }
@media (max-width: 1100px) {
  .tester-admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .tester-access-form { grid-template-columns: 1fr; }
}


.site-footer { flex-wrap: wrap; }
.site-version {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid rgba(201,152,66,.22);
  background: rgba(201,152,66,.06);
  color: #cdb47c;
  font: 700 9px/1 Cinzel, Georgia, serif;
  letter-spacing: .08em;
  text-decoration: none;
  white-space: nowrap;
}
.site-version:hover { border-color: rgba(201,152,66,.48); color: #f0dca9; }

.changelog-page { min-height: 100vh; }
.changelog-shell { width: min(1120px, calc(100% - 36px)); margin: 0 auto; padding: 54px 0 80px; }
.changelog-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: end; margin-bottom: 30px; }
.changelog-hero h1 { margin: 5px 0 12px; font: 800 clamp(38px,6vw,68px)/1 Cinzel, Georgia, serif; }
.changelog-hero p { max-width: 720px; color: #aaa39a; line-height: 1.7; }
.changelog-version-card { min-width: 210px; padding: 18px 20px; border: 1px solid rgba(201,152,66,.24); background: rgba(12,13,16,.88); box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.changelog-version-card small, .changelog-version-card span { display: block; color: #8f877c; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.changelog-version-card strong { display: block; margin: 7px 0; color: #e4ca91; font: 800 25px/1 Cinzel, Georgia, serif; }
.changelog-list { display: grid; gap: 14px; }
.changelog-entry { padding: clamp(20px,3vw,30px); border: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg,rgba(18,19,23,.92),rgba(8,9,11,.94)); }
.changelog-entry.current { border-color: rgba(201,152,66,.36); box-shadow: inset 3px 0 0 #b98b42; }
.changelog-entry-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.changelog-entry-head span { color: #d8bd82; font: 800 11px Cinzel, Georgia, serif; letter-spacing: .1em; }
.changelog-entry-head time { color: #716c65; font-size: 10px; }
.changelog-entry h2 { margin: 12px 0; color: #eee5d8; font: 700 clamp(18px,3vw,25px)/1.25 Cinzel, Georgia, serif; }
.changelog-entry ul { margin: 0; padding-left: 20px; color: #aaa39a; line-height: 1.75; }
.changelog-entry li + li { margin-top: 5px; }
@media (max-width: 760px) {
  .changelog-hero { grid-template-columns: 1fr; }
  .changelog-version-card { min-width: 0; }
  .changelog-entry-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .site-footer .site-version { width: 100%; }
}

.footer-public-links{display:flex;align-items:center;gap:12px}.footer-public-links a{color:#928b80;text-decoration:none;font-size:10px}.footer-public-links a:hover{color:#d8c18f}

/* V0.8.2.10 – Egységes fő navigáció az indexoldal stílusával */
.site-header {
  width: min(1180px, calc(100% - 48px));
  height: 70px;
  min-height: 70px;
  gap: 28px;
}

.site-header::before {
  background: rgba(3, 4, 5, .94);
  border-bottom-color: rgba(202, 153, 70, .16);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}

.site-header .brand-logo-image {
  width: auto !important;
  height: 58px;
  max-height: 58px;
  max-width: min(190px, 31vw);
}

.top-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.7vw, 34px);
  color: #aaa092;
  font: 600 12px/1 "Cinzel", Georgia, serif;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.top-nav a,
.top-nav .disabled,
.top-nav .logout-button {
  position: relative;
  padding: 27px 0 25px;
  border: 0;
  background: transparent;
  color: #aaa092;
  font: inherit;
  letter-spacing: inherit;
  line-height: 1;
  text-transform: uppercase;
  transition: color .18s ease;
}

.top-nav a:hover,
.top-nav a:focus-visible,
.top-nav a.active,
.top-nav .logout-button:hover,
.top-nav .logout-button:focus-visible {
  color: var(--gold-light);
}

.top-nav a.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  height: 1px;
  background: var(--gold);
  box-shadow: 0 0 9px rgba(201, 149, 63, .36);
}

.top-nav .disabled {
  opacity: .36;
  cursor: not-allowed;
}

.top-nav .logout-button {
  cursor: pointer;
}

@media (max-width: 760px) {
  .site-header {
    width: calc(100% - 28px);
    height: 76px;
    min-height: 76px;
  }

  .site-header .brand-logo-image {
    height: 56px;
    max-height: 56px;
    max-width: 42vw;
  }

  .top-nav {
    gap: 3px;
    font: 600 12px/1 "Cinzel", Georgia, serif;
    letter-spacing: .055em;
    white-space: normal;
  }

  .top-nav a,
  .top-nav .disabled,
  .top-nav .logout-button {
    min-height: 43px;
    padding: 12px 13px;
    border-bottom: 1px solid rgba(255, 255, 255, .055);
    text-transform: uppercase;
  }

  .top-nav a.active::after {
    display: none;
  }
}
