/* chatgpt-ebook.de · Bibliothek-Design */
:root{
  --navy-900:#08182F; --navy-800:#0D2447; --electric:#1F5FD0; --gold:#F0AE12; --gold-deep:#8A6104;
  --paper:#FFFFFF; --paper-2:#F3F6FA; --card:#FFFFFF; --ink:#0B1728; --muted:#54637B; --line:#D5DEEA;
  --on-navy:#EAF0FA; --on-navy-muted:#A9BCD8; --code-bg:#F6F8FB; --tipp-bg:#FDF5E2; --tipp-line:#EBC98A;
  --display:"Segoe UI","Helvetica Neue",system-ui,-apple-system,Arial,sans-serif;
  --read:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;
  --mono:"Cascadia Mono",Consolas,"SF Mono","Liberation Mono",monospace;
  --shell:1160px; --text:720px; --r:14px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy-900:#050D1A; --navy-800:#0A182C; --electric:#86AEF6; --gold:#F0B93B; --gold-deep:#F5CE72;
    --paper:#0B1524; --paper-2:#101E33; --card:#14243A; --ink:#E6EDF8; --muted:#9AAAC2; --line:#243852;
    --on-navy:#E6EDF8; --on-navy-muted:#93A8C7; --code-bg:#0F1D31; --tipp-bg:#2A2110; --tipp-line:#5C4718;
  }
}
:root[data-theme="dark"]{
  --navy-900:#050D1A; --navy-800:#0A182C; --electric:#86AEF6; --gold:#F0B93B; --gold-deep:#F5CE72;
  --paper:#0B1524; --paper-2:#101E33; --card:#14243A; --ink:#E6EDF8; --muted:#9AAAC2; --line:#243852;
  --on-navy:#E6EDF8; --on-navy-muted:#93A8C7; --code-bg:#0F1D31; --tipp-bg:#2A2110; --tipp-line:#5C4718;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--read);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--electric);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.shell{max-width:var(--shell);margin:0 auto;padding:0 24px}
h1,h2,h3,h4,.h3,.btn,.eyebrow,nav,.produkt-meta,.produkt-sub,.byline,.tldr-label,.toc-label,figcaption,summary,table,.klein,.fuss{font-family:var(--display)}
h1{font-size:clamp(32px,5vw,54px);font-weight:800;letter-spacing:-.025em;line-height:1.08;margin:0 0 14px;text-wrap:balance}
h2{font-size:clamp(25px,3vw,33px);font-weight:800;letter-spacing:-.018em;line-height:1.18;margin:56px 0 14px;text-wrap:balance;scroll-margin-top:90px}
h3,.h3{font-size:21px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:30px 0 8px;scroll-margin-top:90px}
p{margin:0 0 16px}
ul,ol{padding-left:1.3em;margin:0 0 18px}
li{margin:0 0 6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#000;padding:8px 14px;z-index:99;border-radius:8px}
.skip:focus{left:8px}

/* Kopf */
.kopf{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.kopf-in{display:flex;align-items:center;gap:24px;min-height:66px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:18px;color:var(--ink);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.logo-mark{display:block;flex:none;width:34px;height:34px;border-radius:9px;background:url(/assets/logo.svg) center/100% no-repeat;font-size:0;color:transparent;overflow:hidden}
.logo-zeichen{display:block;flex:none;border-radius:9px}
.logo-dot{color:var(--gold-deep)}
.hauptnav{margin-left:auto}
.hauptnav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.hauptnav a{display:block;padding:8px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:15px;font-weight:600}
.hauptnav a:hover,.hauptnav a[aria-current]{background:var(--paper-2)}
.mobilnav{display:none;margin-left:auto;position:relative;font-family:var(--display)}
.mobilnav summary{list-style:none;cursor:pointer;padding:8px 14px;border:1px solid var(--line);border-radius:10px;font-weight:600;font-size:15px}
.mobilnav summary::-webkit-details-marker{display:none}
.mobilnav ul{position:absolute;right:0;top:46px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;list-style:none;margin:0;min-width:220px;box-shadow:0 12px 30px rgba(0,0,0,.15)}
.mobilnav a{display:block;padding:10px 12px;color:var(--ink);text-decoration:none;border-radius:8px}
.mobilnav a:hover{background:var(--paper-2)}
@media (max-width:900px){.kopf .hauptnav,.kopf .kopf-cta{display:none}.kopf .mobilnav{display:block}.logo{font-size:17px}}

/* Logo im dunklen Modus mit feinem Rand */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-mark,:root:not([data-theme="light"]) .logo-zeichen{box-shadow:0 0 0 1px rgba(255,255,255,.18)}}
:root[data-theme="dark"] .logo-mark,:root[data-theme="dark"] .logo-zeichen{box-shadow:0 0 0 1px rgba(255,255,255,.18)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#1A1200;font-weight:700;font-size:16px;padding:12px 20px;border-radius:999px;text-decoration:none;border:2px solid var(--gold);line-height:1.2}
.btn:hover{background:#FFC02E;text-decoration:none}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--paper-2)}
.btn-klein{padding:8px 16px;font-size:14px}
.btn-dunkel{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
a.aff::after{content:"*";margin-left:1px}

/* Seitenkopf */
.seitenkopf{background:var(--paper-2);border-bottom:1px solid var(--line);padding:34px 0 34px}
.seitenkopf-start{background:var(--navy-800);color:var(--on-navy);padding:64px 0 70px;border:0}
.seitenkopf-start h1{font-size:clamp(36px,5.6vw,62px);max-width:16ch}
.seitenkopf-start .lead{color:var(--on-navy-muted)}
.seitenkopf-start .eyebrow{color:var(--gold)}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 10px}
.lead{font-size:clamp(19px,2vw,22px);line-height:1.55;color:var(--muted);max-width:62ch;margin:0 0 14px}
.byline{font-size:14px;color:var(--muted);margin:10px 0 0}
.byline a{color:inherit}
.pfad{font-size:14px;color:var(--muted);margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px}
.pfad a{color:var(--muted)}

/* Inhalt */
.inhalt-shell{padding-top:34px;padding-bottom:70px}
.inhalt{max-width:var(--text);margin:0 auto}
.sektion-buecher .inhalt,.home .inhalt{max-width:860px}
.inhalt>p:first-of-type{font-size:19px}
.tldr{border-left:4px solid var(--gold);background:var(--card);padding:16px 20px;border-radius:0 var(--r) var(--r) 0;margin:0 0 28px;box-shadow:0 1px 0 var(--line)}
.tldr p{margin:0}
.tldr-label,.toc-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px!important}
.toc{border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:0 0 30px;font-size:16px}
.toc ol{margin:0;columns:2 260px;column-gap:28px}
.toc li{break-inside:avoid}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{text-decoration:underline}
.tipp{background:var(--tipp-bg);border:1px solid var(--tipp-line);border-radius:var(--r);padding:16px 20px;margin:26px 0;font-size:17px}
.tipp p:last-child{margin:0}
.klein{font-size:14px;color:var(--muted)}
table{width:100%;border-collapse:collapse;margin:20px 0 26px;font-size:15px;display:block;overflow-x:auto}
th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
th{background:var(--paper-2);font-weight:700}
blockquote{margin:22px 0;padding:4px 0 4px 18px;border-left:3px solid var(--line);color:var(--muted)}

/* Prompts */
.prompts{display:grid;gap:16px;margin:18px 0 24px}
.prompt{position:relative;margin:16px 0;border:1px solid var(--line);border-radius:var(--r);background:var(--code-bg);overflow:hidden}
.prompt figcaption{font-weight:700;font-size:15px;padding:12px 108px 0 16px}
.prompt pre{margin:0;padding:10px 16px 16px;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:14.5px;line-height:1.6;color:var(--ink)}
.prompt>figcaption+pre{padding-top:6px}
.prompt:not(:has(figcaption)) pre{padding-right:108px;padding-top:14px}
.kopieren{position:absolute;top:8px;right:8px;font-family:var(--display);font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
.kopieren:hover{border-color:var(--electric)}
.kopieren.ok{background:#1E7B45;color:#fff;border-color:#1E7B45}

/* Produkte */
.produkte{display:grid;gap:18px;margin:26px 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}
.produkt{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;margin:24px 0;box-shadow:0 1px 2px rgba(10,30,60,.04)}
.produkte .produkt{margin:0}
.produkt-bild img{border-radius:6px;box-shadow:0 8px 20px rgba(10,30,60,.18)}
.produkt-cheatsheet .produkt-bild img{box-shadow:0 2px 10px rgba(10,30,60,.15)}

/* KI-Hinweis auf Bildern */
.produkt-bild,.produkt-bild>a,.bild-link,.coverband a{position:relative;display:block}
.ki-hinweis{position:absolute;left:6px;bottom:6px;z-index:1;pointer-events:none;font:600 10.5px/1.3 var(--display);letter-spacing:.02em;color:#fff;background:rgba(8,24,47,.78);padding:2px 6px;border-radius:4px}
.regal-cover .ki-hinweis{left:6px;bottom:6px}
.produkt-icon{display:grid;place-items:center;aspect-ratio:3/4;border-radius:10px;background:var(--navy-800);color:var(--gold)}
.produkt-icon svg{width:58%}
.produkt h3{margin:2px 0 6px;font-size:20px}
.produkt h3 a{color:var(--ink);text-decoration:none}
.produkt h3 a:hover{text-decoration:underline}
.produkt p{font-size:16px;margin:0 0 8px}
.produkt-sub{font-size:13px!important;font-weight:700;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.06em;margin:0!important}
.produkt-meta{font-size:13.5px!important;color:var(--muted)}
.produkt-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px!important}
.produkt-cta .btn{font-size:15px;padding:10px 16px}
@media (max-width:480px){.produkt{grid-template-columns:84px 1fr;gap:14px;padding:14px}}

/* Galerie */
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:18px;margin:22px 0 30px}
.bild{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.bild img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--paper-2)}
.bild figcaption{padding:10px 14px 4px;font-size:15px;display:flex;flex-direction:column;gap:2px}
.bild-kat{font-size:12.5px;color:var(--muted)}
.bild .prompt{margin:8px 10px 10px;border-radius:10px}
.bild .prompt pre{font-size:12.5px;padding:10px 12px 12px;max-height:9.5em;overflow:auto}
.bild .prompt{display:flex;flex-direction:column}
.bild .kopieren{position:static;align-self:flex-start;margin:0 12px 10px;font-size:12.5px;padding:5px 12px}
.galerie-vorschau .bild img{aspect-ratio:1/1}

/* Listen */
.verwandt,.linktipps{border-top:1px solid var(--line);margin-top:54px;padding-top:8px}
.linktipps{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:6px 22px 8px;margin:34px 0}
.linktipps h2{margin-top:16px}
.verwandt ul,.kartenliste{list-style:none;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.verwandt a,.kartenliste a{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);background:var(--card);font-family:var(--display)}
.verwandt a:hover,.kartenliste a:hover{border-color:var(--electric)}
.verwandt span,.kartenliste span{font-size:14px;color:var(--muted);line-height:1.45}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;font-weight:700;font-size:18px;padding:14px 32px 14px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:24px;color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px}

/* Quiz */
.quiz{border:1px solid var(--line);border-radius:18px;padding:8px 22px 22px;background:var(--card);margin:20px 0 34px}
.quiz fieldset{border:0;padding:0;margin:18px 0 0}
.quiz legend{font-family:var(--display);font-weight:700;font-size:18px;margin-bottom:10px}
.quiz label{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border:1px solid var(--line);border-radius:12px;margin:0 0 8px;cursor:pointer;font-size:16.5px}
.quiz label:has(input:checked){border-color:var(--electric);background:var(--paper-2)}
.quiz input{margin-top:5px;accent-color:var(--electric)}
.quiz-ergebnis{margin-top:24px;padding-top:6px;border-top:2px solid var(--gold)}

/* Startseite */
.home .seitenkopf-start .lead{max-width:56ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-cta .btn-ghost{color:var(--on-navy);border-color:rgba(255,255,255,.3)}
.hero-cta .btn-ghost:hover{background:rgba(255,255,255,.08)}
.regal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:22px;margin:24px 0 10px}
.regal a{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--display)}
.regal img,.regal .produkt-icon{border-radius:6px;box-shadow:0 10px 24px rgba(10,30,60,.2);transition:transform .2s}
.regal .produkt-icon{border-radius:8px}
.regal a:hover img,.regal a:hover .produkt-icon{transform:translateY(-4px)}
.regal strong{font-size:16px;line-height:1.3}
.regal span{font-size:13.5px;color:var(--muted)}
/* Alle Cover gleich hoch: Box im Format des breitesten Buchs (Handbuch), Bild füllt die Höhe, schmalere Cover stehen links */
.regal .regal-cover{display:block;position:relative;aspect-ratio:560/724}
.regal .regal-cover img{position:absolute;left:0;bottom:0;height:100%;width:auto;max-width:100%}
.vorteile{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin:20px 0}
.vorteile div{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;background:var(--card)}
.vorteile h3{margin:0 0 6px;font-size:18px}
.vorteile p{font-size:16px;margin:0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Fuß */
.fuss{background:var(--navy-900);color:var(--on-navy-muted);padding:54px 0 34px;font-size:15px}
.fuss a{color:var(--on-navy);text-decoration:none}
.fuss a:hover{text-decoration:underline}
.fuss .logo{color:#fff}
.fuss .logo-mark,.fuss .logo-zeichen{box-shadow:0 0 0 1px rgba(255,255,255,.22)}
.fuss .logo-dot{color:var(--gold)}
.fuss-grid{display:grid;gap:30px;grid-template-columns:1.4fr repeat(4,1fr)}
.fuss-marke p{margin-top:14px;max-width:32ch}
.fuss-h{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:6px 0 12px}
.fuss ul{list-style:none;padding:0;margin:0}
.fuss li{margin:0 0 8px}
.fuss-hinweis{font-size:13px;margin:26px 0 0;max-width:110ch;border-top:1px solid rgba(255,255,255,.1);padding-top:18px}
.fuss-hinweis+.fuss-hinweis{border:0;padding-top:0;margin-top:8px}
@media (max-width:980px){.fuss-grid{grid-template-columns:1fr 1fr}.fuss-marke{grid-column:1/-1}}
@media (max-width:520px){.fuss-grid{grid-template-columns:1fr}.shell{padding:0 16px}body{font-size:17px}h2{margin-top:44px}}

/* Rechtliches */
.sektion-info .inhalt h2{font-size:24px;margin-top:38px}
.sektion-info .inhalt h3{font-size:19px}

/* Startseite: Cover im Kopf */
.seitenkopf-start{position:relative;overflow:hidden}
.seitenkopf-start .shell{position:relative}
/* Cover-Laufband: läuft langsam nach links, hält bei Maus oder Tastatur an, Klick führt zur Buchseite */
.coverband{margin-top:34px;overflow:hidden;padding:14px 0 26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.coverband-spur{display:flex;width:max-content;animation:coverband 75s linear infinite}
.coverband:hover .coverband-spur,.coverband:focus-within .coverband-spur{animation-play-state:paused}
.coverband-reihe{display:flex;align-items:flex-end}
.coverband a{display:block;margin-right:22px;flex:none;border-radius:6px;transition:transform .25s ease}
.coverband img{height:190px;width:auto;border-radius:6px;box-shadow:0 14px 32px rgba(0,0,0,.45)}
.coverband a:hover,.coverband a:focus-visible{transform:translateY(-8px)}
@keyframes coverband{to{transform:translateX(-50%)}}
@media (max-width:520px){.coverband img{height:150px}.coverband a{margin-right:16px}}
@media (min-width:1180px){
  .seitenkopf-start .shell>h1,.seitenkopf-start .lead,.seitenkopf-start .eyebrow,.hero-cta{max-width:560px}
  .coverband{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:520px;margin:0}
  .coverband img{height:260px}
}
@media (prefers-reduced-motion:reduce){
  .coverband{overflow-x:auto}
  .coverband-spur{animation:none}
  .coverband-reihe[aria-hidden]{display:none}
}

/* Galerien nutzen die volle Breite */
@media (min-width:800px){
  .inhalt .galerie{width:min(1112px,calc(100vw - 48px));position:relative;left:50%;transform:translateX(-50%)}
}

/* Porträt auf Über uns */
.portrait{float:right;width:180px;height:180px;border-radius:50%;object-fit:cover;margin:4px 0 16px 24px;background:var(--paper-2)}
@media (max-width:520px){.portrait{float:none;width:140px;height:140px;margin:0 0 16px}}
