/* Yön Terminali: koyu işlem terminali, tek tema. Üst şerit + 12×12 sürükle-bırak ızgara. */
:root {
  color-scheme: dark;
  --ground: #0A0E13; --panel: #10161D; --raise: #18212B; --line: #1E2832; --line-2: #2D3A48;
  --ink: #DDE4EB; --ink-2: #97A4B2; --ink-3: #7D8A97; /* ink-3: panel ve raise zemininde ≥ 4.5:1 (WCAG AA) */
  --accent: #34C6D9; --ema2: #6EA6E0; --warn: #E2A63C;   /* marka (14 Eki 2026): camgöbeği etkileşim, amber uyarı */
  --buy: #23C07E; --sell: #EE5267; --flat: #7F8B98;
  --buy-bg: rgba(35,192,126,.14); --sell-bg: rgba(238,82,103,.14); --flat-bg: rgba(127,139,152,.13); --accent-bg: rgba(52,198,217,.14); --warn-bg: rgba(226,166,60,.14);
  --scrim: rgba(5,8,12,.74);
  --f-disp: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
  --f-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--ground); overflow-x: clip; }   /* sayfa genişliğini aşan bir öğe yatay kaydırma çubuğu çıkarmasın (clip: yapışkan sol menüyü bozmaz) */
/* tam ekran Pilot / Okay Pilot açıkken arkadaki sayfa kaymaz; sayfanın kaydırma çubukları görünmez */
body:has(> .vp:not([hidden])), body.has-full { overflow: hidden; }   /* tam ekran bölüm ya da Pilot açıkken sayfa kaydırma çubukları görünmez */
.vp * { scrollbar-width: thin; scrollbar-color: transparent transparent; }   /* iç kutuların kaydırma çubuğu yalnız fare üstündeyken */
.vp *:hover { scrollbar-color: var(--line-2) transparent; }
body { margin: 0; min-height: 100vh; background: var(--ground); color: var(--ink); font: 13px/1.4 var(--f-body); padding: 10px 12px 8px; }
.mono { font-family: var(--f-mono); font-variant-numeric: tabular-nums; }
.up { color: var(--buy); } .dn { color: var(--sell); } .muted { color: var(--ink-3); }
button, input, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* üst şerit */
.top { display: flex; align-items: center; gap: 8px 16px; flex-wrap: wrap; margin-bottom: 8px; }
.brand { font: 700 20px/1 var(--f-disp); letter-spacing: .08em; text-transform: uppercase; }
.brand span { color: var(--ink-3); font-weight: 500; margin-left: 4px; }
.pair { display: flex; align-items: center; gap: 8px; }
#exSel, #symIn { background: var(--raise); color: var(--ink); border: 1px solid var(--line-2); border-radius: 6px; font: 600 13px var(--f-mono); padding: 5px 7px; }
#symIn { width: 130px; text-transform: uppercase; }
.tp { font-size: 20px; font-weight: 600; min-width: 7ch; transition: color .2s; }
.chg { font-size: 13px; }
.meta { display: flex; gap: 14px; flex-wrap: wrap; color: var(--ink-3); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.meta b { display: block; color: var(--ink); font: 500 12px var(--f-mono); text-transform: none; letter-spacing: 0; }
.meta small { color: var(--ink-3); }
.tools { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.btn { display: inline-flex; align-items: center; gap: 6px; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; padding: 5px 10px; cursor: pointer; font-size: 12px; font-weight: 500; white-space: nowrap; color: var(--ink); }
.btn:hover { border-color: var(--ink-3); }
.btn[aria-pressed="true"], .btn.acc { color: var(--accent); border-color: var(--accent); background: var(--accent-bg); }
input.btn { cursor: text; width: 150px; }
.cons { display: flex; align-items: center; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.cons .lbl { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .07em; margin-right: 4px; }
.chip { border: 0; font: 600 11px var(--f-mono); padding: 4px 7px; border-radius: 4px; cursor: pointer; background: var(--flat-bg); color: var(--flat); }
.chip.buy { background: var(--buy-bg); color: var(--buy); } .chip.sell { background: var(--sell-bg); color: var(--sell); }
.chip.pend { box-shadow: inset 0 0 0 1px var(--warn); }
.consSum { font: 700 16px/1 var(--f-disp); letter-spacing: .05em; margin-left: 6px; }
.conn { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--ink-2); }
.conn i { width: 8px; height: 8px; border-radius: 50%; background: var(--flat); }
.conn.ok i { background: var(--buy); box-shadow: 0 0 0 3px var(--buy-bg); }
.conn.warn i { background: var(--warn); } .conn.warn { color: var(--warn); }
.conn.bad i { background: var(--sell); } .conn.bad { color: var(--sell); }
/* veri bayatsa paneller soluklaşır; saydamlık değil (tam ekranda arkadaki bölümler görünmesin) */
body.stale .grid-stack .panel { filter: grayscale(.7) brightness(.7); }

.editbar { display: none; align-items: center; gap: 8px; flex-wrap: wrap; padding: 8px 10px; margin-bottom: 8px; border: 1px dashed var(--accent); border-radius: 8px; background: var(--accent-bg); font-size: 12px; }
body.editing .editbar { display: flex; }
.eb-l { color: var(--ink-2); margin-right: auto; }
body.popmode .nopop, body.popmode .cons { display: none !important; }

/* ızgara ve bölümler */
.grid-stack { min-height: 300px; }
.grid-stack-item-content.panel { inset: 0; }
.panel { position: absolute; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; display: flex; flex-direction: column; overflow: hidden; transition: border-color .15s; }
.panel:hover { border-color: var(--line-2); }
body.editing .panel { cursor: default; border-style: dashed; }
.panel.full { position: fixed !important; inset: 0 !important; z-index: 900; border-radius: 0; border: 0; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); animation: pop .16s ease-out; }
@keyframes pop { from { opacity: .4; transform: scale(.985); } to { opacity: 1; transform: none; } }
.panel.fl-buy { animation: flb 1.4s ease-out; } .panel.fl-sell { animation: fls 1.4s ease-out; } .panel.fl-warn { animation: flw 1.4s ease-out; }
@keyframes flb { 0% { box-shadow: inset 0 0 0 2px var(--buy), 0 0 24px var(--buy-bg); } 100% { box-shadow: none; } }
@keyframes fls { 0% { box-shadow: inset 0 0 0 2px var(--sell), 0 0 24px var(--sell-bg); } 100% { box-shadow: none; } }
@keyframes flw { 0% { box-shadow: inset 0 0 0 2px var(--accent); } 100% { box-shadow: none; } }
.ph { display: flex; align-items: center; gap: 7px; padding: 6px 6px 6px 8px; border-bottom: 1px solid var(--line); flex: none; min-width: 0; overflow: hidden; }
.drag { color: var(--ink-3); cursor: grab; display: inline; font-size: 14px; line-height: 1; padding: 0 2px; touch-action: none; }
.drag:hover { color: var(--accent); }
/* tutamak kalıcı: başlık yeniden yazılınca gridstack tutamağı kaybolmasın (yoksa bölümün tamamı sürüklenir) */
.phx { display: contents; }
.popmode .drag { display: none; }
.ph h2 { margin: 0; font: 700 15px/1 var(--f-disp); letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.hx { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ed { display: none; align-items: center; gap: 4px; }
body.editing .ed { display: flex; }
.ed select, .osel { background: var(--raise); border: 1px solid var(--line-2); border-radius: 4px; font-size: 11px; padding: 2px 4px; max-width: 150px; }
.full .ph { padding: 10px 14px; } .full .ph h2 { font-size: 22px; }
.tag { font-size: 11px; color: var(--ink-2); white-space: nowrap; }
.sp { flex: 1; }
.pill { font: 700 12px/1 var(--f-disp); letter-spacing: .09em; padding: 5px 9px; border-radius: 999px; white-space: nowrap; background: var(--flat-bg); color: var(--flat); }
.pill.buy { background: var(--buy-bg); color: var(--buy); } .pill.sell { background: var(--sell-bg); color: var(--sell); } .pill.warn { background: var(--warn-bg); color: var(--warn); }
.full .pill { font-size: 15px; padding: 7px 12px; }
.xbtn { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid transparent; border-radius: 5px; background: none; color: var(--ink-3); cursor: pointer; flex: none; font-size: 16px; line-height: 1; }
.xbtn:hover { color: var(--ink); border-color: var(--line-2); }
.xbtn.rm:hover { color: var(--sell); }
.body { flex: 1; min-height: 0; overflow: auto; padding: 9px 11px; }
.body.nopad { padding: 0; }
.full .body { padding: 18px 22px; } .full .body.nopad { padding: 0; }
.empty { padding: 18px 10px; color: var(--ink-3); font-size: 12px; }
.seg { display: flex; gap: 1px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.seg button { background: none; border: 0; border-radius: 4px; color: var(--ink-3); font: 600 11px var(--f-mono); padding: 3px 5px; cursor: pointer; white-space: nowrap; }
.seg button.on { background: var(--raise); color: var(--ink); }

/* zaman dilimi */
.score { display: flex; align-items: flex-end; gap: 12px; }
.big { font-size: 30px; line-height: 1; font-weight: 700; }
.full .big { font-size: 72px; }
.sub .lbl { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .09em; }
.sub .conf { color: var(--ink-2); font-size: 12px; }
.dbar { position: relative; height: 8px; background: var(--raise); border-radius: 2px; margin: 9px 0; }
.dbar::after { content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: var(--ink-3); }
.dbar i { position: absolute; top: 0; bottom: 0; border-radius: 2px; transition: width .4s, left .4s, right .4s; }
.dbar.sm { height: 5px; margin: 0; }
.dbar .mk { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--ink); border-radius: 1px; transition: left .4s; }
.dbar.sm .mk { top: -2px; bottom: -2px; }
.scale { display: none; justify-content: space-between; font-size: 9px; color: var(--ink-3); margin: -5px 0 10px; }
.full .scale { display: flex; }
.pre { display: flex; align-items: center; gap: 6px 8px; flex-wrap: wrap; margin-bottom: 8px; font-size: 11px; }
.pl, .tl { font: 500 10px var(--f-body); color: var(--ink-3); text-transform: uppercase; letter-spacing: .09em; }
.pill2 { font: 700 11px/1 var(--f-disp); letter-spacing: .08em; padding: 3px 7px; border-radius: 999px; border: 1px dashed currentColor; color: var(--flat); white-space: nowrap; }
.pill2.buy { color: var(--buy); } .pill2.sell { color: var(--sell); }
.pst { color: var(--ink-3); } .pst.warn { color: var(--warn); }
.full .pre { font-size: 13px; margin-bottom: 14px; } .full .pill2 { font-size: 14px; padding: 5px 10px; }
.tgt { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 10px; font-size: 11px; color: var(--ink-2); margin-bottom: 9px; padding: 5px 8px; background: var(--raise); border-radius: 5px; }
.tgt .stp { color: var(--ink-3); }
.full .tgt { display: none; }
.groups { display: grid; gap: 6px; }
.g { display: grid; grid-template-columns: 82px minmax(0, 1fr) 38px; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-2); }
.g b { font: 500 12px var(--f-mono); text-align: right; color: var(--ink-2); }
.g b.up { color: var(--buy); } .g b.dn { color: var(--sell); }
.g.off { color: var(--ink-3); }
.full .g { font-size: 14px; grid-template-columns: 110px minmax(0, 1fr) 48px; }
.tcard, .weights, .dwrap { display: none; }
.full .tcard { display: block; margin-top: 18px; border: 1px solid var(--line-2); border-radius: 8px; padding: 12px 14px; }
.tcard h4 { margin: 0 0 8px; font: 700 15px var(--f-disp); letter-spacing: .07em; text-transform: uppercase; }
.tcard h4 span { font: 400 12px var(--f-body); letter-spacing: 0; text-transform: none; }
.tcard table { width: 100%; border-collapse: collapse; font-size: 13px; }
.tcard th { font: 500 10px var(--f-body); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); text-align: left; padding: 0 6px 6px; border-bottom: 1px solid var(--line); }
.tcard td { padding: 6px; border-bottom: 1px solid var(--line); }
.tcard th, .tcard td { white-space: nowrap; }
.tcard p { margin: 10px 0 0; font-size: 12px; line-height: 1.5; }
/* yatay kaydırmalı tablo kutusu: ızgara / esnek düzende içerik uzunsa sıfıra ezilmesin (overflow kutunun en küçük boyunu 0 yapar) */
.tscroll { overflow-x: auto; flex-shrink: 0; }
/* aynı sebeple ızgara panellerinde satırlar içerik boyunda (yoksa kutu büyür ama satır küçük kalır, tablolar üst üste biner) */
.memm, .karm, .riskm, .crm { grid-auto-rows: max-content; }
.full .weights { display: block; margin-top: 14px; font-size: 12px; color: var(--ink-3); line-height: 1.5; }
.full .tfwrap { display: grid; grid-template-columns: minmax(300px, 560px) minmax(0, 1fr); gap: 32px; align-items: start; }
.full .dwrap { display: block; }
.detail { width: 100%; border-collapse: collapse; font-size: 13px; }
.detail th { font: 500 10px var(--f-body); text-transform: uppercase; letter-spacing: .09em; color: var(--ink-3); text-align: left; padding: 0 10px 8px; border-bottom: 1px solid var(--line-2); white-space: nowrap; }
.detail td { padding: 7px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.detail tr.gs td { border-top: 1px solid var(--line-2); }
.detail tr.na td { color: var(--ink-3); }
.detail .gc { color: var(--ink-3); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.detail .note { color: var(--ink-2); font-size: 12px; }
.detail .pv { color: var(--ink-2); }
.r { text-align: right; }
.vt { font: 700 11px var(--f-disp); letter-spacing: .07em; padding: 2px 7px; border-radius: 3px; white-space: nowrap; }
.vt.buy { background: var(--buy-bg); color: var(--buy); } .vt.sell { background: var(--sell-bg); color: var(--sell); } .vt.flat { color: var(--ink-3); }
.vt.weak { background: none; border: 1px solid currentColor; }

/* piyasa */
.tabs { display: flex; align-items: center; gap: 2px; padding: 3px 8px 0; border-bottom: 1px solid var(--line); flex: none; overflow-x: auto; scrollbar-width: none; position: sticky; top: 0; background: var(--panel); z-index: 1; }
.tabs button { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--ink-3); font-weight: 600; font-size: 12px; padding: 6px 7px; cursor: pointer; white-space: nowrap; }
.tabs button.on { color: var(--ink); border-bottom-color: var(--accent); }
.find { margin-left: auto; background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 3px 7px; font-size: 11px; width: 80px; min-width: 60px; }
.list { padding: 3px 5px; }
.row { display: grid; grid-template-columns: 18px minmax(0, 1fr) minmax(0, 1fr) 60px 62px; align-items: center; gap: 8px; padding: 5px 5px; border-radius: 4px; font-size: 12px; }
.row[data-sym] { cursor: pointer; }
.row[data-sym]:hover { background: var(--raise); }
.row.sel { background: var(--accent-bg); }
.row.hd { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; padding-block: 4px 6px; }
.full .row { grid-template-columns: 24px minmax(90px, 1.2fr) minmax(90px, 1fr) 80px 90px 110px 110px minmax(120px, 1fr); font-size: 14px; padding-block: 7px; }
.xcol { display: none; }
.full .xcol { display: block; }
.rng { display: block; position: relative; height: 6px; background: linear-gradient(90deg, var(--sell-bg), var(--buy-bg)); border-radius: 3px; }
.rng i { position: absolute; top: -3px; width: 2px; height: 12px; margin-left: -1px; background: var(--ink); }
.sym { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sym small { color: var(--ink-3); font-weight: 400; }
.star { background: none; border: 0; padding: 0; cursor: pointer; color: var(--ink-3); font-size: 14px; line-height: 1; }
.star.on { color: var(--accent); }

/* grafik */
.chartbody { position: relative; margin: 3px 4px 4px 8px; }
.chartbody canvas, .histwrap canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.legend { position: absolute; left: 4px; right: 84px; top: 2px; display: flex; gap: 12px; font: 500 10px var(--f-mono); color: var(--ink-2); pointer-events: none; flex-wrap: wrap; }
.legend .a { color: var(--warn, var(--accent)); } .legend .b { color: var(--ema2); }

/* canlı skor */
.live { display: grid; grid-template-columns: minmax(100px, 38%) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 12px; }
.gbox { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; }
.gauge { width: 100%; max-width: 190px; overflow: visible; }
.ga { fill: none; stroke-width: 9; opacity: .28; transition: opacity .3s; }
.ga.on { opacity: 1; }
.ga.s { stroke: var(--sell); } .ga.f { stroke: var(--flat); } .ga.b { stroke: var(--buy); }
.needle { transform-origin: 60px 60px; transition: transform .6s cubic-bezier(.3, 1.4, .5, 1); }
.needle line { stroke: var(--ink); stroke-width: 2.5; stroke-linecap: round; }
.needle circle { fill: var(--ink); }
.lnum { font-size: 30px; font-weight: 700; line-height: 1; margin-top: 2px; }
.full .lnum { font-size: 64px; } .full .gauge { max-width: 380px; }
.ldir { font: 600 13px var(--f-disp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); margin-top: 4px; }
.lraw { font-size: 11px; color: var(--ink-3); }
.lright { display: flex; flex-direction: column; gap: 6px; min-height: 0; min-width: 0; }
.cdrow { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--ink-3); flex-wrap: wrap; }
.cd { height: 3px; background: var(--raise); border-radius: 2px; overflow: hidden; }
.cd i { display: block; height: 100%; width: 0; background: var(--accent); transition: width 1s linear; }
.histwrap { position: relative; flex: 1; min-height: 46px; }
.trig { font-size: 12px; color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 6px; padding: 7px 9px; display: grid; gap: 3px; }
.trig b { font: 700 14px/1 var(--f-disp); letter-spacing: .08em; }
.trig.buy { background: var(--buy-bg); border-color: transparent; } .trig.buy b { color: var(--buy); }
.trig.sell { background: var(--sell-bg); border-color: transparent; } .trig.sell b { color: var(--sell); }
.trig.warn b { color: var(--warn); }
.ltg { display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 11px; color: var(--ink); }
.full .trig { font-size: 14px; padding: 12px 14px; } .full .trig b { font-size: 20px; } .full .ltg { font-size: 14px; }
.comps, .rule { display: none; }
.full .live { grid-template-columns: minmax(260px, 420px) minmax(0, 1fr); grid-template-rows: minmax(280px, 1fr) auto auto; gap: 20px 32px; }
.full .comps { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.comp { border: 1px solid var(--line); border-radius: 6px; padding: 10px 12px; display: grid; gap: 6px; }
.comp .cn { display: flex; justify-content: space-between; gap: 8px; font-weight: 600; }
.comp .cd2 { font-size: 11px; color: var(--ink-3); }
.comp .cv { font: 500 15px var(--f-mono); }
.full .rule { display: block; grid-column: 1 / -1; margin: 0; color: var(--ink-3); font-size: 12px; max-width: 90ch; }

/* aggr */
.aggr { display: flex; flex-direction: column; }
.apx { display: flex; align-items: baseline; gap: 10px; padding: 8px 10px 6px; border-bottom: 1px solid var(--line); flex: none; }
.apxv { font-size: 20px; font-weight: 600; transition: color .15s; }
.full .apxv { font-size: 34px; }
.apxs { font-size: 11px; margin-left: auto; }
.vwin { padding: 4px 8px 6px; border-bottom: 1px solid var(--line); flex: none; }
/* dar bölümde −$459.3K gibi değerler iki satıra kırılıyordu: etiket ve çubuk sütunu daraldı, satır kırılmaz */
.vr { display: grid; grid-template-columns: 50px repeat(4, minmax(0, 1fr)) minmax(20px, 36px); gap: 4px; align-items: center; font-size: 11px; padding: 2px 2px; white-space: nowrap; }
.vr.hd { font-size: 9px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; }
.full .vr { font-size: 14px; grid-template-columns: 90px repeat(4, minmax(0, 1fr)) 140px; padding: 5px 2px; }
.tape { flex: 1; min-height: 0; overflow: auto; padding: 2px 6px; }
.tr { display: grid; grid-template-columns: 62px minmax(64px, 84px) minmax(56px, 72px) auto; justify-content: center; gap: 6px; font-size: 11px; padding: 2px 4px; border-radius: 3px; }
.tr.b span:nth-child(2) { color: var(--buy); } .tr.s span:nth-child(2) { color: var(--sell); }
.tr.big.b { background: var(--buy-bg); font-weight: 600; } .tr.big.s { background: var(--sell-bg); font-weight: 600; }
.tr.liq { box-shadow: inset 2px 0 0 var(--warn); }
.tr .tg { font: 700 9px var(--f-mono); color: var(--warn); align-self: center; }
.full .tr { font-size: 13px; padding: 4px 6px; grid-template-columns: 90px 110px 110px 40px; }   /* saat, fiyat, tutar ortada ve yakın */

/* emir defteri */
.book { font-size: 11px; }
.bh { display: grid; grid-template-columns: minmax(0, 1fr) 70px 70px; gap: 6px; padding: 6px 10px 4px; font-size: 9px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; position: sticky; top: 0; background: var(--panel); }
.br { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 70px 70px; gap: 6px; padding: 1px 10px; }
.br::before { content: ""; position: absolute; right: 0; top: 1px; bottom: 1px; width: var(--d); opacity: .9; }
.br.a::before { background: var(--sell-bg); } .br.b::before { background: var(--buy-bg); }
.br.a span:first-child { color: var(--sell); } .br.b span:first-child { color: var(--buy); }
.br span { position: relative; }
.bmid { padding: 5px 10px; font-size: 14px; font-weight: 600; border-block: 1px solid var(--line); }
.full .book, .full .br { font-size: 14px; } .full .br, .full .bh { grid-template-columns: minmax(0, 1fr) 120px 120px; }

/* gösterge kütüphanesi */
.modal { position: fixed; inset: 0; z-index: 70; background: var(--scrim); display: grid; place-items: center; padding: 16px; }
.mbox { background: var(--panel); border: 1px solid var(--line-2); border-radius: 10px; width: min(1180px, 100%); max-height: 100%; display: flex; flex-direction: column; overflow: hidden; }
.mh { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.mh h2 { margin: 0; font: 700 20px/1 var(--f-disp); letter-spacing: .07em; text-transform: uppercase; }
.mbody { overflow: auto; padding: 16px 18px; display: grid; gap: 22px; }
.lgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.lcol h3, .alm h3 { margin: 0 0 6px; font: 700 14px var(--f-disp); letter-spacing: .08em; text-transform: uppercase; display: flex; justify-content: space-between; gap: 8px; }
.lcol h3 span { font: 400 11px var(--f-mono); color: var(--ink-3); letter-spacing: 0; }
.li { display: flex; gap: 9px; align-items: flex-start; padding: 6px; border-radius: 5px; cursor: pointer; }
.li:hover { background: var(--raise); }
.li input { accent-color: var(--accent); margin: 3px 0 0; flex: none; }
.li b { font-weight: 600; }
.li small { display: block; color: var(--ink-3); font-size: 11px; line-height: 1.35; }
.rec { font: 600 9px var(--f-mono); font-style: normal; color: var(--accent); border: 1px solid var(--accent); padding: 0 4px; border-radius: 3px; margin-left: 5px; text-transform: uppercase; vertical-align: 1px; }
.alm .opts { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.alm .opts .li { padding: 4px 6px; }
.alm p { margin: 4px 0 8px; color: var(--ink-3); font-size: 12px; }

/* bildirimler */
.toasts { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 80; display: flex; flex-direction: column; gap: 8px; width: min(380px, calc(100vw - 32px)); }
.toast { background: var(--raise); border: 1px solid var(--line-2); border-radius: 8px; padding: 10px 12px; display: grid; gap: 4px; box-shadow: 0 10px 28px rgba(0,0,0,.45); cursor: pointer; animation: tin .22s ease-out; }
.toast.buy { border-color: var(--buy); } .toast.sell { border-color: var(--sell); } .toast.warn { border-color: var(--warn); }
.toast .th { display: flex; gap: 8px; align-items: center; font-weight: 600; }
.toast .tb { font: 12px/1.5 var(--f-mono); color: var(--ink-2); }
@keyframes tin { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .cons { margin-left: 0; }
  .full .tfwrap, .full .live { grid-template-columns: minmax(0, 1fr); }
  .detail { display: block; overflow-x: auto; }
}
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

/* parite seçici */
.pickwrap { position: relative; }
.symbtn { background: var(--raise); color: var(--ink); border: 1px solid var(--line-2); border-radius: 6px; font-weight: 600; font-size: 14px; padding: 5px 9px; cursor: pointer; min-width: 120px; text-align: left; }
.symbtn small, .pk small { color: var(--ink-3); font-weight: 400; }
.picker { position: absolute; top: calc(100% + 6px); left: 0; z-index: 60; width: min(520px, calc(100vw - 32px)); background: var(--panel); border: 1px solid var(--line-2); border-radius: 8px; box-shadow: 0 16px 40px rgba(0,0,0,.5); display: flex; flex-direction: column; max-height: 70vh; }
.pkh { display: flex; align-items: center; gap: 10px; padding: 10px; border-bottom: 1px solid var(--line); }
.pkh input { flex: 1; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; padding: 7px 9px; font-size: 14px; }
.pkt { display: flex; gap: 2px; padding: 4px 10px 0; border-bottom: 1px solid var(--line); }
.pkt button { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--ink-3); font-weight: 600; font-size: 12px; padding: 6px 7px; cursor: pointer; }
.pkt button.on { color: var(--ink); border-bottom-color: var(--accent); }
.pklist { overflow: auto; padding: 4px 6px 8px; }
.pk { display: grid; grid-template-columns: 18px minmax(0, 1fr) 100px 70px 72px; gap: 8px; align-items: center; padding: 5px 6px; border-radius: 4px; font-size: 12px; cursor: pointer; }
.pk.hd { cursor: default; font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; padding: 6px 16px 2px; }
.pk:not(.hd):hover, .pk.on { background: var(--raise); }
.pk.cur { box-shadow: inset 0 0 0 1px var(--accent); }
kbd { font: 600 10px var(--f-mono); border: 1px solid var(--line-2); border-radius: 3px; padding: 0 4px; color: var(--ink-3); }
.small { font-size: 11px; }
.warn { color: var(--warn); }
.tgl { background: none; border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink-3); font: 600 10px var(--f-mono); padding: 2px 5px; cursor: pointer; }
.tgl.on { color: var(--accent); border-color: var(--accent); }
.exb { font: 700 9px var(--f-mono); color: var(--ink-3); margin-right: 2px; }
.btn.sm { padding: 3px 7px; font-size: 11px; }

/* sabit pencereler */
#floats { position: fixed; inset: 0; pointer-events: none; z-index: 45; }
/* yüzen penceredeki bölüm tam ekrana alınınca üst şeridin (z 60) altında kalmasın */
#floats:has(.panel.full) { z-index: 900; }
.float { position: absolute; pointer-events: auto; resize: both; overflow: hidden; min-width: 280px; min-height: 220px; border-radius: 8px; box-shadow: 0 18px 48px rgba(0,0,0,.55); }
.float > .panel { inset: 0; cursor: default; border-color: var(--line-2); }
.float .ph { cursor: move; }

/* pozisyon hesaplayıcı */
.calc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; align-content: start; }
.cform { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 6px 8px; align-items: end; }
.cform label { display: grid; gap: 2px; font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; }
.cform input, .cform select { background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 4px 6px; font: 500 12px var(--f-mono); color: var(--ink); text-transform: none; letter-spacing: 0; min-width: 0; }
.kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px 14px; }
.kv div { display: grid; gap: 1px; } .kv span { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; } .kv b { font-size: 13px; font-weight: 600; }
.warnbox { border: 1px solid var(--warn); background: var(--warn-bg); color: var(--warn); border-radius: 6px; padding: 6px 9px; font-size: 12px; }
.ctab, .ptab { width: 100%; border-collapse: collapse; font-size: 12px; }
.ctab th, .ptab th { font: 500 10px var(--f-body); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); text-align: left; padding: 4px 6px; border-bottom: 1px solid var(--line-2); }
.ctab td, .ptab td { padding: 4px 6px; border-bottom: 1px solid var(--line); }
.full .calc { grid-template-columns: minmax(300px, 520px) minmax(0, 1fr); gap: 24px; }

/* kilit seviyeler */
.lv { display: grid; grid-template-columns: minmax(0, 1fr) 90px 64px 52px; gap: 8px; padding: 4px 6px; font-size: 12px; border-radius: 4px; }
.lv .tg { font: 600 9px var(--f-mono); text-transform: uppercase; color: var(--ink-3); align-self: center; text-align: right; }
.lv.r span:first-child { color: var(--sell); } .lv.s span:first-child { color: var(--buy); } .lv.v span:first-child { color: var(--ema2); }
.lv.near { background: var(--raise); font-weight: 600; }
.lv.now { border-block: 1px solid var(--line-2); font-weight: 700; margin: 3px 0; }

/* alarmlar */
.alarms h4, .body h4 { margin: 10px 0 6px; font: 700 13px var(--f-disp); letter-spacing: .08em; text-transform: uppercase; }
.alarms h4:first-child { margin-top: 0; }
.arow { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; font-size: 12px; }
.arow label { display: inline-flex; gap: 4px; align-items: center; }
.alist { display: grid; gap: 2px; }
.ai { display: grid; grid-template-columns: minmax(0, 1fr) 60px 110px 60px 24px; gap: 6px; align-items: center; font-size: 12px; padding: 2px 4px; border-radius: 4px; }
.ai:hover { background: var(--raise); }
.conds .li { padding: 3px 4px; font-size: 12px; }
.mini { width: 72px; background: var(--raise); border: 1px solid var(--line-2); border-radius: 4px; padding: 1px 4px; font: 500 11px var(--f-mono); }

/* performans ve tarayıcı */
.prow-wrap { display: grid; gap: 1px; }
.prow { display: grid; grid-template-columns: 62px minmax(70px, 1fr) 46px 76px 90px minmax(90px, 1.2fr); gap: 8px; font-size: 11px; padding: 3px 4px; }
.row.scan { grid-template-columns: minmax(70px, 1.2fr) minmax(70px, 1fr) 62px 62px 62px 58px 62px; }

/* Jev */
.jv { display: grid; gap: 8px; }
.jr { display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 6px; padding: 8px 10px; }
.jr.old { opacity: .7; padding: 4px 10px; }
.jb { display: grid; grid-template-columns: 70px minmax(0, 1fr) 44px; gap: 8px; align-items: center; font-size: 11px; }
.jbar { height: 6px; background: var(--raise); border-radius: 3px; overflow: hidden; }
.jbar i { display: block; height: 100%; }
.jbar i.buy { background: var(--buy); } .jbar i.sell { background: var(--sell); } .jbar i.flat { background: var(--flat); }
.btn:disabled { opacity: .5; cursor: not-allowed; }

/* Jev rejim göstergesi */
.rgm { font-size: 11px; color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
.rgm.trend b { color: var(--buy); } .rgm.range b { color: var(--ema2); } .rgm.chop { border-color: var(--warn); } .rgm.chop b { color: var(--warn); }
.jtag { font: 700 10px var(--f-mono); padding: 1px 6px; border-radius: 3px; background: var(--flat-bg); color: var(--flat); }
.jtag.confirm { background: var(--buy-bg); color: var(--buy); } .jtag.contradict { background: var(--sell-bg); color: var(--sell); }

/* ısı haritası */
.heat { display: flex; flex-direction: column; background: #06070d; }
.hstat { display: flex; flex-wrap: wrap; gap: 3px 14px; padding: 5px 8px; font-size: 11px; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.hstat b { font-family: var(--f-mono); font-weight: 600; }
.hwrap { position: relative; flex: 1; min-height: 120px; }
.hwrap canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hleg { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 8px; font-size: 10px; color: var(--ink-3); border-top: 1px solid var(--line); }
.hleg i { display: inline-block; width: 120px; height: 8px; border-radius: 2px; }
.hleg b { font-weight: 500; } .lg-b { color: var(--buy); } .lg-s { color: var(--sell); } .lg-a { color: #3fd0ff; } .lg-c { color: #ff9a2e; }

/* Jev araçları */
.posbox { display: grid; gap: 6px; border: 1px solid var(--accent); border-radius: 6px; padding: 8px 10px; background: var(--accent-bg); }
.cpos { margin-bottom: 8px; }
.jsub { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; margin-top: 4px; }
.jrank { border-bottom: 1px solid var(--line); padding: 4px 6px; display: grid; gap: 2px; }
.jrh { display: flex; justify-content: space-between; gap: 8px; padding: 2px 4px; font-size: 12px; }
.row.scan.jr3 { grid-template-columns: minmax(70px, 1fr) 96px 52px minmax(60px, 1fr); }
.evr { display: grid; grid-template-columns: 62px minmax(0, 1.4fr) minmax(0, 1fr) 70px 64px; gap: 8px; align-items: center; font-size: 12px; padding: 4px 2px; border-bottom: 1px solid var(--line); }

/* grafik: araç çubuğu (yalnızca tam ekranda), görünüm sıfırlama, yapı katmanı */
.chartbody .ctools { display: none; }
.full .chartbody .ctools { display: flex; position: absolute; left: 4px; right: 84px; top: 0; height: 26px; align-items: center; gap: 12px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; z-index: 2; }
.ctools .cg { display: flex; gap: 3px; flex: none; }
.ctools button { background: none; border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink-3); font: 600 11px var(--f-mono); padding: 2px 7px; cursor: pointer; white-space: nowrap; }
.ctools button.on { color: var(--accent); border-color: var(--accent); background: var(--accent-bg); }
.full .chartbody canvas { top: 30px; height: calc(100% - 30px); touch-action: none; }
.full .chartbody .legend { top: 32px; font-size: 12px; }
.chartbody canvas { cursor: crosshair; }
.vreset { position: absolute; right: 84px; bottom: 20px; background: var(--raise); border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink-2); font-size: 13px; line-height: 1; padding: 3px 6px; cursor: pointer; z-index: 2; }

/* piyasa: Jev seçimi sekmesi */
.row.jr { grid-template-columns: 18px minmax(60px, 140px) 84px 34px minmax(40px, 80px) 62px; justify-content: start; }   /* sütunlar esnemez: parite ile yön arası boşluk kalmaz */
.full .row.jr { grid-template-columns: 30px minmax(100px, 180px) 110px 60px minmax(80px, 200px) 90px; }
.jnote { padding: 6px 6px 10px; margin: 0; }

/* Jev canlı */
.jlive { display: flex; flex-direction: column; }
.jls { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 8px 10px; border-bottom: 1px solid var(--line); flex: none; font-size: 11px; }
.jls > div { display: flex; flex-direction: column; gap: 2px; } .jls > div > span { color: var(--ink-3); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.jls b { font-size: 13px; }
.jls .jlk { flex-direction: row; flex-wrap: wrap; gap: 4px 10px; width: 100%; color: var(--ink-3); }
.jls .jlk b { font-size: 11px; color: var(--ink-2); }
.jlf { overflow-y: auto; flex: 1; padding: 3px 5px; }
.jle { display: grid; grid-template-columns: 52px 58px minmax(0, 1fr) auto; align-items: center; gap: 2px 6px; padding: 5px; border-radius: 4px; font-size: 12px; border-bottom: 1px solid var(--line); }
.jle[data-jsym] { cursor: pointer; } .jle[data-jsym]:hover { background: var(--raise); }
.jle.sel { background: var(--accent-bg); }
.jle.new { animation: jlnew 1.2s ease-out; }
@keyframes jlnew { from { background: var(--accent-bg); } to { background: transparent; } }
.jle .jk { font: 600 10px var(--f-mono); color: var(--ink-2); text-transform: uppercase; }
.jle .jms { grid-column: 1 / 3; grid-row: 2; font-size: 10px; }
.jle .jsub { grid-column: 3 / -1; grid-row: 2; color: var(--ink-3); font-size: 11px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.jle .pill { white-space: nowrap; }
.jlf { overflow-x: hidden; }
.full .jle { font-size: 14px; grid-template-columns: 80px 90px minmax(120px, 220px) auto 120px minmax(0, 1fr); }
.full .jle .jms, .full .jle .jsub { grid-row: auto; grid-column: auto; }

/* Jev canlı: yön analizi */
.jlb { flex: none; border-bottom: 1px solid var(--line); }
.jbias { padding: 8px 10px; display: grid; gap: 6px; }
.jbias p { margin: 0; }
.jbh { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.jbh .seg { margin-left: auto; }
.jbp { display: grid; gap: 4px; }
.jbias .jb { grid-template-columns: 52px minmax(0, 1fr) 44px; font-size: 12px; }
.jbias .jbar { height: 9px; }
.jbf { display: flex; gap: 6px 14px; flex-wrap: wrap; color: var(--ink-2); }
.jbf .warn { color: var(--warn); }
.jbhist summary { cursor: pointer; }
.jbhist .jbr { display: grid; grid-template-columns: 58px minmax(70px, 1fr) 56px 58px 70px 76px 70px; gap: 6px; font-size: 11px; padding: 2px 0; border-bottom: 1px solid var(--line); }
.full .jbias .jb { font-size: 15px; grid-template-columns: 80px minmax(0, 1fr) 60px; } .full .jbias .jbar { height: 14px; }

/* üst şerit: kolon seçici */
.colseg { display: inline-flex; align-items: center; gap: 4px; padding-block: 2px; cursor: default; }
.colseg .seg button { font-size: 12px; padding: 2px 7px; }
.colseg .seg button.on { color: var(--accent); }
/* köşe boyutlandırma tutamakları yalnızca üzerine gelince */
#grid .grid-stack-item > .ui-resizable-handle { opacity: 0; transition: opacity .15s; }
#grid .grid-stack-item:hover > .ui-resizable-handle, #grid .grid-stack-item.ui-resizable-resizing > .ui-resizable-handle { opacity: .9; }
/* grafik: tıklayıp sürükleyince metin seçimi ve odak çerçevesi oluşmasın */
.chartbody, .chartbody * { -webkit-user-select: none; user-select: none; }
.panel:has(.chartbody):focus, .panel:has(.chartbody):focus-visible { outline: none; }
/* klavyeyle odaklanan grafik bölümü çerçeve rengiyle belli olur (taşan dış çizgi yerine) */
.panel:has(.chartbody):focus-visible:not(.full) { border-color: var(--accent); }
.ctools button:disabled { opacity: .4; cursor: default; }

/* piyasa listesi: funding, açık pozisyon, sıralanabilir başlıklar */
.row.mk { grid-template-columns: 18px minmax(60px, 1fr) 84px 64px 70px 88px 72px; gap: 6px; }
.full .row.mk { grid-template-columns: 24px minmax(110px, 1.2fr) 96px 100px 72px 76px 92px 96px 80px 96px 96px minmax(100px, 1fr); gap: 14px; }
.row.mk .mh { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; cursor: pointer; text-align: left; white-space: nowrap; }
.row.mk .mh.r { text-align: right; }
.row.mk .mh:hover, .row.mk .mh.on { color: var(--accent); }
.row.mk .fa { font-style: normal; margin-left: 2px; font-size: 10px; }
.mnote { padding: 6px 8px 10px; margin: 0; }

/* sembol kartı */
.scard { display: grid; gap: 8px; align-content: start; }
.sch { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 14px; align-items: center; }
.sch .scs1 { font-size: 15px; } .sch .scs1 small { color: var(--ink-3); font-weight: 400; }
.sch .scp { display: flex; gap: 8px; align-items: baseline; } .sch .scp b { font-size: 18px; }
.sch .scf { display: grid; justify-items: end; line-height: 1.25; } .sch .scf b { font-size: 14px; }
.scs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.scb { border: 1px solid var(--line-2); border-radius: 6px; padding: 5px 7px; display: grid; gap: 3px; }
.scb .scl { display: flex; justify-content: space-between; gap: 6px; font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.scb .scl b { text-transform: none; letter-spacing: 0; font-size: 11px; color: var(--ink); white-space: nowrap; }
.scb canvas { width: 100%; height: 42px; display: block; }
.scbars { display: grid; gap: 6px; }
.cbar { border: 1px solid var(--line); border-radius: 6px; padding: 5px 7px; }
.cbl { display: flex; justify-content: space-between; font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 3px; }
.cbr { display: grid; grid-template-columns: 62px minmax(0, 1fr) 62px; gap: 6px; align-items: center; font-size: 11px; }
.cbr b:last-child { text-align: right; }
.lsb { height: 8px; background: var(--sell); border-radius: 4px; overflow: hidden; } .lsb i { display: block; height: 100%; background: var(--buy); }
.scg { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 6px; }
.scg > div { border: 1px solid var(--line); border-radius: 6px; padding: 5px 7px; display: grid; gap: 2px; }
.scg span { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; } .scg b { font-size: 12px; }
.full .scb canvas { height: 90px; } .full .cbr { font-size: 14px; grid-template-columns: 90px minmax(0, 1fr) 90px; } .full .lsb { height: 12px; }

/* Leoneddo v5 kartı */
.leo { display: grid; gap: 8px; }
.leoh { display: flex; align-items: center; gap: 10px; } .leoh b { font-size: 17px; } .leoh .mono { margin-left: auto; font-size: 13px; }
.leog { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 6px; }
.leog > div { border: 1px solid var(--line); border-radius: 6px; padding: 5px 7px; display: grid; gap: 2px; }
.leog span { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .05em; }
.full .leoh b { font-size: 24px; }

/* strateji kurucu */
.strat .stn, .strat .stl { padding: 8px 10px; display: grid; gap: 8px; align-content: start; }
.strat textarea { width: 100%; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); font: 12px/1.45 var(--f-body); padding: 8px; resize: vertical; }
.strat .stjs { font: 11px/1.4 var(--f-mono); }
.strat .arow { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.stcard { border: 1px solid var(--line-2); border-radius: 8px; padding: 8px 10px; display: grid; gap: 6px; }
.stcard h4 { margin: 0; font-size: 12px; }
.stsum { margin: 0; padding-left: 16px; display: grid; gap: 2px; font-size: 12px; }
.stpre { max-height: 240px; overflow: auto; font: 10px/1.35 var(--f-mono); background: var(--raise); padding: 6px; border-radius: 4px; margin: 4px 0 0; }
.steq { width: 100%; height: 70px; display: block; }
.sttr { display: grid; gap: 2px; font-size: 11px; max-height: 200px; overflow: auto; }
.sttr > div { display: grid; grid-template-columns: 92px 46px minmax(0, 1fr) minmax(70px, auto) 110px; gap: 6px; }
.stit { border: 1px solid var(--line-2); border-radius: 8px; padding: 8px 10px; display: grid; gap: 5px; }
.stih { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; } .stih b { font-size: 13px; }
.stpos { font-size: 12px; font-family: var(--f-mono); }
.strat .warnbox.dn { color: var(--sell); border-color: var(--sell); background: var(--sell-bg); }

/* üst şerit: ana eğilim + scalp baskısı özeti */
.consTrend { flex-basis: 100%; text-align: right; font-size: 11px; color: var(--ink-2); margin-top: 2px; }
.consTrend b { font-weight: 700; } .consTrend small { color: var(--ink-3); } .consTrend i { color: var(--ink-3); font-style: normal; }

/* dominans bölümü */
.domm { display: flex; flex-direction: column; }
.domm > * { flex-shrink: 0; }
.domm .dtab td:first-child { white-space: nowrap; }
.domm .dtab canvas { width: 110px; height: 22px; display: block; }
.domm .dread { padding: 8px 10px; display: grid; gap: 6px; font-size: 12px; }
.domm .drow { display: grid; grid-template-columns: 130px 1fr; gap: 8px; align-items: baseline; }
.domm .drow .lbl { color: var(--ink-3); font-size: 11px; }
.domm .dnote { padding: 0 10px 8px; margin: 0; }

/* Sor bölümü */
.askm { display: flex; flex-direction: column; }
.askm .aslog { flex: 1; min-height: 0; overflow-y: auto; padding: 8px 10px; display: grid; gap: 10px; align-content: start; }
.askm .asex { display: flex; flex-wrap: wrap; gap: 6px; }
.askm .asex .btn { font-size: 11px; text-align: left; white-space: normal; }
.askm .asu { justify-self: end; max-width: 85%; background: var(--raise); border: 1px solid var(--line-2); border-radius: 8px; padding: 6px 9px; font-size: 12px; }
.askm .asa { font-size: 12.5px; line-height: 1.5; }
.askm .asm { margin-top: 4px; }
.askm .asin { flex-shrink: 0; display: flex; gap: 6px; padding: 8px 10px; border-top: 1px solid var(--line); }
.askm textarea { flex: 1; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); font: 12px/1.45 var(--f-body); padding: 6px 8px; resize: none; }
.askm .tabs { flex-shrink: 0; }

/* üyelik: giriş ekranı ve kullanıcı kutusu */
body.auth > header, body.auth > .editbar, body.auth > main, body.auth > #floats { display: none; }
.authbox { min-height: 100vh; display: grid; place-items: center; padding: 16px; }
.authcard { width: min(380px, 100%); background: var(--panel, var(--raise)); border: 1px solid var(--line-2); border-radius: 10px; padding: 22px; display: grid; gap: 12px; }
.authcard .brand { font-size: 22px; }
.authcard form { display: grid; gap: 10px; }
.authcard label { display: grid; gap: 4px; font-size: 12px; color: var(--ink-2); }
.authcard input { background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); font: 14px var(--f-body); padding: 9px 10px; }
.authcard .autherr { color: var(--sell, #f23645); min-height: 1em; margin: 0; font-size: 13px; }
.userbox { display: inline-flex; align-items: center; gap: 6px; }
.memm { display: grid; gap: 8px; align-content: start; }
.memm .arow { display: flex; gap: 6px; flex-wrap: wrap; }

/* işlem karnesi */
.karm { display: grid; gap: 8px; align-content: start; }
.karm .kgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.karm .kgrid > div { background: var(--raise); border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; display: grid; gap: 3px; }
.karm .kgrid span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); }
.karm .kmsg { margin: 0; font-size: 13px; line-height: 1.5; }
.askm [data-mic].on { background: var(--sell, #f23645); color: #fff; }
.askm .asvo { flex-shrink: 0; padding: 0 10px 8px; display: flex; gap: 6px; align-items: center; }
.askm .asst { flex-shrink: 0; padding: 0 10px 4px; }
.tfch { display: block; width: 100%; height: 38vh; min-height: 240px; margin-bottom: 16px; }
.tfchh { display: flex; gap: 14px; align-items: center; margin-bottom: 6px; }
/* tam ekran açıkken diğer bölümlerin boyutlandırma tutamakları gizli (görünmez tutamağa denk gelen sürükleme o bölümü öne alıp saydamlaştırıyordu) */
body.has-full #grid .grid-stack-item > .ui-resizable-handle { display: none !important; }

/* ekonomik takvim */
.calm { display: flex; flex-direction: column; }
.calm .callist { padding: 0 10px 6px; }
.calm .calday { font: 600 11px var(--f-body); text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); padding: 10px 0 4px; border-bottom: 1px solid var(--line); }
.calm .calrow { display: grid; grid-template-columns: 46px 14px 34px minmax(0, 1fr) auto auto; gap: 8px; align-items: baseline; padding: 5px 0; border-bottom: 1px solid var(--line); font-size: 12.5px; }
.calm .calrow.past { opacity: .6; } .calm .calrow.soon { background: var(--raise); }
.calm .calsum { padding: 6px 10px; margin: 0; }

/* son dakika */
.newsm { display: flex; flex-direction: column; }
.newsm .nlist { padding: 0 8px; }
.newsm .nrow { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 8px; padding: 6px 4px; border-bottom: 1px solid var(--line); color: var(--ink-2); text-decoration: none; font-size: 12.5px; line-height: 1.4; }
.newsm .nrow:hover { background: var(--raise); }
.newsm .nrow.imp2 { color: var(--ink); border-left: 2px solid var(--sell); padding-left: 6px; }
.newsm .nrow.imp1 { color: var(--ink); }
.newsm .nrow.mine { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.newsm .nsrc { font: 600 10px var(--f-mono); color: var(--ink-3); margin-right: 6px; text-transform: uppercase; }
.newsm .ncat { font: 600 10px var(--f-mono); color: var(--sell); margin-right: 6px; text-transform: uppercase; }
.newsm .ncoin { display: inline-block; margin-left: 6px; padding: 0 5px; border: 1px solid var(--line-2); border-radius: 4px; font: 600 10px var(--f-mono); color: var(--accent); cursor: pointer; }
.newsm .ncoin:hover { border-color: var(--accent); }
.newsm .nsum { padding: 6px 10px; margin: 0; }
/* tam ekran: diğer bölümler tamamen gizli (hiçbir koşulda arkadan görünmesin), tam ekran bölüm her zaman opak */
body.has-full #grid > .grid-stack-item:not(:has(> .panel.full)) { visibility: hidden !important; }
.panel.full { background: var(--panel, #10161D) !important; opacity: 1 !important; filter: none !important; }
.toast[data-go], .toast[data-tfi] { cursor: pointer; }
.domc { cursor: help; white-space: nowrap; } .domc b { font-weight: 700; }
.domc .dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; vertical-align: middle; margin-left: 2px; }
.domc .dot.buy { background: var(--buy); } .domc .dot.sell { background: var(--sell); } .domc .dot.flat { background: var(--ink-3); }
/* başlık hücreleri: sağa hizalı sütunlarda başlık da değerlerin üstüne gelsin (.detail th vb. sola hizayı ezer) */
th.r, .detail th.r, .tcard th.r, .ctab th.r, .ptab th.r { text-align: right; }
.newsm .nsrc.exs { color: var(--warn, #E5B567); }
/* bildirimden açılan bölüm: ortada açılır pencere, arka plan karartılır */
.panel.full.pop { inset: 7vh max(16px, calc(50vw - 520px)) !important; border-radius: 12px; border: 1px solid var(--line-2); box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .6), 0 24px 70px rgba(0, 0, 0, .7); overflow: auto; }
@media (max-width: 700px) { .panel.full.pop { inset: 4vh 8px !important; } }
.alexbox { border: 1px solid var(--line-2); border-radius: 8px; padding: 8px 10px; margin-bottom: 10px; }
.alexl { list-style: none; margin: 6px 0 0; padding: 0; font-size: 12.5px; display: grid; gap: 3px; }
.alexl b { display: inline-block; width: 14px; } .alexl li.up b { color: var(--buy, #2BC48A); } .alexl li.warn b { color: var(--warn, #E5B567); } .alexl li.dn b { color: var(--sell, #F0616D); }
.cform .rm-m, .cform .rm-p { display: contents; } .cform.mm .rm-p, .cform:not(.mm) .rm-m { display: none; }
.cform input[readonly] { opacity: .75; }
/* listeler: her satır ayrı ızgara olunca uzun değerler (0.00208400 gibi) sütunu yalnız o satırda genişletip başlıkla hizayı bozuyordu.
   Liste tek ızgara, satırlar onun sütunlarını paylaşır (subgrid): sütun en uzun değere göre genişler, başlık ve tüm satırlar hizalı kalır. */
.list.mkgrid { display: grid; grid-template-columns: 18px minmax(60px, 1fr) 84px 64px 70px 88px 72px; column-gap: 6px; align-content: start; overflow-x: auto; }
.full .list.mkgrid { grid-template-columns: 24px minmax(110px, 1.2fr) 96px 100px 72px 76px 92px 96px 80px 96px 96px minmax(100px, 1fr); column-gap: 14px; }
.list:has(> .row.scan:not(.jr3)) { display: grid; grid-template-columns: minmax(96px, max-content) repeat(6, minmax(66px, max-content)); justify-content: start; column-gap: 0; align-content: start; overflow-x: auto; }
/* Fırsat tarayıcı: sütunlar içerik genişliğinde, aralarında ince ayırıcı çizgi (parite ile fiyat arasında boşluk kalmasın) */
.list > .row.scan:not(.jr3) { padding-block: 0; border-radius: 0; border-bottom: 1px solid color-mix(in srgb, var(--line) 55%, transparent); }
.list > .row.scan:not(.jr3) > span { padding: 6px 10px; border-left: 1px solid var(--line); align-self: stretch; display: flex; align-items: center; gap: 2px; }
.list > .row.scan:not(.jr3) > span.r { justify-content: flex-end; }
.list > .row.scan:not(.jr3) > span:first-child { border-left: 0; padding-left: 8px; }
.list.mkgrid > .row.mk, .list > .row.scan:not(.jr3) { grid-column: 1 / -1; grid-template-columns: subgrid; column-gap: inherit; }
.list.mkgrid > :not(.row), .list:has(> .row.scan:not(.jr3)) > :not(.row) { grid-column: 1 / -1; }
/* piyasa listesi başlık düğmeleri: genel .mh (bölüm başlığı, flex) sınıfı sağa hizayı ve gizli sütunları bozuyordu */
.row.mk .mh { display: block; } .row.mk .mh.xcol { display: none; } .full .row.mk .mh.xcol { display: block; }
/* Okaypilot: sol gezinme ve çalışma alanları */
.shell { display: flex; gap: 8px; align-items: flex-start; }
.shell > #grid { flex: 1; min-width: 0; }
.ws { flex: 0 0 128px; position: sticky; top: 8px; display: flex; flex-direction: column; gap: 2px; padding-top: 2px; }
.ws button { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; text-align: left; background: none; border: 0; color: var(--ink-2); padding: 8px 10px; border-radius: 6px; font: 500 13px var(--f-body); cursor: pointer; min-height: 36px; }
.ws button:hover { color: var(--ink); background: var(--raise); }
.ws button.on { color: var(--ink); background: var(--raise); box-shadow: inset 0 -2px 0 var(--accent); }
.ws button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.ws kbd { font: 10px var(--f-mono); color: var(--ink-3); white-space: nowrap; flex: none; } /* "Sanal hesap" gibi iki satıra inen adlarda kısayol "Alt / 2" diye bölünmesin */
.ws .sep { height: 1px; background: var(--line); margin: 8px 4px; }
body.popmode .ws { display: none; }
body:not(.ws-ozel) #laySel, body:not(.ws-ozel) .colseg { display: none; }
@media (max-width: 760px) {
  /* align-items: flex-start sütun yönünde ızgarayı 0 genişliğe düşürüyordu (bölümler görünmüyordu) */
  .shell { flex-direction: column; align-items: stretch; }
  /* üst bar telefonda sayfayı yatay taşırmasın: parite satırı alta kayar, Uyum çipleri kendi içinde kayar */
  .pair { flex-wrap: wrap; }
  .top > .cons { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .ws { position: static; flex: none; width: 100%; flex-direction: row; overflow-x: auto; padding-bottom: 2px; }
  .ws button { flex: 0 0 auto; }
  .ws kbd, .ws .sep { display: none; }
}
/* Okaypilot: menü düğmesi, terminal anahtarı, kapanır sol menü, gömülü sanal terminal */
.navbtn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: none; border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink-2); cursor: pointer; }
.navbtn:hover, .navbtn:focus-visible { color: var(--ink); border-color: var(--ink-3); outline: none; }
.term { display: inline-flex; border: 1px solid var(--line-2); border-radius: 6px; overflow: hidden; }
.term button { background: none; border: 0; color: var(--ink-2); font: 600 13px var(--f-body); padding: 6px 14px; cursor: pointer; min-height: 34px; }
.term button + button { border-left: 1px solid var(--line-2); }
.term button.on { background: var(--accent-bg); color: var(--accent); }
.term button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.ws .wsh { font: 700 11px var(--f-disp); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); padding: 4px 10px 6px; }
body.nav-closed .ws { display: none; }
body.popmode .navbtn, body.popmode .term { display: none; }
.body.jevterm iframe { width: 100%; height: 100%; border: 0; display: block; background: #fff; }
/* Okaypilot durum satırı */
.status { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.status:empty { display: none; }
.stchip { display: inline-flex; align-items: baseline; gap: 6px; background: none; border: 1px solid var(--line-2); border-radius: 6px; padding: 4px 9px; color: var(--ink); font: 12px var(--f-body); cursor: pointer; min-height: 30px; }
.stchip:hover, .stchip:focus-visible { border-color: var(--ink-3); outline: none; }
.stchip .lbl { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .07em; }
.stchip small { color: var(--ink-3); }
.stchip.bad { border-color: var(--sell); }
.stchip .warn { color: var(--warn); }

/* ---------------------------------------------------------------- Okaypilot temaları
   Mevcut = yukarıdaki :root. Kokpit: siyah zemin, beyaz yazı, kutu yok, bölümler tek çizgiyle ayrılır, renk yön ve uyarı için.
   Kâğıt: açık zemin, siyah mürekkep, koyu tonlu yeşil/kırmızı, uyarı ve seçim fosforlu kalem sarısı. */
:root[data-skin="kokpit"] {
  color-scheme: dark;
  --ground: #05080A; --panel: #05080A; --raise: #0C1215; --line: #1C262C; --line-2: #2A363D;
  --ink: #E8EDF0; --ink-2: #A9B4BA; --ink-3: #7A878E;
  --accent: #F2A43A; --ema2: #3FD3E0; --warn: #F2A43A;
  --buy: #5FE08A; --sell: #FF6A5C; --flat: #7E8C94;
  --buy-bg: rgba(95,224,138,.10); --sell-bg: rgba(255,106,92,.10); --flat-bg: rgba(126,140,148,.10); --accent-bg: rgba(242,164,58,.10); --warn-bg: rgba(242,164,58,.10);
  --scrim: rgba(2,4,5,.8);
  --f-disp: "JetBrains Mono", ui-monospace, Consolas, monospace;
  --f-body: "JetBrains Mono", ui-monospace, Consolas, monospace;
}
:root[data-skin="kagit"] {
  color-scheme: light;
  --ground: #FBFAF7; --panel: #FBFAF7; --raise: #F1EFE8; --line: #DAD7CF; --line-2: #9C988E;
  --ink: #111111; --ink-2: #3D3D3D; --ink-3: #686868;
  --accent: #111111; --ema2: #2F5DA8; --warn: #9A5B00;
  --buy: #1B7A3E; --sell: #B3261E; --flat: #686868;
  --buy-bg: rgba(27,122,62,.10); --sell-bg: rgba(179,38,30,.10); --flat-bg: rgba(17,17,17,.06); --accent-bg: #FFE14D; --warn-bg: #FFE9B3;
  --scrim: rgba(251,250,247,.85);
  --f-disp: "Atkinson Hyperlegible", system-ui, sans-serif;
  --f-body: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
}
/* temalarda köşeler düz; Pilot kartı, Pilot balonu ve profil menüsü kendi yuvarlak tasarımını korur */
:root[data-skin] *:not(.pdock, .pdock *, .pd-launch, .pd-launch *, .pmenu, .pmenu *, .profbtn) { border-radius: 0 !important; }
:root[data-skin] .conn i, :root[data-skin] .dot { border-radius: 50% !important; }
:root[data-skin] .panel { border: 0; border-top: 1px solid var(--line); background: var(--ground); }
:root[data-skin] .panel:hover { border-top-color: var(--line-2); }
:root[data-skin] .ph { border-bottom: 0; padding-left: 2px; }
:root[data-skin] .toast, :root[data-skin] .picker, :root[data-skin] .mbox { box-shadow: none; }
:root[data-skin="kokpit"] .ph h2 { font: 500 12px/1 var(--f-mono); letter-spacing: .06em; }
:root[data-skin="kokpit"] .brand { font-family: var(--f-mono); font-size: 15px; letter-spacing: .16em; color: #3FD3E0; }
:root[data-skin="kokpit"] .btn[aria-pressed="true"], :root[data-skin="kokpit"] .btn.acc { background: none; }
:root[data-skin="kagit"] .panel { border-top: 2px solid var(--ink); }
:root[data-skin="kagit"] .ph h2 { font: 700 15px/1 var(--f-disp); letter-spacing: 0; text-transform: none; }
:root[data-skin="kagit"] .brand { letter-spacing: 0; text-transform: none; }
:root[data-skin="kagit"] .btn { background: #FFFFFF; }
:root[data-skin="kagit"] .btn[aria-pressed="true"], :root[data-skin="kagit"] .btn.acc { color: #111111; border-color: #111111; }
:root[data-skin="kagit"] .term button.on, :root[data-skin="kagit"] .ws button.on { color: #111111; background: #FFE14D; box-shadow: none; }
:root[data-skin="kagit"] .toast { background: #FFFFFF; }
/* Okaypilot: bildirim merkezi ve komut çubuğu */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.notewrap { position: relative; }
.notes { position: fixed; z-index: 70; width: min(440px, calc(100vw - 16px)); max-height: 70vh; display: flex; flex-direction: column; background: var(--panel); border: 1px solid var(--line-2); border-radius: 8px; box-shadow: 0 16px 40px rgba(0,0,0,.45); }
.nth { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.ntl { overflow-y: auto; padding: 4px; display: grid; gap: 2px; }
.note { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; text-align: left; background: none; border: 0; border-radius: 6px; padding: 8px; color: var(--ink); cursor: pointer; font: 12px var(--f-body); }
.note:hover, .note:focus-visible { background: var(--raise); outline: none; }
.note .nb { display: grid; gap: 2px; min-width: 0; } .note .nb span { font: 11.5px/1.45 var(--f-mono); }
.note.acil .small { color: var(--sell); }
.toast.acil { border-color: var(--sell); }
.cmdk { align-items: flex-start; padding-top: 12vh; }
.cbox { background: var(--panel); border: 1px solid var(--line-2); border-radius: 10px; width: min(560px, 100%); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,.5); }
.cbox input { background: none; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); font: 16px var(--f-body); padding: 14px 16px; outline: none; }
.clist { max-height: 50vh; overflow-y: auto; padding: 4px; display: grid; gap: 1px; }
.cit { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; background: none; border: 0; border-radius: 6px; padding: 9px 12px; color: var(--ink); font: 14px var(--f-body); text-align: left; cursor: pointer; }
.cit.on, .cit:hover { background: var(--raise); }
.chint { padding: 8px 14px; border-top: 1px solid var(--line); }
:root[data-skin] .notes, :root[data-skin] .cbox { box-shadow: none; }
/* Okaypilot: işlem bileti emir satırı ve sanal hesap */
.cord { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 10px; padding: 10px 0 4px; border-top: 1px solid var(--line); margin-top: 8px; }
.cord label { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: var(--ink-3); }
.cord select { background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 6px 8px; color: var(--ink); font-size: 12px; }
.cord .btn { min-height: 38px; font-size: 13px; font-weight: 600; padding: 0 16px; }
.btn.b-buy { background: var(--buy); color: #04140C; border-color: var(--buy); }
.btn.b-sell { background: var(--sell); color: #1A0508; border-color: var(--sell); }
.btn.red { outline: 2px solid var(--sell); outline-offset: 2px; }
:root[data-skin="kokpit"] .btn.b-buy { background: none; color: var(--buy); }
:root[data-skin="kokpit"] .btn.b-sell { background: none; color: var(--sell); }
.paperm .tabs button span { margin-left: 4px; }
.pbody { overflow-y: auto; flex: 1; min-height: 0; }
.paperm { display: flex; flex-direction: column; }
.pwal input, .pwal select { width: 96px; background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 4px 6px; color: var(--ink); font: 12px var(--f-mono); }
.pwal { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 10px; padding: 8px 10px; border-top: 1px solid var(--line); }
.pwal label { display: flex; flex-direction: column; gap: 3px; }
.pwal select { width: 140px; font-family: var(--f-body); }
/* emir defteri fiyatı → İşlem bileti */
.br[data-bpx] { cursor: pointer; }
.br[data-bpx]:hover { background: var(--raise); }
.br[data-bpx]:hover > span:first-child { text-decoration: underline; }
@keyframes flin { from { box-shadow: 0 0 0 2px var(--accent); } to { box-shadow: 0 0 0 0 transparent; } }
.fl-in { animation: flin 1s ease-out; }
/* Okaypilot: emir formu (borsa tipi) */
.ordf { display: flex; flex-direction: column; gap: 10px; font-size: 12.5px; overflow-y: auto; }
/* komutla emir: sol l 500 · btc s 1k 20x */
.of-qe { display: grid; gap: 4px; }
.of-qe input { width: 100%; background: var(--raise); border: 1px solid var(--line-2); border-radius: 8px; color: var(--ink); font: 500 13px var(--f-mono); padding: 8px 10px; outline: none; }
.of-qe input:focus { border-color: var(--accent); }
.of-qe input::placeholder { color: var(--ink-3); }
.of-qep { font-size: 11.5px; line-height: 1.45; color: var(--ink-2); min-height: 0; }
.of-qep:empty { display: none; }
.of-qep .warn { color: var(--warn); }
.of-tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--raise); border-radius: 10px; padding: 3px; gap: 3px; }
.of-tabs button { background: none; border: 0; border-radius: 8px; color: var(--ink-2); font: 600 14px var(--f-body); padding: 8px; cursor: pointer; min-height: 38px; }
.of-tabs button.on { background: var(--buy); color: #04140C; }
.of-open, .of-close { display: flex; flex-direction: column; gap: 10px; }
.of-row2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.of-sel select, .of-lev, .of-in { width: 100%; background: var(--raise); border: 1px solid var(--line-2); border-radius: 8px; color: var(--ink); min-height: 40px; box-sizing: border-box; }
.of-sel select { padding: 0 10px; font: 600 13px var(--f-body); }
.of-sel { display: block; min-width: 0; }
.of-lev { display: flex; align-items: center; padding: 0 10px; gap: 4px; }
.of-lev input { flex: 1; min-width: 0; width: 0; background: none; border: 0; color: var(--ink); font: 600 14px var(--f-mono); outline: none; }
.of-lev span { color: var(--ink-3); }
.of-slider input[type=range] { width: 100%; accent-color: var(--accent); margin: 2px 0; }
.of-marks { display: flex; justify-content: space-between; gap: 4px; }
.of-marks button { background: none; border: 0; color: var(--ink-3); font: 11px var(--f-mono); padding: 2px 0; cursor: pointer; }
.of-marks button:hover, .of-marks button.on { color: var(--ink); }
.of-cpct { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.of-cpct button { border: 1px solid var(--line-2); border-radius: 6px; padding: 6px 0; }
.of-avail { display: flex; justify-content: space-between; color: var(--ink-3); }
.of-avail b { color: var(--ink); }
.of-fld { display: flex; flex-direction: column; gap: 5px; }
.of-fld > label { color: var(--ink-2); font-size: 12px; }
.of-in { display: flex; align-items: center; gap: 4px; padding: 0 6px 0 12px; }
.of-in input { flex: 1; min-width: 0; width: 0; background: none; border: 0; color: var(--ink); font: 600 15px var(--f-mono); outline: none; padding: 9px 0; }
.of-in:focus-within, .of-lev:focus-within, .of-sel select:focus { border-color: var(--accent); }
.of-in input:focus-visible, .of-lev input:focus-visible { box-shadow: none; }
.of-mini { background: none; border: 0; color: var(--accent); font: 600 12px var(--f-body); padding: 6px 6px; cursor: pointer; white-space: nowrap; }
.of-mini[data-bbo] { border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); }
.of-suf { color: var(--ink-3); font: 12px var(--f-mono); padding-right: 6px; }
.of-unit { background: none; border: 0; color: var(--ink-2); font: 12px var(--f-body); padding: 0; cursor: pointer; }
.of-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; color: var(--ink-3); font-size: 12px; }
.of-grid b { color: var(--ink); font-weight: 600; margin-left: 4px; }
.of-grid .r { text-align: right; }
.of-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; color: var(--ink-2); }
.of-opts label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.of-tif select { background: none; border: 0; color: var(--ink); font: 600 12px var(--f-body); cursor: pointer; }
.of-tpsl { display: grid; gap: 8px; }
.of-note { margin: 0; color: var(--ink-3); font-size: 11px; }
.of-btns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.of-go { width: 100%; border: 0; border-radius: 10px; font: 700 15px var(--f-body); min-height: 46px; cursor: pointer; }
.of-go.long { background: var(--buy); color: #04140C; }
.of-go.short { background: var(--sell); color: #1A0508; }
.of-go.ghost { background: none; border: 1px solid var(--line-2); color: var(--ink); font-size: 13px; }
.of-go:disabled { opacity: .6; cursor: wait; }
.of-btns dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 6px 0 0; font-size: 11.5px; }
.of-btns dt { color: var(--ink-3); } .of-btns dd { margin: 0; text-align: right; }
.of-btns dd.liq { color: var(--warn); }
.of-cost { display: grid; grid-template-columns: auto 1fr auto 1fr; gap: 4px 8px; color: var(--ink-3); font-size: 12px; }
.of-cost b { color: var(--ink); text-align: right; font-weight: 500; }
.of-alex { display: grid; gap: 3px; font-size: 12px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; }
.of-alex .lbl { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .07em; }
.of-alex .warn { color: var(--warn); }
.of-feerate { display: flex; align-items: baseline; gap: 8px; color: var(--ink-3); font-size: 12px; border-top: 1px solid var(--line); padding-top: 8px; }
.of-feerate b { color: var(--ink); font-weight: 500; }
.of-cpos { display: grid; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--line); }
:root[data-skin="kokpit"] .of-tabs button.on { background: none; color: var(--buy); box-shadow: inset 0 -2px 0 var(--buy); }
:root[data-skin="kokpit"] .of-go.long { background: none; color: var(--buy); border: 1px solid var(--buy); }
:root[data-skin="kokpit"] .of-go.short { background: none; color: var(--sell); border: 1px solid var(--sell); }
:root[data-skin="kagit"] .of-tabs button.on { background: #111111; color: #FBFAF7; }
:root[data-skin="kagit"] .of-go.long { color: #FFFFFF; } :root[data-skin="kagit"] .of-go.short { color: #FFFFFF; }
:root[data-skin="kagit"] .of-btns dd.liq { color: var(--sell); }
/* emir formu: kendi tutarın + yüzde kutuları */
.of-qbox { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.of-qbox input, .of-qbox button { min-height: 34px; box-sizing: border-box; width: 100%; min-width: 0; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); font: 600 12px var(--f-mono); text-align: center; padding: 0 4px; }
.of-qbox button { cursor: pointer; color: var(--ink-2); }
.of-qbox input::placeholder { color: var(--ink-3); font-weight: 400; font-family: var(--f-body); }
.of-qbox .on, .of-qbox input.on { border-color: var(--accent); color: var(--ink); box-shadow: inset 0 0 0 1px var(--accent); }
.of-qbox input:focus { outline: none; border-color: var(--accent); }
/* açılır listeler: zemini şeffaf seçicilerde tarayıcı listeyi beyaz zeminle açıyordu; liste temanın renklerini alır */
select option, select optgroup { background-color: var(--panel); color: var(--ink); }
.of-tif select, .of-unit { background-color: var(--panel); border-radius: 4px; }
/* sanal hesap tabloları: sütun genişlikleri sabit, başlık ve satırlar aynı; dar bölümde yatay kayar */
.paperm .tabs { align-items: center; }
.pt-hide { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-2); padding: 0 10px; cursor: pointer; white-space: nowrap; }
.pt-wrap { overflow-x: auto; }
.pt { display: grid; min-width: max-content; font-size: 12.5px; }
.pt-h, .pt-r { display: grid; gap: 6px; align-items: center; padding: 8px 12px; }
.pt-h { color: var(--ink-3); font-size: 11.5px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--panel); z-index: 1; }
.pt-r { border-bottom: 1px solid var(--line); }
.pt-r:hover { background: var(--raise); }
.pt .r { text-align: right; }
.pt-pos .pt-h, .pt-pos .pt-r { grid-template-columns: 92px 44px 62px 84px 66px 66px 66px 118px 42px 160px 96px 200px 210px; }
.pt-ord .pt-h, .pt-ord .pt-r { grid-template-columns: 120px 60px 120px 96px 96px 84px 70px 170px 70px 70px; }
.pt-his .pt-h, .pt-his .pt-r { grid-template-columns: 120px 60px 70px 96px 96px 84px 100px 120px 140px 150px; }
.pt-sym { display: flex; flex-direction: column; line-height: 1.2; font-weight: 600; }
.pt-sym small { color: var(--ink-3); font-weight: 400; font-size: 10.5px; }
.pt-go { background: none; border: 0; padding: 0; color: inherit; font: inherit; font-weight: 600; text-align: left; cursor: pointer; } .pt-go:hover { color: var(--accent); } .pt-go:focus-visible { outline: 1px solid var(--accent); outline-offset: 2px; }
.pt .liq { color: var(--warn); }
.pt-tpsl, .pt-close { display: flex; gap: 6px; align-items: center; }
.pt-tpsl input, .pt-close input { width: 64px; min-width: 0; background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 5px 7px; color: var(--ink); font: 12px var(--f-mono); }
.pt-tpsl input::placeholder, .pt-close input::placeholder { color: var(--ink-3); }
:root[data-skin="kagit"] .pt .liq { color: var(--sell); }
.pt-fil .pt-h, .pt-fil .pt-r { grid-template-columns: 70px 104px 100px 52px 80px 90px 96px 70px 180px; }
.pt-oh .pt-h, .pt-oh .pt-r { grid-template-columns: 70px 104px 110px 52px 80px 90px 90px 90px 200px; }
.pt-cap2 .pt-h, .pt-cap2 .pt-r { grid-template-columns: 140px 130px 100px 100px 260px; }
.pt-asset .pt-h, .pt-asset .pt-r { grid-template-columns: 70px repeat(8, 110px); }
.pt-cap { margin: 10px 12px 4px; font: 600 12px var(--f-body); color: var(--ink-2); }
.jr-t .pt-h, .jr-t .pt-r { grid-template-columns: minmax(150px, 1fr) 56px 70px 90px 66px; padding: 5px 12px; } .jr-h .pt-h, .jr-h .pt-r { grid-template-columns: minmax(200px, 1fr) 56px 70px 90px 66px minmax(160px, 1.2fr); }
.jr-note { margin: 8px 12px 0; } .jr-kv { padding: 8px 12px; } .jr-kv small { display: block; }
.paperm .tabs { flex-wrap: wrap; }
/* Order Flow (footprint) */
.flowm { display: grid; grid-template-columns: minmax(0, 1fr) 230px; height: 100%; }
.flowm .fl-main { position: relative; min-width: 0; }
.flowm .fl-main canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.flowm .fl-ev[hidden] { display: none; }
.flowm:has(.fl-ev[hidden]) { grid-template-columns: minmax(0, 1fr); }
.fl-ev { border-left: 1px solid var(--line); overflow-y: auto; font-size: 12px; }
.fl-evh { position: sticky; top: 0; background: var(--panel); padding: 6px 10px; color: var(--ink-3); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; border-bottom: 1px solid var(--line); }
.fl-evr { display: grid; gap: 2px; padding: 6px 10px; border-bottom: 1px solid var(--line); }
/* Sanal hesap: gömülü analiz sekmeleri (Order Flow, Jev AI, Scanner) */
.pemb { display: flex; flex-direction: column; height: 100%; min-height: 320px; }
.pemb-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 12px; border-bottom: 1px solid var(--line); }
.pemb-h:empty { display: none; }
.pemb-b { flex: 1; min-height: 0; }
.pai { padding: 12px 14px; max-width: 640px; }
.pai h4 { margin: 0 0 6px; font: 600 13px var(--f-body); }
/* AI Strategy sekmesi */
.sai { padding: 10px 12px; display: grid; gap: 10px; }
.sai-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sai-on { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: 13px; }
.sai-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 6px; }
.sai-stats > div { background: var(--raise); border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; display: grid; gap: 2px; }
.sai-stats small { color: var(--ink-3); font-size: 11px; }
.sai-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr); gap: 10px; }
.sai-chart { display: grid; gap: 4px; grid-template-rows: auto 1fr; }
.sai-chart canvas { width: 100%; height: 130px; display: block; background: var(--raise); border-radius: 6px; }
.pt-sai .pt-h, .pt-sai .pt-r { grid-template-columns: 100px 52px 76px 76px 76px 76px 150px; }
.sai-det summary { cursor: pointer; font-weight: 600; font-size: 12.5px; padding: 4px 0; }
.sai-form { display: grid; gap: 10px; padding: 6px 0; }
.sai-tfs { border: 1px solid var(--line); border-radius: 6px; display: flex; gap: 12px; flex-wrap: wrap; padding: 6px 10px; margin: 0; font-size: 12.5px; }
.sai-tfs legend { color: var(--ink-3); font-size: 11.5px; padding: 0 4px; }
.sai-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.sai-grid label { display: grid; gap: 3px; font-size: 11.5px; color: var(--ink-2); }
.sai-grid input, .sai-grid select { background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 5px 7px; color: var(--ink); font: 12px var(--f-mono); min-width: 0; }
.sai-bools { display: grid; gap: 5px; font-size: 12.5px; }
.sai-bools label { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.sai-act { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.sai-jr { max-height: 260px; overflow-y: auto; border: 1px solid var(--line); border-radius: 6px; }
.sai-j { display: grid; grid-template-columns: 64px 72px 52px 1fr; gap: 8px; padding: 4px 10px; border-bottom: 1px solid var(--line); align-items: baseline; }
@media (max-width: 760px) { .sai-row { grid-template-columns: 1fr; } }
.sai-g { border: 1px solid var(--line); border-radius: 6px; padding: 6px 10px 10px; margin: 0; display: grid; gap: 8px; }
.sai-g legend { color: var(--ink-2); font-size: 12px; font-weight: 600; padding: 0 4px; }
.sai-grid label.off { opacity: .45; }
.sai-prev { background: var(--raise); border-radius: 6px; padding: 8px 10px; font-size: 12.5px; line-height: 1.5; }
.sai-chk { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
/* Formasyon tarayıcı */
.patm { display: flex; flex-direction: column; }
.pat-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 6px 10px; border-bottom: 1px solid var(--line); position: relative; }
.pat-sel summary { cursor: pointer; font-size: 12.5px; font-weight: 600; }
.pat-list { position: absolute; z-index: 5; top: 100%; left: 8px; background: var(--panel); border: 1px solid var(--line-2); border-radius: 8px; padding: 10px 12px; display: grid; grid-template-columns: repeat(3, minmax(150px, auto)); gap: 4px 18px; box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.pat-g { display: grid; gap: 3px; font-size: 12.5px; }
.pat-g b { font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px; }
.pat-g label, .pat-chk { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; font-size: 12.5px; }
.pat-all { grid-column: 1 / -1; display: flex; gap: 6px; margin-top: 4px; }
.pat-res { overflow-y: auto; flex: 1; min-height: 0; }
.pat-h, .pat-row { display: grid; grid-template-columns: 112px 78px minmax(150px, 1.4fr) minmax(130px, 1fr) 96px 80px 80px 44px; gap: 8px; align-items: center; padding: 4px 10px; }
.pat-h { color: var(--ink-3); font-size: 11.5px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--panel); z-index: 1; }
.pat-row { border-bottom: 1px solid var(--line); cursor: pointer; font-size: 12.5px; }
.pat-row:hover { background: var(--raise); }
.pat-row.sel { background: var(--accent-bg); }
.pat-row canvas { width: 112px; height: 40px; display: block; }
.pat-h .r, .pat-row .r { text-align: right; }
.sai-syms { display: grid; gap: 3px; font-size: 11.5px; color: var(--ink-2); }
.sai-syms input { background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 5px 7px; color: var(--ink); font: 12px var(--f-mono); }
.sai-pats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 4px 12px; font-size: 12.5px; }
.sai-pats label { display: inline-flex; gap: 6px; align-items: center; cursor: pointer; }
.pt-pnl { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.pt-pnl small { font-size: 10.5px; }
/* AI Strategy geriye dönük test */
.bt-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 6px 0; }
.bt-sum { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 6px; margin-top: 6px; }
.bt-sum > div { background: var(--raise); border: 1px solid var(--line); border-radius: 6px; padding: 6px 9px; display: grid; gap: 2px; }
.bt-sum small { color: var(--ink-3); font-size: 11px; }
.bt-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 1.4fr); gap: 10px; margin-top: 8px; }
.pt-bt .pt-h, .pt-bt .pt-r { grid-template-columns: minmax(150px, 1fr) 50px 56px 90px 60px 50px; }
.pt-btt .pt-h, .pt-btt .pt-r { grid-template-columns: 90px 90px 130px 52px 120px 90px 50px; }
@media (max-width: 760px) { .bt-row { grid-template-columns: 1fr; } }
/* Emir formu: Kapat sekmesi */
.of-close { display: grid; gap: 8px; }
.of-close .of-go:disabled { opacity: .45; cursor: not-allowed; }
.of-cq { grid-template-columns: repeat(4, 1fr); }
.of-cposl { display: grid; gap: 6px; }
/* Günlük aralık */
.rg { padding: 8px 10px; display: grid; gap: 10px; }
.rg-v { font-size: 12.5px; padding: 7px 10px; border-radius: 6px; background: var(--raise); border-left: 3px solid var(--line-2); }
.rg-v.up { border-left-color: var(--buy); } .rg-v.dn { border-left-color: var(--sell); } .rg-v.warn { border-left-color: var(--warn); }
.rg-bar { position: relative; height: 34px; margin: 18px 4px 4px; background: var(--raise); border-radius: 4px; }
.rg-seg { position: absolute; top: 0; bottom: 0; border-radius: 3px; }
.rg-seg.s2 { background: color-mix(in srgb, var(--ink-3) 18%, transparent); }
.rg-seg.s1 { background: color-mix(in srgb, var(--ink-3) 32%, transparent); }
.rg-seg.today { top: 10px; bottom: 10px; background: color-mix(in srgb, var(--accent) 70%, transparent); }
.rg-seg.asia { top: 24px; bottom: 4px; background: color-mix(in srgb, var(--ema2, #7aa2ff) 70%, transparent); }
.rg-tick { position: absolute; top: -6px; bottom: -6px; width: 2px; margin-left: -1px; background: var(--ink-2); }
.rg-tick.top { background: var(--buy); } .rg-tick.bot { background: var(--sell); } .rg-tick.px { background: var(--ink); width: 3px; }
.rg-tick i { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); font: 600 10px var(--f-mono); font-style: normal; color: var(--ink-2); white-space: nowrap; }
.rg-leg { display: flex; gap: 12px; flex-wrap: wrap; font-size: 11px; color: var(--ink-3); }
.rg-leg i { display: inline-block; width: 12px; height: 8px; border-radius: 2px; margin-right: 4px; vertical-align: middle; }
.rg-leg i.s2 { background: color-mix(in srgb, var(--ink-3) 18%, transparent); } .rg-leg i.s1 { background: color-mix(in srgb, var(--ink-3) 32%, transparent); }
.rg-leg i.today { background: var(--accent); } .rg-leg i.asia { background: var(--ema2, #7aa2ff); } .rg-leg i.tk { background: linear-gradient(90deg, var(--sell) 50%, var(--buy) 50%); }
.rg-grid { display: grid; gap: 4px; }
.rg-r { display: grid; grid-template-columns: minmax(160px, 1fr) auto; gap: 2px 10px; padding: 5px 0; border-bottom: 1px solid var(--line); font-size: 12.5px; }
.rg-r small { grid-column: 1 / -1; }
.pt-rg .pt-h, .pt-rg .pt-r { grid-template-columns: 84px 86px 64px 110px 86px 86px 120px 150px minmax(180px, 1fr); }
.rg-row { cursor: pointer; } .rg-row.sel { background: var(--accent-bg); }
.rg-u { display: inline-block; width: 48px; height: 6px; background: var(--raise); border-radius: 3px; margin-right: 6px; vertical-align: middle; overflow: hidden; }
.rg-u i { display: block; height: 100%; background: var(--ink-3); } .rg-u i.up { background: var(--buy); } .rg-u i.dn { background: var(--sell); } .rg-u i.warn { background: var(--accent); }
.pt-rgt .pt-h, .pt-rgt .pt-r { grid-template-columns: 74px 128px 104px 82px 82px 116px 92px; }
.rg-ftf { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; padding: 6px 10px; }
.rg-ftf button { background: none; border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink-2); font: 600 11.5px var(--f-body); padding: 3px 8px; cursor: pointer; }
.rg-ftf button.on { color: var(--accent); border-color: var(--accent); background: var(--accent-bg); }
/* Pilot sohbeti */
.pilotm { display: flex; flex-direction: column; height: 100%; }
.plt-tasks { border-bottom: 1px solid var(--line); padding: 6px 10px; font-size: 12.5px; }
.plt-tasks summary { cursor: pointer; color: var(--ink-2); }
.plt-task { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 4px 0; border-bottom: 1px dashed var(--line); }
.plt-log { flex: 1; min-height: 0; overflow-y: auto; padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.plt-m { display: block; max-width: 88%; min-width: 0; word-break: normal; overflow-wrap: anywhere; border-radius: 10px; padding: 8px 11px; font-size: 13px; line-height: 1.45; background: var(--raise); border: 1px solid var(--line); }
.plt-m.plt-me { align-self: flex-end; background: var(--ink); color: var(--ground); border-color: transparent; }
.plt-m.plt-ai { align-self: flex-start; }
.plt-m.plt-self { border-color: var(--buy); box-shadow: 0 0 0 1px color-mix(in srgb, var(--buy) 35%, transparent); }
.plt-who { display: block; font-size: 11px; color: var(--sell); margin-bottom: 3px; }
.plt-steps { margin-top: 6px; font-size: 11px; color: var(--ink-3); display: flex; flex-wrap: wrap; gap: 4px 10px; }
.plt-meta { margin-top: 5px; display: flex; gap: 8px; align-items: center; font-size: 11px; color: var(--ink-3); }
.plt-m.plt-me .plt-meta { color: color-mix(in srgb, var(--ground) 70%, transparent); }
.plt-m.plt-typing .plt-tx { font-style: italic; }
.plt-clear { align-self: center; }
.plt-sugg { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px 8px; }
.plt-sugg button { background: var(--raise); border: 1px solid var(--line-2); border-radius: 14px; color: var(--ink-2); font: 12px var(--f-body); padding: 5px 10px; cursor: pointer; text-align: left; }
.plt-sugg button:hover { border-color: var(--accent); color: var(--ink); }
.plt-in { display: flex; gap: 6px; padding: 8px 10px; border-top: 1px solid var(--line); align-items: flex-end; }
.plt-in textarea { flex: 1; resize: none; background: var(--raise); border: 1px solid var(--line-2); border-radius: 8px; color: var(--ink); font: 13px var(--f-body); padding: 7px 9px; }
.plt-in .on { color: var(--sell); border-color: var(--sell); }
.plt-foot { padding: 0 10px 8px; margin: 0; }
#pilotN:not(:empty) { margin-left: 5px; }
/* Pilot sohbet kartı (ATA tarzı) */
.pdock { --pd-bg: linear-gradient(165deg, #121c44 0%, #0a1030 45%, #070b1e 100%); --pd-card: rgba(255,255,255,.045); --pd-line: rgba(255,255,255,.10); --pd-ink: #eef1fb; --pd-ink2: #aab3cf; --pd-ink3: #7d87a6; --pd-red: #e5484d; --pd-green: #2fc47e; --pd-blue: #6c8cff;
  position: fixed; right: 18px; bottom: 18px; z-index: 900; width: 410px; height: min(680px, calc(100vh - 110px)); display: flex; flex-direction: column;
  background: var(--pd-bg); color: var(--pd-ink); border: 1px solid var(--pd-line); border-radius: 18px; box-shadow: 0 24px 60px rgba(0,0,0,.45); overflow: hidden; font-family: var(--f-body); }
.pdock[hidden] { display: none; }
:root[data-skin="kagit"] .pdock { --pd-bg: linear-gradient(165deg, #ffffff, #f3f5fb); --pd-card: #ffffff; --pd-line: #dfe3ee; --pd-ink: #141a2e; --pd-ink2: #4b5470; --pd-ink3: #7a8299; box-shadow: 0 24px 60px rgba(20,26,46,.18); }
.pd-h { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 14px 12px 18px; border-bottom: 1px solid var(--pd-line); }
.pd-h > * { flex: none; }
.pd-h .pd-st { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pd-h .pd-sw { order: 9; }
.pd-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--pd-red); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pd-red) 22%, transparent); flex: none; }
.pd-name { font-size: 19px; font-weight: 800; letter-spacing: .02em; }
.pd-st { font-size: 11.5px; color: var(--pd-ink3); white-space: nowrap; }
.pd-h .sp { flex: 1 1 0; min-width: 0; }
.pd-st.busy { color: var(--pd-green); }
.pd-h .sp { flex: 1; }
.pd-tasks { background: color-mix(in srgb, var(--pd-blue) 18%, transparent); color: var(--pd-ink); border: 1px solid color-mix(in srgb, var(--pd-blue) 45%, transparent); border-radius: 12px; font: 600 11.5px var(--f-body); padding: 3px 9px; cursor: pointer; }
.pd-sw { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--pd-line); border-radius: 20px; padding: 4px 10px 4px 5px; font-size: 12px; font-weight: 600; cursor: pointer; white-space: nowrap; position: relative; }
.pd-sw input { position: absolute; opacity: 0; width: 0; height: 0; }
.pd-sw-t { width: 30px; height: 17px; border-radius: 10px; background: var(--pd-ink3); position: relative; transition: background .15s; }
.pd-sw-t::after { content: ""; position: absolute; top: 2px; left: 2px; width: 13px; height: 13px; border-radius: 50%; background: #fff; transition: transform .15s; }
.pd-sw input:checked + .pd-sw-t { background: var(--pd-green); }
.pd-sw input:checked + .pd-sw-t::after { transform: translateX(13px); }
.pd-sw input:focus-visible + .pd-sw-t { outline: 2px solid var(--pd-blue); outline-offset: 2px; }
.pd-ic { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--pd-line); background: transparent; color: var(--pd-ink2); display: grid; place-items: center; cursor: pointer; font-size: 17px; line-height: 1; }
.pd-ic:hover { color: var(--pd-ink); border-color: var(--pd-ink3); }
.pd-tl { padding: 10px 18px; border-bottom: 1px solid var(--pd-line); font-size: 12.5px; display: grid; gap: 6px; max-height: 40%; overflow-y: auto; }
.pd-tl[hidden] { display: none; }
.pd-tl p { margin: 0; color: var(--pd-ink3); }
.pd-task { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pd-task small { color: var(--pd-ink3); }
.pd-log { flex: 1; min-height: 0; overflow-y: auto; padding: 14px 14px 6px; display: flex; flex-direction: column; gap: 12px; scrollbar-width: thin; }
.pd-card { border-radius: 14px; padding: 11px 14px; font-size: 14px; line-height: 1.5; max-width: 90%; }
.pd-card.pd-ai { align-self: flex-start; background: var(--pd-card); border: 1px solid var(--pd-line); }
.pd-card.pd-ai.self { border-color: var(--pd-green); box-shadow: 0 0 0 1px color-mix(in srgb, var(--pd-green) 30%, transparent) inset; }
.pd-card.pd-me { align-self: flex-end; background: #ffffff; color: #141a2e; border: 1px solid #e6e9f2; }
:root[data-skin="kagit"] .pd-card.pd-me { background: #141a2e; color: #fff; border-color: #141a2e; }
.pd-who { display: flex; align-items: center; gap: 6px; font: 800 11.5px var(--f-body); letter-spacing: .06em; margin-bottom: 5px; }
.pd-who .pd-dot { width: 7px; height: 7px; box-shadow: none; }
.pd-tx { overflow-wrap: anywhere; }
.pd-steps { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.pd-steps span { font-size: 11px; color: var(--pd-ink2); background: color-mix(in srgb, var(--pd-blue) 12%, transparent); border-radius: 8px; padding: 2px 7px; }
.pd-steps span.bad { color: var(--pd-red); }
.pd-meta { display: flex; align-items: center; gap: 8px; margin-top: 7px; font-size: 11.5px; color: var(--pd-ink3); }
.pd-card.pd-me .pd-meta { color: #6b7390; }
.pd-pill { font-weight: 700; font-size: 11px; border-radius: 10px; padding: 2px 9px; }
.pd-pill.g { background: color-mix(in srgb, var(--pd-green) 22%, transparent); color: var(--pd-green); }
.pd-pill.b { background: color-mix(in srgb, var(--pd-blue) 22%, transparent); color: var(--pd-blue); }
.pd-pill.r { background: color-mix(in srgb, var(--pd-red) 22%, transparent); color: var(--pd-red); }
.pd-day { display: flex; justify-content: center; }
.pd-day span { font-size: 11.5px; font-weight: 600; color: var(--pd-ink2); background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: 12px; padding: 3px 11px; }
.pd-dots { display: inline-flex; gap: 3px; margin-right: 6px; vertical-align: middle; }
.pd-dots i { width: 5px; height: 5px; border-radius: 50%; background: var(--pd-ink2); animation: pdb 1s infinite ease-in-out; }
.pd-dots i:nth-child(2) { animation-delay: .15s; } .pd-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes pdb { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
.pd-card.typing .pd-tx { color: var(--pd-ink2); }
.pd-sugg { display: flex; flex-direction: column; gap: 7px; }
.pd-sugg button { text-align: left; background: transparent; border: 1px solid var(--pd-line); border-radius: 12px; color: var(--pd-ink); font: 13px var(--f-body); padding: 8px 12px; cursor: pointer; }
.pd-sugg button:hover { border-color: var(--pd-blue); background: color-mix(in srgb, var(--pd-blue) 10%, transparent); }
.pd-clear { display: flex; justify-content: center; }
.pd-clear button { background: none; border: none; color: var(--pd-ink3); font: 11.5px var(--f-body); cursor: pointer; text-decoration: underline; }
.pd-in { display: flex; align-items: flex-end; gap: 8px; margin: 8px 14px 14px; padding: 8px 8px 8px 14px; background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: 16px; }
.pd-in:focus-within { border-color: var(--pd-blue); }
.pd-in textarea { flex: 1; resize: none; border: none; outline: none; background: transparent; color: var(--pd-ink); font: 14px var(--f-body); padding: 7px 0; max-height: 120px; }
.pd-in textarea::placeholder { color: var(--pd-ink3); }
.pd-round { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--pd-line); background: transparent; color: var(--pd-ink); display: grid; place-items: center; cursor: pointer; flex: none; }
.pd-round.go { background: var(--pd-blue); border-color: var(--pd-blue); color: #fff; }
.pd-round.rec { border-color: var(--pd-red); color: var(--pd-red); animation: pdb 1s infinite; }
.pd-foot { margin: 2px 18px 14px; font-size: 11.5px; line-height: 1.45; color: var(--pd-ink3); }
@media (max-width: 640px) { .pdock { right: 0; left: 0; bottom: 0; width: auto; height: calc(100vh - 56px); border-radius: 18px 18px 0 0; } .pd-sw span:last-child { display: none; } }
.pd-launch { position: fixed; right: 18px; bottom: 18px; z-index: 890; display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px 11px 14px; border-radius: 26px; border: 1px solid rgba(255,255,255,.12); background: linear-gradient(165deg, #121c44, #070b1e); color: #eef1fb; font: 15px var(--f-body); cursor: pointer; box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.pd-launch[hidden] { display: none; }
.pd-launch:hover { border-color: #6c8cff; }
.pd-launch .pd-dot { --pd-red: #e5484d; }
.pd-un:not(:empty) { background: #e5484d; color: #fff; font: 700 11px var(--f-mono); border-radius: 10px; padding: 1px 7px; }
@media (max-width: 640px) { .pd-launch { bottom: 12px; right: 12px; } }
/* geniş ekranda üst bardaki Pilot düğmesi var; sağ alttaki balon bölümlerin son satırlarını örtüyordu */
@media (min-width: 641px) { body:not(.popmode) .pd-launch { display: none; } }
/* Profil menüsü (sağ üst) */
.profwrap { position: relative; }
.profbtn { width: 34px; height: 34px; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--accent) 55%, transparent); background: color-mix(in srgb, var(--accent) 22%, var(--panel)); color: var(--ink); font: 700 15px var(--f-body); cursor: pointer; display: grid; place-items: center; }
.profbtn:hover, .profbtn[aria-expanded="true"] { border-color: var(--accent); }
.pmenu { position: absolute; right: 0; top: calc(100% + 10px); z-index: 950; width: 330px; max-height: calc(100vh - 80px); overflow-y: auto; background: var(--panel); border: 1px solid var(--line-2); border-radius: 18px; box-shadow: 0 18px 44px rgba(0,0,0,.45); padding: 8px 0; font-size: 13px; }
.pmenu[hidden] { display: none; }
.pm-head { display: flex; align-items: center; gap: 10px; padding: 8px 16px 10px; }
.pm-av { width: 36px; height: 36px; border-radius: 50%; background: color-mix(in srgb, var(--accent) 30%, var(--raise)); display: grid; place-items: center; font: 700 16px var(--f-body); flex: none; }
.pm-id { display: grid; min-width: 0; } .pm-id small { color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pm-badge { margin-left: auto; font: 700 10.5px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ground); background: var(--ink-2); border-radius: 4px; padding: 2px 6px; transform: skewX(-8deg); }
.pm-sep { height: 1px; background: var(--line); margin: 6px 0; }
.pm-cap { display: block; padding: 2px 16px 4px; font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; }
.pm-use { padding: 0 0 4px; }
.pm-use .pm-cap { padding-left: 0; }
.pm-use > span.muted { padding: 0 16px; font-size: 12px; }
#pmUse { padding: 0 16px; }
.pm-q { display: grid; grid-template-columns: 84px 1fr 64px; align-items: center; gap: 8px; padding: 3px 0; font-size: 12px; }
.pm-q b { text-align: right; font-size: 11.5px; }
.pm-qb { height: 6px; background: var(--raise); border-radius: 3px; overflow: hidden; }
.pm-qb i { display: block; height: 100%; background: var(--buy); } .pm-qb i.warn { background: var(--warn); } .pm-qb i.dn { background: var(--sell); }
.pm-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 16px; }
.pm-row > span:last-child { display: inline-flex; gap: 6px; align-items: center; }
.pm-row select.btn, .pm-row .btn { font-size: 12px; }
.pm-row #laySel { max-width: 130px; }
.pm-keys { padding: 4px 16px; }
.pm-keys summary { cursor: pointer; padding: 4px 0; }
.pm-keys dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; margin: 6px 0 4px; font-size: 12px; }
.pm-keys dt { font: 600 11.5px var(--f-mono); color: var(--ink-2); } .pm-keys dd { margin: 0; color: var(--ink-3); }
.pm-item { display: flex; align-items: center; gap: 10px; width: 100%; background: none; border: none; color: var(--ink); font: 13px var(--f-body); padding: 8px 16px; cursor: pointer; text-align: left; }
.pm-item:hover { background: var(--raise); }
.pm-out { color: var(--sell); }
.pmenu { padding: 10px 8px; }
.pm-head { padding: 8px 10px 12px; }
.pm-row, .pm-cap, .pm-keys { padding-left: 10px; padding-right: 10px; }
#pmUse { padding: 0 10px; }
.pm-item { border-radius: 10px; padding: 9px 10px; }
.pm-keys { border-radius: 10px; }
.pm-row { border-radius: 10px; }
.pm-row:hover { background: color-mix(in srgb, var(--raise) 60%, transparent); }
.pm-row .btn, .pm-row select.btn { border-radius: 8px; }
.pm-sub { display: block; font-size: 11px; color: var(--ink-3); }
.pm-sep { margin: 6px 6px; }
/* Pilot kartı her temada aynı yazı tipiyle (Kokpit tek aralıklı yazıyı ona uygulamaz) */
.pdock, .pd-launch { --f-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif; font-family: var(--f-body); }
/* üst barın sağ grubu (Pilot, bildirim, komut, profil) satırın sonuna yaslanır: profil en sağ köşede */
.top > .notewrap:not(.bellwrap) { margin-left: auto; }
.top > .tools:empty { display: none; }
/* Pilot yazı kutusu: kaydırma çubuğu ve okları görünmez (kutu yazdıkça büyür) */
.pd-in textarea { scrollbar-width: none; overflow-y: auto; white-space: pre-wrap; }
.pd-in textarea::-webkit-scrollbar { display: none; width: 0; height: 0; }
/* üst bar iki satır: 1) gezinme, parite, piyasa bilgisi ve sağda Pilot / bildirim / komut / profil (en sağda);
   2) durum çipleri (Bugün, Sanal, Alex…) ve hemen yanında Rejim, sonra eğilim yazısı ve bağlantı durumu */
.top > .notewrap, .top > #cmdBtn, .top > .profwrap { order: 1; }
.top > .status, .top > .rgm, .top > .bellwrap { order: 2; }
.top > .cons, .top > .conn { order: 3; }
.top > .status:not(:empty) { flex-basis: auto; flex-wrap: nowrap; }   /* üst bar tek satır: iki çip alt alta binip üstteki kesilmesin */
.top > .bellwrap { margin-left: 0; }
/* sağ gruptan sonra satır sonu: ikinci satır öğeleri (çipler, Rejim, bildirim, bağlantı) ilk satıra çıkamaz */
.top::after { content: ""; order: 1; flex-basis: 100%; height: 0; }
/* düzenli iki satır: satırlar ince bir çizgiyle ayrılır; ikinci satırda solda çipler + Rejim + bildirim,
   sağda Uyum çipleri, eğilim yazısı (aynı satırda, sığmazsa kısalır) ve bağlantı */
.top { row-gap: 6px; }
.top::after { border-top: 1px solid var(--line); margin: 0 -2px; }
.top > .cons { flex-wrap: nowrap; min-width: 0; flex: 0 1 auto; }
.top .consTrend { flex: 0 1 auto; min-width: 0; margin: 0 0 0 12px; padding-left: 12px; border-left: 1px solid var(--line); text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top > .conn { white-space: nowrap; flex: none; }
/* terminal seçici (Terminal / İşlem) sol menünün başında */
.ws .wsterm { display: flex; margin: 0 0 8px; }
.ws .wsterm button { flex: 1 1 0; justify-content: center; min-height: 32px; padding: 6px 4px; font: 600 12px var(--f-body); border-radius: 0; box-shadow: none; }
/* üst satır: dominans (BTC.D / USDT.D), haber uyarısı ve bağlantı durumu piyasa bilgisinin yanında */
.mkx { display: flex; align-items: center; gap: 14px; font-size: 12px; color: var(--ink-2); white-space: nowrap; }
.mkx:empty { display: none; }
.top > .mkx, .top > .conn { order: 1; }
.top > .conn { margin-left: 0; }
@media (max-width: 1650px) { .top > .conn span { display: none; } }
/* dominans ve bağlantı durumu çerçeveli çip (Rejim gibi) */
.mkx > span, .top > .conn { border: 1px solid var(--line-2); border-radius: 999px; padding: 3px 10px; line-height: 1.4; }
.mkx { gap: 8px; }
/* alt satır: Uyum çipleri ve eğilim yazısı bildirim düğmesinin hemen sağında (sola yaslı) */
.top > .cons { margin-left: 4px; }
/* bildirim üst satırda, Pilot'un hemen solunda */
.top > .bellwrap { order: 1; margin-left: auto; }
.top > .notewrap:not(.bellwrap) { margin-left: 0; }
/* Uyum grubu ve eğilim yazısı çerçeveli kutu (diğer çiplerle aynı) */
.consBox { display: inline-flex; align-items: center; gap: 4px; flex: none; border: 1px solid var(--line-2); border-radius: 999px; padding: 3px 12px 3px 12px; }
.top .consTrend { border: 1px solid var(--line-2); border-radius: 999px; padding: 4px 12px; margin-left: 8px; line-height: 1.4; }
/* üst bar çipleri tek tip: aynı yükseklik, köşe, çerçeve rengi ve iç boşluk (Bugün, Sanal, Rejim, Uyum, eğilim, dominans, bağlantı) */
.top .stchip, .top > .rgm, .top .consBox, .top .consTrend, .mkx > span, .top > .conn {
  box-sizing: border-box; height: 30px; min-height: 30px; display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid var(--line-2); border-radius: 999px; padding: 0 12px; line-height: 1; }
.top > .rgm.chop { border-color: var(--line-2); }
.top .stchip.bad { border-color: var(--sell); }
.top .consTrend { display: block; line-height: 28px; }
.top .consBox .chip { padding: 3px 7px; }
/* Formasyon ayrıntı penceresi */
.patpop { z-index: 960; }
.patpop[hidden] { display: none; }
.pp-box { width: min(1100px, 100%); border-radius: 14px; }
.pp-box .mh h2 { font-size: 18px; }
.pp-body { display: grid; grid-template-columns: 1fr 280px; min-height: 0; }
.pp-cv { width: 100%; height: min(460px, 60vh); display: block; border-right: 1px solid var(--line); }
.pp-side { padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; font-size: 13px; overflow-y: auto; }
.pp-kv { display: grid; gap: 6px; }
.pp-kv > div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px dashed var(--line); padding-bottom: 5px; }
.pp-kv span { color: var(--ink-2); }
.pp-info { margin: 0; line-height: 1.5; }
.pat-row { cursor: pointer; }
@media (max-width: 760px) { .pp-body { grid-template-columns: 1fr; } .pp-cv { border-right: 0; border-bottom: 1px solid var(--line); height: 300px; } }
/* Tarayıcı sekmeleri (Formasyon · Mum · PA · SMC · ICT) */
.pat-tabs { display: flex; gap: 2px; padding: 6px 10px 0; border-bottom: 1px solid var(--line); }
.pat-tabs button { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--ink-2); font: 600 12.5px var(--f-body); padding: 6px 12px 7px; cursor: pointer; }
.pat-tabs button:hover { color: var(--ink); }
.pat-tabs button.on { color: var(--ink); border-bottom-color: var(--accent); }
.pat-tabs i { font: 600 10.5px var(--f-mono); font-style: normal; color: var(--ink-3); margin-left: 2px; }
.pat-tabs button.on i { color: var(--accent); }
.patm[data-tab="pat"] .only-set, .patm:not([data-tab="pat"]) .only-pat { display: none; }
.pt-tags { font-size: 11.5px; line-height: 1.35; }
.pp-tag { display: inline-block; font-size: 11px; border-radius: 999px; padding: 1px 8px; margin: 0 2px; border: 1px solid var(--line-2); }
.pp-tag.ok { color: var(--buy); } .pp-tag.bad { color: var(--sell); }
/* ayrıntı penceresi: yön rozeti (büyük harf, renkli zemin) */
.pp-dir { font: 800 13px var(--f-body); letter-spacing: .05em; padding: 4px 12px; border-radius: 999px; border: 1px solid currentColor; }
.pp-dir.up { color: var(--buy); background: var(--buy-bg); } .pp-dir.dn { color: var(--sell); background: var(--sell-bg); } .pp-dir.flat { color: var(--accent); background: var(--accent-bg); }
/* Günlük aralık: fiyat merdiveni */
.rl-use { display: grid; grid-template-columns: 1fr; gap: 5px; margin: 8px 0 10px; font-size: 13px; }
.rl-meter { position: relative; height: 8px; border-radius: 4px; background: var(--raise); overflow: hidden; }
.rl-meter i { position: absolute; inset: 0 auto 0 0; background: var(--buy); border-radius: 4px; }
.rl-meter i.warn { background: var(--warn); } .rl-meter i.dn { background: var(--sell); }
.rl-meter em { position: absolute; right: 6px; top: -3px; font: 600 10px var(--f-body); color: var(--ground); }
.rl { position: relative; display: grid; margin-bottom: 12px; }
.rl::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 2px; background: var(--line-2); }
.rl-r { position: relative; display: grid; grid-template-columns: 18px 1fr auto 70px; align-items: center; gap: 8px; padding: 5px 4px; font-size: 13px; border-radius: 8px; }
.rl-r i { width: 10px; height: 10px; border-radius: 50%; background: var(--ink-3); justify-self: center; z-index: 1; box-shadow: 0 0 0 3px var(--panel); }
.rl-r span small { display: block; font-size: 11px; color: var(--ink-3); }
.rl-r > small { text-align: right; color: var(--ink-3); font-size: 11.5px; }
.rl-r.up i { background: var(--buy); } .rl-r.up b { color: var(--buy); }
.rl-r.dn i { background: var(--sell); } .rl-r.dn b { color: var(--sell); }
.rl-r.day i { background: var(--warn); }
.rl-r.sig { opacity: .75; } .rl-r.sig i { background: var(--line-2); border: 1px solid var(--ink-3); }
.rl-r.px { background: var(--raise); font-weight: 700; } .rl-r.px i { width: 14px; height: 14px; background: var(--ink); }
.rl-r.px b { font-size: 14px; }
/* Performans: az örnekli satırlar soluk, kapanış stopu sütunları ayrık */
.ptab tr.pf-few td { opacity: .5; }
.ptab .pf-cs { border-left: 1px solid var(--line); }
.ptab th.pf-cs { color: var(--accent); }
/* bar replay kontrol çubuğu */
.chartbody .rpbar { position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%); z-index: 3; display: flex; align-items: center; gap: 4px; padding: 5px 8px; background: color-mix(in srgb, var(--panel) 92%, transparent); border: 1px solid var(--accent); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.35); font-size: 12px; white-space: nowrap; }
.chartbody .rpbar[hidden] { display: none; }
.rpbar b { color: var(--accent); font: 700 11px var(--f-mono); letter-spacing: .06em; margin-right: 4px; }
.rpbar span { color: var(--ink-2); margin-right: 6px; }
.rpbar button { background: none; border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); font: 600 12px var(--f-mono); padding: 3px 8px; cursor: pointer; }
.rpbar button:hover { border-color: var(--ink-3); }
.rpbar button.on, .rpbar .rp-play { color: var(--accent); border-color: var(--accent); }
/* emir formu: işlem öncesi kontrol listesi */
.of-chk { border: 1px solid var(--line); border-radius: 8px; padding: 6px 10px; font-size: 12px; }
.of-chk summary { cursor: pointer; display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; list-style: none; }
.of-chk summary::-webkit-details-marker { display: none; }
.of-chk summary .lbl { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .07em; }
.of-chk .warn { color: var(--accent); }
.ck-tree { margin: 6px 0 4px; font-weight: 600; }
.ck-tabs { display: flex; gap: 4px; margin: 4px 0; }
.ck-tabs button { background: none; border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink-2); font: 600 11px var(--f-body); padding: 2px 10px; cursor: pointer; }
.ck-tabs button.on { color: var(--accent); border-color: var(--accent); }
.ck-row { display: grid; grid-template-columns: 14px 84px 1fr; gap: 6px; align-items: baseline; padding: 2px 0; }
.ck-row small { color: var(--ink-2); overflow-wrap: anywhere; }
.ck-risk { margin-top: 5px; padding-top: 5px; border-top: 1px dashed var(--line); }
/* Terimler sözlüğü */
.tm-box { width: min(760px, 100%); border-radius: 14px; }
.tm-q { width: 260px; cursor: text; }
.tm-list { overflow-y: auto; padding: 4px 18px 16px; }
.tm-list h4 { margin: 14px 0 6px; font-size: 11px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .07em; }
.tm-row { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.tm-row b { font: 700 12.5px var(--f-mono); color: var(--accent); }
.tm-row span { font-weight: 600; }
.tm-row p { margin: 2px 0 0; color: var(--ink-2); line-height: 1.45; }
.has-term { cursor: help; }
/* bildirim kartları Pilot düğmesinin üstünde; Pilot kartı açıkken onun solunda */
.toasts { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
body:has(.pdock:not([hidden])) .toasts { right: 446px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 900px) { body:has(.pdock:not([hidden])) .toasts { right: 16px; bottom: auto; top: 70px; } }
/* Pilot: cevaptaki seçenekler ve onay */
.pd-opts { display: flex; flex-direction: column; gap: 6px; align-self: flex-start; max-width: 90%; }
.pd-olab { font-size: 11.5px; color: var(--pd-ink3); }
.pd-opt { display: flex; align-items: center; gap: 9px; text-align: left; background: transparent; border: 1px solid var(--pd-line); border-radius: 12px; color: var(--pd-ink); font: 13px var(--f-body); padding: 8px 12px; cursor: pointer; }
.pd-opt i { width: 16px; height: 16px; border-radius: 5px; border: 1.5px solid var(--pd-ink3); flex: none; display: grid; place-items: center; font-style: normal; font-size: 11px; }
.pd-opt:hover { border-color: var(--pd-blue); }
.pd-opt.on { border-color: var(--pd-blue); background: color-mix(in srgb, var(--pd-blue) 14%, transparent); }
.pd-opt.on i { background: var(--pd-blue); border-color: var(--pd-blue); color: #fff; }
.pd-opt.on i::after { content: "✓"; }
.pd-osend, .pd-yn button { align-self: flex-start; border-radius: 12px; border: 1px solid var(--pd-line); background: transparent; color: var(--pd-ink); font: 600 13px var(--f-body); padding: 8px 14px; cursor: pointer; }
.pd-osend:not(:disabled), .pd-yn .go { background: var(--pd-blue); border-color: var(--pd-blue); color: #fff; }
.pd-osend:disabled { opacity: .45; cursor: default; }
.pd-yn { display: flex; gap: 8px; }
/* Pilot: sekmeler, bağlam, fırsat şablonları, özet, kullanım */
.pd-tabs { display: flex; gap: 6px; padding: 8px 14px 0; }
.pd-tabs button { background: none; border: 1px solid transparent; border-radius: 10px; color: var(--pd-ink2); font: 600 13px var(--f-body); padding: 6px 12px; cursor: pointer; }
.pd-tabs button.on { background: var(--pd-blue); color: #fff; }
.pd-ctx { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; padding: 8px 14px 0; font-size: 11.5px; color: var(--pd-ink3); }
.pd-ctx[hidden], .pd-pane[hidden], .pd-log[hidden] { display: none; }
.pd-ctx > * { border: 1px solid var(--pd-line); border-radius: 8px; padding: 2px 7px; }
.pd-ctx > span:first-child { border: 0; padding-left: 0; }
.pd-ctx b { color: var(--pd-ink); }
.pd-grp { display: grid; gap: 6px; }
.pd-gh { display: flex; align-items: baseline; gap: 7px; font-weight: 700; font-size: 13px; }
.pd-gh b { width: 20px; height: 20px; border-radius: 6px; display: inline-grid; place-items: center; background: color-mix(in srgb, var(--pd-blue) 22%, transparent); font-size: 11px; }
.pd-gh small { font-weight: 400; color: var(--pd-ink3); }
.pd-pane { flex: 1; min-height: 0; overflow-y: auto; padding: 10px 14px; display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.pf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pf-chips button { display: inline-flex; gap: 6px; align-items: center; background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: 12px; color: var(--pd-ink); font: 600 12.5px var(--f-body); padding: 6px 11px; cursor: pointer; }
.pf-chips button.on { border-color: var(--pd-blue); background: color-mix(in srgb, var(--pd-blue) 16%, transparent); }
.pf-box { background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: 14px; padding: 10px 12px; display: grid; gap: 8px; }
.pf-box p { margin: 0; color: var(--pd-ink2); font-size: 12.5px; }
.pf-w { display: grid; gap: 4px; }
.pf-wl { font-size: 11.5px; color: var(--pd-ink3); }
.pf-reset { justify-self: end; margin-top: -18px; background: none; border: 0; color: var(--pd-blue); font: 12px var(--f-body); cursor: pointer; }
.pf-wr { display: grid; grid-template-columns: 150px 1fr 38px; gap: 8px; align-items: center; font-size: 12px; }
.pf-wr i { height: 5px; border-radius: 3px; background: var(--pd-line); overflow: hidden; } .pf-wr em { display: block; height: 100%; background: var(--pd-blue); }
.pf-wr input { width: 100%; accent-color: var(--pd-blue); }
.pf-wr b { text-align: right; font: 600 11.5px var(--f-mono); color: var(--pd-blue); }
.pf-prev { display: flex; gap: 6px; align-items: center; font-size: 12px; color: var(--pd-ink2); }
.pf-hint { color: var(--pd-ink3); font-size: 12.5px; margin: 0; }
.pf-res { display: grid; gap: 8px; }
.pf-row { background: var(--pd-card); border: 1px solid var(--pd-line); border-radius: 12px; padding: 8px 10px; display: grid; gap: 4px; }
.pf-top { display: flex; align-items: center; gap: 8px; }
.pf-dir { font: 700 10.5px var(--f-mono); border-radius: 6px; padding: 1px 6px; } .pf-dir.up { background: color-mix(in srgb, var(--pd-green) 22%, transparent); color: var(--pd-green); } .pf-dir.dn { background: color-mix(in srgb, var(--pd-red) 22%, transparent); color: var(--pd-red); }
.pf-sc { flex: 1; height: 5px; border-radius: 3px; background: var(--pd-line); overflow: hidden; } .pf-sc i { display: block; height: 100%; background: var(--pd-blue); }
.pf-row small { color: var(--pd-ink2); }
.pf-parts { display: flex; flex-wrap: wrap; gap: 4px; } .pf-parts span { font-size: 11px; color: var(--pd-ink3); border: 1px solid var(--pd-line); border-radius: 6px; padding: 0 5px; } .pf-parts b { color: var(--pd-ink); }
.pf-act { display: flex; gap: 6px; } .pf-act button { background: none; border: 1px solid var(--pd-line); border-radius: 8px; color: var(--pd-ink); font: 12px var(--f-body); padding: 3px 9px; cursor: pointer; } .pf-act button:hover { border-color: var(--pd-blue); }
.ps-h { display: flex; align-items: center; gap: 8px; } .ps-h b { font-size: 15px; color: var(--pd-blue); } .ps-h small { color: var(--pd-ink3); flex: 1; }
.pd-pane h5 { margin: 6px 0 2px; font-size: 12.5px; color: var(--pd-ink2); }
.ps-tone { border-left: 3px solid var(--pd-blue); background: var(--pd-card); border-radius: 8px; padding: 7px 10px; }
.ps-row { display: grid; grid-template-columns: 56px 1fr; gap: 8px; background: var(--pd-card); border-radius: 8px; padding: 6px 10px; font-size: 12.5px; } .ps-row b { color: var(--pd-blue); }
.ps-note { color: var(--pd-ink2); font-size: 12.5px; }
.pd-use { margin: 0 18px 10px; font-size: 11px; color: var(--pd-ink3); }
/* Türev: fiyat ↔ OI tarayıcı ve borsalar arası funding */
.oqm { display: grid; grid-template-columns: 1fr 230px; min-height: 0; }
.oq-cv { position: relative; min-height: 0; }
.oq-cv canvas { width: 100%; height: 100%; display: block; }
.oq-tip { position: absolute; z-index: 3; pointer-events: none; background: var(--panel); border: 1px solid var(--line-2); border-radius: 8px; padding: 6px 9px; font-size: 12px; box-shadow: 0 8px 20px rgba(0,0,0,.35); min-width: 170px; }
.oq-tip[hidden] { display: none; }
.oq-side { border-left: 1px solid var(--line); overflow-y: auto; padding: 8px 10px; display: grid; gap: 10px; align-content: start; font-size: 12px; }
.oq-q p { margin: 2px 0 4px; color: var(--ink-3); font-size: 11.5px; }
.oq-q button { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; width: 100%; background: none; border: 0; color: var(--ink); font: 12px var(--f-body); padding: 3px 4px; border-radius: 6px; cursor: pointer; text-align: left; }
.oq-q button:hover { background: var(--raise); }
.fxm { overflow: auto; }
.fx-t td, .fx-t th { padding: 4px 8px; }
.fx-s { background: none; border: 0; color: var(--ink); font: 600 12.5px var(--f-body); cursor: pointer; padding: 0; }
.fx-t .warn { color: var(--accent); }
@media (max-width: 760px) { .oqm { grid-template-columns: 1fr; grid-template-rows: 1fr auto; } .oq-side { border-left: 0; border-top: 1px solid var(--line); } }
/* Kontrat radarı */
.rdm { overflow: auto; }
.rd-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; padding: 8px; }
.rd-card { border: 1px solid var(--line-2); border-left: 3px solid var(--line-2); border-radius: 10px; padding: 8px 10px; display: grid; gap: 5px; font-size: 12px; }
.rd-card.up { border-left-color: var(--buy); } .rd-card.dn { border-left-color: var(--sell); }
.rd-h { display: flex; align-items: baseline; gap: 8px; } .rd-h > b:first-child { font-size: 14px; } .rd-h small { color: var(--ink-3); }
.rd-card.up .rd-dir { color: var(--buy); } .rd-card.dn .rd-dir { color: var(--sell); }
.rd-ev { display: flex; flex-wrap: wrap; gap: 4px; } .rd-ev span { border: 1px solid var(--line-2); border-radius: 6px; padding: 1px 6px; font-size: 11.5px; }
.rd-f { display: flex; gap: 8px; align-items: center; color: var(--ink-3); font-size: 11.5px; }
.rd-f button { background: none; border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); font: 11.5px var(--f-body); padding: 2px 8px; cursor: pointer; white-space: nowrap; }
.rd-f { flex-wrap: wrap; row-gap: 4px; }
.rd-more { grid-column: 1 / -1; }
/* Pilot: geçmişi silmeden öneriler */
.pd-ctx .pd-sbtn { background: none; color: var(--pd-ink); font: 600 11.5px var(--f-body); cursor: pointer; border: 1px solid var(--pd-line); border-radius: 8px; padding: 2px 8px; }
.pd-ctx .pd-sbtn.on, .pd-ctx .pd-sbtn:hover { border-color: var(--pd-blue); background: color-mix(in srgb, var(--pd-blue) 16%, transparent); }
.pd-sugbox { display: grid; gap: 10px; border: 1px solid var(--pd-blue); border-radius: 14px; padding: 10px 12px; background: color-mix(in srgb, var(--pd-blue) 6%, transparent); }
.pd-sugh { display: flex; align-items: center; justify-content: space-between; }
/* Pilot cevap kartı: kanıt, karar disiplini, yön dağılımı, eylemler, takip soruları */
.pd-ev { display: inline-flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-left: 8px; font: 500 10.5px var(--f-body); letter-spacing: 0; }
.pd-ev small { color: var(--pd-ink3); } .pd-ev span { border: 1px solid var(--pd-line); border-radius: 6px; padding: 0 6px; color: var(--pd-ink2); }
.pd-discs { display: grid; gap: 6px; margin: 6px 0; }
.pd-disc { border-left: 3px solid var(--pd-blue); background: color-mix(in srgb, var(--pd-blue) 8%, transparent); border-radius: 8px; padding: 6px 10px; }
.pd-disc.inv { border-left-color: var(--pd-red); background: color-mix(in srgb, var(--pd-red) 8%, transparent); }
.pd-disc.cnt { border-left-color: #e0a63a; background: color-mix(in srgb, #e0a63a 8%, transparent); }
.pd-disc small { display: block; font-size: 11px; color: var(--pd-ink3); }
.pd-prob { display: grid; gap: 4px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--pd-line); }
.pd-prob small { color: var(--pd-ink3); font-size: 11px; }
.pd-pr { display: grid; grid-template-columns: 52px 1fr 40px; gap: 8px; align-items: center; font-size: 12px; }
.pd-pr i { height: 6px; border-radius: 3px; background: var(--pd-line); overflow: hidden; } .pd-pr em { display: block; height: 100%; }
.pd-pr.g span, .pd-pr.g b { color: var(--pd-green); } .pd-pr.g em { background: var(--pd-green); }
.pd-pr.r span, .pd-pr.r b { color: var(--pd-red); } .pd-pr.r em { background: var(--pd-red); }
.pd-pr.n em { background: var(--pd-ink3); } .pd-pr b { text-align: right; font: 600 11.5px var(--f-mono); }
.pd-acts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.pd-acts button { background: none; border: 1px solid var(--pd-line); border-radius: 8px; color: var(--pd-ink2); font: 11.5px var(--f-body); padding: 2px 8px; cursor: pointer; }
.pd-acts button:hover { color: var(--pd-ink); border-color: var(--pd-ink3); } .pd-acts button.on { color: var(--pd-ink); border-color: var(--pd-blue); background: color-mix(in srgb, var(--pd-blue) 16%, transparent); }
.pd-follow { display: grid; gap: 5px; margin-top: 8px; }
.pd-follow button { text-align: left; background: none; border: 1px solid var(--pd-line); border-radius: 10px; color: #b9a8ff; font: 12.5px var(--f-body); padding: 6px 10px; cursor: pointer; }
.pd-follow button:hover { border-color: var(--pd-blue); }
/* Telegram bildirimleri penceresi */
.tg-box { width: min(620px, 100%); border-radius: 14px; }
.tg-body { padding: 6px 18px 16px; overflow-y: auto; display: grid; gap: 12px; font-size: 13px; }
.tg-sec { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; display: grid; gap: 8px; }
.tg-sec h4 { margin: 0; font-size: 13.5px; display: inline; } .tg-sec summary { cursor: pointer; }
.tg-sec p { margin: 0; line-height: 1.5; }
.tg-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.tg-chk { display: flex; gap: 8px; align-items: center; }
.tg-tok { flex: 1; min-width: 220px; cursor: text; font-family: var(--f-mono); }
.tg-steps { margin: 0; padding-left: 20px; line-height: 1.6; }
.tg-msg { margin: 0; font-size: 12.5px; min-height: 1em; }
.tg-set { display: grid; gap: 8px; margin-top: 4px; padding-top: 8px; border-top: 1px dashed var(--line); }
.tg-sig { display: grid; gap: 6px; } .tg-syms { flex: 1; min-width: 200px; cursor: text; }
.calsec { font: 700 11px var(--f-disp); letter-spacing: .08em; text-transform: uppercase; color: var(--accent); padding: 10px 10px 2px; }
.calrow.past { opacity: .6; }
/* Pilot yukarıdan aşağı analiz adımları */
.pd-disc.td { border-left-color: var(--pd-ink3); background: color-mix(in srgb, var(--pd-ink3) 7%, transparent); }
.pd-disc.res { border-left-color: var(--pd-green, #2fbf71); background: color-mix(in srgb, var(--pd-green, #2fbf71) 9%, transparent); font-weight: 600; }
/* ETF çipi ve radar sektör rotasyonu */
.etfc b { font-weight: 600; }
.rd-rot { grid-column: 1 / -1; border-top: 1px solid var(--line); padding: 8px 10px; display: grid; gap: 6px; }
.rd-rh { display: flex; gap: 8px; align-items: baseline; }
.rd-secs, .rd-tr { display: flex; flex-wrap: wrap; gap: 4px; }
.rd-secs button, .rd-tr button, .rd-tr span { font-size: 11px; padding: 2px 7px; border: 1px solid var(--line); border-radius: 6px; background: none; color: inherit; cursor: pointer; }
.rd-tr span { cursor: default; }
.rd-sec.up { border-color: color-mix(in srgb, var(--buy) 45%, var(--line)); }
.rd-sec.dn { border-color: color-mix(in srgb, var(--sell) 45%, var(--line)); }
/* Canlı bot */
.bt-wrap { padding: 10px; display: grid; gap: 10px; }
.bt-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bt-run { font-size: 12px; padding: 3px 10px; border-radius: 6px; border: 1px solid var(--line); }
.bt-run.shadow { color: #e0a63a; border-color: color-mix(in srgb, #e0a63a 50%, var(--line)); }
.bt-run.live { color: var(--sell); border-color: var(--sell); font-weight: 700; }
.bt-stop, .bt-close { color: var(--sell); }
.bt-live { border-color: var(--sell); color: var(--sell); }
.bt-msg { font-size: 12px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 6px; }
.bt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.bt-c { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; display: grid; gap: 2px; }
.bt-c small { font-size: 11px; color: var(--ink-3); }
.bt-c b { font-size: 18px; font-weight: 600; }
.bt-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 10px; }
@media (max-width: 900px) { .bt-grid { grid-template-columns: minmax(0, 1fr); } }
.bt-sec { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; margin-bottom: 10px; }
.bt-sh { display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; }
.bt-lim { display: grid; grid-template-columns: minmax(0, 1fr) 80px 44px; gap: 4px 8px; align-items: center; font-size: 12px; }
.bt-lim input[type=number], .bt-lim select { height: 26px; font-size: 12px; background: var(--bg-2, transparent); color: inherit; border: 1px solid var(--line); border-radius: 5px; padding: 0 6px; }
.bt-lim small { color: var(--ink-3); font-size: 11px; }
.bt-wide { grid-column: 1 / -1; }
.bt-chk { display: inline-flex; align-items: center; gap: 4px; margin-right: 10px; font-size: 12px; }
.bt-syms { display: flex; flex-wrap: wrap; gap: 2px 0; }
.bt-row { display: flex; align-items: center; gap: 8px; font-size: 12px; padding: 4px 0; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.bt-dir { font-size: 10px; padding: 1px 6px; border-radius: 4px; border: 1px solid var(--line); }
.bt-dir.up { color: var(--buy); border-color: var(--buy); } .bt-dir.dn { color: var(--sell); border-color: var(--sell); } .bt-dir.pend { color: var(--accent); }
.bt-jr { max-height: 320px; overflow: auto; font-size: 11.5px; display: grid; gap: 2px; }
.bt-j.err, .bt-j.halt, .bt-j.lock { color: var(--sell); } .bt-j.skip, .bt-j.cancel { color: var(--ink-3); } .bt-j.open, .bt-j.close { color: var(--ink); }
.bt-key { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; }
@media (max-width: 600px) { .bt-key { grid-template-columns: 1fr; } }
.bt-btns { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.bt-acct { margin-bottom: 6px; }
.bt-disc { margin: 0; }
/* Strateji kurucu */
.rl-wrap { padding: 10px; display: grid; gap: 10px; }
.rl-top { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rl-top select, .rl-row select { height: 26px; font-size: 12px; background: transparent; color: inherit; border: 1px solid var(--line); border-radius: 5px; padding: 0 4px; }
.rl-top select option, .rl-row select option { background: var(--bg, #111); }
.rl-name { min-width: 200px; }
.rl-gs { display: grid; gap: 6px; }
.rl-g { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; }
.rl-g > small { width: 100%; color: var(--ink-3); font-size: 11px; }
.rl-chk { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; margin-right: 10px; }
.rl-lab { font-size: 10px; padding: 0 5px; border: 1px solid var(--line); border-radius: 4px; margin-left: 2px; font-family: var(--mono, monospace); }
.rl-lab.up { color: var(--buy); border-color: color-mix(in srgb, var(--buy) 45%, var(--line)); }
.rl-lab.dn { color: var(--sell); border-color: color-mix(in srgb, var(--sell) 35%, var(--line)); }
.rl-lab.warn { color: #e0a63a; }
.rl-row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; padding: 4px 0; }
.rl-rule { border-top: 1px solid var(--line); }
.rl-rule > small { color: var(--ink-3); }
.rl-n { width: 58px; height: 24px; font-size: 12px; background: transparent; color: inherit; border: 1px solid var(--line); border-radius: 5px; padding: 0 4px; }
.rl-t { width: 110px; height: 24px; font-size: 12px; background: transparent; color: inherit; border: 1px solid var(--line); border-radius: 5px; padding: 0 4px; }
.rl-col { display: grid; gap: 4px; }
.rl-code { width: 100%; box-sizing: border-box; min-height: 140px; resize: vertical; background: var(--raise); color: var(--ink); border: 1px solid var(--line-2); border-radius: 6px; padding: 8px; font: 12px/1.45 var(--f-mono); }
.rl-ul { margin: 4px 0 0; padding-left: 18px; font-size: 12px; line-height: 1.5; }
.rl-q { font-size: 11px; padding: 1px 7px; border: 1px solid var(--line); border-radius: 5px; background: none; color: inherit; cursor: pointer; }
.rl-x { border: none; background: none; color: var(--ink-3); cursor: pointer; font-size: 14px; }
.rl-curve { width: 100%; height: 90px; display: block; margin: 8px 0; }
.rl-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.rl-kv { display: flex; justify-content: space-between; font-size: 11.5px; padding: 1px 0; }
.rl-per { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; }
.rl-d { height: 26px; font-size: 12px; background: transparent; color: inherit; border: 1px solid var(--line); border-radius: 5px; padding: 0 4px; }

/* Risk simülatörü (riskmod.js) */
.riskm { display: grid; gap: 8px; align-content: start; }
.riskm .kgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 6px; }
.riskm .kgrid > div { background: var(--raise); border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; display: grid; gap: 3px; }
.riskm .kgrid span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); }
.riskm .kmsg { margin: 0; font-size: 13px; line-height: 1.5; }
.riskm h4 { margin: 4px 0 0; font-size: 12px; }
.riskm .rk-fig { margin: 0; }
.riskm .rk-fig svg { width: 100%; height: 170px; display: block; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; }
.riskm .ptab tr.on td { background: var(--accent-bg); }
.riskm .rk-src:empty { display: none; }
/* sağ grup (bildirim, Pilot, ⌘K, profil) tek parça ve her genişlikte sağ üst köşede: tek tek kırılınca sondaki düğme
   alt satırın soluna düşüyordu. Ayrılan boşluk grubun gerçek genişliği (--topr-w, main.js ölçer) */
.top { position: relative; padding-right: var(--topr-w, 220px); }
.top > .topr { position: absolute; top: 0; right: 0; height: 34px; display: flex; align-items: center; gap: 8px; }
body.popmode .top { padding-right: 0; }
@media (max-width: 760px) {
  /* telefonda grup akışta kalır: kendi satırında sağa yaslanır */
  .top { padding-right: 0; }
  .top > .topr { position: static; order: 1; margin-left: auto; }
}
.sai-by { min-width: 0; }
.sai-chart canvas[data-saidist] { height: 120px; }
.pt-saiby .pt-h, .pt-saiby .pt-r { grid-template-columns: 120px 52px 56px 64px 64px 96px; }
.pt-saish .pt-h, .pt-saish .pt-r { grid-template-columns: minmax(220px, 1fr) 64px 88px 64px 64px; }
.tconf { margin: 6px 0; padding: 7px 10px; border: 1px solid var(--accent); background: var(--accent-bg); color: var(--ink); border-radius: 6px; font-size: 12.5px; line-height: 1.45; }
.tconf b { color: var(--accent); }
.jperf { flex-wrap: wrap; gap: 4px 8px; }
.tcal { margin: 4px 0 6px; line-height: 1.45; }
.tmtf { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 4px 0; color: var(--ink-2); }
.tmtf.opp { border-left: 2px solid var(--accent); padding-left: 8px; }
/* İşlem › Hedef: kasa hedef takipçisi */
.hedefm { display: grid; gap: 8px; align-content: start; grid-auto-rows: max-content; }
.hedefm .tabs { position: static; padding-left: 0; }
.hedefm .hd-top { display: flex; flex-wrap: wrap; align-items: end; gap: 6px; }
.hedefm .hd-plan { display: grid; gap: 2px; font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; }
.hedefm .hd-plan select { background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 4px 6px; color: var(--ink); font: 500 12px var(--f-mono); min-width: 140px; }
.hedefm .hd-sync { margin-left: auto; }
.hedefm .hd-kpi { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px; }
.hedefm .hd-kpi > div { background: var(--raise); border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; display: grid; gap: 2px; }
.hedefm .hd-kpi span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); }
.hedefm .hd-kpi b { font-size: 16px; }
.hedefm .hd-kpi small { font-size: 11px; color: var(--ink-3); }
.hedefm .hd-kpi small.up { color: var(--buy); } .hedefm .hd-kpi small.dn { color: var(--sell); }
.hedefm .hd-prog { display: grid; gap: 4px; }
.hedefm .hd-prog-h { display: flex; justify-content: space-between; font-size: 12px; color: var(--ink-2); }
.hedefm .hd-track { height: 8px; background: var(--raise); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
.hedefm .hd-track i { display: block; height: 100%; background: var(--buy); }
.hedefm .hd-tw { overflow: auto; max-height: 520px; }
.hedefm .hd-tab th { position: sticky; top: 0; background: var(--panel); }
.hedefm .hd-tab tr.done td { background: var(--buy-bg); }
.hedefm .hd-tab tr.on td { background: var(--accent-bg); }
.hedefm .hd-in { width: 110px; background: var(--raise); border: 1px solid var(--line-2); border-radius: 5px; padding: 3px 6px; color: var(--ink); font: 500 12px var(--f-mono); }
.hedefm .hd-in:disabled { opacity: .45; }
.hedefm .hd-cv { height: 320px; }
.hedefm .hd-cv canvas { width: 100%; height: 100%; display: block; background: var(--panel); border: 1px solid var(--line); border-radius: 6px; }
.hedefm .hd-risk { margin: 0; padding: 7px 9px; border-radius: 6px; font-size: 13px; font-weight: 600; }
.hedefm .hd-risk.up { background: var(--buy-bg); color: var(--buy); } .hedefm .hd-risk.dn { background: var(--sell-bg); color: var(--sell); } .hedefm .hd-risk.warn { background: var(--accent-bg); color: var(--accent); }

/* Creamer kontrol listesi */
.crm { display: grid; gap: 8px; align-content: start; }
.crs { border: 1px solid var(--line-2); border-radius: 8px; padding: 7px 9px; display: grid; gap: 4px; }
.crs.crdim { opacity: .55; }
.crh { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; } .crh b { font-size: 13px; }
.crb { font: 700 11px var(--f-mono); min-width: 22px; text-align: center; padding: 1px 5px; border-radius: 5px; border: 1px solid currentColor; }
.crn { font-size: 12px; } .crd { font-size: 11.5px; color: var(--ink-2); display: flex; flex-wrap: wrap; gap: 4px 10px; }
.crpas { border: 1px solid var(--line-2); border-radius: 8px; padding: 10px; text-align: center; font: 700 15px var(--f-disp); letter-spacing: .04em; color: var(--ink-2); }
.crpas small { display: block; font: 400 11.5px var(--f-body); color: var(--ink-3); letter-spacing: 0; margin-top: 3px; }
.crseg { justify-self: start; }
.crplan { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; }
.crstop { border: 1px solid var(--sell); background: var(--sell-bg); color: var(--sell); border-radius: 8px; padding: 7px 9px; font-weight: 700; margin: 0; }
.crdg { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12px; color: var(--ink-2); }
.crfoot { margin: 0; }
.newsm .ncoin.on { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); }
.newsm .npre { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-top: 5px; }
.newsm .npre i { width: 6px; }
.newsm .npre button { padding: 1px 7px; border: 1px solid var(--line-2); border-radius: 4px; background: var(--raise); font: 600 10.5px var(--f-mono); cursor: pointer; }
.newsm .npre button.up { color: var(--buy); }
.newsm .npre button.dn { color: var(--sell); }
.newsm .npre button:hover { border-color: currentColor; }
.ordf .of-rplan { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: baseline; font-size: 12px; margin: 2px 0 4px; }
.ordf .of-rplan small { font-size: 10.5px; }
.pt-tpsl .pt-plan { display: block; width: 100%; font-size: 10.5px; margin-top: 2px; white-space: normal; }
.pt-exc { display: flex; flex-wrap: wrap; gap: 4px 14px; padding: 0 10px 8px; font-size: 11.5px; }
.pt-exc > span { white-space: nowrap; }
.pt-tpsl { flex-wrap: wrap; }
/* çoklu grafik (multimod.js) */
.mgm { display: flex; flex-direction: column; }
.mg-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 6px 8px; border-bottom: 1px solid var(--line); }
.mg-bar .tabs { border: 0; padding: 0; }
.mg-only { font-size: 12px; color: var(--ink-2); display: flex; gap: 5px; align-items: center; }
.mg-grid { flex: 1 1 0; min-height: 0; display: grid; gap: 6px; padding: 6px; grid-auto-rows: minmax(150px, 1fr); overflow: auto; }
.mg-grid.big1 > .mg-card:first-child { grid-column: span 2; grid-row: span 2; }
.mg-card { display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 0; padding: 6px 8px; background: var(--raise); border: 1px solid var(--line-2); border-radius: 7px; color: var(--ink); text-align: left; cursor: pointer; font: inherit; }
.mg-card:hover { border-color: var(--ink-3); }
.mg-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.mg-ord { align-self: flex-start; font: 600 11px var(--f-body); padding: 3px 9px; min-height: 24px; border-radius: 5px; border: 1px solid var(--accent); background: var(--accent-bg); color: var(--accent); cursor: pointer; }
.mg-ord:hover { background: var(--accent); color: #04242A; }
.mg-card.sel { border-color: var(--accent); }
.mg-h, .mg-t { display: flex; align-items: center; gap: 6px; min-width: 0; white-space: nowrap; overflow: hidden; }
.mg-h b { font: 700 15px/1 var(--f-disp); letter-spacing: .04em; }
.mg-h small { color: var(--ink-3); font: 500 10.5px var(--f-mono); }
.mg-h .sp { flex: 1 1 4px; }
.mg-t .pill { font-size: 10.5px; padding: 1px 6px; }
.mg-cv { flex: 1 1 0; min-height: 60px; width: 100%; background: var(--ground); border-radius: 5px; }
.mg-f { color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* sırada ne var */
.nx { display: flex; flex-direction: column; }
.nx-sum { padding: 8px 10px; border-bottom: 1px solid var(--line); font-size: 13px; }
.nx-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 10px; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.nx-tf { display: flex; flex-direction: column; gap: 2px; font-size: 12px; }
.nx-tf b { font: 700 14px/1 var(--f-disp); letter-spacing: .04em; }
.nx-mid { display: flex; flex-direction: column; gap: 3px; min-width: 0; line-height: 1.45; }
.nx-m { grid-column: 2; color: var(--ink-2); }
.nx-note { padding: 6px 10px; margin: 0; }

/* Okay Pilot (web/js/voice.js): tam ekran, ortada durum küresi */
/* Okay Pilot ("Pilot Core"): ızgaralı koyu zemin, solda eylem akışı, ortada küre (vporb.js), sağda bağlam kartları */
.vp { position: fixed; inset: 0; z-index: 9000; color: var(--ink); display: grid; grid-template-rows: auto 1fr auto; padding: 14px 20px; gap: 10px; overflow: hidden;
  background: radial-gradient(ellipse 60% 55% at 50% 45%, rgba(52,198,217,.10), transparent 70%), linear-gradient(rgba(52,198,217,.035) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, rgba(52,198,217,.035) 1px, transparent 1px) 0 0 / 32px 100%, rgba(5,8,12,.985); }
.vp::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.55)); }
.vp[hidden] { display: none; }
.vp > * { position: relative; z-index: 1; }
.vp-top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.vp-brand { display: inline-flex; align-items: center; gap: 8px; font: 700 13px var(--f-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }
.vp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px var(--accent); }
.vp[data-state="confirm"] .vp-dot { background: var(--warn); box-shadow: 0 0 10px var(--warn); }
.vp[data-state="error"] .vp-dot { background: var(--ink-3); box-shadow: none; }
.vp-top .sp { flex: 1 1 10px; }
.vp-st { font: 600 12px var(--f-mono); color: var(--accent); letter-spacing: .06em; text-transform: uppercase; }
.vp[data-state="confirm"] .vp-st { color: var(--warn); }
.vp-lat { font: 500 11px var(--f-mono); color: var(--ink-3); border: 1px solid var(--line-2); border-radius: 999px; padding: 1px 8px; }
.vp-lat:empty { display: none; }
.vp-chk { font-size: 12px; color: var(--ink-2); display: flex; gap: 6px; align-items: center; }
.vp-ic { background: var(--raise); border: 1px solid var(--line-2); color: var(--ink); border-radius: 6px; padding: 6px 10px; min-height: 34px; cursor: pointer; font: 600 12px var(--f-body); }
.vp-main { display: grid; grid-template-columns: minmax(220px, 290px) minmax(0, 1fr) minmax(240px, 310px); gap: 18px; min-height: 0; }
.vp-col { min-height: 0; display: flex; flex-direction: column; gap: 10px; }
.vp-col h3 { font: 600 11px var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.vp-log ol { list-style: none; margin: 0; padding: 0 4px 0 14px; overflow-y: auto; display: grid; gap: 10px; align-content: start; border-left: 1px solid var(--line-2); }
.vp-log li { position: relative; display: grid; gap: 2px; font-size: 13px; animation: vp-in .35s ease-out; }
.vp-log li::before { content: ''; position: absolute; left: -19px; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: var(--panel); border: 2px solid var(--accent); }
.vp-log li.vl-alarm::before, .vp-log li.vl-bilet::before { border-color: var(--warn); }
.vp-log li.vl-gonder::before { background: var(--accent); }
.vp-log li.vl-iptal::before { border-color: var(--ink-3); }
.vp-log li time { font: 500 10.5px var(--f-mono); color: var(--ink-3); }
.vp-log li small { color: var(--ink-2); font: 500 11.5px var(--f-mono); word-break: break-word; }
.vp-log li.vp-empty { color: var(--ink-3); font-size: 12px; line-height: 1.5; }
.vp-log li.vp-empty::before { display: none; }
@keyframes vp-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.vp-center { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 0; }
.vp-orb { position: relative; width: min(52vh, 40vw, 440px); aspect-ratio: 1; border: 0; padding: 0; background: none; border-radius: 50%; cursor: pointer; }
.vp-orb:focus-visible { outline: 2px solid var(--accent); outline-offset: -10px; }
.vp-orb canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.vo-css { display: none; }
.vo-nogl .vo-css { display: block; position: absolute; inset: 22%; border-radius: 50%; background: radial-gradient(circle at 50% 45%, rgba(190,245,255,.9), rgba(52,198,217,.55) 35%, rgba(8,40,55,.9) 70%); box-shadow: 0 0 calc(30px + 60px * var(--vo-e, 0)) rgba(52,198,217,.45); transform: scale(calc(1 + .12 * var(--vo-e, 0))); }
.vp-you { min-height: 26px; max-width: 760px; text-align: center; color: var(--ink); font-size: 19px; line-height: 1.45; }
.vp-you .vy-tmp { color: var(--ink-3); }
.vp-you b { font-weight: 600; }
.vp-you .hs { color: var(--accent); }
.vp-you .hv { color: var(--ink); text-decoration: underline 1px var(--line-2); text-underline-offset: 4px; }
.vp-you .hw { color: var(--warn); }
.vp-say { max-width: 720px; text-align: center; font-size: 15.5px; line-height: 1.55; color: var(--ink-2); white-space: pre-wrap; max-height: 22vh; overflow-y: auto; }
.vp[data-state="speak"] .vp-say { color: var(--ink); }
.vp-card { background: rgba(16,22,29,.82); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; display: grid; gap: 6px; position: relative; }
.vp-card::before { content: ''; position: absolute; left: -1px; top: -1px; width: 12px; height: 12px; border-left: 2px solid var(--accent); border-top: 2px solid var(--accent); border-radius: 8px 0 0 0; opacity: .7; }
.vp-tkt { border-color: rgba(226,166,60,.5); }
.vp-tkt::before { border-color: var(--warn); }
.vc-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font: 600 12px var(--f-body); }
.vc-h small { font: 500 10.5px var(--f-mono); color: var(--ink-3); margin-left: 4px; }
.vc-px { display: flex; align-items: baseline; gap: 10px; }
.vc-px b { font-size: 22px; }
.vc-px span { font-size: 12px; }
.vp-card svg { width: 100%; height: 46px; display: block; }
.vc-kv { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; font-size: 12px; }
.vc-kv span { color: var(--ink-3); }
.vc-kv b { text-align: right; }
.vc-pos { display: flex; justify-content: space-between; font-size: 12px; border-top: 1px solid var(--line); padding-top: 5px; }
.vc-pos i { font-style: normal; font-size: 11px; }
.vc-none { color: var(--ink-3); font-size: 12px; }
.vc-tx { font: 500 12px/1.5 var(--f-mono); color: var(--ink); }
.vc-al { font-size: 12px; color: var(--ink-2); }
.vc-act { display: flex; gap: 8px; justify-content: flex-end; }
.vp-go { border: 0; border-radius: 6px; padding: 7px 14px; font: 700 13px var(--f-body); cursor: pointer; }
.vp-go.long { background: var(--buy); color: #04140C; }
.vp-go.short { background: var(--sell); color: #1A0508; }
.vp-go:disabled { opacity: .45; cursor: not-allowed; }
.vp-bot { display: grid; gap: 8px; justify-items: center; }
.vp-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.vp-chips button { background: rgba(52,198,217,.06); border: 1px solid rgba(52,198,217,.3); color: var(--ink-2); border-radius: 999px; padding: 5px 12px; font: 500 12.5px var(--f-body); cursor: pointer; }
.vp-chips button:hover, .vp-chips button:focus-visible { color: var(--ink); border-color: var(--accent); }
.vp-hint { text-align: center; font-size: 11.5px; color: var(--ink-3); line-height: 1.6; }
.vp-hint kbd { font: 600 11px var(--f-mono); border: 1px solid var(--line-2); border-radius: 4px; padding: 0 4px; }
@media (max-width: 980px) {
  .vp { overflow-y: auto; grid-template-rows: auto auto auto; }
  .vp-main { grid-template-columns: 1fr; }
  .vp-center { order: -1; }
  .vp-orb { width: min(70vw, 320px); }
  .vp-log ol { max-height: 180px; }
}
@media (prefers-reduced-motion: reduce) { .vp-log li { animation: none; } }

/* Strateji mağazası (web/js/storemod.js) */
.st-wrap { padding: 10px; display: grid; gap: 10px; }
.st-intro { margin: 0; line-height: 1.5; }
.st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; align-items: stretch; }
.st-card { background: var(--raise); border: 1px solid var(--line-2); border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.st-card.on { border-color: var(--accent); }
.st-card header { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.st-card header b { font-size: 14px; margin-right: auto; }
.st-card p { margin: 0; color: var(--ink-2); line-height: 1.45; }
.st-rules { display: grid; grid-template-columns: max-content 1fr; gap: 3px 10px; margin: 0; font-size: 12px; }
.st-rules dt { color: var(--ink-3); } .st-rules dd { margin: 0; }
.st-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.st-more { font-size: 12px; } .st-more > summary { cursor: pointer; color: var(--accent); font-weight: 600; } .st-more[open] > summary { margin-bottom: 6px; } .st-more > :not(summary) + :not(summary) { margin-top: 6px; }
.st-psym { color: var(--ink-2); } .st-psym b { font-family: var(--f-mono); }
.st-mon { margin-top: 6px; }
.st-mong { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 3px; margin-top: 3px; }
.st-mong > div { background: var(--panel); border: 1px solid var(--line); border-radius: 4px; padding: 2px 3px; display: grid; text-align: center; }
.st-mong small { color: var(--ink-3); font-size: 10px; } .st-mong b { font: 600 11px var(--f-mono); }
.st-last { margin: 6px 0; } .st-last summary { cursor: pointer; color: var(--accent); font-weight: 600; }
.csig .cs-rep { font-size: 11px; } .csig .cs-rep summary { cursor: pointer; color: var(--accent); }
.csig .cs-rep table { width: 100%; border-collapse: collapse; margin-top: 3px; } .csig .cs-rep th { color: var(--ink-3); font-weight: 500; text-align: right; } .csig .cs-rep td { text-align: right; font-family: var(--f-mono); padding: 1px 2px; }
.csig .cs-rep td:first-child { text-align: left; font-family: inherit; max-width: 84px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.csig .cs-card { background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; padding: 5px 7px; font-size: 11px; } .csig .cs-card p { margin: 3px 0 0; line-height: 1.35; }
.st-per { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.st-per button { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 5px 7px; display: grid; gap: 1px; text-align: left; cursor: pointer; min-width: 0; color: inherit; font: inherit; }
.st-per button.on { border-color: var(--accent); }
.st-per small { color: var(--ink-3); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-per b { font: 600 14px var(--f-mono); }
.cap-res { margin-top: 10px; display: grid; gap: 6px; }
.cap-res-g { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.cap-res-l { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.cap-res p { margin: 0; }
.st-cost { white-space: nowrap; } .st-cost.on { color: var(--accent); border-color: var(--accent); background: var(--accent-bg); }
.st-edge { font-size: 12px; margin-top: 6px; display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; } .st-edge b { font: 700 13px var(--f-mono); }
.st-sym { margin-top: 6px; font-size: 12px; } .st-symb { background: none; border: 0; padding: 0; color: var(--acc); font: 600 12px var(--f-body); cursor: pointer; }
.st-symt { width: 100%; border-collapse: collapse; margin-top: 4px; font: 12px var(--f-mono); } .st-symt th { text-align: left; font: 500 11px var(--f-body); color: var(--ink-3); padding: 2px 4px; } .st-symt td { padding: 2px 4px; border-top: 1px solid var(--line); }
.st-symtry { display: flex; gap: 6px; margin-top: 6px; } .st-symq { flex: 1; min-width: 0; text-transform: uppercase; } .st-symres { margin-top: 4px; }
.rl-sym { width: 130px; text-transform: uppercase; }
.st-st { background: var(--panel); border: 1px solid var(--line); border-radius: 6px; padding: 6px 8px; display: grid; gap: 2px; }
.st-st small { color: var(--ink-3); font-size: 11px; } .st-st b { font: 600 14px var(--f-mono); }
.st-curve { width: 100%; height: 54px; display: block; }
.st-card footer { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.bt-strat { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 6px 0; }

/* Balinalar (web/js/whalemod.js) */
.whm { padding: 8px 10px; }
.linkbtn { background: none; border: 0; padding: 0; color: var(--accent); cursor: pointer; font: inherit; text-decoration: underline; text-underline-offset: 2px; }
.wh-w { display: grid; gap: 8px; }
.wh-q { display: flex; gap: 6px; margin-bottom: 8px; }
.wh-q input { flex: 1; min-width: 0; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; padding: 4px 8px; }
.wh-sum { display: grid; grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: 6px 12px; }
.wh-sum span { display: block; color: var(--ink-3); font-size: 11px; }
.wh-bar { display: flex; height: 6px; border-radius: 3px; overflow: hidden; background: var(--line-2); }
.wh-tops { display: grid; gap: 12px; }
.wh-tops .wh-col { display: none; }
.wh-tops .wh-col.on { display: block; }
.wh-col h4 { display: none; margin: 0 0 4px; font-size: 12px; }
.pane-whales { container-type: inline-size; }
@container (min-width: 900px) {
  .wh-tops { grid-template-columns: repeat(3, 1fr); }
  .wh-tops .wh-col { display: block; }
  .wh-col h4 { display: block; }
  .wh-winseg { display: none; }
}

/* Günlük özet (web/js/digestmod.js) */
.dgm { padding: 10px 12px; display: grid; gap: 10px; align-content: start; }
.dg-t { font-size: 14px; line-height: 1.6; }

/* İleri test (web/js/fwdmod.js) */
.fwm { padding: 8px 10px; display: grid; gap: 8px; align-content: start; }
.fw-wrap { overflow-x: auto; }
.fw-cv { width: 120px; height: 28px; display: block; }

/* Onay penceresi (web/js/confirm.js) */
dialog.okc { border: 1px solid var(--line-2); border-radius: 12px; background: var(--panel); color: var(--ink); padding: 0; width: min(440px, calc(100vw - 32px)); box-shadow: 0 24px 64px rgba(0,0,0,.55); }
dialog.okc::backdrop { background: rgba(4,7,10,.62); backdrop-filter: blur(3px); }
.okc-f { display: grid; gap: 12px; padding: 18px 20px 16px; margin: 0; }
.okc-h { display: flex; gap: 12px; align-items: center; }
.okc-h h2 { margin: 0; font: 700 17px/1.25 var(--f-disp); letter-spacing: .04em; text-transform: uppercase; }
.okc-ic { flex: 0 0 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font: 700 15px var(--f-mono); background: var(--accent-bg); color: var(--accent); }
.okc-warn .okc-ic { background: var(--warn-bg); color: var(--warn); }
.okc-danger .okc-ic { background: rgba(238,82,103,.14); color: var(--sell); }
.okc-b { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.55; }
.okc-p { margin: 0; padding: 10px 12px 10px 28px; background: var(--raise); border: 1px solid var(--line); border-radius: 8px; font-size: 13px; line-height: 1.6; color: var(--ink-2); }
.okc-n { margin: 0; font-size: 12px; color: var(--ink-3); line-height: 1.5; }
.okc-in { width: 100%; box-sizing: border-box; background: var(--raise); color: var(--ink); border: 1px solid var(--line-2); border-radius: 8px; padding: 9px 11px; font: 14px var(--f-body); }
.okc-in:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-bg); }
.okc-a { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.okc-btn { min-height: 38px; padding: 8px 16px; border-radius: 7px; border: 1px solid var(--line-2); background: var(--raise); color: var(--ink); font: 600 13px var(--f-body); cursor: pointer; }
.okc-btn:hover { border-color: var(--ink-3); }
.okc-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.okc-ok { background: var(--accent); border-color: var(--accent); color: #04242A; }
.okc-warn .okc-ok { background: var(--warn); border-color: var(--warn); color: #2A1C04; }
.okc-danger .okc-ok { background: var(--sell); border-color: var(--sell); color: #fff; }

/* mağaza kartları eşit boy: açıklama 3 satır, kurallar tek satır, sonuç kutuları ve bot notu sabit, düğmeler altta */
.st-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(3 * 1.45em); }
.st-rules dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.st-rules { grid-template-columns: 64px minmax(0, 1fr); }
.st-st { min-height: 118px; align-content: start; }
.st-curve, .st-card .st-curve { flex: 0 0 54px; }
.st-bot { min-height: 2.9em; }
.st-card footer { margin-top: auto; }
/* emir bileti: uyarı satırı Long/Short düğmelerinin üstünde; stopsuz ya da dikkat durumunda ikinci tık */
.of-pre { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; font-size: 12px; padding: 7px 10px; border: 1px solid var(--line); border-left-width: 3px; border-radius: 8px; background: var(--panel); }
.of-pre.up { border-left-color: var(--buy); }
.of-pre.warn { border-left-color: var(--warn); background: var(--warn-bg); }
.of-pre.dn { border-left-color: var(--sell); background: var(--sell-bg); }
.of-pre .of-pre-chk { font-size: 11.5px; }
.of-go.armed { outline: 2px solid var(--warn); outline-offset: 2px; animation: armp .9s ease-in-out infinite alternate; }
@keyframes armp { from { filter: brightness(1); } to { filter: brightness(1.18); } }
@media (prefers-reduced-motion: reduce) { .of-go.armed { animation: none; } }
/* İşlem alanında (emir bileti ekrandayken) bildirimler sol altta: emir düğmelerini örtmez */
body:has(.ordf):not(:has(.pdock:not([hidden]))) .toasts { right: auto; left: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
/* sanal hesap: eylem sütunu (kapat / iptal) yatay kaydırmada sağda sabit */
.pt-pos .pt-h > :last-child, .pt-pos .pt-r > :last-child, .pt-ord .pt-h > :last-child, .pt-ord .pt-r > :last-child { position: sticky; right: 0; background: var(--panel); box-shadow: -8px 0 8px -6px rgba(0,0,0,.5); padding-left: 6px; z-index: 1; }
.pt-pos .pt-r:hover > :last-child, .pt-ord .pt-r:hover > :last-child { background: var(--raise); }

/* Pilot geniş ekranda sağa sabit: ızgara daralır, hiçbir bölüm örtülmez (pilotdock.js dock) */
@media (min-width: 1200px) {
  body.pd-docked .pdock { top: var(--hdr-h, 106px); bottom: 10px; right: 10px; height: auto; width: 400px; border-radius: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
  body.pd-docked .shell { margin-right: 412px; }
  body.pd-docked .toasts { right: 424px; }
}
/* durum cümlesi üst satırda önce gelir ve okunur boyutta (UX: "şimdi ne yapmalıyım?") */
.top .consTrend { order: -1; margin-left: 0; margin-right: 8px; font-size: 12.5px; color: var(--ink); max-width: min(720px, 60vw); }
.top .consTrend > b:first-child { color: var(--accent); margin-right: 2px; }
.top .consTrend small { margin-left: 6px; font-size: 10.5px; }
/* ilk giriş turu (tour.js) */
.tour-ring { position: fixed; z-index: 9500; border: 2px solid var(--accent); border-radius: 10px; box-shadow: 0 0 0 9999px rgba(5,8,12,.62), 0 0 18px rgba(52,198,217,.45); pointer-events: none; transition: all .25s ease; }
.tour { position: fixed; z-index: 9501; background: var(--panel); border: 1px solid var(--line-2); border-radius: 10px; padding: 14px 16px; display: grid; gap: 8px; box-shadow: 0 16px 40px rgba(0,0,0,.5); }
.tour h3 { font: 700 15px var(--f-body); }
.tour p { font-size: 13px; line-height: 1.55; color: var(--ink-2); }
.tour-top { display: flex; justify-content: space-between; align-items: center; }
.tour-n { font: 600 11px var(--f-mono); color: var(--accent); }
.tour-x { background: none; border: 0; color: var(--ink-3); cursor: pointer; font-size: 12px; }
.tour-act { display: flex; justify-content: flex-end; gap: 8px; }
.tour-b { background: var(--raise); border: 1px solid var(--line-2); color: var(--ink); border-radius: 6px; padding: 6px 14px; cursor: pointer; font: 600 12.5px var(--f-body); }
.tour-go { background: var(--accent); border-color: var(--accent); color: #04161A; }
@media (prefers-reduced-motion: reduce) { .tour-ring { transition: none; } }
/* sanal hesap: hesap sekmeleri önde; analiz araçları "Araçlar" başlığı altında, daha sönük */
.pt-grp { align-self: center; margin: 0 2px 0 10px; padding-left: 10px; border-left: 1px solid var(--line-2); font: 600 10px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.tabs [data-tool]:not(.on) { color: var(--ink-3); }
/* Okay Pilot: dinleme aç / kapat (kapalıyken mikrofon kapalı, düğme amber ve noktalı) */
.vp-lis[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
.vp-lis[aria-pressed="false"] { border-color: var(--warn); color: var(--warn); border-style: dashed; }
.vp[data-listen="0"] .vp-dot { background: var(--ink-3); box-shadow: none; }
/* Pilot: model seviyesi seçimi (Hızlı / Dengeli / Güçlü) */
.pd-tier select { background: var(--pd-card); color: var(--pd-ink); border: 1px solid var(--pd-line); border-radius: 8px; padding: 4px 6px; font: 600 11.5px var(--f-body); cursor: pointer; }
.vp-chk select { background: var(--raise); color: var(--ink); border: 1px solid var(--line-2); border-radius: 6px; padding: 5px 6px; font: 600 12px var(--f-body); }

/* ================================================================ Tasarım sistemi v2 (Claude Design, Faz 1 · 16 Eki 2026)
   Tek vurgu camgöbeği; amber yalnız uyarı; kırmızı tehlike (silme, gerçek para); yeşil/kırmızı yalnız yön ve K/Z.
   Başlıklar cümle düzeninde IBM Plex Sans 600; rakamlar JetBrains Mono, tabular. */
:root {
  --accent-2: #13707D; --accent-ink: #06181B;
  --danger: #EE5267; --danger-bg: rgba(238,82,103,.14);
  --buy-cb: #4C9BE8; --sell-cb: #F08A24;
  --f-head: "IBM Plex Sans", system-ui, sans-serif;
  --fs-head: 13px; --fs-label: 11px;
  --r-card: 8px; --r-ctl: 6px;
  --focus: 0 0 0 2px var(--ground), 0 0 0 4px var(--accent);
  --flash-ms: 200ms;
}
:root[data-skin="kagit"] { --accent: #13707D; --accent-2: #13707D; --accent-bg: rgba(19,112,125,.12); --accent-ink: #FFFFFF; --danger: #B3261E; --danger-bg: rgba(179,38,30,.10); }
/* renk körü dostu: al mavi, sat turuncu (profil menüsü › Renkler) */
:root[data-cb="1"] { --buy: var(--buy-cb); --sell: var(--sell-cb); --buy-bg: rgba(76,155,232,.14); --sell-bg: rgba(240,138,36,.14); }
:root[data-cb="1"][data-skin="kagit"] { --buy: #1F5FA8; --sell: #B85400; }
/* klavye odağı: her etkileşimli öğede görünür halka */
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: none; box-shadow: var(--focus); }
/* bölüm başlığı: cümle düzeni, sakin; araç ikonları soluk, üzerine gelince ya da odakta tam */
.ph h2 { font: 600 var(--fs-head)/1.2 var(--f-head); letter-spacing: 0; text-transform: none; }
.ph .xbtn { opacity: .45; transition: opacity .12s; }
.panel:hover .ph .xbtn, .panel:focus-within .ph .xbtn, .ph .xbtn:focus-visible { opacity: 1; }
.ph .hx { font-size: var(--fs-label); }
/* rakamlar her yerde tabular (hizalı, titremez) */
.mono, .num, td.r, .r.mono { font-variant-numeric: tabular-nums; }
/* fiyat değişiminde kısa zemin yanıp sönmesi (yalnız sınıf eklenen hücrelerde) */
@keyframes okpFlashUp { from { background: var(--buy-bg); } to { background: transparent; } }
@keyframes okpFlashDn { from { background: var(--sell-bg); } to { background: transparent; } }
.fl-up { animation: okpFlashUp var(--flash-ms) ease-out; } .fl-dn { animation: okpFlashDn var(--flash-ms) ease-out; }
@media (prefers-reduced-motion: reduce) { .fl-up, .fl-dn { animation: none; } }
/* emir formu risk satırı: üç ton (tasarım: normal → amber → kırmızı) */
.of-pre.dn { border-left-color: var(--danger); background: var(--danger-bg); }

/* ---------------------------------------------------------------- tasarım sistemi v2: tek puan dili */
.sc { display: inline-flex; align-items: baseline; gap: 4px; padding: 1px 7px; border-radius: 4px; font-size: 11.5px; border: 1px solid transparent; white-space: nowrap; }
.sc b { font: 700 12px var(--f-mono); font-variant-numeric: tabular-nums; } .sc i { font-style: normal; font-size: 11px; }
.sc-buy { background: var(--buy-bg); color: var(--buy); } .sc-sell { background: var(--sell-bg); color: var(--sell); } .sc-flat { background: var(--flat-bg); color: var(--ink-2); }
.scr { display: grid; grid-template-columns: auto minmax(60px, 1fr) auto auto; align-items: center; gap: 4px 8px; min-width: 0; }
.scr-l { font: 600 12px var(--f-body); color: var(--ink); white-space: nowrap; }
.scr-v { font-size: 14px; font-weight: 700; text-align: right; min-width: 34px; }
.scr-w { font-size: 11px; white-space: nowrap; color: var(--ink-3); } .scr-w.up { color: var(--buy); } .scr-w.dn { color: var(--sell); }
.scr-s { grid-column: 1 / -1; font-size: 10.5px; color: var(--ink-3); }
.scr .dbar { margin: 0; }
/* zaman dilimleri şeridi (Analiz üstü) */
.tfs-b { padding: 6px 8px !important; }
.tfs { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 6px 14px; }
.tfs-c { all: unset; box-sizing: border-box; display: block; padding: 4px 8px; border-radius: var(--r-ctl, 6px); cursor: pointer; min-width: 0; }
.tfs-c:hover { background: var(--raise); } .tfs-c:focus-visible { box-shadow: var(--focus); }
/* CAP karar rozeti */
.capb { border-left: 3px solid var(--line-2); background: var(--raise); border-radius: 0 6px 6px 0; padding: 6px 10px; display: grid; gap: 3px; }
.capb-h { display: flex; gap: 8px; align-items: baseline; } .capb-t { font: 700 11px var(--f-mono); letter-spacing: .04em; padding: 1px 6px; border-radius: 3px; }
.capb-h small { color: var(--ink-3); font-size: 10.5px; } .capb p { margin: 0; font-size: 12px; color: var(--ink); line-height: 1.45; }
.capb-ok { border-left-color: var(--accent); } .capb-ok .capb-t { background: var(--accent-bg); color: var(--accent); }
.capb-warn { border-left-color: var(--warn); } .capb-warn .capb-t { background: var(--warn-bg); color: var(--warn); }
.capb-red { border-left-color: var(--danger); } .capb-red .capb-t { background: var(--danger-bg); color: var(--danger); }

/* ---------------------------------------------------------------- Kokpit (tasarım sistemi v2) */
.kk-b { padding: 12px !important; overflow-y: auto; display: grid; gap: 12px; align-content: start; }
.kk-top { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.kk-card { background: var(--raise); border: 1px solid var(--line); border-radius: var(--r-card, 8px); padding: 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.kk-card h3 { margin: 0; font: 600 13px var(--f-head, var(--f-body)); display: flex; align-items: center; gap: 8px; }
.kk-card h3 small, .kk-h small { font: 500 11px var(--f-body); color: var(--ink-3); }
.kk-big { font: 700 26px var(--f-mono); font-variant-numeric: tabular-nums; }
.kk-kv { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 12px; } .kk-kv span { color: var(--ink-3); } .kk-kv b { text-align: right; font-weight: 600; }
.kk-last { border-left: 2px solid var(--line-2); padding-left: 8px; } .kk-last small { color: var(--ink-3); font-size: 11px; } .kk-last p { margin: 2px 0 0; font-size: 12px; line-height: 1.45; }
.kk-favs { display: grid; gap: 2px; }
.kk-fav { all: unset; box-sizing: border-box; display: grid; grid-template-columns: 56px 1fr auto auto; gap: 8px; align-items: center; padding: 4px 6px; border-radius: 5px; cursor: pointer; font-size: 12px; }
.kk-fav:hover, .kk-fav.on { background: var(--panel); } .kk-fav:focus-visible { box-shadow: var(--focus); } .kk-fav .mono { text-align: right; }
.kk-ev { display: grid; grid-template-columns: 44px 1fr; gap: 8px; font-size: 12px; padding: 3px 0; } .kk-ev.first .mono { font: 700 18px var(--f-mono); color: var(--accent); }
.kk-ev small { display: block; color: var(--ink-3); font-size: 11px; }
.kk-h { margin: 4px 0 0; font: 600 13px var(--f-head, var(--f-body)); display: flex; gap: 10px; align-items: baseline; }
.kk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.kk-feat p { margin: 0; font-size: 12.5px; color: var(--ink-2); line-height: 1.5; }
.kk-feat ul { margin: 0; padding-left: 16px; font-size: 12px; color: var(--ink-2); line-height: 1.6; flex: 1; }
.kk-go { align-self: flex-start; margin-top: auto; background: none; border: 1px solid var(--line-2); color: var(--ink-2); border-radius: var(--r-ctl, 6px); padding: 6px 12px; font: 600 12px var(--f-body); cursor: pointer; }
.kk-go.pri { border-color: var(--accent); color: var(--accent); background: var(--accent-bg); } .kk-go:hover { color: var(--ink); }
.kk-tier { font: 700 9.5px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; padding: 1px 6px; border-radius: 3px; border: 1px solid var(--line-2); color: var(--ink-3); }
.kk-tier.pro { border-color: var(--accent); color: var(--accent); } .kk-tier.elit { border-color: var(--warn); color: var(--warn); }

/* ---------------------------------------------------------------- emir formu (tasarım sistemi v2): Temel / Gelişmiş, altta sabit risk satırı */
.ordf:not(.adv) [data-adv] { display: none !important; }
.of-lay { margin-left: 6px; } .of-lay button { font-size: 11px; padding: 2px 8px; }
.ordf .of-foot { position: sticky; bottom: -1px; z-index: 2; background: var(--panel); padding: 8px 0 6px; margin-top: 4px; display: grid; gap: 8px; border-top: 1px solid var(--line); box-shadow: 0 -10px 14px -10px rgba(0,0,0,.5); }
:root[data-skin="kagit"] .ordf .of-foot { box-shadow: none; }

/* ---------------------------------------------------------------- mobil (tasarım sistemi v2) */
.mbar { display: none; }
@media (max-width: 760px) {
  /* üst bar sadeleşir: parite, fiyat, değişim ve sağ düğmeler; piyasa ayrıntısı ve araçlar gizli */
  .top .meta, .top .mkx, .top .tools, .top .status { display: none !important; }
  .top .consBox { display: none; }
  .top .consTrend { max-width: 100%; white-space: normal; }
  body.m-tabs { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
  body.m-tabs .mbar { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 950; background: var(--panel); border-top: 1px solid var(--line-2); padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px)); gap: 4px; }
  .mbar button { min-height: 44px; background: none; border: 0; color: var(--ink-2); font: 600 12.5px var(--f-body); border-radius: 8px; }
  .mbar button.on { color: var(--accent); background: var(--accent-bg); }
  .mbar .mb-go { background: var(--accent); color: var(--accent-ink, #06181B); }
  body.m-sheet .mbar .mb-go { box-shadow: var(--focus); }
  /* İşlem alanı: her sekme tek bölüm (emir formu ayrı sayfada) */
  body.m-tabs .ws, body.m-tabs .pd-launch { display: none !important; }
  body.m-tabs .grid-stack-item { display: none !important; }
  body.m-tabs[data-mtab="chart"] .grid-stack-item[data-t="chart"], body.m-tabs[data-mtab="book"] .grid-stack-item[data-t="book"], body.m-tabs[data-mtab="paper"] .grid-stack-item[data-t="paper"] { display: block !important; height: calc(100vh - 210px) !important; position: relative !important; top: auto !important; }
  /* emir formu: alttan açılan sayfa; fiyat ve grafik üstte görünür kalır */
  body.m-tabs .grid-stack-item[data-t="order"] { display: block !important; position: fixed !important; left: 0 !important; right: 0; bottom: calc(58px + env(safe-area-inset-bottom, 0px)); top: auto !important; width: 100% !important; height: min(72vh, 620px) !important; z-index: 940; transform: translateY(115%) !important; transition: transform .22s ease; visibility: hidden; }
  body.m-tabs.m-sheet .grid-stack-item[data-t="order"] { transform: none !important; visibility: visible; box-shadow: 0 -16px 40px rgba(0,0,0,.55); }
  body.m-tabs .grid-stack-item[data-t="order"] .panel { border-radius: 14px 14px 0 0; }
  body.m-tabs .ordf .of-go { min-height: 48px; }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) { body.m-tabs .grid-stack-item[data-t="order"] { transition: none; } }

/* ---------------------------------------------------------------- Canlı bot (tasarım sistemi v2): durum kartları, limitler, karar günlüğü */
.bt-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; }
.bt-mode { all: unset; box-sizing: border-box; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; align-content: start; padding: 10px 12px; border: 1px solid var(--line-2); border-radius: var(--r-card, 8px); background: var(--raise); min-width: 0; }
.bt-mode b { font: 700 15px var(--f-body); } .bt-mode small { font: 600 10.5px var(--f-mono); color: var(--ink-3); text-transform: uppercase; align-self: center; }
.bt-mode span { grid-column: 1 / -1; font-size: 11.5px; color: var(--ink-2); line-height: 1.4; }
.bt-mode:hover:not(:disabled) { border-color: var(--ink-3); } .bt-mode:focus-visible { box-shadow: var(--focus); }
.bt-mode:disabled { opacity: .5; cursor: not-allowed; }
.bt-mode.on { border-color: var(--accent); background: var(--accent-bg); } .bt-mode.on small { color: var(--accent); }
.bt-mode.warn.on { border-color: var(--warn); background: var(--warn-bg); } .bt-mode.warn.on small { color: var(--warn); }
.bt-mode.danger.on { border-color: var(--danger); background: var(--danger-bg); } .bt-mode.danger.on small { color: var(--danger); }
.bt-mode.danger:not(.on) b { color: var(--danger); }
@container (max-width: 520px) { .bt-modes { grid-template-columns: 1fr; } }
/* limitler iki sütun (geniş bölümde) */
.btm .bt-wrap { container-type: inline-size; }
@container (min-width: 720px) { .bt-lim { grid-template-columns: minmax(0, 1fr) 90px 80px minmax(0, 1fr) 90px 80px; column-gap: 12px; } .bt-lim .bt-wide { grid-column: 1 / -1; } }
.bt-lim small { color: var(--ink-3); font-size: 10.5px; }
/* karar günlüğü: türüne göre işaret */
.bt-j { display: grid; grid-template-columns: 18px 44px auto 1fr; gap: 6px; align-items: baseline; }
.bt-ji { font: 700 11px var(--f-mono); text-align: center; color: var(--ink-3); }
.bt-j.g-islem .bt-ji { color: var(--accent); } .bt-j.g-cap .bt-ji { color: var(--accent); } .bt-j.g-uyari .bt-ji { color: var(--warn); } .bt-j.err .bt-ji { color: var(--danger); }
.bt-j b { font-size: 12px; }

/* ---------------------------------------------------------------- Strateji kurucu (tasarım sistemi v2): adımlı yapı */
.rl-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr) minmax(260px, 340px); gap: 12px; align-items: start; }
.rl-steps ol { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 4px; counter-reset: s; }
.rl-steps li button { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 8px 10px; border-radius: var(--r-ctl, 6px); cursor: pointer; border: 1px solid transparent; }
.rl-steps li button:hover { background: var(--raise); } .rl-steps li button:focus-visible { box-shadow: var(--focus); }
.rl-steps li button.on { background: var(--accent-bg); border-color: var(--accent); }
.rl-sn { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 700 11px var(--f-mono); border: 1px solid var(--line-2); color: var(--ink-2); }
.rl-steps li button.on .rl-sn { background: var(--accent); border-color: var(--accent); color: var(--accent-ink, #06181B); }
.rl-steps b { display: block; font-size: 12.5px; } .rl-steps small { display: block; font-size: 11px; color: var(--ink-3); line-height: 1.35; }
.rl-side { position: sticky; top: 0; }
.rl-testbig { grid-column: 2 / -1; }
@container (max-width: 980px) { .rl-layout { grid-template-columns: 200px minmax(0, 1fr); } .rl-side { grid-column: 1 / -1; position: static; } }
@container (max-width: 640px) { .rl-layout { grid-template-columns: 1fr; } .rl-steps ol { grid-auto-flow: column; overflow-x: auto; } }
.rl-wrap { container-type: inline-size; }

/* ---------------------------------------------------------------- Karar (tasarım sistemi v2): CAP + canlı skor */
.krm { display: grid; gap: 10px; align-content: start; overflow: auto; }
.kr-sum { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.kr-it { display: grid; gap: 3px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--r-card, 8px); background: var(--raise); min-width: 0; }
.kr-it > span { font-size: 11px; color: var(--ink-3); }
.kr-it small { font-size: 11px; color: var(--ink-3); }
.kr-dec { font: 700 15px var(--f-body); text-transform: uppercase; letter-spacing: .04em; }
.kr-gec { color: var(--accent); } .kr-dikkat { color: var(--warn); } .kr-reddet { color: var(--danger); }
.kr-sec { display: grid; gap: 8px; border-top: 1px solid var(--line); padding-top: 8px; min-width: 0; }
.kr-sh { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kr-sh b { font: 600 13px var(--f-body); } .kr-sh small { font-size: 11px; color: var(--ink-3); }
.kr-sh .seg button { font-size: 11px; padding: 2px 8px; }
.krm .live { min-height: 150px; }
.krm:not(.help) .jv > p.small { display: none; }
.krm.help .rule { display: block; grid-column: 1 / -1; font-size: 11.5px; color: var(--ink-3); }
.kr-q { font: 700 12px var(--f-mono); }
.krm.help ~ * .kr-q, .panel:has(.krm.help) .kr-q { color: var(--accent); }
.kr-live { order: 1; } .kr-cap { order: 2; } .kr-sum { order: 0; }   /* sürekli güncellenen canlı skor üstte, isteğe bağlı CAP altta */

/* ---------------------------------------------------------------- Piyasa listesi (tasarım sistemi v2): dar bölümde sütun önceliği
   sıra: ☆ · parite · fiyat · (değ) · 24s · hacim · funding · (sonraki) · açık poz.; önce açık poz., sonra funding gizlenir */
.mkb { container-type: inline-size; }
@container (max-width: 500px) {
  .list.mkgrid { grid-template-columns: 18px minmax(60px, 1fr) 84px 64px 70px 80px; }
  .list.mkgrid > .row.mk > :nth-child(9) { display: none; }
}
@container (max-width: 420px) {
  .list.mkgrid { grid-template-columns: 18px minmax(60px, 1fr) 84px 64px 70px; }
  .list.mkgrid > .row.mk > :nth-child(7) { display: none; }
}
/* Formasyon tarayıcı (tasarım sistemi v2): sütunlar bölüme sığar; dar bölümde önce çizim, sonra hedef / stop gizlenir */
.patm { container-type: inline-size; }
.pat-h, .pat-row { grid-template-columns: 80px 74px minmax(120px, 1.4fr) minmax(110px, 1fr) 96px 80px 80px 44px; }
@container (max-width: 780px) {
  .pat-h, .pat-row { grid-template-columns: 74px minmax(120px, 1.4fr) minmax(110px, 1fr) 96px 80px 80px 44px; }
  .pat-h > :nth-child(1), .pat-row > :nth-child(1) { display: none; }
}
@container (max-width: 600px) {
  .pat-h, .pat-row { grid-template-columns: 70px minmax(110px, 1.4fr) minmax(90px, 1fr) 90px 40px; }
  .pat-h > :nth-child(6), .pat-row > :nth-child(6), .pat-h > :nth-child(7), .pat-row > :nth-child(7) { display: none; }
}
.pat-row canvas { width: 80px; }

/* ---------------------------------------------------------------- Okay Pilot düğmesi (üst bar): canlı küre + ad; sesli mod açıkken vurgulu */
.btn.vbtn { gap: 7px; padding: 4px 10px 4px 6px; border-radius: 999px; border-color: color-mix(in srgb, var(--accent) 45%, var(--line-2)); background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--raise)), var(--raise)); font-weight: 600; }
.btn.vbtn:hover { border-color: var(--accent); }
.btn.vbtn:focus-visible { box-shadow: var(--focus); outline: none; }
.vb-orb { position: relative; width: 16px; height: 16px; border-radius: 50%; flex: none;
  background: radial-gradient(circle at 35% 30%, #E8FCFF 0 12%, var(--accent) 45%, color-mix(in srgb, var(--accent) 35%, #06181B) 100%);
  box-shadow: 0 0 8px color-mix(in srgb, var(--accent) 55%, transparent); }
.vb-orb::after { content: ''; position: absolute; inset: -3px; border-radius: 50%; border: 1px solid var(--accent); opacity: 0; }
.btn.vbtn kbd { font: 600 10px var(--f-mono); color: var(--ink-3); border: 1px solid var(--line-2); border-radius: 4px; padding: 0 4px; line-height: 15px; }
.btn.vbtn.on { background: var(--accent); border-color: var(--accent); color: var(--accent-ink, #06181B); }
.btn.vbtn.on kbd { color: inherit; border-color: color-mix(in srgb, var(--accent-ink, #06181B) 40%, transparent); }
.btn.vbtn.on .vb-orb { background: radial-gradient(circle at 35% 30%, #fff 0 15%, #DFFBFF 40%, #8BE6F2 100%); }
.btn.vbtn.on .vb-orb::after { animation: vbPulse 1.6s ease-out infinite; border-color: var(--accent-ink, #06181B); }
@keyframes vbPulse { 0% { transform: scale(.8); opacity: .8; } 100% { transform: scale(1.7); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .btn.vbtn.on .vb-orb::after { animation: none; opacity: .6; } }
/* üst bar sığsın: geniş ekranda ad + kısayol, orta genişlikte yalnız küre (ad title / aria-label'da) */
@media (max-width: 1700px) { .btn.vbtn kbd { display: none; } }
@media (max-width: 1480px) { .btn.vbtn .vb-l { display: none; } .notewrap .btn.vbtn { width: 30px; padding: 0; justify-content: center; } .vb-orb { width: 18px; height: 18px; } }
.notewrap:not(.bellwrap) { display: inline-flex; align-items: center; gap: 6px; } .notewrap #pilotBtn, .notewrap .btn.vbtn { height: 30px; box-sizing: border-box; }

/* ---------------------------------------------------------------- telefon (tasarım sistemi v2): İşlem dışı alanlar
   gridstack'in tek sütunu 34 px satırla bölümleri ezip sırayı karıştırıyordu: bölümler normal akışta, masaüstü okuma sırasıyla;
   kısa bölüm (≤3 satır) 200 px, orta 380 px, uzun (≥8 satır) ekranın %72'si */
@media (max-width: 760px) {
  body:not(.m-tabs) #grid.grid-stack { height: auto !important; display: flex; flex-direction: column; gap: 8px; }
  body:not(.m-tabs) #grid > .grid-stack-item { position: relative !important; top: auto !important; left: auto !important; width: 100% !important; transform: none !important; order: var(--mo, 0);
    height: clamp(380px, calc(var(--mh, 4) * 9vh), 72vh) !important; }
  body:not(.m-tabs) #grid > .grid-stack-item[gs-h="1"], body:not(.m-tabs) #grid > .grid-stack-item[gs-h="2"], body:not(.m-tabs) #grid > .grid-stack-item[gs-h="3"] { height: auto !important; min-height: 120px; max-height: 260px; }
  body:not(.m-tabs) #grid > .grid-stack-item > .grid-stack-item-content { position: absolute; inset: 0; }
  body:not(.m-tabs) #grid > .grid-stack-item[gs-h="1"] > .grid-stack-item-content, body:not(.m-tabs) #grid > .grid-stack-item[gs-h="2"] > .grid-stack-item-content, body:not(.m-tabs) #grid > .grid-stack-item[gs-h="3"] > .grid-stack-item-content { position: relative; inset: auto; max-height: 260px; }
  /* başlıktaki seçenekler sıkışmasın: başlık kaydırılabilir, ikinci satıra geçebilir */
  .phx { flex-wrap: wrap; row-gap: 4px; }
  .phx .hx { min-width: 0; overflow-x: auto; scrollbar-width: none; }
}

/* Strateji kurucu › Pilot'a anlat */
.rl-ask { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); }
.rl-askrow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.rl-asktx { width: 100%; box-sizing: border-box; resize: vertical; min-height: 54px; background: var(--raise); border: 1px solid var(--line-2); border-radius: var(--r-ctl, 6px); color: var(--ink); padding: 8px 10px; font: 13px/1.45 var(--f-body); }
.rl-asktx:focus-visible { outline: none; box-shadow: var(--focus); border-color: var(--accent); }
.rl-askb { display: grid; gap: 6px; align-content: start; }
.rl-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.rl-chip { background: none; border: 1px dashed var(--line-2); border-radius: 999px; color: var(--ink-2); padding: 4px 10px; font: 12px var(--f-body); cursor: pointer; text-align: left; }
.rl-chip:hover { border-color: var(--accent); color: var(--ink); }
.rl-askres { margin-top: 8px; display: grid; gap: 6px; font-size: 12.5px; }
.rl-askres p { margin: 0; }
@container (max-width: 640px) { .rl-askrow { grid-template-columns: 1fr; } .rl-askb { grid-auto-flow: column; justify-content: start; } }

/* tasarım sistemi v2: form etiketleri normal yazım (büyük harf yok) */
.cform label { font-size: 11.5px; text-transform: none; letter-spacing: 0; }
.kv span, .jsub, .jls > div > span { font-size: 11.5px; text-transform: none; letter-spacing: 0; }
.lcol h3, .alm h3, .alarms h4, .body h4, .tcard h4 { font: 600 13px var(--f-body); letter-spacing: 0; text-transform: none; }

/* Okay Pilot: yazarak sorma kutusu */
.vp-type { display: flex; gap: 8px; width: min(640px, 100%); margin: 0 auto 10px; }
.vp-type input { flex: 1; min-width: 0; background: rgba(255,255,255,.06); border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--line-2)); border-radius: 999px; color: var(--ink); padding: 10px 16px; font: 14px var(--f-body); }
.vp-type input:focus-visible { outline: none; border-color: var(--accent); box-shadow: var(--focus); }
.vp-type button { border: 0; border-radius: 999px; background: var(--accent); color: var(--accent-ink, #06181B); font: 600 13px var(--f-body); padding: 0 18px; cursor: pointer; }

/* Canlı bot: stop / hedef seçimi */
.bt-xo { display: flex; gap: 6px; } .bt-xo select { flex: 1; min-width: 0; } .bt-xo input { width: 70px; }
.bt-xonote { margin: 8px 0 2px; padding: 8px 10px; border-radius: 6px; background: var(--raise); color: var(--ink-2); line-height: 1.45; }

/* Strateji mağazası: kartta dilim seçici */
.st-tf { margin: 2px 0 6px; flex-wrap: wrap; } .st-tf button { font-size: 11px; padding: 2px 8px; }

/* Strateji kurucu: gösterge kuralı satırı */
.rl-pl { display: inline-flex; gap: 4px; align-items: center; font-size: 11.5px; color: var(--ink-3); } .rl-pl .rl-n { width: 60px; }

/* ---------------------------------------------------------------- Piyasa nabzı (Radar) */
.pzm { display: grid; gap: 10px; align-content: start; overflow: auto; }
.pz-grid { display: grid; gap: 10px; }
.pz-g { display: grid; gap: 4px; padding: 8px 10px; border: 1px solid var(--line); border-radius: var(--r-card, 8px); background: var(--raise); }
.pz-gh { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; } .pz-gh b { font: 600 12.5px var(--f-body); } .pz-v { font-size: 18px; font-weight: 700; }
.pz-bar { position: relative; height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--sell) 0%, var(--flat) 50%, var(--buy) 100%); opacity: .9; }
.pz-bar i { position: absolute; top: -3px; width: 3px; height: 14px; margin-left: -1.5px; background: var(--ink); border-radius: 2px; }
.pz-ends { display: flex; justify-content: space-between; gap: 8px; font-size: 10.5px; color: var(--ink-3); } .pz-ends small:nth-child(2) { text-align: center; flex: 1; }
.pz-lsg { display: grid; gap: 4px; }
.rl-why { margin-top: 10px; } .rl-wt { width: 100%; font-size: 12px; margin-bottom: 6px; } .rl-wt td, .rl-wt th { padding: 3px 4px; white-space: nowrap; } .rl-wt { table-layout: auto; }
.pz-sec { margin-top: 12px; } .pz-sec .bt-sh { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; margin-bottom: 4px; }
.pz-t { width: 100%; font-size: 12px; } .pz-t td, .pz-t th { padding: 3px 6px; } .pz-t small { font-size: 10.5px; }
.pz-kv { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: baseline; font-size: 12px; margin-bottom: 4px; } .pz-kv b { font-size: 14px; }
.pz-lq { min-width: 60px; } .pz-t td.mono { white-space: nowrap; }
.pzm { container-type: inline-size; }
@container (max-width: 460px) { .pz-ex, .pz-hn { display: none; } .pz-t small { display: block; } .pz-t td, .pz-t th { padding: 3px 3px; } .pz-sec .bt-sh { flex-wrap: wrap; } }
.pz-lsr { display: grid; grid-template-columns: 44px 1fr 48px 48px; gap: 8px; align-items: center; font-size: 12px; }
.pz-lsr .mono { text-align: right; } .pz-lsb { height: 6px; border-radius: 3px; background: var(--sell-bg, rgba(238,82,103,.25)); overflow: hidden; } .pz-lsb i { display: block; height: 100%; background: var(--buy); }

/* Canlı bot: bot sekmeleri, parite çipleri */
.bt-tabs { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.bt-tab { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--line-2); border-radius: 999px; font: 600 12px var(--f-body); color: var(--ink-2); }
.bt-tab small { font-weight: 400; color: var(--ink-3); } .bt-tab.on { border-color: var(--accent); background: var(--accent-bg); color: var(--ink); } .bt-tab:focus-visible { box-shadow: var(--focus); }
.bt-tab.bt-new { border-style: dashed; }
.bt-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ink-3); } .bt-dot.shadow { background: var(--warn); } .bt-dot.live { background: var(--danger); }
.bt-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.bt-chip { display: inline-flex; align-items: center; gap: 4px; padding: 2px 6px 2px 9px; border: 1px solid var(--line-2); border-radius: 999px; font: 600 12px var(--f-mono); }
.bt-chip button { all: unset; cursor: pointer; color: var(--ink-3); padding: 0 3px; } .bt-chip button:hover { color: var(--danger); }

/* Telegram ayarı: bot bildirim süzgeci */
.tg-botf { flex-wrap: wrap; } .tg-botf > span:first-child { color: var(--ink-3); font-size: 12px; }

/* Strateji mağazası: açıklama bölümü */
.st-doc { margin: 2px 0 6px; font-size: 12px; } .st-doc summary { cursor: pointer; color: var(--accent); font-weight: 600; }
.st-doc dl { margin: 6px 0 0; display: grid; grid-template-columns: 92px 1fr; gap: 3px 8px; } .st-doc dt { color: var(--ink-3); } .st-doc dd { margin: 0; color: var(--ink-2); line-height: 1.4; }

/* kurucu yan sonuç: kırılım listeleri yalnız Test adımında; yan sütun ekranı aşıp bölüm içinde kaydırma çıkarmasın */
.rl-side .rl-tabs { display: none; }
.rl-side > .btn { margin-top: 8px; }

/* tam ekran bölüm: üst şerit ve durum şeridinin üstünde; profil / bildirim menüleri (950) ve Pilot (9000) yine üstte */
/* tablo başlığından sıralama */
.colh { cursor: pointer; user-select: none; }
.colh:hover { color: var(--ink); }
.colh.on { color: var(--accent); }
/* Okunuş sözlüğü (yönetici) */
dialog.okc.soz { width: min(640px, calc(100vw - 32px)); }
.soz-l { display: grid; gap: 6px; max-height: 50vh; overflow-y: auto; overflow-x: hidden; padding: 2px; }
.soz-r { display: grid; grid-template-columns: 1fr 1.4fr auto auto auto; gap: 6px; align-items: center; }
.soz-r input[data-sy], .soz-r input[data-so] { min-width: 0; background: var(--raise); border: 1px solid var(--line-2); border-radius: 6px; color: var(--ink); padding: 6px 8px; font: 13px var(--f-body); }
.soz-t { font-size: 12px; color: var(--ink-3); white-space: nowrap; } .soz-x { background: none; border: 0; color: var(--ink-3); font-size: 16px; cursor: pointer; } .soz-x:hover { color: var(--sell); }
@media (max-width: 560px) { .soz-r { grid-template-columns: 1fr 1fr; } }
/* grafik: hareketli ortalamalar satırı ve ayar penceresi */
.legend .ma { display: inline-flex; align-items: center; gap: 1px; pointer-events: auto; }
/* çok gösterge eklenince satır sağa taşıp kesilmesin (× düğmelerine ulaşılamıyordu): alt satıra iner */
.legend .ma-l { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; min-width: 0; flex: 1 1 100%; }
.legend .ma button, .legend .ma-add { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 0 2px; }
.legend .ma [data-ma=set], .legend .ma [data-ma=del] { opacity: 0; color: var(--ink-3); } .legend .ma:hover [data-ma=set], .legend .ma:hover [data-ma=del], .legend .ma button:focus-visible { opacity: 1; }
.legend .ma.off { opacity: .45; } .legend .ma.off [data-ma=eye] { text-decoration: line-through; }
.legend .ma-add { pointer-events: auto; color: var(--ink-3); border: 1px dashed var(--line-2); border-radius: 4px; padding: 0 5px; } .legend .ma-add:hover { color: var(--ink); }
.ma-pop { position: absolute; left: 6px; top: 20px; z-index: 6; width: 230px; display: grid; gap: 8px; padding: 10px 12px; background: var(--panel); border: 1px solid var(--line-2); border-radius: 8px; box-shadow: 0 12px 32px rgba(0,0,0,.45); font-size: 12px; }
.ma-pop[hidden] { display: none; } .ma-pop label { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 8px; color: var(--ink-2); }
.ma-pop input[type=number], .ma-pop select { background: var(--raise); border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink); padding: 3px 6px; font: 12px var(--f-mono); }
.ma-pop input[type=color] { width: 44px; height: 24px; padding: 0; border: 1px solid var(--line-2); border-radius: 4px; background: none; }
.ma-pre { display: flex; gap: 4px; margin-left: 72px; } .ma-pre button { background: var(--raise); border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink-2); font: 11px var(--f-mono); padding: 1px 6px; cursor: pointer; }
.ma-act { display: flex; justify-content: flex-end; gap: 6px; }
.full .chartbody .ma-pop { top: 50px; }
.legend .ma.nod [data-ma=eye] { opacity: .5; text-decoration: underline dotted; }
.ma-act .sp { flex: 1; } .ma-pop input[data-if] { width: 90px; justify-self: start; background: var(--raise); border: 1px solid var(--line-2); border-radius: 4px; color: var(--ink); padding: 3px 6px; font: 12px var(--f-mono); }
.ma-pop:has(input[data-if]) label { grid-template-columns: 120px 1fr; }
.st-rob { font-size: 12px; margin-top: 6px; display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap; } .st-rob b { font: 700 13px var(--f-mono); } .st-rob small span { font-family: var(--f-mono); }

/* Kurulum analizi (anamod.js) */
.ana { display: flex; flex-direction: column; gap: 10px; overflow: auto; }
.ana-top, .ana-fl { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.ana-top .sp { flex: 1; }
.ana-f { display: flex; flex-direction: column; gap: 2px; font-size: 11px; color: var(--ink-3); }
.ana-f .ana-h { display: flex; gap: 4px; align-items: center; }
.ana-chk { font-size: 12px; display: flex; gap: 4px; align-items: center; }
.ana-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 6px; }
.ana-c { border: 1px solid var(--line); border-radius: 6px; padding: 6px 8px; display: flex; flex-direction: column; gap: 2px; }
.ana-c span { font-size: 10px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; }
.ana-g { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(320px, 2fr); gap: 12px; }
.ana-g h4 { margin: 0 0 6px; font-size: 12px; display: flex; gap: 8px; align-items: center; }
.ana tr.on td { background: var(--line); }
.ana tr.few td { color: var(--ink-3); }
@media (max-width: 760px) { .ana-g { grid-template-columns: 1fr; } }

/* Grafikte geçmiş sinyaller (chartsig.js): sağda liste, grafik daralır */
.chartbody.sigon canvas { width: calc(100% - 268px); }
.chartbody .csig { position: absolute; top: 0; right: 0; bottom: 0; width: 262px; display: flex; flex-direction: column; gap: 6px; padding: 4px 6px; border-left: 1px solid var(--line); background: var(--ground); z-index: 2; font-size: 12px; overflow: hidden; }
.full .chartbody .csig { top: 30px; }
.csig .cs-s { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 8px; font-size: 11px; color: var(--ink-3); }
.csig .cs-s b { color: var(--ink); font-family: var(--f-mono); }
.csig .cs-l { flex: 1; overflow: auto; }
.csig .cs-r { display: grid; grid-template-columns: 78px 1fr auto; gap: 6px; padding: 3px 2px; border-bottom: 1px solid var(--line); cursor: pointer; align-items: center; }
.csig .cs-r:hover, .csig .cs-r.on { background: var(--line); }
.csig .cs-r span:first-child { font-size: 10px; color: var(--ink-3); }
.csig .cs-f { display: flex; flex-wrap: wrap; gap: 4px; }
.csig .cs-f select { flex: 1 1 110px; min-width: 0; font-size: 11px; }
.csig .cs-n { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
