:root{
  --bg-ok:#04110C; --bg-bad:#24070A;
  --glow-ok:rgba(52,211,153,.20); --glow-bad:rgba(248,113,113,.38);
  --edge-ok:rgba(52,211,153,.6); --edge-bad:rgba(248,113,113,.6);
  --text:#F1F5F9; --strong:#FFFFFF; --muted:#C5CED8; --dim:#A7B2BE;
  --panel:rgba(255,255,255,.045); --line:rgba(255,255,255,.09);
  --green:#34D399; --green-t:#6EE7B7; --red:#F87171; --red-t:#FCA5A5; --amber:#FBBF24; --amber-t:#FCD34D; --blue-t:#BFDBFE; --violet:#C4B5FD;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%}
body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg-ok);transition:background-color .6s;-webkit-font-smoothing:antialiased}
body.bad{background:var(--bg-bad)}
.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1400px 560px at 50% -12%,var(--glow-ok),transparent 72%);box-shadow:inset 0 0 0 3px var(--edge-ok);transition:all .6s}
body.bad .ambient{background:radial-gradient(1400px 560px at 50% -12%,var(--glow-bad),transparent 72%);box-shadow:inset 0 0 0 3px var(--edge-bad)}
body.bad{--muted:#E6D3D5;--dim:#D4C1C3}
/* ungeprüft: grau statt grün, solange Daten fehlen */
body.unk{background:#0B0E12}
body.unk .ambient{background:radial-gradient(1400px 560px at 50% -12%,rgba(148,163,184,.16),transparent 72%);box-shadow:inset 0 0 0 3px rgba(148,163,184,.45)}
body.unk .pill{border-color:rgba(148,163,184,.5);background:rgba(148,163,184,.14);color:#CBD5E1}
body.unk .pill .dot{background:#94A3B8;box-shadow:none}
#app,#login{position:relative;z-index:1}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.hint{margin:0;font-size:12px;color:var(--dim)}
.err{color:var(--red-t);margin:0}
a{color:#93C5FD}
button{font:inherit;color:inherit;cursor:pointer}

/* header */
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top)) 32px 14px;max-width:1424px;margin:0 auto;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.top .left,.top .right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.top .right{gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;letter-spacing:-.01em}
.tabs{display:flex;gap:4px;padding:4px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px}
.tab{padding:10px 16px;border-radius:9px;border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:500}
.tab.active{background:rgba(255,255,255,.12);color:var(--strong);font-weight:600}
.pill{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid rgba(52,211,153,.5);background:rgba(52,211,153,.16);color:var(--green-t)}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
body.bad .pill{border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.18);color:var(--red-t)}
body.bad .pill .dot{background:var(--red);box-shadow:0 0 10px var(--red)}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--muted)}

main{max-width:1424px;margin:0 auto;padding:8px 32px 48px}
.view{display:flex;flex-direction:column;gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;min-width:0}
.card h2{margin:0 0 14px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card h3{margin:18px 0 8px;font-size:14px}
.cols{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}
.cols>.card{flex:1 1 380px}

/* Morgenroutine */
.hero{padding:28px;border-radius:20px;display:flex;flex-direction:column;gap:20px}
.hero .head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.hero .head h2{margin:0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;background:rgba(255,255,255,.07);color:#D5DCE3}
.chip.rot{background:rgba(248,113,113,.16);color:var(--red-t)}
.chip.gelb{background:rgba(251,191,36,.14);color:var(--amber-t)}
.chip.gruen{background:rgba(52,211,153,.14);color:var(--green-t)}
.chip.alt{background:#DC2626;color:#FFFFFF;border:2px solid #FCA5A5;font-weight:800;letter-spacing:.02em;animation:stale-blink .9s steps(1,end) infinite}
@keyframes stale-blink{0%{background:#DC2626;box-shadow:0 0 18px 4px rgba(248,113,113,.8)}50%{background:#FBBF24;color:#1A1200;box-shadow:0 0 18px 4px rgba(251,191,36,.8)}}
@media (prefers-reduced-motion:reduce){.chip.alt{animation:none}}

.journal{display:flex;flex-direction:column;gap:8px;max-width:1080px}
.journal p{margin:0;font-size:18px;line-height:1.5;color:#E2E8F0}
.journal p:first-child{font-size:22px;line-height:1.45;color:var(--strong);font-weight:500}
body.bad .journal p{color:#EBD9DA}
.scen{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.scen>div{padding:16px 18px;border-radius:14px;display:flex;flex-direction:column;gap:6px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.scen b.t{font-size:13px;letter-spacing:.08em}
.scen .long{background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.28)} .scen .long b.t{color:var(--green-t)}
.scen .short{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.3)} .scen .short b.t{color:var(--red-t)}
.scen .active{box-shadow:0 0 0 2px rgba(191,219,254,.6)}
.scen span{font-size:15px;line-height:1.45}
.meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--muted)}
.meta b{color:var(--text);font-weight:600}

/* Kacheln */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}
.tile .h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tile h3{margin:0;font-size:15px;color:#D5DCE3}
.tile .px{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.tile .px .v{font-family:var(--mono);font-size:32px;font-weight:600;color:var(--strong);letter-spacing:-.02em}
.kv{display:flex;justify-content:space-between;gap:10px;font-size:13px}
.kv span:first-child{color:var(--dim)} .kv span:last-child{text-align:right}
.up{color:var(--green-t)} .down{color:var(--red-t)} .warn{color:var(--amber-t)}
.tile.stale{opacity:.55}

/* Marken */
.lv{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:10px;font-size:14px}
.lv .mono{font-weight:600}
.lv.cur{background:rgba(147,197,253,.14);border:1px solid rgba(147,197,253,.4)} .lv.cur .mono{color:var(--blue-t)}

/* Listen */
.list{display:flex;flex-direction:column;gap:10px}
.item{display:flex;gap:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.04)}
.item .bar{flex:none;width:4px;border-radius:4px;background:#93C5FD}
.item.warn .bar{background:var(--amber)} .item.fail .bar{background:var(--red)} .item.ok .bar{background:var(--green)}
.item .b{display:flex;flex-direction:column;gap:4px;min-width:0}
.item .k{font-size:12px;font-weight:700;letter-spacing:.06em;color:#D5DCE3}
.item .t{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.item .s{font-size:12px;color:var(--dim)}
.tag{display:inline-block;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.06em;background:rgba(147,197,253,.14);color:var(--blue-t)}
.tag.rot{background:rgba(248,113,113,.16);color:var(--red-t)} .tag.gelb{background:rgba(251,191,36,.14);color:var(--amber-t)}
.empty{color:var(--dim);font-size:14px}

/* Trades */
.breaks{border-radius:20px;padding:22px 26px;background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.45);display:flex;flex-direction:column;gap:12px}
.breaks h2{margin:0;font-size:22px;letter-spacing:-.01em;color:#FEE2E2;text-transform:none}
.breaks .x{display:flex;gap:12px;align-items:flex-start}
.breaks .x b{display:block;color:#FEE2E2}
.breaks .x span{color:#E7C9CB;font-size:14px}
.allgood{border-radius:20px;padding:22px 26px;background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.4);font-size:20px;font-weight:600;color:#D1FAE5}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}
.kpi .l{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font-family:var(--mono);font-size:28px;font-weight:600;color:var(--strong)}
.kpi .v small{font-size:14px;color:var(--muted)}
.meter{height:6px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden}
.meter i{display:block;height:100%;border-radius:6px;background:var(--green)}
.meter i.w{background:var(--amber)} .meter i.f{background:var(--red)}
.kpi .n{font-size:13px;color:var(--muted)}
.tbl{overflow-x:auto}
table{width:100%;min-width:980px;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 12px}
td{padding:14px 12px;border-top:1px solid rgba(255,255,255,.08);vertical-align:middle}
td.r,th.r{text-align:right}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(52,211,153,.16);color:var(--green-t)}
.badge.fail{background:rgba(248,113,113,.2);color:var(--red-t)} .badge.warn{background:rgba(251,191,36,.16);color:var(--amber-t)}
.linkbtn{background:none;border:0;padding:0;color:#93C5FD;text-decoration:underline;font-size:13px}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}
.rule{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.3)}
.rule .i{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:rgba(52,211,153,.2);color:var(--green-t)}
.rule.warn{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.3)} .rule.warn .i{background:rgba(251,191,36,.2);color:var(--amber-t)}
.rule.fail{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.3)} .rule.fail .i{background:rgba(248,113,113,.2);color:var(--red-t)}
.rule b{display:block;font-size:14px;color:var(--strong)} .rule span{font-size:13px;color:var(--muted)}

/* Dialoge */
dialog{color:var(--text);background:#0E141B;border:1px solid var(--line);border-radius:20px;padding:24px;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 48px)}
dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
dialog.card h2{margin:0 0 10px;font-size:20px;letter-spacing:-.01em;text-transform:none;color:var(--strong)}
dialog .big{font-size:17px;margin:0 0 14px}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}
select,input,textarea{width:100%;font:inherit;font-size:16px;color:var(--text);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:12px}
textarea{resize:vertical}
.row{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}
.row.left{justify-content:flex-start}
.btn{min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);font-weight:600}
.btn.primary{background:#E8EDF2;color:#0A0F14;border-color:#E8EDF2}
.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:24px}
.login{width:min(380px,100%);display:flex;flex-direction:column;gap:6px}
.login .btn{margin-top:12px}

.bottombar{display:none}

@media (max-width:760px){
  .top{padding:calc(10px + env(safe-area-inset-top)) 16px 10px}
  .top .tabs,#clock,#conn{display:none}
  main{padding:4px 14px calc(96px + env(safe-area-inset-bottom))}
  .hero{padding:18px}
  .journal p,.journal p:first-child{font-size:15px}
  .tile .px .v{font-size:26px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .kpi{padding:14px} .kpi .v{font-size:21px} .kpi .l{font-size:11px}
  .breaks{padding:18px} .breaks h2{font-size:19px}
  .bottombar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:6;justify-content:space-around;padding:8px 24px calc(10px + env(safe-area-inset-bottom));background:rgba(6,10,14,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.08)}
  .bottombar button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:88px;min-height:44px;background:none;border:0;color:var(--dim);font-size:11px;font-weight:500}
  .bottombar button.active{color:var(--strong);font-weight:600}
  table{min-width:0} thead{display:none}
  tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px 0;border-top:1px solid rgba(255,255,255,.08)}
  td{border:0;padding:0} td.hide-m{display:none}
  td.r{text-align:right}
}

.allgood.unk{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.45);color:#E2E8F0}

/* Weltlage & KI-Analyse */
.analysis{border-color:rgba(147,197,253,.45);background:rgba(147,197,253,.07)}
.analysis .trig{margin:0 0 12px;font-size:15px;color:var(--strong);font-weight:600}
.kv2{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:6px 0;font-size:14px;border-bottom:1px solid var(--line)}
.kv2>span:first-child{color:var(--muted)}
.ideas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:12px 0}
.idea{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:14px}
.idea b.up{color:var(--green-t)} .idea b.down{color:var(--red-t)}
.idea .s{font-size:12px;color:var(--muted)}
.fazit{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--amber-t)}
.srcs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.src{font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#D5DCE3;text-decoration:none}
.src.state{background:rgba(251,191,36,.12);color:var(--amber-t)}
.tag.gruen{background:rgba(52,211,153,.14);color:var(--green-t)}
details summary{cursor:pointer;font-size:13px;color:#93C5FD;margin-top:6px}

/* Trading-Idee-Banner */
.ideabar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin:0 0 16px;padding:16px 20px;border-radius:16px;
  background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.55);animation:ib .5s ease-out}
.ideabar .ib-t{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;min-width:0;flex:1 1 420px}
.ideabar .ib-title{font-size:16px;font-weight:600;color:var(--strong)}
.ideabar .ib-b{display:flex;gap:8px}
@keyframes ib{from{transform:translateY(-8px);opacity:0}to{transform:none;opacity:1}}

/* Anteil der Ø-Tagesbewegung */
.meter{position:relative;height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:visible}
.meter>div{height:100%;border-radius:8px;transition:width .4s}
.meter.up>div{background:var(--green)} .meter.down>div{background:var(--red)}
.meter.over{box-shadow:0 0 0 2px var(--amber)}  /* mehr als die Ø-Tagesbewegung gelaufen */
#routine h2{text-transform:none;letter-spacing:0;font-size:16px;color:var(--strong)}
.tiles{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* Heute entscheidend & Chance */
.focus{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.focus>div{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:14px}
.focus .lbl{font-size:12px;font-weight:800;letter-spacing:.1em}
.focus .txt{font-size:18px;line-height:1.4;font-weight:600;color:var(--strong)}
.decisive{background:rgba(251,191,36,.12);border:2px solid rgba(251,191,36,.6)}
.decisive .lbl{color:var(--amber-t)}
.chance{background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.2)}
.chance .lbl{color:var(--dim)} .chance .txt{font-size:15px;color:var(--muted);font-weight:500}
.chance.on{background:rgba(52,211,153,.16);border:2px solid var(--green);animation:blink 1.1s ease-in-out infinite}
.chance.on .lbl{color:var(--green-t)} .chance.on .txt{color:var(--strong);font-size:18px;font-weight:700}
@keyframes blink{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.0);background:rgba(52,211,153,.16)}50%{box-shadow:0 0 22px 4px rgba(52,211,153,.55);background:rgba(52,211,153,.32)}}
@media (prefers-reduced-motion:reduce){.chance.on{animation:none}}
/* Spannen-Tacho */
.gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:stretch}
.gauge{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.gauge .gh{display:flex;justify-content:space-between;align-items:baseline}
.gauge .gh b{font-size:16px}
.gauge svg{width:100%;max-width:240px;align-self:center}
.gauge .gv{text-align:center;font-family:var(--mono);font-size:22px;font-weight:700;margin-top:-6px}
.gauge .gr{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.gauge .gr .mono{color:var(--text)}
.gnote p{margin:0}
.gnote{font-size:13px;line-height:1.6;color:var(--muted);padding:14px 16px;border-radius:14px;border:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}
@media (max-width:720px){.focus{grid-template-columns:1fr}}

/* ---------- Gamification: Schild, Lebensbalken, Stop-Puffer ---------- */
.shield{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:20px 24px;border-radius:20px;border:2px solid}
.shield.g{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.5)}
.shield.w{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.7)}
.shield.f{background:rgba(248,113,113,.14);border-color:rgba(248,113,113,.8);animation:pulse-red 1.4s ease-in-out infinite}
.sh-icon{font-size:40px;line-height:1}
.sh-main{display:flex;flex-direction:column;gap:4px;flex:1 1 360px}
.sh-main>b{font-size:22px;color:var(--strong)} .sh-main span{font-size:14px;color:var(--muted)} .sh-main span b{color:var(--text)}
.sh-badges{display:flex;gap:8px;flex-wrap:wrap}
.ach{padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.ach.gold{background:rgba(251,191,36,.16);border-color:rgba(251,191,36,.55);color:var(--amber-t)}
.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.hp-h .st{white-space:nowrap}
.hp-h .l{line-height:1.25}
.hp{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.hp::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}
.hp.w{border-color:rgba(251,191,36,.6);background:rgba(251,191,36,.07)} .hp.w::before{background:var(--amber)}
.hp.f{border-color:rgba(248,113,113,.75);background:rgba(248,113,113,.10);animation:pulse-red 1.4s ease-in-out infinite} .hp.f::before{background:var(--red)}
.hp-h{display:flex;align-items:center;gap:8px}
.hp-h .ic{font-size:18px} .hp-h .l{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex:1}
.hp-h .st{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(52,211,153,.16);color:var(--green-t)}
.hp.w .st{background:rgba(251,191,36,.2);color:var(--amber-t)} .hp.f .st{background:rgba(248,113,113,.25);color:var(--red-t)}
.hp-v b{font-family:var(--mono);font-size:28px;color:var(--strong)} .hp-v small{font-family:var(--mono);font-size:14px;color:var(--muted);margin-left:6px}
.segs{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.segs i{height:12px;border-radius:3px;background:rgba(255,255,255,.08)}
.hp.g .segs i.on{background:var(--green)} .hp.w .segs i.on{background:var(--amber)} .hp.f .segs i.on{background:var(--red)}
.hp-n{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)} .hp-n b{color:var(--text)}
.hp.trophy{border-color:rgba(251,191,36,.35)} .hp.trophy::before{background:var(--amber)}
.tro{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tro>div{display:flex;flex-direction:column;gap:2px} .tro small{font-size:11px;color:var(--muted)} .tro b{font-family:var(--mono);font-size:20px} .tro span{font-size:12px;font-family:var(--mono)}
.bufc{min-width:150px}
.buf{position:relative;height:18px;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.buf>div{height:100%} .buf.g>div{background:rgba(52,211,153,.7)} .buf.w>div{background:rgba(251,191,36,.8)} .buf.f>div{background:rgba(248,113,113,.9)}
.buf span{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:700;font-family:var(--mono);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.buf.f{animation:pulse-red 1.4s ease-in-out infinite}
.lock{font-size:13px;font-weight:700;color:var(--green-t)}
tr.row-warn td{background:rgba(251,191,36,.05)} tr.row-fail td{background:rgba(248,113,113,.08)}
@keyframes pulse-red{0%,100%{box-shadow:0 0 0 0 rgba(248,113,113,0)}50%{box-shadow:0 0 18px 2px rgba(248,113,113,.45)}}
@media (prefers-reduced-motion:reduce){.shield.f,.hp.f,.buf.f{animation:none}}
@media (max-width:720px){.kpis{grid-template-columns:1fr 1fr}.hp-v b{font-size:22px}.sh-icon{font-size:30px}}

/* P&L-Übersicht */
.pls{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.pl.trophy{border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.06)}
.pl{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.pl .l{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pl>b{font-size:30px} .pl .r{font-size:14px;color:var(--muted)}
.pl.pos{border-color:rgba(52,211,153,.5);background:rgba(52,211,153,.08)} .pl.pos>b{color:var(--green-t)}
.pl.neg{border-color:rgba(248,113,113,.55);background:rgba(248,113,113,.08)} .pl.neg>b{color:var(--red-t)}
.pl-s{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}
.dbars{display:flex;align-items:flex-end;gap:4px;height:90px;margin-top:16px;padding:0 4px;border-bottom:1px solid var(--line)}
.db{flex:1 1 0;max-width:28px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}
.db i{display:block;width:100%;border-radius:3px 3px 0 0} .db i.p{background:var(--green)} .db i.n{background:var(--red)}
.db small{font-size:9px;color:var(--dim)}

/* Intraday-Cockpit */
.itg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.itcard{padding:16px;border-radius:16px;background:rgba(255,255,255,.04);border:2px solid rgba(52,211,153,.35);display:flex;flex-direction:column;gap:6px}
.itcard.w{border-color:rgba(251,191,36,.7);background:rgba(251,191,36,.07)}
.itcard.f{border-color:rgba(248,113,113,.85);background:rgba(248,113,113,.10);animation:pulse-red 1.4s ease-in-out infinite}
.itcard .gh{display:flex;justify-content:space-between;align-items:baseline}
.itcard svg{width:100%;max-width:250px;align-self:center}
.itcard .gv{text-align:center;font-family:var(--mono);font-size:24px;font-weight:700;margin-top:-6px}
.itx{margin:0;font-size:13px;color:var(--muted);text-align:center}
.hearts{display:flex;justify-content:center;gap:14px;font-size:46px;padding:14px 0 4px}
.heart.lost{filter:grayscale(1);opacity:.5}
.slots{display:flex;justify-content:center;align-items:center;gap:8px;padding-bottom:6px}
.slot{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;border:1px solid var(--line);color:var(--muted)}
.slot.used{background:rgba(147,197,253,.18);border-color:rgba(147,197,253,.5);color:var(--blue-t)}
table.mini{min-width:0;width:100%}
table.mini th,table.mini td{padding:8px 10px;border-top:1px solid var(--line);text-align:left}
table.mini th{font-size:12px;color:var(--muted);font-weight:600;border-top:0}
table.mini .r{text-align:right}
.it-stop .sh-main>b{color:#FEE2E2}

/* Ikonen & Punkte (ohne Emojis) */
.sh-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.06)}
.shield.g .sh-icon{color:var(--green-t)} .shield.w .sh-icon{color:var(--amber-t)} .shield.f .sh-icon{color:var(--red-t)}
.heart{color:#F87171;filter:drop-shadow(0 0 8px rgba(248,113,113,.5))} .heart.lost{color:#3A4350;filter:none}
.hearts{font-size:0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#64748B}
.dot.g{background:var(--green)} .dot.f{background:var(--red)} .dot.run{background:var(--blue-t);animation:blink 1.4s infinite}
.src .cc{font-size:10px;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.12);margin-right:4px}
.itcard .hearts svg{width:52px;max-width:52px;align-self:auto}

/* Umschalter Trading / Investment */
.ptabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 12px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px}
.ptabs button{border:0;background:transparent;color:var(--muted);padding:8px 14px;border-radius:9px;font-weight:600;font-size:14px}
.ptabs button.on{background:rgba(255,255,255,.14);color:var(--strong)}
.ptabs span{font-family:var(--mono);font-size:12px;opacity:.8;margin-left:4px}
