/* ==========================================================================
   DAS PROTOKOLL 2.0 — scoped Dark-Premium-Theme
   --------------------------------------------------------------------------
   Wirkt AUSSCHLIESSLICH innerhalb von .p2root (der Inhalt von DAS PROTOKOLL
   wird in diesen Wrapper injiziert). Andere Ebooks im hellen doc-* System
   bleiben unberührt. Ästhetik: Premium Health-Tech Dashboard + Editorial.
   ========================================================================== */

.p2root{
  --p2-bg:#080b12;          /* near black */
  --p2-bg2:#0d1220;         /* card */
  --p2-bg3:#111a2c;         /* raised */
  --p2-ink:#e8edf6;         /* primary text */
  --p2-ink2:#aeb9c9;        /* secondary */
  --p2-mut:#7c8798;         /* muted */
  --p2-line:rgba(255,255,255,.08);
  --p2-line2:rgba(255,255,255,.14);
  --p2-blue:#3b82f6;
  --p2-blue2:#60a5fa;
  --p2-cyan:#22d3ee;
  --p2-green:#34d399;
  --p2-amber:#f5b544;
  --p2-red:#f0656a;
  --p2-viol:#a78bfa;
  --p2-glow:0 0 0 1px var(--p2-line), 0 18px 50px -20px rgba(0,0,0,.8);
  --p2-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  background:
    radial-gradient(1100px 620px at 82% -8%, rgba(59,130,246,.14), transparent 60%),
    radial-gradient(900px 520px at -6% 8%, rgba(34,211,238,.07), transparent 55%),
    var(--p2-bg);
  color:var(--p2-ink);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  line-height:1.62;
  letter-spacing:.002em;
  padding:clamp(20px,4.5vw,54px);
  border-radius:20px;
  overflow:hidden;
}
.p2root *{box-sizing:border-box}
.p2root ::selection{background:rgba(59,130,246,.32);color:#fff}
.p2root img{max-width:100%;height:auto;border-radius:14px;display:block}
.p2root a{color:var(--p2-blue2);text-decoration:none;border-bottom:1px solid rgba(96,165,250,.35)}
.p2root a:hover{color:#fff;border-color:#fff}
.p2root p{margin:0 0 .9em;color:var(--p2-ink2)}
.p2root strong,.p2root b{color:var(--p2-ink);font-weight:700}
.p2root em{color:var(--p2-blue2);font-style:normal;font-weight:600}
.p2root sup{color:var(--p2-blue2);font-size:.72em}
.p2root hr{border:0;border-top:1px solid var(--p2-line);margin:34px 0}

/* ---------- Typography ---------- */
.p2root h2,.p2root h3,.p2root h4{font-family:Poppins,Inter,sans-serif;color:#fff;letter-spacing:-.02em;line-height:1.1}
.p2root h2{font-size:clamp(1.7rem,4.4vw,2.7rem);font-weight:800;margin:0 0 .35em}
.p2root h3{font-size:clamp(1.16rem,2.6vw,1.5rem);font-weight:700;margin:2.1em 0 .5em;color:#eaf1ff}
.p2root h3::before{content:"";display:inline-block;width:22px;height:2px;vertical-align:middle;
  margin:0 12px 5px 0;background:linear-gradient(90deg,var(--p2-blue),var(--p2-cyan));border-radius:2px}
.p2root h4{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .5em}

/* ---------- Section wrapper ---------- */
.p2sec{padding:clamp(30px,5vw,58px) 0;border-top:1px solid var(--p2-line)}
.p2sec:first-of-type{border-top:0}
.p2kicker{font-family:var(--p2-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--p2-cyan);margin:0 0 .5em}
.p2lead{font-size:clamp(1.05rem,2.3vw,1.28rem);line-height:1.5;color:#dbe4f1;font-weight:500;
  max-width:64ch;margin:0 0 1.4em}

/* ---------- HERO ---------- */
.p2hero{position:relative;padding:clamp(30px,6vw,70px) 0 clamp(20px,4vw,40px);text-align:left}
.p2hero .p2eyebrow{font-family:var(--p2-mono);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--p2-mut)}
.p2hero h1{font-family:Poppins,Inter,sans-serif;font-weight:800;letter-spacing:-.045em;line-height:.94;
  font-size:clamp(2.7rem,9vw,6rem);margin:.18em 0 .3em;color:#fff;
  text-shadow:0 0 60px rgba(59,130,246,.25)}
.p2hero h1 .hl{background:linear-gradient(92deg,var(--p2-blue2),var(--p2-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.p2hero .p2sub{font-size:clamp(1.05rem,2.6vw,1.42rem);color:#cdd8e8;max-width:60ch;font-weight:500;line-height:1.4}
.p2promises{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 8px}
.p2promises>div{background:linear-gradient(180deg,var(--p2-bg3),var(--p2-bg2));border:1px solid var(--p2-line);
  border-radius:14px;padding:18px 16px}
.p2promises b{display:block;font-family:Poppins,sans-serif;font-size:.92rem;letter-spacing:.04em;color:#fff;margin-bottom:5px}
.p2promises span{font-size:.86rem;color:var(--p2-ink2)}

/* ---------- Standard boxes ---------- */
.p2box{position:relative;margin:24px 0;padding:20px 22px 20px 24px;border-radius:14px;
  background:var(--p2-bg2);border:1px solid var(--p2-line);box-shadow:var(--p2-glow)}
.p2box::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:14px 0 0 14px;
  background:var(--p2-blue)}
.p2box h4{color:var(--p2-blue2)}
.p2box>*:last-child{margin-bottom:0}
.p2box p{color:var(--p2-ink)}
.p2box.insight{background:linear-gradient(180deg,rgba(59,130,246,.10),var(--p2-bg2))}
.p2box.insight::before{background:linear-gradient(180deg,var(--p2-blue),var(--p2-cyan))}
.p2box.insight h4{color:var(--p2-cyan)}
.p2box.wrong::before{background:var(--p2-red)}
.p2box.wrong h4{color:var(--p2-red)}
.p2box.tradeoff::before{background:var(--p2-amber)}
.p2box.tradeoff h4{color:var(--p2-amber)}
.p2box.data::before{background:var(--p2-green)}
.p2box.data h4{color:var(--p2-green)}
.p2box.bottomline{background:linear-gradient(180deg,var(--p2-bg3),var(--p2-bg2));border-color:var(--p2-line2)}
.p2box.bottomline::before{background:linear-gradient(180deg,var(--p2-cyan),var(--p2-blue))}
.p2box.bottomline h4{color:#fff}
.p2box.bottomline p{font-size:1.02rem;color:#fff}
.p2box.connection::before{background:var(--p2-viol)}
.p2box.connection h4{color:var(--p2-viol)}

/* ---------- Connection chain ---------- */
.p2chain{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px 26px;margin:12px 0 10px}
.p2chain span{position:relative;background:var(--p2-bg3);border:1px solid var(--p2-line2);border-radius:10px;
  padding:9px 13px;font-size:.86rem;font-weight:600;color:var(--p2-ink);white-space:nowrap}
.p2chain span:not(:last-child)::after{content:"→";position:absolute;right:-20px;top:50%;transform:translateY(-50%);
  color:var(--p2-viol);font-weight:800;font-size:1rem}

/* ---------- Evidence tier + priority chips ---------- */
.p2tier,.p2prio{display:inline-block;font-family:var(--p2-mono);font-size:.64rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:3px 8px;border-radius:6px;border:1px solid;vertical-align:middle;line-height:1.3;white-space:nowrap}
.p2tier.established{color:var(--p2-green);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.10)}
.p2tier.promising{color:var(--p2-blue2);border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.10)}
.p2tier.experimental{color:var(--p2-amber);border-color:rgba(245,181,68,.4);background:rgba(245,181,68,.10)}
.p2tier.hype{color:var(--p2-red);border-color:rgba(240,101,106,.4);background:rgba(240,101,106,.10)}
.p2prio.foundational{color:var(--p2-green);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.10)}
.p2prio.context{color:var(--p2-blue2);border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.10)}
.p2prio.advanced{color:var(--p2-viol);border-color:rgba(167,139,250,.4);background:rgba(167,139,250,.10)}
.p2prio.experimental{color:var(--p2-amber);border-color:rgba(245,181,68,.4);background:rgba(245,181,68,.10)}
.p2prio.medical{color:var(--p2-red);border-color:rgba(240,101,106,.4);background:rgba(240,101,106,.10)}

/* ---------- Tables (desktop) ---------- */
.p2table{width:100%;border-collapse:separate;border-spacing:0;margin:22px 0;font-size:.92rem;
  border:1px solid var(--p2-line);border-radius:12px;overflow:hidden}
.p2table th,.p2table td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--p2-line)}
.p2table thead th{background:var(--p2-bg3);color:#fff;font-family:Poppins,sans-serif;font-size:.72rem;
  letter-spacing:.09em;text-transform:uppercase;font-weight:700}
.p2table tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)}
.p2table tbody tr:last-child td{border-bottom:0}
.p2table td{color:var(--p2-ink2)}
.p2table td strong{color:var(--p2-ink)}

/* ---------- Stat block ---------- */
.p2stat{display:flex;align-items:baseline;gap:14px;margin:18px 0;padding:16px 20px;border-radius:12px;
  background:linear-gradient(180deg,var(--p2-bg3),var(--p2-bg2));border:1px solid var(--p2-line)}
.p2stat b{font-family:Poppins,sans-serif;font-size:clamp(1.8rem,6vw,2.6rem);font-weight:800;line-height:1;
  background:linear-gradient(92deg,var(--p2-blue2),var(--p2-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.p2stat span{color:var(--p2-ink2);font-size:.94rem}

/* ---------- SVG diagrams ---------- */
.p2svg{display:block;width:100%;height:auto;margin:24px 0;background:var(--p2-bg2);border:1px solid var(--p2-line);
  border-radius:14px;padding:16px}

/* ---------- 15 Things (myths) ---------- */
.p2myths{list-style:none;counter-reset:m;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.p2myths li{counter-increment:m;position:relative;background:var(--p2-bg2);border:1px solid var(--p2-line);
  border-radius:12px;padding:16px 16px 16px 52px}
.p2myths li::before{content:counter(m,decimal-leading-zero);position:absolute;left:14px;top:14px;
  font-family:var(--p2-mono);font-size:.8rem;font-weight:700;color:var(--p2-blue2)}
.p2myths li b{display:block;color:#fff;margin-bottom:3px}
.p2myths li span{color:var(--p2-ink2);font-size:.9rem}

/* ---------- Control Panel ---------- */
.p2panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:24px 0}
.p2panel-card{background:linear-gradient(180deg,var(--p2-bg3),var(--p2-bg2));border:1px solid var(--p2-line);
  border-radius:14px;padding:18px;box-shadow:var(--p2-glow)}
.p2panel-card h4{color:var(--p2-cyan);letter-spacing:.14em}
.p2panel-card ul{margin:8px 0 0;padding:0;list-style:none}
.p2panel-card li{padding:6px 0;border-top:1px solid var(--p2-line);font-size:.88rem;color:var(--p2-ink2)}
.p2panel-card li:first-child{border-top:0}

/* ---------- The Code (closing) ---------- */
.p2code{list-style:none;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.p2code li{font-family:Poppins,sans-serif;font-weight:700;color:#fff;font-size:1.02rem;letter-spacing:.01em;
  padding:14px 16px;border-radius:12px;background:var(--p2-bg2);border:1px solid var(--p2-line2);
  border-left:3px solid var(--p2-blue)}

/* ---------- Mobile ---------- */
@media (max-width:720px){
  .p2promises{grid-template-columns:1fr}
  .p2myths,.p2code{grid-template-columns:1fr}
  .p2chain{flex-direction:column;gap:22px 0;align-items:flex-start}
  .p2chain span{white-space:normal}
  .p2chain span:not(:last-child)::after{content:"↓";right:auto;left:16px;top:auto;bottom:-19px;transform:none}
  /* Tabellen → Karten */
  .p2table{border:0}
  .p2table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .p2table tbody tr{display:block;margin-bottom:12px;border:1px solid var(--p2-line);border-radius:12px;overflow:hidden;background:var(--p2-bg2)}
  .p2table td{display:flex;justify-content:space-between;gap:14px;text-align:right;border-bottom:1px solid var(--p2-line)}
  .p2table td::before{content:attr(data-label);font-family:Poppins,sans-serif;font-size:.68rem;letter-spacing:.06em;
    text-transform:uppercase;color:var(--p2-mut);text-align:left;flex:0 0 40%}
  .p2table tbody tr:nth-child(even) td{background:transparent}
}

/* ---------- Shell-Integration: Dark-Reading-Surface (nur wenn .p2root da ist) ---------- */
body:has(.p2root){background:#05070b}
.doc-wrap:has(.p2root){background:#05070b}
.doc-paper:has(.p2root),
#protoContent.doc-paper:has(.p2root){
  background:transparent!important;border:0!important;box-shadow:none!important;
  padding:0!important;max-width:none!important;color:var(--p2-ink)}
.p2root{max-width:920px;margin:0 auto}

/* ---------- TOC ---------- */
.p2toc{margin:8px 0 10px;padding:22px 24px;border-radius:16px;background:var(--p2-bg2);border:1px solid var(--p2-line)}
.p2toc .p2kicker{margin-bottom:12px}
.p2toc ol{list-style:none;counter-reset:t;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:2px 22px}
.p2toc li{counter-increment:t;border-top:1px solid var(--p2-line)}
.p2toc li a{display:flex;gap:12px;align-items:baseline;padding:10px 2px;border-bottom:0;color:var(--p2-ink2);font-size:.94rem}
.p2toc li a::before{content:counter(t,decimal-leading-zero);font-family:var(--p2-mono);font-size:.74rem;color:var(--p2-blue2);flex:0 0 auto}
.p2toc li a:hover{color:#fff}

/* ---------- Footer ---------- */
.p2footer{margin-top:36px;padding-top:26px;border-top:1px solid var(--p2-line2)}
.p2footer h3{margin-top:0}
.p2footer h4{color:var(--p2-mut);margin:22px 0 8px}
.p2disclaimer{font-size:.86rem;color:var(--p2-ink2);background:var(--p2-bg2);border:1px solid var(--p2-line);
  border-left:3px solid var(--p2-amber);border-radius:12px;padding:14px 16px}
.p2src{columns:2;column-gap:26px;list-style:none;padding:0;margin:0;font-size:.78rem;color:var(--p2-mut)}
.p2src li{break-inside:avoid;padding:3px 0;border-bottom:1px solid var(--p2-line)}
.p2src-note{font-size:.84rem;color:var(--p2-mut)}
.p2brand{margin-top:22px;font-family:var(--p2-mono);font-size:.72rem;letter-spacing:.14em;color:var(--p2-mut);text-transform:uppercase}
@media (max-width:720px){ .p2toc ol{grid-template-columns:1fr} .p2src{columns:1} }
