/* LUMEN Trench Lab – dark lab terminal (data-view=overdrive). Own design; fonts: JetBrains Mono, IM Fell, Cinzel, UnifrakturMaguntia (SIL OFL 1.1). */
@font-face{font-family:Fraktur;src:url(/fonts/fraktur.woff2) format("woff2");font-display:swap}
@font-face{font-family:Cinzel;src:url(/fonts/cinzel.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Fell;src:url(/fonts/fell.woff2) format("woff2");font-display:swap}
@font-face{font-family:Fell;font-style:italic;src:url(/fonts/fell-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:FellSC;src:url(/fonts/fell-sc.woff2) format("woff2");font-display:swap}
:root{
 --ink:#2a1a0b;--ink-soft:#5b4328;--parch:#e9d9b0;--parch-hi:#f3e8c9;--parch-lo:#d2bd8b;
 --wood:#2a1a0e;--wood-hi:#4a3019;--leather:#5e3a1c;--gold:#b8923e;--gold-hi:#e0c170;
 --wax-red:#8f2519;--wax-green:#3d5a28;--wax-ochre:#9a6a17;--slot:#2e2014;--slot-hi:#4b3622;
 --good:#4e6f2c;--bad:#8f2519;
 --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .25 0 0 0 0 .1 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{background:var(--wood)}
body{margin:0;min-height:100vh;color:var(--ink);font:17px/1.45 Fell,"Iowan Old Style",Georgia,serif;
 background:var(--noise),radial-gradient(ellipse at 50% 0,#4a3019 0,#24170c 60%,#160d06 100%);background-attachment:fixed}
/* Überschriften: Cinzel (römische Inschrift-Versalien, gut lesbar); Fraktur nur noch für Wappen und Initialen */
.fraktur{font-family:Cinzel,Fell,serif;font-weight:600;letter-spacing:1px}
.brand .fraktur{font-family:Fraktur,"UnifrakturMaguntia",serif;font-weight:400;letter-spacing:.5px}
.sc{font-family:FellSC,Fell,serif;letter-spacing:1.5px;text-transform:lowercase;font-size:15px;color:var(--ink-soft);margin:0}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-all}
a{color:var(--wax-red)}
button{font:inherit;cursor:pointer;color:inherit}
button:disabled{opacity:.5;cursor:default}
.error{color:var(--bad);font-style:italic;min-height:1em;margin:6px 0}
.note{font-style:italic;color:var(--ink-soft)}
.empty{font-style:italic;color:var(--ink-soft);padding:12px 4px}

/* ---- Balken oben: dunkles Holz ---- */
.beam{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px max(16px,3vw);
 color:var(--parch-hi);background:var(--noise),linear-gradient(#4a3019,#2a1a0e);border-bottom:3px solid var(--gold);
 box-shadow:0 3px 0 #0e0804,0 8px 24px #000a;position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.brand .fraktur{font-size:30px;color:var(--gold-hi);text-shadow:0 2px 0 #000}
.brand small{font-style:italic;color:#cdb98d;font-size:14px}
.crest{color:var(--gold);font-size:26px}
.beamright{display:flex;align-items:center;gap:12px;font-size:14px;color:#e2d2a8}
.banner{font-family:FellSC,serif;letter-spacing:2px;font-size:13px;padding:6px 14px 8px;background:var(--wax-red);color:#f6e7c5;
 clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);white-space:nowrap}
.banner.paper{background:var(--wax-green)}.banner.demo{background:#51606b}
.candle{width:10px;height:16px;border-radius:50% 50% 45% 45%;background:#6d5a3a;box-shadow:none;display:inline-block}
.candle.good{background:radial-gradient(circle at 50% 70%,#fff3b0,#f0a531 55%,#b4521a);box-shadow:0 0 14px 4px #f3a73a88;animation:flicker 2.6s infinite}
.candle.bad{background:#4a3a2a}
@keyframes flicker{0%,100%{transform:scaleY(1)}40%{transform:scaleY(.9) translateX(.5px)}70%{transform:scaleY(1.06)}}
@media (prefers-reduced-motion:reduce){.candle.good{animation:none}}

main{max-width:1500px;margin:auto;padding:22px max(16px,2.5vw) 60px}

/* ---- Pergament ---- */
.parchment,.charter,.sheet,.bag,.detail,.scroll-dialog,.notice{
 background:var(--noise),radial-gradient(ellipse at 30% 20%,var(--parch-hi),var(--parch) 55%,var(--parch-lo));
 box-shadow:inset 0 0 40px #8a6a3355,inset 0 0 3px #6b4f2a,0 10px 30px #000b}

/* ---- Anmeldung ---- */
.charter{max-width:980px;margin:30px auto;padding:36px clamp(18px,4vw,48px);border:10px solid transparent;
 border-image:linear-gradient(var(--leather),#3a2412) 1;outline:2px solid var(--gold);outline-offset:-18px}
.charterhead{text-align:center}
.charterhead h1{font-size:clamp(30px,5vw,50px);margin:8px 0;color:var(--wax-red);text-shadow:0 1px 0 #fff6}
.lede{font-style:italic;max-width:560px;margin:0 auto 20px}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.door{padding:20px;border:1px solid var(--ink-soft);background:#fff3d633;display:flex;flex-direction:column;gap:10px}
.door h2{font-size:28px;margin:0;color:var(--ink)}
.door p{margin:0}
input,textarea{font:16px/1.4 ui-monospace,Menlo,monospace;width:100%;padding:12px;border:1px solid var(--ink-soft);background:#fbf4de;color:var(--ink);border-radius:2px;box-shadow:inset 0 1px 4px #0003}
small{color:var(--ink-soft);font-size:14px}

/* Siegel-Knöpfe */
.seal-btn{border:none;padding:12px 18px;min-height:46px;background:linear-gradient(#a83424,var(--wax-red));color:#fbe9c8;
 font-family:FellSC,serif;letter-spacing:1.5px;font-size:16px;border-radius:3px;box-shadow:0 2px 0 #4a120b,0 4px 10px #0006;text-decoration:none;text-align:center}
.seal-btn.green{background:linear-gradient(#557a39,var(--wax-green));box-shadow:0 2px 0 #1f3013,0 4px 10px #0006}
.seal-btn.block{display:block}
.quiet{border:1px solid var(--ink-soft);background:transparent;padding:10px 14px;min-height:44px;border-radius:3px;font-family:FellSC,serif;letter-spacing:1px}
.quiet:hover,.seal-btn:hover{filter:brightness(1.1)}

/* ---- Inventar-Rahmen: 3 Spalten wie ein Gegenstandsmenü ---- */
.notice{padding:12px 18px;margin-bottom:16px;font-style:italic;border-left:6px solid var(--wax-green)}
.notice.live{border-left-color:var(--wax-red)}
.inventory{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr) minmax(260px,330px);gap:18px;align-items:start}
.sheet,.bag,.detail{border:3px solid var(--wood-hi);outline:1px solid var(--gold);outline-offset:-8px;padding:18px}
.sheet{position:sticky;top:96px}
.sheethead{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--ink-soft);padding-bottom:12px}
.sheethead h2{font-size:22px;margin:0}
.portrait{width:62px;height:62px;flex:none;border-radius:50%;border:3px solid var(--gold);background:radial-gradient(circle at 40% 35%,#6f4a26,#2b1a0c);display:grid;place-items:center}
.portrait svg{width:38px;height:38px}
.stats{margin:12px 0;display:grid;gap:2px}
.stats div{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:6px 0;border-bottom:1px dotted var(--ink-soft)}
.stats dt{font-family:FellSC,serif;letter-spacing:1px}
.stats dd{margin:0;font-size:22px;font-variant-numeric:tabular-nums}
.stats small{grid-column:1/-1;font-size:13px}
.pos{color:var(--good)}.neg{color:var(--bad)}
.seals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;text-align:center}
.seals p{grid-column:1/-1;text-align:left}
.wax{border:none;background:none;padding:0;display:grid;place-items:center}
.wax span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-family:Cinzel,serif;font-weight:600;font-size:15px;letter-spacing:.5px;color:#f7e4c0;
 background:radial-gradient(circle at 35% 30%,#ffffff33,transparent 40%),var(--c);box-shadow:inset 0 0 0 5px #0000001f,inset 0 -4px 8px #0005,0 3px 6px #0007;
 clip-path:polygon(50% 0,61% 6%,74% 3%,81% 14%,94% 18%,94% 31%,100% 42%,95% 55%,99% 68%,88% 76%,84% 89%,71% 91%,61% 100%,50% 94%,38% 100%,28% 91%,15% 89%,12% 76%,1% 68%,5% 55%,0 42%,6% 31%,6% 18%,19% 14%,26% 3%,39% 6%)}
.wax.green{--c:var(--wax-green)}.wax.ochre{--c:var(--wax-ochre)}.wax.red{--c:var(--wax-red)}
.wax.active span{outline:none;box-shadow:inset 0 0 0 5px #0000001f,0 0 0 3px var(--gold-hi),0 0 18px var(--gold-hi)}
.law{font-style:italic;font-size:14px;color:var(--ink-soft);border-top:1px solid var(--ink-soft);padding-top:10px}
.sheetfoot{display:flex;gap:10px;flex-wrap:wrap}
.membership{border:1px solid var(--gold);padding:12px;margin:12px 0;background:#fff3d644}

/* Reiter */
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:2px solid var(--wood-hi);margin:-4px -4px 14px;padding:0 4px;scrollbar-width:none}
.tab{flex:none;border:1px solid var(--wood-hi);border-bottom:none;background:linear-gradient(#5a3a1c,#3a2410);color:#e6d3a3;
 padding:10px 14px 8px;min-height:46px;border-radius:6px 6px 0 0;font-family:FellSC,serif;letter-spacing:1px;display:flex;gap:8px;align-items:center}
.tab svg{width:20px;height:20px}
.tab[aria-selected=true]{background:var(--parch-hi);color:var(--ink);position:relative;top:2px}
.tab .count{font-size:12px;background:#0003;border-radius:10px;padding:0 7px}
.tabhead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.tabhead h3{font-family:Cinzel,Fell,serif;font-weight:600;font-size:24px;letter-spacing:1px;margin:0}
.tabhead p{margin:0;font-style:italic;color:var(--ink-soft)}

/* Gegenstandsraster */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin-top:12px}
.slot{aspect-ratio:1;border:2px solid #1a1008;background:radial-gradient(circle at 50% 40%,var(--slot-hi),var(--slot) 75%);
 box-shadow:inset 0 0 14px #000c,0 1px 0 #fff4;border-radius:4px;color:#ecdcb3;padding:6px;display:grid;grid-template-rows:1fr auto auto;place-items:center;text-align:center;position:relative}
.slot svg{width:48%;height:auto;filter:drop-shadow(0 2px 2px #000)}
.slot b{font-family:FellSC,serif;font-weight:400;font-size:13px;letter-spacing:.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.slot .bar{width:88%;height:5px;background:#0008;border:1px solid #000;margin-top:4px}
.slot .bar i{display:block;height:100%;background:linear-gradient(90deg,#8f2519,#c9a23a 50%,#5d8a33)}
.slot .tag{position:absolute;top:4px;right:6px;font-size:11px;color:var(--gold-hi)}
.slot.selected{border-color:var(--gold-hi);box-shadow:inset 0 0 14px #000c,0 0 0 2px var(--gold),0 0 14px var(--gold)}
.slot.empty-slot{opacity:.45}
.slot.warn{border-color:var(--bad)}
.addform{display:grid;gap:8px;margin:12px 0}

/* Listen: Chronik, Handelsbuch, Schreibstube */
.ledger{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px}
.ledger th{font-family:FellSC,serif;font-weight:400;text-align:left;border-bottom:2px solid var(--ink);padding:6px}
.ledger td{border-bottom:1px dotted var(--ink-soft);padding:7px 6px;vertical-align:top}
.scrollx{overflow-x:auto}
.entry{padding:12px 0 12px 14px;border-left:3px solid var(--gold);margin:12px 0;cursor:pointer}
.entry:first-letter{font-family:Fraktur,serif;font-size:1.9em;color:var(--wax-red);float:left;line-height:.9;margin-right:6px}
.entry small{display:block}
.entry.selected{background:#fff3d677}
.logline{font-size:14px;padding:3px 0;border-bottom:1px dotted #0002}
.logline.ERROR{color:var(--bad)}.logline.WARN{color:var(--wax-ochre)}
.graph svg{width:100%;height:auto;max-height:420px}
.graph .edge{stroke:var(--ink-soft);stroke-width:1.2;stroke-dasharray:4 4}
.graph .edge.linked{stroke:var(--wax-red);stroke-width:2.5;stroke-dasharray:none}
.graph .node{fill:var(--slot);stroke:var(--gold);stroke-width:2}
.graph text{font:12px FellSC,serif;fill:var(--ink)}

/* Detail-Karte rechts wie ein Gegenstands-Tooltip */
.detail{position:sticky;top:96px;min-height:320px}
.detail .icon{width:110px;height:110px;margin:4px auto 10px;display:grid;place-items:center;border:2px solid #1a1008;border-radius:6px;background:radial-gradient(circle,var(--slot-hi),var(--slot));box-shadow:inset 0 0 18px #000}
.detail .icon svg{width:64px;height:64px}
/* Namen von Wallets und Tokens: Groß-/Kleinschreibung zählt bei Adressen, daher Fell statt Versalschrift */
.detail h3{font-family:Fell,Georgia,serif;font-weight:400;font-size:26px;letter-spacing:.5px;text-align:center;margin:0;overflow-wrap:anywhere;font-variant-numeric:lining-nums}
.detail .kind{text-align:center;font-style:italic;color:var(--ink-soft);margin:0 0 10px}
.detail dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0;border-top:1px solid var(--ink-soft);border-bottom:1px solid var(--ink-soft);padding:10px 0}
.detail dt{font-family:FellSC,serif;letter-spacing:.5px}
.detail dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;word-break:break-word}
.detail .lore{font-style:italic}
.detail .actions{display:flex;gap:8px;flex-wrap:wrap}

/* Zahlstube */
.scrim{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:20;padding:16px}
.scrim[hidden]{display:none}
.scroll-dialog{max-width:460px;width:100%;padding:26px;border-top:14px solid var(--leather);border-bottom:14px solid var(--leather);display:grid;gap:10px}
.scroll-dialog h2{font-size:30px;margin:0;text-align:center;color:var(--wax-red)}
footer{margin-top:26px;text-align:center;font-style:italic;color:#bfa77a;font-size:14px}

/* iPad hochkant / Telefon */
@media (max-width:1099px){.inventory{grid-template-columns:minmax(240px,290px) minmax(0,1fr)}.bag,.detail,.sheet{min-width:0}.detail{grid-column:1/-1;position:static}.sheet{position:static}}
@media (max-width:1240px) and (min-width:1100px){.inventory{grid-template-columns:250px minmax(0,1fr) 270px;gap:12px}.sheet,.bag,.detail{padding:14px}.wax span{width:62px;height:62px;font-size:18px}}
@media (max-width:760px){.inventory{grid-template-columns:minmax(0,1fr)}.sheet{position:static}.doors{grid-template-columns:1fr}
 .brand small{display:none}.beam{padding:10px 16px}.brand .fraktur{font-size:24px}#connection{display:none}.grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}}
.formrow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.formrow label,.addform>label{display:grid;gap:4px;font-family:FellSC,serif;letter-spacing:1px}
.orders{font-style:italic;font-size:19px;border-left:4px solid var(--wax-red);padding-left:12px;margin:10px 0}
.campstats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px 14px;margin:8px 0}
.campstats div{border-bottom:1px dotted var(--ink-soft);padding:4px 0}.campstats dt{font-family:FellSC,serif;font-size:14px}.campstats dd{margin:0;font-size:20px;font-variant-numeric:tabular-nums}
.spark{width:100%;height:auto;background:#fff3d655;border:1px solid var(--ink-soft);margin:8px 0}
.sparkline{fill:none;stroke-width:2.5}.sparkline.up{stroke:var(--good)}.sparkline.down{stroke:var(--bad)}.sparkbase{stroke:var(--ink-soft);stroke-dasharray:4 4}
.campaignlog{max-height:420px;overflow-y:auto;border:1px solid var(--ink-soft);padding:8px;background:#fff3d633}
.campaignlog .logtime{font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.k-KAUF b{color:var(--good)}.k-VERKAUF b{color:var(--wax-ochre)}.k-FEHLER b{color:var(--bad)}.k-AUFTRAG b,.k-ENDE b{color:var(--wax-red)}.k-UBERLEGUNG{color:var(--ink-soft);font-style:italic}
.check{display:flex!important;gap:8px;align-items:center;font-family:Fell,serif!important;letter-spacing:0!important}.check input{width:auto}
.rate{font-family:FellSC,serif;letter-spacing:1px;color:var(--gold-hi);white-space:nowrap}
@media (max-width:760px){.rate{display:none}}
select{font:15px Fell,serif;padding:10px;border:1px solid var(--ink-soft);background:#fbf4de;color:var(--ink);border-radius:2px;width:100%}
.costmenu{border:1px solid var(--gold);padding:12px;margin:6px 0;background:#fff3d644}.costmenu legend{font-family:FellSC,serif;letter-spacing:1px;padding:0 6px}
.presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.costgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.costgrid label{display:grid;gap:4px;font-family:FellSC,serif;letter-spacing:1px}
.estimate dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0 6px}.estimate dt{font-family:FellSC,serif}.estimate dd{margin:0;font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---- Sternwarte: 3D-Himmelskugel (Armillarsphäre) ---- */
.risk-low{color:#46a98f}.risk-mid{color:#b5841c}.risk-high{color:#e0587a}.risk-none{color:#8b93a8}
.orloj-legend{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-size:14px;margin:6px 0}
.orloj-key{font-weight:400}.orloj-key.gold{color:var(--gold)}.orloj-key.fallen{color:#e0587a}
.orloj-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.orloj-stats div{grid-template-columns:1fr;border:1px solid var(--parch-lo);border-radius:4px;padding:8px 10px;background:#f3e8c966}
.orloj-stats dd{font-size:26px;margin:2px 0 0}
/* ---- Kundschafter-Suche ---- */
.scoutform{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:6px 0 10px}
.scoutfield{display:grid;gap:4px}
.scoutfield select{font:inherit;padding:8px 10px;border:1px solid var(--ink-soft);border-radius:4px;background:var(--parch-hi);color:var(--ink);min-width:150px}
.scoutprogress{font-style:italic;color:var(--ink);background:#f3e8c9aa;border-left:4px solid var(--gold);padding:8px 12px;margin:8px 0}
.scoutsummary{margin:8px 0 4px}
.scoutbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.ledger td.strong{font-weight:700;color:var(--good)}
.funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px;margin:6px 0 10px}
.funnel .stage{display:grid;gap:1px;padding:8px 10px;border:1px solid var(--parch-lo);border-radius:4px;background:#f3e8c966;position:relative}
.funnel .stage b{font:600 22px Cinzel,Fell,serif}
.funnel .stage span{font-family:FellSC,serif;letter-spacing:1px}
.funnel .stage small{font-size:12px;color:var(--ink-soft)}
.funnel .stage:last-child{border-color:var(--good);background:#4e6f2c1a}
/* ---- Schmiede (Feldzug-Werte) ---- */
.forge{border:2px solid var(--wood-hi);border-radius:6px;padding:10px 14px 14px;margin:12px 0;background:#f3e8c955}
.forge legend{font:600 18px Cinzel,Fell,serif;padding:0 8px;color:var(--wax-red)}
.forgebars{display:grid;gap:8px;margin:8px 0}
.forgebar{display:grid;grid-template-columns:110px auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}
.forgebar small{grid-column:1/-1;color:var(--ink-soft);font-size:13px;margin-top:-2px}
.forgename{font:600 15px Cinzel,Fell,serif;letter-spacing:.5px}
.forgeval{font-style:italic}
.pips{display:flex;gap:5px}
.pip{width:26px;height:26px;border-radius:50%;border:2px solid var(--wood-hi);background:var(--parch-lo);padding:0;box-shadow:inset 0 2px 3px #0003}
.pip.on{background:radial-gradient(circle at 35% 35%,var(--gold-hi),var(--gold) 60%,#7a5a1e);border-color:#5e3a1c;box-shadow:0 0 0 1px #0002}
.pip:focus-visible{outline:2px solid var(--wax-red);outline-offset:2px}
.forgeout{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:10px}
.compiled pre.config{margin:4px 0;padding:10px 12px;background:#24170c;color:var(--gold-hi);border-radius:4px;font:12.5px/1.5 ui-monospace,Menlo,monospace;white-space:pre-wrap}
.forgetable tr{cursor:pointer}
.forgetable tr.current td{font-weight:700;background:#b8923e33}
@media (max-width:520px){.forgebar{grid-template-columns:1fr}.pips{margin:2px 0}}
/* ---- Turnierplatz ---- */
.tourney td small{display:block;color:var(--ink-soft);font-size:12.5px;margin-top:2px}
.tourney tr.champ td{background:#b8923e2e}
.tourney td.acts{display:flex;flex-direction:column;gap:4px;align-items:stretch;min-width:92px}
.tourney td.acts button{margin:0;padding:4px 8px;font-size:13px}
.tforge{border:2px solid var(--wood-hi);border-radius:6px;padding:10px 14px 14px;margin-top:16px;background:#f3e8c955}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:10px 0}
.tfield{display:grid;gap:3px}
.tfield input{font:inherit;padding:6px 8px;border:1px solid var(--ink-soft);border-radius:4px;background:var(--parch-hi)}
.tfield small{color:var(--ink-soft);font-size:12.5px}
.goalcalc{border:2px solid var(--gold);border-radius:6px;padding:10px 14px 14px;margin-top:16px;background:#e0c17022}
.howto{border:1px solid var(--parch-lo);border-radius:6px;padding:8px 14px;margin:6px 0 12px;background:#f3e8c966}
.howto summary{cursor:pointer;font:600 16px Cinzel,Fell,serif;color:var(--wax-red);padding:4px 0}
.howto ol{margin:8px 0 6px;padding-left:22px;display:grid;gap:6px}

/* =====================================================================================
   ANSICHT „OVERDRIVE“: dunkles Terminal (HUD) statt Pergament. Gleiche Seite, gleiche Funktionen;
   html[data-view=overdrive] schaltet Farben, Schrift und Formen um. Schrift: JetBrains Mono (SIL OFL 1.1).
   ===================================================================================== */
@font-face{font-family:JBMono;src:url(/fonts/jbmono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:JBMono;src:url(/fonts/jbmono-700.woff2) format("woff2");font-weight:700;font-display:swap}
html[data-view=overdrive]{
 /* shared vibe with LUMEN Core: near-black, ice-blue accent (replaces the earlier violet/pink lab theme) */
 --ink:#ecebe6;--ink-soft:#8e8b84;--parch:#131312;--parch-hi:#18211a2b;--parch-lo:#2a2927;
 --wood:#0b0b0a;--wood-hi:#20242a;--leather:#17202a;--gold:#9cc8e8;--gold-hi:#c3dcf0;
 --wax-red:#e2806c;--wax-green:#7fc79a;--wax-ochre:#e5b454;--slot:#0d0d0c;--slot-hi:#1c1b19;
 --good:#7fc79a;--bad:#e2806c;--noise:none;--pink:#9cc8e8;--lilac:#bcd6ea;--line:#262523;
 color-scheme:dark;background:#0b0b0a}
html[data-view=overdrive] body{font:14px/1.5 JBMono,ui-monospace,Menlo,monospace;color:var(--ink);
 background:radial-gradient(ellipse at 50% -10%,#16222e 0,#0e1116 45%,#0b0b0a 100%) fixed,#0b0b0a}
html[data-view=overdrive] body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
 background:linear-gradient(transparent 31px,#ffffff08 32px) 0 0/100% 32px,linear-gradient(90deg,transparent 31px,#ffffff06 32px) 0 0/32px 100%}
html[data-view=overdrive] main,html[data-view=overdrive] .beam{position:relative;z-index:1}
html[data-view=overdrive] .beam{position:sticky;z-index:5}
/* Schriften: alles Monospace, Überschriften in Versalien */
html[data-view=overdrive] :is(.fraktur,.brand .fraktur,.tabhead h3,.sc,.stats dt,.tab,.quiet,.seal-btn,.wax span,.ledger th,.detail dt,.detail h3,
 .forgename,.forge legend,.campstats dt,.funnel .stage b,.funnel .stage span,.orloj-stats dt,.banner,.rate,.howto summary,.check,.goalcalc h4,.tforge h4){
 font-family:JBMono,ui-monospace,monospace!important;font-style:normal}
html[data-view=overdrive] :is(.sc,.stats dt,.tab,.ledger th,.detail dt,.campstats dt,.funnel .stage span,.orloj-stats dt,.forgebar small,.howto summary){
 text-transform:uppercase;letter-spacing:1.5px;font-size:11px;color:var(--ink-soft)}
html[data-view=overdrive] :is(.note,.lede,.tabhead p,.detail .lore,.detail .kind,.orders,.scoutprogress,.law,.notice,.forgeval,.entry,.empty){font-style:normal}
html[data-view=overdrive] .entry:first-letter{font-family:inherit;font-size:1em;float:none;color:inherit;margin:0}
/* Kopfleiste */
html[data-view=overdrive] .beam{background:#0b0b0ae6;backdrop-filter:blur(6px);border-bottom:1px solid var(--line);box-shadow:none;padding:12px max(16px,3vw)}
html[data-view=overdrive] .brand .fraktur{font-weight:700;font-size:24px;color:var(--gold);text-shadow:none;letter-spacing:2px}
html[data-view=overdrive] .brand small{font-style:normal;color:var(--pink);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}
html[data-view=overdrive] .crest{color:var(--pink);font-size:18px}
html[data-view=overdrive] .beamright{color:var(--ink-soft);font-size:12px}
html[data-view=overdrive] .banner{clip-path:none;border:1px solid currentColor;background:transparent!important;padding:4px 10px;font-size:11px;letter-spacing:2px}
html[data-view=overdrive] .banner.paper{color:var(--wax-green)}html[data-view=overdrive] .banner.demo{color:var(--lilac)}html[data-view=overdrive] .banner.live{color:var(--wax-red)}
html[data-view=overdrive] .candle{width:8px;height:8px;border-radius:50%;animation:none}
html[data-view=overdrive] .candle.good{background:var(--pink);box-shadow:0 0 10px 2px #9cc8e8aa}
/* Panels statt Pergament */
html[data-view=overdrive] :is(.parchment,.charter,.sheet,.bag,.detail,.scroll-dialog,.notice){
 background:linear-gradient(#1d1529f2,#160f20f2);box-shadow:0 0 0 1px var(--line),0 20px 40px #0008;border:none;outline:none;border-radius:4px}
html[data-view=overdrive] :is(.sheet,.bag,.detail){padding:16px}
html[data-view=overdrive] .notice{border-left:2px solid var(--wax-green);font-size:12px;color:var(--ink-soft)}
html[data-view=overdrive] .charter{border-image:none}
html[data-view=overdrive] .charterhead h1{color:var(--ink);text-shadow:none;font-weight:700;letter-spacing:2px}
html[data-view=overdrive] .door{background:#ffffff05;border:1px solid var(--line);border-radius:4px}
/* Felder und Knöpfe */
html[data-view=overdrive] :is(input,textarea,select,.scoutfield select,.tfield input){background:#0f0a16;color:var(--ink);border:1px solid var(--line);box-shadow:none;border-radius:3px;font-family:JBMono,monospace}
html[data-view=overdrive] :is(input,textarea,select):focus{outline:1px solid var(--pink);border-color:var(--pink)}
html[data-view=overdrive] .seal-btn{background:#9cc8e81f;border:1px solid var(--pink);color:#ffd7ec;box-shadow:none;letter-spacing:2px;font-size:12px;text-transform:uppercase;border-radius:3px}
html[data-view=overdrive] .seal-btn.green{background:#7fc79a1a;border-color:var(--wax-green);color:#c9f5dd}
html[data-view=overdrive] .quiet{border:1px solid var(--line);color:var(--ink);font-size:12px;text-transform:uppercase;letter-spacing:1px}
html[data-view=overdrive] .quiet:hover{border-color:var(--lilac)}
html[data-view=overdrive] a{color:var(--lilac)}
/* Werte-Blatt: große Ziffern wie im HUD */
html[data-view=overdrive] .sheethead{border-bottom:1px solid var(--line)}
html[data-view=overdrive] .portrait{border:1px solid var(--pink);background:#9cc8e81a;border-radius:4px}
html[data-view=overdrive] .stats div{border-bottom:1px solid var(--line);grid-template-columns:1fr;padding:8px 0}
html[data-view=overdrive] .stats dd{font-size:30px;font-weight:700;line-height:1.1;letter-spacing:-.5px}
html[data-view=overdrive] .sheet .stats div:first-child dd{color:var(--gold)}
html[data-view=overdrive] .seals p{color:var(--ink-soft)}
html[data-view=overdrive] .wax span{width:auto;height:auto;min-width:64px;padding:10px 8px;clip-path:none;border-radius:3px;background:transparent;border:1px solid var(--c);color:var(--c);box-shadow:none;font-size:12px;letter-spacing:2px}
html[data-view=overdrive] .wax.active span{background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent)}
html[data-view=overdrive] .law{font-size:11px}
/* Reiter */
html[data-view=overdrive] .tabs{border-bottom:1px solid var(--line)}
html[data-view=overdrive] .tab{background:transparent;border:1px solid transparent;border-bottom:none;color:var(--ink-soft);border-radius:3px 3px 0 0}
html[data-view=overdrive] .tab[aria-selected=true]{background:#9cc8e81c;border-color:var(--line);color:#ffd7ec;top:0;box-shadow:inset 0 2px 0 var(--pink)}
html[data-view=overdrive] .tab .count{background:#ffffff12}
html[data-view=overdrive] .tabhead h3{font-size:18px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
/* Raster, Tabellen, Detail */
html[data-view=overdrive] .slot{background:#0d0d0c;border:1px solid var(--line);box-shadow:none;color:var(--ink)}
html[data-view=overdrive] .slot.selected{border-color:var(--pink);box-shadow:0 0 12px #9cc8e866}
html[data-view=overdrive] .slot svg{filter:none;color:var(--lilac)}
html[data-view=overdrive] .ledger th{border-bottom:1px solid var(--line)}
html[data-view=overdrive] .ledger td{border-bottom:1px solid #ffffff0d}
html[data-view=overdrive] .detail .icon{background:#0d0d0c;border:1px solid var(--line);box-shadow:none}
html[data-view=overdrive] .detail h3{font-size:20px;letter-spacing:1px}
html[data-view=overdrive] .detail dl{border-color:var(--line)}
html[data-view=overdrive] :is(.campaignlog,.spark,.costmenu,.forge,.tforge,.goalcalc,.howto,.funnel .stage,.orloj-stats div,.membership,.scoutprogress){
 background:#ffffff05;border:1px solid var(--line);border-radius:4px}
html[data-view=overdrive] .funnel .stage:last-child{border-color:var(--wax-green);background:#7fc79a12}
html[data-view=overdrive] .compiled pre.config{background:#0b0710;color:var(--lilac);border:1px solid var(--line)}
html[data-view=overdrive] .pip{border:1px solid var(--line);background:#0f0a16;border-radius:2px;width:22px;height:14px;box-shadow:none}
html[data-view=overdrive] .pip.on{background:linear-gradient(90deg,var(--pink),var(--lilac));border-color:transparent;box-shadow:0 0 8px #9cc8e888}
html[data-view=overdrive] .forge legend,html[data-view=overdrive] .howto summary{color:var(--pink)}
html[data-view=overdrive] :is(.tourney tr.champ td,.forgetable tr.current td,.entry.selected){background:#9cc8e814}
html[data-view=overdrive] .graph .node{fill:#0d0d0c;stroke:var(--pink)}
html[data-view=overdrive] .scrim{background:#0b0b0acc}
html[data-view=overdrive] .k-KAUF b{color:var(--good)}
/* HUD-Leiste mit großen Ziffern (nur in Overdrive) */
.hud{display:none}
html[data-view=overdrive] .hud{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:0;margin:0 0 16px;border:1px solid var(--line);border-radius:4px;background:#160f20e6}
html[data-view=overdrive] .hud>div{padding:12px 16px;border-right:1px solid var(--line)}
html[data-view=overdrive] .hud>div:last-child{border-right:none}
html[data-view=overdrive] .hud span{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft)}
html[data-view=overdrive] .hud b{display:block;font-size:34px;font-weight:700;letter-spacing:-.5px;line-height:1.15;color:var(--ink)}
html[data-view=overdrive] .hud b.gold{color:var(--gold)}
html[data-view=overdrive] .hud small{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--pink)}
/* Ansicht-Schalter */
.viewswitch{border:1px solid #cdb98d66;background:transparent;color:#e2d2a8;padding:5px 10px;border-radius:3px;font:13px FellSC,Fell,serif;letter-spacing:1px;white-space:nowrap}
html[data-view=overdrive] .viewswitch{border-color:var(--pink);color:#ffd7ec;font:11px JBMono,monospace;letter-spacing:1.5px;text-transform:uppercase}
@media (max-width:760px){html[data-view=overdrive] .hud b{font-size:24px}}
@media (max-width:760px){.beam{flex-wrap:wrap;row-gap:6px}.beamright{gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.viewswitch{padding:4px 8px}}
html[data-view=overdrive] :is(.slot b,.graph text,.orloj-key,.scoutfield span,.tfield span){font-family:JBMono,monospace!important}
html[data-view=overdrive] #connection{white-space:nowrap}
@media (max-width:1000px){html[data-view=overdrive] #connection{display:none}}
/* ---- Radar (Übersicht steigender Solana-Coins) ---- */
.radarbar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:6px 0 8px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--ink-soft);background:transparent;padding:8px 12px;border-radius:20px;font-size:14px;min-height:40px}
.chip.on{background:var(--ink);color:var(--parch-hi);border-color:var(--ink)}
html[data-view=overdrive] .chip{border-color:var(--line);font-size:12px}
html[data-view=overdrive] .chip.on{background:#9cc8e82a;color:#ffd7ec;border-color:var(--pink)}
.radargrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:10px}
.coin{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:6px;padding:10px 12px;border:1px solid var(--parch-lo);border-radius:6px;background:#fff8e455}
.coin:hover,.coin.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.coin:focus-visible{outline:2px solid var(--wax-red);outline-offset:2px}
html[data-view=overdrive] .coin{background:#ffffff06;border-color:var(--line)}
html[data-view=overdrive] .coin:hover,html[data-view=overdrive] .coin.selected{border-color:var(--pink);box-shadow:0 0 14px #9cc8e840}
.cointop{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}
.coinimg{border-radius:50%;object-fit:cover;background:#0002;display:block}
.coinfallback{border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--wax-red));color:#fff;font-weight:700}
.coinnames{min-width:0}.coinnames b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coinnames small{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coinbig{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.coinspark{width:100%;height:42px;display:block}
.coinspark .line{fill:none;stroke-width:1.8}.coinspark .line.up{stroke:var(--good)}.coinspark .line.down{stroke:var(--bad)}
.coinspark .area.up{fill:color-mix(in srgb,var(--good) 18%,transparent)}.coinspark .area.down{fill:color-mix(in srgb,var(--bad) 16%,transparent)}
.coinspark text{font-size:10px;fill:var(--ink-soft)}
.coinchg{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;font-variant-numeric:tabular-nums}
.coinchg span{padding:1px 6px;border-radius:10px;background:#0000000d}.coinchg span.cur{outline:1px solid currentColor}
html[data-view=overdrive] .coinchg span{background:#ffffff08}
.coinmeta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}
.coinflow{height:4px;border-radius:2px;background:var(--bad);overflow:hidden}.coinflow i{display:block;height:100%;background:var(--good)}
.coinfoot{font-size:11.5px}
.detail .icon img,.detail .icon .coinfallback{border-radius:50%}
/* ---- Cockpit (Algo-Lauf live) ---- */
.livetiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border:1px solid var(--line,#262523);border-radius:4px;margin:8px 0 12px;background:#ffffff05}
.livetiles>div{padding:10px 14px;border-right:1px solid var(--line,#262523)}.livetiles>div:last-child{border-right:none}
.livetiles span{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft)}
.livetiles b{display:block;font-size:26px;font-weight:700;line-height:1.2}
.livetiles small{font-size:11px;color:var(--ink-soft)}
.liverow{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:1180px){.liverow{grid-template-columns:1fr}}
.livechart{width:100%;height:auto;display:block;border:1px solid var(--line,#262523);border-radius:4px;background:#0b0710}
.livechart .line{fill:none;stroke-width:2}.livechart .line.up{stroke:var(--good)}.livechart .line.down{stroke:var(--bad)}
.livechart .area.up{fill:color-mix(in srgb,var(--good) 14%,transparent)}.livechart .area.down{fill:color-mix(in srgb,var(--bad) 14%,transparent)}
.livechart .base{stroke:var(--ink-soft);stroke-dasharray:4 4}.livechart .floor{stroke:var(--gold);stroke-dasharray:2 3}
.livechart .lbl,.livechart text{font:10px JBMono,monospace;fill:var(--ink-soft)}
.livechart .dot.up{fill:var(--good)}.livechart .dot.down{fill:var(--bad)}
.livepos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.poscard{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:4px;padding:8px 10px;border:1px solid var(--line,#262523);border-radius:4px;background:#ffffff06}
.poscard.selected,.poscard:hover{border-color:var(--pink,#9cc8e8)}
.postop{display:flex;justify-content:space-between;align-items:baseline}.postop span{font-weight:700}
.rules{display:flex;flex-wrap:wrap;gap:6px}.rules span{border:1px solid var(--line,#262523);border-radius:12px;padding:2px 9px;font-size:12px}
.stream{max-height:430px;overflow-y:auto;border:1px solid var(--line,#262523);border-radius:4px;padding:6px 10px;background:#0b0710;font-size:12px}
.stream .ev{padding:3px 0;border-bottom:1px solid #ffffff0a}.stream .t{color:var(--ink-soft);margin-right:6px}.stream b{margin-right:4px}
.ev.k-KAUF b{color:var(--good)}.ev.k-VERKAUF b{color:var(--gold)}.ev.k-STRATEGIE b{color:var(--pink,#9cc8e8)}.ev.k-FEHLER b{color:var(--bad)}.ev.k-NOTIZ b{color:var(--ink-soft)}
.algoform{border:1px solid var(--line,#262523);border-radius:4px;padding:12px 14px;margin-top:14px;background:#ffffff05}
.algogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.algogrid select{width:100%}
.optbox{font-size:13px;border-left:2px solid var(--gold);padding:6px 10px;background:#9cc8e80d}
/* ---- Aufbau: großer Arbeitsbereich links, Details + Konto rechts (wie Axiom) ---- */
.inventory{grid-template-columns:minmax(0,1fr) minmax(270px,330px);grid-template-areas:"bag side"}
.bag{grid-area:bag;min-width:0}.side{grid-area:side;display:grid;gap:18px;align-content:start;min-width:0}
.side .sheet{position:static}.side .detail{position:static;min-height:0}
@media (max-width:1099px){.inventory{grid-template-columns:minmax(0,1fr);grid-template-areas:"bag" "side"}.side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.side .detail{grid-column:auto}}
@media (max-width:760px){.side{grid-template-columns:minmax(0,1fr)}}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px}.subtabs[hidden]{display:none}
.subtabs .chip{min-height:34px;padding:5px 12px}
.bagbody{container-type:inline-size}
.small{font-size:11px!important;padding:5px 9px!important;min-height:0!important}
/* ---- Toast ---- */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;max-width:min(92vw,560px);padding:12px 16px;border-radius:4px;
 background:#1d1529;border:1px solid var(--wax-green);color:var(--ink);box-shadow:0 10px 30px #000a;font-size:13px}
.toast.bad{border-color:var(--wax-red)}
/* ---- Pulse-Board ---- */
.pbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:#ffffff05;margin:4px 0 8px}
.prun{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.prun .note{margin:0}
.livedot{color:var(--pink);text-shadow:0 0 8px var(--pink)}
.stakes{align-items:center}.stakes .sc{margin-right:4px}.stakes .chip{min-height:32px;padding:4px 10px}
.pcolchips{display:none;margin:6px 0}
.pboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}
.pcol{border:1px solid var(--line);border-radius:4px;background:#0b0710;min-width:0}
.pcol header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#140d1c;z-index:1}
.pcol header b{font-size:12px;letter-spacing:2px;text-transform:uppercase}.pcol header small{font-size:10.5px;color:var(--ink-soft)}
.plist{display:grid;gap:6px;padding:6px;max-height:calc(100vh - 260px);min-height:200px;overflow-y:auto}
@container (max-width:760px){.pboard{grid-template-columns:minmax(0,1fr)}.pcol:not(.on){display:none}.pcolchips{display:flex}.plist{max-height:none}}
.pcard{display:grid;gap:5px;padding:8px 9px;border:1px solid #ffffff10;border-radius:4px;background:#ffffff05;cursor:pointer}
.pcard:hover,.pcard.selected{border-color:var(--pink);box-shadow:0 0 12px #9cc8e830}
.pcard:focus-visible{outline:2px solid var(--pink)}
.pcard.signal{border-left:3px solid var(--pink);background:linear-gradient(90deg,#9cc8e818,#ffffff05 60%)}
.ptop{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:8px;align-items:center}
.pname{min-width:0}.pname b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pname small{display:block;font-size:10.5px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page{font-size:11px;color:var(--lilac)}
.qbuy{border:1px solid var(--wax-green);background:#7fc79a14;color:#c9f5dd;border-radius:3px;padding:6px 9px;font:700 11px JBMono,monospace;min-height:32px;cursor:pointer;white-space:nowrap}
.qbuy.hot{background:#7fc79a33;box-shadow:0 0 10px #7fc79a40}
.qbuy:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
.pmetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;font-size:11.5px;font-variant-numeric:tabular-nums}
.pmetrics span{display:flex;gap:5px;min-width:0;white-space:nowrap}.pmetrics i{font-style:normal;color:var(--ink-soft)}
.pfoot{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.pfoot .coinspark{width:120px;height:26px;flex:none}
.ptag{font-size:10.5px;padding:1px 7px;border-radius:10px;border:1px solid var(--line);color:var(--ink-soft);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptag.ok{border-color:var(--pink);color:#ffd7ec}
.ptag.risk-low{color:var(--good)}.ptag.risk-mid{color:var(--gold)}.ptag.risk-high{color:var(--bad)}
.posacts{display:flex;gap:6px;justify-content:flex-end}
.poscard{cursor:pointer}
/* ---- Feld (Overdrive-Instrumente) ---- */
.fx{display:grid;gap:10px;--p:#140d1c;--pl:#2b2140}
.fxpanel{background:var(--p);border:1px solid var(--pl);border-radius:3px;padding:10px 12px;min-width:0}
.fxpanel h5{margin:0 0 8px;font:400 10px JBMono,monospace;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft)}
.fxhint{display:block;font-size:10px;color:var(--ink-soft);margin-top:6px}
.fxtop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--pl);padding-bottom:10px}
.fxtop>div{padding:4px 14px;border-right:1px solid var(--pl)}.fxtop>div:last-child{border-right:none}
.fxtop span{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-soft)}
.fxtop b{display:block;font-size:clamp(24px,5cqi,40px);font-weight:700;line-height:1.15;letter-spacing:1px}.fxtop b.gold{color:var(--gold)}
.fxtop small{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft)}
.pipegrid{display:grid;grid-template-columns:52px repeat(6,minmax(0,1fr));gap:6px;align-items:center}
.pipegrid i{font-style:normal;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft)}
.pipegrid>span{display:block;padding:4px 6px;border-radius:2px;background:#ffffff08;font-size:10.5px;min-width:0;overflow:hidden}
.pipegrid>span b{display:block;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pipegrid>span small{color:var(--ink-soft);white-space:nowrap}
.pipegrid>span.on{background:#8a5cc244;box-shadow:inset 0 0 0 1px #b58cff88}
.pipegrid .meter{height:8px;padding:0;background:#ffffff0a}.pipegrid .meter em{display:block;height:100%;background:#b58cff66}.pipegrid .meter.on em{background:#9cc8e8}
.fxstage{display:grid;grid-template-columns:86px minmax(0,1fr) 250px;gap:10px;align-items:start}
.fxseq{display:grid;gap:0;border-left:1px solid var(--pl);padding-left:8px;align-self:stretch;align-content:space-between;min-height:320px}
.fxseq .mark{position:relative;padding:6px 6px 14px;font-size:10.5px}
.fxseq .mark::before{content:"";position:absolute;left:-12px;top:10px;width:7px;height:7px;border-radius:50%;background:#4a3d63}
.fxseq .mark.has::before{background:var(--lilac)}.fxseq .mark.on{background:#9cc8e81c;border-left:2px solid var(--pink)}.fxseq .mark.on::before{background:#fff;box-shadow:0 0 8px #fff}
.fxseq .mark b{display:block;font-size:11px}.fxseq .mark small{color:var(--ink-soft);word-break:break-word}
.fxcanvas{position:relative;border:1px solid var(--pl);border-radius:3px;overflow:hidden;background:#0b0711}
canvas.field{display:block;width:100%;touch-action:none;cursor:grab}
.fxcap{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:min(92%,420px);background:#140d1ccc;border:1px solid var(--pl);padding:6px 10px;font-size:11px;pointer-events:none}
.fxcap b{display:block;color:var(--pink);letter-spacing:1.5px;font-size:11px}
.fxside{display:grid;gap:10px}
.fxwave{width:100%;height:auto;display:block}.fxwave path{fill:none;stroke:#e9ddff;stroke-width:1.5}.fxwave path.idle{stroke:#8a7aa8;stroke-dasharray:3 3}
.fxwave circle{fill:#fff}.fxwave text{font:9px JBMono,monospace;fill:var(--ink-soft)}.fxwave text.hot{fill:var(--pink)}
.channels{display:grid;gap:6px}.channels>div{display:grid;grid-template-columns:52px minmax(0,1fr) 48px;gap:6px;align-items:center;font-size:10.5px}
.channels>div>span{height:5px;background:#ffffff10;border-radius:3px;overflow:hidden}.channels em{display:block;height:100%;background:#f3ecff;border-radius:3px}
.channels em.neg,.channels em.pink{background:var(--pink)}.channels em.gold{background:var(--gold)}.channels small{text-align:right;color:var(--ink-soft)}
.fxstate{display:block;font-size:20px;letter-spacing:2px;color:var(--gold)}
.trace{display:grid;gap:4px;max-height:220px;overflow-y:auto;font-size:10.5px}
.trace>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:6px}.trace b{color:var(--pink);font-weight:400}.trace span{color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fxenv .fxwave{height:64px}
.fxfoot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fxlinks,.fxspec{width:100%;height:auto;display:block}
.fxlinks line{stroke:#b9a6e6;stroke-opacity:.35;stroke-width:.8}.fxlinks line.lk{stroke:var(--pink);stroke-opacity:.8}
.fxlinks circle{fill:#f3ecff}.fxlinks circle.hot{fill:var(--pink)}
.fxspec rect.a{fill:#b58cff}.fxspec rect.b{fill:#9cc8e8}.fxspec rect.neg{fill:#5a4a78}
@container (max-width:900px){.fxstage{grid-template-columns:minmax(0,1fr)}.fxseq{display:flex;overflow-x:auto;min-height:0;border-left:none;border-top:1px solid var(--pl);padding:6px 0 0;order:2}.fxseq .mark{min-width:84px}.fxseq .mark::before{left:6px;top:-10px}
 .fxside{order:3;grid-template-columns:repeat(2,minmax(0,1fr))}.fxcanvas{order:1}}
@container (max-width:560px){.fxside,.fxfoot{grid-template-columns:minmax(0,1fr)}.pipegrid{grid-template-columns:40px repeat(3,minmax(0,1fr))}.pipegrid i:nth-of-type(2){grid-column:1}.fxtop>div{padding:4px 8px}}
/* ---- Launch-Scan ---- */
.lbadge{font-size:10.5px;padding:2px 7px;border-radius:10px;border:1px solid var(--line);white-space:nowrap}
.lbadge.rug{color:var(--bad);border-color:var(--bad)}.lbadge.rakete{color:var(--good);border-color:var(--good)}
.lcoin.rug{border-color:#ff6b8a55}.lcoin.rakete{border-color:#6fdc9f66}
.note.good{border-left:2px solid var(--good);padding-left:8px}
.inventory.full{grid-template-columns:minmax(0,1fr);grid-template-areas:"bag" "side"}
.inventory.full .side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
@media (max-width:760px){.inventory.full .side{grid-template-columns:minmax(0,1fr)}}
@container (max-width:560px){.fxcap{position:static;transform:none;width:auto;border-width:1px 0 0}}
.coinspark.rough .line{stroke-dasharray:4 3;stroke-width:1.4}.coinspark.rough .area{opacity:.5}
.coinspark circle{vector-effect:non-scaling-stroke}.coinspark .line{vector-effect:non-scaling-stroke}.coinspark .pt.up{fill:var(--good)}.coinspark .pt.down{fill:var(--bad)}
.coinspark.rough text{font-size:8px;opacity:.7}

.modelbox{border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:4px;padding:10px 12px;margin:10px 0;background:#9cc8e80a}
.modelbox.ok{border-left-color:var(--good);background:#6fdc9f0d}
.modelbox p{margin:4px 0}
.modelbox details.fold>summary{cursor:pointer;list-style:none;display:block}
.modelbox details.fold>summary::-webkit-details-marker{display:none}
.modelbox .foldrow{display:flex;gap:8px;align-items:baseline;justify-content:space-between}
.modelbox .foldrow h4{margin:0}
.modelbox .foldmark::after{content:'▾ info';flex:none;white-space:nowrap;font-size:.75em;color:var(--gold);letter-spacing:.05em}
.modelbox details.fold[open] .foldmark::after{content:'▴ less'}

/* ---- Beta 1+: brand, Lab Run, team notes ---- */
.logo{width:30px;height:30px;flex:none;image-rendering:pixelated;align-self:center}
.logo.big{width:72px;height:72px;display:block;margin:0 auto 6px}
.brand{align-items:center}
html[data-view=overdrive] .brand .fraktur{font-size:20px;letter-spacing:3px}
html[data-view=overdrive] .brand small.beta{color:var(--wax-green);border:1px solid #7fc79a66;border-radius:10px;padding:1px 8px;font-size:10px}
.notebtn{background:#9cc8e814;border:1px solid var(--line);border-radius:3px;padding:4px 10px;font:12px JBMono,monospace;color:var(--ink);letter-spacing:1px;display:inline-flex;gap:6px;align-items:center;min-height:30px}
.notebtn:hover{border-color:var(--pink)}
#notecount{min-width:18px;height:18px;line-height:18px;border-radius:9px;background:var(--pink);color:#131312;font-size:10.5px;font-weight:700;text-align:center;padding:0 5px}
#notecount[hidden]{display:none}
.labhero{display:flex;gap:16px;align-items:center;flex-wrap:wrap;padding:16px;border:1px solid var(--line);border-radius:4px;background:#ffffff05;margin:6px 0 10px}
.labhero.on{border-color:#7fc79a88;background:#7fc79a0d}
.labbtn{font:700 15px JBMono,monospace;letter-spacing:3px;text-transform:uppercase;padding:14px 26px;border-radius:4px;border:1px solid var(--wax-green);background:#7fc79a26;color:#c9f5dd;min-width:210px;min-height:52px}
.labbtn:hover:not(:disabled){background:#7fc79a3d}
.labbtn.stop{border-color:var(--bad);background:#ff6b8a1f;color:#ffd0da}
.labtxt{display:grid;gap:3px;min-width:0;flex:1 1 240px}.labtxt b{font-size:16px;letter-spacing:1px}.labhero.on .labtxt b{color:var(--good)}
.labtxt span{color:var(--ink-soft);font-size:12px}
.readyrow{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.ready{font-size:11px;padding:3px 9px;border-radius:10px;border:1px solid var(--line);color:var(--ink-soft);cursor:help}
.ready.ok{border-color:#7fc79a66;color:#c9f5dd}
.labopts{margin:10px 0}
.gates{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-bottom:12px}
.gate{border:1px solid var(--line);border-radius:4px;padding:10px;display:grid;gap:6px;background:#ffffff04;min-width:0}
.gate.ok{border-color:#7fc79a88}.gate.locked{opacity:.65}
.gatetop{display:flex;justify-content:space-between;gap:8px;font-size:12px}.gatetop b{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gatebar{height:5px;border-radius:3px;background:#ffffff10;overflow:hidden}.gatebar i{display:block;height:100%;background:var(--lilac);transition:width .4s}
.gate.ok .gatebar i{background:var(--good)}
.gate small{color:var(--ink-soft);font-size:11px;line-height:1.4}
.noteform{display:grid;gap:8px;margin:6px 0 12px}
.noteform textarea{width:100%;resize:vertical;min-height:70px;padding:8px}
.noteform .formrow{display:flex;flex-wrap:wrap;gap:8px}.noteform .formrow>label{flex:1 1 150px}
.noteform .seal-btn{justify-self:start}
.notes{display:grid;gap:8px}
.notecard{border:1px solid var(--line);border-left:3px solid var(--lilac);border-radius:4px;padding:10px 12px;background:#ffffff04;display:grid;gap:6px;min-width:0}
.notecard p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.notecard.k-bug{border-left-color:var(--bad)}.notecard.k-idea{border-left-color:var(--gold)}.notecard.k-praise{border-left-color:var(--good)}.notecard.k-hint{border-left-color:var(--lilac)}
.notecard.done{opacity:.55}
.notecard small{color:var(--ink-soft);font-size:11px}
.notetop{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:12px}.notetop span{color:var(--ink-soft)}
.quiet.small{padding:3px 8px;font-size:11px}
@media (max-width:560px){.labbtn{width:100%}.brand .fraktur{font-size:16px!important;letter-spacing:2px!important}.notebtn{padding:4px 8px}}
/* all nine main tabs fit on a laptop/iPad-landscape row; below that the row scrolls sideways */
html[data-view=overdrive] .tab{padding:9px 10px;gap:6px;letter-spacing:1px}
html[data-view=overdrive] .tab svg{width:15px;height:15px}
@media (max-width:1400px){html[data-view=overdrive] .tab svg{display:none}}
.tabs{scroll-snap-type:x proximity;mask-image:linear-gradient(90deg,#000 92%,transparent)}
@media (min-width:1100px){.tabs{mask-image:none}}
/* ---- readiness banner and data vault ---- */
.readyban{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;padding:10px 12px;margin:0 0 10px;display:grid;gap:6px;background:#9cc8e80a}
.readyban.proving{border-left-color:var(--lilac)}.readyban.ready{border-left-color:var(--good);background:#6fdc9f10}
.readytop{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;font-size:13px}.readytop span{color:var(--ink-soft);font-size:12px}
.readyban.ready .gatebar i{background:var(--good)}
.readysteps{display:flex;flex-wrap:wrap;gap:6px}
.readyban .note{margin:0}
.minibars{display:inline-flex;align-items:flex-end;gap:2px;height:20px}
.minibars i{display:block;width:6px;background:var(--lilac);border-radius:1px;opacity:.85}
.ptag.fav{color:var(--gold);border-color:#9cc8e888}
.detail .actions .quiet.on{border-color:var(--gold);color:var(--gold)}
/* ---- News ---- */
.newsbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}.newsbar .chips{margin:0}
.newsq{flex:1 1 180px;min-width:0;padding:6px 10px}
.newsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-bottom:10px}
.newscard{border:1px solid var(--line);border-top:2px solid var(--lilac);border-radius:4px;padding:10px 12px;background:#ffffff04;display:grid;gap:6px;align-content:start;min-width:0}
.newscard.c-crypto{border-top-color:var(--gold)}.newscard.c-solana{border-top-color:var(--good)}.newscard.c-research{border-top-color:var(--pink)}
.newstop{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--ink-soft);letter-spacing:.5px}
.newssrc{text-transform:uppercase;letter-spacing:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.newstitle{color:var(--ink)!important;font-weight:700;font-size:13.5px;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.newstitle:hover{color:var(--lilac)!important;text-decoration:underline}
.newssum{margin:0;font-size:12px;color:var(--ink-soft);line-height:1.45;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.newsacts{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}.newsacts small{color:var(--ink-soft);font-size:11px}
.quiet.small.on{border-color:var(--gold);color:var(--gold)}
@media (max-width:1400px){html[data-view=overdrive] .tab{padding:9px 7px;letter-spacing:.6px;font-size:10.5px}html[data-view=overdrive] .tab .count{padding:0 5px}}
@media (max-width:1200px){html[data-view=overdrive] .tab{padding:9px 5px;letter-spacing:.3px}}
.brief{border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:4px;padding:14px 16px;margin:10px 0;background:#ffffff04;max-width:860px}
.brief h3{margin:4px 0 6px;font-size:18px;line-height:1.3}.brief h4{margin:12px 0 4px;color:var(--lilac)}.brief p{line-height:1.6;margin:6px 0}
.brief ul{padding-left:18px}.brief li{margin:6px 0}.brief li a{color:var(--ink)}
/* ---- Pro navigation: dialogs, palette, skeletons, focus ---- */
:focus-visible{outline:2px solid var(--lilac);outline-offset:2px}
button:focus:not(:focus-visible){outline:none}
body.modal-open{overflow:hidden}
.mscrim{position:fixed;inset:0;z-index:50;background:#07040cb3;backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;animation:fadein .12s ease-out}
.mbox{width:min(560px,100%);background:#131312;border:1px solid var(--line);border-radius:8px;box-shadow:0 24px 60px #000c;padding:18px;display:grid;gap:12px;max-height:76vh;overflow:auto;animation:popin .14s ease-out}
.mtext{margin:0;font-size:14px;line-height:1.5}
.mactions{display:flex;justify-content:flex-end;gap:8px}
.mbox.palette{padding:10px;gap:6px;width:min(640px,100%)}
.mbox.palette input{width:100%;font-size:16px;padding:12px 14px;border-radius:6px}
.plist{display:grid;gap:2px;max-height:52vh;overflow:auto}
.pitem{display:flex;gap:10px;align-items:center;text-align:left;padding:9px 10px;border-radius:5px;border:0;background:transparent;color:var(--ink);font:13px JBMono,monospace;width:100%}
.pitem.on{background:#9cc8e81f;box-shadow:inset 2px 0 0 var(--pink)}
.pkind{flex:none;width:58px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-soft)}
.plabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phint{color:var(--ink-soft);font-size:11px;padding:2px 6px}
kbd{font:10px JBMono,monospace;border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:0 4px;color:var(--ink-soft)}
.cmdbtn kbd{margin-left:2px}
@media (max-width:760px){.cmdbtn kbd,.cmdbtn .cmdtxt{display:none}}
.skeleton{display:grid;gap:10px;padding:8px 0}
.skeleton i{display:block;height:14px;border-radius:4px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff16 37%,#ffffff08 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes popin{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mscrim,.mbox,.skeleton i{animation:none}}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 10px}.toolbar .check{margin:0 6px 0 0}
.catstage{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:40}.catstage[hidden]{display:none}
.limitbars{display:grid;gap:8px;margin:8px 0}.limitrow{display:grid;grid-template-columns:minmax(110px,160px) 1fr auto;gap:10px;align-items:center}
.limitbar{height:8px;border-radius:4px;background:var(--line,#262523);overflow:hidden}.limitbar i{display:block;height:100%;background:var(--wax-green)}
.limitbar i.warn{background:var(--wax-ochre)}.limitbar i.full{background:var(--wax-red)}
@media (max-width:600px){.limitrow{grid-template-columns:1fr auto}.limitrow .limitbar{grid-column:1/-1;order:3}}
.doors{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.legal{text-align:center;margin:14px 0 0;font-size:13px}.linkbtn{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:3px;color:inherit;opacity:.8}.linkbtn:hover,.linkbtn:focus-visible{opacity:1}
footer .legal{display:block;margin-top:6px}
.todaygrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:12px}
.todaycard{border:1px solid var(--line,#262523);border-radius:6px;padding:12px 14px;background:#ffffff05;display:flex;flex-direction:column;gap:8px}
.todaycard h4{margin:0}.coinlist{display:grid;gap:2px}
.coinrow{display:grid;grid-template-columns:minmax(60px,1fr) auto;gap:2px 10px;align-items:center;padding:6px 0;border-bottom:1px dotted var(--line,#262523)}
.coinrow small{grid-column:1/-1;opacity:.75}.coinrow .coinacts{grid-column:1/-1}
.coinrow .pos{color:var(--good)}.coinrow .neg{color:var(--bad)}.coinrow .warn{color:var(--wax-ochre)}
.coinacts{display:inline-flex;gap:6px;flex-wrap:wrap}.newsmini p{margin:4px 0;font-size:14px}.newsmini a{color:inherit}
.checkform{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.checkform input{flex:1 1 260px;min-width:0}
.verdict{display:grid;gap:6px;padding:12px 14px;border-radius:6px;border:1px solid var(--line,#262523);margin:8px 0}
.verdict.good{border-color:var(--wax-green)}.verdict.bad{border-color:var(--wax-red)}.verdict.warn{border-color:var(--wax-ochre)}
.verdict b{font-size:18px}.danger{border-color:var(--wax-red)!important;color:var(--wax-red)}
.legalbox{max-height:80vh;overflow-y:auto}.legalbox h4{margin:14px 0 4px}
[hidden]{display:none!important}
.reasons{margin:4px 0 0;padding-left:18px}.reasons li{margin:2px 0}
.codebox{white-space:pre-wrap;word-break:break-all;font:13px/1.5 JBMono,ui-monospace,monospace;background:#0006;border:1px solid var(--line,#262523);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto}
.pager{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.clustergrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0}
.clustercard{border:1px solid var(--line,#262523);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;background:#ffffff05}
.clustercard h4{margin:0}.clustercard svg.ring{width:100%;max-width:180px;align-self:center;height:auto}
.clustercard .edge.linked{stroke:var(--wax-red)}.clustercard .node{fill:#0d0d0c;stroke:var(--pink,#9cc8e8);stroke-width:2}
.poscard2{border:1px solid var(--line,#262523);border-radius:6px;padding:10px 12px;margin:10px 0;cursor:pointer;background:#ffffff05}
.poscard2.warn{border-color:var(--wax-ochre)}.postop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.postop b{font-size:18px}
.postop .pos{color:var(--good)}.postop .neg{color:var(--bad)}

.finderform{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:8px 0 12px}
.finderform label{display:grid;gap:4px;font-size:13px}.finderform label>span{letter-spacing:1px;text-transform:uppercase;font-size:11px;opacity:.8}
.finderform small{opacity:.7}.finderform input[type=checkbox]{width:22px;height:22px}
.finderbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}

.btcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0 14px}
.btcard{border:1px solid var(--ink-soft,#5a4a6a);border-radius:6px;padding:12px 14px;display:grid;gap:6px;align-content:start}
.btcard>b{font-size:22px}.btcard>p{margin:0;font-size:13px;opacity:.85;line-height:1.45}
.btcard.good>b{color:var(--good,#5fd39a)}.btcard.warn>b{color:var(--gold-hi,#e8c46a)}.btcard.bad>b{color:var(--bad,#ff6f91)}

.gatechecks{margin:6px 0 0;padding-left:0;list-style:none;font-size:12.5px;line-height:1.5;opacity:.9}.gatechecks li.pos{opacity:1}

/* ---- The still: pixel distillation in the operator card, the four figures placed around it ---- */
.still{position:relative;display:grid;grid-template-columns:1fr 192px 1fr;grid-template-rows:auto auto;gap:6px 8px;margin:12px 0 10px;align-items:center;
 padding:10px 6px 6px;border-radius:10px;background:radial-gradient(ellipse 60% 38% at 50% 40%,#ff9a4a18 0,#9cc8e80f 45%,transparent 75%),linear-gradient(#1a1226,#140d1c)}
.still[data-state=halted],.still[data-state=paused]{background:linear-gradient(#1a1226,#140d1c)}
.still canvas{grid-column:2;grid-row:1/3;width:192px;height:288px;image-rendering:pixelated;image-rendering:crisp-edges;justify-self:center}
.still .stats{display:contents;margin:0}
.still .stats div{display:grid;grid-template-columns:1fr;gap:0;padding:8px 10px;border:1px solid var(--line,#262523);border-radius:8px;background:#0d0d0ccc;border-bottom:1px solid var(--line,#262523)}
.still .stats dd{font-size:19px}.still .stats dt{font-size:11px;opacity:.85}.still .stats small{font-size:11.5px;line-height:1.35}
.still .st-pos{grid-column:1;grid-row:1;align-self:start;margin-top:12px}
.still .st-pnl{grid-column:3;grid-row:1;align-self:start;margin-top:34px}
.still .st-cash{grid-column:1;grid-row:2;align-self:end;margin-bottom:34px}
.still .st-wal{grid-column:3;grid-row:2;align-self:end;margin-bottom:10px}
.still .st-pos::after,.still .st-cash::after{content:"";position:absolute}
.still[data-state=halted] canvas{filter:saturate(.55) brightness(.85)}
@container (max-width:430px){.still{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.still canvas{grid-column:1/-1;grid-row:1;width:192px;height:288px}
 .still .st-pos,.still .st-pnl,.still .st-cash,.still .st-wal{grid-row:auto;grid-column:auto;margin:0;align-self:stretch}}
.sheet{container-type:inline-size}

.still .stats div{text-align:center;justify-items:center}

.still .st-trend dd{width:100%}
.trend{width:100%;height:46px;display:block}
.trendline{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.trendline.up{stroke:#7fc79a}.trendline.down{stroke:#ff6b8a}
.trendarea{stroke:none}.trendarea.up{fill:#7fc79a22}.trendarea.down{fill:#ff6b8a22}
.trendbase{stroke:#8e8b84;stroke-width:.8;stroke-dasharray:3 3}.trenddot.up{fill:#7fc79a}.trenddot.down{fill:#ff6b8a}
.trendempty{fill:#8e8b84;font:10px JBMono,ui-monospace,monospace}

.diagov{position:fixed;inset:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}
.diagbox{background:var(--bg,#0b0b0a);border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:6px;padding:14px;width:min(900px,100%);max-height:90vh;display:flex;flex-direction:column;gap:8px}
.diagbox pre{overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;margin:0;flex:1;-webkit-user-select:text;user-select:text}
.diagrow{display:flex;gap:8px}
.budgetbox{border:1px solid var(--line);border-left:2px solid var(--good);border-radius:4px;padding:10px 12px;margin:10px 0}
.budgetbox.warn{border-left-color:var(--gold)}
.budgetbox.down{border-left-color:#ff5c8a;background:#ff5c8a12}
.budgetrow{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:6px 0;border-top:1px solid var(--line)}
.budgetrow small{grid-column:1/-1}
.budgetrow .bstat{font-size:.8em;white-space:nowrap}
.budgetrow.ok .bstat{color:var(--good)}.budgetrow.warn .bstat{color:var(--gold)}.budgetrow.down .bstat{color:#ff5c8a}.budgetrow.off .bstat{opacity:.6}
.budgetbar{grid-column:1/-1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}
.budgetbar i{display:block;height:100%;background:var(--good)}
.budgetrow.warn .budgetbar i{background:var(--gold)}.budgetrow.down .budgetbar i{background:#ff5c8a}
.guardrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0}
/* ---- Landing: Actor Radar pitch, waitlist, sign-in dropdown (cozy lab: violet night, gold and pink glow) ---- */
.hero{position:relative;margin:6px 0 22px;padding:22px clamp(16px,3vw,28px);border:1px solid var(--line);border-radius:6px;
 background:radial-gradient(ellipse at 15% 0,#9cc8e81f,transparent 55%),radial-gradient(ellipse at 90% 100%,#9cc8e817,transparent 60%),#ffffff04;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -20px -30px auto;width:180px;height:180px;border-radius:50%;
 background:radial-gradient(circle,#bcd6ea22,transparent 70%);pointer-events:none;animation:herobub 9s ease-in-out infinite}
@keyframes herobub{50%{transform:translate(-18px,-14px) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.hero::after{animation:none}}
.herokick{color:var(--pink,#9cc8e8)!important;text-transform:uppercase;letter-spacing:2px;font-size:11px}
.herotitle{font-size:clamp(24px,4.2vw,38px);line-height:1.15;margin:6px 0 10px;color:var(--gold);letter-spacing:1px}
.herosub{max-width:66ch;margin:0 0 14px;color:var(--ink)}
.heropoints{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.heropoints li{border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:4px;padding:10px 12px;background:#0f0a1699;display:flex;flex-direction:column;gap:4px}
.heropoints b{color:var(--gold)}.heropoints span{font-size:12.5px;color:var(--ink-soft)}
.herostats{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}.herostats:empty{display:none}
.herostats div{flex:1 1 140px;border:1px solid var(--line);border-radius:4px;padding:8px 12px;background:#0f0a16cc}
.herostats b{display:block;font-size:22px;color:var(--good)}.herostats small{color:var(--ink-soft);font-size:11px}
.waitform{display:flex;flex-direction:column;gap:6px;max-width:560px}
.waitrow{display:flex;gap:8px;flex-wrap:wrap}.waitrow input{flex:1 1 220px;min-height:42px}
.waitform small{color:var(--ink-soft);font-size:11px}.waitform .note{margin:2px 0 0;min-height:1em;color:var(--good)}
.herolinks{margin:12px 0 0}
.signin{border:1px solid var(--line);border-radius:6px;background:#ffffff04;margin:0 0 8px}
.signin>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;padding:12px 16px}
.signin>summary::-webkit-details-marker{display:none}
.signin>summary::after{content:'▾';margin-left:auto;color:var(--gold)}.signin[open]>summary::after{content:'▴'}
.signin>summary small{color:var(--ink-soft);font-size:11px}
.signin .doors{padding:0 16px 16px}
/* ---- Menu: every section on one card ---- */
.tabs .menubtn{border:1px solid var(--gold)!important;color:var(--gold)!important}.tabs .menubtn.on{background:#9cc8e81a}
.megamenu{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:8px 0;padding:14px;border:1px solid var(--gold);border-radius:6px;
 background:radial-gradient(ellipse at 0 0,#9cc8e812,transparent 60%),#120c1af5;box-shadow:0 14px 32px #000a;animation:megain .14s ease-out}
@keyframes megain{from{opacity:0;transform:translateY(-4px)}}
.megahead svg.pix{width:24px;height:24px;flex:none;image-rendering:pixelated}
.megahead{border-bottom:1px solid var(--line);padding-bottom:6px}
.megahead{display:flex;align-items:center;gap:6px;color:var(--gold)!important;margin:0 0 6px!important;text-transform:uppercase;font-size:11px}
.megacol{display:flex;flex-direction:column;gap:3px}
.megaitem{display:flex;justify-content:space-between;align-items:center;text-align:left;border:1px solid transparent;background:none;border-radius:3px;padding:7px 9px;min-height:36px;color:var(--ink)}
.megaitem:hover,.megaitem:focus-visible{border-color:var(--line);background:#ffffff08}
.megaitem.on{border-color:var(--gold);color:var(--gold)}
.megaitem .count{font-size:11px;color:var(--pink,#9cc8e8)}
/* ---- Coin check: who is behind it ---- */
.actorcard{border:1px solid var(--line);border-left:2px solid var(--lilac,#bcd6ea);border-radius:4px;padding:10px 12px;margin:10px 0;background:#bcd6ea0a}
.actorcard.bad{border-left-color:var(--bad);background:#ff6b8a12}
.actorcard h4{margin:0 0 6px}.actorverdict{margin:0 0 8px}.actorverdict.bad{color:var(--bad);font-weight:700}
.heroloss{margin:0 0 12px;padding:8px 12px;border-left:2px solid var(--pink,#9cc8e8);background:#9cc8e80f;color:var(--ink);font-size:13px}
.tryform{display:flex;flex-direction:column;gap:6px;max-width:560px;margin:0 0 16px}
.tryform .actorcard{margin:6px 0 0}
.slimh1{font-size:clamp(20px,3vw,26px)!important;margin:4px 0 10px!important}
.herohow{margin:4px 0 0}.herohow>summary{cursor:pointer;color:var(--gold);font-size:12px;letter-spacing:1px;text-transform:uppercase;margin:0 0 8px}
.waitform{margin:0 0 14px}
.heroq{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}
.heroq li{padding:6px 10px 6px 30px;position:relative;border:1px dashed var(--line);border-radius:4px;color:var(--ink);font-size:13px}
.heroq li::before{content:'?';position:absolute;left:10px;top:5px;color:var(--pink,#9cc8e8);font-weight:700}
.herotag{margin:-4px 0 12px;font-size:13px;color:var(--pink,#9cc8e8);letter-spacing:2px;text-transform:lowercase}
.herostats.big b{font-size:clamp(24px,4vw,34px);color:var(--gold)}
.heroprops{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.heroprops li{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-top:2px solid var(--gold);background:#0f0a1699;border-radius:0 0 4px 4px}
.heroprops b{color:var(--ink);font-size:15px}.heroprops span{font-size:12.5px;color:var(--ink-soft)}
.heroq2{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.heroq2 span{font-size:12px;color:var(--pink,#9cc8e8);border:1px dashed #9cc8e866;border-radius:12px;padding:3px 10px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.charterhead .logo.big{width:56px;height:56px}
.reflink{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.reflink code{font-size:12px;color:var(--gold)}
.sharepage{max-width:760px}.sharepage .seal-btn{display:inline-block;text-decoration:none;padding:10px 16px}
/* edge map (backtest): the search for an edge, validated on data it never saw */
.edgemap{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:12px 14px;margin:0 0 14px;background:rgba(231,194,107,.05)}
.edgemap.good{border-left-color:var(--good)}
.edgemap h3{margin:0 0 6px;font-size:.9rem;color:var(--gold)}
.edgemap h4{margin:10px 0 4px;font-size:.8rem;color:var(--lilac)}
.edgemap .edgeverdict{font-weight:700;margin:4px 0 8px}
.edgemap details{margin:8px 0}
.edgemap summary{cursor:pointer;color:var(--ink-soft)}
.edgemap table{width:100%;overflow-x:auto;display:block}
/* live positions on the Lab page */
.livepos2{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0}
.livepos2 h4{margin:0 0 8px}
.lpcard{border-top:1px solid var(--line);padding:8px 0}
.lpcard:first-of-type{border-top:0}
.lptop{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.lptop .lpprice{font-family:var(--mono,monospace);color:var(--gold)}
.lpcard small{display:block;color:var(--ink-soft);margin:2px 0}
.lpcard a{font-size:.8rem}

/* state machine: transition heat and thin rows */
.tmatrix td,.tmatrix th{text-align:center;font-variant-numeric:tabular-nums}
.tmatrix td.warm{background:rgba(231,194,107,.18)}
.tmatrix td.hot{background:rgba(227,123,180,.32);font-weight:700}
.states tr.dim td{opacity:.55}
.states tr.pos td,.matrix tr.pos td{color:var(--good)}

/* ---- wallet list (3.1.3): summary, filters, one card per wallet ---- */
.wsum{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:6px 0 10px}
.wstat{border:1px solid var(--line,#262523);border-radius:10px;padding:10px 12px;background:var(--parch-hi)}
.wstat b{display:block;font-size:22px;line-height:1.1;color:var(--ink)}
.wstat span{font-size:12px;color:var(--ink-soft)}
.wstat.good b{color:var(--good)}.wstat.bad b{color:var(--bad)}.wstat.busy b{color:var(--wax-ochre)}
.wfilter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px}
.wfilter .sc{margin:0 4px 0 10px}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.wcard{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;
 border:1px solid var(--line,#262523);background:var(--parch-hi);color:var(--ink);font:inherit;min-height:118px}
.wcard:hover,.wcard:focus-visible{border-color:var(--lilac,#bcd6ea)}
.wcard.selected{border-color:var(--pink,#9cc8e8);box-shadow:0 0 0 1px var(--pink,#9cc8e8)}
.wtop{display:flex;align-items:center;gap:8px;min-width:0}
.wtop b{font-size:14px;letter-spacing:.3px}
.wdot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--good)}
.wcard.importing .wdot{background:var(--wax-ochre)}.wcard.error .wdot{background:var(--bad)}
.wstate{font-size:12px;color:var(--ink-soft)}
.wbadge{margin-left:auto;font-size:11px;padding:2px 7px;border-radius:999px;border:1px solid var(--line,#262523);color:var(--lilac,#bcd6ea);white-space:nowrap}
.wmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.wmetrics div{display:flex;flex-direction:column;min-width:0}
.wmetrics b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wmetrics span{font-size:11px;color:var(--ink-soft)}
.wmsg{margin:0;font-size:12px;color:var(--ink-soft)}.wmsg.bad{color:var(--bad)}
.wsrc{font-size:11px;color:var(--ink-soft);margin-top:auto}
@media (max-width:520px){.wmetrics{grid-template-columns:repeat(2,1fr)}}
/* ---- compliance checklist ---- */
.comply{border:1px solid var(--line,#262523);border-radius:12px;padding:12px 14px;margin:10px 0;background:var(--parch-hi)}
.comply ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.comply li{display:grid;grid-template-columns:20px 1fr;gap:6px;font-size:13px}
.comply li small{grid-column:2;color:var(--ink-soft)}
.comply .ok{color:var(--good)}.comply .no{color:var(--bad)}
.detail.idle{min-height:0;padding:14px 18px}
.detail.idle .sc{margin:0 0 6px;color:var(--ink-soft);font-size:11px;letter-spacing:2px;text-transform:uppercase}
.detail.idle .lore{margin:0}
.detail[hidden]{display:none}
.researchfiles{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.researchfiles[hidden]{display:none}
.researchfiles .note{flex-basis:100%;margin:0}.researchfiles a{display:inline-block;padding:8px 12px;border:1px solid var(--line,#262523);border-radius:8px;text-decoration:none}

/* ---------- 6.0 Mission Control ---------- */
.mproof{border-color:#7fc79a55}
.mcoins{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.mcoin{font-size:11.5px;border:1px solid currentColor;border-radius:99px;padding:0 7px;white-space:nowrap}
.mdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#8a8a8a}
.mdot.ok{background:#7fc79a;box-shadow:0 0 6px #7fc79a99}.mdot.warn{background:#9cc8e8}.mdot.fail{background:#e35d6a}
.mseg{display:flex;gap:4px;flex-wrap:wrap}.mseg .on{outline:1px solid currentColor}
.muted{opacity:.6;font-size:12px}
.wbadge.auto{opacity:.7}
/* 6.1 Mission Control layout */
.mstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:6px 0 12px}
.mstat{border:1px solid #ffffff1a;border-radius:12px;padding:10px 12px;background:#ffffff06;display:grid;gap:2px;min-width:0}
.mstat span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.mstat b{font-size:22px}.mstat small{font-size:11.5px;opacity:.75;overflow-wrap:anywhere}
.mstat.good b{color:#7fc79a}.mstat.bad b{color:#e35d6a}.mstat.warn b{color:#9cc8e8}
.malarm{border:1px solid #e35d6a88;background:#e35d6a14;border-radius:12px;padding:8px 12px;margin:0 0 12px}.malarm p{margin:2px 0;font-size:13px}
.mgrid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:1000px){.mgrid{grid-template-columns:1fr 1fr}.mgrid .wide{grid-column:1/-1}}
.mcard{border:1px solid #ffffff1a;border-radius:14px;padding:12px 14px;background:#ffffff05;min-width:0;display:grid;gap:8px;align-content:start}
.mhead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.mhead h4{margin:0;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.msub{font-size:12px;opacity:.7}
.mrun{font-size:12.5px}.mrun.control{opacity:.75}
.mbar{height:6px;border-radius:99px;background:#ffffff14;overflow:hidden}.mbar i{display:block;height:100%;background:#7fc79a}
.magents{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.magent{border:1px solid #ffffff14;border-radius:12px;padding:10px;display:grid;gap:5px;min-width:0}
.magent.fail{border-color:#e35d6a88}.magent.warn{border-color:#9cc8e866}
.magtop{display:flex;align-items:center;gap:8px}.mkind{margin-left:auto;font-size:10px;opacity:.6;text-transform:uppercase}
.mwhy{margin:0;font-size:12.5px;overflow-wrap:anywhere}.mjob{font-size:11px;opacity:.6}
.mtask{border-style:dashed}
/* 6.3 Mission Control Live: charts only; lists fold out on demand */
.mstat{font:inherit;color:inherit;text-align:left;cursor:default}
button.mstat{cursor:pointer;transition:border-color .15s,background .15s}button.mstat:hover{border-color:var(--lilac,#bcd6ea);background:#ffffff0c}
.mstat.gold b{color:var(--gold,#9cc8e8)}
.mcard+.mcard,.mticker+.mcard,.malarm+.mcard{margin-top:12px}.tabhead+.mcard,.tabhead+.mticker{margin-top:8px}
.mhead .mpill{margin-left:auto}
.mpill{font-size:12px;font-weight:700;border:1px solid currentColor;border-radius:99px;padding:1px 9px;white-space:nowrap}
.mpill.pos,.mchartbig.pos,.mlegend b.pos,.mrunres .pos,.mchartfoot .pos,.mtaperow .pos{color:var(--good)}
.mpill.neg,.mchartbig.neg,.mlegend b.neg,.mrunres .neg,.mchartfoot .neg,.mtaperow .neg{color:var(--bad)}
.mempty{margin:0;padding:18px 8px;font-size:13px;color:var(--ink-soft);text-align:center;border:1px dashed var(--line,#262523);border-radius:10px}
.mspacer{height:64px;display:grid;place-items:center;font-size:11px;color:var(--ink-soft);border:1px dashed #ffffff14;border-radius:6px}
.mmore{justify-self:end;background:none;border:none;color:var(--lilac,#bcd6ea);font:inherit;font-size:12px;letter-spacing:.06em;cursor:pointer;padding:6px 2px;min-height:32px}
.mmore:hover{text-decoration:underline}
/* news ticker */
.mticker{border:1px solid #ffffff17;border-radius:12px;background:#ffffff05;margin:4px 0 12px;overflow:hidden}
.mtickerline{display:flex;align-items:center;gap:10px;padding:9px 12px;text-decoration:none;color:inherit;min-width:0}
.mtickerline:hover .mtickertitle{color:var(--gold,#9cc8e8)}
.mtickertag{flex:none;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0b0b0a;background:var(--pink,#9cc8e8);border-radius:4px;padding:2px 6px}
.mtickertitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.mtickerline small{flex:none;font-size:11px;color:var(--ink-soft)}
.mticker .mfold{border:none;border-top:1px solid #ffffff10;border-radius:0;margin:0}
.mnewslist{display:grid;padding:0 12px 6px}
.mnewsrow{display:grid;gap:2px;padding:7px 0;border-top:1px solid #ffffff0d;text-decoration:none;color:inherit;min-width:0}
.mnewsrow:first-child{border-top:none}.mnewsrow:hover .mnewstitle{color:var(--gold,#9cc8e8)}
.mnewstitle{font-size:13px;line-height:1.35}.mnewsrow small{font-size:11px;color:var(--ink-soft)}
/* folds: "show more" */
.mfold{border:1px solid #ffffff14;border-radius:10px;background:#ffffff04;margin-top:12px}
.mcard .mfold{margin-top:0}
.mfold>summary{cursor:pointer;list-style:none;padding:9px 12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--lilac,#bcd6ea);display:flex;align-items:center;gap:8px;min-height:24px}
.mfold>summary::-webkit-details-marker{display:none}
.mfold>summary::before{content:"▸";transition:transform .15s}.mfold[open]>summary::before{transform:rotate(90deg)}
.mfold>summary:hover{color:var(--gold,#9cc8e8)}
.mfold>.mtapelist,.mfold>.mrunlist{padding:0 12px 8px}
/* chart cards: positions and trending coins */
.mpositions{border-color:color-mix(in srgb,var(--gold,#9cc8e8) 35%,transparent)}
.mchartgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.mchart{display:grid;gap:6px;text-align:left;font:inherit;color:inherit;background:#ffffff06;border:1px solid #ffffff17;border-radius:12px;padding:10px 12px 9px;cursor:pointer;min-width:0;position:relative;overflow:hidden;transition:background .15s,transform .15s,border-color .15s}
.mchart::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--line,#262523)}
.mchart.pos::before{background:var(--good)}.mchart.neg::before{background:var(--bad)}
.mchart:hover{background:#ffffff0d;transform:translateY(-1px);border-color:#ffffff2a}
.mcharttop{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.mcharttop>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.mchartbig{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.mchart .coinspark{height:64px}
.mchartfoot{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--ink-soft);min-width:0}
.mchartfoot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mchartfoot span:last-child{flex:none;font-variant-numeric:tabular-nums}
.mrunchip{color:var(--lilac,#bcd6ea)}.mrunchip.copy{color:var(--gold,#9cc8e8)}
.mtrendname{display:flex;align-items:center;gap:7px;min-width:0}.mtrendname b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.mtrendname .coinimg,.mtrendname .coinfallback{flex:none}
/* performance chart */
.mperf{width:100%;height:auto;display:block}
.mperf .grid{stroke:#ffffff10}.mperf .zero{stroke:#ffffff40;stroke-dasharray:4 4}
.mperf text{font-size:10.5px;fill:var(--ink-soft);font-family:inherit}
.mperf .run{fill:none;stroke-width:2.2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mperf .run.control{stroke-width:1.3;stroke-dasharray:5 4;opacity:.7}
.mlegend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}
.mlg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.mlg i{width:10px;height:10px;border-radius:3px;flex:none}
.mlg.control{opacity:.65}.mlg b{font-variant-numeric:tabular-nums}
.mrunlist{display:grid}
.mrunrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;font:inherit;color:inherit;text-align:left;background:none;border:none;border-top:1px solid #ffffff10;padding:8px 2px;cursor:pointer;min-width:0}
.mrunrow:first-child{border-top:none}.mrunrow:hover{background:#ffffff08}.mrunrow.control{opacity:.7}
.mrunname{display:grid;min-width:0}.mrunname b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrunname small{font-size:11px;color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrunres{display:grid;justify-items:end}.mrunres b{font-size:15px;font-variant-numeric:tabular-nums}.mrunres small{font-size:11px;color:var(--ink-soft);white-space:nowrap}
/* trade tape (fold on Live, card in the Control Room) */
.mtapelist{display:grid;max-height:380px;overflow-y:auto}
.mtaperow{display:grid;grid-template-columns:34px 34px minmax(56px,.8fr) minmax(70px,1fr) minmax(0,1.4fr);gap:8px;align-items:baseline;font-size:12.5px;padding:5px 2px;border-top:1px solid #ffffff0d;min-width:0}
.mtaperow:first-child{border-top:none}
.mtaperow.ours{background:linear-gradient(90deg,color-mix(in srgb,var(--lilac,#bcd6ea) 9%,transparent),transparent 70%)}
.mtapet{color:var(--ink-soft);font-variant-numeric:tabular-nums}
.mtapecoin,.mtapewho{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtapewho{color:var(--ink-soft)}.mtapewho.ours{color:var(--lilac,#bcd6ea)}
.mtaperow small{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtapewhy{color:var(--ink-soft)}
.mcheck .mhead button{margin-left:auto;min-height:34px}
.mcheckgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.mcheckrow{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;border:1px solid #ffffff14;border-radius:10px;padding:8px 10px;min-width:0}
.mcheckrow small{grid-column:2;font-size:11px;color:var(--ink-soft);overflow-wrap:anywhere}
.mcheckrow.fail{border-color:#e35d6a88}.mcheckrow.warn{border-color:#9cc8e866}
.mlearn .mhead button{margin-left:auto;min-height:34px}
.mlessons{display:grid;gap:8px}
.mlesson{border:1px solid #ffffff14;border-radius:10px;padding:9px 11px;display:grid;gap:4px;min-width:0}
.mlesson.adopted,.mlesson.confirmed{border-color:color-mix(in srgb,var(--good) 55%,transparent)}.mlesson.rejected{border-color:#e35d6a66}
.mlessontop{display:flex;gap:8px;align-items:baseline;min-width:0}.mlessontop b{font-size:13px;overflow-wrap:anywhere}
.mlstat{flex:none;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:1px 6px;background:#ffffff14;color:var(--ink-soft)}
.mlstat.adopted,.mlstat.confirmed,.mlstat.active{background:color-mix(in srgb,var(--good) 25%,transparent);color:var(--good)}
.mlstat.rejected{background:#e35d6a33;color:var(--bad)}.mlstat.testing{color:var(--gold,#9cc8e8)}
.mevid{height:5px;border-radius:99px;background:#ffffff12;overflow:hidden}.mevid i{display:block;height:100%;background:linear-gradient(90deg,var(--gold,#9cc8e8),var(--good))}
.mlesson small{font-size:11.5px;overflow-wrap:anywhere}.msrc{color:var(--lilac,#bcd6ea);font-size:10.5px}
.mpolicies{display:grid;gap:6px}
.mpolicy{display:grid;grid-template-columns:110px minmax(80px,1fr) minmax(0,2.2fr);gap:10px;align-items:center;font-size:12px;min-width:0}
.mpolicy.on b{color:var(--good)}.mpolicy small{color:var(--ink-soft);overflow-wrap:anywhere}
.mpbar{position:relative;height:10px;background:#ffffff0d;border-radius:3px}.mpbar::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:#ffffff40}
.mpbar i{position:absolute;top:0;bottom:0;border-radius:3px}.mpbar i.pos{background:var(--good)}.mpbar i.neg{background:var(--bad)}
.mfixes{padding:0 12px 8px;font-size:12.5px}.mfixes p{margin:6px 0}
.mmind .mhead button{margin-left:auto;min-height:34px}
.mlearners{display:grid;gap:4px}
.mlearner{display:grid;grid-template-columns:minmax(0,2fr) 70px 80px minmax(110px,1.4fr);gap:10px;align-items:center;font-size:12.5px;padding:6px 4px;border-top:1px solid #ffffff0d;min-width:0}
.mlearner.mlhead{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border-top:none}
.mlearner.champ{background:color-mix(in srgb,var(--good) 10%,transparent);border-radius:8px}
.mlearner .pos{color:var(--good)}.mlearner .neg{color:var(--bad)}
.mlname{display:grid;min-width:0}.mlname small{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mlev{display:grid;gap:3px}
@media(max-width:560px){
 .mlearner{grid-template-columns:minmax(0,1fr) 60px 70px}.mlearner .mlev,.mlearner.mlhead span:last-child{display:none}
 .mpolicy{grid-template-columns:90px 1fr}.mpolicy small{grid-column:1/-1}
 .mstrip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mchartgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .mchart{padding:9px 9px 8px}.mcharttop{display:grid;justify-content:stretch;gap:1px}.mchartbig{font-size:17px}.mchart .coinspark{height:48px}
 .mchartfoot span:first-child{display:none}.mchartfoot{justify-content:flex-end}
 .mtickerline small{display:none}
 .mtaperow{grid-template-columns:30px 30px minmax(0,1fr) minmax(0,1fr)}.mtaperow small{grid-column:3/-1}
}

/* Campfire tab: the fire page embedded edge to edge */
.campfire-frame{position:relative;width:100%;height:72vh;min-height:420px;border-radius:14px;overflow:hidden;background:#0b0b0a;border:1px solid rgba(255,255,255,.06)}
.campfire-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.campfire-open{display:inline-block;margin-top:12px;font-size:12px;letter-spacing:.08em;color:var(--soft,#8e8b84);text-decoration:none}
.campfire-open:hover{color:var(--ink,#ecebe6)}
