:root{--bg:#faf7f0;--panel:#fffdf8;--ink:#23201b;--muted:#6f6a5e;--accent:#7a1f1f;--accent2:#1f4d7a;--line:#ddd5c3;--chip:#efe8d8}body.dark{--bg:#17181c;--panel:#1f2126;--ink:#e8e4da;--muted:#a49c8c;--accent:#e08a8a;--accent2:#8ab6e0;--line:#3a3d44;--chip:#2b2e35}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;line-height:1.55}.topbar{background:var(--panel);border-bottom:2px solid var(--accent);z-index:10;position:sticky;top:0}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;max-width:1200px;margin:0 auto;padding:.55rem 1rem;display:flex}.brand{color:var(--ink);font-size:1.15rem;font-weight:700;text-decoration:none}.badge{background:var(--accent);color:#fff;vertical-align:middle;border-radius:999px;padding:.05rem .55rem;font-size:.72rem}body.dark .badge{color:#17181c}.topbar-tools{align-items:center;gap:.4rem;display:flex}input,select,button,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:.4rem;padding:.35rem .55rem}input,select,textarea{font-size:16px}textarea{resize:vertical}label.inline{align-items:center;gap:.4rem;display:flex}.ability select{text-align:center;width:100%;font-size:1.1rem}.storybox{border:1px solid var(--line);border-radius:.5rem;margin-top:.6rem;padding:.6rem .8rem}.storybox h4{color:var(--accent);margin:0 0 .3rem}.storybox p{white-space:pre-wrap;margin:.3rem 0}.storybox ul{margin:.3rem 0;padding-left:1.2rem}button{cursor:pointer}button:hover{border-color:var(--accent)}#global-search{min-width:min(320px,55vw)}.tabs{flex-wrap:wrap;gap:.25rem;max-width:1200px;margin:0 auto;padding:0 1rem .5rem;display:flex}.tab{background:0 0;border:none;border-radius:.5rem .5rem 0 0;padding:.35rem .7rem}.tab.active{background:var(--chip);box-shadow:inset 0 -3px 0 var(--accent);font-weight:700}main{max-width:1200px;margin:0 auto;padding:1rem}.tabpage{display:none}.tabpage.active{display:block}.muted{color:var(--muted);font-size:.92rem}.hidden{display:none!important}.mdpanel pre{white-space:pre-wrap;word-break:break-word;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;max-height:320px;padding:10px 12px;font-size:12.5px;overflow:auto}.compendium-layout{grid-template-columns:300px 1fr;align-items:start;gap:1rem;display:grid}@media (width<=820px){.compendium-layout,.grid2{grid-template-columns:1fr!important}}#nav-toggle,#detail-back{display:none}@media (width<=820px){#nav-toggle{display:inline-block}.tabs{display:none}.tabs.open{display:flex}.brand{font-size:1rem}.badge{display:none}.topbar-tools{flex:1;justify-content:flex-end}#global-search{flex:1;min-width:0}.side{max-height:none;position:static}.cats{flex-wrap:nowrap;padding-bottom:.3rem;overflow-x:auto}.cat{flex:none}.entry-list{max-height:34vh}.compendium-layout.show-detail .side{display:none}.compendium-layout.show-detail #detail-back{justify-self:start;display:block}}.side{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;max-height:calc(100vh - 135px);padding:.7rem;display:flex;position:sticky;top:118px}.cats{flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem;display:flex}.cat{font-size:.88rem}.cat.active{background:var(--accent);color:#fff;border-color:var(--accent)}body.dark .cat.active{color:#17181c}.filters{gap:.35rem;display:grid}.count{margin:.45rem 0}.entry-list{margin:0;padding:0;list-style:none;overflow-y:auto}.entry-list li{cursor:pointer;border-radius:.35rem;justify-content:space-between;gap:.5rem;padding:.32rem .45rem;display:flex}.entry-list li:hover{background:var(--chip)}.entry-list li.active{background:var(--chip);box-shadow:inset 3px 0 0 var(--accent)}.entry-list .tag{color:var(--muted);white-space:nowrap;font-size:.8rem}.detail{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;min-height:300px;padding:1rem 1.2rem}.detail h2{color:var(--accent);margin-top:.2rem}.statline{color:var(--muted);font-style:italic}.statgrid{text-align:center;border-block:1px solid var(--line);grid-template-columns:repeat(6,1fr);margin:.6rem 0;padding:.4rem 0;display:grid}.statgrid b{letter-spacing:.05em;font-size:.78rem;display:block}.tip{border-bottom:1px dotted var(--accent2);cursor:help;position:relative}.tip:hover:after,.tip:focus:after,.tip:active:after{content:attr(data-tip);z-index:30;background:var(--ink);width:min(300px,78vw);color:var(--bg);white-space:normal;pointer-events:none;border-radius:.5rem;padding:.5rem .65rem;font-size:.85rem;font-style:normal;line-height:1.4;position:absolute;bottom:135%;left:0;box-shadow:0 4px 16px #00000040}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{background:var(--chip);border:1px solid var(--line);border-radius:999px;padding:.12rem .6rem;font-size:.88rem}button.chip:hover{border-color:var(--accent2);color:var(--accent2)}.grid2{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;align-content:start;gap:.55rem;padding:1rem;display:grid}.card h3,.card h4{color:var(--accent);margin:.35rem 0 0}label{gap:.2rem;font-size:.92rem;display:grid}.row{flex-wrap:wrap;gap:.6rem;display:flex}.row>*{flex:1;min-width:120px}.abilities{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.ability{border:1px solid var(--line);text-align:center;border-radius:.5rem;padding:.45rem}.ability b{letter-spacing:.06em;font-size:.8rem}.ability input{text-align:center;width:100%;font-size:1.1rem}.ability .mod{font-size:1.25rem;font-weight:700}.ability .bonus{color:var(--muted);min-height:1em;font-size:.8rem}.pointbuy.ok{color:#2e7d32}.pointbuy.over{color:var(--accent);font-weight:700}.kv{grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:.45rem;display:grid}.kv .cell{border:1px solid var(--line);text-align:center;border-radius:.5rem;padding:.4rem}.kv .cell b{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;display:block}.kv .cell span{font-size:1.2rem;font-weight:700}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;padding:.3rem .45rem}.skills{grid-template-columns:1fr 1fr;gap:.15rem .8rem;display:grid}.skill{cursor:pointer;border-radius:.3rem;justify-content:space-between;gap:.5rem;padding:.18rem .3rem;display:flex}.skill:hover{background:var(--chip)}.skill .p{color:var(--accent);width:1em}.enc-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}.enc-row input[type=number]{width:5.2rem}.enc-row .grow{flex:1;min-width:110px}.pick-list{margin:.35rem 0 0;padding:0;list-style:none}.pick-list li{border:1px solid var(--line);cursor:pointer;border-radius:.4rem;justify-content:space-between;gap:.6rem;margin-bottom:.3rem;padding:.35rem .55rem;display:flex}.pick-list li:hover{background:var(--chip)}.pick-list li.none{cursor:default;color:var(--muted);border-style:dashed}.verdict{font-size:1.3rem;font-weight:700}.xp-details{border-top:1px solid var(--line);margin-top:.7rem;padding-top:.5rem}.xp-details summary{cursor:pointer;color:var(--muted)}.verdict.deadly,.lazy-bad{color:var(--accent)}.lazy-ok{color:#2e7d32}body.dark .lazy-ok,body.dark .pointbuy.ok{color:#8fd18f}.import-label input{display:none}.import-label{border:1px solid var(--line);cursor:pointer;text-align:center;border-radius:.4rem;padding:.35rem .55rem}footer{max-width:1200px;margin:0 auto;padding:0 1rem 2rem}@media print{.topbar,.side,.tabs{display:none}.detail,.card{border:none}}.share-row{margin:.2rem 0 .6rem}.share-row button{font-size:.85rem}.anchor-link{opacity:.45;margin-left:.3em;font-size:.8em;text-decoration:none}.anchor-link:hover{opacity:1}.feature-flash{border-radius:6px;animation:2.4s ease-out feature-flash}@keyframes feature-flash{0%,55%{background:#ffc40047}to{background:0 0}}.detail [id^=f-]{content-visibility:auto;contain-intrinsic-size:auto 220px;scroll-margin-top:132px}.chapter-list{gap:.6rem;display:grid}.chapter-card{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;padding:.8rem 1rem}.chapter-card h3{color:var(--accent2);margin:.1rem 0 .3rem}.chapter-card .links{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.layer-badge{background:var(--accent2);color:#fff;vertical-align:middle;border-radius:999px;padding:.05rem .55rem;font-size:.72rem}body.dark .layer-badge{color:#17181c}.statblock{border:2px solid var(--accent2);background:var(--chip);border-radius:.5rem;margin:.6rem 0;padding:.7rem .9rem}.statblock .defenses{text-align:center;border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:.4rem;padding-top:.4rem;display:grid}.statblock .defenses b{letter-spacing:.05em;font-size:.75rem;display:block}.topic-nav{justify-content:space-between;gap:.5rem;margin-top:1rem;display:flex}.editorial{border-left:3px solid var(--accent2);color:var(--muted);padding-left:.6rem;font-size:.92rem}.license-text{white-space:pre-wrap}
