@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#101919;--panel:#162222;--muted:#a9b7b2;--ink:#f0eee4;--gold:#d7b66e;--line:#33413a;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{background:#101919f5;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-wrap{max-width:1380px;margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;padding:12px 40px;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:19px;font-weight:700;letter-spacing:1.5px;line-height:1.1}.brand small{display:block;font-size:13px;letter-spacing:5px;margin-top:5px}.crest{border:1px solid #6d6446;width:42px;height:48px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);background:#253028}.crest img{width:28px;image-rendering:pixelated}nav{display:flex;gap:34px}nav a{font-size:13px;color:#b7c2bb;padding:18px 0;position:relative}nav a.active{color:var(--gold)}nav a.active:after{content:'';height:2px;position:absolute;bottom:5px;left:0;right:0;background:var(--gold)}.nav-guide{font-size:12px;border:1px solid #726444;padding:10px 16px;color:var(--gold)}.nav-guide span{margin-left:18px}.wrap{max-width:1240px;margin:auto;padding:0 40px}.hero{min-height:630px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:#263b42}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101919 0%,#101919ee 20%,#10191992 46%,#10191910 80%),linear-gradient(0deg,#101919 0%,transparent 30%)}.hero .wrap{position:relative;z-index:2;width:100%;padding-top:64px;padding-bottom:78px}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:600}.eyebrow:before{content:'◆';font-size:8px;margin-right:10px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.05}h1{font-size:76px;max-width:650px;margin:23px 0}h1 em{color:var(--gold);font-weight:500}p.lead{max-width:520px;color:#c1cbc5;line-height:1.85;font-size:15px}.actions{display:flex;gap:13px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;background:var(--gold);color:#18211c;font-size:12px;font-weight:600;border:1px solid var(--gold)}.button.secondary{background:#16211bb0;color:var(--ink);border-color:#66715a}.button:hover{filter:brightness(1.12)}.hero-note{position:absolute;bottom:22px;right:40px;z-index:2;font-size:10px;color:#b3c0b5;letter-spacing:1px}.statbar{border-bottom:1px solid var(--line);background:#14201e}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:24px 28px;text-align:center;border-right:1px solid var(--line)}.stat:first-child{border-left:1px solid var(--line)}.stat strong{font-family:var(--serif);font-size:32px;color:var(--gold);font-weight:500;line-height:1}.stat span{font-size:10px;color:var(--muted);letter-spacing:1.6px;text-transform:uppercase;display:block;margin-top:6px}.section{padding:75px 0}.section.alt{background:#131f1e;border-block:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px;gap:24px}h2{font-size:44px;margin-top:12px}.section-head p{color:var(--muted);max-width:410px;font-size:13px}.text-link{color:var(--gold);font-size:12px;white-space:nowrap}.intro-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}.intro-block{padding:26px 0;border-top:1px solid #68613f}.intro-block small{color:var(--gold);font-size:11px;letter-spacing:2px}.intro-block h3{font-size:29px;margin:14px 0}.intro-block p{font-size:13px;color:var(--muted);margin-bottom:20px}.races-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.race-card{background:var(--panel);border:1px solid var(--line);text-align:left;color:var(--ink);padding:0;transition:border-color .2s,transform .2s;display:flex;flex-direction:column}.race-card:hover{border-color:var(--gold);transform:translateY(-3px)}.race-picture{min-height:165px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,var(--a,#344838) -60%,#15211f 78%)}.race-picture:before{content:'';position:absolute;width:100px;height:100px;transform:rotate(45deg);border:1px solid #ffffff12}.pixel{image-rendering:pixelated;object-fit:contain;filter:drop-shadow(0 8px 9px #0006)}.race-picture img{width:66px;height:66px;z-index:1}.race-body{padding:20px}.race-body .caption{color:var(--gold);font-size:9px;letter-spacing:1.5px;text-transform:uppercase}.race-body h3{font-size:29px;margin:7px 0}.race-body p{color:var(--muted);font-size:12px;line-height:1.7}.card-bottom{margin-top:auto;padding:0 20px 18px;display:flex;justify-content:space-between;align-items:center;color:var(--gold);font-size:11px}.badge{font-size:9px;letter-spacing:.7px;border:1px solid #586449;color:#cfdbbf;padding:2px 7px;text-transform:uppercase}.badge.closed{border-color:#66504d;color:#d3aaa0}.lore-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.lore-art{background:linear-gradient(#13231d99,#13231d00),url('assets/castle-clean.png') center/cover;min-height:350px;border:1px solid #4c5845;position:relative;display:flex;align-items:end;padding:25px}.lore-art:after{content:'THE CONCORD OF FIVE';color:#e4d1a0;font-family:var(--serif);font-size:26px;letter-spacing:3px;text-shadow:0 2px 5px #000}.lore-copy h2{margin:15px 0 20px}.lore-copy p{color:var(--muted);font-size:14px}.lore-copy blockquote{margin:24px 0;border-left:2px solid var(--gold);padding-left:18px;font-family:var(--serif);font-size:23px;color:#ddd2b4;line-height:1.3}footer{border-top:1px solid var(--line);max-width:1240px;margin:auto;padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:15px}footer .brand{font-size:15px}footer p{font-family:var(--serif);font-size:19px;color:var(--muted);text-align:right}footer div{display:flex;gap:24px;font-size:12px;color:var(--gold)}footer small{font-size:10px;color:#8c9b92;text-align:right}.page-head{padding:64px 0 35px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#24372e,#121e1e)}.page-head h1{font-size:60px;margin:16px 0}.page-head .lead{max-width:680px}.toolbar{display:flex;gap:16px;justify-content:space-between;margin:28px 0;flex-wrap:wrap}.search{color:var(--ink);background:#162220;border:1px solid #445246;padding:11px 15px;min-width:240px;width:320px;max-width:100%}input::placeholder{color:#a6b0a8}.filter-group{display:flex;gap:6px;flex-wrap:wrap}.filter-group button{padding:9px 14px;background:transparent;color:#bbc5bb;border:1px solid #35483b;font-size:11px}.filter-group button[aria-pressed=true]{color:#19231c;background:var(--gold);border-color:var(--gold)}.result-count{font-size:12px;color:var(--muted);margin-bottom:16px}.empty{padding:50px;border:1px solid var(--line);text-align:center;color:var(--muted);grid-column:1/-1}.class-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-card{padding:22px;background:var(--panel);border:1px solid var(--line);color:var(--ink);text-align:left;display:flex;gap:17px;align-items:start;transition:border-color .2s}.class-card:hover{border-color:var(--gold)}.class-image{width:62px;height:70px;flex-shrink:0;background:radial-gradient(#40513b60,transparent);display:grid;place-items:center}.class-image img{max-width:48px;max-height:56px}.class-card h3{font-size:27px;margin:6px 0 10px}.class-card p{font-size:12px;line-height:1.65;color:var(--muted)}.class-card .text-link{display:block;margin-top:15px}.notice{border-left:2px solid var(--gold);padding:12px 18px;margin:25px 0;background:#1b2922;color:#b9c5b9;font-size:12px}.compare-intro{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}.compare-intro div{padding:23px;border:1px solid var(--line);background:var(--panel)}.compare-intro h3{font-size:25px;margin-bottom:10px}.compare-intro p{font-size:13px;color:var(--muted)}dialog{background:#152220;color:var(--ink);border:1px solid #6b6b49;width:min(750px,calc(100% - 30px));max-height:90vh;padding:40px;overscroll-behavior:contain}dialog::backdrop{background:#050c0de0;backdrop-filter:blur(5px)}.close{position:absolute;right:14px;top:8px;border:0;background:transparent;color:var(--gold);font-size:32px;padding:3px 12px}.detail-title{display:flex;gap:24px;align-items:center;margin:15px 0 25px}.detail-title img{width:76px;max-height:90px}.detail-title h2{font-size:46px;margin-top:5px}.detail-summary{font-size:15px;color:#c7d0c6;margin-bottom:24px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px}.detail-columns section{background:#1c2b25;padding:20px}.detail-columns h3{font-size:25px;margin-bottom:12px}.detail-columns ul{padding-left:18px;font-size:13px;color:#bdc9bf}.detail-columns li{margin:10px 0}.detail-lore{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:#bac6ba;font-size:14px}.detail-lore h3{font-size:26px;color:var(--ink);margin-bottom:12px}.power-list{display:grid;gap:10px}.power{border:1px solid var(--line);padding:14px 17px}.power strong{display:block;color:var(--gold);font-size:12px;margin-bottom:4px}.power p{font-size:13px;color:#bcc9bf}.lore-layout{display:grid;grid-template-columns:235px 1fr;gap:55px;align-items:start}.lore-index{position:sticky;top:120px;border-left:1px solid var(--line);padding-left:20px}.lore-index a{display:block;padding:9px 0;font-size:12px;color:var(--muted)}.lore-index a:hover{color:var(--gold)}.lore-article{max-width:740px}.chapter{padding-bottom:45px;margin-bottom:35px;border-bottom:1px solid var(--line);scroll-margin-top:125px}.chapter h2{font-size:39px;margin:12px 0 22px}.chapter p{color:#bbc8be;line-height:1.95;margin-bottom:17px}.chapter blockquote{font-family:var(--serif);font-size:27px;border-left:2px solid var(--gold);padding-left:22px;margin:28px 0;color:#e4d6b6;line-height:1.35}.kingdom-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.kingdom-list div{border:1px solid var(--line);padding:13px 17px}.kingdom-list strong{font-family:var(--serif);font-size:24px;display:block}.kingdom-list span{font-size:12px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-family:var(--serif);font-size:26px}details p{color:var(--muted);font-size:14px;padding:15px 0;max-width:800px}.steps{counter-reset:step;max-width:850px}.step{display:grid;grid-template-columns:65px 1fr;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}.step:before{counter-increment:step;content:'0' counter(step);font-family:var(--serif);font-size:38px;color:var(--gold)}.step h3{font-size:31px;margin-bottom:12px}.step p{color:var(--muted);font-size:14px}.step a{color:var(--gold);display:inline-block;margin-top:12px;font-size:13px}.skip{position:absolute;top:-100px;z-index:50;background:var(--gold);color:#000;padding:12px}.skip:focus{top:0}.fine{font-size:11px!important;color:#9aab9e!important}.hidden{display:none!important}@media(min-width:1500px){.hero{min-height:700px}}@media(max-width:1050px){.nav-wrap{padding-inline:24px;gap:20px}nav{gap:22px}.nav-guide{display:none}.races-grid{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:65px}.class-grid{grid-template-columns:1fr 1fr}.lore-feature{gap:35px}.lore-layout{gap:28px;grid-template-columns:190px 1fr}}@media(max-width:700px){body{font-size:14px}.nav-wrap{min-height:105px;flex-wrap:wrap;gap:8px;padding:14px 20px}.brand{font-size:16px}.crest{width:34px;height:39px}nav{width:100%;justify-content:space-between;gap:12px}nav a{padding:9px 0;font-size:12px}nav a.active:after{bottom:1px}.wrap{padding:0 22px}.hero{min-height:590px}.hero .wrap{padding-top:65px;padding-bottom:90px}.hero-art{object-position:60% center;opacity:.5}.hero:after{background:linear-gradient(90deg,#101919df,#10191945),linear-gradient(0deg,#101919,transparent 60%)}.hero h1{font-size:56px;margin:22px 0}.hero-note{right:22px;font-size:8px}.stats{grid-template-columns:1fr 1fr}.stat{padding:18px;border-bottom:1px solid var(--line)}.stat strong{font-size:28px}.stat span{font-size:8px}.section{padding:48px 0}.section-head{display:block}.section-head p{margin-top:15px}h2{font-size:36px}.section-head .text-link{display:inline-block;margin-top:15px}.intro-grid{grid-template-columns:1fr;gap:0}.intro-block{padding:23px 0}.intro-block h3{margin:10px 0}.races-grid{grid-template-columns:1fr 1fr;gap:12px}.race-picture{min-height:120px}.race-picture img{width:52px;height:52px}.race-body{padding:14px}.race-body h3{font-size:25px}.race-body .caption{font-size:8px}.race-body p{font-size:11px}.card-bottom{padding:0 14px 14px;font-size:10px}.lore-feature{grid-template-columns:1fr;gap:28px}.lore-art{min-height:245px}.page-head{padding:38px 0 28px}.page-head h1{font-size:47px}.class-grid{grid-template-columns:1fr}.class-card{padding:20px}.toolbar{gap:13px}.search{width:100%}.filter-group button{padding:8px 11px}.compare-intro{grid-template-columns:1fr}.lore-layout{grid-template-columns:1fr}.lore-index{position:static;display:flex;flex-wrap:wrap;gap:0 18px;padding-bottom:18px;border-bottom:1px solid var(--line);border-left:0;padding-left:0}.lore-index a{font-size:11px}.chapter h2{font-size:34px}.chapter{scroll-margin-top:150px}.kingdom-list{grid-template-columns:1fr}dialog{padding:30px 20px}.detail-title{gap:18px}.detail-title h2{font-size:36px}.detail-title img{width:52px}.detail-columns{grid-template-columns:1fr;gap:12px}footer{padding:30px 22px;grid-template-columns:1fr;gap:18px}footer p,footer small{text-align:left}.step{grid-template-columns:42px 1fr;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Frame the supplied castle screenshot and shade the copy. */
.hero-art{object-position:65% 44%}.hero:after{background:linear-gradient(90deg,#101919f7 0%,#101919e6 23%,#1019198c 49%,#10191914 86%),linear-gradient(0deg,#101919 0%,transparent 35%)}.lore-art{background-position:60% 48%}@media(max-width:700px){.hero-art{object-position:60% center;opacity:.75}.hero:after{background:linear-gradient(90deg,#101919e8,#10191955),linear-gradient(0deg,#101919,transparent 65%)}}
