@font-face{font-family:LibSans;src:url(assets/LiberationSans-Regular.woff) format('woff');font-display:swap}
@font-face{font-family:LibSans;src:url(assets/LiberationSans-Bold.woff) format('woff');font-weight:700;font-display:swap}
@font-face{font-family:LibSerif;src:url(assets/LiberationSerif-Regular.woff) format('woff');font-display:swap}
:root{color-scheme:light;--cream:#F7F1EA;--ink:#404040;--red:#A32947;--page-height:min(65vh,680px)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.5 LibSerif,Georgia,serif}header,main,footer{max-width:1160px;margin:auto;padding:0 24px}header{padding-top:25px;text-align:center}.brand{font:700 15px LibSans,Arial,sans-serif;color:var(--red);letter-spacing:.09em;text-decoration:none}h1,h2,button,.controls,.downloads a{font-family:LibSans,Arial,sans-serif}h1{font-size:34px;margin:7px 0 0;color:var(--red)}header p{margin:3px 0 25px;font-size:18px}h2{font-size:23px;color:var(--red)}.reader{padding:0 0 25px}.book{height:var(--page-height);width:calc(var(--page-height)*210/148);max-width:100%;position:relative;margin:auto;display:flex;justify-content:center;perspective:2200px;touch-action:pan-y}.leaf{height:100%;width:50%;position:relative;flex-shrink:0;background:var(--cream)}.leaf img{width:100%;height:100%;object-fit:contain;display:block}.book.single{width:calc(var(--page-height)*105/148)}.book.single .leaf{width:100%}.leaf:not(.empty){box-shadow:0 8px 24px #40352a20}.leaf.empty{visibility:hidden}.book .turn{position:absolute;top:0;height:100%;width:50%;transform-style:preserve-3d;z-index:4;pointer-events:none}.book.single .turn{width:100%}.turn.forward{left:50%;transform-origin:left center}.single .turn.forward{left:0}.turn.backward{left:0;transform-origin:right center}.turn .face{position:absolute;inset:0;backface-visibility:hidden;background:var(--cream);overflow:hidden;box-shadow:0 2px 12px #40352a20}.turn .face img{width:100%;height:100%;display:block}.turn .back{transform:rotateY(180deg)}.turn.forward{animation:forward .65s cubic-bezier(.35,.05,.2,1) both}.turn.backward{animation:backward .65s cubic-bezier(.35,.05,.2,1) both}@keyframes forward{from{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes backward{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}.controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px;font-size:16px}button,select{font:16px LibSans,Arial,sans-serif;background:transparent;border:1px solid #c6bcb2;color:var(--ink);border-radius:4px;padding:10px 14px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--red);color:var(--red)}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}select{margin-left:5px}.status{text-align:center;font:15px LibSans,Arial,sans-serif;margin:12px 0 0}.hint{text-align:center;font-size:16px;margin:8px 0 0;color:#655d56}.downloads{text-align:center;border-top:1px solid #dfd4c9;padding:12px 0 26px}.downloads a{display:inline-block;color:var(--red);font-size:17px;margin:0 15px}.transcript{max-width:760px;margin:10px auto 30px}summary{cursor:pointer;font-family:LibSans,Arial,sans-serif}#transcript article{margin:25px 0}#transcript h3{font:700 17px LibSans,Arial,sans-serif;color:var(--red)}#transcript p{white-space:pre-line}footer{text-align:center;padding-bottom:25px;font:14px/1.5 LibSans,Arial,sans-serif}a{color:var(--red)}dialog{border:0;background:var(--cream);color:var(--ink);padding:20px;max-width:95vw;max-height:95vh;width:1000px;border-radius:5px}dialog::backdrop{background:#24201ed0}.dialog-head{position:sticky;top:-20px;background:var(--cream);display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:2}.dialog-head h2{font-size:21px}#zoom-pages{display:flex;align-items:flex-start;gap:8px}#zoom-pages img{display:block;width:calc(50% - 4px);height:auto}.zoom-one img{width:100%!important;max-width:740px;margin:auto}
@media(max-width:700px){:root{--page-height:min(62vh,calc((100vw - 32px)*148/105))}header,main,footer{padding-left:16px;padding-right:16px}header{padding-top:15px}h1{font-size:28px}header p{font-size:16px;margin-bottom:16px}.controls{gap:8px;margin-top:17px}button,select{padding:10px;font-size:15px}.hint{font-size:14px}.downloads a{margin:5px 10px}#zoom-pages{flex-direction:column}#zoom-pages img{width:100%}dialog{padding:12px}.dialog-head{top:-12px}}
@media(prefers-reduced-motion:reduce){.turn{animation:none!important}}
@media print{header,.controls,.status,.hint,.downloads,.transcript,footer,dialog{display:none}.book{display:none}body{background:white}}

/* Aufklappbare Hauptnavigation */
header{position:relative;padding-top:58px}
.site-menu{position:absolute;top:10px;right:24px;z-index:20;text-align:left}
.site-menu summary{
  list-style:none;cursor:pointer;padding:9px 14px;
  border:1px solid #c6bcb2;border-radius:4px;
  background:var(--cream);color:var(--red);
  font:700 16px LibSans,Arial,sans-serif;
}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu nav{
  position:absolute;right:0;top:calc(100% + 6px);
  width:270px;max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 80px);overflow-y:auto;
  padding:8px;background:var(--cream);
  border:1px solid #c6bcb2;border-radius:5px;
  box-shadow:0 8px 24px #40352a30;
}
.site-menu nav a{
  display:block;padding:9px 12px;text-decoration:none;
  font:16px/1.4 LibSans,Arial,sans-serif;
}
.site-menu nav a:hover,.site-menu nav a[aria-current="page"]{
  background:#eee3d8;
}
@media(max-width:700px){
  header{padding-top:58px}
  .site-menu{right:16px}
}
@media print{.site-menu{display:none}}

/* Kompakter Kopf mit seitlichem Menü */
header{padding-top:10px;padding-right:140px;padding-left:140px}
h1{font-size:28px;margin:2px 0 0}
header p{font-size:16px;margin:2px 0 8px}
.downloads{padding:4px 0 8px}
.downloads h2{font-size:18px;margin:0 0 3px}
.downloads a{font-size:16px}
.controls{margin:0 0 10px}
@media(max-width:700px){
  header{padding:10px 110px 0 16px;text-align:left}
  .brand{font-size:12px;letter-spacing:.03em}
  h1{font-size:25px}
  header p{font-size:14px;margin-bottom:6px}
  .downloads a{margin:3px 8px}
  .controls{margin:0 0 8px}
}

/* Menü als bildschirmfüllendes Overlay */
.site-menu summary{
  display:flex;align-items:center;justify-content:center;
  padding:8px;border:0;border-radius:0;
  background:transparent;color:#171717;
}
.menu-close-icon{display:none}
.site-menu[open]{position:fixed;inset:0;z-index:1000}
.site-menu[open] summary{
  position:absolute;top:20px;right:24px;z-index:2;
}
.site-menu[open] .menu-open-icon{display:none}
.site-menu[open] .menu-close-icon{display:block}
.site-menu[open] nav{
  position:absolute;inset:0;width:100%;max-width:none;
  height:100%;max-height:none;padding:76px 24px 32px;
  border:0;border-radius:0;box-shadow:none;
  background:var(--cream);overflow-y:auto;
  display:flex;flex-direction:column;align-items:center;
}
.site-menu nav a{
  font-size:20px;padding:10px 16px;color:#171717;
}
body:has(.site-menu[open]){overflow:hidden}
@media(max-width:700px){
  .site-menu[open] summary{right:16px}
}


.de2050-dropdown-host{position:relative;z-index:100}
.site-menu{position:relative;inset:auto;z-index:100;text-align:left}
.site-menu summary{
  display:flex;align-items:center;justify-content:center;
  list-style:none;cursor:pointer;padding:8px;border:0;
  background:transparent;color:#171717;
}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu .menu-close-icon{display:none}
.site-menu[open]{position:relative;inset:auto;z-index:100}
.site-menu[open] summary{position:relative;inset:auto;z-index:2}
.site-menu[open] .menu-open-icon{display:none}
.site-menu[open] .menu-close-icon{display:block}
.site-menu nav,.site-menu[open] nav{
  position:absolute;inset:auto;right:0;top:calc(100% + 6px);
  display:block;width:270px;max-width:calc(100vw - 32px);
  height:auto;max-height:calc(100dvh - 100px);overflow-y:auto;
  padding:8px;background:#F7F1EA;
  border:1px solid #c6bcb2;border-radius:5px;
  box-shadow:0 8px 24px #40352a30;
}
.site-menu nav a{
  display:block;padding:9px 12px;color:#404040!important;
  font:16px/1.4 "Liberation Sans",Arial,sans-serif;
  text-decoration:none;
}
.site-menu nav a:hover{background:#eee3d8}
.site-menu summary:focus-visible,.site-menu a:focus-visible{
  outline:3px solid #A32947;outline-offset:3px;
}
body:has(.site-menu[open]){overflow:auto}
@media print{.site-menu{display:none}}

header>.site-menu,header>.site-menu[open]{
  position:absolute;inset:auto;top:10px;right:24px;
}
@media(max-width:700px){
  header>.site-menu,header>.site-menu[open]{right:16px}
}
