/* Analitik Parça Kütüphanesi — sitedeki modülün biçimi. Sitenin site.css'inden SONRA yüklenir; bütün
   kurallar .parca altında (site.css'in genel seçicileriyle çakışmasın). Renkler site paletinden.
   Kaynak: parca_kutuphanesi/site/ (prototip/index.html'den ayıklandı; elle düzenlenir). */
.parca{
  --paper:var(--zemin); --sheet:var(--yuzey); --ink:var(--metin); --ink-2:var(--soluk); --line:var(--cizgi);
  --accent:var(--lacivert-acik); --accent-ink:#fff; --mark:var(--turuncu-koyu); --ok:var(--yesil);
  --grid:rgba(36,82,135,.06);
  --f-mono:ui-monospace,"Cascadia Mono",Consolas,Menlo,monospace;
  --r:8px;
  font-size:15px;line-height:1.5;padding-bottom:96px
}
.parca [hidden]{display:none!important}
.parca button,.parca input,.parca select{font:inherit;color:inherit}
.parca button{cursor:pointer}
.parca :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.parca h2,.parca h3,.parca h4{color:var(--ink);letter-spacing:0}

/* Arama */
.parca .arama{padding-block:24px 8px}
.parca .q{display:flex;gap:8px;flex-wrap:wrap}
.parca .q input{flex:1 1 240px;min-width:0;border:1px solid var(--line);border-radius:var(--r);padding:11px 12px;background:var(--sheet)}
.parca .btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:var(--r);padding:10px 16px;font-weight:600}
.parca .btn.ghost{background:transparent;color:var(--accent)}
.parca .btn:disabled{opacity:.45;cursor:not-allowed}
.parca .hints{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:var(--ink-2);align-items:center}
.parca .chip{border:1px solid var(--line);background:var(--sheet);border-radius:99px;padding:3px 10px;font-size:13px}
.parca .chip:hover{border-color:var(--accent)}
.parca .uyari{border-left:3px solid var(--mark);background:var(--sheet);padding:8px 12px;font-size:14px;margin-top:14px;border-radius:0 var(--r) var(--r) 0}

/* Liste */
.parca .main{display:grid;grid-template-columns:220px 1fr;gap:20px;padding-block:16px 40px}
@media (max-width:820px){.parca .main{grid-template-columns:1fr}}
.parca aside{min-width:0}
.parca .sonuclar{min-width:0}
.parca .fgroup{border-top:1px solid var(--line);padding-block:12px}
.parca .fgroup h3{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.parca .fgroup label{display:flex;gap:8px;align-items:center;font-size:14px;padding:3px 0}
.parca .fgroup label span.n{margin-left:auto;font-family:var(--f-mono);font-size:12px;color:var(--ink-2)}
@media (max-width:820px){.parca aside{display:flex;gap:16px;overflow-x:auto}.parca .fgroup{flex:0 0 auto;border-top:0}}
.parca .resbar{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.parca .resbar b{font-size:18px}
.parca .resbar .src{font-size:13px;color:var(--ink-2)}
.parca .resbar select{margin-left:auto;border:1px solid var(--line);border-radius:6px;padding:5px;background:var(--sheet)}
.parca .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.parca .card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;min-width:0}
.parca .card:hover{border-color:var(--accent)}
.parca .thumb{aspect-ratio:4/3;max-width:100%;background:var(--paper);border-bottom:1px solid var(--line);display:grid;place-items:center;cursor:pointer;position:relative;color:var(--ink-2)}
.parca .thumb svg{width:70%;height:70%}
.parca .thumb .std{position:absolute;left:8px;top:8px;font-family:var(--f-mono);font-size:11px;background:var(--sheet);border:1px solid var(--line);padding:1px 6px;border-radius:3px;color:var(--ink)}
.parca .cbody{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.parca .cbody h4{margin:0;font-size:15px;line-height:1.3}
.parca .mfr{font-size:13px;color:var(--ink-2)}
.parca .pn{font-family:var(--f-mono);font-size:12px;color:var(--ink-2)}
.parca .durum{font-size:12px;color:var(--mark)}
.parca .cact{display:flex;gap:6px;margin-top:auto;padding-top:8px}
.parca .cact .btn{padding:6px 10px;font-size:13px;flex:1}
.parca .score{font-family:var(--f-mono);font-size:11px;color:var(--ok)}
.parca .empty{background:var(--sheet);border:1px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center;color:var(--ink-2)}

/* Ayrıntı */
.parca .detail{padding-block:16px 40px}
.parca .back{background:none;border:0;color:var(--accent);padding:0;margin-bottom:12px;font-weight:600}
.parca .dgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}
@media (max-width:900px){.parca .dgrid{grid-template-columns:1fr}}
.parca .sutun{display:flex;flex-direction:column;gap:12px;min-width:0}
.parca .viewer{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:relative}
.parca #v3d{width:100%;aspect-ratio:4/3;max-width:100%;display:block;touch-action:none}
.parca .vtools{position:absolute;right:8px;top:8px;display:flex;gap:4px}
.parca .vtools button{border:1px solid var(--line);background:var(--sheet);border-radius:4px;padding:4px 8px;font-size:12px}
.parca .vtools button[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.parca .vcap{position:absolute;left:10px;bottom:8px;font-family:var(--f-mono);font-size:11px;color:var(--ink-2)}
.parca .vnote{position:absolute;left:10px;top:10px;font-family:var(--f-mono);font-size:11px;color:var(--ink-2);max-width:55%}
.parca .dhead h2{font-weight:800;font-size:26px;line-height:1.15;margin:0 0 4px;text-wrap:balance}
.parca .sheetbox{background:var(--sheet);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:12px}
.parca .cfg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.parca .cfg label{display:flex;flex-direction:column;font-size:12px;color:var(--ink-2);gap:4px}
.parca .cfg select,.parca .cfg input{border:1px solid var(--line);border-radius:4px;padding:7px 8px;background:var(--paper);font-family:var(--f-mono);font-size:14px;color:var(--ink)}
.parca .hint{grid-column:1/-1;color:var(--ink-2);font-size:12px}
.parca .code{font-family:var(--f-mono);font-size:13px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:8px 10px;overflow-x:auto;white-space:nowrap}
.parca table.spec{width:100%;border-collapse:collapse;font-size:14px}
.parca table.spec td{padding:5px 0;border-bottom:1px solid var(--line)}
.parca table.spec td:last-child{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.parca table.full{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.parca table.full th{font-family:inherit;font-weight:600;font-size:11px;color:var(--ink-2);text-align:right;padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:bottom}
.parca table.full td{text-align:right;padding:3px 6px;border-bottom:1px solid var(--line);white-space:nowrap}
.parca table.full tr[data-row]{cursor:pointer}
.parca table.full tr[data-row]:hover td{background:var(--grid)}
.parca table.full tr.flag td{background:rgba(243,156,18,.16)}
.parca table.full tr.sel td{background:var(--accent);color:var(--accent-ink)}
.parca details>summary{cursor:pointer;list-style:none;display:flex;gap:8px;align-items:baseline}
.parca details>summary::-webkit-details-marker{display:none}
.parca details>summary::before{content:"▸";color:var(--ink-2)}
.parca details[open]>summary::before{content:"▾"}
.parca .warn{border-left:3px solid var(--mark);background:var(--paper);padding:6px 10px;font-size:13px;color:var(--ink)}
.parca .notes{font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:6px}
.parca .notes p{margin:0}
.parca .notes ul{margin:0;padding-left:18px}
.parca .dl{display:flex;gap:8px;flex-wrap:wrap}
.parca .dl select{flex:1 1 160px;min-width:0;border:1px solid var(--line);border-radius:var(--r);padding:9px;background:var(--paper)}
.parca .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.parca .soluk{color:var(--ink-2);font-size:12px}
.parca .scroll{overflow-x:auto}

/* Karşılaştırma */
.parca .tray{position:fixed;left:0;right:0;bottom:0;background:var(--sheet);border-top:2px solid var(--accent);z-index:20;
  padding-bottom:env(safe-area-inset-bottom,0px)}
.parca .tray .kap{display:flex;gap:10px;align-items:center;padding-block:10px;flex-wrap:wrap}
.parca .tray .slots{display:flex;gap:6px;flex-wrap:wrap}
.parca .tray .slot{font-size:13px;border:1px solid var(--line);border-radius:99px;padding:3px 4px 3px 10px;display:flex;gap:6px;align-items:center}
.parca .tray .slot button{border:0;background:var(--paper);border-radius:99px;width:22px;height:22px;line-height:1}
.parca .tray .push{margin-left:auto}
.parca .modal{position:fixed;inset:0;background:rgba(10,16,24,.55);z-index:30;display:grid;place-items:center;padding:16px}
.parca .mbox{background:var(--sheet);border-radius:var(--r);max-width:820px;width:100%;max-height:85vh;overflow:auto;padding:16px}
.parca .mbas{display:flex;align-items:center;margin-bottom:10px}
.parca .mbas b{font-size:20px}
.parca .mbas .btn{margin-left:auto}
.parca .mbox table{border-collapse:collapse;width:100%;font-size:14px}
.parca .mbox th,.parca .mbox td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.parca .mbox td{font-family:var(--f-mono);font-size:13px}
.parca .toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:var(--r);z-index:40;font-size:14px;max-width:calc(100% - 32px)}
@media (prefers-reduced-motion:reduce){.parca *{transition:none!important;animation:none!important}}
