/* ===================================================================
   TradeFeed Kiosk — Stile für Regal (index) und Lesehefte
   Dunkel als Standard (wie die App), Hell per Toggle im Reader.
   =================================================================== */

:root{
  --bg:#0B0F14; --panel:#121926; --panel2:#0F1520; --line:#1E2A3A;
  --txt:#E6EDF3; --dim:#8B98A5;
  --green:#4ADE80; --red:#F87171; --amber:#FBBF24; --blue:#60A5FA; --violet:#A78BFA;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --lesetop:52px;
  --fs:19px;               /* Grund-Schriftgröße Fließtext (per A−/A+ verstellbar) */
}
html[data-fs="0"]{--fs:16px} html[data-fs="1"]{--fs:17.5px} html[data-fs="2"]{--fs:19px}
html[data-fs="3"]{--fs:21px} html[data-fs="4"]{--fs:23px}

html[data-theme="light"]{
  --bg:#F7F5F0; --panel:#FFFFFF; --panel2:#F0EDE6; --line:#DDD8CC;
  --txt:#1A2230; --dim:#6B7280;
  --green:#15803D; --red:#B91C1C; --amber:#B45309; --blue:#1D4ED8; --violet:#6D28D9;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;height:auto;display:block}

/* ============================ REGAL ============================ */
.regal-body{padding:0 18px 60px}
.regal-wrap{max-width:1080px;margin:0 auto}
.regal-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:calc(22px + env(safe-area-inset-top)) 2px 6px}
.regal-top h1{font-family:var(--serif);font-size:34px;margin:0;letter-spacing:-.5px}
.regal-top .datum{color:var(--dim);font-size:13.5px;white-space:nowrap}
.regal-sub{color:var(--dim);font-size:14.5px;margin:0 2px 22px;line-height:1.5}
.regal-sub a{color:var(--blue);text-decoration:none}
/* Rücksprung in die Lern-App */
.regal-top .zur-app{flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);
  font-size:20px;line-height:1;text-decoration:none;margin-left:2px}
.regal-top .zur-app:active{background:var(--panel2)}
#lesetop .zur-app{display:flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:10px;font-size:17px;line-height:1;text-decoration:none;margin-left:2px}
#lesetop .zur-app:active{background:var(--panel)}

/* Weiterlesen-Hero */
.hero{display:block;text-decoration:none;background:linear-gradient(180deg,var(--panel),var(--panel2));
  border:1px solid var(--line);border-left:5px solid var(--akzent,var(--green));
  border-radius:20px;padding:18px 20px;margin-bottom:26px;cursor:pointer}
.hero .eyebrow{margin-bottom:2px}
.hero h2{font-family:var(--serif);font-size:24px;margin:4px 0 6px;line-height:1.25}
.hero .meta{margin:0 0 12px}
.hero .balken{height:6px}
.hero .weiter{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--akzent,var(--green))}

/* Kartenregal */
.regal{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.regal{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.regal{grid-template-columns:1fr 1fr 1fr}}
.heft-karte{display:flex;flex-direction:column;gap:8px;text-decoration:none;
  background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);
  border-top:5px solid var(--akzent,var(--blue));border-radius:18px;padding:18px 18px 16px;
  transition:transform .08s}
.heft-karte:active{transform:scale(.985)}
.eyebrow{font-family:var(--sans);font-size:10.5px;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--akzent,var(--blue));margin:0}
.heft-karte h2{font-family:var(--serif);font-size:21px;line-height:1.28;margin:0;letter-spacing:-.2px}
.heft-karte .unter{font-size:13.5px;line-height:1.5;color:var(--dim);margin:0;flex:1}
.meta{font-size:12px;color:var(--dim);margin:0}
.meta b{color:var(--txt);font-weight:600}
.chip-f{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--dim);margin-right:6px}
.balken{height:5px;background:color-mix(in srgb,var(--line) 60%,transparent);border-radius:999px;overflow:hidden;margin-top:4px}
.balken div{height:100%;width:0;background:var(--akzent,var(--green));border-radius:999px}
.gelesen-label{font-size:11.5px;color:var(--dim)}
.regal-fuss{margin-top:34px;color:var(--dim);font-size:13px;text-align:center;line-height:1.6}

/* ============================ READER ============================ */
#lesetop{position:fixed;top:0;left:0;right:0;z-index:30;
  height:calc(var(--lesetop) + env(safe-area-inset-top));
  padding:calc(env(safe-area-inset-top)) 10px 0;
  display:flex;align-items:center;gap:4px;
  background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)}
#lesetop .zurueck{display:flex;align-items:center;gap:4px;text-decoration:none;font-size:15px;
  font-weight:600;color:var(--dim);padding:8px 10px;border-radius:10px}
#lesetop .zurueck:active{background:var(--panel)}
#lesetop .titelkurz{flex:1;text-align:center;font-size:13px;font-weight:600;color:var(--dim);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
#lesetop button{background:none;border:none;color:var(--dim);font-size:16px;font-weight:700;
  padding:8px 9px;cursor:pointer;border-radius:10px;font-family:var(--sans)}
#lesetop button:active{background:var(--panel)}
#fortschritt{position:fixed;top:calc(var(--lesetop) + env(safe-area-inset-top));left:0;right:0;
  height:3px;z-index:31;background:transparent}
#fortschritt div{height:100%;width:0;background:var(--akzent,var(--green))}

.heft{max-width:46rem;margin:0 auto;
  padding:calc(var(--lesetop) + env(safe-area-inset-top) + 26px) 22px 80px;
  font-family:var(--serif);font-size:var(--fs);line-height:1.72}
@media(min-width:768px){.heft{padding-left:32px;padding-right:32px}}

/* Kopf des Hefts */
.heft-kopf{margin-bottom:34px;border-bottom:3px double var(--line);padding-bottom:24px}
.heft-kopf .eyebrow{font-size:11.5px;margin-bottom:10px}
.heft-kopf h1{font-size:clamp(30px,6vw,42px);line-height:1.15;margin:0 0 14px;letter-spacing:-.8px}
.heft-kopf .untertitel{font-size:calc(var(--fs) * .95);line-height:1.55;color:var(--dim);margin:0 0 16px;font-style:italic}
.heft-kopf .meta{font-family:var(--sans);font-size:13px}
.heft-kopf .hinweis-klein{font-family:var(--sans);font-size:11.5px;color:var(--dim);margin:8px 0 0}

/* Inhaltsverzeichnis */
.toc{background:var(--panel);border:1px solid var(--line);border-radius:16px;
  padding:18px 22px;margin:0 0 36px;font-family:var(--sans)}
.toc h2{font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:var(--dim);margin:0 0 10px;border:none;padding:0}
.toc ol{margin:0;padding-left:20px;font-size:14.5px;line-height:1.9}
.toc a{text-decoration:none;color:var(--txt)}
.toc a:active{color:var(--akzent,var(--blue))}
.toc ol ol{font-size:13.5px;color:var(--dim);padding-left:16px}
.toc ol ol a{color:var(--dim)}

/* Überschriften */
.heft h2{font-size:calc(var(--fs) * 1.45);line-height:1.25;margin:52px 0 16px;letter-spacing:-.4px;
  padding-top:14px;border-top:1px solid var(--line)}
.heft h3{font-size:calc(var(--fs) * 1.12);line-height:1.35;margin:36px 0 12px}
.heft h4{font-family:var(--sans);font-size:calc(var(--fs) * .82);font-weight:800;
  letter-spacing:.6px;text-transform:uppercase;color:var(--dim);margin:28px 0 8px}
.heft p{margin:0 0 1em}
.heft ul,.heft ol{margin:0 0 1.1em;padding-left:1.4em}
.heft li{margin-bottom:.45em}
.heft strong,.heft b{font-weight:700}
.heft hr{border:none;border-top:1px solid var(--line);margin:34px auto;width:38%}

/* Kästen — Sans-Serif zum Kontrast */
.box{font-family:var(--sans);font-size:calc(var(--fs) * .82);line-height:1.6;
  border-radius:14px;padding:14px 17px;margin:0 0 1.35em;border:1px solid var(--line);background:var(--panel)}
.box>b:first-child,.box>.box-titel{display:block;font-size:.82em;font-weight:800;
  letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px}
.box p{margin:0 0 .7em}.box p:last-child{margin:0}
.box.begriff{border-left:4px solid var(--blue)} .box.begriff>b:first-child{color:var(--blue)}
.box.merke{border-left:4px solid var(--green)} .box.merke>b:first-child{color:var(--green)}
.box.warn{border-left:4px solid var(--red)} .box.warn>b:first-child{color:var(--red)}
.box.info{border-left:4px solid var(--amber)} .box.info>b:first-child{color:var(--amber)}
.box.rechnung{border-left:4px solid var(--violet)} .box.rechnung>b:first-child{color:var(--violet)}
.box.rechnung code,.heft code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.92em;background:var(--panel2);padding:1px 5px;border-radius:5px}

/* Grafiken */
.heft figure{margin:1.6em 0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
html[data-theme="light"] .heft figure{background:#fff}
.heft figure img{width:100%}
.heft figcaption{font-family:var(--sans);font-size:12.5px;color:var(--dim);
  padding:10px 14px;background:var(--panel);line-height:1.5}

/* Tabellen */
.tabelle{overflow-x:auto;margin:0 0 1.4em;border:1px solid var(--line);border-radius:12px;
  -webkit-overflow-scrolling:touch}
.heft table{border-collapse:collapse;width:100%;font-family:var(--sans);
  font-size:calc(var(--fs) * .72);line-height:1.45;min-width:480px}
.heft th{text-align:left;font-weight:800;font-size:.92em;letter-spacing:.3px;
  background:var(--panel);border-bottom:2px solid var(--line);padding:9px 12px;white-space:nowrap}
.heft td{border-bottom:1px solid var(--line);padding:8px 12px;vertical-align:top}
.heft tr:last-child td{border-bottom:none}
.heft td b{white-space:nowrap}

/* Glossar (Definitionslisten am Heftende) */
.heft .glossar{margin:0 0 1.4em;font-family:var(--sans);font-size:calc(var(--fs) * .84);line-height:1.6}
.heft .glossar dt{font-weight:800;color:var(--akzent,var(--blue));margin:16px 0 3px}
.heft .glossar dt:first-child{margin-top:0}
.heft .glossar dd{margin:0;padding:0 0 0 14px;border-left:2px solid var(--line);color:var(--txt)}

/* Zitate / Quellenhinweise */
.heft blockquote{margin:0 0 1.35em;padding:4px 0 4px 18px;border-left:3px solid var(--akzent,var(--blue));
  color:var(--dim);font-style:italic}
.quelle-klein{font-family:var(--sans);font-size:11.5px;color:var(--dim)}

.heft-fuss{max-width:46rem;margin:0 auto;padding:0 22px 60px;font-family:var(--sans);
  font-size:12px;color:var(--dim);line-height:1.6;border:none}
.heft-fuss hr{border:none;border-top:1px solid var(--line);margin:0 0 16px}

/* Nach-oben-Knopf */
#hoch{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:29;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--dim);font-size:19px;
  cursor:pointer;opacity:0;pointer-events:none;transition:opacity .25s;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
#hoch.zeig{opacity:1;pointer-events:auto}
