/* ======================================================================
   wiki.css · Wiki im Dorf-Stil: Übersicht (Bibliothek + Kacheln),
   Abschnittsansicht mit Seitenleiste (mobil Menüleiste), Textkarten,
   Filter, Einträge und Tabellen. Bausteine der Datenabschnitte, Dialoge
   und Vergleichsleiste: wiki-teile.css. Baut auf theme.css auf.
   ====================================================================== */
.wiki main{padding-block:var(--s5) 0}
.wiki [id]{scroll-margin-top:calc(var(--header-h) + var(--s4))}
.wk-loading{display:grid;gap:var(--s4)}
.wk-fail{display:grid;justify-items:center;gap:var(--s3)}

/* ---------- Übersicht: Bibliothek mit Gelehrtem ---------- */
.wk-hero{display:grid;grid-template-columns:300px 1fr;margin:0 0 var(--s6);background:var(--panel);border:3px solid var(--edge);border-radius:var(--radius);
  box-shadow:inset 0 0 0 2px var(--line),4px 4px 0 var(--shadow);overflow:hidden}
.wk-lib{position:relative;display:flex;align-items:flex-end;min-height:290px;padding:var(--s5) var(--s3) 18px;background:var(--grass);
  box-shadow:inset -3px 0 0 var(--edge)}
.wk-lib::after{content:"";position:absolute;left:0;right:3px;bottom:0;height:34px;background:var(--road);border-top:4px solid var(--road-edge)}
.wk-lib-art{position:relative;z-index:1;display:block;width:214px;height:216px;background:url(/assets/0.3/dorf/library.png) no-repeat;
  filter:drop-shadow(4px 4px 0 rgba(0,0,0,.25))}
:root[data-theme="night"] .wk-lib-art{background-image:url(/assets/0.3/dorf/library_night.png)}
.wk-host{position:absolute;z-index:2;right:6px;bottom:22px;display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:0;
  background:none;border:0;cursor:pointer}
.wk-host .bubble{order:0;white-space:nowrap}
.wk-host img{filter:drop-shadow(0 4px 0 rgba(0,0,0,.25))}
.wk-hero-text{padding:var(--s5) var(--s6);min-width:0}
.wk-kicker{margin:0 0 var(--s1);font:700 var(--fs-1) var(--font-pixel);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}
.wk-hero h1{margin:0 0 var(--s3);font-size:clamp(2.2rem,6vw,3.4rem);text-transform:uppercase;color:var(--title);text-shadow:3px 3px 0 var(--edge)}
.wk-lead{max-width:60ch;color:var(--dim)}
.wk-searchbox{display:flex;align-items:center;gap:var(--s3);width:100%;max-width:560px;min-height:52px;margin:var(--s4) 0;padding:0 var(--s4);cursor:pointer;
  color:var(--faint);font:var(--fs-3) var(--font-body);text-align:left;background:var(--panel-2);border:3px solid var(--edge);border-radius:var(--radius);
  box-shadow:inset 0 0 0 2px var(--line)}
.wk-searchbox:hover{box-shadow:inset 0 0 0 2px var(--accent)}
.wk-searchbox .ph{flex:1}
.wk-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}
.wk-ownnote{flex:1 1 240px;font-size:var(--fs-2);color:var(--dim)}
.wk-neu{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);margin:var(--s4) 0 0;font-size:var(--fs-2)}
.wk-neu b{font-family:var(--font-pixel);color:var(--accent-2)}
a.chip:hover{border-color:var(--accent);text-decoration:none}

/* Kacheln je Kategorie */
.wk-band{margin:0 0 var(--s6)}
.wk-band .band-head{margin-bottom:var(--s3)}
.wk-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--s3)}
a.card.wk-tile{display:flex;flex-direction:column;align-items:center;gap:var(--s1);padding:var(--s3) var(--s2) var(--s4);text-align:center}
.wk-tile .art{display:flex;align-items:flex-end;justify-content:center;height:132px;margin-bottom:var(--s2)}
.wk-tile b{max-width:100%;font:700 var(--fs-3)/1.25 var(--font-pixel);hyphens:auto;overflow-wrap:anywhere}
.wk-tile .count{font:700 var(--fs-1) var(--font-pixel);color:var(--accent-2)}

/* ---------- Abschnittsansicht: Seitenleiste + Inhalt ---------- */
.wk-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:var(--s5);align-items:start}
.wk-side{position:sticky;top:calc(var(--header-h) + var(--s4));max-height:calc(100 * var(--vh) - var(--header-h) - var(--s6));overflow:auto;padding:var(--s3);
  background:var(--panel);border:3px solid var(--edge);border-radius:var(--radius);box-shadow:inset 0 0 0 2px var(--line),4px 4px 0 var(--shadow)}
.wk-bar{display:flex;gap:var(--s2)}
.wk-sbtn,.wk-menu{flex:1;display:flex;align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s3);cursor:pointer;color:var(--text);
  font:700 var(--fs-2) var(--font-pixel);background:var(--panel-2);border:2px solid var(--line);border-radius:var(--radius-sm)}
.wk-sbtn:hover,.wk-menu:hover{border-color:var(--accent)}
.wk-side .wk-menu{display:none}
.wk-sbtn kbd{margin-left:auto}
.wk-list{display:flex;flex-direction:column;gap:2px;margin-top:var(--s3)}
.wk-list a{display:flex;align-items:center;gap:var(--s2);padding:5px var(--s2);color:var(--dim);font:700 var(--fs-2)/1.25 var(--font-pixel);border-radius:var(--radius-sm)}
.wk-list a:hover{color:var(--text);background:var(--panel-2);text-decoration:none}
.wk-list a.on{color:var(--accent-ink);background:var(--accent)}
.wk-list img{flex:0 0 auto}
.wk-list .wk-hub{color:var(--accent)}
.wk-cat{margin:var(--s3) 0 var(--s1);padding-left:var(--s2);font:700 var(--fs-1) var(--font-pixel);text-transform:uppercase;letter-spacing:.06em;color:var(--accent-2)}

.wk-head{margin-bottom:var(--s4)}
.wk-crumb{margin:0 0 var(--s2);font:700 var(--fs-2) var(--font-pixel);color:var(--text);text-shadow:2px 2px 0 var(--edge)}
.wk-title{display:flex;align-items:flex-end;gap:var(--s4)}
.wk-title .art{flex:0 0 auto;display:flex;align-items:flex-end;filter:drop-shadow(3px 3px 0 var(--edge))}
.wk-title h1{margin:0 0 var(--s2);text-transform:uppercase;text-shadow:3px 3px 0 var(--edge)}
.wk-body>*+*{margin-top:var(--s4)}
.wk-main,.wk-body>*{min-width:0}
.wk-pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s6)}
.wk-pager a{font:700 var(--fs-3) var(--font-pixel)}
.wk-pager small{display:block;font-size:var(--fs-1);color:var(--accent-2)}
.wk-pager .next{text-align:right;grid-column:2}

/* ---------- Texte ---------- */
.md{font-size:var(--fs-3)}
.md p:last-child,.md ul:last-child,.md ol:last-child{margin-bottom:0}
.md ul,.md ol{margin:0 0 var(--s3);padding-left:1.4em}
.md li{margin:var(--s1) 0}
.md li::marker{color:var(--accent-2)}
.md h3{margin:var(--s5) 0 var(--s2);font-size:var(--fs-3);color:var(--accent)}
.md h4{margin:var(--s4) 0 var(--s2);font-size:var(--fs-2);color:var(--accent)}
.md strong{color:var(--text)}
.md table{margin:var(--s2) 0 var(--s3)}
.md td{vertical-align:top}
.wk-topic .card-head .card-title{font-size:var(--fs-3)}
.wk-intro{font-size:var(--fs-4);line-height:1.5}
.wk-toc{display:flex;flex-wrap:wrap;gap:var(--s2)}
.wk-toc .chip{padding:var(--s1) var(--s2);font-size:var(--fs-2);background:var(--panel);box-shadow:2px 2px 0 var(--shadow)}
.wk-ent{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.wk-ent img{flex:0 0 auto}
td .wk-ent{display:flex;white-space:nowrap}
.star{color:var(--accent-2)}

/* ---------- Filter ---------- */
.wk-filters{padding:var(--s4)}
.wk-frow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1);margin-bottom:var(--s2)}
.wk-frow:last-child{margin-bottom:0}
.flabel{min-width:96px;margin-right:var(--s1);font:700 var(--fs-1) var(--font-pixel);text-transform:uppercase;color:var(--faint)}
.fchip.ic{min-width:40px;padding:0 3px}
.dot{display:inline-block;width:10px;height:10px;border:2px solid var(--edge)}
.wk-fbar{gap:var(--s3);margin-top:var(--s3)}
.wk-sel{display:flex;align-items:center;gap:var(--s2);font:700 var(--fs-2) var(--font-pixel);color:var(--dim)}
.wk-sel select{width:auto;min-height:40px;padding:var(--s1) var(--s2)}
.wk-hits{margin-left:auto;font:700 var(--fs-2) var(--font-pixel);color:var(--faint)}
.wk-hint{margin-left:var(--s2);font-size:var(--fs-2)}

/* ---------- Einträge (aufklappbar) ---------- */
.wk-entries{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--s3);align-items:start}
.entry{--rc:var(--line);min-width:0;background:var(--panel);border:3px solid var(--edge);border-radius:var(--radius);box-shadow:inset 0 0 0 2px var(--line),3px 3px 0 var(--shadow)}
.entry.r-gew{--rc:var(--c-gew)} .entry.r-sel{--rc:var(--c-sel)} .entry.r-epi{--rc:var(--c-epi)} .entry.r-myt{--rc:var(--c-myt)} .entry.r-leg{--rc:var(--c-leg)} .entry.r-spe{--rc:var(--c-spe)}
.entry>summary{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);cursor:pointer;list-style:none}
.entry>summary::-webkit-details-marker{display:none}
.entry>summary:hover{background:var(--panel-3)}
.entry[open]{grid-column:1/-1;box-shadow:inset 0 0 0 2px var(--accent-2),3px 3px 0 var(--shadow)}
.e-ic{flex:0 0 auto;display:grid;place-items:center;width:76px;height:76px;background:var(--panel-2);border:3px solid var(--rc);border-radius:var(--radius-sm)}
.e-tx{flex:1;min-width:0}
.e-tx b{display:block;font:700 var(--fs-3)/1.25 var(--font-pixel);overflow-wrap:anywhere;hyphens:auto}
.e-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);margin-top:var(--s1);font-size:var(--fs-1)}
.e-cls{display:inline-flex;gap:2px}
.e-pair img{width:32px;height:32px}
.e-bd{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s1)}
.e-more{padding:var(--s4);border-top:3px solid var(--edge);background:var(--panel-2);border-radius:0 0 3px 3px}
.e-more .kv{margin-top:0}
.e-act{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.e-act .btn{min-height:40px;padding:8px 14px}
.wk-lv{margin:var(--s2) 0}
.wk-lv tr.cur td{background:var(--gold-soft)}
.wk-lv td:first-child{white-space:nowrap}
.wk-lv td:last-child{min-width:260px}
.wk-spe{padding:var(--s3);background:var(--panel);border-left:4px solid var(--c-spe);border-radius:var(--radius-sm)}
.wk-new{padding:1px 6px;font:700 var(--fs-1) var(--font-pixel);text-transform:uppercase;color:var(--accent-2-ink);background:var(--accent-2);
  border:2px solid var(--edge);border-radius:var(--radius-sm)}
.wk-own{padding:1px 6px;font:700 var(--fs-1) var(--font-pixel);color:#fff;border:2px solid var(--edge);border-radius:var(--radius-sm);white-space:nowrap}
.wk-own.lv-1,.own.lv-1{background:var(--lv1)} .wk-own.lv-2,.own.lv-2{background:var(--lv2)} .wk-own.lv-3,.own.lv-3{background:var(--lv3)}
.wk-own.lv-4,.own.lv-4{background:var(--lv4)} .wk-own.lv-5,.own.lv-5{background:var(--lv5)}
.wk-own.none{color:var(--faint);background:none;border:2px dashed var(--line)}
.wk-flash{animation:wk-flash 1.6s ease-out}
@keyframes wk-flash{0%,30%{outline:4px solid var(--accent-2);outline-offset:2px}100%{outline:4px solid transparent;outline-offset:2px}}

/* Tabellenansicht */
.wk-tablecard{padding:var(--s2)}
.wk-tablecard table{margin:0}
.wk-sort th{padding:0}
.wk-sort th:not([aria-sort]){padding:var(--s2) 10px}
.wk-sort th button{width:100%;min-height:40px;padding:var(--s2) 10px;text-align:left;cursor:pointer;color:inherit;font:inherit;text-transform:inherit;background:none;border:0}
.wk-sort th button:hover{color:var(--text)}
.wk-sort td{white-space:nowrap}
.wk-sort td.wk-txt{white-space:normal;min-width:280px}
.wk-sort .wk-new{margin-left:var(--s1)}


/* ---------- Mobil ---------- */
@media(max-width:900px){
  .wiki [id]{scroll-margin-top:calc(var(--header-h) + 76px)}
  .wk-layout{grid-template-columns:1fr;gap:var(--s3)}
  .wk-side{top:calc(var(--header-h) + 3px);z-index:40;max-height:none;overflow:visible;margin:0 calc(-1 * clamp(var(--s4),4vw,var(--s6)));padding:var(--s2) clamp(var(--s4),4vw,var(--s6));
    border-width:0 0 3px;border-radius:0;background:var(--bg-2);box-shadow:inset 0 -2px 0 var(--line),0 4px 0 var(--shadow)}
  .wk-side .wk-menu{display:flex;flex:2;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .wk-sbtn{flex:0 0 auto}
  .wk-sbtn kbd,.wk-sbtn .lbl{display:none}
  .wk-list{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100 * var(--vh) - var(--header-h) - 80px);overflow:auto;margin:0;
    padding:var(--s2) clamp(var(--s4),4vw,var(--s6)) var(--s4);background:var(--bg-2);border-bottom:3px solid var(--edge);box-shadow:0 4px 0 var(--shadow)}
  .wk-list.open{display:flex}
  .wk-hero{grid-template-columns:1fr}
  .wk-lib{justify-content:center;min-height:250px;box-shadow:inset 0 -3px 0 var(--edge)}
  .wk-lib::after{right:0}
  .wk-host{right:calc(50% - 170px)}
  .wk-hero-text{padding:var(--s4)}
  .wk-intro{font-size:var(--fs-3)}
}
@media(max-width:600px){
  .wk-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
  .wk-tile .art{height:120px}
  .wk-entries{grid-template-columns:1fr}
  .flabel{min-width:0;width:100%}
  .wk-hits{margin-left:0}
  .wk-host{right:4px}
  .wk-host .bubble{display:none}
  .wk-pager{grid-template-columns:1fr}
  .wk-pager .next{grid-column:1}
}
