/* ===== shared realm page skeleton ===== */
.realm-hero{position:relative;overflow:hidden}
.realm-hero .inner{max-width:var(--maxw);margin:0 auto;padding:3.5rem 1rem 3rem;display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:center;position:relative;z-index:2}
.realm-hero h1{margin:.1em 0}
.realm-hero .motto{font-size:1.3em;font-style:italic}
.realm-hero .greet{margin-top:1.4rem;font-size:1.05em}
.realm-hero .greet b{font-style:italic;font-weight:600}
.realm-hero .crest{max-width:380px;justify-self:center}
.realm-nav{position:sticky;top:48px;z-index:40}
.realm-nav .inner{max-width:var(--maxw);margin:0 auto;padding:.3rem 1rem;display:flex;gap:.2rem;flex-wrap:wrap;overflow-x:auto}
.realm-nav a{text-decoration:none;font-size:.78rem;letter-spacing:.08em;padding:.35rem .6rem;white-space:nowrap;font-family:var(--head)}
.realm-main{max-width:var(--maxw);margin:0 auto;padding:0 1rem}
.realm-main section{scroll-margin-top:110px;padding:1rem 0}
.glance dl{display:grid;grid-template-columns:170px 1fr;gap:.35rem 1rem;margin:0}
.glance dt{font-family:var(--head);font-size:.8rem;letter-spacing:.08em;padding-top:.2em}
.glance dd{margin:0}
.phrases td:first-child{font-style:italic}
@media(max-width:800px){.realm-hero .inner{grid-template-columns:1fr}.glance dl{grid-template-columns:1fr}.realm-hero .crest{max-width:260px}}

/* ===== ALDMERE: warm parchment, hearth red, oak green; a rustic book with a side index ===== */
.realm-aldmere{--bg:#f1e6cc;--paper:#f8f0dc;--ink:#2b2217;--muted:#6d5a40;--rule:#c4ad80;--accent:#8a2417;--accent2:#b58a2c;--link:#7a2214;--deep:#2f4a2a;
  --head:'IM Fell English SC',serif;--body:'IM Fell English',Georgia,serif}
.realm-aldmere .realm-hero{background:linear-gradient(180deg,#2f4a2a 0,#3c5a33 100%);color:#f6ebcf;border-bottom:8px double #b58a2c}
.realm-aldmere .realm-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);color:#f6e2a8}
.realm-aldmere .realm-hero .crest{background:#f8f0dc;padding:10px;border:6px double #b58a2c;transform:rotate(-1.5deg)}
.realm-aldmere .realm-nav{background:#f1e6cc;border-bottom:1px solid #c4ad80}
.realm-aldmere .realm-nav a{color:#2f4a2a}
.realm-aldmere .realm-nav a:hover{background:#2f4a2a;color:#f6ebcf}
.realm-aldmere .realm-main h2{border-bottom:3px double var(--accent);padding-bottom:.2em;color:var(--deep)}
.realm-aldmere .realm-main section>p:first-of-type::first-letter{font-family:'IM Fell English SC',serif;float:left;font-size:3.4em;line-height:.85;padding:.05em .08em 0 0;color:var(--accent)}
.realm-aldmere .card{border:1px solid #c4ad80;box-shadow:3px 3px 0 #d8c69c}

/* ===== THARAX: bronze on black, stark and square, nothing decorated ===== */
.realm-tharax{--bg:#11100e;--paper:#1a1815;--ink:#e6dbc8;--muted:#a79a82;--rule:#4a3d2b;--accent:#c0853e;--accent2:#8a2b1f;--link:#d9a25a;
  --head:'Cinzel',serif;--body:'Spectral',Georgia,serif}
.realm-tharax .realm-hero{background:#0a0908;border-bottom:1px solid #c0853e}
.realm-tharax .realm-hero h1{text-transform:uppercase;letter-spacing:.35em;font-weight:700;color:#d59a52;font-size:clamp(2.6rem,8vw,5.6rem)}
.realm-tharax .realm-hero .motto{font-style:normal;text-transform:uppercase;letter-spacing:.3em;font-size:.95em;color:#a79a82}
.realm-tharax .realm-hero .crest,.realm-tharax .plate img,.realm-tharax .char-card img,.realm-tharax .shield-card img,.realm-tharax .map img{filter:invert(.9) sepia(.5) saturate(1.3) hue-rotate(-10deg)}
.realm-tharax .plate,.realm-tharax .realm-hero .crest{background:transparent;border-color:#4a3d2b}
.realm-tharax .realm-nav{background:#0a0908;border-bottom:1px solid #4a3d2b}
.realm-tharax .realm-nav a{color:#c0853e;text-transform:uppercase}
.realm-tharax .realm-nav a:hover{background:#c0853e;color:#0a0908}
.realm-tharax .realm-main h2{text-transform:uppercase;letter-spacing:.3em;font-size:1.3rem;color:#c0853e;border-left:6px solid #c0853e;padding-left:.8rem}
.realm-tharax .card{border-radius:0;border-color:#4a3d2b}
.realm-tharax table{background:#1a1815}
.realm-tharax th,.realm-tharax td{border-color:#3a3024}

/* ===== CAELVENNE: ivory, lapis and gold leaf; one elegant centered column ===== */
.realm-caelvenne{--bg:#f7f5ee;--paper:#ffffff;--ink:#1b2240;--muted:#5b6386;--rule:#d8cfb2;--accent:#1f3a8a;--accent2:#c19a3f;--link:#1f3a8a;
  --head:'Cormorant Garamond',serif;--body:'Cormorant Garamond',Georgia,serif;--maxw:980px}
.realm-caelvenne body,.realm-caelvenne{font-size:21px}
.realm-caelvenne .realm-hero{background:radial-gradient(ellipse at 70% 30%,#2a4aa8 0,#14254f 70%);color:#f3ecd6;border-bottom:2px solid #c19a3f}
.realm-caelvenne .realm-hero .inner{text-align:center;grid-template-columns:1fr}
.realm-caelvenne .realm-hero h1{font-style:italic;font-weight:500;font-size:clamp(2.6rem,7vw,5rem);color:#f5e3a8}
.realm-caelvenne .realm-hero .crest{max-width:300px;border-radius:50%;background:#fff;padding:14px;border:2px solid #c19a3f;box-shadow:0 0 0 8px rgba(193,154,63,.25)}
.realm-caelvenne .realm-nav{background:rgba(247,245,238,.96);border-bottom:1px solid #c19a3f}
.realm-caelvenne .realm-nav .inner{justify-content:center}
.realm-caelvenne .realm-nav a{color:#1f3a8a;font-style:italic;font-size:.95rem;font-family:'Cormorant Garamond',serif}
.realm-caelvenne .realm-main h2{text-align:center;font-style:italic;font-weight:500;color:#1f3a8a;font-size:2.2rem}
.realm-caelvenne .realm-main h2::after{content:"";display:block;width:140px;height:5px;margin:.4em auto 0;border-top:1px solid #c19a3f;border-bottom:1px solid #c19a3f}
.realm-caelvenne .card{border:1px solid #e6dcc0;box-shadow:0 1px 0 #c19a3f}

/* ===== CASTAVAR: crimson bands, black borders, blackletter; faith and steel ===== */
.realm-castavar{--bg:#efe8dc;--paper:#fbf7f0;--ink:#1a1414;--muted:#5d4d48;--rule:#b9a79a;--accent:#8e1b1b;--accent2:#1d1d1d;--link:#8e1b1b;
  --head:'UnifrakturMaguntia',serif;--body:'EB Garamond',Georgia,serif}
.realm-castavar .realm-hero{background:#1d1d1d;color:#f1e6d8;border-top:14px solid #8e1b1b;border-bottom:14px solid #8e1b1b}
.realm-castavar .realm-hero h1{font-size:clamp(2.6rem,7vw,5.2rem);font-weight:400;color:#fff}
.realm-castavar .realm-hero .crest{background:#fbf7f0;padding:8px;border:4px solid #8e1b1b;outline:2px solid #fbf7f0;outline-offset:4px}
.realm-castavar .realm-nav{background:#8e1b1b}
.realm-castavar .realm-nav a{color:#fbeee0;font-family:'EB Garamond',serif;font-variant:small-caps;font-size:.95rem}
.realm-castavar .realm-nav a:hover{background:#1d1d1d}
.realm-castavar .realm-main h2{background:#8e1b1b;color:#fff;padding:.3em .6em;font-weight:400}
.realm-castavar .realm-main h3{font-family:'EB Garamond',serif;font-variant:small-caps;letter-spacing:.06em}
.realm-castavar .card{border:2px solid #1d1d1d}
.realm-castavar hr{border-top:2px solid #8e1b1b}

/* ===== ZARVAND: turquoise tile, saffron and night blue; arched frames ===== */
.realm-zarvand{--bg:#fbf4e4;--paper:#fffaf0;--ink:#1c2a3a;--muted:#5b6674;--rule:#d9c7a0;--accent:#0f6f7a;--accent2:#d8962b;--link:#0b5f69;
  --head:'Marcellus SC',serif;--body:'Lora',Georgia,serif}
.realm-zarvand .realm-hero{background-color:#14284a;color:#f8ecd0;border-bottom:6px solid #d8962b;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%230f6f7a' stroke-width='1.4' opacity='.7'%3E%3Cpath d='M40 6 L48 32 L74 40 L48 48 L40 74 L32 48 L6 40 L32 32 Z'/%3E%3Crect x='26' y='26' width='28' height='28' transform='rotate(45 40 40)'/%3E%3C/g%3E%3C/svg%3E")}
.realm-zarvand .realm-hero h1{color:#f3c56b;letter-spacing:.12em;font-size:clamp(2.4rem,7vw,4.8rem)}
.realm-zarvand .realm-hero .crest{background:#fffaf0;padding:12px;border-radius:180px 180px 6px 6px;border:3px solid #d8962b}
.realm-zarvand .realm-nav{background:#0f6f7a}
.realm-zarvand .realm-nav a{color:#fdf1d6}
.realm-zarvand .realm-nav a:hover{background:#d8962b;color:#14284a}
.realm-zarvand .realm-main h2{color:#14284a;text-align:center}
.realm-zarvand .realm-main h2::before{content:"\2726";display:block;color:#d8962b;font-size:1.2rem;margin-bottom:.2em}
.realm-zarvand .card,.realm-zarvand .plate{border-radius:120px 120px 4px 4px;padding-top:1.4rem;border:1px solid #d9c7a0}
.realm-zarvand .char-card,.realm-zarvand .shield-card{border-radius:4px}

/* ===== KAISHON: rice paper, vermilion seal, jade; a disciplined grid ===== */
.realm-kaishon{--bg:#f6f2e8;--paper:#fffdf7;--ink:#161616;--muted:#5b5b55;--rule:#d8d0bd;--accent:#b3261e;--accent2:#2f6b4f;--link:#9c1f18;
  --head:'Shippori Mincho',serif;--body:'Shippori Mincho',Georgia,serif}
.realm-kaishon .realm-hero{background:#f6f2e8;border-bottom:1px solid #161616}
.realm-kaishon .realm-hero .inner{grid-template-columns:120px 1fr 1fr}
.realm-kaishon .realm-hero .seal{width:110px;height:110px;background:#b3261e;color:#fff6e8;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:1rem;line-height:1.1;padding:.6rem;border-radius:6px;box-shadow:inset 0 0 0 4px #b3261e,inset 0 0 0 6px #fff6e8}
.realm-kaishon .realm-hero h1{font-weight:800;font-size:clamp(2.2rem,6vw,4.2rem)}
.realm-kaishon .realm-hero .crest{border:1px solid #161616;padding:6px;background:#fff}
.realm-kaishon .realm-nav{background:#161616}
.realm-kaishon .realm-nav a{color:#f6f2e8}
.realm-kaishon .realm-nav a:hover{background:#b3261e}
.realm-kaishon .realm-main h2{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid #161616;padding-bottom:.3em;font-weight:800}
.realm-kaishon .realm-main h2::before{content:"";width:18px;height:18px;background:#b3261e;flex:none}
.realm-kaishon .card{border:1px solid #161616;border-radius:0}
@media(max-width:800px){.realm-kaishon .realm-hero .inner{grid-template-columns:1fr}}

/* ===== HRODVALD: slate and frost, blood-red rune cuts; hard and cold ===== */
.realm-hrodvald{--bg:#1b2126;--paper:#232b31;--ink:#e3e9ec;--muted:#9fb0ba;--rule:#3b4a55;--accent:#c23b2e;--accent2:#8fa7b4;--link:#e0665a;
  --head:'Grenze Gotisch',serif;--body:'Alegreya',Georgia,serif}
.realm-hrodvald .realm-hero{background:linear-gradient(180deg,#0e1317 0,#26323a 100%);clip-path:polygon(0 0,100% 0,100% 92%,95% 100%,90% 92%,85% 100%,80% 92%,75% 100%,70% 92%,65% 100%,60% 92%,55% 100%,50% 92%,45% 100%,40% 92%,35% 100%,30% 92%,25% 100%,20% 92%,15% 100%,10% 92%,5% 100%,0 92%)}
.realm-hrodvald .realm-hero .inner{padding-bottom:5rem}
.realm-hrodvald .realm-hero h1{font-size:clamp(2.8rem,8vw,5.6rem);color:#f0f4f6;font-weight:700}
.realm-hrodvald .realm-hero .motto{color:#c23b2e;font-style:normal;letter-spacing:.2em;text-transform:uppercase;font-size:.95em}
.realm-hrodvald .realm-hero .crest,.realm-hrodvald .plate img,.realm-hrodvald .char-card img,.realm-hrodvald .shield-card img,.realm-hrodvald .map img{filter:invert(.88) saturate(.2) brightness(1.05)}
.realm-hrodvald .plate,.realm-hrodvald .realm-hero .crest{background:transparent;border-color:#3b4a55}
.realm-hrodvald .realm-nav{background:#0e1317;border-bottom:2px solid #c23b2e}
.realm-hrodvald .realm-nav a{color:#c9d5db}
.realm-hrodvald .realm-nav a:hover{background:#c23b2e;color:#fff}
.realm-hrodvald .realm-main h2{font-weight:700;font-size:2.2rem;color:#f0f4f6}
.realm-hrodvald .realm-main h2::after{content:"";display:block;height:10px;margin-top:.3em;background:linear-gradient(135deg,transparent 33%,#c23b2e 33%,#c23b2e 66%,transparent 66%) 0 0/20px 10px repeat-x}
.realm-hrodvald table{background:#232b31}
.realm-hrodvald th,.realm-hrodvald td{border-color:#3b4a55}

/* ===== FREE PEOPLES: moss, bark and trail ===== */
.realm-free{--bg:#eef0e4;--paper:#fafbf4;--ink:#1f2a1d;--muted:#56634f;--rule:#b8c2a4;--accent:#5a7a2c;--accent2:#8a5a2b;--link:#3f5e1e;
  --head:'Alegreya SC',serif;--body:'Alegreya',Georgia,serif}
.realm-free .realm-hero{background:linear-gradient(120deg,#23361f,#3f5a2c 60%,#6b4a26);color:#f0f2e2}
.realm-free .realm-hero h1{color:#e9f0c8}
.realm-free .realm-nav{background:#23361f}
.realm-free .realm-nav a{color:#e9f0c8}
.realm-free .realm-nav a:hover{background:#8a5a2b}
.realm-free .realm-main h2{color:#23361f;border-bottom:2px dashed #8a5a2b;padding-bottom:.2em}
.tribe{border-left:5px solid var(--accent)}

/* ===== framed plates, one frame per culture ===== */
/* Aldmere: oak frame, parchment mat, hearth-warm shadow */
.realm-aldmere .art .mat{--mat:12px;--mat-bg:#f6ecd4;border:14px solid transparent;border-image:repeating-linear-gradient(95deg,#5a3d22 0 3px,#6d4a2a 3px 7px,#4b3119 7px 9px) 14;box-shadow:0 22px 40px -16px rgba(40,20,5,.7),0 6px 14px rgba(40,20,5,.25),inset 0 0 0 2px #b58a2c}
/* Tharax: black iron, riveted corners, no ornament, hard shadow */
.realm-tharax .art .mat{--mat:6px;--mat-bg:#0a0908;border:9px solid #2a2622;box-shadow:0 0 0 1px #c0853e,0 24px 30px -18px #000,0 2px 0 #000;border-radius:0}
.realm-tharax .art .mat::before,.realm-tharax .art .mat::after{content:"";position:absolute;width:8px;height:8px;background:radial-gradient(circle at 35% 35%,#e3b56b,#7a5324 70%);border-radius:50%;box-shadow:0 1px 1px #000}
.realm-tharax .art .mat::before{left:-6px;top:-6px}.realm-tharax .art .mat::after{right:-6px;bottom:-6px}
.realm-tharax .art figcaption b{color:#c0853e}
/* Caelvenne: extravagant gold, carved corners, ivory mat, deep velvet shadow */
.realm-caelvenne .art .mat{--mat:16px;--mat-bg:#fbf8ee;border:18px solid transparent;border-image:linear-gradient(135deg,#f3dc8a 0%,#b8862b 18%,#f7e6a6 32%,#8a5f14 50%,#f3dc8a 66%,#c9982f 84%,#fff1b8 100%) 18;box-shadow:0 30px 50px -18px rgba(20,37,79,.7),0 10px 20px rgba(20,37,79,.2),inset 0 0 0 2px #14254f,inset 0 0 0 4px #c9a13e}
.realm-caelvenne .art .mat::before,.realm-caelvenne .art .mat::after{content:"❦";position:absolute;font-size:26px;color:#8a5f14;text-shadow:0 1px 0 #fff1b8;line-height:1}
.realm-caelvenne .art .mat::before{left:-15px;top:-17px}.realm-caelvenne .art .mat::after{right:-15px;bottom:-17px;transform:rotate(180deg)}
.realm-caelvenne .art figcaption b{color:#1f3a8a}
/* Castavar: black lacquer, crimson fillet, gothic cast shadow */
.realm-castavar .art .mat{--mat:10px;--mat-bg:#efe6d6;border:12px solid #1d1d1d;box-shadow:inset 0 0 0 3px #8e1b1b,inset 0 0 0 4px #e9dcc8,0 26px 36px -16px rgba(0,0,0,.85),0 0 0 1px #8e1b1b}
.realm-castavar .art figcaption b{color:#8e1b1b}
/* Zarvand: turquoise tilework border, saffron fillet, arched top */
.realm-zarvand .art .mat{--mat:12px;--mat-bg:#fff6dd;border:14px solid transparent;border-image:repeating-linear-gradient(45deg,#0f6f7a 0 8px,#13233f 8px 10px,#2aa2ad 10px 18px,#e0a030 18px 20px) 14;border-radius:120px 120px 6px 6px;overflow:hidden;box-shadow:0 24px 44px -18px rgba(19,35,63,.7),inset 0 0 0 3px #e0a030}
.realm-zarvand .art.wide .mat{border-radius:8px}
.realm-zarvand .art figcaption b{color:#0f6f7a}
/* Kaishon: thin vermilion lacquer, rice-paper mat, red seal */
.realm-kaishon .art .mat{--mat:14px;--mat-bg:#fbf7ec;border:6px solid #b3261e;box-shadow:inset 0 0 0 1px #161616,0 18px 30px -16px rgba(0,0,0,.6),0 2px 4px rgba(0,0,0,.2)}
.realm-kaishon .art .mat::after{content:"印";position:absolute;right:16px;bottom:16px;width:26px;height:26px;background:#c8342a;color:#fbf7ec;font-size:16px;line-height:26px;text-align:center;font-weight:700;border:1px solid #7a1a12;opacity:.9}
.realm-kaishon .art figcaption b{color:#b3261e}
/* Hrodvald: rough carved pine, knotwork cuts, iron nails, rune-red accent */
.realm-hrodvald .art .mat{--mat:8px;--mat-bg:#1b2126;border:16px solid transparent;border-image:repeating-linear-gradient(0deg,#2f2418 0 6px,#3d2f1e 6px 12px,#241a10 12px 14px) 16;box-shadow:inset 0 0 0 2px #c23b2e,0 26px 40px -16px #000,0 0 0 1px #0e1317}
.realm-hrodvald .art .mat::before,.realm-hrodvald .art .mat::after{content:"ᛉ ᚦ ᛦ";position:absolute;left:0;right:0;text-align:center;letter-spacing:.6em;color:#c23b2e;font-size:12px;line-height:1}
.realm-hrodvald .art .mat::before{top:-14px}.realm-hrodvald .art .mat::after{bottom:-14px}
.realm-hrodvald .art figcaption b{color:#e0665a}
/* Free peoples: bark and rope; each tribe tints its own */
.realm-free .art .mat{--mat:10px;--mat-bg:#f1efe2;border:12px solid transparent;border-image:repeating-linear-gradient(120deg,#6b4a26 0 5px,#4e3418 5px 8px,#7d5a34 8px 14px) 12;box-shadow:inset 0 0 0 2px #b8c2a4,0 20px 34px -16px rgba(30,40,20,.7)}
.realm-free .tribe-cherush{border-color:#13233f;background:linear-gradient(180deg,rgba(19,35,63,.08),transparent)}.realm-free .tribe-cherush .art .mat{box-shadow:inset 0 0 0 2px #c23b2e,0 20px 34px -16px rgba(19,35,63,.8)}
.realm-free .tribe-waheli{background:linear-gradient(180deg,rgba(47,74,42,.12),transparent)}.realm-free .tribe-waheli .art .mat{--mat-bg:#e6efdc}
.realm-free .tribe-dunmorrow{background:linear-gradient(180deg,rgba(0,0,0,.14),transparent)}.realm-free .tribe-dunmorrow .art .mat{border-image:repeating-linear-gradient(0deg,#3a3a3a 0 4px,#5a5a5a 4px 8px) 12;--mat-bg:#e8e6e0}
.realm-free .tribe-tzalan .art .mat{--mat-bg:#f4ecd2;box-shadow:inset 0 0 0 2px #2f7a3a,0 20px 34px -16px rgba(20,60,20,.8)}
.realm-free .tribe-uusung .art .mat{--mat-bg:#eef4f7;border-image:repeating-linear-gradient(0deg,#d8dfe4 0 5px,#b8c4cc 5px 8px,#eef2f5 8px 14px) 12;box-shadow:inset 0 0 0 2px #6a8a9a,0 20px 34px -16px rgba(40,60,80,.7)}
.realm-free .tribe-qaflan .art .mat{--mat-bg:#f7ead0;border-image:repeating-linear-gradient(90deg,#8a2a1c 0 6px,#d8962b 6px 12px,#5a3a1c 12px 14px) 12}
.realm-free .tribe-drift .art .mat{--mat-bg:#e9eef0;border-image:repeating-linear-gradient(0deg,#4a6a80 0 5px,#6f8fa0 5px 9px,#3a5060 9px 12px) 12}
.realm-free .tribe-hizkari .art .mat{--mat-bg:#e6dfd8;border-image:repeating-linear-gradient(45deg,#1c1c1c 0 6px,#3a2a22 6px 10px,#d8742a 10px 12px) 12;box-shadow:inset 0 0 0 2px #d8742a,0 20px 34px -16px #000}
.realm-free .tribe-salt-brotherhood .art .mat{--mat-bg:#f0f0ea;border-image:repeating-linear-gradient(0deg,#1d1d1d 0 5px,#3a3a3a 5px 8px,#b8b8b0 8px 10px) 12;box-shadow:inset 0 0 0 2px #6a8a9a,0 20px 34px -16px rgba(0,0,0,.8)}
.realm-free .tribe-ember-pilgrims .art .mat{--mat-bg:#fbf2dc;border-image:repeating-linear-gradient(0deg,#b8863a 0 4px,#e0a030 4px 8px,#7a4a26 8px 10px) 12;box-shadow:inset 0 0 0 2px #e0a030,0 20px 34px -16px rgba(80,40,0,.6)}
