/* =========================================================
   PriceONN v2 · grafik formasyon katmanı (F1): üst çubuk düğmesi, ipucu, formasyon paneli (liste, süzgeçler,
   görünürlük, açıklama), kilitli durum. Tokenlar priceonn.css ve chart.css'ten. Yazı 12 / 14 / 16 px (12 altı yok).
   Hareket: yalnız transform ve opacity; ipucu 120 ms; hareket azaltmada geçiş yok.
   ========================================================= */

/* ---------------- motor katmanı ---------------- */
.pc-pattern{z-index:0}
.pt-tip{position:absolute;left:0;top:0;z-index:3;display:flex;align-items:center;gap:8px;max-width:min(360px,80%);padding:6px 10px;border-radius:var(--r-md);
  background:var(--pc-cross-bg);color:var(--pc-cross-ink);font:500 12px/16px var(--font-sans);white-space:nowrap;pointer-events:none;opacity:0;
  box-shadow:var(--shadow-2);transition:opacity 120ms var(--cp-ease)}
.pt-tip.on{opacity:1}
.pt-tip b{font-weight:600;font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis}
.pt-tip .pt-st{background:rgba(255,255,255,.12);color:inherit;border-color:transparent}

/* ---------------- üst çubuk düğmesi ---------------- */
.cp-pat{position:relative}
.cp-pat .cp-lk{position:absolute;right:4px;bottom:5px;width:12px;height:12px;padding:1px;border-radius:3px;background:var(--cp-bar);color:var(--text-secondary);stroke-width:2.2}
.cp-row .cp-pat .cp-lk,.cp-pat .cp-pat-l~.cp-lk{position:static;width:16px;height:16px;padding:0;background:transparent}
.cp-top .cp-pat.cp-t{padding:0 8px}
/* 1180-1279 px: düğmeye yer (üst çubuk önceden de doluydu): ayırıcılar gizlenir, zaman dilimi düğmeleri daralır */
@media (min-width:1180px) and (max-width:1279px){.cp-top .cp-sep{display:none}.cp-top .cp-tf{min-width:32px;padding:0 6px}}
@media (max-width:1535px){.cp-top .cp-pat .cp-pat-l{display:none}.cp-top .cp-pat.cp-t{width:36px;padding:0}.cp-top .cp-pat .cp-pat-l~.cp-lk{position:absolute;width:12px;height:12px;padding:1px;background:var(--cp-bar)}}

/* telefon: grafiğin sol altında, çizim kalem düğmesinin (dt-fab) üstünde */
.pt-fab{position:absolute;left:12px;bottom:100px;z-index:5;display:none;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:50%;
  border:1px solid var(--border-strong);background:var(--bg-raised);color:var(--text-primary);box-shadow:var(--shadow-2);cursor:pointer;transition:transform 120ms var(--cp-ease)}
.pt-fab:active{transform:scale(.94)}
.pt-fab>svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.pt-fab[aria-pressed="true"]{background:var(--action-bg);border-color:transparent;color:var(--on-action)}
.pt-fab .cp-lk{position:absolute;right:6px;bottom:6px;width:14px;height:14px;padding:1px;border-radius:3px;background:var(--bg-raised);color:var(--text-secondary);fill:none;stroke:currentColor;stroke-width:2.2}
.pt-fab:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:719px){.pt-fab{display:flex}}

/* ---------------- sağ panel ---------------- */
.cp-side.pt-open{display:flex;flex-direction:column;min-height:0;overflow:auto}
@media (max-width:1179px){
  .cp-side.pt-open{position:fixed;right:0;top:calc(48px + env(safe-area-inset-top,0px));bottom:28px;z-index:25;width:min(340px,88vw);box-shadow:var(--shadow-2)}
}
@media (max-width:719px){
  .cp-side.pt-open{left:0;right:0;top:auto;bottom:0;width:auto;max-height:70dvh;border-left:0;border-top:1px solid var(--border-strong);border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
  .cp-side.pt-open.pt-detail{max-height:56dvh}
}
.pt{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}
.pt[hidden]{display:none}
.pt-hd{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;height:48px;flex:none;padding:0 6px 0 14px;border-bottom:1px solid var(--cp-line);background:var(--cp-bar)}
.pt-hd h2{margin:0;font:600 14px/20px var(--font-sans);color:var(--text-primary)}
.pt-cnt{flex:1;font:500 12px/16px var(--font-num);color:var(--text-tertiary)}
.pt-body{display:flex;flex-direction:column;gap:10px;padding:10px 12px 14px;min-height:0}
.pt-body h4{margin:6px 0 0;font:600 12px/16px var(--font-sans);color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase}

/* arama */
.pt-q{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px;border-radius:var(--r-md);border:1px solid var(--border-control);background:var(--bg-surface)}
.pt-q svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;color:var(--text-tertiary)}
.pt-q input{flex:1;min-width:0;height:38px;border:0;background:transparent;color:var(--text-primary);font:400 14px/20px var(--font-sans);outline:none}
.pt-q:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}

/* çipler (radyo grubu) */
.pt-chips{display:flex;flex-wrap:wrap;gap:4px}
.pt-chip{min-height:32px;padding:0 10px;border:1px solid var(--cp-line);border-radius:999px;background:transparent;color:var(--text-secondary);font:500 12px/16px var(--font-sans);cursor:pointer;
  transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.pt-chip[aria-checked="true"]{background:var(--cp-on);border-color:transparent;color:var(--action-text);font-weight:600}
@media (hover:hover) and (pointer:fine){.pt-chip:hover{background:var(--cp-hover);color:var(--text-primary)}.pt-chip[aria-checked="true"]:hover{background:var(--cp-on);color:var(--action-text)}}
@media (pointer:coarse){.pt-chip{min-height:40px;padding:0 12px}}
.pt-chip:focus-visible,.pt-row:focus-visible,.pt-sw:focus-visible,.pt-btn:focus-visible,.pt-back:focus-visible,.pt-link:focus-visible,.pt-vis summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}

/* liste */
.pt-list{list-style:none;margin:0 -6px;padding:0}
.pt-row{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 8px;border-radius:var(--r-sm);cursor:pointer;color:var(--text-primary);
  transition:background-color var(--t-fast) var(--ease)}
.pt-row[aria-selected="true"]{background:var(--cp-on)}
@media (hover:hover) and (pointer:fine){.pt-row:hover{background:var(--cp-hover)}.pt-row[aria-selected="true"]:hover{background:var(--cp-on)}}
.pt-dir{width:4px;align-self:stretch;border-radius:2px;background:var(--action-text);flex:none}
[data-dir="bullish"]>.pt-dir{background:var(--up)}
[data-dir="bearish"]>.pt-dir{background:var(--down)}
.pt-row[data-st="invalidated"]>.pt-dir{opacity:.45}
.pt-rm{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pt-nm{font:500 14px/20px var(--font-sans);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pt-row[data-st="invalidated"] .pt-nm{color:var(--text-secondary);text-decoration:line-through;text-decoration-thickness:1px}
.pt-sub{display:flex;align-items:center;gap:8px;min-width:0}
.pt-tm{font:400 12px/16px var(--font-num);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-ql{font:600 12px/16px var(--font-num);color:var(--text-secondary);min-width:24px;text-align:right}
.pt-hid svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;color:var(--text-tertiary)}
.pt-empty{padding:10px 8px;font:400 14px/20px var(--font-sans);color:var(--text-secondary);list-style:none}
.pt-empty p{margin:0 0 8px}

/* durum rozetleri: yön renginden bağımsız */
.pt-st{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;border:1px solid transparent;font:500 12px/16px var(--font-sans);white-space:nowrap}
.pt-st.pt-forming{border:1px dashed var(--border-control);color:var(--text-secondary)}
.pt-st.pt-confirmed{background:var(--action-tint);color:var(--action-text)}
.pt-st.pt-completed{background:var(--cp-hover);color:var(--text-primary)}
.pt-st.pt-invalidated{color:var(--text-tertiary);text-decoration:line-through;border-color:var(--cp-line)}

/* görünürlük */
.pt-vis{border:1px solid var(--cp-line);border-radius:var(--r-md)}
.pt-vis summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;font:500 14px/20px var(--font-sans);color:var(--text-primary);cursor:pointer;list-style:none;border-radius:var(--r-md)}
.pt-vis summary::-webkit-details-marker{display:none}
.pt-vis summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;color:var(--text-tertiary);transition:transform 150ms var(--cp-ease)}
.pt-vis[open] summary svg{transform:rotate(180deg)}
.pt-vis-b{display:flex;flex-direction:column;gap:2px;padding:0 8px 12px}
.pt-vis-b h4{margin:10px 4px 4px}
.pt-vis-b .pt-chips{padding:0 4px}
.pt-sw{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 4px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-primary);font:400 14px/20px var(--font-sans);text-align:left;cursor:pointer}
@media (hover:hover) and (pointer:fine){.pt-sw:hover{background:var(--cp-hover)}}
.pt-sw-t{position:relative;width:32px;height:18px;flex:none;border-radius:9px;background:var(--border-control);transition:background-color 150ms var(--cp-ease)}
.pt-sw-t::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform 150ms var(--cp-ease)}
.pt-sw[aria-checked="true"] .pt-sw-t{background:var(--action-bg)}
.pt-sw[aria-checked="true"] .pt-sw-t::after{transform:translateX(14px)}
.pt-sw-l{flex:1;min-width:0}
.pt-n{font:500 12px/16px var(--font-num);color:var(--text-tertiary)}

/* alt bilgi */
.pt-ft{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--cp-line)}
.pt-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 4px;border-radius:var(--r-sm);color:var(--action-text);font:500 14px/20px var(--font-sans);text-decoration:none}
.pt-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75}
@media (hover:hover) and (pointer:fine){.pt-link:hover{text-decoration:underline}}
.pt-disc{margin:0;font:400 12px/16px var(--font-sans);color:var(--text-tertiary)}

/* düğmeler */
.pt-acts{display:flex;flex-wrap:wrap;gap:8px}
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:transparent;color:var(--text-primary);
  font:500 14px/20px var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color var(--t-fast) var(--ease),transform 120ms var(--cp-ease)}
.pt-btn:active{transform:scale(.97)}
.pt-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.pt-btn.pri{background:var(--action-bg);border-color:transparent;color:var(--on-action)}
@media (hover:hover) and (pointer:fine){.pt-btn:hover{background:var(--cp-hover)}.pt-btn.pri:hover{background:var(--action-bg-hover)}}

/* kilitli */
.pt-gate{display:flex;flex-direction:column;gap:10px;padding:8px 2px}
.pt-gate-i{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--action-tint);color:var(--action-text)}
.pt-gate-i svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.pt-gate h3{margin:0;font:600 16px/24px var(--font-sans);color:var(--text-primary)}
.pt-gate p{margin:0;font:400 14px/20px var(--font-sans);color:var(--text-secondary)}
.pt-note{margin:0;font:400 12px/16px var(--font-sans);color:var(--text-tertiary)}
.pt-gate .pt-note{font-size:14px;line-height:20px}

/* açıklama */
.pt-back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;min-height:36px;padding:0 10px 0 4px;margin-left:-4px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--action-text);font:500 14px/20px var(--font-sans);cursor:pointer}
.pt-back svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
@media (hover:hover) and (pointer:fine){.pt-back:hover{background:var(--cp-hover)}}
.pt-dh{display:flex;flex-direction:column;gap:8px;padding-left:12px;border-left:3px solid var(--action-text)}
.pt-dh[data-dir="bullish"]{border-left-color:var(--up)}
.pt-dh[data-dir="bearish"]{border-left-color:var(--down)}
.pt-dh h3{margin:0;font:600 16px/24px var(--font-sans);color:var(--text-primary)}
.pt-badges{display:flex;flex-wrap:wrap;gap:6px}
.pt-dirb,.pt-famb{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:4px;background:var(--cp-hover);color:var(--text-secondary);font:500 12px/16px var(--font-sans)}
.pt-dh[data-dir="bullish"] .pt-dirb{color:var(--up);background:var(--up-tint)}
.pt-dh[data-dir="bearish"] .pt-dirb{color:var(--down);background:var(--down-tint)}
.pt-txt{display:flex;flex-direction:column;gap:8px}
.pt-txt p{margin:0;font:400 14px/22px var(--font-sans);color:var(--text-secondary)}
.pt-txt .pt-lead{color:var(--text-primary)}
.pt-kv{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:0}
.pt-kv dt{font:400 14px/20px var(--font-sans);color:var(--text-secondary)}
.pt-kv dd{margin:0;font:600 14px/20px var(--font-num);font-variant-numeric:tabular-nums;color:var(--text-primary);text-align:right}
.pt-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pt-hist li{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pt-qa{display:flex;flex-direction:column;gap:8px}
.pt-qh{display:flex;align-items:baseline;justify-content:space-between;font:400 14px/20px var(--font-sans);color:var(--text-secondary)}
.pt-qh b{font:600 16px/24px var(--font-num);color:var(--text-primary)}
.pt-bar,.pt-pb{position:relative;height:6px;border-radius:3px;background:var(--cp-hover);overflow:hidden}
.pt-bar i,.pt-pb i{position:absolute;inset:0;border-radius:3px;background:var(--action-bg);transform-origin:left center}
.pt-parts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pt-parts li{display:grid;grid-template-columns:minmax(0,1fr) 72px 64px;align-items:center;gap:8px}
.pt-pn{font:400 14px/20px var(--font-sans);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}
.pt-pw{font:400 12px/16px var(--font-sans);color:var(--text-tertiary);text-align:right}

@media (prefers-reduced-motion:reduce){.pt-tip,.pt-chip,.pt-row,.pt-sw-t,.pt-sw-t::after,.pt-vis summary svg,.pt-btn,.pt-fab{transition:none}}
