:root{--ink:#f4ead3;--ink-soft:#c5b89d;--muted:#958a78;--gold:#d8ad58;--gold-bright:#f2ca70;--wine:#7d2e32;--wine-dark:#35171d;--night:#120f11;--panel:#1b1718;--panel-raised:#241d1d;--line:rgba(216,173,88,.24);--line-soft:hsla(42,60%,89%,.11);--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Verdana,sans-serif;--display:Georgia,"Times New Roman",serif;--content-width:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% -10%,rgba(125,46,50,.28),transparent 35rem),radial-gradient(circle at 5% 60%,rgba(216,173,88,.06),transparent 28rem),var(--night);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.65}a{color:var(--gold-bright);text-decoration:none}a:focus-visible,a:hover{color:#ffe4a4;text-decoration:none}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:rgba(18,15,17,.9);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header__inner{width:min(var(--content-width),calc(100% - 32px));min-height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header__brand{display:flex;align-items:center;gap:12px}.site-header__brand a{color:var(--gold-bright);font:700 22px/1 var(--display);letter-spacing:.03em}.site-header__brand span{color:var(--muted);letter-spacing:.08em}.site-header__brand span,.site-header__tools{font:12px var(--sans);text-transform:uppercase}.site-header__tools{display:flex;align-items:center;gap:10px;letter-spacing:.12em}.site-header__tools a{padding:9px 12px;border:1px solid transparent;border-radius:4px;color:var(--ink-soft)}.site-header__tools a:hover{border-color:var(--line);background:rgba(216,173,88,.08);color:var(--gold-bright)}.layout{width:min(var(--content-width),calc(100% - 32px));margin:auto;display:grid;grid-template-columns:218px minmax(0,1fr);grid-gap:38px;gap:38px;padding:28px 0 72px}.sidebar{position:-webkit-sticky;position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;font:13px/1.45 var(--sans)}.sidebar__group+.sidebar__group{margin-top:26px;padding-top:20px;border-top:1px solid var(--line-soft)}.sidebar__title{margin:0 0 12px;color:var(--gold);font:700 11px var(--sans);letter-spacing:.16em;text-transform:uppercase}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li{margin:2px 0}.sidebar li>a{display:block;padding:7px 10px;border-left:2px solid transparent;border-radius:3px;color:var(--ink-soft)}.sidebar li>a.current,.sidebar li>a:hover{border-left-color:var(--gold);background:rgba(216,173,88,.09);color:var(--gold-bright)}.sidebar__children{margin:2px 0 8px 10px!important;padding-left:8px!important;border-left:1px solid var(--line-soft)}.content{min-width:0}.breadcrumbs{margin:0 0 14px;color:var(--muted);font:12px var(--sans);letter-spacing:.04em}.breadcrumbs .sep{margin:0 8px;color:var(--gold)}.page-title{margin:0;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--ink);font:700 clamp(30px,4vw,48px)/1.08 var(--display);letter-spacing:.01em}.page-subtitle{max-width:850px;margin:14px 0 18px;color:var(--ink-soft);font-size:17px;font-style:italic}.page-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 24px;color:var(--muted);font:11px var(--sans);letter-spacing:.08em;text-transform:uppercase}.badge-gm,.badge-source{padding:4px 9px;border:1px solid var(--line);border-radius:3px;background:rgba(216,173,88,.08);color:var(--gold-bright)}.badge-gm{border-color:rgba(190,83,67,.5);background:rgba(125,46,50,.22);color:#f0a18d}.hero-panel{position:relative;min-height:310px;margin:-28px 0 34px;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.hero-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,15,17,.97),rgba(18,15,17,.78) 43%,rgba(18,15,17,.2)),url(/hero-dragon.png) 50%/cover}.hero-panel__content{position:relative;z-index:1;max-width:610px;padding:56px 48px}.hero-panel__eyebrow,.section-eyebrow{margin:0 0 12px;color:var(--gold);font:700 11px var(--sans);letter-spacing:.22em;text-transform:uppercase}.hero-panel h1{margin:0;font:700 clamp(38px,6vw,68px)/1.02 var(--display)}.hero-panel p{margin:18px 0 0;color:var(--ink-soft);font-size:18px}.hero-panel__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.button,.catalog-button,.filter-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border:1px solid var(--line);border-radius:4px;background:rgba(216,173,88,.1);color:var(--gold-bright);font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s ease}.button:hover,.catalog-button:hover,.filter-button:hover{border-color:var(--gold-bright);background:rgba(216,173,88,.2);color:#fff0c2;transform:translateY(-1px)}.button--solid{background:var(--wine);border-color:#a95150;color:#fff1df}.home-group{margin:34px 0}.index-heading,.section-heading{margin:0 0 16px;color:var(--ink);font:700 24px/1.2 var(--display)}.section-heading{padding-bottom:10px;border-bottom:1px solid var(--line)}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:12px;gap:12px}.home-grid>div{display:grid;grid-gap:4px;gap:4px}.home-grid>a,.home-grid>div>a:first-child{padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:var(--panel);color:var(--ink);font:700 15px var(--sans)}.home-grid>a:hover,.home-grid>div>a:first-child:hover{border-color:var(--gold);background:var(--panel-raised);color:var(--gold-bright)}.home-grid>div>div{display:grid;grid-gap:2px;gap:2px;padding-left:12px}.home-grid>div>div a{color:var(--muted);font:12px var(--sans)}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:16px;gap:16px}.catalog-button{width:100%;min-height:58px;justify-content:flex-start;padding:15px 17px;text-align:left}.catalog-button__title{display:block;color:var(--ink);font:700 16px/1.2 var(--display);text-transform:none;letter-spacing:.01em}.catalog-button__meta{display:block;margin-top:5px;color:var(--muted);font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.class-card{display:flex;min-height:100%;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.class-card__image-slot{position:relative;height:160px;overflow:hidden;border-bottom:1px solid var(--line);background:#0d0a0b}.class-card__body{display:flex;flex:1 1;flex-direction:column;padding:17px}.class-card__body h2{margin:0;color:var(--gold-bright);font:700 25px/1.1 var(--display)}.class-card__body p{margin:10px 0 15px;color:var(--ink-soft);font-size:14px}.class-card__body .catalog-button{margin-top:auto}.subclass-grid .catalog-button{min-height:72px}.spell-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;grid-gap:12px;gap:12px;align-items:end;margin:22px 0 18px;padding:16px;border:1px solid var(--line);border-radius:5px;background:rgba(36,29,29,.75)}.spell-filters label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font:10px var(--sans);letter-spacing:.13em;text-transform:uppercase}.search-box input,.spell-filters input,.spell-filters select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:3px;background:#151214;color:var(--ink);font:14px var(--sans)}.spell-level-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:18px}.spell-level-tabs a,.spell-level-tabs button{padding:7px 12px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink-soft);font:italic 13px var(--serif);cursor:pointer;transition:all .15s ease}.spell-level-tabs a.active,.spell-level-tabs a:hover,.spell-level-tabs button.active,.spell-level-tabs button:hover{background:var(--wine);border-color:#a95150;color:#fff1df}.spell-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px}.spell-table{width:100%;min-width:850px;border-collapse:collapse;font:13px/1.45 var(--sans)}.spell-table caption{padding:14px 16px;text-align:left;color:var(--ink);font:700 20px var(--display)}.spell-table th{padding:12px 10px;background:#7b3d22;color:#fff0d0;font-size:11px;letter-spacing:.08em;text-align:left;text-transform:uppercase}.spell-table td{padding:11px 10px;border-top:1px solid var(--line-soft);color:var(--ink-soft);vertical-align:top}.spell-table tbody tr:nth-child(2n){background:hsla(0,0%,100%,.025)}.spell-table tbody tr:hover{background:rgba(216,173,88,.09)}.spell-table td:first-child a{color:var(--gold-bright);font-weight:700}.spell-table td:nth-child(2){color:#e0b681;font-style:italic}.spell-table td:nth-child(3){color:var(--ink)}.spell-empty{padding:22px;color:var(--muted);text-align:center}.prose{color:var(--ink);font-size:16px}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--ink);line-height:1.25}.prose h1{margin:28px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line);font-size:28px}.prose h2{margin:28px 0 10px;color:var(--gold-bright);font-size:23px}.prose h3{margin:22px 0 8px;color:var(--gold);font-size:18px}.prose p{margin:0 0 13px}.prose ol,.prose ul{margin:0 0 15px;padding-left:25px}.prose li{margin-bottom:4px}.prose blockquote{margin:16px 0;padding:8px 15px;border-left:3px solid var(--gold);background:rgba(216,173,88,.06);color:var(--ink-soft);font-style:italic}.prose code{padding:2px 5px;border:1px solid var(--line-soft);border-radius:3px;background:#0c0a0b;color:var(--gold-bright)}.prose img{max-width:100%;height:auto}.dnd-table,.prose table{width:100%;margin:18px 0;border-collapse:collapse;font:13px/1.45 var(--sans)}.dnd-table td,.dnd-table th,.prose table td,.prose table th{padding:8px 10px;border:1px solid var(--line-soft);text-align:left;vertical-align:top}.dnd-table th,.prose table th{background:var(--wine-dark);color:var(--gold-bright)}.dnd-table tr:nth-child(2n),.prose table tr:nth-child(2n){background:hsla(0,0%,100%,.025)}.info-block{margin:0 0 22px;padding:14px 16px;border:1px solid var(--line);border-radius:4px;background:rgba(36,29,29,.8)}.info-block__title{margin:0 0 8px;color:var(--gold);font-weight:700}.info-block dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 16px;gap:6px 16px;margin:0}.info-block dt{color:var(--gold-bright);font-weight:700}.info-block dd{margin:0;color:var(--ink-soft)}.index-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:8px;gap:8px;margin:0 0 22px;padding:0;list-style:none}.index-list li a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--gold-bright);font:13px var(--sans)}.index-list li a:hover{background:var(--panel-raised);border-color:var(--gold)}.search-box{display:flex;gap:8px;margin:18px 0}.search-box input{flex:1 1}.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;color:var(--muted);font:12px var(--sans)}.filter-row a{padding:4px 8px;border:1px solid transparent;border-radius:3px}.filter-row a.active,.filter-row a:hover{border-color:var(--line);background:rgba(216,173,88,.1);color:var(--gold-bright)}.result-item{padding:15px 0;border-bottom:1px solid var(--line-soft)}.result-item__meta{color:var(--muted);font:11px var(--sans);text-transform:uppercase;letter-spacing:.07em}.result-item__title{margin:4px 0;font:700 18px var(--display)}.result-item__excerpt{color:var(--ink-soft);font-size:14px}.page-footer{margin-top:42px;padding-top:14px;border-top:1px solid var(--line-soft);color:var(--muted);font:11px var(--sans)}.page-edit-link{margin-left:auto;padding:4px 9px;border:1px solid var(--line);border-radius:3px}.editor-login,.page-editor{max-width:920px;margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.editor-login{max-width:430px;display:grid;grid-gap:12px;gap:12px}.editor-login h2,.revision-list h2{margin:0;color:var(--gold-bright);font:700 22px var(--display)}.editor-login p,.editor-message,.editor-note{margin:0;color:var(--ink-soft);font:13px var(--sans)}.editor-login label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase}.editor-login input,.page-editor textarea{width:100%;border:1px solid var(--line);border-radius:3px;background:#151214;color:var(--ink);font:14px var(--sans)}.editor-login input{min-height:40px;padding:8px 10px}.editor-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.page-editor textarea{min-height:560px;margin-top:14px;padding:14px;line-height:1.55;resize:vertical}.revision-list{display:grid;grid-gap:8px;gap:8px;margin-top:22px}.revision-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid var(--line-soft);font:12px var(--sans)}.catalog-section{margin:24px 0}.catalog-section__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.catalog-section__heading .index-heading{flex:1 1;min-width:140px}.catalog-section__tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.catalog-search-wrap{position:relative;width:260px;max-width:100%}.catalog-search-input{width:100%;height:34px;padding:6px 30px 6px 12px;border:1px solid var(--line);border-radius:4px;background:#151214;color:var(--ink);font:13px var(--sans);outline:none}.catalog-search-input:focus{border-color:var(--gold)}.catalog-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}.catalog-search-clear:hover{color:var(--gold-bright)}.view-toggle{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:4px;font:11px var(--sans);text-transform:uppercase;letter-spacing:.08em}.view-toggle button{padding:7px 10px;border:0;border-left:1px solid var(--line);background:var(--panel);color:var(--ink-soft);cursor:pointer}.view-toggle button:first-child{border-left:0}.view-toggle button.active{background:var(--wine);color:#fff1df}.catalog-grid--generic{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.catalog-card{display:flex;min-height:142px;flex-direction:column;gap:8px;padding:17px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.catalog-card:hover{border-color:var(--gold);background:var(--panel-raised)}.catalog-card__title{color:var(--ink);font:700 20px/1.15 var(--display)}.catalog-card__subtitle{color:var(--ink-soft);font-size:13px}.catalog-card__meta{margin-top:auto;color:var(--muted);font:10px var(--sans);letter-spacing:.1em;text-transform:uppercase}.catalog-list-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px}.catalog-list{width:100%;border-collapse:collapse;font:13px/1.45 var(--sans)}.catalog-list th{padding:10px 12px;background:var(--wine-dark);color:var(--gold-bright);font-size:10px;letter-spacing:.1em;text-align:left;text-transform:uppercase}.catalog-list td{padding:10px 12px;border-top:1px solid var(--line-soft);color:var(--ink-soft)}.catalog-list tr:nth-child(2n){background:hsla(0,0%,100%,.025)}.catalog-list td:first-child a{color:var(--gold-bright);font-weight:700}.catalog-list small{display:block;margin-top:2px;color:var(--muted)}@media (max-width:900px){.layout{grid-template-columns:1fr;gap:18px}.sidebar{position:static;max-height:none}.sidebar__group{display:inline-block;width:49%;vertical-align:top;padding-right:12px}.sidebar__group+.sidebar__group{margin-top:0;padding-top:0;border-top:0}.spell-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.layout,.site-header__inner{width:min(100% - 20px,var(--content-width))}.site-header__brand span,.site-header__tools a:first-child{display:none}.hero-panel{margin-top:-14px}.hero-panel__content{padding:38px 22px}.spell-filters{grid-template-columns:1fr}.sidebar__group{display:block;width:100%}.sidebar__group+.sidebar__group{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-soft)}}