/* PyCodex standalone hub — intentionally reuses PyRoller/PySpellbook/PyMonsters visual patterns. */
.pycodex-shell{min-height:100vh;}
.pycodex-container{max-width:1460px;padding-top:22px;padding-bottom:48px;}
.pycodex-topbar{box-shadow:0 8px 24px var(--py-header-shadow);}
.pycodex-hero{display:block;margin-bottom:20px;overflow:hidden;position:relative;}
.pycodex-hero::after{content:"";position:absolute;right:-64px;top:-110px;width:260px;height:260px;border-radius:999px;border:38px solid var(--py-hero-orb-border);pointer-events:none;}
.pycodex-title{position:relative;z-index:1;font-size:48px;line-height:1.02;margin:12px 0 10px;color:var(--py-text-strong);letter-spacing:-.04em;font-weight:900;}
.pycodex-lede{position:relative;z-index:1;font-size:20px;line-height:1.35;color:var(--py-muted);max-width:950px;margin:0;}
.pycodex-module-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;padding:16px;}
.codex-tab{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-height:76px;border:2px solid var(--line);border-radius:18px;background:var(--py-panel-soft);color:var(--py-text-strong);padding:15px 17px;text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease;}
.codex-tab strong{display:block;font-size:28px;line-height:1.05;font-weight:900;letter-spacing:-.02em;}
.codex-tab-kicker{display:block;margin-bottom:5px;color:var(--py-muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;}
.codex-tab::after{content:"Open";align-self:center;border:2px solid var(--py-border-soft);border-radius:999px;padding:6px 10px;color:var(--py-muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:var(--py-elevated-panel);}
.codex-tab:hover,.codex-tab:focus-visible{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 12px 30px var(--py-shadow-panel);outline:none;}
.codex-tab.active{border-color:var(--accent);background:linear-gradient(135deg,var(--py-primary-glass),var(--py-panel-soft));}
.codex-tab.active::after{content:"Active";background:var(--accent);border-color:var(--accent);color:var(--py-on-primary);}
.codex-panel{display:grid;gap:20px;}
.codex-panel[hidden]{display:none!important;}
.pycodex-legal-note{margin:20px 0 0;font-size:14px;line-height:1.45;}
.pycodex-legal-note strong{color:var(--py-text-strong);}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

/* Keep the nested tools aligned in the shared hub. */
#codex-spells .spell-results-panel,
#codex-creatures .results-panel,
#codex-items .item-results-panel,
#codex-spells .spell-browser-panel,
#codex-creatures .search-panel,
#codex-items .item-browser-panel{margin-bottom:0;}
#codex-creatures .monster-basic-search-grid{grid-template-columns:minmax(280px,1.6fr) 145px 145px minmax(190px,.8fr);}
#codex-creatures .monster-advanced-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
#codex-spells .spell-advanced-grid{grid-template-columns:minmax(260px,1.15fr) repeat(4,minmax(160px,1fr));}
#codex-items .item-advanced-grid{grid-template-columns:minmax(260px,1.15fr) repeat(4,minmax(160px,1fr));}

/* Shared compact roll popup target for both modules. */
.codex-roll-toast.roll-toast{left:50%!important;right:auto!important;bottom:22px!important;transform:translate(-50%,20px)!important;width:min(520px,calc(100vw - 36px))!important;min-height:auto!important;padding:14px 20px 15px!important;border:0!important;border-radius:16px!important;background:rgba(14,55,94,.96)!important;color:white!important;box-shadow:0 16px 38px rgba(0,0,0,.34)!important;text-align:left!important;z-index:1600!important;pointer-events:none!important;}
.codex-roll-toast.roll-toast.show{opacity:1!important;transform:translate(-50%,0)!important;}
.codex-roll-toast .roll-popup-eyebrow{font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase!important;opacity:.65!important;font-weight:950!important;}
.codex-roll-toast .roll-popup-main{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:18px!important;margin-top:2px!important;}
.codex-roll-toast .roll-popup-title{font-size:22px!important;line-height:1.05!important;margin:0!important;min-width:0!important;font-weight:950!important;}
.codex-roll-toast .roll-popup-total{font-size:40px!important;line-height:.95!important;margin:0!important;flex:0 0 auto!important;font-weight:950!important;}
.codex-roll-toast .roll-popup-equation{font-size:15px!important;line-height:1.15!important;margin-top:5px!important;font-weight:850!important;opacity:1!important;}
.codex-roll-toast .roll-popup-meta{font-size:12px!important;line-height:1.15!important;margin-top:5px!important;opacity:.72!important;font-weight:850!important;}

@media (max-width:1100px){
  #codex-creatures .monster-basic-search-grid,
  #codex-creatures .monster-advanced-grid,
  #codex-spells .spell-advanced-grid,
  #codex-items .item-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  .pycodex-container{padding:18px;}
  .pycodex-title{font-size:38px;}
  .pycodex-lede{font-size:17px;}
  .pycodex-module-nav{grid-template-columns:1fr;}
  .codex-tab strong{font-size:24px;}
  #codex-creatures .monster-basic-search-grid,
  #codex-creatures .monster-advanced-grid,
  #codex-spells .spell-advanced-grid,
  #codex-items .item-advanced-grid{grid-template-columns:1fr;}
  .codex-roll-toast .roll-popup-main{display:block!important;}
  .codex-roll-toast .roll-popup-total{margin-top:4px!important;}
}

/* Cross-module spell lookup drawer for creature spell links. */
.codex-linked-spell-drawer{left:0!important;right:auto!important;transform:translateX(-104%)!important;}
.codex-linked-spell-drawer.open{transform:translateX(0)!important;}
.codex-linked-spell-drawer .spell-inspection-card{border-left:0!important;border-right:2px solid var(--line)!important;box-shadow:12px 0 28px var(--py-shadow-panel)!important;}
.monster-spell-toolbar{margin-top:8px;}
.monster-spell-chip{border:2px solid color-mix(in srgb,var(--accent) 65%,var(--py-border-soft));background:color-mix(in srgb,var(--accent) 12%,var(--py-panel));color:var(--py-text-strong);border-radius:999px;font-size:13px;font-weight:900;padding:6px 11px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.monster-spell-chip span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--py-muted);}
.monster-spell-chip:hover,.monster-spell-chip:focus-visible{background:var(--accent);color:var(--py-on-primary);outline:none;}
.monster-spell-chip:hover span,.monster-spell-chip:focus-visible span{color:var(--py-on-primary);opacity:.75;}

/* Creature side-panel stat blocks. PyCodex now opens PyMonsters stat blocks in a drawer instead of inline result dropdowns. */
.monster-result-card.selected{border-color:var(--accent)!important;box-shadow:0 12px 30px var(--py-shadow-panel)!important;}
.monster-result-card.selected .monster-result-main{background:linear-gradient(135deg,var(--py-primary-glass),var(--py-panel-soft))!important;}
.monster-name-button{appearance:none;border:0;background:transparent;color:var(--py-text-strong);font:inherit;font-weight:950;letter-spacing:inherit;text-align:left;padding:0;margin:0;cursor:pointer;line-height:1.05;}
.monster-name-button:hover,.monster-name-button:focus-visible{color:var(--accent);outline:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;}
.monster-inspection-drawer{position:fixed;top:0;right:0;height:100vh;width:min(760px,94vw);transform:translateX(104%);transition:transform .22s ease;z-index:980;pointer-events:none;}
.monster-inspection-drawer.open{transform:translateX(0);pointer-events:auto;}
.monster-inspection-card{height:100%;background:var(--py-panel-glass);border-left:2px solid var(--line);box-shadow:-12px 0 28px var(--py-shadow-panel);display:grid;grid-template-rows:auto 1fr;}
.monster-inspection-header{padding:18px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:2px solid var(--py-border-faint);background:var(--py-panel-glass);}
.monster-inspection-title{font-size:24px;font-weight:900;margin-top:4px;color:var(--py-text-strong);line-height:1.08;}
.monster-inspection-body{padding:18px;overflow:auto;line-height:1.6;font-size:15px;background:var(--py-panel-glass);}
.monster-inspection-body .pm-statblock{margin-top:0;}
.monster-inspection-body .wide-statblock .statblock-columns{grid-template-columns:1fr;}
.monster-inspection-body .pm-statblock-name{font-size:36px;}
.monster-inspection-body .pm-statblock-meta{font-size:18px;}
.monster-inspection-body .pm-row{grid-template-columns:170px minmax(0,1fr);font-size:16px;}
.monster-inspection-body .pm-section-heading{font-size:26px;}
.monster-inspection-body .pm-feature{font-size:16px;}
@media (max-width:820px){
  .monster-inspection-drawer{width:100vw;}
  .monster-inspection-body{padding:14px;}
  .monster-inspection-body .pm-row{grid-template-columns:1fr;gap:2px;}
  .monster-inspection-body .pm-statblock-name{font-size:30px;}
  .monster-inspection-body .pm-statblock-header{display:block;}
  .monster-inspection-body .pm-cr-badge{text-align:left;margin-top:10px;}
}

/* v0.7 Creatures: use PyEncounters-style side stat viewer instead of PyMonsters column stat blocks. */
#codex-creatures .monster-table-head,
#codex-creatures .monster-result-main{
  grid-template-columns:80px minmax(260px,1.65fr) minmax(150px,.75fr) minmax(110px,.55fr) minmax(180px,1fr)!important;
}
#codex-creatures .monster-table-head div:nth-child(n+6){display:none!important;}
#codex-creatures .details-btn{display:none!important;}

.monster-inspection-drawer.encounter-stat-viewer{
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:1fr minmax(420px,720px)!important;
  transform:none!important;
  transition:opacity .18s ease, visibility .18s ease!important;
  z-index:980!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.monster-inspection-drawer.encounter-stat-viewer.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.monster-inspection-drawer .encounter-stat-viewer-backdrop{
  grid-column:1/-1;
  grid-row:1;
  background:rgba(0,0,0,.42);
}
.monster-inspection-drawer .encounter-stat-viewer-panel{
  grid-column:2;
  grid-row:1;
  position:relative;
  align-self:stretch;
  overflow:auto;
  background:var(--py-elevated-panel);
  border-left:3px solid var(--line);
  box-shadow:-18px 0 44px rgba(0,0,0,.28);
  padding:8px 10px 10px;
}
.monster-inspection-drawer .stat-viewer-close{
  position:sticky;
  top:0;
  float:none;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 0 8px auto;
  border:2px solid var(--line);
  border-radius:10px;
  background:var(--py-panel-soft);
  color:var(--py-text-strong);
  font-weight:950;
  padding:6px 10px;
  font-size:13px;
  cursor:pointer;
}
.monster-inspection-drawer .stat-viewer-close:hover,
.monster-inspection-drawer .stat-viewer-close:focus-visible{
  border-color:var(--accent);
  color:var(--accent);
  outline:none;
}
.monster-inspection-drawer .stat-viewer-content{
  clear:none;
  display:grid;
  gap:0;
}
.monster-inspection-drawer .monster-stat-block{
  margin:0;
  padding:8px 10px 10px;
  border:2px solid var(--line);
  border-radius:12px;
  background:var(--py-panel-soft);
  color:var(--py-text);
  font-size:14px;
  line-height:1.25;
}
.monster-inspection-drawer .stat-block-title-row{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
}
.monster-inspection-drawer .stat-block-title-row h4{
  margin:0;
  color:var(--py-text-strong);
  font-size:20px;
  line-height:1;
  font-weight:950;
}
.monster-inspection-drawer .stat-block-title-row p{
  margin:3px 0 0;
  color:var(--py-muted);
  font-size:13px;
  line-height:1.15;
  font-weight:800;
  font-style:italic;
}
.monster-inspection-drawer .stat-block-cr{
  border:1.5px solid var(--line);
  border-radius:999px;
  padding:3px 8px;
  background:var(--py-panel-soft);
  color:var(--py-text-strong);
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.monster-inspection-drawer .stat-block-rule{
  height:1px;
  background:var(--line);
  margin:6px 0;
  opacity:.55;
}
.monster-inspection-drawer .stat-block-lines p,
.monster-inspection-drawer .stat-block-section p,
.monster-inspection-drawer .stat-block-description{
  margin:3px 0;
  line-height:1.24;
}
.monster-inspection-drawer .stat-block-lines strong,
.monster-inspection-drawer .stat-block-section strong{
  color:var(--py-text-strong);
  font-weight:950;
}
.monster-inspection-drawer .ability-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  margin:7px 0;
  border:1px solid var(--py-border-soft);
  border-radius:12px;
  overflow:hidden;
  background:var(--py-panel-soft);
}
.monster-inspection-drawer .ability-strip .ability-roll-cell{
  display:block;
  width:100%;
  border:0;
  border-right:1px solid var(--py-border-soft);
  border-radius:0;
  background:transparent;
  color:var(--py-text);
  font:inherit;
  text-align:center;
  padding:5px 4px;
  cursor:pointer;
  transition:box-shadow .14s ease,background-color .14s ease,transform .14s ease,color .14s ease;
}
.monster-inspection-drawer .ability-strip .ability-roll-cell:last-child{border-right:0;}
.monster-inspection-drawer .ability-strip .ability-roll-cell strong{
  display:block;
  color:var(--py-text-strong);
  font-size:10px;
  letter-spacing:.07em;
}
.monster-inspection-drawer .ability-strip .ability-roll-cell span{
  display:block;
  margin-top:1px;
  font-weight:850;
  color:var(--py-text);
  font-size:12px;
}
.monster-inspection-drawer .ability-strip .ability-roll-cell:hover,
.monster-inspection-drawer .ability-strip .ability-roll-cell:focus-visible{
  background:color-mix(in srgb,var(--accent) 12%,var(--py-panel-soft));
  color:var(--py-text-strong);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent) inset,0 0 18px color-mix(in srgb,var(--accent) 24%,transparent);
  outline:none;
  transform:translateY(-1px);
}
.monster-inspection-drawer .stat-block-section{
  border-top:1px solid var(--py-border-soft);
  margin-top:6px;
  padding-top:5px;
}
.monster-inspection-drawer .stat-block-section h5{
  margin:0 0 3px;
  color:var(--py-text-strong);
  font-size:15px;
  line-height:1.1;
  font-weight:950;
}
.monster-inspection-drawer .stat-block-feature{margin:3px 0 6px;}
.monster-inspection-drawer .stat-block-description{
  border-top:1px solid var(--py-border-soft);
  padding-top:5px;
  color:var(--py-muted);
  font-style:italic;
}
.monster-inspection-drawer .stat-block-empty{padding:12px;color:var(--py-muted);font-weight:850;}
.monster-inspection-drawer .roll-chip,
.monster-inspection-drawer .pm-save-roll-chip{
  font-size:11px!important;
  padding:4px 7px!important;
  border-width:1.5px!important;
  min-height:auto!important;
}
.monster-inspection-drawer .pm-action-toolbar{gap:4px!important;margin-top:6px!important;}
.monster-inspection-drawer .pm-save-rolls{gap:4px;}
.monster-inspection-drawer .monster-spell-toolbar{margin-top:6px!important;}
.monster-inspection-drawer .monster-spell-chip{
  font-size:11px;
  padding:4px 8px;
  border-width:1.5px;
}
.monster-inspection-drawer .monster-spell-chip span{font-size:9px;}
@media (max-width:820px){
  .monster-inspection-drawer.encounter-stat-viewer{grid-template-columns:1fr!important;}
  .monster-inspection-drawer .encounter-stat-viewer-panel{grid-column:1;border-left:0;padding:10px;}
  .monster-inspection-drawer .ability-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
  .monster-inspection-drawer .ability-strip .ability-roll-cell:nth-child(3n){border-right:0;}
  .monster-inspection-drawer .stat-block-title-row{flex-direction:column;}
  .monster-inspection-drawer .stat-block-cr{align-self:flex-start;}
}
@media (max-width:1100px){
  #codex-creatures .monster-result-main{grid-template-columns:74px minmax(0,1fr)!important;}
  #codex-creatures .monster-table-head{display:none!important;}
  #codex-creatures .result-type,
  #codex-creatures .result-size,
  #codex-creatures .result-habitat{display:none!important;}
}

/* v0.8 drawer polish: solid side panels, non-sticky close button, compact spell detail spacing. */
.spell-inspection-card,
.spell-inspection-header,
.spell-inspection-body,
.monster-inspection-drawer .encounter-stat-viewer-panel,
.monster-inspection-drawer .stat-viewer-content{
  background:var(--py-elevated-panel)!important;
}
[data-py-mode="dark"] .spell-inspection-card,
[data-py-mode="dark"] .spell-inspection-header,
[data-py-mode="dark"] .spell-inspection-body,
[data-py-mode="dark"] .monster-inspection-drawer .encounter-stat-viewer-panel,
[data-py-mode="dark"] .monster-inspection-drawer .stat-viewer-content{
  background:var(--py-elevated-panel)!important;
}
.monster-inspection-drawer .encounter-stat-viewer-panel{
  padding:12px 12px 14px!important;
}
.monster-inspection-drawer .stat-viewer-close{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  display:inline-flex!important;
  margin:0 0 10px 0!important;
  border:2px solid var(--accent)!important;
  border-radius:12px!important;
  background:var(--py-panel)!important;
  color:var(--accent)!important;
  padding:10px 14px!important;
  font-size:14px!important;
  line-height:1!important;
  box-shadow:none!important;
}
.monster-inspection-drawer .stat-viewer-close:hover,
.monster-inspection-drawer .stat-viewer-close:focus-visible{
  background:var(--accent)!important;
  color:var(--py-on-primary)!important;
  border-color:var(--accent)!important;
}
.monster-inspection-drawer .monster-stat-block{
  background:var(--py-panel-soft)!important;
}
.spell-inspection-header{padding:14px 18px!important;}
.spell-inspection-body{padding:14px 20px!important;line-height:1.42!important;font-size:14.5px!important;}
.spell-detail-flags{margin:0 0 10px!important;gap:7px!important;}
.spell-detail-list{margin:0 0 10px!important;}
.spell-detail-line{margin:0 0 4px!important;font-size:14.5px!important;line-height:1.3!important;}
.spell-section{padding:11px 0 0!important;margin:11px 0 0!important;}
.spell-section h3{margin:0 0 7px!important;}
.spell-control-grid{margin-bottom:8px!important;gap:8px!important;}
.spell-chip-grid{gap:6px!important;}
.spell-info-chip,
.spell-section .roll-chip{font-size:12.5px!important;padding:4px 8px!important;min-height:30px!important;}
.spell-description{font-size:14.5px!important;line-height:1.42!important;}
.spell-description p{margin:0 0 8px!important;}
.spell-description .higher-levels{margin:6px 0 0!important;padding-left:10px!important;}

/* v0.9 drawer cleanup: no dim/transparent monster backdrop, solid panels, separated creature notes. */
.monster-inspection-drawer.encounter-stat-viewer{
  grid-template-columns:1fr minmax(420px,720px)!important;
  background:transparent!important;
}
.monster-inspection-drawer .encounter-stat-viewer-backdrop{
  background:transparent!important;
}
.monster-inspection-drawer .encounter-stat-viewer-panel,
.monster-inspection-drawer .stat-viewer-content{
  background:var(--py-panel)!important;
}
.monster-inspection-drawer .monster-stat-block{
  background:var(--py-panel-soft)!important;
  margin:0!important;
}
.monster-drawer-description{
  margin:12px 0 0;
  padding:4px 2px 2px;
  color:var(--py-text);
  font-size:14px;
  line-height:1.38;
}
.monster-drawer-description h4{
  margin:12px 0 5px;
  color:var(--py-text-strong);
  font-size:17px;
  line-height:1.15;
  font-weight:950;
  border-bottom:2px solid var(--line);
  padding-bottom:4px;
}
.monster-drawer-description h4:first-child{margin-top:0;}
.monster-drawer-description p{
  margin:0 0 8px;
  color:var(--py-muted-strong,var(--py-muted));
  font-style:italic;
}
.monster-drawer-description p + p{margin-top:7px;}
.spell-inspection-card,
.spell-inspection-header,
.spell-inspection-body{
  background:var(--py-panel)!important;
}
[data-py-mode="dark"] .spell-inspection-card,
[data-py-mode="dark"] .spell-inspection-header,
[data-py-mode="dark"] .spell-inspection-body,
[data-py-mode="dark"] .monster-inspection-drawer .encounter-stat-viewer-panel,
[data-py-mode="dark"] .monster-inspection-drawer .stat-viewer-content{
  background:var(--py-panel)!important;
}
@media (max-width:820px){
  .monster-inspection-drawer.encounter-stat-viewer{grid-template-columns:1fr!important;}
}

/* v0.11 drawer consistency and item detail density. */
.spell-inspection-card,
.spell-inspection-header,
.spell-inspection-body,
.item-inspection-card,
.item-inspection-header,
.item-inspection-body,
.monster-inspection-drawer .encounter-stat-viewer-panel,
.monster-inspection-drawer .stat-viewer-content{
  background:var(--py-panel)!important;
}
[data-py-mode="dark"] .spell-inspection-card,
[data-py-mode="dark"] .spell-inspection-header,
[data-py-mode="dark"] .spell-inspection-body,
[data-py-mode="dark"] .item-inspection-card,
[data-py-mode="dark"] .item-inspection-header,
[data-py-mode="dark"] .item-inspection-body,
[data-py-mode="dark"] .monster-inspection-drawer .encounter-stat-viewer-panel,
[data-py-mode="dark"] .monster-inspection-drawer .stat-viewer-content{
  background:var(--py-panel)!important;
}
.item-inspection-header{padding:14px 18px!important;}
.item-inspection-body{padding:14px 20px!important;line-height:1.42!important;font-size:14.5px!important;}
.item-detail-list{margin:0 0 10px!important;}
.item-detail-line{margin:0 0 4px!important;font-size:14.5px!important;line-height:1.3!important;}
.item-section{padding:11px 0 0!important;margin:11px 0 0!important;}
.item-section h3{margin:0 0 7px!important;}
.item-chip-grid{gap:6px!important;}
.item-section .roll-chip,
.item-spell-chip{font-size:12.5px!important;padding:4px 8px!important;min-height:30px!important;}
.item-description,
.item-full-description,
.item-empty-description{font-size:14.5px!important;line-height:1.42!important;}
.item-description p{margin:0 0 8px!important;}


/* v0.21a monster description cleanup */
.monster-drawer-description p,
.pm-description p{
  font-style:normal;
}
.monster-drawer-description p strong,
.pm-description p strong{
  color:var(--py-text-strong);
  font-weight:900;
}
.monster-drawer-description blockquote,
.pm-description blockquote{
  margin:10px 0 14px;
  padding:9px 12px;
  border-left:4px solid var(--accent);
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  color:var(--py-muted-strong,var(--py-muted));
  font-style:italic;
  border-radius:0 10px 10px 0;
}
.monster-description-list{
  margin:8px 0 14px 1.2rem;
  padding-left:.8rem;
}
.monster-description-list li{
  margin:5px 0;
  line-height:1.45;
}
.monster-description-table-wrap{
  width:100%;
  overflow-x:auto;
  margin:9px 0 16px;
  border:1px solid var(--line);
  border-radius:10px;
}
.monster-description-table{
  width:100%;
  min-width:420px;
  border-collapse:collapse;
  background:var(--py-panel);
  color:var(--py-text);
  font-size:.92em;
}
.monster-description-table th,
.monster-description-table td{
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--line);
}
.monster-description-table th{
  background:var(--py-panel-soft);
  color:var(--py-text-strong);
  font-weight:900;
}
.monster-description-table tr:last-child td{
  border-bottom:0;
}
.roll-chip[data-roll-kind="recharge"]{
  border-style:dashed;
}

.monster-spell-list-line{margin:3px 0 2px;}
.monster-spell-list-line + .monster-spell-toolbar{margin-top:4px!important;}
