:root{
  --paper:#F4F1E8;
  --paper-2:#EBE7DA;
  --paper-3:#E2DDCC;
  --ink:#1A1815;
  --ink-2:#4A463E;
  --ink-3:#7C766A;
  --ink-4:#A9A294;
  --rule:#C5BDA9;
  --rule-hair:#D8D1BE;
  --red:#9E2B20;
  --red-bg:#EFE0DC;
  --green:#2E5638;
  --green-bg:#E1E8DE;
  --gold:#8A6A18;
  --gold-bg:#EDE4C8;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Spectral',Georgia,serif;
  -webkit-font-smoothing:antialiased;
  padding-bottom:78px;
}
@media(max-width:640px){
  body{padding-bottom:150px;}
}
.sheet{max-width:1080px;margin:0 auto;padding:0 18px;}

/* ============ MASTHEAD ============ */
.masthead{padding:26px 0 0;text-align:center;}
.masthead .eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.42em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:9px;
}
.masthead h1{
  font-family:'Playfair Display',serif;font-weight:800;
  font-size:clamp(34px,7.5vw,58px);line-height:0.98;letter-spacing:-0.015em;
}
.rule-double{border-top:2.5px solid var(--ink);border-bottom:1px solid var(--ink);height:4px;margin:14px 0 0;}
.dateline{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--ink-2);padding:7px 0;
  border-bottom:1px solid var(--ink);flex-wrap:wrap;
}
.dateline .mid{font-style:normal;}

/* ============ KURSBAND ============ */
.band{
  border-bottom:1px solid var(--rule);padding:7px 0;overflow-x:auto;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-2);
  white-space:nowrap;-webkit-overflow-scrolling:touch;
}
.band .tick{margin-right:26px;}
.band .tick b{font-weight:600;color:var(--ink);}
.band .sep{color:var(--rule);margin-right:26px;}

/* ============ SUMMARY BAR ============ */
.summary{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:2px solid var(--ink);
}
.summary .cell{
  padding:13px 12px;text-align:center;border-right:1px solid var(--rule-hair);
}
.summary .cell:last-child{border-right:none;}
.summary .k{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;
}
.summary .v{font-family:'IBM Plex Mono',monospace;font-size:17px;font-weight:500;}
@media(max-width:560px){
  .summary{grid-template-columns:repeat(2,1fr);}
  .summary .cell:nth-child(2){border-right:none;}
  .summary .cell:nth-child(1),.summary .cell:nth-child(2){border-bottom:1px solid var(--rule-hair);}
}
.up{color:var(--green);} .down{color:var(--red);}

/* ============ SECTION NAV ============ */
.nav{
  display:flex;justify-content:center;gap:0;flex-wrap:wrap;
  border-bottom:1px solid var(--ink);margin-bottom:26px;
}
.nav button{
  background:none;border:none;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:14px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-3);padding:12px 18px;
  border-bottom:3px solid transparent;margin-bottom:-1px;
}
.nav button:hover{color:var(--ink);}
.nav button.on{color:var(--ink);border-bottom-color:var(--red);font-weight:600;}
.nav .n{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-4);margin-left:5px;letter-spacing:0;}
.view{display:none;} .view.on{display:block;}

/* ============ SECTION HEAD ============ */
.sec-head{
  display:flex;align-items:center;gap:14px;margin:0 0 20px;
}
.sec-head::before,.sec-head::after{content:"";flex:1;height:1px;background:var(--rule);}
.sec-head span{
  font-family:'Barlow Condensed',sans-serif;font-size:12px;letter-spacing:0.3em;
  text-transform:uppercase;color:var(--ink-2);
}

/* ============ ARTICLE (ENTRY) ============ */
.article{
  border-top:2px solid var(--ink);padding:18px 0 22px;
}
.article + .article{margin-top:6px;}
.art-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap;}
.kicker{
  font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:0.24em;
  text-transform:uppercase;color:var(--red);margin-bottom:5px;
}
.kicker.plain{color:var(--ink-3);}
.headline{
  font-family:'Playfair Display',serif;font-weight:700;
  font-size:clamp(23px,3.6vw,30px);line-height:1.08;letter-spacing:-0.01em;
}
.subline{
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-3);
  margin-top:6px;display:flex;gap:9px;flex-wrap:wrap;align-items:center;
}
.subline .div{color:var(--rule);}

.quotebox{text-align:right;flex-shrink:0;}
.quotebox .px{
  font-family:'Playfair Display',serif;font-size:30px;font-weight:600;line-height:1;
}
.quotebox .chg{font-family:'IBM Plex Mono',monospace;font-size:12px;margin-top:5px;}
.quotebox .src{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink-4);margin-top:4px;
}

/* stamps */
.stamps{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px;}
.stamp{
  font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:0.13em;
  text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule);
  color:var(--ink-2);background:var(--paper-2);
}
.stamp.green{border-color:var(--green);color:var(--green);background:var(--green-bg);}
.stamp.red{border-color:var(--red);color:var(--red);background:var(--red-bg);}
.stamp.gold{border-color:var(--gold);color:var(--gold);background:var(--gold-bg);}
.stamp.alarm{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:600;}

/* ledger figures */
.ledger{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  margin:16px 0 0;
}
.ledger .c{padding:9px 10px;border-right:1px dotted var(--rule);}
.ledger .c:last-child{border-right:none;}
.ledger .k{
  font-family:'Barlow Condensed',sans-serif;font-size:9.5px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:3px;
}
.ledger .v{font-family:'IBM Plex Mono',monospace;font-size:13px;}
@media(max-width:640px){
  .ledger{grid-template-columns:repeat(2,1fr);}
  .ledger .c{border-bottom:1px dotted var(--rule);}
}

/* ============ SPANNE / RANGE SCALE ============ */
.scale-block{margin:26px 0 8px;}
.scale-cap{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:60px;
}
.scale{
  position:relative;height:1.5px;background:var(--ink);margin:0 8px 56px;
}
.scale .zone{
  position:absolute;top:-5px;height:11px;background:var(--paper-3);z-index:0;
}
.scale .zone.buy{background:var(--gold-bg);}
.mk{position:absolute;top:0;transform:translateX(-50%);z-index:2;}
.mk .tick{width:1px;height:11px;background:var(--ink-3);margin:0 auto;position:relative;top:-11px;}
.mk .lab{
  position:absolute;top:-46px;left:50%;transform:translateX(-50%);
  text-align:center;white-space:nowrap;
}
.mk .lab .t{
  font-family:'Barlow Condensed',sans-serif;font-size:9.5px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--ink-3);
}
.mk .lab .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-2);}
.mk.below .tick{top:0;}
.mk.below .lab{top:16px;}
.mk.now{z-index:4;}
.mk.now .dia{
  width:11px;height:11px;background:var(--ink);transform:rotate(45deg);
  margin:0 auto;position:relative;top:-5px;
}
.mk.now .lab .t{color:var(--ink);font-weight:600;}
.mk.now .lab .n{
  font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:var(--ink);
}
.mk.goal .tick{background:var(--green);height:15px;top:-15px;}
.mk.goal .lab .n{color:var(--green);}
.mk.buyline .tick{background:var(--gold);height:15px;}
.mk.buyline .lab .n{color:var(--gold);font-weight:600;}
.mk.bear .tick{background:var(--red);}
.mk.bear .lab .n{color:var(--red);}

/* ============ BODY TEXT ============ */
.art-body{margin-top:20px;}
.cols{column-count:2;column-gap:30px;column-rule:1px solid var(--rule-hair);}
@media(max-width:700px){.cols{column-count:1;}}
.lede{
  font-size:15.5px;line-height:1.62;color:var(--ink);
  white-space:pre-wrap;
}
.lede::first-letter{
  float:left;font-family:'Playfair Display',serif;font-size:52px;line-height:0.82;
  font-weight:700;padding:4px 8px 0 0;
}
.para{font-size:14.5px;line-height:1.66;color:var(--ink-2);margin-top:11px;white-space:pre-wrap;}

.pull{
  border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
  padding:12px 0;margin:20px 0;
}
.pull .k{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--red);margin-bottom:6px;
}
.pull .t{
  font-family:'Spectral',serif;font-style:italic;font-size:16px;line-height:1.5;color:var(--ink);
  white-space:pre-wrap;
}

/* ============ HISTORIE ============ */
.hist{margin-top:22px;border-top:1px solid var(--ink);padding-top:14px;}
.hist-title{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.26em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:14px;
}
.log{border-left:1px solid var(--rule);padding-left:16px;}
.log-item{position:relative;padding-bottom:20px;}
.log-item:last-child{padding-bottom:0;}
.log-item::before{
  content:"";position:absolute;left:-20px;top:6px;width:7px;height:7px;
  background:var(--paper);border:1px solid var(--ink);transform:rotate(45deg);
}
.log-head{
  display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--ink-3);
}
.log-head .d{color:var(--ink);font-weight:500;}
.log-head .p{color:var(--gold);}
.log-head .tagline{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-3);
}
.log-head .del-entry{
  margin-left:auto;background:none;border:1px solid var(--rule);color:var(--ink-3);
  cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:11px;padding:2px 7px;
}
.log-head .del-entry:hover{border-color:var(--red);color:var(--red);}
.conv{display:flex;gap:2.5px;align-items:center;}
.conv i{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;
  border-bottom:7px solid var(--rule);display:block;}
.conv i.on{border-bottom-color:var(--ink);}
.log-txt{font-size:14px;line-height:1.62;color:var(--ink-2);white-space:pre-wrap;}
.log-delta{
  font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--ink-3);
  margin-top:6px;padding-top:5px;border-top:1px dotted var(--rule);
}
.log-delta b{color:var(--gold);font-weight:500;}

/* ============ ALARM PANEL ============ */
.alarm-strip{
  border:1px solid var(--ink);padding:12px 14px;margin-top:18px;background:var(--paper-2);
}
.alarm-strip .h{
  font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;
  display:flex;justify-content:space-between;align-items:center;
}
.alarm-row{
  display:flex;justify-content:space-between;gap:10px;padding:5px 0;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--ink-2);
  border-bottom:1px dotted var(--rule);
}
.alarm-row:last-child{border-bottom:none;}
.alarm-row .st{font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;}
.alarm-row .st.armed{color:var(--green);}
.alarm-row .st.fired{color:var(--red);font-weight:600;}

/* ============ TABLE ============ */
.tbl-wrap{overflow-x:auto;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
table{width:100%;border-collapse:collapse;min-width:860px;}
thead th{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-2);font-weight:600;text-align:left;
  padding:9px 10px;border-bottom:1px solid var(--ink);white-space:nowrap;cursor:pointer;
  user-select:none;
}
thead th:hover{color:var(--ink);}
tbody td{
  padding:9px 10px;border-bottom:1px dotted var(--rule);font-size:13px;color:var(--ink-2);
}
tbody tr:hover{background:var(--paper-2);}
td.co{font-family:'Spectral',serif;font-weight:500;color:var(--ink);font-size:13.5px;}
td.m{font-family:'IBM Plex Mono',monospace;font-size:12px;}
.grp td{
  background:var(--ink);color:var(--paper);
  font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:0.28em;
  text-transform:uppercase;padding:6px 10px;
}
.flag{
  font-family:'Barlow Condensed',sans-serif;font-size:9.5px;letter-spacing:0.1em;
  text-transform:uppercase;padding:1.5px 5px;border:1px solid var(--rule);
}
.flag.g{border-color:var(--green);color:var(--green);}
.flag.r{border-color:var(--red);color:var(--red);}
.flag.k{background:var(--ink);color:var(--paper);border-color:var(--ink);}

.footnote{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.08em;
  color:var(--ink-3);padding:12px 0 0;line-height:1.7;
}

/* ============ TOOLBAR ============ */
.toolbar{
  position:fixed;bottom:0;left:0;right:0;background:var(--paper);
  border-top:2px solid var(--ink);padding:10px 16px;
  display:flex;gap:8px;justify-content:center;flex-wrap:wrap;
}
.tb{
  font-family:'Barlow Condensed',sans-serif;font-size:12.5px;letter-spacing:0.16em;
  text-transform:uppercase;padding:9px 15px;cursor:pointer;
  background:var(--paper);border:1px solid var(--ink);color:var(--ink);
}
.tb:hover{background:var(--paper-3);}
.tb.solid{background:var(--ink);color:var(--paper);}
.tb:disabled{opacity:0.5;cursor:default;}

.fold{display:none;}
.fold.open{display:block;}

/* ============ KRITISCHE WÜRDIGUNG ============ */
.wuerdigung{
  border:1px solid var(--ink);background:var(--paper-2);
  padding:0;margin:22px 0 0;
}
.wuerdigung .wh{
  border-bottom:1px solid var(--ink);padding:9px 14px;
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.wuerdigung .wh .t{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.26em;
  text-transform:uppercase;color:var(--ink);font-weight:600;
}
.wuerdigung .wh .src{
  font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ink-3);
}
.wuerdigung .wbody{padding:13px 14px;}
.wuerdigung .wtxt{
  font-family:'Spectral',serif;font-size:14.5px;line-height:1.64;color:var(--ink-2);
  white-space:pre-wrap;
}
.wuerdigung .wtxt + .wtxt{margin-top:9px;}
.risks{margin-top:14px;border-top:1px dotted var(--rule);padding-top:11px;}
.risks .rh{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--red);margin-bottom:7px;
}
.risks ul{list-style:none;}
.risks li{
  font-size:14px;line-height:1.58;color:var(--ink-2);
  padding:5px 0 5px 22px;position:relative;
}
.risks li::before{
  content:"▲";position:absolute;left:0;top:6px;font-size:8px;color:var(--red);
}
.risks li b{
  font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--ink-3);font-weight:600;
  display:block;margin-bottom:1px;
}

/* ============ EINGABEMASKE ============ */
.overlay{
  display:none;position:fixed;inset:0;background:rgba(26,24,21,0.55);
  z-index:50;overflow-y:auto;padding:24px 14px 100px;
}
.overlay.open{display:block;}
.form-paper{
  max-width:720px;margin:0 auto;background:var(--paper);
  border:2px solid var(--ink);padding:0;
}
.form-top{
  border-bottom:2px solid var(--ink);padding:14px 18px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.form-top .ft{
  font-family:'Playfair Display',serif;font-size:22px;font-weight:700;
}
.form-top .fx{
  background:none;border:1px solid var(--ink);cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.16em;
  text-transform:uppercase;padding:5px 10px;color:var(--ink);
}
.form-inner{padding:18px;}
.fgroup{margin-bottom:18px;}
.fgroup > .fl{
  font-family:'Barlow Condensed',sans-serif;font-size:10.5px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;
  display:flex;justify-content:space-between;align-items:baseline;gap:8px;
}
.fgroup .hintline{
  font-family:'Spectral',serif;font-style:italic;font-size:12.5px;
  color:var(--ink-3);letter-spacing:0;text-transform:none;
}
.fgroup input, .fgroup textarea, .fgroup select{
  width:100%;padding:9px 11px;background:var(--paper-2);
  border:1px solid var(--rule);font-family:'Spectral',serif;font-size:14px;
  color:var(--ink);resize:vertical;
}
.fgroup input:focus, .fgroup textarea:focus, .fgroup select:focus{
  outline:none;border-color:var(--ink);background:var(--paper);
}
.fgroup input.mono{font-family:'IBM Plex Mono',monospace;font-size:13px;}
.frow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:600px){.frow{grid-template-columns:repeat(2,1fr);}}
.frow .fgroup{margin-bottom:0;}
.fsep{
  border-top:1px solid var(--ink);margin:22px 0 18px;padding-top:14px;
}
.fsep .fst{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.26em;
  text-transform:uppercase;color:var(--ink);font-weight:600;margin-bottom:3px;
}
.fsep .fsd{
  font-family:'Spectral',serif;font-style:italic;font-size:13px;color:var(--ink-3);
  margin-bottom:14px;line-height:1.5;
}
.risk-row{display:grid;grid-template-columns:150px 1fr auto;gap:8px;margin-bottom:8px;align-items:start;}
@media(max-width:560px){.risk-row{grid-template-columns:1fr;}}
.risk-row .del{
  background:none;border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;
  font-family:'IBM Plex Mono',monospace;font-size:12px;padding:8px 10px;
}
.risk-row .del:hover{border-color:var(--red);color:var(--red);}
.addrisk{
  background:none;border:1px dashed var(--rule);width:100%;padding:8px;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-3);
}
.addrisk:hover{border-color:var(--ink);color:var(--ink);}
.convpick{display:flex;gap:5px;align-items:center;}
.convpick button{
  background:var(--paper-2);border:1px solid var(--rule);cursor:pointer;
  font-family:'IBM Plex Mono',monospace;font-size:13px;width:34px;height:30px;color:var(--ink-3);
}
.convpick button.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.form-foot{
  border-top:2px solid var(--ink);padding:14px 18px;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;
}
.more{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-3);cursor:pointer;background:none;
  border:none;border-bottom:1px solid var(--rule);padding:4px 0;margin-top:16px;
}
.more:hover{color:var(--ink);border-bottom-color:var(--ink);}

/* ============ LEER-ZUSTAND ============ */
.empty-state{
  padding:40px 10px;text-align:center;color:var(--ink-3);
  font-family:'Spectral',serif;font-style:italic;font-size:15px;
}

/* ============ PREISVORSCHAU ============ */
.price-preview{
  margin-top:8px;padding:9px 11px;border:1px dashed var(--rule);
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--ink-2);
}
.price-preview.err{border-color:var(--red);color:var(--red);}
.price-preview.ok{border-color:var(--green);color:var(--green);}

/* ============ LOGIN ============ */
.login-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--paper);padding:20px;
}
.login-box{
  max-width:360px;width:100%;border:2px solid var(--ink);background:var(--paper);padding:26px 24px;
}
.login-box h1{
  font-family:'Playfair Display',serif;font-weight:800;font-size:28px;text-align:center;margin-bottom:6px;
}
.login-box .eyebrow{
  font-family:'Barlow Condensed',sans-serif;font-size:11px;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--ink-3);text-align:center;margin-bottom:18px;
}
.login-box input{
  width:100%;padding:11px 12px;background:var(--paper-2);border:1px solid var(--rule);
  font-family:'Spectral',serif;font-size:15px;color:var(--ink);margin-bottom:12px;
}
.login-box input:focus{outline:none;border-color:var(--ink);background:var(--paper);}
.login-box button{
  width:100%;padding:11px;background:var(--ink);color:var(--paper);border:none;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;
}
.login-box .err{color:var(--red);font-size:13px;margin-bottom:10px;font-family:'Barlow Condensed',sans-serif;}
