/* Useful page context and related tools: the existing system palette is inherited. */
.site-design .content-container>.ds-page-guide{grid-column:1/-1}
.site-design .ds-page-guide{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:24px;margin:28px 0;padding:clamp(18px,3vw,30px);border:1px solid var(--ds-border,#38505a);border-top:2px solid var(--ds-accent,#76d9e3);border-radius:14px;background:var(--ds-surface,#18232a);font-family:"Tektur",sans-serif;box-sizing:border-box;min-width:0}
.site-design .ds-page-guide h2{padding:0;color:var(--ds-text,#edf4f7);font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.4;text-transform:none}
.site-design .ds-page-guide h2{margin:0 0 12px}
.site-design .ds-page-guide p{margin:10px 0 0;color:var(--ds-muted,#bbcad0);font-size:.94rem;line-height:1.75;max-width:76ch}
.site-design .ds-page-guide-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-self:center;min-width:0}
.site-design .ds-page-guide-links a{display:flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--ds-border,#38505a);border-radius:8px;background:rgba(0,0,0,.16);color:var(--ds-accent,#76d9e3);font-size:.9rem;font-weight:600;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.site-design .ds-page-guide-links a:hover{border-color:currentColor;background:rgba(118,217,227,.08)}
.site-design .ds-page-guide-links a:focus-visible{outline:3px solid var(--ds-accent,#76d9e3);outline-offset:3px}
.site-design .ds-page-guide--grouped{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 22px;margin:18px 0}
.site-design .ds-page-guide--grouped h2{font-size:1.1rem;margin:0 0 6px}
.site-design .ds-page-guide--grouped p{max-width:none;margin:6px 0 0;font-size:.9rem}
.site-design .ds-page-guide--grouped>.ds-page-guide-links{display:flex;flex-wrap:wrap;gap:8px}
.site-design .ds-page-guide--grouped>.ds-page-guide-links a{padding:6px 12px;font-size:.85rem}
.site-design .ds-guide-choices{min-width:0;border-top:1px solid var(--ds-border,#38505a);padding-top:4px}
.site-design .ds-guide-choices>summary{cursor:pointer;min-height:44px;padding:12px 0;box-sizing:border-box;color:var(--ds-accent,#76d9e3);font-size:.9rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.site-design .ds-guide-choices>summary:focus-visible,.site-design .ds-guide-choice a:focus-visible{outline:3px solid var(--ds-accent,#76d9e3);outline-offset:3px}
.site-design .ds-guide-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 8px}
.site-design .ds-guide-choice{min-width:0;padding:14px;border:1px solid var(--ds-border,#38505a);border-radius:9px;background:rgba(0,0,0,.12)}
.site-design .ds-guide-choice h3{margin:0 0 6px;font-size:1rem;line-height:1.45;color:var(--ds-text,#edf4f7)}
.site-design .ds-guide-choice ul{margin:8px 0 0;padding:0;list-style:none}
.site-design .ds-guide-choice li{margin:0;min-width:0}
.site-design .ds-guide-choice a{display:block;min-height:44px;box-sizing:border-box;padding:10px 0;color:var(--ds-accent,#76d9e3);line-height:1.5;font-size:.9rem;text-underline-offset:.2em;overflow-wrap:anywhere}
.site-design .ds-guide-choice a:hover{text-decoration-thickness:2px}
@media(max-width:760px){.site-design .ds-guide-choice-grid{grid-template-columns:minmax(0,1fr)}.site-design .ds-page-guide--grouped{padding:16px}.site-design .ds-page-guide--grouped>.ds-page-guide-links a{flex:1 1 180px}}
.site-design .ds-reference{padding:clamp(18px,3vw,30px);border:1px solid var(--ds-border,#38505a);border-radius:14px;background:var(--ds-surface,#18232a);line-height:1.8;overflow-wrap:anywhere}
.site-design .ds-reference h1{font-size:clamp(1.45rem,3vw,2rem);line-height:1.35;margin:16px 0;color:var(--ds-text,#edf4f7)}
.site-design .ds-reference h2{margin:28px 0 10px;font-size:1.35rem;color:var(--ds-accent,#76d9e3)}
.site-design .ds-reference h3{font-size:1.1rem;margin:20px 0 8px}
.site-design .ds-reference p,.site-design .ds-reference li{max-width:85ch}
.site-design .ds-reference a{color:var(--ds-accent,#76d9e3);text-underline-offset:.2em}
.site-design .ds-reference :is(h2,h3,[id]){scroll-margin-top:150px}
.site-design .ds-reference .reference-source{padding:16px;border:1px solid var(--ds-border,#38505a);border-radius:8px;background:rgba(0,0,0,.15);margin:22px 0}
.site-design .ds-reference .reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.site-design .ds-reference .reference-card{border:1px solid var(--ds-border,#38505a);border-radius:10px;padding:18px;min-width:0}
.site-design .ds-reference .reference-card h2{margin:0 0 8px;font-size:1.15rem}
.site-design .ds-reference table{border-collapse:collapse;width:100%;font-size:.9rem}
.site-design .ds-reference .reference-table{overflow-x:auto;max-width:100%;margin:18px 0}
.site-design .ds-reference caption{text-align:left;font-weight:600;margin-bottom:10px}
.site-design .ds-reference .reference-edition{font-size:.88rem;color:var(--ds-muted,#bbcad0)}
.site-design .ds-reference .reference-source{font-size:.85rem;color:var(--ds-muted,#bbcad0)}
.site-design .ds-reference th,.site-design .ds-reference td{padding:8px 10px;border:1px solid var(--ds-border,#38505a);vertical-align:top;text-align:left}
@media(max-width:760px){.site-design .ds-page-guide{grid-template-columns:minmax(0,1fr);gap:18px}.site-design .ds-page-guide-links{grid-template-columns:minmax(0,1fr)}.site-design .ds-reference .reference-grid{grid-template-columns:minmax(0,1fr)}}
@media print{.site-design .ds-page-guide{display:none}.site-design .ds-reference{background:white;color:black;border:0;padding:0}.site-design .ds-reference a{color:black}}
.site-design .dnd-rituals nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.site-design .dnd-rituals nav a{display:inline-flex;align-items:center;min-height:44px}
.site-design .dnd-rituals .ritual-spell-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.site-design .ritual-spell-list>li{min-width:0;padding:16px;border:1px solid var(--ds-border,#38505a);border-radius:9px;background:var(--ds-surface-deep,#111b20);overflow-wrap:anywhere}
.site-design .ritual-spell-list h3{margin:0 0 10px;font-size:1.05rem;line-height:1.5}
.site-design .ritual-spell-list p{margin:8px 0;line-height:1.7;font-size:.92rem}
.site-design .ritual-spell-list summary{min-height:44px;box-sizing:border-box;padding:12px 0;cursor:pointer;color:var(--ds-accent,#76d9e3)}
.site-design .dnd-rituals :is(a,summary):focus-visible{outline:3px solid var(--ds-accent,#76d9e3);outline-offset:3px}
.site-design .dnd-rituals .ritual-source{font-size:.88rem;color:var(--ds-muted,#bbcad0)}
.site-design .dnd-rituals [id]{scroll-margin-top:9rem}
@media(max-width:760px){.site-design .dnd-rituals .ritual-spell-list{grid-template-columns:minmax(0,1fr)}}
