.story-karte{position:relative;margin:18px 0 0;border-radius:14px;overflow:hidden;aspect-ratio:16/11;background:#0b0e11;border:1px solid var(--line)}
.karte-bk,.karte-bk svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.bk path{vector-effect:non-scaling-stroke;fill:none;stroke-linejoin:round;stroke-linecap:round}
.bk .bk-wasser{fill:#17324a;stroke:#2a5170;stroke-width:1}
.bk .bk-schiene{stroke:#3b3b3b;stroke-width:1;stroke-dasharray:5 4}
.bk .bk-gross{stroke:#4a4a4a;stroke-width:1.6}
.bk .bk-geb{fill:#262626;stroke:#3a3a3a;stroke-width:.6}
.bk .bk-klein{stroke:#444;stroke-width:2}
.bk .bk-haupt{stroke:#707070;stroke-width:4}
.bk .bk-pkt{fill:#a5a5a5}.bk .bk-ort{fill:#d4d4d4;font:700 var(--fs,300px) system-ui,sans-serif;letter-spacing:.03em;paint-order:stroke;stroke:#0e1114;stroke-width:var(--sw,60px)}
.bk-c,.bk-m,.bk-l,.bk-grenze,.bk-gf,.bk-stadt{opacity:0}
.bk .bk-gf{fill:#10171d;stroke:none}
.bk .bk-grenze{fill:none;stroke:#fe7c02;stroke-width:3.4;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(254,124,2,.6))}
.bk .bk-park{fill:#16231b;stroke:none}.bk .bk-ind{fill:#171a1e;stroke:none}
.bk .bk-stadt{font:800 var(--fsb,900px) system-ui,sans-serif;letter-spacing:.18em;fill:rgba(255,255,255,.88);paint-order:stroke;stroke:#0e1114;stroke-width:var(--sw,60px)}
.bk .bk-turm .bk-pkt{fill:#fe7c02}
.bk .bk-kern{fill:#fe7c02;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.bk .bk-ring{fill:none;stroke:#fe7c02;stroke-width:2;vector-effect:non-scaling-stroke}
.bk .bk-ring2{transform-box:fill-box;transform-origin:center;animation:bkp 2s ease-out infinite}
@keyframes bkp{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
.karte-ort{position:absolute;left:14px;bottom:14px;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:10px;background:rgba(10,10,10,.82);border:1px solid rgba(254,124,2,.55);opacity:0;transform:translateY(8px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}
.karte-ort b{font:800 1.05rem var(--head);color:#fff}.karte-ort span{font:600 .85rem var(--sans);color:var(--accent)}
.story-karte.fertig .karte-ort{opacity:1;transform:none}
.karte-quelle{position:absolute;right:8px;bottom:5px;font:500 .62rem var(--sans);color:#8a8a8a;opacity:.8}
@media (min-width:700px){.story-karte{aspect-ratio:16/9}}
