/* BennyStrike terminal: compact chrome and a separate market workspace. */
.terminal {
  --dock-width:0px;
  --quote-height:64px;
  --auction-height:32px;
  --tool-width:44px;
  --status-height:28px;
  --r:4px;
  color-scheme:dark;
}
.terminal *, .terminal *::before, .terminal *::after { letter-spacing:0; }
.terminal button { -webkit-tap-highlight-color:transparent; }
.terminal button:focus-visible, .terminal input:focus-visible, .terminal select:focus-visible {
  outline:2px solid var(--accent); outline-offset:2px;
}
.terminal svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.terminal [hidden] { display:none !important; }
.terminal #bar { min-height:50px; padding:7px 12px; gap:3px; background:var(--chrome); }
.terminal #bar .brand { color:var(--tx); text-decoration:none; font-size:15px; gap:9px; margin-right:18px; padding:0; white-space:nowrap; }
.terminal #bar .brand .mark { background:transparent; color:var(--accent); width:27px; height:27px; border:1px solid var(--bd2); border-radius:5px; }
.terminal #bar .brand .mark svg { width:19px; height:19px; }
.terminal .brand-light { font-weight:400; color:var(--tx2); }
.terminal #bar .brand small { display:block; font-size:8px; line-height:11px; font-weight:500; color:var(--dim); }
.terminal #bar button { height:32px; font-size:12px; padding:0 10px; }
.terminal #bar button.on, .terminal #bar button.act { color:var(--accent); }
.terminal #bar .grp button.on { color:#d8effc; background:#293d49; box-shadow:inset 0 -2px var(--accent); }
.terminal #bar .grp { gap:2px; }
.terminal #bar .sep { height:22px; margin:0 7px; }
.terminal #bar .right { gap:2px; }
.terminal #bar .icon-button { width:32px; padding:0; justify-content:center; }
.terminal #bar .icon-button[aria-pressed="true"], .terminal #contextb[aria-expanded="true"] { color:var(--accent); background:#263943; }
.terminal #bar #snd.on { color:var(--tx2); }
.terminal #sym { width:98px; height:32px; font-size:13px; border:1px solid var(--bd); background-color:var(--bg); }
.terminal #tfb { width:24px; padding:0; justify-content:center; }
.terminal #tfb svg { width:13px; height:13px; }
.terminal #cdrc { color:var(--dim); font:10px var(--mono); }
.terminal #raybar { height:var(--auction-height); padding:0 14px 0 calc(var(--tool-width) + 12px); background:#141719; font-size:11px; }
.terminal #rayread { border-left-width:2px; opacity:1; padding-left:9px; }
.terminal #rayread b { font-weight:500; color:var(--tx2); }
.terminal #rayread .k { font-size:10px; color:var(--dim); }
.terminal #contextcontrol { font-size:10px; gap:6px; margin-left:12px; }
.terminal #contextcontrol input { accent-color:var(--accent); }
.terminal #quotehead { position:absolute; top:calc(var(--toolbar-height) + var(--auction-height)); left:var(--tool-width); right:var(--dock-width); padding:5px 14px 7px; background:var(--bg); border-bottom:1px solid var(--bd); min-height:58px; max-height:150px; overflow:auto; }
.terminal #lg0 { position:static; max-width:none; width:100%; background:transparent; }
.terminal #lg0 .row:first-child { min-height:27px; height:auto; flex-wrap:wrap; gap:7px; overflow:visible; }
.terminal #lg0 .sym { font-size:14px; }
.terminal #lg0 .tf { font-size:11px; color:var(--dim); }
.terminal #lg0 .desc { font-size:11px; }
.terminal .market-pills { display:inline-flex; align-items:center; gap:5px; margin-left:auto; }
.terminal .pill { font-size:9px; font-weight:500; padding:2px 5px; border-radius:3px; background:transparent; }
.terminal .pill.buy { color:var(--buy); background:rgba(53,189,165,.09); }
.terminal .pill.sell { color:var(--sell); background:rgba(240,107,117,.09); }
.terminal .pill.pos { color:var(--accent); background:rgba(99,185,235,.09); }
.terminal .pill.none { color:var(--dim); background:var(--chrome); }
.terminal #ohlc { font-size:10px; height:18px; color:var(--tx2); }
.terminal #ohlc .k { color:var(--mute); margin-left:12px; }
.terminal #lg0 > .equity-context { display:none; }
.uc-regime { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 8px; min-height:20px; padding-top:3px; font-size:11px; line-height:17px; white-space:normal; }
.uc-regime b, .uc-regime small { color:var(--dim); font-size:9px; font-weight:500; flex-shrink:0; }
.uc-regime strong { color:var(--tx); font-size:11px; font-weight:600; }
.uc-regime.support strong { color:#55d6b1; }
.uc-regime.pressure strong { color:#f47c86; }
.uc-regime span { color:var(--tx2); min-width:0; overflow-wrap:anywhere; }
.uc-regime small { color:#e3ba70; }
.terminal #lg0 .row:not(:first-child):not(#ohlc) { font-size:10px; overflow-x:auto; }
.terminal #wrap { top:calc(var(--toolbar-height) + var(--auction-height) + var(--quote-height)); left:var(--tool-width); right:var(--dock-width); bottom:var(--status-height); }
.terminal #tools { top:calc(var(--toolbar-height) + var(--auction-height)); width:var(--tool-width); bottom:var(--status-height); padding-top:10px; gap:6px; background:#141719; }
.terminal #tools button { width:32px; height:32px; color:var(--dim); }
.terminal #tools button.on { color:var(--accent); background:rgba(99,185,235,.12); }
.terminal #tools button svg { width:17px; height:17px; }
.terminal #tools .gap { height:1px; width:20px; background:var(--bd); margin:5px 0; }
.terminal #tools #legclr { margin-top:4px; }
.terminal #tools .menu { position:relative; }
.terminal #tools #cdrb { position:relative; }
.terminal #tools #cdrc { position:absolute; top:0; right:0; font:8px var(--mono); color:var(--accent); }
.terminal #tools #cdrm { position:fixed; z-index:50; width:330px; max-width:calc(100vw - 16px); }
.terminal #tools #cdrm button.it { width:100%; height:34px; padding:0 12px; border-radius:0; justify-content:flex-start; text-align:left; font-size:11px; }
.terminal .lg:not(#lg0) { left:10px; width:calc(100% - 96px); max-width:none; background:rgba(16,18,20,.92); font-size:11px; }
.terminal .lg:not(#lg0) .row { min-height:25px; flex-wrap:nowrap; align-items:center; padding-right:63px; gap:7px; }
.terminal .lg .nm { font-size:11px; color:var(--tx2); font-weight:500; }
.terminal .lg .v, .terminal .lg .tg, .terminal .lg small { font-size:10px; }
.terminal .lg:not(#lg0) .row .macro-readings { flex:1 1 240px; gap:5px; padding:2px 0; }
.terminal .lg .macro-readings .tg { padding:0 4px; }
.terminal .lg .ctl { opacity:.65; gap:2px; }
.terminal .lg .ctl i { font-size:11px; }
.terminal .lg .ctl button { width:20px; height:20px; padding:0; display:grid; place-items:center; border:0; border-radius:3px; background:transparent; color:var(--dim); cursor:pointer; }
.terminal .lg .ctl button svg { width:12px; height:12px; }
.terminal .lg .ctl button:hover { background:var(--panel2); color:var(--tx); }
.terminal #status { height:var(--status-height); background:#141719; border-top:1px solid var(--bd); gap:16px; padding:0 12px; font-size:10px; }
.terminal #status #st, .terminal #status #pubage { color:var(--mute); }
.terminal #status .help { display:none; }
.terminal #status .clock { font:10px var(--mono); color:var(--dim); }
.terminal #status .dot { width:5px; height:5px; margin-right:6px; }
.terminal #terminaldock { position:absolute; top:calc(var(--toolbar-height) + var(--auction-height)); right:0; bottom:var(--status-height); width:296px; background:var(--chrome); border-left:1px solid var(--bd); z-index:25; display:flex; flex-direction:column; }
.terminal .dock-heading { display:flex; align-items:center; justify-content:space-between; height:39px; flex-shrink:0; padding:0 12px 0 16px; color:var(--tx); font-size:12px; font-weight:600; }
.terminal .dock-heading button { border:0; background:transparent; color:var(--dim); cursor:pointer; width:26px; height:26px; display:grid; place-items:center; border-radius:4px; }
.terminal .dock-heading button:hover { background:var(--panel2); color:var(--tx); }
.terminal #docktabs { display:flex; padding:0 12px; border-bottom:1px solid var(--bd); gap:2px; flex-shrink:0; }
.terminal #docktabs button { flex:1; min-width:0; height:34px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--dim); font-size:11px; cursor:pointer; padding:0 4px; }
.terminal #docktabs button[aria-selected="true"] { color:var(--tx); border-bottom-color:var(--accent); }
.terminal .dock-view { overflow:auto; flex:1; min-height:0; padding-bottom:12px; }
.terminal .context-section { padding:16px; border-bottom:1px solid var(--bd); }
.terminal .context-section h2 { margin:0 0 12px; color:var(--dim); font-size:10px; text-transform:uppercase; font-weight:500; }
.terminal .context-plan { font-size:15px; line-height:1.45; font-weight:500; color:var(--tx); }
.terminal .context-plan.buy { color:var(--buy); }
.terminal .context-plan.sell { color:var(--sell); }
.terminal #context-detail { margin:7px 0 0; font-size:11px; color:var(--dim); line-height:1.6; overflow-wrap:anywhere; }
.terminal .context-explanation { margin-top:9px; }
.terminal .context-explanation summary { color:var(--dim); font-size:10px; cursor:pointer; }
.terminal #context-bias { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:12px; }
.terminal #context-levels { margin:0; display:grid; grid-template-columns:1fr auto; row-gap:9px; font-size:11px; }
.terminal #context-levels dt { color:var(--dim); }
.terminal #context-levels dd { margin:0; color:var(--tx2); font:11px var(--mono); }
.terminal #context-rates .equity-context { display:block; color:var(--tx2); font-size:11px; line-height:1.6; }
.terminal #context-rates .equity-context > b { display:none; }
.terminal #context-rates .equity-context > span { display:block; }
.terminal #context-rates .yield-evidence { display:block; margin-top:8px; color:var(--dim); font-size:10px; }
.terminal #context-rates details { margin-top:10px; }
.terminal #context-rates summary { cursor:pointer; color:var(--accent); font-size:10px; }
.terminal .context-evidence { display:grid; grid-template-columns:1fr; gap:5px; margin:12px 0 0; font-size:10px; line-height:1.5; }
.terminal .context-evidence dt { color:var(--dim); margin-top:6px; }
.terminal .context-evidence dd { margin:0; color:var(--tx2); overflow-wrap:anywhere; }
.terminal #studycount { float:right; color:var(--dim); font-family:var(--mono); }
.terminal .study-row { display:flex; align-items:center; min-height:31px; gap:8px; color:var(--tx2); font-size:11px; }
.terminal .study-row .study-dot { width:5px; height:5px; background:var(--accent); border-radius:50%; flex-shrink:0; }
.terminal .study-row .study-dot.signal { background:var(--buy); }
.terminal .study-row .study-dot.level { background:var(--warn); }
.terminal .study-row button { margin-left:auto; display:grid; place-items:center; width:25px; height:25px; border:0; background:transparent; color:var(--dim); border-radius:4px; cursor:pointer; }
.terminal .study-row button:hover { color:var(--tx); background:var(--panel2); }
.terminal .study-row svg { width:14px; height:14px; }
.terminal .study-empty { color:var(--dim); font-size:11px; }
.terminal #terminaldock #dailymap, .terminal #terminaldock #gexpanel, .terminal #terminaldock #ai { position:static; width:100%; max-width:none; max-height:none; border:0; border-radius:0; box-shadow:none; background:transparent; backdrop-filter:none; padding:16px; font-size:11px; }
.terminal #terminaldock #ai > .h, .terminal #terminaldock #dailymap > .h, .terminal #terminaldock #gexpanel > header { display:none; }
.terminal #gexbar { position:static; height:auto; min-height:49px; display:flex; flex-wrap:wrap; padding:12px 16px; background:transparent; gap:8px; border-bottom:1px solid var(--bd); }
.terminal #gex_read { white-space:normal; line-height:1.5; font-size:11px; flex:1 1 160px; }
.terminal #gex_access { margin-left:0; font-size:11px; height:28px; color:var(--accent); }
.terminal #gexpanel table { font-size:10px; }
.terminal #gexpanel td, .terminal #gexpanel th { padding:8px 2px; }
.terminal .map-verdict-box, .terminal .map-table { background:transparent; border:0; border-radius:0; padding:0; }
.terminal .map-trade-boxes { flex-direction:column; gap:0; }
.terminal .map-box { background:transparent; border:0; border-top:1px solid var(--bd); border-radius:0; padding:10px 0; }
.terminal .map-box .box-val { font-size:15px; }
.terminal .map-row { padding:8px 0; }
.terminal #ai .v { padding:12px 0; }
.terminal #ai .v .vd { font-size:10px; }
.terminal #indm { border-radius:6px; width:440px; }
.terminal #indm .top { padding:16px 16px 0; }
.terminal #indm .top h3 { font-size:15px; margin-bottom:14px; }
.terminal #indq { height:34px; background-color:var(--bg); font-size:12px; }
.terminal #study-tabs { display:flex; gap:2px; padding-top:8px; }
.terminal #study-tabs button { flex:1; border-radius:0; justify-content:center; color:var(--dim); height:35px; border-bottom:2px solid transparent; }
.terminal #study-tabs button[aria-pressed="true"] { color:var(--tx); border-bottom-color:var(--accent); }
.terminal #indm .h { font-size:10px; padding-top:16px; }
.terminal #indm label { font-size:12px; padding-top:10px; padding-bottom:10px; gap:18px; }
.terminal #indm label .nm small { font-size:10px; line-height:1.4; margin-top:3px; }
.terminal #indm label input { width:28px; height:16px; }
.terminal #indm label input::after { width:12px; height:12px; }
.terminal #indm label input:checked::after { left:14px; }
.terminal #indm label input:checked { background:#368bba; }
.terminal #tip { background:#22262b; border-radius:4px; font-size:11px; max-width:310px; }
.terminal .toast { border-radius:4px; font-size:11px; }
.terminal #gexlogin { border-radius:6px; }
.terminal #gexlogin h3 { font-size:16px; }
.terminal.focus-chart { --tool-width:0px; --auction-height:0px; }
.terminal.focus-chart #tools, .terminal.focus-chart #raybar { display:none; }
.terminal.embed { --tool-width:0px; }
.terminal.embed #bar { min-height:39px; padding:3px 6px; }
.terminal.embed #bar .brand, .terminal.embed #layoutb { display:none; }
.terminal.embed #bar button { padding:0 6px; height:29px; }
.terminal.embed #quotehead { padding-left:10px; }
.terminal.embed #raybar { padding-left:10px; }
.terminal.embed #wrap { left:0; top:calc(var(--toolbar-height) + var(--auction-height) + var(--quote-height)); }
.terminal.embed #bar #indb > svg, .terminal.embed #bar #aibtn > svg { display:block; }
.terminal.embed #bar #cdrb { width:32px; padding:0; justify-content:center; position:relative; }
.terminal.embed #bar #cdrc { position:absolute; right:0; top:0; font:8px var(--mono); }
@media (min-width:1200px) {
  .terminal.dock-open:not(.embed):not(.focus-chart) { --dock-width:296px; }
}
@media (max-width:1300px) {
  .terminal #bar .brand { margin-right:8px; }
  .terminal #bar #layoutb, .terminal #bar #aibtn, .terminal #bar #mapbtn { font-size:0; gap:0; width:32px; padding:0; justify-content:center; }
  .terminal .market-pills { display:none; }
}
@media (max-width:850px) {
  .terminal #bar { gap:2px; padding:5px 8px; }
  .terminal #bar .brand { display:none; }
  .terminal #bar .right { margin-left:auto; flex-wrap:nowrap; }
  .terminal #bar .sep { margin:0 4px; }
  .terminal #bar #indb { font-size:0; width:32px; padding:0; justify-content:center; gap:0; }
  .terminal #indb svg { display:block; }
  .terminal #status #st, .terminal #status #pubage, .terminal #status #bk { display:none; }
  .terminal #status #fresh { flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .terminal #terminaldock { box-shadow:-12px 0 36px rgba(0,0,0,.4); }
}
@media (max-width:540px) {
  .terminal { --tool-width:34px; --auction-height:30px; }
  .terminal #bar { padding:4px 6px; gap:2px; display:grid; grid-template-columns:88px minmax(0,1fr) 25px 32px 32px; }
  .terminal #bar > .sep { display:none; }
  .terminal #sym { width:86px; }
  .terminal #bar #tfgrp { min-width:0; overflow-x:auto; }
  .terminal #bar .grp button { padding:0 7px; font-size:11px; flex-shrink:0; }
  .terminal #bar #bookb { width:32px; padding:0; justify-content:center; }
  .terminal #bar .right { grid-column:1 / -1; width:100%; display:flex; justify-content:flex-end; border-top:1px solid var(--bd); margin:2px 0 0; padding-top:3px; gap:5px; }
  .terminal #bar #focusb { margin-right:auto; }
  .terminal #bar #follow span { display:inline; font-size:11px; }
  .terminal #bar #snd span { display:none; }
  .terminal #bar #snd { width:30px; padding:0; justify-content:center; }
  .terminal #bar #fit { width:30px; padding:0; justify-content:center; }
  .terminal #bar .right .sep { display:none; }
  .terminal #bar #aibtn .vd { display:none; }
  .terminal #raybar { padding:0 8px; }
  .terminal #rayread .k { display:none; }
  .terminal #contextcontrol { font-size:9px; margin-left:7px; }
  .terminal #quotehead { padding:5px 8px 6px; min-height:54px; }
  .terminal #lg0 .row:first-child { flex-wrap:nowrap; gap:6px; min-height:24px; }
  .terminal #lg0 .desc { display:none; }
  .terminal #ohlc { font-size:10px; }
  .terminal #ohlc .ohlc-volume { display:none; }
  .terminal #tools { gap:5px; }
  .terminal #tools button { width:28px; height:29px; }
  .terminal #tools button svg { width:16px; height:16px; }
  .terminal .lg:not(#lg0) { left:6px; width:calc(100% - 82px); }
  .terminal .lg:not(#lg0) .row { gap:4px; padding-right:39px; flex-wrap:nowrap; min-height:23px; }
  .terminal #wrap .lg .ctl button { width:17px; }
  .terminal #wrap .lg .ctl [data-gear], .terminal #wrap .lg [data-bk="p95"] { display:none; }
  .terminal .lg .desc { display:none; }
  .terminal .lg:not(#lg0) .row .macro-readings { flex-basis:0; min-width:0; }
  .terminal #terminaldock { width:min(340px,100%); }
  .terminal #status { padding:0 8px; gap:8px; }
  .terminal #status > span:first-child { display:none; }
  .terminal #status .hint { display:none; }
  .terminal #bar #indm { width:calc(100vw - 16px); }
  .terminal #indm label .nm { min-width:0; }
}
@media (prefers-reduced-motion:reduce) {
  .terminal *, .terminal *::before, .terminal *::after { transition:none !important; animation:none !important; }
}
