/* Ek araçlar — tools.css'i tamamlayan küçük eklemeler (aynı token'lar). */

/* "Tarayıcında çalışır" notu */
.yerel{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--ink3);line-height:1.5}
.yerel-dot{width:7px;height:7px;border-radius:50%;background:var(--live);flex:none}

/* tools.css'te olmayan girdi türleri */
input[type=number],input[type=datetime-local],input[type=search],input[type=color]{
  width:100%;min-height:46px;padding:0 13px;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--r-sm);color:var(--ink);font-size:16px;transition:border-color .15s;min-width:0}
input[type=color]{width:56px;flex:none;padding:4px;cursor:pointer}
input[type=color]::-webkit-color-swatch-wrapper{padding:0}
input[type=color]::-webkit-color-swatch{border:0;border-radius:3px}
input[type=color]::-moz-color-swatch{border:0;border-radius:3px}
input.mono,textarea.mono{font-family:var(--mono);font-size:14.5px}
textarea.code.sm{min-height:140px}
textarea.code.xs{min-height:96px}

.stat .n{overflow-wrap:anywhere}
.stat .n.sm{word-break:break-all}
.q-head .seg{flex:0 1 auto}

/* Onay kutuları */
.chk-row{display:flex;flex-wrap:wrap;gap:4px 18px}
.chk{display:inline-flex;align-items:center;gap:8px;min-height:36px;font-size:14.5px;color:var(--ink2);cursor:pointer;user-select:none}
.chk input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--btn-bg);cursor:pointer}
.chk:hover{color:var(--ink)}
.chk code{color:var(--ink)}

.seg{flex-wrap:wrap}
.seg .seg-btn{flex:1 1 auto}

/* Çıktı kutusu */
.out-box{font-family:var(--mono);font-size:14px;line-height:1.55;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:12px 13px;min-height:46px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;min-width:0}
.out-box.big{font-size:19px;line-height:1.45;padding:14px 15px}
.out-box.empty{color:var(--ink3)}

/* Etiket + değer + kopyala satırları */
.res{display:flex;flex-direction:column}
.res-row{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.res-row:first-child{border-top:0;padding-top:0}
.res-k{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.res-v{font-family:var(--mono);font-size:13px;color:var(--ink);overflow-wrap:anywhere;word-break:break-all;min-width:0}
.res-v.plain{word-break:normal;font-family:var(--sans);font-size:14px}
.res-row.hit .res-k{color:var(--live)}
.res-row.hit .res-v{color:var(--live)}

/* Güç çubuğu */
.meter{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.meter > i{display:block;height:100%;width:0;background:var(--down);transition:width .25s,background .25s}
.meter[data-l="2"] > i{background:oklch(0.75 0.13 75)}
.meter[data-l="3"] > i{background:var(--live)}
.meter[data-l="4"] > i{background:var(--accent)}

/* Tablo */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);max-width:100%}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl th{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);font-weight:500;white-space:nowrap}
.tbl td.m{font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere;word-break:break-all}
.tbl td.dim{color:var(--ink3)}

/* Küçük simge düğmeleri */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 8px;
  background:none;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink2);cursor:pointer;
  font-family:var(--mono);font-size:14px;line-height:1;flex:none}
.icon-btn:hover{color:var(--ink);border-color:var(--ink3)}
.icon-btn:disabled{opacity:.35;cursor:default}

/* Mobilde tam genişliğe yayılmayan düğme grubu (btn-row'dan farklı olarak) */
.btn-wrap{display:flex;flex-wrap:wrap;gap:8px}
.sub{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-weight:500}

.inline-row{display:flex;gap:10px;align-items:center;min-width:0}
.inline-row > input,.inline-row > .grow{flex:1 1 auto;min-width:0}

/* ── Metin karşılaştırma ─────────────────────────────────────────────── */
.diff{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);font-family:var(--mono);font-size:12.5px;line-height:1.55;overflow:hidden}
.d-row{display:grid;grid-template-columns:3.4em 3.4em minmax(0,1fr)}
.d-sbs .d-row{grid-template-columns:3em minmax(0,1fr) 3em minmax(0,1fr)}
.d-n{color:var(--ink3);text-align:right;padding:0 6px;user-select:none;-webkit-user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--line)}
.d-t{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;padding:0 8px;min-width:0;color:var(--ink2)}
.d-sbs .d-t + .d-n{border-left:1px solid var(--line)}
.d-t::before{content:attr(data-s);color:var(--ink3);margin-right:6px;user-select:none;-webkit-user-select:none}
.d-del{background:color-mix(in oklab, var(--down) 15%, transparent);color:var(--ink)}
.d-ins{background:color-mix(in oklab, var(--live) 15%, transparent);color:var(--ink)}
.d-void{background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in oklab, var(--line) 55%, transparent) 6px 7px)}
.diff del,.wd del{background:color-mix(in oklab, var(--down) 42%, transparent);text-decoration:none;border-radius:2px;color:var(--ink)}
.diff ins,.wd ins{background:color-mix(in oklab, var(--live) 42%, transparent);text-decoration:none;border-radius:2px;color:var(--ink)}
.wd del{text-decoration:line-through;text-decoration-color:color-mix(in oklab, var(--down) 70%, transparent)}
.d-fold{display:block;width:100%;text-align:center;padding:5px 8px;background:var(--bg2);border:0;border-block:1px solid var(--line);
  color:var(--ink3);font-family:var(--mono);font-size:11.5px;cursor:pointer}
.d-fold:hover{color:var(--ink)}
.wd{padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--ink2)}
.d-sum{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--mono);font-size:12.5px;color:var(--ink3)}
.d-sum .p{color:var(--live)}
.d-sum .m{color:var(--down)}

/* ── Regex ───────────────────────────────────────────────────────────── */
.rx-line{display:flex;align-items:stretch;min-width:0}
.rx-line .sl{display:flex;align-items:center;padding:0 10px;font-family:var(--mono);color:var(--ink3);background:var(--bg);border:1px solid var(--line)}
.rx-line .sl:first-child{border-right:0;border-radius:var(--r-sm) 0 0 var(--r-sm)}
.rx-line .sl:last-child{border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0;min-width:44px;justify-content:center}
.rx-line input{border-radius:0;flex:1 1 auto;min-width:0;font-family:var(--mono);font-size:15px}
.rx-out mark{background:color-mix(in oklab, var(--accent) 32%, transparent);color:var(--ink);border-radius:2px;box-shadow:inset 0 -1px 0 var(--accent)}
.rx-out mark.alt{background:color-mix(in oklab, oklch(0.8 0.13 80) 34%, transparent);box-shadow:inset 0 -1px 0 oklch(0.72 0.14 75)}
.rx-out .z{display:inline-block;width:0;height:1.2em;vertical-align:text-bottom;border-left:2px solid var(--accent);margin:0 -1px}

/* ── Markdown önizleme ───────────────────────────────────────────────── */
.md-view{font-size:15.5px;line-height:1.65;color:var(--ink);min-height:120px;overflow-wrap:anywhere;min-width:0}
.md-view > * + *{margin-top:.8em}
.md-view h1,.md-view h2,.md-view h3,.md-view h4,.md-view h5,.md-view h6{font-weight:600;letter-spacing:-.015em;line-height:1.25;margin-top:1.2em}
.md-view > :first-child{margin-top:0}
.md-view h1{font-size:1.75em}.md-view h2{font-size:1.4em}.md-view h3{font-size:1.2em}.md-view h4{font-size:1.05em}
.md-view h5,.md-view h6{font-size:.95em;color:var(--ink2)}
.md-view ul,.md-view ol{padding-left:1.5em}
.md-view li + li{margin-top:.25em}
.md-view li > ul,.md-view li > ol{margin-top:.25em}
.md-view li.task{list-style:none;margin-left:-1.3em}
.md-view li.task input{margin-right:.45em;accent-color:var(--btn-bg);vertical-align:-2px}
.md-view code{background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:0 .3em;font-size:.86em}
.md-view pre{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;overflow-x:auto;font-size:13px;line-height:1.55}
.md-view pre code{background:none;border:0;padding:0;font-size:inherit}
.md-view blockquote{border-left:3px solid var(--line);padding-left:14px;color:var(--ink2)}
.md-view hr{border:0;border-top:1px solid var(--line)}
.md-view .tbl-wrap{margin-top:.8em}
.md-view .img-ph{display:inline-flex;gap:6px;align-items:baseline;border:1px dashed var(--line);border-radius:var(--r-sm);padding:2px 8px;
  font-family:var(--mono);font-size:12px;color:var(--ink3);max-width:100%;overflow-wrap:anywhere}

/* ── Renk ────────────────────────────────────────────────────────────── */
.sw-big{height:88px;border-radius:var(--r-sm);border:1px solid var(--line)}
.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px}
.sw{display:flex;align-items:flex-end;min-height:58px;padding:6px;border:1px solid var(--line);border-radius:var(--r-sm);
  font-family:var(--mono);font-size:10.5px;cursor:pointer;text-align:left;overflow:hidden}
.sw:hover{outline:2px solid var(--ink3);outline-offset:1px}
.contrast-box{border:1px solid var(--line);border-radius:var(--r-sm);padding:18px;display:flex;flex-direction:column;gap:6px}
.contrast-box .big{font-size:24px;font-weight:600;line-height:1.25}
.contrast-box .sm{font-size:14.5px}
.ratio{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.2}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.badge{font-family:var(--mono);font-size:11.5px;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink3)}
.badge.ok{border-color:color-mix(in oklab, var(--live) 60%, transparent);color:var(--live)}
.badge.no{border-color:color-mix(in oklab, var(--down) 60%, transparent);color:var(--down)}

/* ── PDF ─────────────────────────────────────────────────────────────── */
.drop{border:1px dashed var(--line);border-radius:var(--r);padding:22px 16px;text-align:center;color:var(--ink3);font-size:14px;display:flex;flex-direction:column;gap:10px;align-items:center}
.drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.pg-list{list-style:none;display:flex;flex-direction:column;gap:6px;counter-reset:pg}
.pg{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);min-width:0}
.pg.dragging{opacity:.45}
.pg.drop-before{box-shadow:0 -2px 0 0 var(--accent)}
.pg.drop-after{box-shadow:0 2px 0 0 var(--accent)}
.pg .handle{cursor:grab;color:var(--ink3);font-family:var(--mono);padding:0 4px;user-select:none;-webkit-user-select:none;touch-action:none}
.pg .no{font-family:var(--mono);font-size:12px;color:var(--ink3);width:2.2em;text-align:right;flex:none}
.pg .nm{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.pg .nm b{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg .nm span{font-family:var(--mono);font-size:11.5px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg .acts{display:flex;gap:4px;flex:none}

/* ── PDF Stüdyosu Ek Stilleri ────────────────────────────────────────── */
.pdf-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.pdf-nav-item{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg2);color:var(--ink2);font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer;transition:all .15s ease;user-select:none}
.pdf-nav-item:hover{color:var(--ink);border-color:var(--ink3);text-decoration:none}
.pdf-nav-item.active{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);font-weight:600}
.pdf-nav-item .nav-emoji{font-size:15px}
.pdf-panel{display:flex;flex-direction:column;gap:16px}
.pdf-file-list{display:flex;flex-direction:column;gap:6px}
.pdf-file-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg)}
.pdf-file-item .name{flex:1 1 auto;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdf-file-item .meta{font-family:var(--mono);font-size:11.5px;color:var(--ink3);flex:none}
.pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:320px}
.pos-btn{padding:8px 6px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink2);font-family:var(--mono);font-size:12px;text-align:center;cursor:pointer;transition:all .15s ease}
.pos-btn:hover{border-color:var(--ink3);color:var(--ink)}
.pos-btn.active{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg);font-weight:600}
.sig-canvas-wrap{border:1px solid var(--line);border-radius:var(--r-sm);background:#ffffff;overflow:hidden;touch-action:none}
#sig-canvas{display:block;width:100%;height:180px;cursor:crosshair}
.img-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:10px}
.img-thumb-card{position:relative;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);padding:6px;display:flex;flex-direction:column;align-items:center;gap:4px}
.img-thumb-card img{width:100%;height:80px;object-fit:contain;border-radius:2px;background:repeating-conic-gradient(#333 0% 25%,#222 0% 50%) 50%/12px 12px}
.img-thumb-card .thumb-num{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.img-thumb-card .thumb-del{position:absolute;top:4px;right:4px;background:var(--bg);border:1px solid var(--line);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;color:var(--ink2)}
.img-thumb-card .thumb-del:hover{color:var(--down);border-color:var(--down)}
.pdf-stat-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);text-align:center}
.pdf-stat-banner .num{font-family:var(--mono);font-size:18px;font-weight:600}
.pdf-stat-banner .lbl{font-size:11px;color:var(--ink3);text-transform:uppercase;margin-top:2px}


@media (max-width:560px){
  .res-row{grid-template-columns:minmax(0,1fr) auto}
  .res-row .res-k{grid-column:1/-1}
  .d-sbs .d-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .d-sbs .d-n{display:none}
  .d-sbs .d-t + .d-t{border-left:1px solid var(--line)}
  .d-row{grid-template-columns:2.8em 2.8em minmax(0,1fr)}
  .pg .handle{display:none}
  .pg .acts .icon-btn{min-width:34px;padding:0 4px}
  .ratio{font-size:26px}
}
