:root{--bg:#0a0907;--bone:#ece5d6;--dim:#c7bda9;--gold:#e8c463;--goldhi:#f6e0a0;--violet:#8b3df0;--violhi:#caa0ff;--line:rgba(236,229,214,.16);--card:#13110d;--serif:'Cormorant Garamond',serif;--sans:'Hanken Grotesk',sans-serif}
  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--bg);color:var(--bone);font-family:var(--sans);font-size:16px;line-height:1.6}
  .wrap{max-width:1000px;margin:0 auto;padding:34px 22px 50px;text-align:center}
  .hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 0 16px;border-bottom:1px solid var(--line);text-align:left}
  .hd-name{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--gold);text-decoration:none;display:block;line-height:1.1}
  .hd-name:hover{color:var(--goldhi)}
  .hd-tag{display:block;margin-top:3px;font-size:12.5px;color:var(--dim);letter-spacing:.02em}
  .hd-right{display:flex;align-items:center;gap:18px}
  .lang{display:flex;align-items:center;gap:6px}
  .lang button{background:none;border:0;color:var(--dim);cursor:pointer;font-size:13px;font-family:var(--sans);letter-spacing:.04em;padding:2px}
  .lang button.on{color:var(--gold)} .lang button:hover{color:var(--bone)}
  .lang-sep{color:rgba(236,229,214,.3)}
  .hd-contact{flex-shrink:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--bone);border:1px solid var(--line);border-radius:8px;padding:9px 17px;text-decoration:none;white-space:nowrap}
  .hd-contact:hover{border-color:var(--gold);color:var(--gold)}
  .titleblock{text-align:center;margin:26px 0 24px}
  .subline{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--dim);max-width:720px;margin:0 auto}
  .hero{position:relative;width:100%;border-radius:14px;overflow:hidden;border:1px solid var(--line);line-height:0}
  .hero img{width:100%;height:auto;display:block}
  .hero>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
  @keyframes flow{to{stroke-dashoffset:-2400}}
  @keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
  .faden-halo{fill:none;stroke:var(--violet);stroke-width:6;stroke-linecap:round;stroke-linejoin:round;filter:url(#fglow);opacity:.8}
  .faden-core{fill:none;stroke:var(--violhi);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.95}
  .faden-flow{fill:none;stroke:#f3e6ff;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:30 2400;opacity:1}
  @media (prefers-reduced-motion: no-preference){.faden-halo{animation:pulse 4.5s ease-in-out infinite}.faden-flow{animation:flow 7s linear infinite}}
  .faders{display:flex;gap:22px;justify-content:center;margin-top:18px}
  .fader{flex:1;min-width:0;text-align:left}
  .fader label{display:block;font-size:12px;letter-spacing:.03em;color:var(--dim);margin-bottom:6px}
  .fader .row{display:flex;align-items:center;gap:10px}
  .fader input[type=range]{flex:1;accent-color:var(--violet);height:3px}
  .fader .fv{font-size:13px;color:var(--gold);width:34px;text-align:right}
  .tour{margin:34px auto 0;max-width:820px}
  .map{width:100%;margin:0 auto 18px;display:block}
  .map .conn{stroke:rgba(232,196,99,.4);stroke-width:1;fill:none}
  .map .loop{stroke:rgba(202,160,255,.6);stroke-width:1.2;fill:none;stroke-dasharray:3 6}
  .map .glab{font-family:var(--serif);font-style:italic;font-size:14px;fill:var(--gold)}
  .map .rlab{font-family:var(--serif);font-style:italic;font-size:14px;fill:var(--violhi)}
  .map .clab{font-family:var(--serif);font-size:16px;fill:var(--violhi)}
  .mn{cursor:pointer} .mn circle{fill:#1a1812;stroke:var(--gold);stroke-width:1}
  .mn text{font-family:var(--sans);font-size:10px;fill:var(--dim)}
  .mn.cur circle{fill:var(--violet);stroke:var(--violhi);stroke-width:1.5;filter:url(#mglow)} .mn.cur text{fill:#fff}
  .card{padding:4px 0 0;text-align:center}
  .card .gestalt{font-family:var(--serif);font-size:33px;font-weight:600;color:var(--bone);margin-bottom:2px}
  .card .knoten{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--violhi);margin:0 0 12px}
  .card .text{font-size:18px;color:var(--bone);max-width:660px;margin:0 auto}
  .card .zitat{margin:13px auto 0;padding-top:11px;border-top:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold);max-width:660px}
  .card .denker{font-family:var(--sans);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--violhi);opacity:.85;margin:0 0 14px}
  .card .mythos{margin:16px auto 0;max-width:680px;font-size:14px;line-height:1.62;color:var(--dim)}
  .card .mtag{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
  .nav{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
  .nav button{font-size:14px;color:var(--bone);background:#1a1812;border:1px solid var(--line);border-radius:8px;padding:8px 16px;cursor:pointer}
  .nav button:hover{border-color:#3a362c} .nav .pos{font-size:13px;color:var(--dim)}
  .bk-btn{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);background:#14120d;border:1px solid var(--line);border-radius:8px;padding:10px 18px;cursor:pointer}
  .tour-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px}
  .lib-cap{margin-top:12px;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--dim);text-align:center}
  .bk-btn:hover{border-color:var(--gold);color:var(--bone)}
  .modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:50;justify-content:center;padding:40px 16px;overflow:auto}
  .modal.open{display:flex}
  .modal-box{background:#13110d;border:1px solid var(--line);border-radius:14px;max-width:940px;width:100%;height:fit-content;padding:26px 28px;position:relative;text-align:left}
  .modal-box h3{font-family:var(--serif);font-weight:600;font-size:22px;margin-bottom:12px}
  .sources{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
  .sources h4{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--bone);margin-bottom:9px}
  .src-row{font-size:12px;line-height:1.75;color:var(--dim);margin-bottom:9px}
  .src-lab{color:var(--gold);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;margin-right:7px}
  .sources i{font-style:italic;color:var(--bone)}
  .modal-x{position:absolute;top:12px;right:16px;background:none;border:0;color:var(--dim);font-size:26px;cursor:pointer;line-height:1}
  .modal-x:hover{color:var(--bone)}
  table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
  th,td{padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:top}
  th{font-size:11px;letter-spacing:.06em;color:var(--dim);text-transform:uppercase;font-weight:500}
  tr.cur td{background:rgba(139,61,240,.12)}
  td.g{font-family:var(--serif);font-style:italic;color:var(--violhi);white-space:nowrap}
  td.k{font-weight:500;white-space:nowrap}
  td.d{white-space:nowrap;color:var(--violhi);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}
  td.z{font-style:italic;color:var(--gold);min-width:160px}
  td.m{font-size:11.5px;color:var(--dim);line-height:1.5;min-width:250px}
  tbody tr{cursor:pointer}
  footer{margin-top:46px;padding-top:20px;border-top:1px solid var(--line)}
  footer a{color:var(--gold);text-decoration:none;font-size:15px;border-bottom:1px solid rgba(232,196,99,.4);padding-bottom:1px}
  footer a:hover{color:var(--goldhi)} footer .c{display:block;margin-top:12px;font-size:12px;letter-spacing:.08em;color:var(--dim);text-transform:uppercase}
