:root{
  --paper:#F8F8F5;--paper-2:#F1F2EC;--ink:#1B201A;--muted:#5C6459;--faint:#8A9187;--rule:#E2E4DC;
  --moss:#1F4D2B;--moss-2:#2F6B3D;--gold:#D9A520;--up:#1D7A3B;--down:#B2432D;--card:#FFFFFF;
  --f-display:"Newsreader","Iowan Old Style",Georgia,serif;
  --f-ui:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--paper);color:var(--ink);font:13px/1.35 var(--f-ui);overflow:hidden;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
input{font:inherit;color:inherit}
h4{margin:0 0 8px;font:500 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline}
h4 span{font:400 11px var(--f-ui);letter-spacing:0;text-transform:none;color:var(--faint)}
.up{color:var(--up)}.down{color:var(--down)}

.top{height:52px;display:flex;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid var(--rule);background:var(--card)}
.brand{display:flex;align-items:center;gap:8px;font:450 19px/1 var(--f-display);letter-spacing:-.01em;white-space:nowrap}
.brand svg{width:20px;height:20px}
.brand em{font:400 11px var(--f-mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-left:2px;padding-top:3px}
.search{position:relative;width:216px;display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--faint);transition:border-color .15s,box-shadow .15s}
.search:focus-within,
.search.foc{border-color:var(--moss-2);box-shadow:0 0 0 3px rgba(47,107,61,.12)}
.search svg{width:14px;height:14px;flex:none}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);font:500 13px var(--f-ui)}
.results{position:absolute;top:38px;left:0;width:300px;background:var(--card);border:1px solid var(--rule);border-radius:12px;box-shadow:0 14px 40px rgba(27,32,26,.14);padding:6px;z-index:30}
.results button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;font:500 13px var(--f-ui);color:var(--ink)}
.results button:hover,
.results button.hov,.results button.sel{background:var(--paper-2)}
.results small{font:400 12px var(--f-mono);color:var(--muted)}
.strip{display:flex;align-items:center;gap:22px;flex:1;min-width:0}
.sym b{font:520 21px/1 var(--f-display);letter-spacing:-.01em}
.sym span{margin-left:6px;font:500 10px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--moss-2);background:#E8F0E6;padding:3px 6px;border-radius:5px;vertical-align:3px}
.px{font:500 20px/1 var(--f-mono);letter-spacing:-.02em;min-width:108px;transition:color .5s}
.px.tick-up{color:var(--up);transition:none}.px.tick-down{color:var(--down);transition:none}
.kv{display:flex;flex-direction:column;gap:3px}
.kv label{font:400 10px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.kv span{font:500 12.5px var(--f-mono)}
.kv.chat span{display:flex;align-items:center;gap:6px}
.kv.chat u{width:7px;height:7px;border-radius:50%;background:#CFD3C8;text-decoration:none}
.kv.chat u.positive{background:var(--up)}.kv.chat u.negative{background:var(--down)}.kv.chat u.mixed{background:var(--gold)}
.mode{font:500 10px var(--f-mono);letter-spacing:.1em;padding:5px 9px;border-radius:999px;border:1px solid var(--rule);color:var(--muted)}
.mode.live{background:var(--ink);color:#F3F4EF;border-color:var(--ink)}

main{display:grid;grid-template-columns:196px 1fr 300px;height:calc(100% - 52px)}
.watch{border-right:1px solid var(--rule);padding:12px 8px 0;overflow:hidden;background:var(--paper)}
.watch h4{padding:0 6px}
.groups{display:flex;gap:2px;padding:0 4px 8px}
.groups button{flex:1;height:24px;border-radius:7px;font:500 11px var(--f-ui);color:var(--muted);transition:background .12s,color .12s}
.groups button:hover,
.groups button.hov{background:var(--paper-2);color:var(--ink)}
.groups button.on{background:var(--ink);color:#F3F4EF}
.row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;text-align:left;padding:7px 8px;border-radius:8px;position:relative;transition:background .15s}
.row:hover,
.row.hov{background:var(--paper-2)}
.row.on{background:var(--card);box-shadow:0 0 0 1px var(--rule),0 2px 8px rgba(27,32,26,.05)}
.row b{font:600 12.5px var(--f-ui)}
.row .p{font:500 12px var(--f-mono);text-align:right}
.row .v{font:400 10.5px var(--f-mono);color:var(--faint)}
.row .c{font:500 11px var(--f-mono);text-align:right}
.row.flash-up .p{animation:fu .7s}.row.flash-down .p{animation:fd .7s}
@keyframes fu{0%{background:rgba(29,122,59,.22)}100%{background:transparent}}
@keyframes fd{0%{background:rgba(178,67,45,.22)}100%{background:transparent}}

.center{display:flex;flex-direction:column;min-width:0;background:var(--card)}
.bar{height:44px;display:flex;align-items:center;gap:8px;padding:0 10px;overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--rule)}
.tabs{display:flex;gap:2px}
.tabs button{padding:7px 9px;border-radius:999px;font:500 12.5px var(--f-ui);color:var(--muted);transition:background .15s,color .15s}
.tabs button:hover,
.tabs button.hov{background:var(--paper-2)}
.tabs button.on{background:var(--ink);color:#F3F4EF}
.tfs,.inds{display:flex;gap:1px;padding-left:8px;border-left:1px solid var(--rule)}
.tfs button,.inds button{padding:5px 6px;border-radius:7px;font:500 11.5px var(--f-mono);color:var(--muted);transition:background .12s,color .12s}
.tfs button:hover,
.tfs button.hov,.inds button:hover,.inds button.hov{background:var(--paper-2);color:var(--ink)}
.tfs button.on{background:#E8F0E6;color:var(--moss)}
.inds button.on{color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule);background:var(--paper)}
.view{flex:1;min-height:0;display:flex;position:relative}
.view[hidden]{display:none}
.tools{width:42px;border-right:1px solid var(--rule);display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:10px;background:var(--paper)}
.tools button{width:30px;height:30px;border-radius:8px;color:var(--muted);display:grid;place-items:center;transition:background .12s,color .12s}
.tools button svg{width:18px;height:18px}
.tools button:hover,
.tools button.hov{background:var(--paper-2);color:var(--ink)}
.tools button.on{background:var(--ink);color:#F3F4EF}
#clear-drawings{margin-top:8px}
.chartwrap{flex:1;position:relative;min-width:0}
#chart{position:absolute;inset:0}
#overlay{position:absolute;inset:0;pointer-events:none;z-index:5}
#overlay.draw{pointer-events:auto;cursor:crosshair}
.legend{position:absolute;left:12px;top:8px;z-index:6;font:400 11px var(--f-mono);color:var(--muted);display:flex;gap:12px;pointer-events:none}
.legend b{font-weight:500;color:var(--ink)}
.legend i{font-style:normal}
.hint{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:7;background:var(--ink);color:#F3F4EF;font:500 11.5px var(--f-ui);padding:6px 12px;border-radius:999px;box-shadow:0 6px 20px rgba(27,32,26,.2)}
.lvl-input{position:absolute;z-index:8;width:150px;height:24px;border:1px solid var(--moss-2);border-radius:6px;padding:0 7px;font:500 11.5px var(--f-mono);background:var(--card);outline:0;box-shadow:0 0 0 3px rgba(47,107,61,.14)}

.feed,.why{flex:1;overflow:auto;padding:18px 26px 40px}
.sigs{flex:1;overflow:auto;padding:14px 22px 40px;display:grid;grid-template-columns:1.5fr 1fr;gap:26px;align-content:start}
.sigs h6,.why h6{margin:0 0 8px;font:500 11px/1 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.sig{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--rule);background:var(--card);margin-bottom:7px;transition:border-color .14s,box-shadow .14s}
.sig:hover,
.sig.hov{border-color:var(--ink);box-shadow:0 6px 16px -10px rgba(27,32,26,.3)}
.sig .hd{display:flex;align-items:baseline;gap:8px}
.sig .hd b{font:600 14px var(--f-ui)}
.sig .hd i{font:500 10px var(--f-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:var(--paper-2);color:var(--muted)}
.sig .hd i.pump,.sig .hd i.rebound{background:#E8F0E6;color:var(--up)}.sig .hd i.dump,.sig .hd i.pullback{background:#F6E9E5;color:var(--down)}
.sig .hd span{margin-left:auto;font:500 13px var(--f-mono)}
.sig .hd time{font:400 11px var(--f-mono);color:var(--faint)}
.sig p{margin:5px 0 0;font:400 13.5px/1.35 var(--f-display);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sig small{display:block;margin-top:4px;font:400 11px var(--f-mono);color:var(--faint)}
.mv{display:grid;grid-template-columns:1fr auto auto;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border-bottom:1px solid var(--rule);font:500 12.5px var(--f-mono);transition:background .12s}
.mv:hover,
.mv.hov{background:var(--paper-2)}
.mv b{font:600 13px var(--f-ui)}
.mv small{color:var(--faint);font-weight:400}
.cr{display:grid;grid-template-columns:1.1fr repeat(3,74px) 84px;gap:8px;width:100%;text-align:right;align-items:baseline;padding:8px 10px;border-radius:8px;border-bottom:1px solid var(--rule);font:500 12.5px var(--f-mono);transition:background .12s}
.cr:hover,
.cr.hov{background:var(--paper-2)}
.cr b{font:600 13px var(--f-ui);text-align:left}
.cr.h{font:400 10px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--faint);border-bottom-color:var(--ink)}
.cr em{font-style:normal;font-weight:500;color:var(--ink);background:#F7EFD6;border-radius:5px;padding:1px 5px}
.cnote{margin:10px 2px 0;font:400 13px/1.4 var(--f-display);font-style:italic;color:var(--muted)}
.after{margin-top:22px;padding-top:16px;border-top:1px solid var(--rule);max-width:680px}
.after p{font:400 15px/1.5 var(--f-display)!important;color:var(--muted)!important}
.odds{display:flex;gap:10px;margin-top:10px}
.odds div{flex:1;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--paper)}
.odds label{display:block;font:400 10px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.odds b{display:block;font:500 19px var(--f-mono);margin:4px 0 2px}
.odds small{font:400 11px var(--f-mono);color:var(--muted)}
.hold{display:grid;grid-template-columns:1fr 90px 70px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--rule);max-width:700px;font:500 12.5px var(--f-mono)}
.hold b{font:500 14px var(--f-ui)}.hold b small{font:400 11px var(--f-mono);color:var(--faint);margin-left:8px}
.hold .barw{height:6px;border-radius:9px;background:var(--paper-2);overflow:hidden}.hold .barw i{display:block;height:100%;background:var(--moss-2)}
.item{padding:14px 0;border-bottom:1px solid var(--rule);max-width:760px}
.item h5{margin:0 0 5px;font:450 19px/1.25 var(--f-display);letter-spacing:-.01em}
.item p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.item .meta{font:400 11px var(--f-mono);color:var(--faint);margin-bottom:6px;display:flex;gap:10px}
.why h3{font:450 30px/1.15 var(--f-display);letter-spacing:-.02em;margin:6px 0 12px;max-width:720px}
.why p{font:400 16px/1.55 var(--f-display);max-width:680px;color:var(--ink)}
.factors{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.factors span{font:500 12px var(--f-mono);padding:6px 10px;border-radius:999px;border:1px solid var(--rule)}
.empty{color:var(--faint);font-size:12.5px;margin:6px 0}

.right{border-left:1px solid var(--rule);display:flex;flex-direction:column;background:var(--paper);min-height:0}
.right section{padding:12px 14px;border-bottom:1px solid var(--rule)}
.sides{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}
.sides button{height:32px;border-radius:9px;font:600 13px var(--f-ui);border:1px solid var(--rule);background:var(--card);color:var(--muted);transition:all .15s}
.sides button.on[data-side=long]{background:var(--up);border-color:var(--up);color:#fff}
.sides button.on[data-side=short]{background:var(--down);border-color:var(--down);color:#fff}
.field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.field>span{font-size:12.5px;color:var(--muted)}
.inp{display:flex;align-items:center;gap:4px;width:150px;height:32px;padding:0 10px;border:1px solid var(--rule);border-radius:9px;background:var(--card);transition:border-color .15s,box-shadow .15s}
.inp:focus-within,
.inp.foc{border-color:var(--moss-2);box-shadow:0 0 0 3px rgba(47,107,61,.12)}
.inp i{font:500 13px var(--f-mono);font-style:normal;color:var(--faint)}
.inp input{flex:1;min-width:0;border:0;outline:0;background:none;text-align:right;font:500 14px var(--f-mono)}
.lev{display:flex;gap:3px}
.lev button{width:33px;height:28px;border-radius:7px;font:500 11.5px var(--f-mono);border:1px solid var(--rule);background:var(--card);color:var(--muted);transition:all .12s}
.lev button.on{background:var(--ink);border-color:var(--ink);color:#F3F4EF}
.lev button:disabled{opacity:.35;cursor:not-allowed}
.preview{margin:10px 0;padding:9px 10px;border-radius:10px;background:var(--card);border:1px solid var(--rule)}
.preview div{display:flex;justify-content:space-between;padding:2.5px 0}
.preview dt{color:var(--muted);font-size:12px}.preview dd{margin:0;font:500 12px var(--f-mono)}
.msg{font-size:12px;line-height:1.4;padding:7px 10px;border-radius:9px;margin-bottom:8px;background:#F6E9E5;color:var(--down)}
.msg.ok{background:#E8F0E6;color:var(--moss)}
.submit{width:100%;height:36px;border-radius:999px;font:600 13px var(--f-ui);color:#fff;background:var(--up);transition:transform .08s,filter .15s,opacity .15s}
.submit.short{background:var(--down)}
.submit:active{transform:scale(.98)}
.submit:disabled{opacity:.4;cursor:not-allowed}
.submit.busy{opacity:.75;pointer-events:none}
.confirm p{margin:0 0 8px;font:450 15px/1.3 var(--f-display)}
.confirm>div{display:grid;grid-template-columns:86px 1fr;gap:6px}
.ghost{height:36px;border-radius:999px;border:1px solid var(--rule);background:var(--card);font:500 13px var(--f-ui);color:var(--muted)}
.pos{background:var(--card);border:1px solid var(--rule);border-radius:10px;padding:9px 10px;margin-bottom:6px;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center}
.pos b{font:600 13px var(--f-ui)}
.pos .tag{font:500 9.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;border-radius:4px;margin-left:6px}
.pos .tag.long{background:#E8F0E6;color:var(--up)}.pos .tag.short{background:#F6E9E5;color:var(--down)}
.pos .pnl{font:500 14px var(--f-mono);text-align:right}
.pos small{font:400 11px var(--f-mono);color:var(--faint)}
.pos .close{justify-self:end;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--rule);font:500 11px var(--f-ui);color:var(--muted);transition:all .12s}
.pos .close:hover,
.pos .close.hov{border-color:var(--ink);color:var(--ink)}
.pos .close.arm{background:var(--ink);border-color:var(--ink);color:#F3F4EF}
.flow{flex:1;min-height:0;display:flex;flex-direction:column;border-bottom:0!important}
.book{display:grid;grid-template-columns:1fr 1fr;gap:1px 6px;margin-bottom:8px;font:400 10.5px var(--f-mono)}
.book div{position:relative;display:flex;justify-content:space-between;padding:1.5px 4px;overflow:hidden}
.book div i{position:absolute;top:0;bottom:0;opacity:.14;transition:width .4s}
.book .b i{right:0;background:var(--up)}.book .a i{left:0;background:var(--down)}
.book span{position:relative}
.tape{flex:1;min-height:0;overflow:hidden;font:400 11px var(--f-mono);-webkit-mask-image:linear-gradient(#000 70%,transparent)}
.tape div{display:grid;grid-template-columns:62px 1fr 64px;padding:2px 4px;border-radius:4px;animation:tin .5s}
.tape div span:last-child{text-align:right;color:var(--muted)}
.tape div.big{font-weight:500}
@keyframes tin{0%{background:rgba(217,165,32,.28);transform:translateY(-4px);opacity:0}30%{opacity:1}100%{background:transparent;transform:none}}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#F3F4EF;padding:11px 18px;border-radius:999px;font:500 13px var(--f-ui);box-shadow:0 12px 36px rgba(27,32,26,.28);z-index:50;animation:toast .35s cubic-bezier(.2,.9,.3,1.2)}
.toast.bad{background:var(--down)}
@keyframes toast{0%{opacity:0;transform:translate(-50%,14px) scale(.96)}100%{opacity:1;transform:translate(-50%,0)}}
