:root{
    --bg:#0a0a0b; --panel:#141518; --panel-2:#1b1c21; --ink:#f4f3ee; --muted:#9a9ba3;
    --line:#262730; --accent:#ffd60a; --accent-ink:#141100;
    --mint:#4fd6d0; --dim:#6b6c76; --green:#3ec98a; --red:#f0806f;
    --sans:"Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
    --mono:"Cascadia Code","Consolas","SF Mono",ui-monospace,monospace;
    --serif:Georgia,"Times New Roman",serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.6; font-size:17px; -webkit-font-smoothing:antialiased;
    background-image:radial-gradient(circle at 50% -6%, rgba(255,214,10,.10), transparent 46%), radial-gradient(rgba(255,255,255,.055) 1.1px, transparent 1.1px);
    background-size:auto, 23px 23px; background-attachment:fixed;}
  a{color:inherit; text-decoration:none}
  ::selection{background:rgba(255,214,10,.25)}
  .wrap{max-width:1120px; margin:0 auto; padding:0 24px}
  section{padding:92px 0; border-top:1px solid var(--line)}
  section:first-of-type{border-top:none}
  .prose{max-width:64ch}

  nav{position:sticky; top:0; z-index:50; background:rgba(10,10,11,.72); backdrop-filter:blur(12px); border-bottom:1px solid var(--line)}
  .nav-in{max-width:1120px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; gap:18px}
  .logo{display:flex; align-items:center; gap:11px; font-weight:800; letter-spacing:.02em; font-size:19px}
  .mark{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:9px; background:var(--accent); color:var(--accent-ink); font-family:var(--mono); font-size:17px; font-weight:700}
  .nav-links{display:flex; gap:18px; align-items:center}
  .nav-links a{color:var(--muted); font-size:14.5px; transition:color .15s}
  .nav-links a:hover{color:var(--ink)}
  .nav-cta{display:flex; gap:12px; align-items:center; margin-left:auto}
  .status-pill{display:inline-flex; align-items:center; gap:7px; font-family:var(--mono); font-size:12px; color:var(--muted); border:1px solid var(--line); border-radius:999px; padding:4px 11px}
  .status-pill .dot{width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 8px rgba(255,214,10,.6)}
  .btn{display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; padding:9px 16px; border-radius:11px; cursor:pointer; transition:transform .15s, background .15s, border-color .15s; border:1px solid transparent}
  .btn.y{background:var(--accent); color:var(--accent-ink)}
  .btn.y:hover{transform:translateY(-2px)}
  .btn.ghost{background:transparent; border-color:var(--line); color:var(--ink)}
  .btn.ghost:hover{border-color:var(--accent); color:var(--accent)}
  .btn.disabled{opacity:.55; cursor:default; pointer-events:none}
  @media(max-width:1040px){
    /* Mobil: HALVETH-Knoepfe erreichbar machen (horizontal scrollbar) und den
       Forschung-Knopf ausblenden, damit oben die HALVETH-Sachen Vorrang haben. */
    .nav-in{flex-wrap:wrap; gap:10px 14px}
    .nav-links{display:flex; order:3; width:100%; overflow-x:auto; gap:16px; padding-bottom:2px; -webkit-overflow-scrolling:touch; scrollbar-width:none}
    .nav-links::-webkit-scrollbar{display:none}
    .nav-links a{white-space:nowrap; font-size:14px}
    .nav-cta .btn.y{display:none}
  }
  @media(max-width:480px){ .status-pill{display:none} }

  .eyebrow{font-family:var(--mono); font-size:13px; letter-spacing:.15em; color:var(--accent); text-transform:uppercase; margin:0 0 18px}
  h1{font-size:clamp(38px,7vw,72px); font-weight:800; letter-spacing:-2px; line-height:1.02; margin:0 0 22px}
  h2.sec{font-size:clamp(28px,4vw,42px); font-weight:800; letter-spacing:-1px; margin:0 0 12px}
  .sec-sub{color:var(--muted); max-width:62ch; margin:0 0 40px}

  .hero{padding-top:84px}
  .hero .lead{font-size:19px; color:var(--muted); max-width:60ch; margin:0 0 20px}
  .hero .lead strong{color:var(--ink); font-weight:600}
  .hook{font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.4vw,24px); color:var(--ink); max-width:42ch; margin:0 0 28px; line-height:1.4}
  .cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:52px}

  .console{background:var(--panel); border:1px solid var(--line); border-radius:16px; overflow:hidden; max-width:680px}
  .console-bar{display:flex; align-items:center; gap:8px; padding:11px 16px; border-bottom:1px solid var(--line); background:var(--panel-2)}
  .console-bar .b{width:11px; height:11px; border-radius:50%; background:#33343c}
  .console-bar .t{font-family:var(--mono); font-size:12px; color:var(--dim); margin-left:8px}
  .console-body{padding:16px 18px; font-family:var(--mono); font-size:13.5px}
  .cline{display:flex; align-items:center; gap:11px; padding:5px 0}
  .cline .sp{width:9px; height:9px; border-radius:50%; flex:none}
  .sp.green{background:var(--green); box-shadow:0 0 8px rgba(62,201,138,.5)}
  .sp.mint{background:var(--mint); box-shadow:0 0 8px rgba(79,214,208,.55)}
  .sp.yellow{background:var(--accent); box-shadow:0 0 8px rgba(255,214,10,.5)}
  .sp.open{background:var(--dim)}
  .cline .lbl{color:var(--muted); min-width:140px}
  .cline .val{color:var(--ink)}
  .cline .val.dim{color:var(--dim)}

  .grid{display:grid; gap:20px}
  .g2{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(3,1fr)}
  .g4{grid-template-columns:repeat(4,1fr)}
  @media(max-width:900px){ .g3,.g4{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:620px){ .g2,.g3,.g4{grid-template-columns:1fr} }
  .card{position:relative; background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:26px; transition:transform .2s, border-color .2s; overflow:hidden}
  .card::before{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .25s}
  .card:hover{transform:translateY(-5px); border-color:#33343c}
  .card:hover::before{transform:scaleX(1)}
  .card .ce{font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:var(--accent); margin:0 0 12px}
  .card h3{font-size:19px; font-weight:700; margin:0 0 10px; letter-spacing:-.3px}
  .card p{color:var(--muted); margin:0; font-size:15.5px}
  .card .role{font-family:var(--mono); color:var(--mint); font-size:12px; margin:0 0 8px}

  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
  @media(max-width:760px){ .pillars{grid-template-columns:1fr} }
  .pillar{background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:26px}
  .pillar .k{font-family:var(--mono); font-size:12px; color:var(--mint); letter-spacing:.08em; margin:0 0 10px}
  .pillar h3{margin:0 0 8px; font-size:20px; letter-spacing:-.3px}
  .pillar p{margin:0; color:var(--muted); font-size:15px}
  .caveat{margin-top:26px; border-left:2px solid var(--accent); padding:6px 0 6px 18px; color:var(--muted); font-size:15.5px; max-width:66ch}
  .caveat b{color:var(--ink); font-weight:600}

  .nots{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px}
  .not{font-family:var(--mono); font-size:13px; color:var(--muted); border:1px solid var(--line); border-radius:10px; padding:7px 13px}
  .not b{color:var(--ink); font-weight:600}

  /* attack flow */
  .aflow{display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-family:var(--mono); font-size:13.5px; margin-bottom:18px}
  .anode{border:1px solid var(--line); border-radius:11px; padding:9px 13px; background:var(--panel); color:var(--muted)}
  .anode.hot{border-color:var(--accent); color:var(--ink)}
  .aarrow{color:var(--dim)}
  .amoves{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
  @media(max-width:720px){ .amoves{grid-template-columns:1fr} }
  .amove{text-align:left; background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px 18px; color:var(--ink); cursor:pointer; font-weight:700; font-size:15.5px; transition:border-color .15s, transform .15s}
  .amove:hover{border-color:var(--accent); transform:translateY(-3px)}
  .amove.sel{border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent)}
  .amove small{display:block; font-weight:400; color:var(--muted); font-family:var(--sans); font-size:13.5px; margin-top:6px}
  .averdict{margin-top:18px; border-radius:12px; padding:16px 18px; border:1px solid var(--line); font-size:15.5px; color:var(--muted)}
  .averdict.held{border-color:rgba(62,201,138,.5); background:rgba(62,201,138,.08)} .averdict.held b{color:var(--green)}
  .averdict.open{border-color:rgba(240,128,111,.5); background:rgba(240,128,111,.08)} .averdict.open b{color:var(--red)}
  .averdict b{color:var(--ink)}

  /* scorecard */
  .tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px}
  .tile{background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:20px}
  .tile .n{font-family:var(--mono); font-weight:700; font-size:30px; color:var(--accent); letter-spacing:-1px; line-height:1}
  .tile .t{font-size:14.5px; color:var(--ink); font-weight:600; margin-top:8px}
  .tile .s{font-size:12.5px; color:var(--dim); margin-top:3px}

  /* fields */
  .fields{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
  @media(max-width:820px){ .fields{grid-template-columns:repeat(2,1fr)} }
  @media(max-width:560px){ .fields{grid-template-columns:1fr} }
  .field{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:18px 20px}
  .field h4{margin:0 0 5px; font-size:16px; font-weight:700}
  .field p{margin:0; color:var(--muted); font-size:14px}
  .scope-out{margin-top:22px; color:var(--dim); font-size:14.5px; max-width:66ch}

  /* fails */
  .fails{display:flex; flex-direction:column; gap:14px; max-width:78ch}
  .failcard{background:var(--panel); border:1px solid var(--line); border-left:2px solid var(--red); border-radius:14px; padding:20px 22px}
  .failcard h4{margin:0 0 6px; font-size:16.5px; font-weight:700}
  .failcard p{margin:.3rem 0; color:var(--muted); font-size:15px}
  .failcard .lesson{color:var(--accent); font-weight:600; font-size:14px}

  /* grenzen can/cant + cost */
  .cando{display:grid; grid-template-columns:1fr 1fr; gap:16px}
  @media(max-width:680px){ .cando{grid-template-columns:1fr} }
  .cbox{background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:22px}
  .cbox h4{margin:0 0 12px; font-size:15px; font-family:var(--mono); letter-spacing:.05em}
  .cbox.can h4{color:var(--green)} .cbox.cant h4{color:var(--red)}
  .cbox ul{margin:0; padding-left:20px} .cbox li{color:var(--muted); font-size:15px; margin:8px 0}
  .cbox li b{color:var(--ink)}
  .cost{margin-top:26px; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:24px}
  .cost input[type=range]{width:100%; accent-color:var(--accent); margin:6px 0 14px}
  .rung{display:flex; align-items:baseline; gap:12px; padding:8px 0; border-top:1px solid var(--line); font-size:14.5px}
  .rung:first-child{border-top:none}
  .rung .rn{font-family:var(--mono); color:var(--dim); width:1.4rem; flex:none}
  .rung .rt{color:var(--muted); font-weight:600} .rung.act .rt{color:var(--ink)}
  .rung .rd{color:var(--dim); font-size:13px; margin-left:auto; text-align:right; max-width:44ch}
  .costv{font-family:var(--mono); font-weight:700; font-size:14.5px; margin-top:12px}

  /* audit log */
  .log{display:flex; flex-direction:column; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--panel)}
  a.log-row{display:grid; grid-template-columns:130px 24px 1fr auto; gap:14px; padding:20px 22px; border-top:1px solid var(--line); align-items:center; transition:background .15s}
  a.log-row:first-child{border-top:none}
  a.log-row:hover{background:var(--panel-2)}
  .log-row .date{font-family:var(--mono); font-size:12.5px; color:var(--dim)}
  .log-row .chk{color:var(--green); font-family:var(--mono); font-weight:700; text-align:center}
  .log-row .body h4{margin:0 0 4px; font-size:16px; font-weight:700}
  .log-row .body p{margin:0; color:var(--muted); font-size:15px}
  .log-row .arw{color:var(--dim); font-family:var(--mono); font-size:15px}
  a.log-row:hover .arw{color:var(--accent)}
  @media(max-width:620px){ a.log-row{grid-template-columns:22px 1fr; } .log-row .date{grid-column:2; color:var(--dim)} .log-row .arw{display:none} }

  /* feed */
  .feed{display:flex; flex-direction:column; gap:16px; max-width:74ch}
  .feed-item{border-left:2px solid var(--line); padding:2px 0 2px 22px; position:relative}
  .feed-item::before{content:""; position:absolute; left:-5px; top:8px; width:8px; height:8px; border-radius:50%; background:var(--accent)}
  .feed-item .meta{font-family:var(--mono); font-size:12.5px; color:var(--dim); margin-bottom:4px}
  .feed-item h4{margin:0 0 4px; font-size:16.5px; font-weight:700}
  .feed-item p{margin:0; color:var(--muted); font-size:15px}
  .feed-more{border-left:2px dashed var(--line); padding:2px 0 2px 22px; color:var(--dim); font-family:var(--mono); font-size:13px; position:relative}
  .feed-more::before{content:""; position:absolute; left:-5px; top:8px; width:8px; height:8px; border-radius:50%; background:var(--dim)}

  /* roadmap */
  .road{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
  @media(max-width:820px){ .road{grid-template-columns:1fr} }
  .stg{background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:26px}
  .stg.future{background:transparent; border-style:dashed}
  .stg .ver{font-family:var(--mono); font-size:13px; color:var(--accent); font-weight:700; letter-spacing:.06em}
  .stg.future .ver{color:var(--dim)}
  .stg .slabel{display:inline-block; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; border:1px solid var(--line); border-radius:999px; padding:3px 10px; margin:12px 0; color:var(--muted)}
  .stg.today .slabel{color:var(--mint); border-color:rgba(79,214,208,.4)}
  .stg h3{margin:0 0 8px; font-size:20px; letter-spacing:-.3px}
  .stg.future h3{color:var(--muted)}
  .stg p{margin:0; color:var(--muted); font-size:15px}

  .faq{display:flex; flex-direction:column; gap:16px; max-width:74ch}
  .qa{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:22px 24px}
  .qa h4{margin:0 0 8px; font-size:17px; font-weight:700}
  .qa p{margin:0; color:var(--muted); font-size:15.5px}

  /* fazit */
  .fazit{background:linear-gradient(180deg,rgba(255,214,10,.06),transparent); border:1px solid var(--line); border-radius:20px; padding:36px}
  .fazit p{color:var(--ink); font-size:18px; max-width:70ch; margin:0 0 16px}
  .fazit p.small{color:var(--muted); font-size:15.5px}
  .fazit b{color:var(--accent); font-weight:600}

  .paper{background:var(--panel); border:1px solid var(--line); border-radius:18px; padding:40px; display:flex; gap:34px; align-items:center; flex-wrap:wrap}
  .paper .txt{flex:1; min-width:280px}
  .paper .txt p{color:var(--muted); margin:0 0 18px}

  .quote{font-family:var(--serif); font-size:clamp(22px,3vw,30px); line-height:1.4; color:var(--ink); max-width:24ch; margin:34px 0; font-style:italic}
  .quote .accent{color:var(--accent); font-style:normal}
  .philo p{color:var(--muted); max-width:64ch}
  .philo .who{font-family:var(--mono); font-size:13px; color:var(--dim); margin-top:26px}
  .philo .who b{color:var(--ink); font-weight:600}

  footer{border-top:1px solid var(--line); padding:56px 0 44px}
  footer .cols{display:flex; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-bottom:30px}
  footer .brand{font-weight:800; font-size:17px}
  footer .brand span{color:var(--muted); font-weight:400; font-size:14px; display:block; margin-top:6px}
  footer .flinks{display:flex; gap:22px; font-size:14px; color:var(--muted); flex-wrap:wrap}
  footer .flinks a:hover{color:var(--accent)}
  footer .disc{color:var(--dim); font-size:13.5px; max-width:70ch; border-top:1px solid var(--line); padding-top:22px}
  footer .updated{font-family:var(--mono); font-size:12px; color:var(--dim); margin-top:14px}

  .between{margin:10px 0 0}
  .between svg{width:100%; max-width:680px; height:auto; display:block; margin:0 auto}

  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}
  .reveal.in{opacity:1; transform:none}
  @media(prefers-reduced-motion:reduce){ .reveal{opacity:1; transform:none; transition:none} html{scroll-behavior:auto} }
  @media(max-width:620px){ body{font-size:16px} section{padding:70px 0} .paper,.fazit{padding:28px} }
