/* Crash-Rechner aktien.fabiangrupe.com
   Layout wie der Prototyp: Einstellungen, Zusammenfassung, Chart "Kein Crash",
   klebender Crash-Regler, Crash-Charts, Annahmen. Alles ohne Inline-Styles (CSP). */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/plex-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(../fonts/plex-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bg:#f2f4f7; --surface:#fcfcfb; --ink:#10151c; --ink-2:#4a5360; --ink-3:#737c89;
  --line:#d9dfe6; --grid:#e9edf1; --band:#edf0f4; --a:#2a78d6; --b:#eb6834;
  --warn:#b42318; --warn-bg:#fdecea; --ok:#0f7b4f;
  --font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#101214; --surface:#1a1a19; --ink:#ffffff; --ink-2:#c3c7cd; --ink-3:#8d939c;
    --line:#30343a; --grid:#282b30; --band:#23262a; --a:#3987e5; --b:#d95926;
    --warn:#ff8a80; --warn-bg:#3a1f1c; --ok:#5bd39a; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#101214; --surface:#1a1a19; --ink:#ffffff; --ink-2:#c3c7cd; --ink-3:#8d939c;
  --line:#30343a; --grid:#282b30; --band:#23262a; --a:#3987e5; --b:#d95926;
  --warn:#ff8a80; --warn-bg:#3a1f1c; --ok:#5bd39a; color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:8px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.45;
  font-variant-numeric:tabular-nums;padding-inline:16px;padding-block:20px 40px;overflow-x:hidden}
.wrap{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:20px}
h1{font-size:22px;font-weight:600;margin:0;text-wrap:balance}
h2{font-size:16px;font-weight:600;margin:0}
h3{font-size:15px;font-weight:600;margin:0}
p{margin:0}
a{color:var(--a)}
.sub{color:var(--ink-2);font-size:14px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px;
  display:flex;flex-direction:column;gap:16px;min-width:0}
.ctl{display:flex;flex-direction:column;gap:6px;min-width:0}
.ctl-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.ctl-head strong{font-weight:600}
.ctl-head output,.ctl-head .out{color:var(--ink-2);font-size:14px}
.key{display:inline-block;width:18px;height:3px;border-radius:2px;flex:none}
.key.a{background:var(--a)} .key.b{background:var(--b)}
.key.p{background:none;border-top:2px dashed var(--ink-3);height:0}
input[type=range]{width:100%;margin:0;height:28px}
#crashStart{accent-color:var(--ink-2)}
input:focus-visible,select:focus-visible,button:focus-visible,label.seg:focus-within{outline:2px solid var(--a);outline-offset:2px}
.ends{display:flex;justify-content:space-between;color:var(--ink-3);font-size:12px;gap:8px}
.ends span:last-child{text-align:right}
.hint{color:var(--ink-3);font-size:12px}
.segs{display:flex;flex-wrap:wrap;gap:8px}
label.seg{position:relative;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;cursor:pointer;color:var(--ink-2)}
label.seg input{position:absolute;opacity:0;pointer-events:none}
label.seg:has(input:checked){background:var(--ink);color:var(--surface);border-color:var(--ink)}
label.seg:has(input:disabled){opacity:.45;cursor:default}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
input[type=number],select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);
  border-radius:8px;padding:8px 10px;min-width:0}
input[type=number]{width:120px}
input[type=number].sm{width:84px}
input[type=number].xs{width:70px}
input[type=number]:invalid,input[type=number].bad{border-color:var(--warn)}
button{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}
button:hover{border-color:var(--ink-3)}
button.link{background:none;border:none;padding:0;color:var(--a);text-decoration:underline;cursor:pointer;font-size:13px}

/* Mischung je Split */
.mix{display:flex;flex-direction:column;gap:8px}
.mix-row{display:grid;grid-template-columns:minmax(0,1fr) 84px auto;gap:8px;align-items:center}
.mix-row .nm{display:flex;align-items:center;gap:8px;min-width:0}
.mix-row .nm span.dot{width:10px;height:10px;border-radius:3px;flex:none}
.mix-row .nm span.t{font-size:14px;line-height:1.25}
.mix-row .eur{color:var(--ink-3);font-size:12px;text-align:right;white-space:nowrap}
.mix-row button.rm{padding:4px 8px;font-size:12px;color:var(--ink-3)}
.bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--grid)}
.bar span{display:block;height:100%}
.mix-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.mix-foot .sum{margin-left:0}
.mix-foot .sum.bad{color:var(--warn);font-weight:600}
.mix-foot .sum.ok{color:var(--ok)}
.mix-foot select{padding:5px 8px;font-size:13px}

/* Zusammenfassung */
.sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.sum-grid > div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;
  display:flex;flex-direction:column;gap:4px;min-width:0}
.sum-grid .lbl{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.sum-grid .lead{font-weight:600;display:flex;align-items:center;gap:8px}
.sum-grid .vals{font-size:13px;color:var(--ink-2)}

/* Charts */
.chart{position:relative;touch-action:pan-y}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.tip{position:absolute;top:6px;pointer-events:none;background:var(--surface);border:1px solid var(--line);
  border-radius:8px;padding:8px 10px;font-size:12px;min-width:150px;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.tip .d{color:var(--ink-2);margin-bottom:4px}
.tip .r{display:flex;align-items:center;gap:6px}
.tip .r b{font-weight:600;margin-left:auto;padding-left:10px}
.stats{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:4px 10px;font-size:13px;align-items:center}
.stats .h{color:var(--ink-3);font-size:12px;text-align:right}
.stats .n{display:flex;align-items:center;gap:6px;font-weight:600}
.stats .v{text-align:right}
.note{color:var(--ink-2);font-size:13px}
details{font-size:13px}
summary{cursor:pointer;color:var(--ink-2)}
details.adv > summary,details.ann > summary{font-size:15px;font-weight:600;color:var(--ink)}
details.adv[open] > summary,details.ann[open] > summary{margin-bottom:12px}
.adv-body{display:flex;flex-direction:column;gap:16px}
table{border-collapse:collapse;width:100%;margin-top:8px}
th,td{text-align:right;padding:4px 6px;border-bottom:1px solid var(--grid)}
th:first-child,td:first-child{text-align:left}
th{color:var(--ink-3);font-weight:500}
.sticky{position:sticky;top:0;z-index:5;box-shadow:0 6px 16px rgba(0,0,0,.10);gap:6px;padding:12px 16px}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.charts{display:flex;flex-direction:column;gap:20px}
ul.ass{margin:0;padding-left:18px;color:var(--ink-2);font-size:13px;display:flex;flex-direction:column;gap:4px}
.lbl-in{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2)}
.lbl-in > span:first-child{font-size:12px;color:var(--ink-3)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.scen-row{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:6px 8px;align-items:center;font-size:13px}
.scen-row .h{font-size:12px;color:var(--ink-3);text-align:center}
.scen-row .n{font-weight:600}
.scen-row input{width:100%}

/* Annahmen je Klasse */
.klasse{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--grid)}
.klasse:first-of-type{border-top:none;padding-top:0}
.klasse .kh{display:flex;align-items:center;gap:8px;font-weight:600}
.klasse .kh span.dot{width:10px;height:10px;border-radius:3px;flex:none}
.klasse .kx{font-size:13px;color:var(--ink-2)}
.klasse .kq{font-size:12px;color:var(--ink-3)}
.klasse .row .lbl-in{flex:0 0 auto}
.klasse .row .lbl-in > .row{flex-wrap:nowrap;gap:6px}
.klasse .row .lbl-in input{width:72px}
.klasse label.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}
.warn{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:8px 10px;font-size:13px}
.disc{font-size:12px;color:var(--ink-3)}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.share input[type=text]{font:inherit;font-size:12px;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px;flex:1 1 200px;min-width:0}

/* Kopf und Fuss */
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px}
.nav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px}
.nav a{color:var(--ink-2)}
.nav a[aria-current]{color:var(--ink);font-weight:600;text-decoration:none}
footer{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-3);padding-top:8px;border-top:1px solid var(--line)}
footer .links{display:flex;flex-wrap:wrap;gap:4px 14px}
footer a{color:var(--ink-3)}

/* Artikel-Seite */
.cols{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:700px){.cols{grid-template-columns:1fr 1fr}}
.art{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--grid)}
.art:first-of-type{border-top:none;padding-top:0}
.art .t{font-weight:600}
.art .m{font-size:12px;color:var(--ink-3)}
.art .s{font-size:13px;color:var(--ink-2)}
.ind{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ind > div{border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.ind .lbl{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.ind .v{font-size:22px;font-weight:600}
.ind .e{font-size:13px;color:var(--ink-2)}
.ind .q{font-size:12px;color:var(--ink-3)}
.legal p{margin:0 0 10px}
.legal h2{margin-top:18px}
.legal h3{margin-top:14px}
