:root{
  --blue:#3E5FBE; --blue-2:#5B7BF0;
  --grad:linear-gradient(135deg,var(--blue),var(--blue-2));
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;

  /* HELLER MODUS (Standard) */
  --bg:#FFFFFF; --bg-soft:#F1F4FA; --card:rgba(30,50,110,0.035);
  --ink:#15203B; --dim:#5C6884; --prose:#33405E;
  --line:rgba(20,40,90,0.12); --line-2:rgba(20,40,90,0.18);
  --glow:rgba(62,95,190,0.10); --header-bg:rgba(255,255,255,0.82);
  --note-bg:rgba(62,95,190,0.06);
  --pattern-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Cpath d='M17 12v10M12 17h10' stroke='%233E5FBE' stroke-opacity='0.14' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}
[data-theme="dark"]{
  --bg:#0A0E1A; --bg-soft:#0E1322; --card:rgba(150,165,210,0.055);
  --ink:#ECEFF8; --dim:#98A2C0; --prose:#c4cbde;
  --line:rgba(255,255,255,0.09); --line-2:rgba(255,255,255,0.16);
  --glow:rgba(91,123,240,0.16); --header-bg:rgba(10,14,26,0.80);
  --note-bg:rgba(91,123,240,0.08);
  --pattern-img:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Cpath d='M17 12v10M12 17h10' stroke='%235B7BF0' stroke-opacity='0.11' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;
  transition:background-color .3s ease,color .3s ease;}
body::before{content:"";position:fixed;inset:0;z-index:-2;
  background:radial-gradient(800px 500px at 80% -5%,var(--glow),transparent 60%);pointer-events:none;}
body::after{content:"";position:fixed;inset:0;z-index:-2;background-image:var(--pattern-img);background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);-webkit-mask-image:linear-gradient(to bottom,black,transparent 80%);pointer-events:none;}
a{color:var(--blue-2);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:820px;margin:0 auto;padding:0 24px;}

header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;
  background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px;}
.nav img{height:clamp(46px, 4.6vw, 62px); width:auto; max-width:230px; object-fit:contain;}
.back{display:inline-flex;align-items:center;gap:8px;color:var(--dim);font-size:.95rem;}
.back:hover{color:var(--ink);text-decoration:none;}
.back svg{width:18px;height:18px;}

main{padding:56px 0 90px;}
main .container{max-width:900px;}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-2);}
h1{font-size:clamp(2rem,5vw,2.8rem);font-weight:800;letter-spacing:-0.02em;margin:14px 0 8px;}
.lead{color:var(--dim);margin-bottom:40px;}
h2{font-size:1.3rem;font-weight:700;margin:0 0 14px;letter-spacing:-0.01em;}
h3{font-size:1.05rem;font-weight:650;margin:20px 0 8px;color:var(--ink);}
p{color:var(--prose);margin-bottom:12px;}
ul{margin:0 0 12px 22px;color:var(--prose);}
li{margin-bottom:7px;}
.block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin-bottom:18px;}
.ph{color:var(--blue-2);font-weight:600;}

.note{background:rgba(91,123,240,0.08);border:1px dashed var(--line-2);border-radius:14px;
  padding:18px 22px;color:var(--dim);font-size:.92rem;margin:30px 0;}
.note b{color:var(--ink);}

footer{border-top:1px solid var(--line);padding:30px 0;text-align:center;color:var(--dim);font-size:.86rem;}
footer a{margin:0 10px;}
/* Hell-/Dunkel-Umschalter: schwebender Knopf unten links */
.theme-toggle{position:fixed;left:22px;bottom:22px;z-index:200;display:inline-grid;place-items:center;
  width:48px;height:48px;border-radius:999px;cursor:pointer;color:var(--ink);
  background:var(--header-bg);border:1px solid var(--line-2);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 28px -10px rgba(0,0,0,0.30);
  transition:transform .25s ease,border-color .25s ease;}
.theme-toggle:hover{transform:translateY(-3px);border-color:var(--blue-2);}
.theme-toggle svg{width:19px;height:19px;}
.theme-toggle .icon-sun{display:none;}
[data-theme="dark"] .theme-toggle .icon-moon{display:none;}
[data-theme="dark"] .theme-toggle .icon-sun{display:block;}
/* Logo je nach Modus */
.logo-weiss{display:none;}
[data-theme="dark"] .logo-default{display:none;}
[data-theme="dark"] .logo-weiss{display:block;}

/* Typografie – saubere Zeilenumbrueche */
p, li, dd, td{
  -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:10 4 4;
  text-wrap:pretty; overflow-wrap:break-word;
}
h1,h2,h3,.lead{ text-wrap:balance; -webkit-hyphens:manual; hyphens:manual; }
.nb{ white-space:nowrap; }


/* --- Rechtstexte: Feinschliff --- */
.block{ scroll-margin-top:104px; }
.stand{ margin:6px 0 0; font-family:var(--mono); font-size:.78rem; color:var(--dim); }
.toc{ margin:26px 0 30px; padding:20px 22px; border:1px solid var(--line); border-radius:14px; background:var(--card, rgba(255,255,255,.02)); }
.toc h2{ margin:0 0 12px; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; font-family:var(--mono); color:var(--dim); }
.toc ol{ margin:0; padding-left:20px; display:grid; grid-template-columns:1fr 1fr; column-gap:24px; row-gap:7px; font-size:.9rem; }
.toc a{ color:var(--dim); } .toc a:hover{ color:var(--blue-2); text-decoration:none; }
@media (min-width:1280px){
  .has-toc main .container{ max-width:900px; position:relative; }
  .has-toc .toc{ position:fixed; top:110px; right:calc((100vw - 900px)/2 - 300px); width:250px; margin:0; }
  .has-toc .toc ol{ grid-template-columns:1fr; }
}
@media (min-width:1280px) and (max-width:1520px){ .has-toc .toc{ display:none; } }
@media (max-width:640px){
  main{ padding:40px 0 70px; }
  body{ font-size:16px; }
  .block p, .block li{ font-size:16px; line-height:1.6; }
  .nav img{ max-width:172px; height:auto; }
  .toc ol{ grid-template-columns:1fr; }
}
