/* ===== Tavernen-Kompendium — geteilter Doku-Viewer (Portal + Heldenbuch + Klingen) ===== */
/* Eigenständige Farben (Pergament/Holz/Kupfer), damit es in allen drei Apps identisch aussieht. */
.tavdocs-overlay{
  --td-parch:#f3ead2; --td-parch2:#fbf5e6; --td-ink:#2a2016; --td-muted:#7a6a52;
  --td-wood:#3a2c1c; --td-copper:#b87333; --td-line:rgba(58,44,28,.16);
  position:fixed; inset:0; z-index:120000; display:none;
  background:rgba(20,14,8,.72); backdrop-filter:blur(2px);
  font-family:'Inter',system-ui,Arial,sans-serif;
}
.tavdocs-overlay.show{display:flex; align-items:center; justify-content:center;}
.tavdocs-panel{
  width:min(1040px,96vw); height:min(88vh,920px); background:var(--td-parch);
  border:1px solid var(--td-copper); border-radius:16px; overflow:hidden;
  display:flex; flex-direction:column; box-shadow:0 24px 70px rgba(0,0,0,.5);
}
.tavdocs-head{
  display:flex; align-items:center; gap:10px; padding:13px 16px;
  background:linear-gradient(180deg,#241a10,#3a2c1c); color:var(--td-parch2);
  border-bottom:2px solid var(--td-copper);
}
.tavdocs-head .td-title{font-family:Fraunces,Georgia,serif; font-size:18px; font-weight:600; letter-spacing:.3px;}
.tavdocs-head .td-scope{font-size:12px; opacity:.8; margin-left:2px;}
.tavdocs-head .td-spacer{flex:1;}
.tavdocs-head button{
  background:rgba(255,255,255,.08); color:var(--td-parch2); border:1px solid rgba(255,255,255,.22);
  border-radius:9px; padding:6px 11px; cursor:pointer; font-size:13px; line-height:1; font-weight:600;
}
.tavdocs-head button:hover{background:rgba(255,255,255,.18);}
.tavdocs-head .td-close{font-size:18px; padding:4px 10px;}
.tavdocs-body{flex:1; display:flex; min-height:0;}
.tavdocs-list{
  width:248px; flex:none; overflow-y:auto; padding:12px 10px;
  background:rgba(58,44,28,.05); border-right:1px solid var(--td-line);
}
.tavdocs-list .td-group{font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:var(--td-muted); margin:8px 8px 4px;}
.tavdocs-list button{
  display:block; width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:9px 11px; border-radius:9px; font-size:14px; color:var(--td-ink); margin-bottom:2px;
}
.tavdocs-list button:hover{background:rgba(184,115,51,.13);}
.tavdocs-list button.active{background:var(--td-wood); color:var(--td-parch2); font-weight:600;}
.tavdocs-reader{flex:1; overflow-y:auto; padding:22px 28px 40px; color:var(--td-ink); background:var(--td-parch2);}
.tavdocs-reader .td-vbar{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px;
  padding-bottom:12px; border-bottom:1px solid var(--td-line);
}
.tavdocs-reader .td-badge{
  font-size:12px; font-weight:700; color:#fff; background:var(--td-copper);
  border-radius:999px; padding:3px 11px; letter-spacing:.3px;
}
.tavdocs-reader .td-badge.muted{background:var(--td-wood);}
.tavdocs-reader .td-actions{margin-left:auto; display:flex; gap:8px;}
.tavdocs-reader .td-actions button{
  background:#fff; border:1px solid var(--td-copper); color:var(--td-wood);
  border-radius:9px; padding:6px 12px; cursor:pointer; font-size:13px; font-weight:600;
}
.tavdocs-reader .td-actions button:hover{background:var(--td-copper); color:#fff;}
.tavdocs-reader .td-actions button:disabled{opacity:.5; cursor:default;}

/* gerendertes Markdown */
.td-md{line-height:1.62; font-size:15px;}
.td-md h1{font-family:Fraunces,Georgia,serif; font-size:27px; margin:.2em 0 .5em; color:var(--td-wood);}
.td-md h2{font-family:Fraunces,Georgia,serif; font-size:21px; margin:1.3em 0 .4em; color:var(--td-wood); border-bottom:1px solid var(--td-line); padding-bottom:4px;}
.td-md h3{font-size:17px; margin:1.1em 0 .3em; color:#5a4126;}
.td-md h4{font-size:15px; margin:1em 0 .2em; color:#5a4126;}
.td-md p{margin:.6em 0;}
.td-md ul,.td-md ol{margin:.5em 0 .7em; padding-left:1.5em;}
.td-md li{margin:.25em 0;}
.td-md a{color:#9a5a1e; text-decoration:underline; text-underline-offset:2px;}
.td-md code{background:rgba(58,44,28,.1); padding:1px 5px; border-radius:5px; font-family:'JetBrains Mono',Consolas,monospace; font-size:.88em;}
.td-md pre{background:#241a10; color:#f1e7c9; padding:12px 14px; border-radius:10px; overflow-x:auto; margin:.7em 0;}
.td-md pre code{background:none; padding:0; color:inherit;}
.td-md blockquote{margin:.7em 0; padding:8px 14px; border-left:3px solid var(--td-copper); background:rgba(184,115,51,.08); border-radius:0 8px 8px 0; color:#5a4126;}
.td-md hr{border:none; border-top:1px solid var(--td-line); margin:1.3em 0;}
.td-md table{border-collapse:collapse; width:100%; margin:.8em 0; font-size:14px;}
.td-md th,.td-md td{border:1px solid var(--td-line); padding:7px 10px; text-align:left; vertical-align:top;}
.td-md th{background:rgba(58,44,28,.08); font-weight:700;}
.td-md tbody tr:nth-child(even){background:rgba(58,44,28,.03);}

/* Revisionstabelle */
.td-revisions{margin-top:30px; padding-top:14px; border-top:2px solid var(--td-line);}
.td-revisions h3{font-size:14px; text-transform:uppercase; letter-spacing:.6px; color:var(--td-muted); margin:0 0 8px;}
.td-revisions table{border-collapse:collapse; width:100%; font-size:13px;}
.td-revisions th,.td-revisions td{border:1px solid var(--td-line); padding:6px 9px; text-align:left;}
.td-revisions th{background:rgba(58,44,28,.08);}
.td-revisions td:first-child{font-weight:700; color:var(--td-wood); white-space:nowrap;}
.td-revisions td:nth-child(2){white-space:nowrap; color:var(--td-muted);}

.tavdocs-empty{color:var(--td-muted); padding:40px; text-align:center;}
.tavdocs-mlist-toggle{display:none;}

@media (max-width:760px){
  .tavdocs-panel{width:100vw; height:100vh; border-radius:0; border:none;}
  .tavdocs-list{position:absolute; z-index:5; left:0; top:50px; bottom:0; width:80%; max-width:300px; background:var(--td-parch); box-shadow:6px 0 24px rgba(0,0,0,.3); transform:translateX(-105%); transition:transform .22s;}
  .tavdocs-list.open{transform:translateX(0);}
  .tavdocs-mlist-toggle{display:inline-block;}
  .tavdocs-reader{padding:18px 16px 36px;}
}

/* Druck-/PDF-Fenster (eigenes Dokument) */
.td-print-body{font-family:'Inter',system-ui,Arial,sans-serif; color:#2a2016; max-width:760px; margin:0 auto; padding:34px 30px;}
.td-print-body h1{font-family:Fraunces,Georgia,serif;}
