/* DMG uses the same fonts, reading measure, rails and table palette as the
   existing Polish readers. All additions are scoped to this reader. */
body[data-page="dmg"]{--reader-anchor-clearance:72px}
.book--dmg [id]{scroll-margin-top:var(--reader-anchor-clearance)}
.book--dmg .page-anchor{display:flex;justify-content:flex-end;height:auto;margin:0 0 .3rem}
.book--dmg .page-tools{position:static;margin-left:0;display:inline-flex}
.dmg-opener{max-width:var(--measure);margin:0 auto;padding:clamp(2rem,5vw,5.5rem) 0 2.2rem;
  border-bottom:1px solid rgba(145,242,154,.2);text-align:center}
.dmg-opener h1{font-family:'Gwyn Display',Georgia,serif;font-size:clamp(2rem,3.5vw,4rem);
  line-height:1.15;text-wrap:balance;color:#f1dfc0}
.dmg-opener p{color:var(--muted);font:600 .82rem/1.4 'Noto Sans',sans-serif}
.book--dmg .chapter{overflow-wrap:anywhere;position:relative;
  font-family:'Gwyn Display',Georgia,serif;line-height:1.3;color:#f1dfc0}
.book--dmg [data-outline-level="1"]{font-size:2.3rem;margin:2.6rem 0 1rem;color:var(--accent)}
.book--dmg [data-outline-level="2"]{font-size:1.7rem;margin:2rem 0 .8rem}
.book--dmg [data-outline-level="3"]{font-size:1.35rem;margin:1.6rem 0 .7rem}
.book--dmg [data-outline-level="4"]{font-size:1.15rem;margin:1.3rem 0 .6rem}
.book--dmg [data-outline-level="5"],.book--dmg [data-outline-level="6"]{font-size:1.05rem;margin:1.1rem 0 .45rem}
.book--dmg .tbl{overflow-x:auto;max-width:100%}
.book--dmg .tbl table{width:100%}
.book--dmg .book-smallcaps{font-variant:small-caps}
.book--dmg p.dmg-settlement-fact{margin:0;padding-left:1em;text-indent:-1em}
.book--dmg p.dmg-settlement-fact + p:not(.dmg-settlement-fact){margin-top:.75em}
.book--dmg .book-dropcap{float:left;font-size:3.2em;line-height:.85;margin:.08em .13em 0 0}
.book--dmg .dmg-callout{margin:1.4rem 0;padding:1rem 1.2rem;border-block:2px solid var(--accent);background:var(--panel)}
.book--dmg .dmg-callout-title{margin-bottom:.65rem;font-family:'Noto Sans',sans-serif}
.book--dmg .tbl--wide table{font-size:.82rem}
.book--dmg .tbl .tfoot{white-space:normal;padding:.55rem .75rem}
.book--dmg .book-art{margin:1.3rem 0;max-width:100%}
.book--dmg .book-art-open{display:block;border:0;background:transparent;padding:0;cursor:zoom-in;width:100%}
.book--dmg .book-art img{display:block;width:100%;height:auto}
.book--dmg .dmg-illustration-page{max-width:38rem;margin-inline:auto}
.dmg-continuation{display:block;margin:.3rem 0 1rem;color:var(--muted);font:500 .75rem 'Noto Sans',sans-serif}
.dmg-continuation button{background:transparent;color:inherit;border:1px solid var(--line);padding:.25rem .4rem;cursor:pointer}
body[data-page="dmg"] .toc ul{list-style:none;padding-left:.85rem}
body[data-page="dmg"] .toc a{white-space:normal;overflow-wrap:anywhere}
@media(min-width:1360px){
  body[data-page="dmg"]{--reader-left-rail:320px;--reader-right-rail:336px;
    --gwyn-left-edge:0px;--gwyn-right-edge:0px}
  body[data-page="dmg"] main.app{display:grid;
    grid-template-columns:var(--reader-left-rail) minmax(0,1fr) var(--reader-right-rail);
    width:100%;max-width:none;margin:0;align-items:start}
  body[data-page="dmg"] .reader{display:contents}
  body[data-page="dmg"] .reader-main{grid-column:2;min-width:0;margin:0;padding-inline:clamp(1rem,2.4vw,2.4rem)}
  body[data-page="dmg"] .side-panel--left[data-persistent],
  body[data-page="dmg"] .side-panel--right[data-persistent]{display:block;position:sticky;top:0;
    height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;transform:none;
    clip-path:inset(0);transition:clip-path .18s ease,opacity .18s ease;
    font-family:'Noto Sans',system-ui,sans-serif;background:var(--panel)}
  body[data-page="dmg"] .side-panel--left[data-persistent]{grid-column:1;width:var(--reader-left-rail);padding:1.2rem 1.05rem 1.1rem}
  body[data-page="dmg"] .side-panel--right[data-persistent]{grid-column:3;right:auto;width:var(--reader-right-rail);padding:1.2rem 1rem 1.1rem}
  body[data-page="dmg"] .side-panel--left[data-persistent].collapsed{clip-path:inset(0 100% 0 0);opacity:0;pointer-events:none}
  body[data-page="dmg"] .side-panel--right[data-persistent].collapsed{clip-path:inset(0 0 0 100%);opacity:0;pointer-events:none}
  body[data-page="dmg"]:has(.side-panel--left[data-persistent]:not(.collapsed)){--gwyn-left-edge:var(--reader-left-rail)}
  body[data-page="dmg"]:has(.side-panel--right[data-persistent]:not(.collapsed)){--gwyn-right-edge:var(--reader-right-rail)}
}
@media(max-width:900px){
  body[data-page="dmg"]{--measure:100%;font-size:17px}
  body[data-page="dmg"] .reader-main{padding:0}
  .dmg-opener{padding:2.5rem 1.1rem 1.8rem}
  .book--dmg .content{padding:0 1rem}
  .book--dmg .tbl--wide table{min-width:36rem}
}
@media print{
  body[data-page="dmg"]{background:#fff!important;color:#000!important}
  body[data-page="dmg"] .side-panel,body[data-page="dmg"] .edge-tab,
  body[data-page="dmg"] .site-footer{display:none!important}
  body[data-page="dmg"] main.app,body[data-page="dmg"] .reader,
  body[data-page="dmg"] .reader-main{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
  .book--dmg,.book--dmg .content,.book--dmg .dmg-callout{background:#fff!important;color:#000!important;max-width:none!important}
  .book--dmg .chapter,.dmg-opener h1,.book--dmg a,.book--dmg strong,.book--dmg em{color:#000!important}
  .book--dmg .tbl table,.book--dmg .tbl th,.book--dmg .tbl td{color:#000!important;border-color:#777!important;white-space:normal}
  .book--dmg .tbl th{background:#eee!important}
  .book--dmg .tbl tbody tr{background:#fff!important;break-inside:avoid}
  .book--dmg .tbl tbody tr:nth-child(even){background:#eee!important}
  .book--dmg .book-art{break-inside:avoid}
  .book--dmg .book-art img{max-height:235mm;object-fit:contain}
  .dmg-opener p,.dmg-continuation,.book--dmg .page-tools{display:none}
  .book--dmg .page-flow{content-visibility:visible;contain:none}
  .book--dmg .tbl{overflow:visible}
  .book--dmg .tbl--wide table{min-width:0}
}

/* Literal source-backed creature blocks are scoped to the DMG reader. */
.book--dmg .dmg-statblock-block{position:relative;max-width:48rem;margin:1.5em auto}
.book--dmg .dmg-statblock-block>.pin-btn{position:absolute;right:12px;top:12px;z-index:1}
.book--dmg .dmg-statblock{padding:16px;background:#fffce7;border:2px solid #9b761f;color:#231d18}
.book--dmg .dmg-statblock p{margin:.35em 0}
.book--dmg .dmg-statblock-title{font-size:1.7em;font-variant:small-caps;color:#6a211d;padding-right:2em}
.book--dmg .dmg-statblock-properties,.book--dmg .dmg-statblock-abilities{margin:1em 0;padding-top:.6em;border-top:3px solid #9e342b}
.book--dmg .dmg-statblock-properties p{font-family:system-ui,sans-serif;font-size:.88em}
.book--dmg .dmg-statblock-abilities{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.book--dmg .dmg-statblock-abilities th,.book--dmg .dmg-statblock-abilities td{text-align:center;padding:.3em .1em;white-space:nowrap;font-size:.85em}
.book--dmg .dmg-statblock-abilities th{font-family:system-ui,sans-serif}
.book--dmg .dmg-statblock-section{font-variant:small-caps;font-size:1.25em;border-bottom:1px solid #9e342b;padding-top:.4em}
@media print{
 .book--dmg .dmg-statblock{background:#fff;color:#000;break-inside:avoid}
 .book--dmg .dmg-statblock-title{color:#000}
 .book--dmg .dmg-statblock-block>.pin-btn{display:none}
}

/* Explicit source-reviewed paragraph and table roles. */
.book--dmg p.dmg-quotation{margin-block:.65em;text-indent:0}
.book--dmg p.dmg-quotation+p.dmg-quotation{text-indent:1em}
.book--dmg p.dmg-attribution{text-align:right;font-size:.9em;margin-block:.35em 1.25em}
.book--dmg p.dmg-compact-line{margin-block:.15em;text-indent:0}
.book--dmg p.dmg-bullet{position:relative;margin-block:.55em;padding-left:1.15em;text-indent:0}
.book--dmg p.dmg-bullet::before{content:'•';position:absolute;left:.15em}
.book--dmg .tbl td.dmg-nowrap{white-space:nowrap}
.book--dmg .tbl th.dmg-nowrap{white-space:nowrap}

/* Print must override cell backgrounds, not only the row behind them. */
@media print{
 .book--dmg figcaption,.book--dmg .dmg-callout-title{color:#000!important}
 .book--dmg .tbl td,.book--dmg .dmg-statblock td{background:#fff!important;color:#000!important}
 .book--dmg .tbl tbody tr:nth-child(even) td{background:#eee!important}
 .book--dmg .dmg-statblock th{background:#eee!important;color:#000!important}
}
