/* Komponenten */
.ph{padding:12px 12px 8px;border-bottom:1px solid var(--line)}
.chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.chips.pad{padding:8px}
.chip{background:#1a1d26;border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:12px;color:var(--mute)}
.chip.on{border-color:var(--gold);color:var(--gold2)}
#market{display:grid;grid-template-rows:auto 1fr}
.row{display:grid;grid-template-columns:1fr auto 52px;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid #1d212b;cursor:pointer}
.row:hover{background:#1b1f29}
.row.sel{background:#222633;box-shadow:inset 3px 0 var(--gold)}
.row.lock{opacity:.5}
.row .nm b,.px b{display:block;font-weight:500}
.px{text-align:right}.px b{font-variant-numeric:tabular-nums}
.own{text-align:right;font-size:12px}
.ctl{color:var(--gold2);font-style:normal}
.lk{color:var(--mute);font-size:11px}
em{font-style:normal}
.empty{color:var(--mute);padding:10px}

/* Detail */
.dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.dprice{text-align:right}.dprice b{font-size:26px;font-family:var(--serif)}.dprice small{display:block}
.desc{color:var(--mute);margin:8px 0 12px}
#d-chart{width:100%;height:220px;background:#0f1117;border:1px solid var(--line);border-radius:8px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0}
.stats div{background:#12151c;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.stats label,.quote label,.tr-in label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.trade{border:1px solid var(--line);border-radius:10px;padding:12px;background:#12151c}
.tr-in{margin:6px 0}
.quote{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.quote b{font-size:16px}.quote small{display:block}
.tr-btn{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.hint{color:var(--mute);font-size:12px;margin:6px 0}

/* Buttons */
.btn{background:#222633;border:1px solid #333949;border-radius:7px;padding:8px 14px;font-weight:500}
.btn:hover:not(:disabled){border-color:var(--gold)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.btn.buy{background:#1d3b2d;border-color:#2c6b4c}
.btn.sell{background:#3b1f1d;border-color:#7a3a35}
.btn.gold{background:linear-gradient(#d9b45c,#b48a35);color:#17120a;border-color:#d9b45c;font-weight:600}
.btn.ghost{background:transparent}
.btn.danger{background:#3b1f1d;border-color:var(--down)}
.btn.sm{padding:4px 9px;font-size:12px}

/* Reiter */
#tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);background:#12141a}
.tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 11px;color:var(--mute)}
.tab.on{color:var(--gold2);border-color:var(--gold)}
.tab em{background:var(--down);color:#fff;border-radius:99px;font-size:10px;padding:1px 6px;margin-left:5px}

/* Karten */
.card{background:#12151c;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px}
.sum{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:13px}
.sum span{color:var(--mute)} .sum b{font-variant-numeric:tabular-nums;text-align:right}
.sum.tot{border-top:1px solid var(--line);margin-top:4px;padding-top:6px;font-size:15px}
.banner{padding:7px 10px;border-radius:6px;margin:8px 0;font-size:12.5px}
.banner.bad{background:#3b1f1d;border:1px solid var(--down);color:#ffc9c2}
.tag{border:1px solid var(--line);border-radius:99px;padding:1px 8px;font-size:11px;color:var(--mute);white-space:nowrap}
.tag.hit{color:var(--up);border-color:var(--up)} .tag.miss{color:var(--down);border-color:var(--down)}
.r{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}

/* Portfolio */
.prow{display:grid;grid-template-columns:1fr auto auto;gap:12px;padding:8px 0;border-bottom:1px solid #1d212b;cursor:pointer}
.prow:hover{background:#1b1f29}.prow b{font-weight:500}.prow small{display:block}

/* Budget */
.bud{margin:12px 0 6px}
.bh{display:flex;justify-content:space-between}.bv{color:var(--gold2);font-variant-numeric:tabular-nums}
.track{position:relative;padding:6px 0}
.need{position:absolute;top:0;bottom:0;width:3px;background:var(--gold2);border-radius:2px;pointer-events:none;box-shadow:0 0 6px var(--gold)}
.bf{display:flex;justify-content:space-between}
input[type=range]{-webkit-appearance:none;appearance:none;height:6px;background:#262b38;border-radius:4px;padding:0;border:0}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--gold);border:2px solid #17120a;cursor:pointer}
input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--gold);border:2px solid #17120a}
.ltv{position:relative;height:8px;background:#20242e;border-radius:4px;margin:6px 0 8px}
.ltv i{display:block;height:100%;background:var(--warn);border-radius:4px}
.ltv u{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--gold2)} .ltv u.red{background:var(--down)}

/* Lampe, Entscheidungen, Synergien, Tech, Log */
.lamp{width:140px;display:block;margin:0 auto 6px;filter:drop-shadow(0 0 14px #c9a24b55)}
.lampcard{text-align:center}.lampcard .sum{text-align:left}.lampcard .btn{width:100%;margin-top:8px}
.proph,.syn,.tech{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #1d212b}
.proph small,.syn small,.tech small{display:block}
.syn.lock,.tech.lock{opacity:.55}.syn.on,.tech.done{background:#1b2420}
.dec{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:10px;margin-bottom:10px;background:#0f1117}
.dec.high{border-left-color:var(--down)}.dec.low{border-left-color:#4a5163}
.dh{display:flex;justify-content:space-between;gap:8px}.dec p{margin:6px 0}
.log{padding:0 10px 10px}.lg{display:grid;grid-template-columns:86px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid #1d212b;font-size:13px}
.lg.good span{color:var(--up)}.lg.bad span{color:var(--down)}

/* Toasts, Overlay */
#toasts{position:fixed;right:16px;bottom:50px;display:flex;flex-direction:column;gap:8px;z-index:50;max-width:380px}
.toast{background:#1b1f29;border:1px solid var(--line);border-left:3px solid var(--gold);padding:10px 14px;border-radius:8px;box-shadow:0 8px 30px #000a;animation:in .25s;transition:opacity .6s}
.toast.bad{border-left-color:var(--down)}.toast.good{border-left-color:var(--up)}.toast.out{opacity:0}
@keyframes in{from{transform:translateY(10px);opacity:0}}
#overlay{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:100;padding:16px}
#overlay[hidden]{display:none}
.modal{background:var(--panel);border:1px solid var(--gold);border-radius:12px;padding:24px;max-width:520px;width:100%;max-height:90vh;overflow:auto}
.modal h2{margin-bottom:10px;color:var(--gold2);font-size:26px}
.menu{display:grid;gap:8px;margin-top:12px}.menu .btn{text-align:center}
.help p{margin:8px 0}

/* Branchen-Gruppen, Auswahl, Zeitraum */
.grp{position:sticky;top:0;z-index:1;background:#10131a;color:var(--gold2);font-family:var(--serif);font-size:15px;padding:6px 12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
#sec-sel{margin-top:7px;background:#0e1015;color:var(--txt);border:1px solid var(--line);border-radius:6px;padding:6px 8px;width:100%;font:inherit}
.rgs{margin:0 0 8px}
#ticker{position:relative}
#tk-track{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;white-space:nowrap;will-change:transform}
#tk-track .tk{flex:none}

/* ---- 2.0: Zahlen, Rohstoffe, Unterwelt, Szenarien ---- */
.num{font-variant-numeric:tabular-nums}
.kpi b.flash{animation:fl .7s ease-out}
.kpi b.flash.up{--c:var(--up)} .kpi b.flash.down{--c:var(--down)}
@keyframes fl{0%{text-shadow:0 0 14px var(--c);color:var(--c)}100%{text-shadow:none}}
.float{position:fixed;z-index:60;pointer-events:none;font-weight:600;font-size:16px;transform:translateX(-50%);animation:fy 1.5s ease-out forwards;text-shadow:0 2px 8px #000}
.float.good{color:var(--up)}.float.bad{color:var(--down)}
@keyframes fy{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,40px)}}
.spark{width:90px;height:26px}
.good{padding:10px 0;border-bottom:1px solid #1d212b}
.gh{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.sel{width:100%;background:#0e1015;color:var(--txt);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font:inherit}
.grp-card{background:#12151c;border:1px solid var(--line);border-left:3px solid var(--down);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.op{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #1d212b}
.op small{display:block}
.bigs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.big{background:#12151c;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.big label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mute)}
.big b{font-family:var(--serif);font-size:21px;color:var(--gold2);font-variant-numeric:tabular-nums}
.big b.up{color:var(--up)}.big b.down{color:var(--down)}
#stats-nw{width:100%;height:170px;background:#0f1117;border-radius:8px;border:1px solid var(--line)}
.scns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.scn{background:#12151c;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:3px}
.scn:hover{border-color:var(--gold)} .scn.std{border-color:#8a6a2a}
.scn b{font-family:var(--serif);font-size:28px;color:var(--gold2)} .scn span{font-weight:600}
.modal{max-width:640px}

/* Notfall-Schalter */
.redcard{border-color:#5a1c18;background:linear-gradient(#18100f,#12151c)}
.glassbox{position:relative;width:100%;height:150px;margin:12px 0;border-radius:12px;background:#1a1416;border:1px solid #3a2a2a;overflow:hidden;perspective:700px}
.rb-base{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#201718 0 12px,#18100f 12px 24px)}
.rbtn{width:86px;height:86px;border-radius:50%;border:6px solid #3b0f0c;background:radial-gradient(circle at 35% 30%,#ff7a6e,#d3201a 55%,#8a0f0b);box-shadow:0 8px 0 #4a0c09,0 0 30px #ff2a1f66;color:#fff;font-weight:700}
.rbtn:active:not(:disabled){transform:translateY(6px);box-shadow:0 2px 0 #4a0c09}
.rbtn:disabled{filter:grayscale(.7);box-shadow:0 8px 0 #3a2a2a;cursor:not-allowed}
.lid{position:absolute;inset:0;background:linear-gradient(135deg,#9fd0e844,#ffffff14 40%,#7fb2cc33);border:2px solid #a8d4ea88;backdrop-filter:blur(1.5px);display:grid;place-items:end center;padding-bottom:8px;cursor:pointer;transform-origin:top;transition:transform .5s,opacity .5s}
.lid span{font-size:12px;color:#d6efff;background:#0008;padding:3px 10px;border-radius:99px}
.glassbox.open .lid{transform:rotateX(-78deg);opacity:.55;height:34px;inset:auto 0 auto 0;top:0;place-items:center}
body.boom{animation:shake .12s infinite}
@keyframes shake{25%{transform:translate(5px,-4px)}50%{transform:translate(-6px,3px)}75%{transform:translate(4px,5px)}}
.redflash{position:fixed;inset:0;background:#ff1d12;z-index:200;pointer-events:none;animation:rf 2.2s ease-out forwards}
@keyframes rf{0%{opacity:.9}100%{opacity:0}}

/* 2.1 */
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:6px}
.seg button{background:#1a1d26;border:0;padding:5px 14px;color:var(--mute)}
.seg button.on{background:var(--gold);color:#17120a;font-weight:600}
.special{border:1px dashed #5a4a22;background:#17140c;border-radius:8px;padding:7px 10px;margin:0 0 10px;color:var(--mute)}
.special.on{border-style:solid;border-color:var(--gold)} .special b{color:var(--gold2);display:block}
.shorts{margin:10px 0;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#0f1117}
.shorts summary{cursor:pointer;color:var(--gold2)}
.btn.violet{background:linear-gradient(#a56bff,#6a2bd1);border-color:#b78cff;color:#fff;font-weight:600}
.vbtn{width:86px;height:86px;border-radius:50%;border:6px solid #2a1050;background:radial-gradient(circle at 35% 30%,#d6b3ff,#8b3cff 55%,#4a14a8);box-shadow:0 8px 0 #2a1050,0 0 30px #9d5cff77;color:#fff}
.vbtn:active:not(:disabled){transform:translateY(6px);box-shadow:0 2px 0 #2a1050}
.vbtn:disabled{filter:grayscale(.8);box-shadow:0 8px 0 #2a2a3a;cursor:not-allowed}
.violetbox{display:flex;align-items:center;gap:14px;margin-top:10px}
