:root{
  --bg:#0b0e13; --card:#121826; --text:#e8eefc; --muted:#9bb0d3;
  --border:rgba(255,255,255,.08); --accent:#6aa7ff; --accent2:#b75cff;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Arial;
  background:
    radial-gradient(1200px 600px at 20% 0%,rgba(106,167,255,.18),transparent 60%),
    radial-gradient(900px 500px at 95% 10%,rgba(183,92,255,.18),transparent 55%),
    var(--bg);
  color:var(--text)
}
.topbar{
  position:sticky;top:0;z-index:5;
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 18px;border-bottom:1px solid var(--border);
  backdrop-filter: blur(10px);
  background:rgba(11,14,19,.65)
}
.brand{font-weight:800;letter-spacing:.2px}

.wrap{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:16px;
  max-width:1200px;
  margin:18px auto;
  padding:0 16px
}
.main{display:flex;flex-direction:column;gap:16px}
.side{display:flex;flex-direction:column;gap:16px}

.card{
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 50%),var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.35)
}
h2,h3{margin:0 0 8px 0}
.muted{color:var(--muted);font-size:13px;line-height:1.45}

.form{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.row{display:flex;flex-direction:column;gap:6px}
label{font-size:12px;color:var(--muted)}
input,select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.25);
  color:var(--text);
  outline:none
}
input:focus,select:focus{
  border-color:rgba(106,167,255,.45);
  box-shadow:0 0 0 3px rgba(106,167,255,.12)
}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.inline{display:flex;gap:8px}

.btn{
  cursor:pointer;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  font-weight:700
}
.btn.primary{
  border-color:rgba(106,167,255,.35);
  background:linear-gradient(90deg,rgba(106,167,255,.25),rgba(183,92,255,.20));
}
.btn.ghost{background:transparent}
.btn:hover{transform:translateY(-1px)}
.actions{display:flex;align-items:center;gap:10px;margin-top:6px}
.hint{color:var(--muted);font-size:12px}

.tabs{display:flex;gap:8px;margin-top:10px}
.tab{
  flex:1;
  padding:10px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.22);
  color:var(--text);
  cursor:pointer;
  font-weight:800
}
.tab.active{
  border-color:rgba(106,167,255,.35);
  background:rgba(106,167,255,.12)
}

.hidden{display:none}

.advanced{margin-top:6px}
.advanced summary{cursor:pointer;color:var(--muted);font-weight:700}

.log{
  background:rgba(0,0,0,.25);
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  min-height:160px;
  max-height:320px;
  overflow:auto
}
.outputs{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}
.outItem{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.18);
  padding:10px;border-radius:12px
}
.outItem a{color:var(--accent);text-decoration:none;font-weight:800}
.status{margin-top:8px;color:var(--muted);font-size:12px}
.jobbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;color:var(--muted);font-size:13px}

/* ✅ MODAL: default kapalı */
.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  display:none;                 /* default kapalı */
  align-items:center;
  justify-content:center;
  z-index:50
}
/* JS showModal() modal'a "open" class'ı ekler */
.modal.open{display:flex}

.modalCard{
  width:min(420px,92vw);
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:16px;
  box-shadow:0 30px 90px rgba(0,0,0,.55)
}

@media(max-width: 980px){
  .wrap{grid-template-columns:1fr}
  .side{order:-1}
}


/* Gelişmiş ayarlar her zaman açık */
.advanced > summary{display:none}

/* =========================
   Preview / ROI
   ========================= */
.previewSection{
  margin-top:8px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(0,0,0,.16);
}
.previewTop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.previewTitle{font-weight:800}
.previewCtrls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.previewCtrls input{width:110px}

.previewBox{
  margin-top:10px;
  height:220px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(0,0,0,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  position:relative;
}
.previewPlaceholder{color:var(--muted);font-size:13px}
.previewVideo{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}

.previewActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.roiCard{width:min(980px,94vw)}
.roiCanvas{width:100%;height:auto;border:1px solid var(--border);border-radius:14px;background:rgba(0,0,0,.25)}
