:root{
    --bg:#070a0e; --panel:#0d1218; --panel2:#111823; --line:#1c2733; --line2:#26333f;
    --text:#d6dee8; --dim:#6f7d8c; --dim2:#8a97a5; --amber:#eab308; --amber2:#fcd34d;
    --green:#46e0a0; --red:#f0503c; --grid:rgba(70,224,160,.05);
  }
  *{box-sizing:border-box;}
  body{margin:0; background:var(--bg); color:var(--text);
    font:15px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
    background-size:40px 40px;}
  .mono{font-family:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;}
  a{color:var(--amber);}
  .shell{width:min(1520px,96vw); margin:0 auto;}
  /* Header */
  header.top{position:sticky; top:0; z-index:40; background:rgba(7,10,14,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  .topbar{display:flex; align-items:center; gap:1rem; padding:.7rem 0;}
  .brand{display:flex; align-items:center; gap:.6rem; font-weight:800; font-size:1.25rem; letter-spacing:-.01em;}
  .brand svg.tile{width:38px; height:38px; flex:none;}
  .brand .wm b{color:var(--amber2); font-weight:800;}
  .sp{flex:1;}
  .threat{display:inline-flex; align-items:center; gap:.6rem; border:1px solid var(--line2); border-radius:999px; padding:.4rem .95rem; background:var(--panel); font-family:ui-monospace,monospace;}
  .threat .lbl{font-size:.6rem; letter-spacing:.2em; color:var(--dim); text-transform:uppercase;}
  .threat .sep{width:1px; height:14px; background:var(--line2);}
  .threat .val{font-weight:800; letter-spacing:.1em; font-size:.92rem;}
  .dot{width:8px; height:8px; border-radius:50%; box-shadow:0 0 0 0 currentColor; animation:pulse 1.8s infinite; flex:none;}
  .t-hoch{color:var(--red);} .t-mittel{color:var(--amber);} .t-gering{color:var(--green);}
  @keyframes pulse{0%{box-shadow:0 0 0 0 currentColor;}70%{box-shadow:0 0 0 7px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
  /* Ticker */
  .ticker{border-bottom:1px solid var(--line); background:var(--panel); overflow:hidden; white-space:nowrap;}
  .ticker-inner{display:flex; align-items:center;}
  .marquee{overflow:hidden; flex:1;}
  .marquee ul{display:inline-flex; gap:2.2rem; margin:0; padding:.3rem 1.2rem; list-style:none; animation:scroll 60s linear infinite;}
  .marquee li{font-family:ui-monospace,monospace; font-size:.76rem; color:var(--dim2); white-space:nowrap;}
  .marquee li b{color:var(--amber2); font-weight:700;} .marquee li .pp{color:var(--text);} .marquee li .ago{color:var(--dim);} .marquee li .tool{color:var(--green);}
  .marquee li::before{content:"◤"; color:var(--green); margin-right:.5rem; font-size:.6rem; vertical-align:middle;}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .marquee:hover ul{animation-play-state:paused;}
  /* Hero */
  .hero{padding:2.2rem 0 1rem;}
  .eyebrow{font-family:ui-monospace,monospace; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--green);}
  .hero h1{font-size:2rem; line-height:1.15; margin:.5rem 0;}
  .hero p{color:var(--dim2); max-width:80ch;}
  .stamp{color:var(--dim); font-size:.82rem; margin-top:.6rem; font-family:ui-monospace,monospace;}
  /* Ops-Reihe */
  .ops{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.9rem; margin:1.4rem 0;}
  .opsbox{position:relative; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:.9rem 1.1rem;}
  .opsbox::before,.opsbox::after{content:""; position:absolute; width:9px; height:9px; border-color:var(--line2); border-style:solid;}
  .opsbox::before{top:6px; left:6px; border-width:1px 0 0 1px;}
  .opsbox::after{bottom:6px; right:6px; border-width:0 1px 1px 0;}
  .opsbox .k{font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
  .opsbox .v{font-family:ui-monospace,monospace; font-size:1.5rem; font-weight:800; margin-top:.2rem;}
  .opsbox .osub{font-size:.72rem; color:var(--dim); margin-top:.2rem;}
  .lagebild{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--green); border-radius:0 10px 10px 0; padding:1rem 1.2rem; margin:0 0 2rem; line-height:1.65;}
  .lagebild[hidden]{display:none;}
  .lagebild h2{font-family:ui-monospace,monospace; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--green); margin:0 0 .6rem;}
  /* Sektion */
  .sec-head{display:flex; align-items:baseline; gap:.8rem; margin:2rem 0 1rem; border-bottom:1px solid var(--line); padding-bottom:.5rem;}
  .sec-head h2{font-size:1.05rem; margin:0; font-family:ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase;}
  .sec-head .hint{color:var(--dim); font-size:.8rem;}
  /* Vektor-Zeilen, volle Breite */
  .rows{display:flex; flex-direction:column; gap:.7rem;}
  .vrow{display:grid; grid-template-columns:56px minmax(0,1fr) 210px 116px 130px; align-items:center; gap:1.2rem;
    background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:.9rem 1.1rem; cursor:pointer; transition:border-color .15s,background .15s;}
  .vrow:hover{border-color:var(--amber); background:var(--panel2);}
  .vico{width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(234,179,8,.1); border:1px solid var(--line2);}
  .vico svg{width:28px; height:28px; stroke:var(--amber2); fill:none; stroke-width:1.8;}
  .vico.i-hoch{background:rgba(240,80,60,.12);} .vico.i-hoch svg{stroke:var(--red);}
  .vico.i-erhöht{background:rgba(234,179,8,.12);} .vico.i-erhöht svg{stroke:var(--amber2);}
  .vico.i-gering{background:rgba(111,125,140,.12);} .vico.i-gering svg{stroke:var(--dim2);}
  .vmain .vt{font-weight:700; font-size:1.08rem; display:flex; align-items:center; gap:.55rem; flex-wrap:wrap;}
  .vmain .vd{color:var(--dim2); font-size:.86rem; margin-top:.2rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
  .badge{font-family:ui-monospace,monospace; font-size:.66rem; font-weight:700; letter-spacing:.06em; padding:.12rem .5rem; border-radius:5px; text-transform:uppercase; white-space:nowrap;}
  .b-steigend{color:var(--red); border:1px solid rgba(240,80,60,.4); background:rgba(240,80,60,.08);}
  .b-stabil{color:var(--dim2); border:1px solid var(--line2);}
  .b-fallend{color:var(--green); border:1px solid rgba(70,224,160,.35); background:rgba(70,224,160,.06);}
  .b-ruhig{color:var(--dim); border:1px solid var(--line2);}
  .chip{font-family:ui-monospace,monospace; font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); border:1px solid var(--line2); border-radius:5px; padding:.1rem .45rem;}
  .chip.cve{color:#fca5a5; border-color:rgba(240,80,60,.35);}
  .vmeter{}
  .vmeter .lbl{font-family:ui-monospace,monospace; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); display:flex; justify-content:space-between; margin-bottom:.25rem;}
  .track{height:8px; background:var(--panel2); border:1px solid var(--line2); border-radius:5px; overflow:hidden;}
  .fill{height:100%; border-radius:5px;}
  .f-hoch{background:linear-gradient(90deg,#f0503c,#eab308);} .f-erhöht{background:var(--amber);} .f-gering{background:var(--dim2);}
  .sparkcell{display:flex; align-items:center; justify-content:center; height:30px;}
  .spark{display:block;}
  .go{justify-self:end; display:inline-flex; align-items:center; gap:.35rem; border:1px solid var(--line2); background:var(--panel2);
    color:var(--dim2); border-radius:7px; padding:.42rem .85rem; font-family:ui-monospace,monospace; font-size:.72rem; letter-spacing:.04em; white-space:nowrap;}
  .vrow:hover .go{border-color:var(--amber); color:var(--amber); background:rgba(234,179,8,.08);}
  .empty{color:var(--dim); padding:2rem 0;}
  /* Werkzeuge */
  .tools{display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:.7rem;}
  .trow{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:.85rem 1rem;}
  .trow .th{display:flex; align-items:center; gap:.5rem; justify-content:space-between;}
  .tname{font-family:ui-monospace,monospace; font-weight:700;}
  .kbadge{font-family:ui-monospace,monospace; font-size:.6rem; letter-spacing:.06em; text-transform:uppercase; padding:.12rem .48rem; border-radius:5px; border:1px solid var(--line2); color:var(--dim2); white-space:nowrap;}
  .k-exploit{color:var(--red); border-color:rgba(240,80,60,.4);}
  .k-mass{color:var(--amber2); border-color:rgba(234,179,8,.4);}
  .k-research{color:var(--green); border-color:rgba(70,224,160,.35);}
  .k-httplib{color:var(--dim2);}
  .k-spoofed{color:#c084fc; border-color:rgba(192,132,252,.4);}
  .k-unknown{color:var(--dim);}
  .tdesc{color:var(--dim2); font-size:.84rem; margin:.45rem 0 .55rem;}
  .tshare{display:flex; align-items:center; gap:.6rem;}
  .tshare .track{flex:1; height:8px; background:var(--panel2); border:1px solid var(--line2); border-radius:5px; overflow:hidden;}
  .tshare .pct{font-family:ui-monospace,monospace; font-size:.72rem; color:var(--dim); min-width:36px; text-align:right;}
  .k-ai{color:#60a5fa; border-color:rgba(96,165,250,.4);}
  /* KI-Briefing (nutzt .lagebild) + Quellen */
  .lagebild .sources{margin-top:.7rem; border-top:1px solid var(--line); padding-top:.5rem;}
  .lagebild .src-h{color:var(--dim); font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:.3rem;}
  .lagebild .sources ol{margin:.2rem 0; padding-left:1.2rem;} .lagebild .sources a{word-break:break-all;}
  .lagebild sup a{color:var(--green); text-decoration:none;}
  #ki{border-left-color:#60a5fa;} #ki h2{color:#60a5fa;}
  /* CISA KEV */
  .kev{display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:.7rem;}
  .kevrow{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--red); border-radius:0 10px 10px 0; padding:.8rem 1rem;}
  .kevtop{display:flex; justify-content:space-between; align-items:center; gap:.5rem;}
  .kevcve{font-family:ui-monospace,monospace; font-weight:700; color:#fca5a5; text-decoration:none;}
  .kevdate{font-family:ui-monospace,monospace; font-size:.72rem; color:var(--dim); white-space:nowrap;}
  .kevname{font-weight:600; font-size:.9rem; margin:.3rem 0;}
  .kevdesc{color:var(--dim2); font-size:.83rem;}
  footer{border-top:1px solid var(--line); margin-top:3rem; padding:1.6rem 0; color:var(--dim); font-size:.82rem;}
  /* Detail-Overlay */
  .overlay{position:fixed; inset:0; background:rgba(2,4,7,.78); display:flex; justify-content:center; align-items:flex-start; padding:3rem 1rem; overflow:auto; z-index:60;}
  .overlay[hidden]{display:none;}
  .sheet{background:var(--panel); border:1px solid var(--line2); border-radius:14px; max-width:840px; width:100%; padding:1.5rem 1.6rem;}
  .sheet-head{display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;}
  .sheet-head h2{margin:.1rem 0; font-size:1.5rem; display:flex; align-items:center; gap:.7rem;}
  .sheet-head svg{width:30px; height:30px; stroke:var(--amber2); fill:none; stroke-width:1.8;}
  .sheet-head button{background:none; border:none; color:var(--dim); font-size:1.6rem; cursor:pointer; line-height:1;}
  .sheet h3{font-family:ui-monospace,monospace; font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:var(--green); margin:1.5rem 0 .5rem;}
  .pathlist{list-style:none; padding:0; margin:0;}
  .pathlist li{font-family:ui-monospace,monospace; font-size:.85rem; color:var(--amber2); padding:.25rem 0; border-bottom:1px solid var(--line); word-break:break-all;}
  .cves a{display:inline-block; background:var(--panel2); border:1px solid rgba(240,80,60,.3); color:#fca5a5; border-radius:5px; padding:.1rem .5rem; margin:.2rem .3rem .2rem 0; font-size:.82rem; text-decoration:none; font-family:ui-monospace,monospace;}
  .sources{margin:.3rem 0; padding-left:1.2rem;} .sources a{word-break:break-all;}
  .tabs{display:flex; gap:.3rem; margin-bottom:.4rem;}
  .tabs button{background:var(--panel2); border:1px solid var(--line2); color:var(--dim2); border-radius:6px 6px 0 0; padding:.3rem .8rem; cursor:pointer; font:inherit; font-size:.82rem; font-family:ui-monospace,monospace;}
  .tabs button.active{border-color:var(--amber); color:var(--amber);}
  pre.snip,pre.prompt{background:var(--bg); border:1px solid var(--line2); border-radius:8px; padding:.85rem 1rem; overflow:auto; margin:.55rem 0 .2rem; font-size:.82rem; line-height:1.5; white-space:pre-wrap; word-break:break-word; font-family:ui-monospace,monospace;}
  .copybar{display:flex; align-items:center; gap:.7rem; margin:.6rem 0 .1rem;}
  .copybar button{background:var(--amber); color:#1a1206; border:none; border-radius:6px; padding:.32rem .8rem; font:inherit; font-weight:700; cursor:pointer; font-size:.84rem;}
  .note{color:var(--dim); font-size:.85rem; margin:.3rem 0;}
  .prompt-wrap h3{color:var(--amber);}
  .updnote{color:var(--dim); font-size:.8rem; margin-top:1.4rem; font-family:ui-monospace,monospace;}
  .loading{color:var(--dim); padding:1rem 0; font-family:ui-monospace,monospace;}
  @media(max-width:820px){ .vrow{grid-template-columns:48px minmax(0,1fr) auto; gap:.9rem;} .vmeter,.sparkcell{display:none;} }
  @media(max-width:560px){
    /* Kopfzeile kompakt, damit nichts ueberlaeuft */
    .topbar{gap:.5rem;}
    .brand{font-size:1.02rem; gap:.45rem;}
    .brand svg.tile{width:30px; height:30px;}
    .threat{padding:.22rem .5rem; gap:.3rem;}
    .threat .lbl, .threat .sep{display:none;}   /* "Lage"-Label + Trenner weg */
    .threat .val{font-size:.72rem; letter-spacing:.03em;}
    .dot{width:7px; height:7px;}
    /* Ops-Cards 2-spaltig */
    .ops{grid-template-columns:repeat(2,1fr); gap:.55rem; margin:1rem 0;}
    .opsbox{padding:.6rem .7rem;}
    .opsbox .k{font-size:.6rem; letter-spacing:.1em;}
    .opsbox .v{font-size:1.15rem;}
    .opsbox .osub{font-size:.66rem;}
  }
  .mapwrap{display:grid;grid-template-columns:1fr 250px;gap:1rem;align-items:stretch;margin:0 0 1.6rem;}
  .worldmap{width:100%;height:auto;display:block;border:1px solid #1c2740;border-radius:12px;background:radial-gradient(130% 130% at 50% 25%,#0f1a34,#070c19);}
  .worldmap .land{fill:#2c3d5a;stroke:#6079a3;stroke-width:.5;}
  .worldmap .halo{fill:url(#dotg);}
  .worldmap .ping{fill:none;stroke:#ffb347;stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center;animation:mping 3s ease-out infinite;}
  .worldmap .ping.hot{stroke:#ff5630;stroke-width:1.6;}
  .worldmap .dot{fill:#ffb347;transform-box:fill-box;transform-origin:center;animation:mpop 3s ease-out infinite;}
  .worldmap .dot.hot{fill:#ff5630;}
  .globe{display:none;width:100%;aspect-ratio:1/1;border:1px solid #1c2740;border-radius:12px;background:radial-gradient(130% 130% at 50% 20%,#0d1730,#05080f);cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;}
  .globe:active{cursor:grabbing;}
  .mapwrap.is-globe{position:relative;}
  .mapwrap.is-globe .worldmap{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;}
  .mapwrap.is-globe .globe{display:block;}
  .maplist{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;padding:.6rem;border:1px solid #1c2740;border-radius:12px;background:#0c1326;overflow:auto;}
  .maplist .crow{display:flex;align-items:center;gap:.5rem;}
  .maplist .cflag{font-size:1.1rem;line-height:1;flex:none;}
  .maplist .cname{flex:1;color:#c9d4e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .maplist .cbar{width:52px;height:6px;background:#1c2740;border-radius:3px;overflow:hidden;flex:none;}
  .maplist .cfill{display:block;height:100%;background:linear-gradient(90deg,#ffb347,#ff5630);}
  .maplist .cpct{color:#8a97a5;min-width:40px;text-align:right;flex:none;}
  @media(max-width:640px){.mapwrap{grid-template-columns:1fr;}.maplist{max-height:180px;}}
  html{scroll-behavior:smooth;}
  .hero{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;align-items:center;}
  .heromap{display:flex;flex-direction:column;gap:.6rem;}
  .minimap{width:100%;height:auto;display:block;border:1px solid #1c2740;border-radius:10px;background:radial-gradient(130% 130% at 50% 25%,#0f1a34,#070c19);}
  .minimap .mdot{fill:#ffb347;transform-box:fill-box;transform-origin:center;animation:mpop 3.4s ease-out infinite;}
  .minimap .mdot.hot{fill:#ff5630;}
  .minimap .ping{fill:none;stroke:#ffb347;stroke-width:2.4;opacity:0;transform-box:fill-box;transform-origin:center;animation:mping 3.4s ease-out infinite;}
  .minimap .ping.hot{stroke:#ff5630;}
  @keyframes mping{0%{transform:scale(.15);opacity:.9;}70%{opacity:0;}100%{transform:scale(3.4);opacity:0;}}
  @keyframes mpop{0%,55%,100%{transform:scale(1);}6%{transform:scale(1.9);}}
  .mapbtn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem .9rem;border:1px solid #2b3a5c;border-radius:8px;background:#131f38;color:#cfe0ff;text-decoration:none;font-size:.85rem;font-weight:600;transition:background .15s,border-color .15s;}
  .mapbtn:hover{background:#1a2a4c;border-color:#3a4f7a;}
  #map{scroll-margin-top:90px;}
  @media(max-width:720px){.hero{grid-template-columns:1fr;}.heromap{max-width:360px;}}
  @media(prefers-reduced-motion:reduce){.minimap .mdot,.minimap .ping,.worldmap .dot,.worldmap .ping{animation:none;}.minimap .ping,.worldmap .ping{opacity:.4;}}
  .opsbox .ospark{margin-top:.4rem;line-height:0;}
  .opsbox .ospark .spark{width:100%;height:26px;display:block;opacity:.85;}
.asnlist{display:flex;flex-direction:column;gap:.45rem;padding:.8rem 1rem;border:1px solid #1c2740;border-radius:12px;background:#0c1326;margin:0 0 1.6rem;}
.asnlist .crow{display:flex;align-items:center;gap:.6rem;font-size:.85rem;}
.asnlist .cname{flex:1;color:#c9d4e5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.asnlist .cbar{width:120px;max-width:34vw;height:6px;background:#1c2740;border-radius:3px;overflow:hidden;flex:none;}
.asnlist .cfill{display:block;height:100%;background:linear-gradient(90deg,#ffb347,#ff5630);}
.asnlist .cpct{color:#8a97a5;min-width:74px;text-align:right;flex:none;}
  /* Angriffsfaelle (Radar-Block + /security/faelle) */
  .cases{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr)); gap:1rem; margin:0 0 2rem;}
  .casecard{display:block; background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:1rem 1.1rem; color:var(--text); text-decoration:none;}
  .casecard:hover{border-color:var(--amber);}
  .casecard .ct{font-weight:700; line-height:1.35; margin-bottom:.35rem;}
  .casecard .cm{color:var(--dim2); font-size:.8rem; margin-bottom:.5rem;}
  .casecard .cc{display:flex; flex-wrap:wrap; gap:.3rem;}
  .casepage h1{overflow-wrap:anywhere;}
  .facts{display:grid; grid-template-columns:max-content 1fr; gap:.3rem 1rem; margin:0 0 .8rem;}
  .facts dt{color:var(--dim);} .facts dd{margin:0; overflow-wrap:anywhere;}
  .payload{white-space:pre-wrap; overflow-wrap:anywhere; background:var(--bg); border:1px solid var(--line); border-radius:6px; padding:.4rem .6rem; margin:.3rem 0; font-size:.78rem; color:var(--dim2);}
  .tablewrap{overflow-x:auto;}
  .reqs{width:100%; border-collapse:collapse; font-size:.82rem;}
  .reqs th{text-align:left; color:var(--dim); font-weight:600; border-bottom:1px solid var(--line2); padding:.35rem .5rem;}
  .reqs td{border-bottom:1px solid var(--line); padding:.35rem .5rem; vertical-align:top; overflow-wrap:anywhere;}
  .reqs td:first-child,.reqs td:nth-child(2){white-space:nowrap;}
  .casehero{padding:1.6rem 0 1rem; max-width:60rem;}
  .casehero h1{margin:.3rem 0 .6rem; line-height:1.2;}
  .casehero .stamp{color:var(--dim2); font-family:ui-monospace,monospace; font-size:.8rem;}
  @media (max-width:640px){ .casesite .shell{width:auto; margin:0 16px;} .facts{grid-template-columns:1fr;} .facts dd{margin-bottom:.4rem;} }
  /* Nachgespielte Angreifer-Shell auf der Fallseite */
  .termwin{background:#05070a; border:1px solid var(--line2); border-radius:10px; overflow:hidden; margin:0 0 2rem;}
  .termbar{display:flex; align-items:center; gap:.45rem; padding:.5rem .8rem; background:#0d1218; border-bottom:1px solid var(--line);}
  .termbar .dot{width:11px; height:11px; border-radius:50%; flex:none;}
  .termbar .dot.r{background:#ff5f57;} .termbar .dot.y{background:#febc2e;} .termbar .dot.g{background:#28c840;}
  .termbar .shtitle{margin-left:.6rem; color:var(--dim); font-family:ui-monospace,monospace; font-size:.74rem;}
  .termbody{margin:0; padding:1rem 1.1rem; min-height:16rem; max-height:44rem; overflow:auto;
    font-family:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace; font-size:.82rem; line-height:1.6;
    white-space:pre-wrap; overflow-wrap:anywhere; color:#c7d3df;}
  .termbody .sh-login{color:var(--amber2);}
  .termbody .sh-prompt{color:var(--green); font-weight:700;}
  .termbody .sh-cmd{color:#fff;}
  .termbody .sh-out{color:var(--dim2);}
  /* blinkender Cursor, solange getippt wird */
  .termbody.typing::after{content:"▋"; color:var(--green); animation:blink 1.05s steps(1) infinite;}
  @keyframes blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
  .shskip{background:none; border:1px solid var(--line2); color:var(--dim2); border-radius:5px;
    padding:.1rem .5rem; font-size:.72rem; cursor:pointer; margin-left:.5rem; font-family:inherit;}
  .shskip:hover{border-color:var(--amber); color:var(--amber);}
  @media (prefers-reduced-motion: reduce){ .termbody.typing::after{animation:none;} }
  /* Navigation im Kopf, auf allen Seiten gleich */
  .seitennav{display:flex; gap:1.1rem; align-items:center; margin-right:1.1rem; flex-wrap:wrap;}
  .seitennav a{color:var(--dim2); text-decoration:none; font-size:.86rem; white-space:nowrap;}
  .seitennav a:hover{color:var(--amber);}
  .seitennav a.hier{color:var(--text); font-weight:600;}
  /* Wortmarke im Kopf der Unterseiten genau wie auf der Startseite */
  .casesite .brand{text-decoration:none; color:inherit;}
  @media (max-width:640px){ .seitennav{gap:.7rem; margin-right:.6rem;} .seitennav a{font-size:.78rem;} }
  /* Erlaeuterung unter dem Mitschnitt */
  .analyse h3{font-size:.95rem; color:var(--text); margin:1.1rem 0 .3rem; font-weight:600;}
  .analyse h3:first-child{margin-top:0;}
  .analyse p{margin:0 0 .2rem; color:var(--dim2); line-height:1.7;}
  /* Betreiberzeile in der Fusszeile */
  .fussfirma{margin-bottom:.6rem; padding-bottom:.6rem; border-bottom:1px solid var(--line);
    color:var(--dim2);}
  .fussfirma b{color:var(--text); font-weight:600;}
  .fussfirma a{color:var(--amber); text-decoration:none;}
  .fussfirma a:hover{text-decoration:underline;}
  /* "Details" auf den Karten: macht sichtbar, dass die Karte ein Link ist.
     Unten rechts, mit Abstand zu den Angaben darueber; margin-top:auto schiebt
     ihn bei unterschiedlich hohen Karten immer an den unteren Rand. */
  .casecard{display:flex; flex-direction:column;}
  .karten-go{align-self:flex-end; justify-self:auto; margin-top:auto; padding-top:.42rem;}
  .casecard .cc + .karten-go, .casecard .cm + .karten-go{margin-top:1rem;}
  .casecard:hover .karten-go{border-color:var(--amber); color:var(--amber); background:rgba(234,179,8,.08);}
  /* Passwort-Seite */
  .leerwert{color:var(--dim); font-style:italic;}
  .pwtabelle td{vertical-align:middle;}
  .pwtabelle .mono{color:var(--amber2);}
  .pwspalten{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:1.4rem; margin-bottom:2rem;}
  .pwspalte h3{font-family:ui-monospace,monospace; font-size:.72rem; letter-spacing:.2em;
    text-transform:uppercase; color:var(--green); margin:0 0 .6rem;}
  /* Brotkrumen ueber dem Seitentitel */
  .krumen{display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin:1.2rem 0 .2rem;
    font-size:.82rem; color:var(--dim);}
  .krumen a{color:var(--dim2); text-decoration:none;}
  .krumen a:hover{color:var(--amber); text-decoration:underline;}
  .krumen .trenner{color:var(--line2);}
  .krumen [aria-current]{color:var(--text); overflow:hidden; text-overflow:ellipsis;
    white-space:nowrap; max-width:min(52ch,60vw);}
  .quelle{color:var(--dim2);}
  .tabellennote{color:var(--dim); font-size:.84rem; line-height:1.65; margin:.8rem 0 2rem; max-width:70ch;}
  .blaettern{display:flex; gap:.7rem; justify-content:space-between; margin:2rem 0;}
  /* Knopf-artige Links (Blaettern zwischen den Wochen) */
  .btnlink{display:inline-flex; align-items:center; gap:.35rem; border:1px solid var(--line2);
    background:var(--panel2); color:var(--dim2); border-radius:7px; padding:.42rem .95rem;
    font-family:ui-monospace,monospace; font-size:.76rem; text-decoration:none; white-space:nowrap;}
  .btnlink:hover{border-color:var(--amber); color:var(--amber); background:rgba(234,179,8,.08);}
