@font-face{font-family:TazzRunes;src:url(/fonts/floki-Hard.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:TazzFraktur;src:url(/fonts/SteelplateTextura.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#f3e6cf;--bg2:#ead7b6;--fg:#2b2117;--fgMuted:#5b4a3a;--ifg:#2b2117;--ifgMuted:#5b4a3a;--card:#fff8ebeb;--border:#3f2e1f47;--accent:#8b1e1e;--accent2:#2f6f5e;--link:#7a1a1a;--linkHover:#b12b2b;--wood:#2a1b12;--wood2:#1f140d;--shadow:0 10px 30px #2b211738;--font-body:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-ui:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--font-runes:"TazzRunes", serif;--font-fraktur:"TazzFraktur", serif;--focus:#8b1e1e59;--field:#ffffffad;--navActive:#2f6f5e2e;--theme-base:#f3e6cf;--theme-strength:24%}[data-theme=dark]{--bg:#14100c;--bg2:#1a140f;--fg:#efe3cf;--fgMuted:#c5b79f;--ifg:#efe3cf;--ifgMuted:#c5b79f;--card:#1c1610eb;--border:#efe3cf24;--accent:#d04b4b;--accent2:#5fb39a;--link:#ffb0b0;--linkHover:#ffd1d1;--wood:#120d09;--wood2:#0d0906;--shadow:0 18px 46px #0000008c;--focus:#d04b4b59;--field:#120e0bd6;--navActive:#5fb39a33;--theme-base:#090806;--theme-strength:34%}*{box-sizing:border-box}html,body{height:100%;min-height:100vh;color:var(--fg);font-family:var(--font-body);background-color:var(--bg);background-image:radial-gradient(1200px 700px at 20% 0%, #8b1e1e1a, transparent 60%), radial-gradient(900px 600px at 85% 10%, #2f6f5e14, transparent 55%), linear-gradient(180deg, var(--bg), var(--bg2));background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;padding:0}body{min-height:100vh;overflow-x:hidden}#__next{min-height:100vh}.siteShell{background:radial-gradient(900px 620px at 12% 4%, color-mix(in srgb, var(--page-color-first) 30%, transparent), transparent 72%), radial-gradient(980px 680px at 88% 18%, color-mix(in srgb, var(--page-color-last) 28%, transparent), transparent 74%), var(--page-gradient);background-attachment:fixed;min-height:100dvh}body:before{content:"";pointer-events:none;opacity:.1;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#00000008,#00000008 1px,#0000 1px 3px) 0 0/cover;position:fixed;inset:0}a{color:var(--link);text-underline-offset:3px;-webkit-text-decoration:underline #8b1e1e73;text-decoration:underline #8b1e1e73;transition:color .12s,text-decoration-color .12s}a:hover{color:var(--linkHover);text-decoration-color:#b12b2bbf}h1,h2,h3,h4,h5{font-family:var(--font-body);letter-spacing:.2px;color:var(--fg);margin-top:.9rem;margin-bottom:.5rem}h1{border-bottom:2px solid #8b1e1e40;margin-top:.2rem;padding-bottom:.35rem}h2{border-bottom:1px solid #3f2e1f38;padding-bottom:.25rem}p,li{color:var(--fgMuted)}strong{color:var(--fg)}.topbar{z-index:20;background:linear-gradient(180deg, #0003, transparent 35%), var(--wood);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:.7rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 8px 18px #00000040}.topbar-left{align-items:center;gap:.6rem;display:flex}.brand{font-family:var(--font-body);letter-spacing:.5px;color:#f7ead5;border-radius:10px;padding:.25rem .35rem;font-size:1.15rem;font-weight:800;text-decoration:none}.topbar-right{align-items:center;gap:.5rem;display:flex}.topbar .btn,.topbar .btnPrimary,.topbar .iconBtn{color:#1a130e;background:#f7ead5e6;border-color:#ffffff2e}.topbar .btn:hover,.topbar .btnPrimary:hover,.topbar .iconBtn:hover{color:#111;background:#fff4e3}.mobileOnly{display:none}.appIcon{flex:none;display:block}.buttonWithIcon{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.topbarScheduleAction[aria-current=page]{border-color:#5fb39ab8;box-shadow:inset 0 0 0 1px #5fb39a47}.sidebarQuickLinks{gap:.45rem;display:grid}.sidebarQuickLink{border:1px solid color-mix(in srgb, var(--accent2) 45%, var(--border));background:color-mix(in srgb, var(--accent2) 12%, var(--card));color:var(--fg);font-family:var(--font-ui);border-radius:12px;align-items:center;gap:.55rem;padding:.7rem .8rem;font-weight:800;text-decoration:none;display:flex}.sidebarQuickLink:hover,.sidebarQuickLink.active{color:var(--fg);background:color-mix(in srgb, var(--accent2) 24%, var(--card));border-color:color-mix(in srgb, var(--accent2) 70%, var(--border))}.sidebarFolderLabel{align-items:center;gap:.45rem;min-width:0;display:flex}.sidebarFolderLabel>span,.treeFileTitle{overflow-wrap:anywhere;min-width:0}.treeFileIcon{opacity:.68}.treeSourceBadge{border:1px solid color-mix(in srgb, currentColor 42%, transparent);font:800 .61rem/1.15 var(--font-ui);letter-spacing:.035em;border-radius:5px;flex:none;margin-left:auto;padding:.12rem .32rem;text-decoration:none}.treeSourceBadge[data-source=hb]{color:#9b4fc5;background:color-mix(in srgb, #9b4fc5 12%, var(--card))}.treeSourceBadge[data-source=srd]{color:#287a4a;background:color-mix(in srgb, #287a4a 12%, var(--card))}.treeSourceBadge[data-source=wotc]{color:#286fa8;background:color-mix(in srgb, #286fa8 12%, var(--card))}[data-theme=dark] .treeSourceBadge[data-source=hb]{color:#d59af0}[data-theme=dark] .treeSourceBadge[data-source=srd]{color:#83d3a3}[data-theme=dark] .treeSourceBadge[data-source=wotc]{color:#86c8f2}.page{max-width:1100px;margin:0 auto;padding:1.25rem 1rem 3rem}.pageWorkspace{max-width:1840px;padding:.75rem}.contentCard{background:radial-gradient(900px 450px at 30% 0%, color-mix(in srgb, var(--page-color-last) 9%, transparent), transparent 55%), linear-gradient(180deg, #ffffff59, transparent 60%), var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:1.1rem 1.2rem}.sessionNotice{background:color-mix(in srgb, var(--accent) 18%, var(--card));border-bottom:1px solid var(--border);font-family:var(--font-ui);justify-content:center;align-items:center;gap:.75rem;padding:.55rem 1rem;font-size:.9rem;display:flex}.contentCardWorkspace{min-height:calc(100dvh - 82px);padding:0;overflow:hidden}.homeHero{max-width:820px;padding:clamp(.4rem,2vw,1rem) 0 .75rem}.homeEyebrow{color:var(--accent2);font:800 .76rem/1.2 var(--font-ui);letter-spacing:.09em;text-transform:uppercase}.homeHero h1{margin-top:.45rem}.homeLead{max-width:72ch;margin-bottom:0;font-size:clamp(1rem,2.2vw,1.16rem);line-height:1.65}.homePrimaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.6rem;display:grid}.homeFeatureCard{border:1px solid color-mix(in srgb, var(--page-color-last) 48%, var(--border));background:color-mix(in srgb, var(--page-color-last) 10%, var(--card));min-height:132px;color:var(--fg);box-shadow:0 7px 20px color-mix(in srgb, var(--page-color-last) 13%, transparent);border-radius:14px;align-items:flex-start;gap:.85rem;padding:1rem;text-decoration:none;display:flex}.homeFeatureCard:hover{color:var(--fg);background:color-mix(in srgb, var(--page-color-last) 18%, var(--card));transform:translateY(-1px)}.homeFeatureCard>span{gap:.45rem;display:grid}.homeFeatureCard strong{font:850 1.08rem/1.25 var(--font-ui)}.homeFeatureCard small{color:var(--fgMuted);font-size:.9rem;line-height:1.5}.homeSection{margin-top:1.7rem}.homeGuideGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.homeGuideGrid article{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 92%, var(--page-color-first));border-radius:12px;padding:.9rem}.homeGuideGrid h3{font:800 1rem/1.3 var(--font-ui);margin:.6rem 0 .35rem}.homeGuideGrid p{margin:0;font-size:.9rem;line-height:1.55}.homeQuickGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.homeQuickGrid a{border:1px solid var(--border);background:var(--card);min-height:48px;color:var(--fg);font:750 .88rem/1.3 var(--font-ui);border-radius:10px;align-items:center;padding:.65rem .75rem;text-decoration:none;display:flex}.homeQuickGrid a:hover{background:color-mix(in srgb, var(--accent2) 13%, var(--card))}.homeSourceLegend{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 94%, var(--page-color-last));border-radius:12px;margin-top:1.7rem;padding:.9rem}.homeSourceLegend h2{margin-top:0}.homeSourceLegend p{margin:.4rem 0 .75rem}.homeSourceLegend>div{flex-wrap:wrap;gap:.65rem 1rem;display:flex}.homeSourceLegend>div>span{color:var(--fgMuted);font:700 .8rem/1.4 var(--font-ui);align-items:center;gap:.4rem;display:inline-flex}.homeSourceLegend .treeSourceBadge{margin-left:0}.characterBuilderPage{padding:clamp(.85rem,2.4vw,1.6rem)}.characterBuilderIntro{max-width:900px;margin-bottom:1rem}.characterBuilderIntro>span{color:var(--accent2);font:800 .75rem/1.2 var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.characterBuilderIntro h1{margin-top:.35rem}.characterBuilderIntro p{max-width:74ch;line-height:1.6}.characterBuilder{gap:1rem;min-width:0;display:grid}.characterSetupNotice,.characterLibrary,.characterEditor{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 96%, var(--page-color-last));width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow);border-radius:14px}.characterSetupNotice{font-family:var(--font-ui);border-left:5px solid #b7791f;padding:.9rem 1rem}.characterSetupNotice p{margin:.35rem 0 .7rem}.characterLibrary,.characterEditor{padding:1rem}.characterSectionHeading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.characterSectionHeading>div{min-width:0}.characterSectionHeading h2{margin:0}.characterSectionHeading p{margin:.3rem 0 0}.characterSetupNotice p,.characterSectionHeading p{overflow-wrap:anywhere}.characterLibraryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.characterLibraryGrid article{border:1px solid var(--border);background:var(--card);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.7rem;display:grid}.characterLibraryGrid article.active{border-color:var(--accent2);background:color-mix(in srgb, var(--accent2) 12%, var(--card))}.characterLibraryGrid article>div{gap:.15rem;min-width:0;display:grid}.characterLibraryGrid article strong{overflow-wrap:anywhere}.characterLibraryGrid article small{color:var(--fgMuted);font:.72rem/1.3 var(--font-ui)}.characterLinkExisting{border:1px solid var(--border);background:color-mix(in srgb, var(--accent2) 6%, var(--card));border-radius:11px;margin-top:.8rem;padding:.75rem}.characterLinkExisting summary{cursor:pointer;color:var(--fg);font:800 .9rem/1.4 var(--font-ui)}.characterLinkExisting p{font-size:.86rem}.characterLinkExisting form{grid-template-columns:minmax(0,1fr) auto;gap:.55rem;display:grid}.characterSteps{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;margin-bottom:1rem;display:grid}.characterSteps button{background:var(--card);justify-content:center;align-items:center;gap:.4rem;min-width:0;font-weight:750;display:flex}.characterSteps button>span{border:1px solid;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;font-size:.72rem;display:grid}.characterSteps button.complete{border-color:color-mix(in srgb, var(--accent2) 65%, var(--border))}.characterSteps button.active{color:var(--fg);border-color:var(--accent2);background:color-mix(in srgb, var(--accent2) 18%, var(--card))}.characterMessage{border:1px solid var(--border);font:750 .86rem/1.4 var(--font-ui);border-radius:9px;margin-bottom:.8rem;padding:.7rem .8rem}.characterMessage.error{color:#a23f3f;background:color-mix(in srgb, #a23f3f 10%, var(--card))}.characterMessage.success{color:#287a4a;background:color-mix(in srgb, #287a4a 10%, var(--card))}[data-theme=dark] .characterMessage.error{color:#faa}[data-theme=dark] .characterMessage.success{color:#8bd3a6}.characterStepPanel{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 96%, var(--page-color-first));border-radius:12px;min-height:280px;padding:.9rem}.characterFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.characterField{min-width:0;color:var(--fg);font:750 .8rem/1.35 var(--font-ui);align-content:start;gap:.32rem;display:grid}.characterField.wide{grid-column:1/-1}.characterField .input,.characterField .select,.characterField .textarea{width:100%}.characterField .textarea{resize:vertical}.characterField small{color:var(--fgMuted);font-weight:500}.abilityGrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;display:grid}.abilityGrid .characterField{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:10px;padding:.7rem}.abilityModifier{font-size:.75rem}.characterReview{gap:.75rem;display:grid}.characterReview>div{border-bottom:1px solid var(--border);gap:.2rem;padding-bottom:.65rem;display:grid}.characterReview>div>span{color:var(--fgMuted);font:700 .72rem/1.3 var(--font-ui);text-transform:uppercase;letter-spacing:.06em}.characterReview>div>strong{overflow-wrap:anywhere}.characterReview p{max-width:72ch}.characterReview .btnPrimary{justify-self:start}.characterStepActions{justify-content:space-between;gap:.65rem;margin-top:.8rem;display:flex}.characterBuilderLaunch{margin:.2rem 0 .9rem}@media (max-width:640px){.topbar,.topbar-right{flex-wrap:wrap}.topbar-right{justify-content:flex-end}.pageWorkspace{padding:.4rem}.contentCardWorkspace{min-height:calc(100dvh - 104px)}}button,.btn,.btnPrimary,.iconBtn,.btnDanger{border:1px solid var(--border);color:var(--fg);cursor:pointer;font-family:var(--font-ui);background:#fff8ebbf;border-radius:10px;padding:.45rem .75rem}button:hover,.btn:hover,.iconBtn:hover{background:#fff8ebeb}.btnPrimary{background:#8b1e1e24;border-color:#8b1e1e59;text-decoration:none}.btnPrimary:hover{background:#8b1e1e33}.btnDanger{background:#8b1e1e33;border-color:#8b1e1e73}.iconBtn{place-items:center;width:40px;height:40px;padding:0;display:grid}button:focus,.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 3px var(--focus);outline:none}[data-theme=dark] button,[data-theme=dark] .btn,[data-theme=dark] .btnPrimary,[data-theme=dark] .iconBtn,[data-theme=dark] .btnDanger,[data-theme=dark] a.btnPrimary{color:#111}[data-theme=dark] button,[data-theme=dark] .btn,[data-theme=dark] .btnPrimary,[data-theme=dark] .iconBtn,[data-theme=dark] .btnDanger{background:#fff8ebbf}.modalOverlay{z-index:80;background:#0a0806b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modalCard{background:var(--card);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:14px;padding:1rem 1.1rem}blockquote{background:#8b1e1e0f;border-left:4px solid #8b1e1e59;border-radius:10px;margin:1rem 0;padding:.75rem 1rem}.lineage-callout{background:#2f6f5e14;border-left:4px solid #2f6f5e73;border-radius:10px;margin:1rem 0;padding:.8rem .95rem;overflow-x:auto}.lineage-heading{color:var(--fg);text-align:center;margin-bottom:.9rem;font-weight:700}.lineage-tree,.lineage-children{justify-content:center;align-items:flex-start;gap:0;margin:0;padding:1.2rem 0 0;list-style:none;display:flex;position:relative}.lineage-tree{justify-content:flex-start;width:100%;min-width:max-content;padding-top:.25rem}.lineage-children{padding-top:1.25rem}.lineage-children:before{content:"";background:#3f2e1f59;width:1px;height:1.25rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.lineage-node{text-align:center;margin:0;padding:0 .65rem;position:relative}.lineage-node:before{content:"";background:#3f2e1f59;width:50%;height:1px;position:absolute;top:0;right:50%}.lineage-node:after{content:"";background:#3f2e1f59;width:50%;height:1px;position:absolute;top:0;left:50%}.lineage-node:only-child:before,.lineage-node:only-child:after,.lineage-node:first-child:before,.lineage-node:last-child:after{display:none}.lineage-family{display:inline-block;position:relative}.lineage-partners{align-items:stretch;gap:.6rem;display:inline-flex;position:relative}.lineage-node>.lineage-family:before{content:"";background:#3f2e1f59;width:1px;height:.7rem;position:absolute;top:-.7rem;left:50%;transform:translate(-50%)}.lineage-tree>.lineage-node>.lineage-family:before{display:none}.lineage-family-has-children:after{content:"";background:#3f2e1f59;width:1px;height:.8rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}.lineage-family-partners .lineage-partners:after{content:"";background:#3f2e1f6b;height:1px;position:absolute;bottom:-.42rem;left:1.4rem;right:1.4rem}.lineage-card{border:1px solid var(--border);background:var(--card);border-radius:10px;flex-direction:column;align-items:center;gap:.28rem;min-width:9.5rem;padding:.45rem .65rem;display:inline-flex;position:relative}.lineage-id{min-width:2.4rem;font-family:var(--font-ui);color:var(--accent2);text-align:center;background:#2f6f5e29;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700;display:inline-block}.lineage-name{color:var(--fgMuted);font-size:.92rem;line-height:1.25}@media (max-width:720px){.lineage-node{padding:0 .45rem}.lineage-partners{gap:.45rem}.lineage-family-partners .lineage-partners:after{left:1rem;right:1rem}.lineage-card{min-width:8.6rem;padding:.4rem .55rem}}pre,code{color:var(--fg);background:#2b211714;border:1px solid #3f2e1f2e;border-radius:10px}pre{padding:1rem;overflow:auto}table{border-collapse:collapse;width:100%;margin:1rem 0}th,td{border:1px solid #3f2e1f33;padding:.5rem .6rem}th{font-family:var(--font-ui);color:var(--fg);background:#2b21170f}.permBlurb{background-color:color-mix(in srgb, var(--perm-color,#8b1e1e59) 25%, transparent);border-radius:10px;margin:.5rem 0;padding:.5rem 1rem}.permBlurb :is(p,li){color:var(--fgMuted)}.permBlurb :is(strong,b){color:var(--fg)}.permBlurb a{color:var(--link)}.permBlurb>:first-child{margin-top:0}.permBlurb>:last-child{margin-bottom:0}.plusEm{font-family:var(--font-fraktur);letter-spacing:.3px;color:var(--accent);border-bottom:1px dashed #8b1e1e73;padding:0 .18rem}.corruptEm{color:#5c1a1a;background:repeating-linear-gradient(-45deg,#00000026 0 2px,#0000 2px 4px);border-radius:6px;padding:0 .18rem}.runeEm{font-family:var(--font-runes);letter-spacing:4px;color:var(--accent2);padding:0 .18rem}.documentPreview{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 92%, transparent);width:100%;box-shadow:var(--shadow);border-radius:14px;margin:1rem 0 1.4rem;overflow:hidden}.documentPreviewHeader{border-bottom:1px solid var(--border);font-family:var(--font-ui);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.documentPreview iframe{background:#fff;border:0;width:100%;height:min(78vh,980px);min-height:620px;display:block}.documentPreview img{object-fit:contain;max-width:100%;max-height:80vh;margin:0 auto;display:block}.documentPreviewFallback{padding:1rem}.documentPreview.compact iframe{height:min(65vh,760px);min-height:480px}.fiveEToolsEntry{padding:clamp(.85rem,3vw,1.5rem)}.fiveEToolsEntry>header{border-bottom:2px solid color-mix(in srgb, var(--accent) 65%, var(--border));padding-bottom:.9rem}.fiveEToolsEntry>header span,.fiveEToolsEntry>header p{color:var(--muted);font-family:var(--font-ui)}.fiveEToolsEntry>header h2{margin:.2rem 0}.fiveEToolsEntry>header p{margin:0}.fiveEToolsMeta{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.55rem 1rem;margin:1rem 0;display:grid}.fiveEToolsMeta>div{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--card) 88%, transparent);padding:.55rem .65rem}.fiveEToolsMeta dt{font:700 .76rem/1.2 var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.fiveEToolsMeta dd{overflow-wrap:anywhere;margin:.2rem 0 0}.fiveEToolsAbilities{text-align:center;grid-template-columns:repeat(6,minmax(70px,1fr));gap:.4rem;margin:1rem 0;display:grid}.fiveEToolsAbilities>div{border:1px solid var(--border);border-radius:8px;gap:.15rem;padding:.5rem .25rem;display:grid}.fiveEToolsAbilities span{white-space:nowrap}.fiveEToolsSection{margin-top:1.25rem}.fiveEToolsSection>h3{border-bottom:1px solid var(--border);padding-bottom:.3rem}.fiveEToolsNested{margin:.65rem 0}.fiveEToolsNested h4{margin:0 0 .25rem}.fiveEToolsNested p{margin:.3rem 0}.fiveEToolsTableWrap{max-width:100%;margin:1rem 0;overflow-x:auto}.fiveEToolsRaw{margin-top:1.25rem}.fiveEToolsRaw pre{background:color-mix(in srgb, var(--bg) 78%, #000);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:28rem;padding:.8rem;font-size:.78rem;overflow:auto}.fiveEToolsCredit{border-top:1px solid var(--border);color:var(--muted);font:.85rem/1.5 var(--font-ui);margin:1.25rem 0 0;padding-top:.75rem}.fiveEToolsClassEntry{margin:0}.fiveEToolsClassEntry>:first-child{margin-top:0}.fiveEToolsClassSummary,.fiveEToolsClassBack{margin:1rem 0}.fiveEToolsClassEntry .fiveEToolsFeature{margin:1.35rem 0}.fiveEToolsClassEntry .fiveEToolsFeature>:is(h2,h3){margin-bottom:.55rem}.fiveEToolsClassEntry .fiveEToolsFeature>:last-child{margin-bottom:0}.fiveEToolsClassEntry .fiveEToolsNested ul{margin-top:.35rem}.fiveEToolsClassEntry .fiveEToolsNested li>p{margin:.15rem 0}.fiveEToolsProgression th:first-child,.fiveEToolsProgression td:nth-child(2){white-space:nowrap}.fiveEToolsProgression th:not(:nth-child(3)),.fiveEToolsSpellProgression :is(th,td){text-align:center}@media (max-width:700px){.documentPreview{border-radius:10px}.documentPreviewHeader{flex-direction:column;align-items:flex-start}.documentPreview iframe,.documentPreview.compact iframe{height:72vh;min-height:460px}.fiveEToolsAbilities{grid-template-columns:repeat(3,1fr)}.fiveEToolsClassEntry .fiveEToolsTableWrap{margin-left:-.2rem;margin-right:-.2rem}.fiveEToolsProgression{min-width:680px}.fiveEToolsSpellProgression{min-width:620px}}.writeShell{gap:14px;max-width:980px;margin:0 auto;display:grid}.muted{opacity:.85;color:var(--ifgMuted);font-size:.95rem}.card{border:1px solid var(--border);background:#fff8eb33;border-radius:14px;padding:14px;box-shadow:0 8px 22px #2b21171a}.cardTitle{font-size:1.05rem;font-family:var(--font-ui);color:var(--ifg);margin:0 0 10px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.span2{grid-column:span 2}.label{font-size:.9rem;font-family:var(--font-ui);color:var(--ifg);opacity:.95;margin-bottom:6px;display:block}.hint{opacity:.85;color:var(--fgMuted);margin-top:6px;font-size:.85rem}.subTitle{font-size:.9rem;font-family:var(--font-ui);color:var(--ifg);opacity:.95;margin-bottom:8px}.input,.select,.textarea{background:var(--field);width:100%;color:var(--ifg);font-family:var(--font-ui);border:1px solid #3f2e1f38;border-radius:12px;outline:none;padding:10px 12px}.textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.input:focus,.select:focus,.textarea:focus{border-color:#8b1e1e59}.check{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.check input{transform:scale(1.1)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;font-size:.9rem;font-family:var(--font-ui);color:var(--ifg);background:#ffffff73;border:1px solid #3f2e1f38;border-radius:999px;padding:7px 10px}.chip.active{background:#8b1e1e1f;border-color:#8b1e1e59}.segBtn{cursor:pointer;font-family:var(--font-ui);background:#fff6;border:1px solid #3f2e1f38;border-radius:12px;padding:10px 12px}.segBtn.active{background:#8b1e1e1a;border-color:#8b1e1e59}.writeHeaderRow{justify-content:space-between;align-items:center;gap:1rem;display:flex}.modeTabs{align-items:center;gap:.5rem;display:flex}.permissionsCard>summary{cursor:pointer;min-height:28px;margin-bottom:0}.permissionsCard[open]>summary{margin-bottom:12px}.themePicker{border-top:1px solid var(--border);align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.themePicker>div:first-child{margin-right:auto}.themePicker .hint{margin-top:0}.colorInput{border:1px solid var(--border);background:var(--field);cursor:pointer;border-radius:10px;width:48px;height:44px;padding:3px}.fileExplorerBlock{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 78%, transparent);border-radius:12px;gap:.9rem;margin-top:1rem;padding:.9rem;display:grid}.cascadePicker{gap:.7rem;display:grid}.cascadeRoot{border-bottom:1px solid var(--border);color:var(--fgMuted);font-family:var(--font-ui);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.65rem;font-size:.85rem;display:flex}.cascadeRoot strong{color:var(--fg);text-align:right}.cascadeLevel{padding-left:min(2rem,4vw)}.cascadeSelection{color:var(--fgMuted);font:.8rem/1.4 var(--font-ui);overflow-wrap:anywhere}.fileChoiceRow{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.75rem;display:grid}.loadPageButton{min-height:42px}.markdownEditor{position:relative}.editorToolbar{z-index:8;border:1px solid var(--border);background:color-mix(in srgb, var(--card) 94%, var(--page-color-last));scrollbar-width:thin;border-radius:12px;align-items:center;gap:.4rem;margin-bottom:.55rem;padding:.5rem;display:flex;position:sticky;top:64px;overflow-x:auto;box-shadow:0 6px 18px #0000001f}.editorToolbar button{min-width:max-content;min-height:40px}.toolbarDivider{background:var(--border);flex:0 0 1px;align-self:stretch;width:1px}.runeButton{font-family:var(--font-runes);letter-spacing:1px}.editorTextarea{resize:vertical;tab-size:2;min-height:52dvh;line-height:1.55;display:block}.editorHint{color:var(--fgMuted);font:.82rem/1.4 var(--font-ui);margin-top:.5rem}.contentInsertMenu{z-index:130;border:1px solid var(--border);width:min(330px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--fg);background:color-mix(in srgb, var(--card) 96%, var(--page-color-last));font-family:var(--font-ui);border-radius:14px;padding:.65rem;position:fixed;overflow-y:auto;box-shadow:0 18px 55px #00000061}.insertMenuTitle{padding:.25rem .35rem .55rem;font-weight:800}.insertMenuLabel{border-top:1px solid var(--border);color:var(--fgMuted);letter-spacing:.08em;text-transform:uppercase;margin-top:.45rem;padding:.45rem .35rem .3rem;font-size:.75rem;font-weight:800}.insertMenuGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.insertMenuStack{gap:.4rem;display:grid}.insertMenuGrid button,.insertMenuStack button{text-align:left;min-height:42px}.homebrewForum{gap:1rem;display:grid}.forumIntro{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.forumIntro h1{margin-top:0}.forumIntro p{max-width:70ch}.forumIntroActions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.newPostCard>summary{cursor:pointer}.newPostCard form{gap:.65rem;margin-top:1rem;display:grid}.newPostCard .textarea{min-height:150px}.newPostCard .btnPrimary{justify-self:start}.forumFormGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.forumFormGrid .label{gap:.35rem;display:grid}.forumPostMeta{font:700 .76rem/1.3 var(--font-ui);flex-wrap:wrap;gap:.45rem;margin:.75rem 0;display:flex}.forumPostMeta>*{border:1px solid var(--border);border-radius:999px;padding:.3rem .5rem}.characterDirectory{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 90%, var(--page-color-last));border-radius:14px;margin:0 0 1.25rem;padding:1rem}.characterDirectory>h2{margin-top:0}.characterDirectoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.characterDirectory details{border:1px solid var(--border);background:var(--card);border-radius:10px;padding:.7rem}.characterDirectory summary{cursor:pointer;color:var(--fg);font:800 .95rem/1.3 var(--font-ui)}.characterDirectory p{margin:.55rem 0}.characterClassLinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .6rem;margin-top:.65rem;display:grid}.contentOriginFooter{z-index:18;right:max(1rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));border:1px solid var(--border);background:color-mix(in srgb, var(--card) 96%, var(--page-color-last));max-width:min(520px,100vw - 2rem);box-shadow:var(--shadow);font-family:var(--font-ui);border-radius:12px;position:fixed}.contentOriginFooter summary{cursor:pointer;color:var(--fg);padding:.55rem .75rem;font-weight:800}.contentOriginFooter>div{max-height:42dvh;padding:0 .75rem .7rem;font-size:.78rem;overflow:auto}.contentOriginFooter p{margin:.45rem 0 0}.contentCard:has(.contentOriginFooter){padding-bottom:4rem}.pageDeleteControl{border-top:1px solid var(--border);font:.8rem/1.4 var(--font-ui);flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:2rem;padding-top:1rem;display:flex}.pageDeleteControl>span{color:#b13f3f}.forumFeed{gap:1rem;display:grid}.forumPost{border:1px solid var(--border);border-left:5px solid var(--accent2);background:color-mix(in srgb, var(--card) 94%, var(--page-color-last));box-shadow:var(--shadow);border-radius:14px;padding:1rem}.forumPost.status-voting{border-left-color:#c28b2c}.forumPost.status-approved{border-left-color:#3f8a5a}.forumPost.status-disapproved{border-left-color:#a23f3f}.forumPostHeader h2{margin:.45rem 0 .3rem}.forumStatus{border:1px solid var(--border);color:var(--fg);font:800 .72rem/1 var(--font-ui);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:.25rem .5rem;display:inline-block}.forumByline{color:var(--fgMuted);font:.8rem/1.4 var(--font-ui)}.forumPostBody{color:var(--fgMuted);white-space:pre-wrap;overflow-wrap:anywhere;margin:1rem 0;line-height:1.6}.forumNotice{background:color-mix(in srgb, var(--accent2) 12%, transparent);color:var(--fg);font:.82rem/1.4 var(--font-ui);border-radius:9px;margin:.5rem 0;padding:.6rem .75rem}.voteSummary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0 .65rem;display:grid}.voteSummary>div{border:1px solid var(--border);text-align:center;border-radius:9px;gap:.15rem;padding:.55rem;display:grid}.voteSummary strong{font:800 1.25rem/1 var(--font-ui)}.voteSummary span{color:var(--fgMuted);font:.72rem/1.2 var(--font-ui);text-transform:uppercase}.forumActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.voteButton{min-height:44px;font-weight:800}.voteButton.selected{background:color-mix(in srgb, #3f8a5a 25%, var(--card));border-color:#3f8a5a}.voteButton.selected.disapprove{background:color-mix(in srgb, #a23f3f 25%, var(--card));border-color:#a23f3f}.adminVoteControls{border:1px dashed color-mix(in srgb, var(--accent) 55%, var(--border));border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;padding:.65rem;display:flex}.adminVoteControls>span{color:var(--fg);font:800 .8rem/1 var(--font-ui);margin-right:auto}.forumComments{border-top:1px solid var(--border);margin-top:1rem;padding-top:.85rem}.forumComments h3{margin-top:0}.forumComment{border-bottom:1px solid var(--border);color:var(--fgMuted);white-space:pre-wrap;padding:.7rem 0}.forumComment>div:last-child{overflow-wrap:anywhere;margin-top:.3rem}.commentForm{gap:.55rem;margin-top:.85rem;display:grid}.commentForm .textarea{min-height:90px}.commentForm .btnPrimary{justify-self:start}.alert{font-family:var(--font-ui);border:1px solid #3f2e1f38;border-radius:12px;padding:10px 12px}.alert.ok{background:#2f6f5e1f;border-color:#2f6f5e40}.alert.error{background:#8b1e1e1a;border-color:#8b1e1e38}.image-callout{background-color:var(--card);border:1px solid var(--border);border-radius:4px;margin:1rem 0;padding:1rem}.image-callout-side{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid}.image-callout-side.img-left{grid-template-columns:auto 1fr}.image-callout-side.img-right{grid-template-columns:1fr auto}.image-callout-side .callout-image{border-radius:4px;max-width:200px;height:auto}.image-callout-side .callout-text{flex:1}.image-callout-wrap{align-items:flex-start;gap:1rem;display:flex}.image-callout-wrap.img-wrap-left{flex-direction:row}.image-callout-wrap.img-wrap-right{flex-direction:row-reverse}.image-callout-wrap .callout-image{shape-margin:1rem;border-radius:4px;flex-shrink:0;max-width:250px;height:auto}.image-callout-wrap .callout-text{flex:1}@media (max-width:768px){.image-callout-side,.image-callout-side.img-right{grid-template-columns:1fr}.image-callout-side .callout-image{max-width:100%}.image-callout-wrap,.image-callout-wrap.img-wrap-right{flex-direction:column}.image-callout-wrap .callout-image{max-width:100%}}@media (max-width:860px){.grid2{grid-template-columns:1fr}.span2{grid-column:auto}.homeGuideGrid{grid-template-columns:1fr}.homeQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.abilityGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.characterLibraryGrid{grid-template-columns:1fr}.characterSteps{scroll-snap-type:x proximity;padding-bottom:.25rem;display:flex;overflow-x:auto}.characterSteps button{scroll-snap-align:start;flex:none;min-width:118px}}@media (max-width:640px){html{-webkit-text-size-adjust:100%}.topbar{padding:max(.45rem, env(safe-area-inset-top)) .55rem .45rem;flex-wrap:nowrap;gap:.35rem}.topbar-left{gap:.35rem;min-width:0}.brand{text-overflow:ellipsis;font-size:1rem;overflow:hidden}.topbar-right{flex-wrap:nowrap;gap:.35rem}.topbar .btn,.topbar .btnPrimary,.topbar .iconBtn{place-items:center;min-width:42px;min-height:42px;padding:.45rem .6rem;display:inline-grid}.topbar .buttonWithIcon{display:inline-flex}.topbarScheduleLabel{display:none}.page{width:100%;padding:.65rem .55rem 2rem}.pageWorkspace{padding:0}.contentCard{border-radius:12px;width:100%;padding:.9rem}.contentCardWorkspace{border-left:0;border-right:0;border-radius:0;min-height:calc(100dvh - 58px);padding:.55rem}h1{overflow-wrap:anywhere;font-size:clamp(1.6rem,8vw,2.1rem)}h2{overflow-wrap:anywhere;font-size:clamp(1.3rem,6vw,1.65rem)}p,li{line-height:1.58}table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}button,.btn,.btnPrimary,.iconBtn,.btnDanger,.input,.select{min-height:44px}.input,.select,.textarea{font-size:16px}.writeShell{gap:10px}.card{border-radius:12px;padding:12px}.writeHeaderRow{flex-direction:column;align-items:stretch}.modeTabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%;display:grid}.modeTabs button{width:100%}.modeTabs .segBtn{padding:.55rem .35rem;font-size:.84rem}.fileExplorerBlock{padding:.7rem}.cascadeLevel{padding-left:0}.cascadeRoot{flex-direction:column;align-items:flex-start;gap:.25rem}.cascadeRoot strong{text-align:left}.fileChoiceRow{grid-template-columns:1fr}.loadPageButton{width:100%}.themePicker{grid-template-columns:52px minmax(0,1fr);display:grid}.themePicker>div:first-child,.themePicker .btn{grid-column:1/-1}.editorToolbar{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:-4px;margin-right:-4px;padding:.4rem;display:grid;position:static;overflow:visible}.editorToolbar button{width:100%;min-width:0;min-height:46px}.editorToolbar .toolbarDivider{display:none}.editorToolbar .insertMenuButton{grid-column:1/-1}.editorTextarea{min-height:58dvh}.editorHint{display:none}.contentInsertMenu{right:12px;bottom:max(12px, env(safe-area-inset-bottom));width:auto;max-height:min(78dvh,620px);top:auto!important;left:12px!important}.insertMenuGrid button,.insertMenuStack button{min-height:48px}.sessionNotice{flex-direction:column;align-items:stretch;padding:.65rem}.forumIntro{flex-direction:column}.forumIntroActions{grid-template-columns:1fr;width:100%;display:grid}.forumIntro .btn{text-align:center;width:100%}.voteSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.forumActions{grid-template-columns:1fr}.adminVoteControls{grid-template-columns:1fr;display:grid}.adminVoteControls>span{margin:0 0 .2rem}.adminVoteControls button,.commentForm .btnPrimary,.newPostCard .btnPrimary{width:100%}.forumPost{padding:.8rem}.forumFormGrid,.characterDirectoryGrid,.characterClassLinks{grid-template-columns:1fr}.contentOriginFooter{left:.65rem;right:.65rem;bottom:max(.55rem, env(safe-area-inset-bottom));max-width:none}.homePrimaryGrid,.homeQuickGrid{grid-template-columns:1fr}.homeFeatureCard{min-height:0}.characterBuilderPage{padding:.65rem}.characterLibrary,.characterEditor{padding:.7rem}.characterSectionHeading{flex-direction:column;align-items:stretch}.characterSectionHeading>.btn,.characterSectionHeading>.btnPrimary{width:100%}.characterFormGrid{grid-template-columns:1fr}.characterField.wide{grid-column:auto}.abilityGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.characterLinkExisting form{grid-template-columns:1fr}.characterLibraryGrid article{grid-template-columns:auto minmax(0,1fr)}.characterLibraryGrid article>.btn{width:100%}.characterLibraryGrid article>button{grid-column:1/2}.characterLibraryGrid article>a{grid-column:2/3}.characterStepPanel{padding:.7rem}.characterStepActions>*{flex:1}.writeShell>.card:last-child .row:last-of-type{flex-direction:column;align-items:stretch}.writeShell>.card:last-child .row:last-of-type>button{width:100%}}@media (max-width:390px){.brand{display:none}.topbar,.topbar-left,.topbar-right{gap:.25rem}.topbar .btn,.topbar .btnPrimary{min-width:0;padding-inline:.5rem;font-size:.78rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
