:root{--sys-blue:#4f9cff;--sys-gold:#e7bd62;--sys-ink:#090f15;--sys-panel:#111922;--sys-line:#6c5425}
.systems-page main,.professions-page main{max-width:1500px}
.systems-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 28px}
.systems-hub a{min-height:92px;display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:3px 12px;align-content:center;padding:16px 18px;border:1px solid #745a26;background:linear-gradient(135deg,#241b0f,#10161a);text-decoration:none;color:#f3d99b}
.systems-hub a>span{grid-row:1/3;font-size:30px;align-self:center;color:#f1bd4c}.systems-hub strong{font:700 19px var(--display)}.systems-hub small{color:#bcb5a4;font-size:12px}
.systems-panel{margin:0 0 34px;border:1px solid #745a26;background:#0d1414;padding:26px}
.systems-section-heading{max-width:900px}.systems-section-heading h2,.systems-hero h1{font:700 clamp(30px,4vw,48px)/1.1 var(--display);color:#f3d79f;margin:.15em 0}.systems-section-heading>p:last-child,.systems-hero>p:last-of-type{font-size:16px;color:#d4cfbf;line-height:1.65}
.system-stats{display:flex;flex-wrap:wrap;gap:28px;margin:22px 0}.system-stats span{display:flex;flex-direction:column;color:#aca89d;font-size:12px}.system-stats strong{font:700 28px var(--display);color:#f4d585}
.profession-jump,.spell-class-bar,.racial-jump{display:flex;gap:8px;overflow-x:auto;padding:10px 0 18px;scrollbar-color:#76591d #101519}
.profession-jump a{min-width:110px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 8px;color:#d5d1c6;text-decoration:none;border:1px solid #3b4241;background:#11191b;text-align:center;font-size:12px}.profession-jump a:hover,.profession-jump a:focus-visible{border-color:#e7bd62;color:white}
.profession-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profession-card{border:1px solid #4a4d42;background:#101713}.profession-card summary{cursor:pointer;display:flex;align-items:center;gap:13px;padding:15px;list-style:none}.profession-card summary::-webkit-details-marker{display:none}.profession-card summary span{display:flex;flex-direction:column;flex:1}.profession-card summary strong{font:700 18px var(--display);color:#f0d18b}.profession-card summary small{color:#9ea69c}.profession-card summary>b{color:#e9ba4e;font-size:25px}.profession-card[open] summary>b{transform:rotate(45deg)}.profession-card-body{padding:0 18px 20px;border-top:1px solid #3c3c31}.profession-summary{line-height:1.65;color:#d8d2c1}.profession-card-body h3{font:700 15px var(--display);color:#f2c85f;margin:20px 0 10px}.camp-grid{display:grid;gap:8px}.camp-object{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:11px;background:#0a100f;border-left:2px solid #8d6d2c}.camp-object h4{margin:1px 0 5px;color:#fff0bd}.camp-object p{margin:0;line-height:1.5}.camp-object small{display:block;margin-top:7px;color:#9d9b92}.skill-badge{font-size:10px;color:#e7bd62!important;text-transform:uppercase}.profession-milestones{list-style:none;padding:0;display:flex;gap:7px;flex-wrap:wrap}.profession-milestones li{flex:1;min-width:135px;padding:10px;border:1px solid #3c493f;display:flex;flex-direction:column}.profession-milestones strong{font-size:19px;color:#f0c95c}.profession-milestones b{color:#6bd17b;font-size:11px;margin-top:5px}.profession-cert{padding:12px;border:1px solid #735c2a;background:#261f11}
.systems-hero{padding:34px;margin-top:18px;border:1px solid #765c2a;background:linear-gradient(90deg,#131c20dd,#1d130ddd),url('/assets/art/sanctuaire.webp') center/cover}.spell-class-bar{border-bottom:1px solid #6e5625;padding:14px 2px}.spell-class-bar button{min-width:105px;background:transparent;border:0;border-bottom:3px solid transparent;color:#b9b8b1;padding:8px;display:flex;align-items:center;flex-direction:column;gap:7px;cursor:pointer}.spell-class-bar button[aria-pressed=true]{color:#fff1bf;border-color:#4f9cff;background:#1a2635}.spell-class-bar img,.racial-ability img,.racial-race-card header img,.profession-card img,.camp-object img{border:1px solid #d8ac45;background:#06090b}
.spellbook-workspace{display:grid;grid-template-columns:220px minmax(320px,1fr) minmax(330px,.9fr);gap:18px;margin:24px 0 45px}.spell-filters,.spell-list-panel,.spell-detail{border:1px solid #44505d;background:#0d141c}.spell-filters{padding:18px;align-self:start;position:sticky;top:160px}.spell-filters input[type=search]{width:100%;margin-top:7px;background:#070c12;border:1px solid #4b5966;color:white;padding:10px}.spell-filters fieldset{border:0;padding:15px 0}.spell-filters label{display:block;margin:9px 0}.spell-tabs{display:grid;gap:4px}.spell-tabs button{padding:10px;text-align:left;color:#d7d6ce;background:#101a24;border:1px solid #344250;cursor:pointer}.spell-tabs button[aria-selected=true]{border-color:#4f9cff;background:#1a2b40;color:white}.spell-list-panel header{display:flex;justify-content:space-between;align-items:center;padding:17px;border-bottom:1px solid #48525b}.spell-list-panel h2{margin:0;color:#f1d38d}.spell-list{max-height:760px;overflow:auto}.spell-row{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:11px 14px;border:0;border-bottom:1px solid #2c3842;background:transparent;color:#d8d7d0;text-align:left;cursor:pointer}.spell-row[aria-selected=true],.spell-row:hover{background:#1c2d43;border-left:3px solid #4f9cff}.spell-row strong{display:block;color:#fff0a6}.spell-row small{color:#9fa6aa}.spell-status{font-size:10px;padding:4px 6px;border:1px solid #536170;color:#b8c2cb}.spell-status.new{color:#62e277;border-color:#2e7a3c}.spell-status.changed{color:#86bcff;border-color:#4f7cae}.spell-detail{padding:20px;align-self:start;position:sticky;top:160px;max-height:78vh;overflow:auto}.spell-detail-heading{display:grid;grid-template-columns:58px 1fr;gap:13px}.spell-detail h2{color:#ffd323;margin:0}.spell-rank-select{display:flex;gap:5px;flex-wrap:wrap;margin:18px 0}.spell-rank-select button{padding:7px 10px;background:#121e2b;color:#ddd;border:1px solid #495967}.spell-rank-select button[aria-pressed=true]{border-color:#4f9cff;color:white}.spell-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spell-tooltip{border:1px solid #55616c;background:#03070b;padding:13px;color:white;line-height:1.55}.spell-tooltip.forever{border-color:#4f9cff}.spell-tooltip h3{font-size:13px;margin:-13px -13px 12px;padding:9px;background:#162436}.spell-tooltip p{white-space:pre-line}.spell-differences{color:#ffe11f}
.racial-guide{margin-top:24px}.racial-jump a{flex:0 0 auto;padding:10px 13px;border:1px solid #43505c;color:#d9d8cf;text-decoration:none;background:#101821}.racial-jump a:hover{border-color:#e5bb5b}.racial-race-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.racial-race-card{border:1px solid #41505e;background:#0b1117}.racial-race-card>header{display:flex;gap:12px;align-items:center;padding:14px;background:#151e27}.racial-race-card header p,.racial-race-card header h3{margin:0}.racial-race-card header p{color:#e8bc57;font-size:11px;text-transform:uppercase}.racial-race-card header h3{font:700 20px var(--display);color:#f5e1ad}.racial-race-card header small{color:#9fa7aa}.racial-ability{border-top:1px solid #303c47}.racial-ability>button{width:100%;display:flex;gap:12px;align-items:center;padding:12px;border:0;background:transparent;color:white;text-align:left;cursor:pointer}.racial-ability>button span{display:flex;flex-direction:column}.racial-ability>button strong{color:#ffe01b}.racial-ability>button small{color:#81b9f7}.racial-ability>div{display:none;padding:0 15px 16px 70px;line-height:1.55}.racial-ability.is-open>div{display:block}.wow-tooltip-meta{color:#d9d9d9;font-size:12px}.racial-ability details{margin-top:10px;border-left:2px solid #5c7696;padding-left:10px}.racial-ability summary{color:#8ec3ff;cursor:pointer}
@media(max-width:1100px){.spellbook-workspace{grid-template-columns:190px 1fr}.spell-detail{grid-column:1/-1;position:static;max-height:none}.profession-card-list{grid-template-columns:1fr}.racial-race-list{grid-template-columns:1fr}}
@media(max-width:720px){.systems-hub{grid-template-columns:1fr}.systems-panel{padding:17px}.spellbook-workspace{grid-template-columns:1fr}.spell-filters{position:static}.spell-list{max-height:520px}.spell-detail{padding:15px}.spell-compare{grid-template-columns:1fr}.racial-ability>div{padding-left:15px}.system-stats{gap:18px}.profession-jump a{min-width:94px}.profession-card summary{padding:12px}}
@media(prefers-reduced-motion:reduce){.profession-card summary>b{transition:none}}
