/*
Theme Name: BTC Storyline
Description: Persönliches Portfolio mit Bitcoin-Storyline – vom Whitepaper bis zur Technik.
Version: 1.24.3
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: btc-storyline
*/

/* ---------- Schriften (lokal, kein Google-Server) ---------- */
@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/inter-400.woff2?v=1.0.2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/inter-500.woff2?v=1.0.2) format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/inter-600.woff2?v=1.0.2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/space-grotesk-500.woff2?v=1.0.2) format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:700;font-style:normal;font-display:swap;src:url(assets/fonts/space-grotesk-700.woff2?v=1.0.2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/jetbrains-mono-400.woff2?v=1.0.2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-style:normal;font-display:swap;src:url(assets/fonts/jetbrains-mono-500.woff2?v=1.0.2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  --bg:#0D0E11; --bg-alt:#111317; --surface:#16181D; --surface-2:#1C1F25;
  --line:#22262D; --border:#262A31; --border-strong:#343941;
  --text:#ECEDEE; --text-strong:#FFFFFF; --text-soft:#B4BAC2; --muted:#9BA1A9;
  --accent:#F7931A; --accent-hover:#FFA43A; --accent-link:#FFB357;
  --f-display:"Space Grotesk",system-ui,sans-serif;
  --f-body:"Inter",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  --wrap:1200px; --radius:16px;
}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-link)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--text-strong);letter-spacing:-.02em;line-height:1.12;margin:0}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:100;width:auto;height:auto;clip:auto;padding:12px 18px;background:var(--accent);color:var(--bg);border-radius:10px}
.eyebrow{font-family:var(--f-mono);font-size:14px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase}
.section-title{font-size:44px}
.lead{font-size:inherit;line-height:1.65;color:var(--text-soft)}  /* wie die Untertitel der Storyline (Fließtextgröße) */

/* ---------- Header ---------- */
.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px}
.brand{display:flex;align-items:center;gap:12px;color:var(--text)}
.brand:hover{color:var(--text-strong)}
.brand-mark{width:40px;height:40px;border-radius:10px;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font:700 20px var(--f-display)}
.brand-name{font:700 20px var(--f-display);letter-spacing:-.01em}
.brand-initial{color:var(--accent)}
.site-header .brand{margin-right:auto}
.header-login{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--border-strong);border-radius:10px;font-size:14px;font-weight:600;color:var(--text)}
.header-login:hover{border-color:var(--accent);color:var(--text-strong)}
@media (max-width:720px){.header-login{order:2}.site-header .main-nav{order:3;flex-basis:100%}}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav>ul{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:15px;font-weight:500}
.main-nav li{position:relative;display:flex;align-items:center}
.main-nav a{color:#C9CDD2;display:inline-block;padding:6px 0}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a,.main-nav .current-menu-parent>a,.main-nav .current-menu-ancestor>a{color:var(--text-strong)}
/* Dropdowns */
.sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:28px;margin-left:2px;padding:0;border:0;background:none;color:#8C939C;cursor:pointer;border-radius:6px}
.sub-toggle svg{transition:transform .15s}
.sub-toggle:hover,.main-nav li.is-open>.sub-toggle{color:var(--accent)}
.main-nav li.is-open>.sub-toggle svg{transform:rotate(180deg)}
.main-nav .sub-menu{display:none;position:absolute;top:100%;left:-14px;z-index:60;min-width:220px;padding:8px;margin-top:6px;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45);flex-direction:column;gap:2px}
.main-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li.is-open>.sub-menu{display:flex}
.main-nav li.is-closed>.sub-menu{display:none!important}
.main-nav .sub-menu li{display:block}
.main-nav .sub-menu a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;font-size:14.5px}
.main-nav .sub-menu a:hover,.main-nav .sub-menu .current-menu-item>a{background:var(--surface-2);color:var(--text-strong)}
.main-nav .sub-menu .current-menu-item>a{box-shadow:inset 3px 0 0 var(--accent)}
.progress{height:3px;background:var(--surface-2)}
.progress span{display:block;height:3px;background:var(--accent)}

/* ---------- Banner ---------- */
.banner{position:relative;background:#000;border-bottom:1px solid var(--line);overflow:hidden}
.banner img{display:block;width:100%;height:auto}
.banner.is-full img{max-height:560px;object-fit:cover;object-position:50% 50%}
.banner.is-strip img{aspect-ratio:6/1;object-fit:cover;object-position:50% 58%}
/* sanfter Übergang ins Seitenschwarz */
.banner::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}
.banner+main .hero,.banner+main>.page-wrap,.banner+main>.section:first-child,.banner+main>.story{padding-top:56px}
/* Am Handy etwas enger schneiden, damit der Schriftzug größer wirkt (Ausschnitt: linke Bildhälfte mit „NOOKIE“ und Coin) */
@media (max-width:720px){.banner.is-strip img{aspect-ratio:3/1}.banner.is-full img{aspect-ratio:2/1;object-fit:cover;object-position:22% 50%}}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:12px;font-weight:600;font-size:16px;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--bg)}
.btn-primary:hover{background:var(--accent-hover);color:var(--bg)}
.btn-ghost{border-color:var(--border-strong);color:var(--text)}
.btn-ghost:hover{border-color:var(--accent);color:var(--text-strong)}
.btn-sm{min-height:48px;padding:0 22px;font-size:15px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Startseite ---------- */
.hero{display:flex;flex-wrap:wrap;gap:64px;align-items:center;padding-top:96px;padding-bottom:80px}
.hero-text{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:28px}
.hero h1{font-size:64px;line-height:1.04;letter-spacing:-.03em}
.hero .lead{max-width:34em;font-size:20px}
.chain{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;font-family:var(--f-mono);font-size:13px;line-height:1.7}
.block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}
.block.is-genesis{border-color:var(--accent)}
.block.is-open{border-style:dashed;border-color:var(--border-strong)}
.block-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-weight:500}
.block.is-genesis .block-head span:first-child{color:var(--accent)}
.block-head span:last-child,.block .k{color:var(--muted)}
.block .quote{color:var(--muted);margin-top:8px;font-size:12px;overflow-wrap:anywhere}
.link-line{width:2px;height:28px;background:var(--border-strong)}
.chain .s1{margin-left:24px}.chain .s2{margin-left:48px}
.chain .l0{margin-left:40px}.chain .l1{margin-left:64px}

.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-alt)}
.facts .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-top:36px;padding-bottom:36px}
.fact{display:flex;flex-direction:column;gap:4px}
.fact strong{font:700 30px var(--f-display);color:var(--text-strong)}
.fact span{font-size:15px;color:var(--muted)}

.section{padding-top:96px;padding-bottom:48px;display:flex;flex-direction:column;gap:40px}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.section-head>div{display:flex;flex-direction:column;gap:12px;flex:1 1 0;min-width:min(100%,320px)}
.section-head p:not(.eyebrow){color:var(--text-soft)}
.more{font-weight:600}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
/* Startseite: die drei Beiträge unter dem großen füllen die Breite (3 / 2 / 1 Spalte) */
#blog .card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.card{display:flex;flex-direction:column;gap:10px;padding:24px;min-height:168px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.card:hover{border-color:var(--accent);color:var(--text)}
.card .nr{font-family:var(--f-mono);font-size:13px;color:var(--accent)}
.card .title{font:700 21px/1.25 var(--f-display);color:var(--text-strong)}
.card .text{font-size:15px;line-height:1.5;color:var(--muted)}
.card .meta{font-family:var(--f-mono);font-size:13px;color:var(--muted)}

/* Meilensteine: waagerecht mit Linie pro Zeile (auch wenn umbrochen wird), am Handy senkrecht */
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));row-gap:32px}
.timeline li{position:relative;min-width:0;padding:26px 20px 0 0;border-top:2px solid var(--border);display:flex;flex-direction:column;gap:6px}
.timeline li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--accent)}
@media (max-width:640px){
  .timeline{display:flex;flex-direction:column;row-gap:0;margin-left:5px;border-left:2px solid var(--border)}
  .timeline li{border-top:0;padding:0 0 24px 24px}
  .timeline li:last-child{padding-bottom:0}
  .timeline li::before{top:4px;left:-7px}
}
.timeline .when{font-family:var(--f-mono);font-size:14px;color:var(--text-strong)}
.timeline .what{font-size:15px;line-height:1.5;color:var(--muted)}

.about{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:48px}
.about .wrap{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-top:96px;padding-bottom:96px}
.about-photo{flex:0 1 340px;min-width:240px;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:var(--surface-2);border:1px dashed #3A3F47;display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:var(--f-mono);font-size:14px}
.about-photo img{width:100%;height:100%;object-fit:cover;display:block}
.about-photo.has-img{border:0}
.about-text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
.about-text .entry{font-size:18px;color:var(--text-soft)}

/* ---------- Partner & Empfehlungen ---------- */
.partners{margin-top:96px;padding:40px 0;border-top:1px solid var(--line);background:var(--bg-alt)}
.partners+.site-footer{margin-top:0}
.partners-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px}
.partners-head .eyebrow{margin:0 0 4px}
.partners-note{margin:0;font-size:13px;color:var(--muted)}
/* Band: Karten nebeneinander; Breite = 3 (Desktop) / 2 (Tablet) / gut 1 (Handy) pro Sichtbereich.
   Oben/unten etwas Luft, damit der Hover-Effekt (Anheben + Rahmen) nicht abgeschnitten wird. */
.partner-track{container-type:inline-size;overflow:hidden;padding:6px 0;margin:-6px 0}
.partner-rail{display:flex;gap:16px;width:max-content}
.partner-card{flex:0 0 calc((100cqw - 32px)/3);min-width:0;display:block}
.partner-track.is-running .partner-rail{will-change:transform} /* Bewegung per JS (assets/main.js) */
/* Die Kartenreihe ist doppelt vorhanden; -50% minus halber Abstand = genau ein Satz Karten → nahtlose Schleife */
.partner-frame{position:relative;display:block;aspect-ratio:4/1;border-radius:16px;overflow:hidden;background:var(--surface-2);border:1px solid var(--border);transition:border-color .15s,transform .15s}
.partner-card:hover .partner-frame,.partner-card:focus-visible .partner-frame{border-color:var(--accent);transform:translateY(-2px)}
.partner-frame>img{position:relative;width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box;display:block}
.partner-bg{position:absolute;inset:0;overflow:hidden}
.partner-bg img{width:100%;height:100%;object-fit:cover;filter:blur(24px) brightness(.45);transform:scale(1.2)}
@media (max-width:860px){.partner-card{flex-basis:calc((100cqw - 16px)/2)}}
@media (max-width:560px){.partner-card{flex-basis:80cqw}}
/* Bewegung reduziert: kein Lauf, stattdessen seitlich wischbar */
@media (prefers-reduced-motion:reduce){.partner-track{overflow-x:auto}.partner-track.is-running .partner-rail{animation:none}.partner-frame{transition:none}}

/* ---------- Footer ---------- */
.site-footer{border-top:1px solid var(--line);margin-top:96px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;padding-top:40px;padding-bottom:40px;font-size:14px;color:var(--muted)}
.site-footer .copy{display:flex;flex-direction:column;gap:6px;max-width:560px}
.site-footer .copy strong{color:var(--text);font-weight:600}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}
.site-footer a{color:var(--muted)}
.site-footer a:hover{color:var(--text-strong)}
.about+.site-footer{margin-top:0}
/* Spenden (Startseite, unten): dezent, Details erst nach dem Aufklappen */
.tip{padding:32px 0}
.tip+.partners,.tip+.site-footer{margin-top:0}
.tip-box{border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.tip-head{display:flex;align-items:center;gap:14px;padding:16px 20px;list-style:none;color:var(--text-soft);font-size:15px}
.tip-box summary{cursor:pointer}
.me+.tip{padding-top:0}
.tip-box summary::-webkit-details-marker{display:none}
.tip-box summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:16px}
.tip-icon{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(247,147,26,.12);color:var(--accent);font-weight:700}
.tip-text{flex:1 1 auto;min-width:0}
.tip-text strong{color:var(--text);font-weight:600}
.tip-toggle{flex:0 0 auto;font-size:14px;color:var(--accent-link);white-space:nowrap}
.tip-toggle::after{content:" ▾"}
.tip-box[open] .tip-toggle::after{content:" ▴"}
.tip-box[open] .tip-toggle{font-size:0}
.tip-box[open] .tip-toggle::before{content:"Ausblenden";font-size:14px}
.tip-body{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:4px 20px 20px}
.tip-qr{flex:0 0 auto;display:block;padding:8px;border-radius:12px;background:#fff;line-height:0}
.tip-qr img{width:148px;height:148px;image-rendering:pixelated}
.tip-info{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:10px}
.tip-label{margin:0;font-size:13px;color:var(--muted)}
.tip-address{display:block;font-family:var(--f-mono);font-size:14px;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;overflow-wrap:anywhere;user-select:all}
.tip-actions{display:flex;flex-wrap:wrap;gap:10px}
.tip-actions .btn{min-height:42px;padding:0 16px;font-size:14px}
button.tip-copy{background:transparent;color:var(--text);font-family:inherit}
.tip-note{margin:0;font-size:13px;color:var(--muted)}
@media (max-width:560px){.tip-head{flex-wrap:wrap}.tip-toggle{margin-left:48px}.tip-body{justify-content:center}}

/* ---------- Storyline / Kapitel ---------- */
.story{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;padding-top:48px;padding-bottom:48px}
.toc{flex:1 1 240px;max-width:300px;min-width:0;display:flex;flex-direction:column;gap:12px;position:sticky;top:100px}
.toc .count{font-family:var(--f-mono);font-size:13px;color:var(--muted);letter-spacing:.04em}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.toc a{display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 12px;border-radius:10px;font-size:15px;line-height:1.4;color:var(--text-soft)}
.toc a:hover{background:var(--surface-2);color:var(--text-strong)}
.toc a span{font-family:var(--f-mono);font-size:12px;color:#7E858E;min-width:22px}
.toc a[aria-current="page"]{background:var(--surface-2);color:var(--text-strong);font-weight:600}
.toc a[aria-current="page"] span{color:var(--accent)}
@media (max-width:860px){.toc{position:static;max-width:none}}

.chapter{flex:999 1 560px;min-width:0;max-width:760px;display:flex;flex-direction:column;gap:28px}
.chapter-head{display:flex;flex-direction:column;gap:14px}
.chapter-head h1{font-size:52px;line-height:1.06;letter-spacing:-.025em}

.modes{display:inline-flex;align-self:flex-start;padding:4px;gap:4px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}
.modes button{min-height:44px;padding:0 18px;border-radius:9px;border:0;cursor:pointer;font:600 15px var(--f-body);background:transparent;color:var(--text-soft)}
.modes button:hover{color:var(--text-strong)}
.modes button[aria-pressed="true"]{background:var(--accent);color:var(--bg)}
.has-modes .entry .mode-tech{display:none}
.has-modes.show-tech .entry .mode-tech{display:flex}
.has-modes.show-tech .entry .mode-simple{display:none}

.pager{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding-top:12px}
.pager a{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border-radius:14px;border:1px solid var(--border);color:var(--text)}
.pager a:hover{border-color:var(--accent);color:var(--text)}
.pager .dir{font-size:13px;color:var(--muted)}
.pager strong{font-weight:600}
.pager .next{text-align:right;grid-column:-2}

/* ---------- Inhalte aus dem Editor ---------- */
.entry{display:flex;flex-direction:column;gap:20px}
.entry>*{margin:0}
.entry .mode{display:flex;flex-direction:column;gap:20px}
.entry .mode>*{margin:0}
.entry h2{font-size:32px;margin-top:20px}
.entry h3{font-size:24px;margin-top:12px}
.entry ul,.entry ol{padding-left:1.3em}
.entry li+li{margin-top:6px}
.entry blockquote{margin:0;padding:4px 0 4px 20px;border-left:3px solid var(--accent);color:var(--text-soft)}
.entry code{font-family:var(--f-mono);font-size:.9em;background:var(--surface);padding:2px 6px;border-radius:6px}
.entry pre{font-family:var(--f-mono);font-size:14px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:20px;overflow-x:auto}
.entry figure{margin:0}
.entry figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.entry img{border-radius:12px}
.entry table{width:100%;border-collapse:collapse;font-size:15px}
.entry th,.entry td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}

/* Bausteine für Kapitel (als HTML-Block im Editor nutzbar) */
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.field{padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:2px}
.field small{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.field b{font-weight:600;color:var(--text-strong)}
.field.is-hot{background:#1F1A12;border-color:var(--accent)}
.field.is-hot small{color:var(--accent)}
.hash-box{border-radius:var(--radius);background:var(--bg-alt);border:1px solid var(--border);padding:24px;display:flex;flex-direction:column;gap:12px}
.hash-box .label{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.entry .hash-box code{background:none;padding:0;font-size:16px;line-height:1.6;overflow-wrap:anywhere;color:var(--text)}
.hash-box code b{color:var(--accent);font-weight:400}
.hash-box p{font-size:15px;color:var(--muted)}
.note{border-radius:var(--radius);background:var(--surface);padding:24px;display:flex;flex-direction:column;gap:4px}
.note strong{color:var(--text-strong)}
.note p{color:var(--text-soft)}
.note-legal{border:1px solid var(--accent);background:linear-gradient(0deg,rgba(247,147,26,.06),rgba(247,147,26,.06)),var(--surface);gap:10px}
.note-legal strong:first-child{color:var(--accent)}
/* Gesetzestext: aufklappbare Paragrafen */
.law{display:flex;flex-direction:column;gap:8px}
.law details{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 18px}
.law summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font:600 16px var(--f-display);color:var(--text-strong)}
.law details[open] summary{border-bottom:1px solid var(--border);margin-bottom:12px}
.law p{margin:0 0 12px;font-size:15px;color:var(--text-soft)}
.setup-diagram{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:16px;overflow-x:auto}
.setup-diagram svg{display:block;width:100%;min-width:560px;height:auto;font-family:var(--f-body)}
/* Leseliste: Buchkarten mit selbst gestaltetem "Cover" (keine fremden Coverbilder) */
.books{display:flex;flex-direction:column;gap:24px;margin:8px 0}
.book{display:flex;flex-wrap:wrap;gap:28px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px}
.book-cover{flex:0 0 150px;aspect-ratio:2/3;align-self:flex-start;border-radius:6px 12px 12px 6px;padding:16px 14px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden;background:linear-gradient(160deg,var(--c1),var(--c2));box-shadow:inset 6px 0 0 rgba(0,0,0,.25),0 10px 24px rgba(0,0,0,.35)}
.book-cover-author{font:600 11px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.book-cover-title{font:700 18px/1.15 var(--f-display);color:#fff;hyphens:auto}
.book-cover-mark{position:absolute;right:10px;bottom:2px;font:700 64px/1 var(--f-display);color:rgba(255,255,255,.18)}
.book.is-favorite{border-color:var(--accent);background:linear-gradient(0deg,rgba(247,147,26,.06),rgba(247,147,26,.06)),var(--surface)}
.book-badge{align-self:flex-start;font:700 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#0D0E11;background:var(--accent);border-radius:999px;padding:4px 12px}
.book-body{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:10px}
.book-body p{margin:0}
.book-tags{display:flex;flex-wrap:wrap;gap:6px}
.book-tags span{font:600 12px var(--f-mono);color:var(--accent);border:1px solid rgba(247,147,26,.4);border-radius:999px;padding:3px 10px}
.entry .book-title{margin:4px 0 0;font-size:24px}
.book-sub{color:var(--text-soft);font-style:italic}
.book-meta{font-size:14px;color:var(--muted)}
.book-points{margin:4px 0;display:flex;flex-direction:column;gap:6px}
.book-link{align-self:flex-start;margin-top:6px;padding:10px 16px;border:1px solid var(--accent);border-radius:999px;font-weight:600;color:var(--accent-link);text-decoration:none}
.book-link:hover{background:var(--accent);color:#0D0E11}
@media (max-width:560px){.book{padding:18px;gap:18px}.book-cover{flex-basis:120px}}
.setup-diagram figcaption{margin-top:8px;font-size:14px;color:var(--muted);text-align:center}
.wip{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:24px;color:var(--muted)}

/* ---------- Blog & Seiten ---------- */
.blog-layout{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}
.blog-posts{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:24px}
.blog-nav{flex:1 1 220px;max-width:260px}
.toc a .toc-count{margin-left:auto;min-width:0;font-family:var(--f-mono);font-size:12px;color:#7E858E}
.toc a[aria-current="page"] .toc-count{color:var(--accent)}
.card-cat{color:var(--accent)}
/* Neuester Beitrag: großer Kasten über die volle Breite */
.post-featured{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;color:var(--text);transition:border-color .15s}
.post-featured:hover{border-color:var(--accent);color:var(--text)}
.post-featured-img{flex:1 1 360px;min-height:240px;background:var(--surface-2)}
.post-featured-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.post-featured-body{flex:1.4 1 380px;display:flex;flex-direction:column;gap:12px;padding:36px 40px;background:radial-gradient(120% 140% at 100% 0%,rgba(247,147,26,.10),transparent 60%)}
.post-featured-label{align-self:flex-start;font:500 12px var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--bg);background:var(--accent);padding:4px 10px;border-radius:999px}
.post-featured .meta{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.post-featured-title{font:700 34px/1.15 var(--f-display);letter-spacing:-.02em;color:var(--text-strong)}
.post-featured-text{font-size:17px;color:var(--text-soft);max-width:60ch}
.post-featured-more{margin-top:4px;font-weight:600;color:var(--accent)}
@media (max-width:720px){.post-featured-body{padding:24px}.post-featured-title{font-size:26px}}
.post-meta a{color:var(--accent)}
/* Gleiche Breite und gleicher Abstand wie die übrigen Seiten; Kopfbereich und Text laufen über die volle Inhaltsbreite. */
.page-wrap{padding-top:96px;padding-bottom:48px;display:flex;flex-direction:column;gap:28px}
.page-wrap h1{font-size:44px;line-height:1.1}
.post-meta{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--border);color:var(--text)}
.pagination .current{background:var(--accent);color:var(--bg);border-color:var(--accent)}

/* ---------- Bald online ---------- */
.soon{min-height:100vh;display:flex;align-items:center}
.soon .wrap{display:flex;flex-direction:column;gap:24px;max-width:760px}
.soon h1{font-size:56px;line-height:1.05}
.soon .legal{display:flex;gap:24px;font-size:14px}
.soon .legal a{color:var(--muted)}

/* ---------- Sparrechner ---------- */
.dca{display:flex;flex-direction:column;gap:24px}
.dca-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;align-items:end;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.dca-field{display:flex;flex-direction:column;gap:6px}
.dca-field label{font-size:14px;font-weight:600;color:var(--text-soft)}
.dca input,.dca select{min-height:48px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:500 16px var(--f-body);color-scheme:dark;width:100%}
.dca input:focus,.dca select:focus{outline:2px solid var(--accent);outline-offset:1px}
.dca-input-wrap{display:flex;gap:8px}
.dca-input-wrap select{width:auto;flex:none}
.dca-form .btn{justify-content:center;min-height:48px}
.dca-range,.dca-note{font-size:14px;color:var(--muted)}
.dca-error{padding:14px 18px;border-radius:12px;background:#2A1414;border:1px solid #6B2B2B;color:#FFC9C9}
.dca-result{display:flex;flex-direction:column;gap:24px}
.dca-result[hidden],.dca-error[hidden],.dca-note[hidden]{display:none}
.dca-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.dca-stats>div{padding:18px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}
.dca-stats span{font-size:14px;color:var(--muted)}
.dca-stats strong{font:700 22px var(--f-display);color:var(--text-strong);white-space:nowrap}
.is-up{color:#5BD49A!important}
.is-down{color:#FF8A8A!important}
.dca-chart{margin:0;padding:20px;border-radius:var(--radius);background:var(--bg-alt);border:1px solid var(--border)}
.dca-chart svg{display:block;width:100%;height:auto}
.dca-chart .grid{stroke:var(--border);stroke-width:1}
.dca-chart .tick{fill:var(--muted);font:12px var(--f-mono)}
.dca-chart .value{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}
.dca-chart .invested{fill:none;stroke:#8FA3BF;stroke-width:2;stroke-dasharray:5 4}
.dca-chart figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;font-size:14px;color:var(--muted)}
.dca-chart .dot{display:inline-block;width:14px;height:3px;border-radius:2px}
.dca-chart .dot-value{background:var(--accent)}
.dca-chart .dot-invested{background:#8FA3BF;margin-left:12px}
.dca-details summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.dca-table-wrap{overflow-x:auto;max-height:560px;overflow-y:auto;border:1px solid var(--border);border-radius:12px;margin-top:8px}
.dca table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dca th,.dca td{text-align:right;padding:10px 12px;border-bottom:1px solid var(--border)}
.dca th:nth-child(-n+2),.dca td:nth-child(-n+2){text-align:left}
.dca thead th{position:sticky;top:0;background:var(--surface);color:var(--text-soft);font-weight:600}
.dca-disclaimer{font-size:13px;color:var(--muted)}

/* CalMag-Rechner [calmag_rechner]: links Eingaben, rechts Ergebnis, mobil untereinander */
.cm{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start;margin:8px 0 32px}
@media (max-width:1100px){.cm{grid-template-columns:1fr}}
.cm-form,.cm-result{display:flex;flex-direction:column;gap:18px;min-width:0;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.entry .cm-title{font-size:20px;margin:0}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cm-field{display:flex;flex-direction:column;gap:6px}
.cm-field[hidden]{display:none}
.cm-field label,.cm-label{font-size:14px;font-weight:600;color:var(--text-soft);margin:0}
.entry .cm-hint,.entry .cm-note{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.cm-input{display:flex;align-items:center;min-height:48px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);overflow:hidden}
.cm-input:focus-within{outline:2px solid var(--accent);outline-offset:1px}
.cm-input input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:600 16px var(--f-body);padding:0 14px;min-height:46px;color-scheme:dark}
.cm-input input:focus{outline:0}
.cm-input span{padding:0 14px;color:var(--muted);font-size:13px}
.cm-input.cm-ca{border-left:4px solid var(--accent)}
.cm-input.cm-mg{border-left:4px solid #5B8DEF}
.cm select{width:100%;min-height:48px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:500 15px var(--f-body);color-scheme:dark}
.cm select:focus{outline:2px solid var(--accent);outline-offset:1px}
.cm-slider{display:flex;align-items:center;gap:14px}
.cm-slider input{flex:1;accent-color:var(--accent);min-height:32px}
.cm-slider output{font:700 17px var(--f-display);color:var(--text-strong);min-width:72px;text-align:right;white-space:nowrap}
.cm-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-size:15px}
.cm-status b{color:var(--text-strong)}
.cm-pill{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--border-strong);color:var(--text-strong)}
.cm-pill-ca{background:var(--accent);color:var(--bg)}
.cm-pill-mg{background:#5B8DEF;color:var(--bg)}
.cm-pill-ok{background:#3FB37F;color:var(--bg)}
.cm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cm-stats>div{padding:14px 16px;border-radius:12px;background:var(--bg-alt);border:1px solid var(--border);display:flex;flex-direction:column;gap:2px}
.cm-stats span{font-size:13px;color:var(--muted)}
.cm-stats strong{font:700 19px var(--f-display);color:var(--text-strong);white-space:nowrap}
.entry .cm-warn{margin:0 0 8px;padding:12px 14px;border-radius:12px;background:#2A2112;border:1px solid #6B5320;color:#FFD99A;font-size:14px}
.cm-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.entry .cm table{width:100%;margin:0;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.entry .cm th,.entry .cm td{text-align:right;padding:10px 12px;border:0;border-bottom:1px solid var(--border);white-space:nowrap}
.entry .cm th:first-child,.entry .cm td:first-child{text-align:left;white-space:normal;min-width:180px}
.entry .cm thead th{background:var(--surface-2);color:var(--text-soft);font-weight:600}
.entry .cm tbody tr:last-child td{border-bottom:0}
.cm td small{color:var(--muted);font-size:12px}
.cm tr.is-step td{background:rgba(247,147,26,.08)}
.entry .cm-how{margin:6px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:6px}
@media (max-width:560px){.cm-form,.cm-result{padding:18px}.cm-row{grid-template-columns:1fr}}

/* Anbauplan [anbauplan]: Sorte + Keimstart, Wochen-Zeitstrahl, Detailkarte, Tabelle */
.ap{display:flex;flex-direction:column;gap:16px;margin:8px 0 32px}
.ap-bar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.ap-seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--bg);border:1px solid var(--border-strong)}
.ap-seg button{min-height:40px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:var(--text-soft);font:600 15px var(--f-body);cursor:pointer}
.ap-seg button[aria-pressed="true"]{background:var(--accent);color:var(--bg)}
.ap-date{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ap-date label{font-size:14px;font-weight:600;color:var(--text-soft)}
.ap-date .cm-input{min-height:44px}
.ap-date .cm-input input{min-height:42px}
.ap-link{border:0;background:none;padding:6px 4px;color:var(--muted);font:500 13px var(--f-body);cursor:pointer;text-decoration:underline}
.ap-link:hover{color:var(--text)}
.ap-link[hidden]{display:none}
.ap-timeline{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:4px}
.ap-tick{position:relative;min-height:42px;padding:0;border:0;border-radius:8px;background:var(--c);color:#14161A;font:700 14px var(--f-display);cursor:pointer;opacity:.55;transition:opacity .15s,transform .15s}
.ap-tick:hover{opacity:.85}
.ap-tick.is-sel{opacity:1;transform:translateY(-3px);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--c)}
.ap-tick.is-now::after{content:"";position:absolute;left:50%;bottom:-9px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--text-strong)}
.ap-legend{display:flex;gap:4px;margin-top:-4px}
.ap-legend span{flex-basis:0;min-width:0;padding-top:6px;border-top:2px solid var(--c);color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-detail{display:flex;flex-direction:column;gap:16px;padding:22px 24px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--c);border-radius:var(--radius);scroll-margin-top:100px}
.ap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ap-pill{display:inline-block;margin:0 6px 8px 0;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--c);color:#14161A}
.ap-pill-now{background:var(--text-strong)}
.entry .ap-title{font-size:24px;margin:0}
.entry .ap-when{margin:4px 0 0;color:var(--muted);font-size:14px;font-family:var(--f-mono)}
.ap-nav{display:flex;gap:8px;flex-shrink:0}
.ap-nav button{width:44px;height:44px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font-size:18px;cursor:pointer}
.ap-nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.ap-nav button:disabled{opacity:.35;cursor:default}
.ap-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.ap-stats>div{padding:14px 16px;border-radius:12px;background:var(--bg-alt);border:1px solid var(--border);display:flex;flex-direction:column;gap:2px}
.ap-stats span{font-size:13px;color:var(--muted)}
.ap-stats strong{font:700 19px var(--f-display);color:var(--text-strong);overflow-wrap:anywhere}
.ap-stats small{font-size:12px;color:var(--muted)}
.entry .ap .cm-hint{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.ap-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.entry .ap table{width:100%;margin:0;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.entry .ap th,.entry .ap td{text-align:center;padding:9px 10px;border:0;border-bottom:1px solid var(--border);white-space:nowrap}
.entry .ap th:first-child,.entry .ap td:first-child{text-align:left;position:sticky;left:0;z-index:1}
.entry .ap thead th{background:var(--surface-2);color:var(--text-soft);font-weight:600;vertical-align:bottom}
.entry .ap thead th small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.entry .ap .ap-groups th{text-align:center;font:600 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-right:1px solid var(--border)}
.entry .ap .ap-groups th:last-child{border-right:0}
.ap tbody tr{cursor:pointer;background:color-mix(in srgb,var(--c) 15%,var(--bg))}
.ap tbody td:first-child{background:inherit;box-shadow:inset 4px 0 0 var(--c)}
.ap tbody tr:hover{background:color-mix(in srgb,var(--c) 24%,var(--bg))}
.ap tbody tr.is-sel{background:color-mix(in srgb,var(--c) 34%,var(--bg));color:var(--text-strong)}
.ap tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.entry .ap tbody tr:last-child td{border-bottom:0}
.ap-phase{font-weight:600}
.ap tr.is-now .ap-phase::after{content:"jetzt";margin-left:8px;padding:2px 7px;border-radius:99px;background:var(--text-strong);color:var(--bg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;vertical-align:1px}
.ap .ap-dli0,.ap.is-auto .ap-dli1{font-weight:700;color:var(--text-strong)}
.ap.is-auto .ap-dli0,.ap:not(.is-auto) .ap-dli1{opacity:.45}
@media (max-width:560px){.ap-bar,.ap-detail{padding:16px}.ap-timeline{gap:2px}.ap-tick{min-height:36px;font-size:12px;border-radius:6px}.ap-legend span{font-size:10.5px}.entry .ap-title{font-size:20px}.ap-stats{grid-template-columns:1fr 1fr}.ap-stats strong{font-size:16px}}

/* VBX-Düngerechner [vbx_rechner]: nutzt CalMag-Layout und Anbauplan-Tabelle */
.vbx .cm{margin:0}
.vbx-timeline{grid-template-columns:repeat(12,minmax(0,1fr))}
.vbx-chips{display:flex;flex-wrap:wrap;gap:6px}
.vbx-chip{min-height:34px;padding:0 12px;border-radius:99px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text-soft);font:600 13px var(--f-body);cursor:pointer}
.vbx-chip:hover{color:var(--text)}
.vbx-chip[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.vbx-extra{flex-basis:100%;font-size:14px;color:#FFD99A}
.entry .vbx-table-title{font-size:20px;margin:8px 0 0}
.vbx.is-vbx-only .vbx-shine,.vbx.is-vbx-only [data-vbx-part="th-shine"]{display:none}
.vbx.is-shine-only .vbx-vbx,.vbx.is-shine-only [data-vbx-part="th-vbx"]{display:none}

/* Plagron-Düngerechner [plagron_rechner]: wie VBX, plus Dünger-Auswahl und Einkaufsliste */
.pg-timeline{grid-template-columns:repeat(var(--n,19),minmax(0,1fr));gap:3px}
.pg-timeline .ap-tick{font-size:12px}
.pg-products{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pg-product{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--bg);cursor:pointer}
.pg-product:has(input:checked){border-color:var(--accent)}
.pg-product input{width:18px;height:18px;margin:0;accent-color:var(--accent);flex-shrink:0}
.pg-product span{display:flex;flex-direction:column;font-size:14px;font-weight:600;color:var(--text);line-height:1.3}
.pg-product small{font-size:12px;font-weight:400;color:var(--muted)}
@media (max-width:1100px){.pg-timeline{grid-template-columns:repeat(10,minmax(0,1fr));row-gap:12px}}
.pg .cm-stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
@media (max-width:400px){.pg-products{grid-template-columns:1fr}}

/* ---------- Kontaktformular ---------- */
.contact{display:flex;flex-direction:column;gap:20px}
.contact-form{display:flex;flex-direction:column;gap:18px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field label{font-size:14px;font-weight:600;color:var(--text-soft)}
.form-field .opt{font-weight:400;color:var(--muted)}
.form-field input,.form-field textarea{min-height:48px;padding:12px 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:400 16px/1.5 var(--f-body);color-scheme:dark;width:100%}
.form-field textarea{resize:vertical;min-height:160px}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.form-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-privacy{font-size:14px;color:var(--muted)}
.form-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.form-pow{font-size:14px;color:var(--muted)}
.contact-form .btn[disabled]{opacity:.6;cursor:progress}
.form-note{padding:16px 20px;border-radius:12px}
.form-note.is-ok{background:#12251B;border:1px solid #2E6B4A;color:#BFF0D4}
.form-note.is-error{background:#2A1414;border:1px solid #6B2B2B;color:#FFC9C9}

/* ---------- Krypto-Trading (Mitgliederbereich) ---------- */
.kt-gate{max-width:820px}
.kt-gate .lead{margin:0}
.kt-card{display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.kt-card h2{font-size:24px}
.kt-card p{margin:0;color:var(--text-soft)}
.kt-check{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--text-soft);cursor:pointer}
.kt-check input{width:18px;height:18px;margin-top:3px;accent-color:var(--accent);flex:0 0 auto}
.kt-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding:12px 18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:15px;color:var(--muted)}
.kt-bar strong{color:var(--text)}
.kt-invites{display:flex;flex-direction:column;gap:16px;margin-top:40px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.entry .kt-invites h2{font-size:26px;margin:0}
.kt-invites>p{margin:0;color:var(--text-soft)}
.kt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.kt-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:12px}
.kt-who{font-weight:600;color:var(--text)}
.kt-link{display:flex;gap:8px;flex:1 1 320px;min-width:0}
.kt-link input{flex:1 1 auto;min-width:0;min-height:40px;padding:8px 12px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:400 13px var(--f-mono);color-scheme:dark}
.btn-xs{min-height:40px;padding:0 14px;font-size:14px}
button.btn-ghost{background:transparent;font-family:inherit}
.kt-pill{font-family:var(--f-mono);font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap}
.kt-pill.is-mitglied,.kt-pill.is-admin{border-color:#2E6B4A;color:#BFF0D4}
.kt-pill.is-wartend,.kt-pill.is-offen{border-color:rgba(247,147,26,.5);color:var(--accent-link)}
.kt-revoke{margin:0 0 0 auto}
.kt-text-btn{background:none;border:0;padding:6px 0;color:var(--muted);font:400 14px var(--f-body);cursor:pointer;text-decoration:underline}
.kt-text-btn:hover{color:var(--text-strong)}
@media (max-width:560px){.kt-card,.kt-invites{padding:20px}.kt-revoke{margin-left:0}}

/* Analysebot */
.bot{display:flex;flex-direction:column;margin-top:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.bot-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}
.bot-head strong{display:block;color:var(--text-strong);font-size:16px;line-height:1.3}
.bot-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--accent);color:var(--bg);display:grid;place-items:center;font:700 18px var(--f-display)}
.bot-state{font-size:13px;color:var(--muted)}
.bot-state::before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#6B7280;vertical-align:1px}
.bot-state.is-on::before{background:#34D399}
.bot-log{display:flex;flex-direction:column;gap:12px;max-height:640px;min-height:180px;overflow-y:auto;padding:20px;background:var(--bg-alt)}
.bot-msg{max-width:min(720px,92%);padding:12px 16px;border-radius:14px;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.bot-msg p{margin:0}
.bot-msg p+p,.bot-msg .bot-chart+p{margin-top:10px}
.bot-msg.is-bot{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-top-left-radius:4px;color:var(--text-soft)}
.bot-msg.is-me{align-self:flex-end;background:rgba(247,147,26,.14);border:1px solid rgba(247,147,26,.4);border-top-right-radius:4px;color:var(--text);font-weight:600}
.bot-msg b{color:var(--text-strong)}
.bot-msg i{color:var(--muted)}
.bot-msg code{font-family:var(--f-mono);font-size:13px;background:var(--bg);padding:1px 6px;border-radius:5px}
.bot-title{font-weight:700;color:var(--text-strong);font-family:var(--f-display);font-size:17px}
.bot-chart{display:block;margin:10px 0 0;padding:0;border:0;background:none;cursor:zoom-in;width:100%;max-width:560px}
.bot-chart img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--border)}
.bot-chart.is-big{max-width:none;cursor:zoom-out}
.bot-msg:has(.bot-chart.is-big){max-width:100%}
.bot-dots{display:inline-flex;gap:4px;margin-right:6px;vertical-align:middle}
.bot-dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:bot-dot 1s infinite ease-in-out}
.bot-dots i:nth-child(2){animation-delay:.15s}.bot-dots i:nth-child(3){animation-delay:.3s}
@keyframes bot-dot{0%,80%,100%{opacity:.25}40%{opacity:1}}
.bot-form{display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}
.bot-form input{flex:1 1 180px;min-width:0;min-height:46px;padding:10px 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);font:400 16px var(--f-body);color-scheme:dark}
.bot-form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.bot-cmds{display:flex;flex-wrap:wrap;gap:8px}
.bot-cmd{min-height:46px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);background:transparent;color:var(--text);font:600 14px var(--f-body);cursor:pointer}
.bot-cmd:hover{border-color:var(--accent);color:var(--text-strong)}
.bot-cmd.is-main{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.bot-cmd.is-main:hover{background:var(--accent-hover)}
.bot-cmd[disabled]{opacity:.55;cursor:wait}
.entry .bot-note{margin:0;padding:0 20px 16px;font-size:13px;color:var(--muted)}
@media (max-width:560px){.bot-log{padding:14px;max-height:70vh}.bot-form{padding:14px}.bot-cmds{width:100%}.bot-cmd{flex:1 1 auto;padding:0 10px}.bot-msg{max-width:100%}.entry .bot-note{padding:0 14px 14px}}
@media (prefers-reduced-motion:reduce){.bot-dots i{animation:none;opacity:.7}}

/* ---------- Liquidation Logger (Heatmap) ---------- */
.liq{margin-top:32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.liq-mode{display:inline-flex;margin-bottom:12px}
.liq-zoom{position:absolute;top:8px;left:8px;z-index:2;display:flex;gap:2px;background:rgba(13,14,17,.8);border:1px solid var(--border-strong);border-radius:9px;padding:2px}
.liq .liq-zoom button{background:none;border:0;min-width:30px;padding:4px 8px;font-size:15px;line-height:1}
.liq .liq-zoom button[data-liq-zoom=reset]{font-size:12px}
.liq .liq-zoom button:disabled{opacity:.35;cursor:default}
.liq-stage canvas{touch-action:pan-y}
.liq-stage canvas.is-drag{cursor:grabbing}
.liq-help{margin:2px 2px 0;font-size:12px;color:var(--muted)}
.liq-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}
.liq-tabs,.liq-opts,.liq-seg{display:flex;flex-wrap:wrap;gap:6px}
.liq-opts{gap:10px}
.liq-seg{background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}
.liq button{font:600 13px var(--f-body);color:var(--text-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 11px;cursor:pointer}
.liq-seg button{background:none;border-color:transparent}
.liq button:hover{color:var(--text-strong);border-color:var(--border-strong)}
.liq-tabs button[aria-selected=true],.liq-seg button.is-on{background:var(--accent);border-color:var(--accent);color:#0D0E11}
.liq-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.liq-stats div{background:var(--bg-alt);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.liq-stats span,.liq-stats small{display:block;color:var(--muted);font-size:12.5px}
.liq-stats strong{display:block;font:700 20px var(--f-display);color:var(--text-strong)}
.liq .is-long{color:#ef5350}.liq .is-short{color:#26a69a}
.liq-err{grid-column:1/-1;color:#ef5350;margin:0}
.liq-stage{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--border)}
.liq-stage canvas{display:block;width:100%;cursor:crosshair}
.liq-tip{position:absolute;pointer-events:none;background:rgba(13,14,17,.94);border:1px solid var(--border-strong);border-radius:8px;padding:7px 9px;font-size:12.5px;line-height:1.45;color:var(--text);white-space:nowrap;z-index:2}
.liq-legend{display:flex;align-items:center;gap:8px;margin:10px 2px 4px;font-size:12.5px;color:var(--muted)}
.liq-legend i{width:140px;height:8px;border-radius:4px;background:linear-gradient(90deg,#1a0b2e,#441f78,#2c68aa,#21a887,#8cd250,#fde725)}
.liq-legend em{margin-left:auto;font-style:normal}
.liq-legend em.is-stale{color:#ef5350;font-weight:600}
.liq-lists{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.liq-lists h3{font:700 16px var(--f-display);margin:0 0 8px;color:var(--text-strong)}
.liq-lists ol{margin:0;padding-left:20px;font-size:14px;line-height:1.5}
.liq-lists li{margin:0 0 6px}
.liq-lists li span{color:var(--muted);font-size:12.5px}
.liq-note{margin:14px 2px 0;font-size:12.5px;color:var(--muted)}

/* ---------- Krypto-Werkzeuge: Marktupdate, Dashboard, Journal, Rechner ---------- */
.ktt-tool{margin-top:32px}
.ktt-tool h3{font:700 19px var(--f-display);color:var(--text-strong);margin:28px 0 10px}
.ktt-tool h2.ktt-sec{font:700 24px var(--f-display);color:var(--text-strong);margin:44px 0 6px;padding-top:20px;border-top:1px solid var(--border)}
.ktt-loading,.ktt-stand,.ktt-hint{color:var(--muted);font-size:13px}
.ktt-stand{margin-top:10px;text-align:right}
.ktt-hint{margin:8px 2px}
.ktt-err{color:#ef5350}
.ktt-tool .is-up{color:#26a69a}.ktt-tool .is-down{color:#ef5350}.ktt-tool .is-hot{color:#F7931A}
.ktt-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.ktt-tool select,.ktt-form input{font:500 14px var(--f-body);color:var(--text);background:var(--bg-alt);border:1px solid var(--border-strong);border-radius:9px;padding:8px 10px}
.ktt-bar label{color:var(--text-soft);font-size:14px;display:flex;gap:8px;align-items:center}
.ktt-check{cursor:pointer}
.ktt-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:2px;background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;padding:3px}
.ktt-seg button,.ktt-table th button{font:600 13px var(--f-body);color:var(--text-soft);background:none;border:0;border-radius:8px;padding:6px 11px;cursor:pointer}
.ktt-seg button.is-on{background:var(--accent);color:#0D0E11}
.ktt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}
.ktt-cards>div{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:11px 13px}
.ktt-cards span,.ktt-cards small{display:block;color:var(--muted);font-size:12.5px}
.ktt-cards strong{display:block;font:700 20px var(--f-display);color:var(--text-strong);margin:2px 0}
.ktt-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px}
.ktt-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}
.ktt-table th,.ktt-table td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--line)}
.ktt-table th:first-child,.ktt-table td:first-child,.ktt-signals td:nth-child(2),.ktt-signals td:nth-child(3){text-align:left}
.ktt-table thead th{background:var(--surface-2);color:var(--muted);font-weight:600;font-size:12.5px}
.ktt-table th button{padding:0;font-size:12.5px;color:var(--muted)}
.ktt-table th button.is-on{color:var(--accent)}
.ktt-table tbody th{font-weight:600;color:var(--text-strong)}
.ktt-table tbody tr:last-child>*{border-bottom:0}
.ktt-table tbody tr:hover{background:var(--surface)}
.ktt-table img{vertical-align:-4px;margin-right:6px}
.ktt-liqbar{display:inline-block;width:46px;height:6px;margin-right:8px;border-radius:3px;background:#26a69a;overflow:hidden;vertical-align:middle}
.ktt-liqbar i{display:block;height:100%;background:#ef5350}
.ktt-tag{display:inline-block;font:700 10px var(--f-body);color:var(--muted);border:1px solid var(--border-strong);border-radius:4px;padding:0 4px;margin-left:4px}
.ktt-off{color:var(--border-strong)}
.ktt-diary-form{margin:28px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.ktt-diary-form h3{margin-top:0}
.ktt-diary-form .ktt-form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));padding:0;border:0;background:none}
.ktt-diary-form select{width:100%}
.ktt-gate{border:1px solid var(--border);border-radius:12px;margin:14px 0;padding:10px 14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 16px}
.ktt-gate legend{padding:0 6px;font-weight:600;color:var(--text-strong)}
.ktt-gate label{font-size:14px;color:var(--text-soft);cursor:pointer;display:flex;gap:8px;align-items:flex-start}
.ktt-gate input{margin-top:3px;accent-color:var(--accent)}
.ktt-note{display:block}
.ktt-note span{display:block;color:var(--muted);font-size:12.5px;margin-bottom:4px}
.ktt-note textarea{width:100%;box-sizing:border-box;font:400 14px var(--f-body);color:var(--text);background:var(--bg-alt);border:1px solid var(--border-strong);border-radius:9px;padding:8px 10px}
.ktt-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}
.ktt-actions .button{font:600 14px var(--f-body);background:var(--accent);color:#0D0E11;border:0;border-radius:10px;padding:10px 18px;cursor:pointer}
.ktt-link{background:none;border:0;padding:0;color:var(--accent-link);font:500 13px var(--f-body);cursor:pointer}
.ktt-link:hover{text-decoration:underline}
.ktt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.ktt-tabs button{font:600 13px var(--f-body);color:var(--text-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:7px 12px;cursor:pointer}
.ktt-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#0D0E11}
.ktt-tabs button[aria-selected=true] .ktt-n{background:rgba(0,0,0,.18);color:#0D0E11}
.ktt-rules ul{margin:4px 0 8px;padding-left:20px}
.ktt-rules li{margin-bottom:4px}
.ktt-example h3{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:17px}
.ktt-example h3 span{margin-left:auto;font-size:15px}
.ktt-owner{margin:0 0 12px;color:var(--text-soft);font-size:14px}
.ktt-cards .ktt-liqcard strong{font-size:18px;margin:1px 0;white-space:nowrap}
.ktt-cards .ktt-liqcard strong small{display:inline-block;width:52px;font:600 12px var(--f-body);color:var(--muted)}
.ktt-tabgroup{margin:10px 0 6px;font:700 12px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ktt-step{margin:0 0 4px;font:700 11.5px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.ktt-lead{font-size:16.5px;color:var(--text-strong)}
.ktt-next{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);padding:14px 16px;margin:20px 0}
.ktt-next p{margin:0;color:var(--text-soft);font-size:14px}
.ktt-next .button,.ktt-quiz .button{font:600 14px var(--f-body);background:var(--accent);color:#0D0E11;border:0;border-radius:10px;padding:10px 18px;cursor:pointer}
.ktt-progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}
.ktt-progress div{display:flex;justify-content:space-between;color:var(--text-strong);font-size:15px}
.ktt-progress span{font:700 18px var(--f-display);color:var(--accent)}
.ktt-progress i{display:block;height:8px;border-radius:4px;background:var(--bg-alt);overflow:hidden;margin:8px 0 6px}
.ktt-progress i b{display:block;height:100%;background:linear-gradient(90deg,#F7931A,#FFB357);border-radius:4px}
.ktt-progress small{color:var(--muted);font-size:12.5px}
.ktt-seen{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:14px;color:var(--text-soft);cursor:pointer}
.ktt-seen input{accent-color:#26a69a}
.ktt-example.is-seen{opacity:.75}
.ktt-quiz{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:24px 0}
.ktt-quiz h3{margin-top:0}
.ktt-q{border:1px solid var(--border);border-radius:12px;margin:0 0 12px;padding:10px 14px}
.ktt-q legend{padding:0 6px;font-weight:600;color:var(--text-strong)}
.ktt-q label{display:flex;gap:8px;align-items:flex-start;padding:5px 6px;border-radius:8px;font-size:14.5px;color:var(--text-soft);cursor:pointer}
.ktt-q input{margin-top:4px;accent-color:var(--accent)}
.ktt-q.is-right{border-color:#26a69a}
.ktt-q.is-wrong{border-color:#ef5350}
.ktt-q label.is-correct{background:rgba(38,166,154,.15);color:var(--text-strong)}
.ktt-q label.is-picked{background:rgba(239,83,80,.15)}
.ktt-why{margin:6px 6px 2px;font-size:13.5px;color:var(--text-soft)}
.ktt-n{display:inline-block;min-width:15px;padding:0 4px;border-radius:7px;background:var(--surface-2);color:var(--muted);font-size:10.5px;line-height:15px;text-align:center;vertical-align:1px;cursor:help}
.ktt-embed{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--c);border-radius:12px;padding:16px 18px;margin-bottom:16px;line-height:1.6}
.ktt-embed h3{margin:0 0 8px;font-size:19px}
.ktt-embed h4{margin:14px 0 4px;font:700 15px var(--f-display);color:var(--text-strong)}
.ktt-embed p{margin:0 0 8px}
.ktt-embed-author{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text-soft);margin-bottom:6px}
.ktt-quote{display:inline-block;border-left:3px solid var(--border-strong);padding-left:10px}
.ktt-chart{display:block;width:100%;height:auto;border-radius:10px;margin:10px 0}
.ktt-embed small{color:var(--muted);font-size:12px}
.ktt-calc{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}
.ktt-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}
.ktt-form label span{display:block;color:var(--muted);font-size:12.5px;margin-bottom:4px}
.ktt-form input{width:100%;box-sizing:border-box}
.ktt-side{grid-column:1/-1;justify-self:start}
.ktt-warn{margin:0 0 14px;padding-left:18px;font-size:14px;line-height:1.55}
.ktt-warn li{margin-bottom:4px}
@media (max-width:720px){.ktt-calc{grid-template-columns:1fr}.ktt-cards{grid-template-columns:1fr 1fr}.ktt-embed{padding:13px}}
@media (max-width:720px){.liq{padding:12px}.liq-stats{grid-template-columns:1fr 1fr}.liq-stats div:last-child{grid-column:1/-1}.liq-lists{grid-template-columns:1fr}.liq-bar{flex-direction:column;align-items:flex-start}}

/* ---------- Zeitleiste ---------- */
:root{--c-technik:#F7931A;--c-markt:#4FC3F7;--c-unternehmen:#B39DFF;--c-politik:#FF8A8A;--c-kultur:#E6E6E6;--c-hoch:#FFD54F}
.tl-page .lead p{margin:0}
.tl{display:flex;flex-direction:column;gap:16px;min-width:0;max-width:100%}
.tl-page>*{min-width:0}
.tl[hidden]{display:none}
.tl-controls{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.tl-filters,.tl-tools{display:flex;flex-wrap:wrap;gap:8px}
.tl-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:500 14px var(--f-body);cursor:pointer}
.tl-chip[aria-pressed="false"]{opacity:.45;background:transparent}
.tl-chip:hover{border-color:var(--accent)}
.tl-btn{min-width:44px;min-height:44px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:600 18px var(--f-body);cursor:pointer}
.tl-btn:hover{border-color:var(--accent);color:var(--text-strong)}
.tl-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:currentColor;flex:none}
.tl-technik{color:var(--c-technik)}.tl-markt{color:var(--c-markt)}.tl-unternehmen{color:var(--c-unternehmen)}.tl-politik{color:var(--c-politik)}.tl-kultur{color:var(--c-kultur)}.tl-hoch{color:var(--c-hoch)}
.tl-scroll{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);scrollbar-color:var(--border-strong) transparent}
.tl-scroll{cursor:grab;user-select:none;-webkit-user-select:none}
.tl-scroll.is-dragging{cursor:grabbing}
.tl-scroll.is-dragging .tl-card{pointer-events:none}
.tl-sep{width:1px;background:var(--border);margin:6px 4px}
.tl-zoom{display:inline-flex;align-items:center;min-width:34px;justify-content:center;font:500 13px var(--f-mono);color:var(--muted)}
.tl-hint{margin:0;font-size:13px;color:var(--muted)}
.tl-hint kbd{font:500 12px var(--f-mono);padding:1px 6px;border:1px solid var(--border-strong);border-radius:5px}
.tl-canvas{position:relative}
.tl-pre{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(255,255,255,.025) 8px 16px);border-right:1px dashed var(--border-strong)}
.tl-pre span{position:absolute;bottom:8px;left:10px;font:12px var(--f-mono);color:var(--muted)}
.tl-line{position:absolute;height:2px;margin-top:-1px;background:var(--border-strong)}
.tl-tick{position:absolute;width:1px;height:14px;margin-top:-7px;background:var(--border-strong)}
.tl-tick span{position:absolute;top:14px;left:6px;font:500 12px var(--f-mono);color:var(--muted);white-space:nowrap}
.tl-tick.is-pre span{color:#6F7680}
.tl-point{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid var(--bg-alt);background:currentColor;cursor:pointer;padding:0;z-index:2;transition:transform .12s}
.tl-point::after{content:"";position:absolute;inset:-8px}
.tl-point:hover,.tl-point:focus-visible{transform:scale(1.4);z-index:3}
.tl-point.is-active{transform:scale(1.5);box-shadow:0 0 0 3px var(--bg-alt),0 0 0 5px currentColor;z-index:4}
.tl-point.tl-hoch{border-radius:2px;transform:rotate(45deg)}
.tl-point.tl-hoch:hover,.tl-point.tl-hoch:focus-visible{transform:rotate(45deg) scale(1.4)}
.tl-point.tl-hoch.is-active{transform:rotate(45deg) scale(1.5)}
.tl-point.is-ath,.tl-card.is-ath{color:var(--accent)}
.tl-stem{position:absolute;width:1px;background:currentColor;opacity:.45}
.tl-card{position:absolute;display:flex;flex-direction:column;gap:3px;padding:8px 10px;box-sizing:border-box;text-align:left;background:var(--surface);border:1px solid var(--border);border-top:2px solid currentColor;border-radius:10px;cursor:pointer;overflow:hidden;font-family:var(--f-body)}
.tl-card:hover{border-color:currentColor;background:var(--surface-2)}
.tl-card.is-active{border-color:currentColor;background:var(--surface-2);box-shadow:0 0 0 1px currentColor}
.tl-card-date{font:500 11px var(--f-mono);color:currentColor}
.tl-card-title{font:600 13px/1.3 var(--f-body);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tl-detail{min-height:140px;padding:24px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}
.tl-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:14px}
.tl-detail-date{font-family:var(--f-mono);color:var(--text-strong)}
.tl-detail-cat{color:var(--muted)}
.tl-detail h2{font-size:28px;margin:0}
.tl-detail-text{color:var(--text-soft);display:flex;flex-direction:column;gap:10px}
.tl-detail-text p{margin:0}
.tl-detail-price{font-size:15px;color:var(--muted)}
.tl-detail-price strong{color:var(--text-strong)}
.tl-source{font-size:13px;color:var(--muted)}
.tl-list{display:flex;flex-direction:column;gap:28px;margin-top:40px}
.tl-list-title{font-size:32px}
.tl-year h3{font-size:24px;color:var(--accent);margin:0 0 10px}
.tl-year[hidden],.tl-item[hidden]{display:none}
.tl-year ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tl-item{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:16px 18px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
.tl-when{display:flex;align-items:baseline;gap:8px;font:500 14px var(--f-mono);color:var(--text-strong)}
.tl-when .tl-dot{transform:translateY(1px)}
.tl-item strong{font:700 18px var(--f-display);color:var(--text-strong)}
.tl-text{color:var(--text-soft);font-size:16px}
.tl-text p{margin:4px 0 0}
.tl-cat{font-size:13px;color:var(--muted)}
@media (max-width:640px){.tl-item{grid-template-columns:1fr;gap:6px}}

/* ---------- Social Media ---------- */
.socials{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.social{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-soft);transition:color .15s,border-color .15s,background .15s,transform .15s}
.social:hover,.social:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}
button.social{cursor:pointer;padding:0;font:inherit;position:relative}
button.social::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text);font:500 13px var(--f-body);padding:6px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s}
button.social:hover::after,button.social:focus-visible::after,button.social.show-tip::after{opacity:1}
@media (prefers-reduced-motion:reduce){.social{transition:none}.social:hover{transform:none}}

/* ---------- Foto-Slider (Über mich) ---------- */
.slider{position:relative}
.slider .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.slider .slide.is-active{opacity:1}
.slider .slide img{width:100%;height:100%;object-fit:cover;display:block}
/* Nicht-Hochformat (z. B. Avatar): ganz zeigen, Rand mit unscharfer Kopie füllen */
.slide.is-contain>img,.about-photo.is-contain>img{object-fit:contain;position:relative}
.slide-bg{position:absolute;inset:0;overflow:hidden}
.slider .slide .slide-bg img{object-fit:cover;filter:blur(24px) brightness(.55);transform:scale(1.2)}
.about-photo.is-contain{background:var(--surface-2)}
.slider-ui{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;background:linear-gradient(to top,rgba(13,14,17,.75),transparent)}
.slider-dots{display:flex;gap:4px}
.slider-dots button{width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.slider-dots button::before{content:"";position:absolute;inset:8px;border-radius:50%;background:rgba(255,255,255,.45)}
.slider-dots button[aria-current="true"]::before{background:var(--accent);inset:7px}
.slider-toggle{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(13,14,17,.6);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.slider-toggle:hover,.slider-toggle:focus-visible{border-color:var(--accent);color:var(--accent)}
@media (prefers-reduced-motion:reduce){.slider .slide{transition:none}}

/* ---------- Über mich ---------- */
:root{--c-leben:var(--accent)}
.tl-leben{color:var(--c-leben)}
.me-intro{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.me .entry{font-size:18px;color:var(--text-soft)}
.me-life{padding-top:48px}
.tl-plain{color:var(--text-soft)}

/* ---------- Glossar ---------- */
.glossar{display:flex;flex-direction:column;gap:28px}
.glossar-search{display:flex;flex-direction:column;gap:6px}
.glossar-search label{font-size:14px;font-weight:600;color:var(--text-soft)}
.glossar-search input{min-height:48px;padding:0 16px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:500 16px var(--f-body);color-scheme:dark}
.glossar-search input:focus{outline:2px solid var(--accent);outline-offset:1px}
.glossar-empty{color:var(--muted)}
.glossar-letters{display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:77px;z-index:5;padding:8px 0;background:var(--bg)}
.glossar-letters a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:10px;border:1px solid var(--border);font:500 14px var(--f-mono);color:var(--text)}
.glossar-letters a:hover{border-color:var(--accent);color:var(--text-strong)}
.glossar-letters a.is-off{opacity:.35;pointer-events:none}
.glossar-group{display:flex;flex-direction:column;gap:12px;scroll-margin-top:150px}
.entry .glossar-group h2{margin:0;font-size:28px;color:var(--accent)}
.glossar dl{margin:0;display:flex;flex-direction:column;gap:10px}
.glossar dl>div{padding:18px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}
.glossar dt{font:700 19px var(--f-display);color:var(--text-strong);margin-bottom:6px}
.glossar dd{margin:0;color:var(--text-soft);font-size:16px;line-height:1.6}
.glossar dd a{white-space:nowrap;font-weight:600;font-size:14px;margin-left:4px}
.glossar [hidden]{display:none!important}
@media (max-width:720px){.glossar-letters{position:static}}

/* ---------- Kleine Bildschirme ---------- */
@media (max-width:720px){
  body{font-size:16px}
  .hero{padding-top:56px;gap:48px}
  .hero h1{font-size:42px}
  .section-title,.page-wrap h1,.chapter-head h1{font-size:34px}
  .soon h1{font-size:40px}
  .hero .lead{font-size:18px}
  .section{padding-top:64px}
  .site-header{position:static}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Signal-Journal: klickbare Zeilen mit fiktivem Trade */
.ktt-bar .ktt-seg+.ktt-seg{margin-left:4px}
.ktt-jrow{cursor:pointer}
.ktt-jrow:hover td,.ktt-jrow.is-open td{background:var(--surface-2)}
.ktt-jrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ktt-chev{color:var(--muted);width:18px}
.ktt-jdetail>td{background:var(--bg-alt);text-align:left!important;padding:14px 16px!important;white-space:normal}
.ktt-jd{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:20px;align-items:start}
.ktt-jd dl{display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 14px;margin:0;font-size:13px;line-height:1.45}
.ktt-jd dt{color:var(--muted);font-weight:600;white-space:normal}
.ktt-jd dd{margin:0;color:var(--text);white-space:normal;overflow-wrap:anywhere}
.ktt-jd dt,.ktt-jd dd{padding-bottom:6px;border-bottom:1px solid var(--border)}
.ktt-dd-sub{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.ktt-jdetail p,.ktt-gate{white-space:normal}
.ktt-jchart canvas{display:block;width:100%;height:240px;border-radius:8px;border:1px solid var(--border)}
.ktt-jchart small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.ktt-jdetail p{margin:10px 0 0;font-size:13px;color:var(--text-soft)}
.ktt-more{display:block;margin:8px 0 0}
@media (max-width:760px){.ktt-jd{grid-template-columns:minmax(0,1fr)}}
.ktt-signals .ktt-setup{max-width:190px;overflow:hidden;text-overflow:ellipsis}
.ktt-signals .ktt-lv small{display:block;font-size:11.5px;line-height:1.3}
.ktt-signals th small{font-weight:500;color:var(--muted)}
.ktt-signals td,.ktt-signals th{padding-left:8px;padding-right:8px}
.ktt-signals td i{font-style:normal}
.ktt-gate{margin:10px 0 0;font-size:13px;color:var(--text-soft)}
.ktt-gate ul{margin:4px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 14px}
.ktt-gate li{color:var(--text)}
.ktt-range{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.ktt-range label{display:inline-flex;gap:5px;align-items:center;font-size:13px;color:var(--text-soft)}
.ktt-range input[type=date]{font:500 13px var(--f-body);color:var(--text);background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;padding:5px 8px;color-scheme:dark}
.ktt-switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-soft);cursor:pointer;user-select:none}
.ktt-switch input{position:absolute;opacity:0;width:1px;height:1px}
.ktt-switch-track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border-strong);transition:background .15s}
.ktt-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}
.ktt-switch input:checked+.ktt-switch-track{background:var(--accent);border-color:var(--accent)}
.ktt-switch input:checked+.ktt-switch-track::after{transform:translateX(16px);background:#0D0E11}
.ktt-switch input:focus-visible+.ktt-switch-track{outline:2px solid var(--accent);outline-offset:2px}
.ktt-tag--m15{color:var(--accent);border-color:var(--accent)}
.ktt-switches{margin:0 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-alt)}
.ktt-switches .ktt-setup-grp{padding:0;border-top:0}
.ktt-switches.is-off{opacity:.45}.ktt-switches.is-off .ktt-switch{cursor:not-allowed}
.ktt-tool--journal.is-loading{opacity:.55;pointer-events:none;transition:opacity .15s}
/* Journal: ein Regler gepostet <-> alle, darunter Setup-Regler */
.ktt-mode{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.ktt-mode-lbl{font:600 13px var(--f-body);color:var(--muted);background:none;border:0;padding:4px 2px;cursor:pointer}
.ktt-mode-lbl.is-on{color:var(--text)}
.ktt-switch--mode .ktt-switch-track,.ktt-switch--mode input:checked+.ktt-switch-track{width:44px;background:var(--surface-2);border-color:var(--border-strong)}
.ktt-switch--mode .ktt-switch-track::after,.ktt-switch--mode input:checked+.ktt-switch-track::after{background:var(--accent)}
.ktt-switch--mode input:checked+.ktt-switch-track::after{transform:translateX(24px)}
.ktt-setups{margin:0 0 16px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-alt)}
.ktt-setups-head{display:flex;gap:8px;align-items:baseline;margin:0 0 6px;font-size:13px;color:var(--text-soft)}
.ktt-setups-head b{color:var(--text)}
.ktt-setup-grp{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px 16px;align-items:start;padding:10px 0;border-top:1px solid var(--border)}
.ktt-setups-head+.ktt-setup-grp{border-top:0}
.ktt-setup-grp-t{padding-top:3px;font-size:11px;font-weight:600;line-height:1.35;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.ktt-setup-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:8px 14px}
.ktt-setup-sw{display:flex;gap:10px;min-width:0;padding:4px 10px 4px 6px;border-radius:8px;transition:background .15s}
.ktt-setup-sw:hover{background:var(--surface-2)}
.ktt-setup-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.ktt-setup-sw .ktt-n{flex:0 0 auto;margin-left:auto;min-width:26px;text-align:center}
.ktt-setup-sw.is-zero .ktt-setup-name{color:var(--text-soft)}
.ktt-setup-sw input:not(:checked)~.ktt-setup-name{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.25)}
.ktt-table tr.is-empty th,.ktt-table tr.is-empty td{color:var(--muted)}
@media (max-width:700px){.ktt-setup-grp{grid-template-columns:minmax(0,1fr);gap:6px}.ktt-setup-items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
.liq-est-opts{display:none;flex-wrap:wrap;gap:10px 22px;align-items:center;margin:0 0 12px;font-size:13px;color:var(--text-soft)}
.liq.is-est .liq-est-opts{display:flex}
.liq-thr{display:inline-flex;align-items:center;gap:10px}
.liq-thr input[type=range]{width:160px;accent-color:#fde725}
.liq-thr output{font:600 13px var(--f-mono, monospace);color:var(--text);min-width:34px}
.liq-cnd{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.liq-legend i{background:linear-gradient(90deg,#440154,#482475,#414487,#355f8d,#2a788e,#21918c,#22a884,#7ad151,#fde725)!important}
.liq-leg-est{display:none}.liq.is-est .liq-leg-est{display:inline}.liq.is-est .liq-leg-real{display:none}
.kt-vip-note{border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:10px;padding:16px 18px;background:var(--bg-alt)}
.kt-vip-note p{margin:0 0 8px}.kt-vip-note p:last-child{margin:0}
.ktt-gate-list{margin:6px 0 4px;padding-left:22px;font-size:14px}
.ktt-gate-list li{margin:2px 0}

/* ---------- Trading Agent ---------- */
.ktt-ag-exs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-bottom:12px}
.ktt-ag-ex{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}
.ktt-ag-ex h3{margin:0 0 4px;font-size:17px}
.ktt-ag-ex p{margin:0 0 6px;font-size:14px;color:var(--text-soft)}
.ktt-ag-off,.ktt-ag-wait{color:var(--muted)}
.ktt-ag-small{font-size:13px;color:var(--muted)}
.ktt-ag-steps{margin:8px 0 12px;padding-left:20px;font-size:14px;color:var(--text-soft)}
.ktt-ag-steps li{margin-bottom:4px}
.ktt-ag-steps code{font:500 13px var(--f-mono);color:var(--text-strong)}
.ktt-ag-ex .ktt-form{grid-template-columns:1fr;background:none;border:0;padding:0}
.ktt-ag-tips{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}
.ktt-ag-tip{background:var(--surface);border:1px solid var(--border);border-left-width:3px;border-radius:12px;padding:11px 14px}
.ktt-ag-tip h4{margin:4px 0;font-size:15.5px;color:var(--text-strong)}
.ktt-ag-tip p{margin:0;font-size:14px;color:var(--text-soft);line-height:1.5}
.ktt-ag-lv{font-size:12.5px;color:var(--muted)}
.ktt-ag-lv i{font-style:normal}
.ktt-ag-tip.is-bad{border-left-color:#ef5350}
.ktt-ag-tip.is-warn{border-left-color:var(--accent)}
.ktt-ag-tip.is-good{border-left-color:#26a69a}
.ktt-ag-curve{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px}
.ktt-ag-curve svg{display:block;width:100%;height:auto;touch-action:pan-y}
.ktt-ag-curve text{font:12px var(--f-body);fill:var(--muted)}
.ktt-ag-grid{stroke:var(--line);stroke-width:1}
.ktt-ag-zero{stroke:var(--border-strong);stroke-width:1}
.ktt-ag-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ktt-ag-cross{stroke:var(--border-strong);stroke-width:1}
.ktt-ag-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}
.ktt-ag-tt{position:absolute;top:12px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;padding:5px 9px;font-size:12.5px;color:var(--text-soft);pointer-events:none;white-space:nowrap}
.ktt-ag-tt b{color:var(--text-strong)}
.ktt-ag-grids{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:6px 18px;align-items:start;margin-bottom:18px}
.ktt-ag-grids h4{margin:8px 0 6px;font-size:14.5px}
.ktt-ag-tip.is-unsure{opacity:.72}
.ktt-ag-grids .ktt-table{white-space:normal}
.ktt-ag-grids .ktt-table tbody th{width:100%;overflow-wrap:break-word;hyphens:auto}
.ktt-ag-grids .ktt-table th,.ktt-ag-grids .ktt-table td{padding-left:8px;padding-right:8px}
.ktt-ag-grids .ktt-table th:first-child{padding-left:12px}
.ktt-ag-grids .ktt-table th:last-child,.ktt-ag-grids .ktt-table td:last-child{padding-right:12px}
.ktt-ag-grids .ktt-table thead th,.ktt-ag-grids .ktt-table td{white-space:nowrap}
@media (max-width:640px){
.ktt-ag-grids .ktt-table th,.ktt-ag-grids .ktt-table td{padding-left:5px;padding-right:5px}
.ktt-ag-grids .ktt-table th:first-child{padding-left:10px}
.ktt-ag-grids .ktt-table th:last-child,.ktt-ag-grids .ktt-table td:last-child{padding-right:10px}
.ktt-ag-grids .ktt-table tbody th{font-size:13.5px}
}
.ktt-ag-warn{color:var(--accent)}
.ktt-ag-spot{white-space:normal;width:100%}
.ktt-ag-spot small{display:block;font-size:12.5px;font-weight:400;color:var(--muted)}
.ktt-ag-spot small.is-up{color:#26a69a}
.ktt-ag-spot small.is-down{color:#ef5350}
.ktt-ag-spot small.ktt-ag-warn{color:var(--accent)}
.ktt-ag-spotnote{margin:10px 0 6px}
@media (max-width:640px){
.ktt-table.ktt-ag-spot thead{display:none}
.ktt-table.ktt-ag-spot,.ktt-ag-spot tbody{display:block}
.ktt-ag-spot tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:11px 12px;border-bottom:1px solid var(--line)}
.ktt-ag-spot tr:last-child{border-bottom:0}
.ktt-table.ktt-ag-spot th,.ktt-table.ktt-ag-spot td{display:block;position:static;padding:0;border:0;text-align:left;white-space:normal}
.ktt-table.ktt-ag-spot td:nth-child(4){order:-1;grid-column:2;grid-row:1;text-align:right}
.ktt-table.ktt-ag-spot td:nth-child(3){text-align:right}
.ktt-ag-spot:not(.is-orders) td:nth-child(2)::before{content:"Ø-EK ";color:var(--muted);font-size:12.5px}
}
.ktt-ag-og{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;overflow:hidden}
.ktt-ag-og summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;list-style:none}
.ktt-ag-og summary::-webkit-details-marker{display:none}
.ktt-ag-og summary:hover{background:var(--surface-2)}
.ktt-ag-og summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ktt-ag-ogc::before{content:"›";display:inline-block;float:left;width:16px;font-size:18px;line-height:1.1;color:var(--muted);transition:transform .15s}
.ktt-ag-og[open] .ktt-ag-ogc::before{transform:rotate(90deg);transform-origin:4px 50%}
.ktt-ag-og summary b{color:var(--text-strong)}
.ktt-ag-og summary small{display:block;font-size:12.5px;color:var(--muted)}
.ktt-ag-ogc small{margin-left:16px}
.ktt-ag-ogs{text-align:right}
.ktt-ag-og .ktt-scroll{border:0;border-top:1px solid var(--border);border-radius:0;margin:0}
.ktt-ag-spotbox > summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:14px 0 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;list-style:none}
.ktt-ag-spotbox > summary::-webkit-details-marker{display:none}
.ktt-ag-spotbox > summary:hover{background:var(--surface-2)}
.ktt-ag-spotbox > summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ktt-ag-spotbox > summary h3{margin:0}
.ktt-ag-spotbox > summary h3::before{content:"›";display:inline-block;width:18px;color:var(--muted);transition:transform .15s}
.ktt-ag-spotbox[open] > summary h3::before{transform:rotate(90deg);transform-origin:5px 50%}
.ktt-filterbox > summary{margin:0 0 12px}
.ktt-filterbox .ktt-ag-spotsum{font-weight:500;color:var(--text-soft);font-size:14px;white-space:normal;text-align:right}
.ktt-ag-spotsum{font-weight:600;color:var(--text-strong);white-space:nowrap}

/* Trademaster */
.ktt-tm-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;font-size:14px}
.ktt-tm-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface)}
.ktt-tm-pill.is-on{color:#26a69a;border-color:rgba(38,166,154,.45)}
.ktt-tm-pill.is-off{color:#ef5350;border-color:rgba(239,83,80,.45)}
.ktt-tm-pill.is-wait{color:var(--muted)}
.ktt-tm-kill{margin-left:auto;font:700 14px var(--f-body);color:#fff;background:#c62828;border:0;border-radius:9px;padding:8px 16px;cursor:pointer}
.ktt-tm-kill:hover{background:#e53935}
.ktt-tm-kill:disabled{opacity:.5;cursor:wait}
.ktt-tm-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin:0 0 12px}
.ktt-tm-hero>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px}
.ktt-tm-hero span{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}
.ktt-tm-hero strong{display:block;font-size:clamp(28px,5vw,38px);line-height:1.15;font-weight:800;color:var(--text)}
.ktt-tm-hero strong em{font-style:normal;font-size:.5em;font-weight:700;vertical-align:middle}
.ktt-tm-hero small{display:block;color:var(--text-soft);font-size:13px;margin-top:4px}
.ktt-tm-cfg{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;padding:12px 14px;margin:0 0 14px}
.ktt-tm-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ktt-tm-chip{display:inline-flex;flex-direction:column;padding:5px 11px;border-radius:9px;background:var(--bg-alt);border:1px solid var(--border);font-weight:700;font-size:14px;color:var(--text);line-height:1.25}
.ktt-tm-chip small,.ktt-tm-cfg p>small{font-weight:500;font-size:11.5px;color:var(--muted)}
.ktt-tm-chip.is-on{color:#26a69a;border-color:rgba(38,166,154,.45)}
.ktt-tm-chip.is-off{color:#ef5350;border-color:rgba(239,83,80,.45)}
.ktt-tm-edit{margin-left:auto;font-size:13px}
.ktt-tm-cfg p{margin:10px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ktt-tm-tag{padding:2px 9px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:13px;color:var(--text-soft)}
.ktt-tm-sw{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 12px}
.ktt-tm-sw b{color:var(--text)}
.ktt-tm-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));margin:0 0 6px}
.ktt-tool--trademaster .ktt-table small{color:var(--muted)}
@media (max-width:600px){.ktt-tm-kill{margin-left:0;width:100%}}

/* Backtester */
.ktt-bt-form{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));align-items:end}
.ktt-bt-form select{width:100%}
.ktt-bt-go .button{width:100%;padding:9px 14px;font-weight:700;cursor:pointer}
.ktt-bt-msg{margin:10px 2px;padding:10px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);font-size:14px}
.ktt-bt-bar{display:inline-block;width:80px;height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;vertical-align:middle;margin-right:6px}
.ktt-bt-bar i{display:block;height:100%;background:var(--accent);transition:width .4s}
.ktt-tool--backtest tr.is-mine>th{color:var(--accent)}
.ktt-bt-res tr[data-bt]{cursor:pointer}
.ktt-bt-res tr[data-bt]:hover{background:var(--surface-2)}
.ktt-bt-res .ktt-detail>td{white-space:normal;padding:14px}
.ktt-bt-curve{margin:4px 0 14px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.ktt-bt-curve svg{display:block;width:100%;height:170px}
.ktt-bt-curve path{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.ktt-bt-curve path.is-up{stroke:#26a69a}.ktt-bt-curve path.is-down{stroke:#ef5350}
.ktt-bt-zero{stroke:var(--border-strong);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.ktt-bt-curve figcaption{color:var(--muted);font-size:12.5px;margin-top:6px}
.ktt-bt-head{margin-bottom:12px}
.ktt-bt-when{margin:0 0 10px!important;font-size:14px;color:var(--text-soft);display:block!important}
.ktt-bt-when b{color:var(--text)}
