@font-face{font-family:"Space Mono";font-weight:400;font-display:swap;src:url(../fonts/spacemono-400.ttf) format("truetype")}
@font-face{font-family:"Space Mono";font-weight:700;font-display:swap;src:url(../fonts/spacemono-700.ttf) format("truetype")}
@font-face{font-family:"Unbounded";font-weight:200 900;font-display:swap;src:url(../fonts/unbounded-var.ttf) format("truetype")}
/* PARSIFAL ENTFERNUNG. Sakrileg Kundry — Rekonstruktion 2026 · Palette der Berlin-Karte von 2005 */
:root{--bg:#000;--ink:#f4f4f2;--dim:#9a9a96;--line:#2a2a28;--road:#8f8b5a;--water:#2f6ea5;--border:#a3003c;--red:#e0141e;--green:#3fbf2f;--mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace;--disp:"Unbounded","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-behavior:smooth}
body{margin:0;font:400 16px/1.6 var(--mono);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--red);padding:6px 10px;z-index:99}
.pe-top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto auto 1fr;gap:6px 24px;align-items:baseline;padding:14px clamp(16px,4vw,48px) 10px;background:rgba(0,0,0,.9);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{font:500 clamp(13px,1.5vw,17px)/1.2 var(--disp);letter-spacing:.01em}.brand span{font-weight:300}.yr{color:var(--dim);font-size:12px}
.clips{justify-self:end;display:flex;gap:2px;align-items:baseline;font-size:12px}.clips span{color:var(--dim);margin-right:8px;letter-spacing:.12em}
.clips a{display:inline-block;min-width:26px;padding:4px 0;text-align:center;border-bottom:2px solid transparent}.clips a:hover{color:var(--red)}.clips a.on{color:var(--red);border-color:var(--red);font-weight:700}
.main{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 22px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.main a:hover,.main a.on{color:var(--ink)}
main{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:clamp(20px,4vw,56px) clamp(16px,4vw,48px) 80px}
.js .view{display:none}.js .view.on{display:block;animation:in .5s ease both}@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.view+.view{margin-top:120px}.js .view+.view{margin-top:0}
.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
h1{font:800 clamp(30px,6vw,84px)/1.02 var(--disp);margin:0 0 24px;letter-spacing:-.01em;text-wrap:balance}h1 span{font-weight:300;color:var(--red)}
h1.kundry{font-weight:500;font-size:clamp(24px,4.2vw,56px);line-height:1.12}
h2{font:500 14px/1.3 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:56px 0 18px;padding-top:14px;border-top:1px solid var(--line)}
h3{font:500 15px/1.35 var(--disp);letter-spacing:.06em;margin:34px 0 10px}h4{font:700 13px var(--mono);color:var(--red);letter-spacing:.12em;margin:26px 0 6px}
.lead{font-size:clamp(15px,1.5vw,19px);max-width:70ch;color:#d8d8d4}.note{color:var(--dim);font-size:13px}
.intro{max-width:1100px;margin-bottom:28px}
.mapwrap{margin:0 calc(-1*clamp(16px,4vw,48px));border-block:1px solid var(--line);background:#000}.mapwrap svg{display:block;width:100%;height:auto}
.spot circle{fill:none;stroke-width:9;vector-effect:none;transition:.25s}.spot.r circle{stroke:var(--red)}.spot.g circle{stroke:var(--green)}
.spot .hit{stroke:none;fill:transparent;pointer-events:all;cursor:pointer}.spot .pulse{opacity:.0;transform-box:fill-box;transform-origin:center;animation:pulse 2.8s ease-out infinite}
.spot:nth-of-type(2n) .pulse{animation-delay:.7s}.spot:nth-of-type(3n) .pulse{animation-delay:1.4s}
@keyframes pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(4.2);opacity:0}}
.spot .lab{opacity:0;transition:.2s;pointer-events:none}.spot:hover .lab,.spot:focus .lab{opacity:1}.spot:hover .ring,.spot:focus .ring{stroke-width:16;fill:rgba(255,255,255,.12)}
.spot text{paint-order:stroke;stroke:#000;stroke-width:14;stroke-linejoin:round;fill:#fff}.spot .l1{font:500 52px var(--disp)}.spot .l2{font:400 36px var(--mono)}.spot.r .l2{fill:var(--red)}.spot.g .l2{fill:var(--green)}
.legend{margin:0;padding:12px clamp(16px,4vw,48px);font-size:12px;color:var(--dim);display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.legend .hint{margin-left:auto;letter-spacing:.14em;text-transform:uppercase}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid;margin-right:4px;vertical-align:-1px}.dot.r{border-color:var(--red)}.dot.g{border-color:var(--green)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 56px}
.cliprow{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line);transition:.15s}.cliprow:hover{background:#0d0d0c;padding-left:8px;color:#fff}
.cliprow .n{color:var(--red);font-weight:700}.cliprow .t{font:500 15px/1.35 var(--disp)}.cliprow .m{color:var(--dim);font-size:12px;white-space:nowrap}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.chip{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:13px;transition:.15s}.chip:hover{border-color:var(--ink)}
.chip.r{border-color:rgba(224,20,30,.55)}.chip.g{border-color:rgba(63,191,47,.5)}.chip.r:hover{background:var(--red)}.chip.g:hover{background:var(--green);color:#000}
.player{background:#050505;border:1px solid var(--line);max-width:1200px}.player video,.prevgrid video{display:block;width:100%;aspect-ratio:5/4;background:#000;object-fit:contain}
.pn{display:flex;justify-content:space-between;margin-top:36px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.pn a:hover{color:var(--red)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.grid.big{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ph{display:block;overflow:hidden;background:#0a0a0a;aspect-ratio:4/3}.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s,filter .3s;filter:saturate(.92)}.ph:hover img{transform:scale(1.04);filter:none}
.prevgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:22px}.prevgrid figure{margin:0}.prevgrid figure:has(video[src*="2026"]) video{aspect-ratio:16/9}figcaption{font-size:13px;color:var(--dim);padding-top:8px}
.text{max-width:78ch}.text p{margin:0 0 1em}.text a{border-bottom:1px solid var(--red)}
.libretto .who{color:var(--red);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:18px 0 2px}.libretto .verse{margin:0;font-size:17px;line-height:1.5}.libretto .stage{font-style:italic;color:var(--dim);margin-top:24px}
.seq{max-width:none}.seq article{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid var(--line)}.seq header{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;font-size:13px}
.seq header b{font:500 15px var(--disp);min-width:96px}.seq header span{color:var(--dim)}.seq header em{margin-left:auto;font-style:normal;color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.seq p{margin:0;font-size:16px}.seq footer{color:var(--dim);font-size:13px}.seq footer span{color:var(--green);margin-right:12px}.costume{color:var(--dim);font-size:13px}
.mods,.theses{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.mods article,.theses article{background:#000;padding:22px}
.mods b,.theses b{color:var(--red);font-size:12px;letter-spacing:.14em}.mods h3,.theses h3{margin:8px 0 10px}.mods p,.theses p{margin:0;color:#cfcfcb;font-size:14px}
.tl{display:grid;gap:0;margin:34px 0;border-left:1px solid var(--line)}.tl div{position:relative;padding:7px 0 7px 22px;font-size:14px;color:#cfcfcb}.tl b{display:inline-block;width:92px;color:var(--green)}.tl .own b{color:var(--red)}
.tl div::before{content:"";position:absolute;left:-5px;top:15px;width:9px;height:9px;border-radius:50%;background:var(--green)}.tl .own::before{background:var(--red)}
.foot{display:flex;flex-wrap:wrap;gap:8px 26px;padding:18px clamp(16px,4vw,48px);border-top:1px solid var(--line);font-size:12px;color:var(--dim)}.foot span{margin-left:auto}.foot a:hover{color:var(--ink)}
#lb{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:3vmin;cursor:zoom-out}#lb[hidden]{display:none}#lb img{max-width:100%;max-height:94vh;object-fit:contain}
#lb button{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font:300 40px/1 var(--disp);cursor:pointer}
body.riss main{animation:riss .42s steps(6) both}@keyframes riss{0%{clip-path:inset(0 0 0 0);transform:translateX(0)}20%{clip-path:inset(12% 0 55% 0);transform:translateX(-24px)}40%{clip-path:inset(48% 0 22% 0);transform:translateX(30px)}60%{clip-path:inset(70% 0 4% 0);transform:translateX(-12px)}80%{clip-path:inset(30% 0 40% 0);transform:translateX(8px)}100%{clip-path:inset(0);transform:none}}
@media (max-width:760px){.pe-top{grid-template-columns:1fr auto}.clips{grid-column:1/-1;justify-self:start;overflow-x:auto;max-width:100%}.spot .lab{display:none}.cliprow{grid-template-columns:26px 1fr}.cliprow .m{grid-column:2}.legend .hint{margin-left:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
.map-view .mapwrap{margin-top:calc(-1*clamp(20px,4vw,56px));margin-bottom:40px;border-top:0}.map-view h1{font-size:clamp(28px,4.6vw,64px)}
/* v2 */
.map-view .mapwrap{margin:calc(-1*clamp(20px,4vw,56px)) calc(-1*clamp(16px,4vw,48px)) 36px;border-top:0;background:#000}
.mapwrap svg{display:block;width:100%;height:auto;max-height:calc(100vh - 150px);max-height:calc(100svh - 150px);margin:0 auto}
.map-view h1{font-size:clamp(26px,4.2vw,58px)}
.spot circle{stroke-width:6}.spot .core{stroke:none}.spot.r .core{fill:var(--red)}.spot.g .core{fill:var(--green)}
.spot .pulse{stroke-width:3}@keyframes pulse{0%{transform:scale(1);opacity:.85}100%{transform:scale(3.2);opacity:0}}
.spot:hover .ring,.spot:focus .ring{stroke-width:9;fill:rgba(255,255,255,.1)}
.spot text{stroke-width:10}.spot .l1{font:500 40px var(--disp)}.spot .l2{font:400 27px var(--mono)}
.legend{justify-content:center;gap:4px 22px;padding:9px 16px;font-size:11px}.legend .hint{margin-left:0;color:var(--ink)}
.pl{display:grid;gap:18px;margin:0 0 8px}
.pl-stage{margin:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:0 28px;align-items:start}
.pl-video{background:#050505;border:1px solid var(--line)}.pl-video video{display:block;width:100%;aspect-ratio:5/4;max-height:calc(100svh - 190px);background:#000;object-fit:contain}
.pl-stage figcaption{padding:4px 0 0}.pl-kick{margin:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.pl-title{font:500 clamp(19px,2.2vw,32px)/1.18 var(--disp);margin:0 0 14px;letter-spacing:0;text-wrap:balance}
.pl-thema{margin:16px 0 8px;font-size:15px;color:var(--ink)}.pl-szen{margin:0;font-size:13px;color:var(--dim)}
.xref{display:block;flex-basis:100%;font-size:12px;color:var(--dim);margin-top:4px}.xref a{border-bottom:1px solid var(--line)}.xref a:hover{color:var(--green)}
.pl-label{margin:0 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.pl-label.x{margin-top:18px;text-transform:none;letter-spacing:.02em}
.pl-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}
.pl-t{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:5px;align-content:start;min-width:0}
.pl-t .im{position:relative;display:block;aspect-ratio:5/4;overflow:hidden;background:#0a0a0a;outline:1px solid var(--line);outline-offset:-1px}
.pl-t img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75) brightness(.8);transition:.25s}
.pl-t i{position:absolute;left:0;top:0;font:700 12px/1 var(--mono);font-style:normal;background:#000;color:var(--red);padding:5px 7px}
.pl-t b{position:absolute;right:0;bottom:0;font:400 11px/1 var(--mono);background:rgba(0,0,0,.78);color:#fff;padding:4px 6px}
.pl-t .t{font:500 11.5px/1.3 var(--disp);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pl-t .m{font-size:10.5px;color:var(--dim);line-height:1.3}
.pl-t:hover img,.pl-t.on img{filter:none}.pl-t.on .im{outline:2px solid var(--red)}.pl-t.on .t{color:var(--red)}.pl-t:focus-visible .im{outline:2px solid #fff}
.pl-t.x{opacity:.8}.pl-t.x i{color:var(--green)}
.aktnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0 0}
.aktnav a{background:#000;padding:18px 20px;display:grid;gap:4px;transition:.15s}.aktnav a:hover{background:#0e0e0d}.aktnav b{font:800 22px var(--disp)}.aktnav span{font-size:13px;color:#cfcfcb}.aktnav em{font-style:normal;font-size:12px;color:var(--red);letter-spacing:.1em;text-transform:uppercase}
.akt-view .seq{margin-top:4px}
@media (max-width:900px){.pl-stage{grid-template-columns:1fr;gap:14px}.pl-thumbs{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}
.akt-view h1,.ort-view h1{font-size:clamp(26px,3.6vw,52px);margin-bottom:10px}.akt-view .lead,.ort-view .lead{margin:0 0 10px;font-size:14px}.akt-view>.chips{margin:8px 0 16px}
.ort-view h2:first-of-type{margin-top:18px}
.pl-video video{max-height:min(54svh,640px)}
.pl-thumbs{grid-template-columns:repeat(auto-fill,minmax(120px,150px))}
.pl-stage{grid-template-columns:minmax(0,auto) minmax(260px,1fr)}
.pl-video{width:min(100%,calc(min(50svh,600px)*1.25))}.pl-video video{max-height:min(50svh,600px)}
@media (max-width:900px){.pl-stage{grid-template-columns:1fr}.pl-video{width:100%}.pl-video video{max-height:none}}
/* v3 */
.pl{display:block;margin:0 0 8px}
.pl-frame{margin:0 calc(-1*clamp(16px,4vw,48px));background:#000;border-block:1px solid var(--line)}
.pl-video{width:100%;border:0;background:#000}
.pl-video video{display:block;width:100%;height:min(calc(100svh - 300px),80vw);max-height:none;aspect-ratio:auto;object-fit:contain;background:#000}
.pl-frame .pl-label{margin:0;padding:10px clamp(16px,4vw,48px) 6px;border-top:1px solid var(--line)}
.pl-rail{padding:0 clamp(16px,4vw,48px) 14px}
.pl-thumbs{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.pl-t .t{font-size:10.5px}.pl-t .m{font-size:10px}.pl-t i{font-size:11px;padding:4px 6px}.pl-t b{font-size:10px}
.pl-cap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:6px 48px;padding:22px 0 0}
.pl-cap .pl-thema{margin-top:0}
.map-view>h2:first-of-type{margin-top:28px}
@media (max-width:900px){.pl-video video{height:auto;aspect-ratio:5/4}.pl-thumbs{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}}
.akt-view .pl-video video,.ort-view .pl-video video{height:max(300px,min(calc(100svh - 440px),80vw))}
.akt-view .kicker,.ort-view .kicker{margin-bottom:6px}.ort-view h2:first-of-type{margin:10px 0 10px;padding-top:8px}
@media (max-width:900px){.akt-view .pl-video video,.ort-view .pl-video video{height:auto}}

/* ── medienwerkstatt006 · globaler Header v4 (2026-09-20) ──
   Projektkopf heißt jetzt .pe-top (die Klasse .top würde vom globalen Header als
   Alt-Header entfernt) und klebt unter der fixen 70-px-Kopfzeile. */
.pe-top{top:var(--mw4-height,70px)}
html{scroll-padding-top:calc(var(--mw4-height,70px) + 120px)}
#lb{z-index:2147483646}

/* ── 3D-Erweiterung 2026 · „Zum Raum wird hier die Zeit“ (parsi_3d.html) ── */
.pe-top .main a.nav3d{color:var(--green)}
.raum-view{padding:28px clamp(16px,4vw,48px) 48px;max-width:1400px;margin:0 auto;width:100%}
.raum-head .kick{color:var(--green);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px}
.raum-head h1{font:700 clamp(28px,4.5vw,56px)/1.05 var(--disp);margin:0 0 14px;letter-spacing:-.01em}
.raum-head .lead{max-width:80ch;color:#d8d8d4;margin:0 0 20px;font-size:15px;line-height:1.65}
.raum-poster{position:relative;display:block;border:1px solid var(--line);background:#000;margin:0 0 22px}
.raum-poster img{display:block;width:100%;height:auto}
.raum-poster span{position:absolute;left:18px;bottom:18px;background:var(--red);color:#fff;padding:10px 16px;font:700 13px var(--mono);letter-spacing:.04em}
.raum-poster:hover span{background:#ff3a3a}
.raum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.raum-grid article{border:1px solid var(--line);padding:16px 18px}
.raum-grid h2{font:700 14px var(--disp);margin:0 0 8px}.raum-grid p{font-size:13px;line-height:1.6;margin:0 0 10px;color:#d8d8d4}
.raum-grid .chip{display:inline-block;margin:2px 6px 2px 0}
.raum-foot{color:var(--dim);font-size:12px;margin:22px 0 0}
.legend .chip{margin-left:auto}
.raum-media{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:0 0 22px}.raum-media figure{margin:0}.raum-media figcaption{font-size:12px;color:var(--dim);margin-top:6px;line-height:1.6}.raum-media figcaption a{color:var(--green)}
.sk-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--green);background:rgba(0,0,0,.7);color:#fff;padding:10px 16px;font:700 12px var(--mono);letter-spacing:.08em;white-space:nowrap}.sk-load:hover .sk-play{background:var(--green);color:#000}.sk-load iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
