:root{--bg:#0F172A;--accent:#38bdf8;--text:#e2e8f0;--muted:#94a3b8;--glass:rgba(255,255,255,.06);--border:rgba(255,255,255,.12);--danger:#ef4444;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:dark}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;position:relative;overflow-x:hidden;color-scheme:dark}
.bg-orb{position:fixed;width:520px;height:520px;border-radius:50%;filter:blur(110px);opacity:.28;z-index:0;pointer-events:none}
.bg-orb.o1{background:var(--accent);top:-160px;left:-120px}
.bg-orb.o2{background:#6366f1;bottom:-180px;right:-140px}
.glass{background:var(--glass);border:1px solid var(--border);border-radius:18px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.25)}
.container{position:relative;z-index:1;max-width:1000px;margin:0 auto;padding:84px 14px 40px}

/* ---------- Üst Menü (Tek Satır) ---------- */
.navbar{position:fixed;top:10px;left:10px;right:10px;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-radius:14px;max-width:1000px;margin:0 auto;background:rgba(15, 23, 42, 0.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);gap:8px}

.brand{color:var(--accent);font-weight:700;text-decoration:none;font-size:1rem;white-space:nowrap}
.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{color:var(--text);text-decoration:none;padding:5px 8px;border-radius:8px;transition:.2s;font-size:0.85rem;white-space:nowrap}
.nav-links a:hover{background:var(--glass);color:var(--accent)}
.btn-cikis{color:#fca5a5!important}
.sayac{font-variant-numeric:tabular-nums;font-weight:600;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--border);font-size:.78rem;white-space:nowrap}
.sayac.kritik{color:#fff;background:rgba(239,68,68,.35);border-color:var(--danger);animation:pulse 1s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.7);opacity:1}50%{box-shadow:0 0 0 8px rgba(239,68,68,0);opacity:.55}}

/* ---------- Kart Yapısı ---------- */
.card{
  padding: 22px;
  margin-bottom: 20px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
  position: relative;
}

h1,h2,h3{margin:0 0 12px;line-height:1.25}
h2{font-size:1.25rem}
.muted{color:var(--muted)}
label{display:block;margin-bottom:12px;font-size:.9rem;color:var(--muted)}
input,textarea,select{display:block;width:100%;margin-top:6px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.06);color:var(--text);font:inherit;outline:none;transition:.2s;color-scheme:dark}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
input[type=color]{height:44px;padding:4px;width:70px;cursor:pointer}
textarea{resize:vertical}

/* ---------- Üstteki Güvenlik Kutusu ---------- */
.security-box{
  width: 100%;
  margin-top: 6px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.06);
  color: var(--text);
  font: inherit;
  font-size: .9rem;
  box-sizing: border-box;
}

/* ---------- iOS Tarzı Yan Yana Toggle Switch ---------- */
.switch-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px;
  width: 100%;
  margin-top: 6px;
  margin-bottom: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, .06);
  box-sizing: border-box;
  cursor: pointer;
}

.switch-label {
  font-size: .9rem;
  color: var(--text);
  font-weight: 400;
  user-select: none;
  margin: 0 !important;
  line-height: 1 !important;
  display: flex;
  align-items: center;
}

.switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 50px;
  height: 28px;
  flex-shrink: 0;
  margin: 0 !important;
}

.switch input { 
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.15);
  transition: .3s;
  border-radius: 34px;
  border: 1px solid var(--border);
}

.slider:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  transition: .3s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .slider {
  background-color: var(--accent);
  border-color: var(--accent);
}

input:checked + .slider:before {
  transform: translateX(22px);
}

/* ---------- Tarih Seçici Koyu Tema ve Beyaz Simge Ayarları ---------- */
input[type="date"]{color-scheme:dark}
::-webkit-calendar-picker-indicator{
  filter: brightness(0) invert(1);
  cursor: pointer;
  border-radius: 4px;
  padding: 2px;
  opacity: 0.9;
}
::-webkit-calendar-picker-indicator:hover{
  opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper{background:transparent}
::-webkit-datetime-edit-text{color:var(--muted)}
::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-year-field{color:var(--text)}

/* ---------- Dış Medya Kutusu ---------- */
.medya-kutusu {
  padding: 16px;
  margin: 16px 0 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
}
.medya-kutusu label:last-child {
  margin-bottom: 0;
}

/* ---------- Çerçeveli Özel Dosya Yükleme Alanı ---------- */
.dosya-secici-wrap {
  position: relative;
  display: flex;
  align-items: center;
  margin-top: 6px;
  width: 100%;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  transition: .2s;
}
.dosya-secici-wrap:hover {
  border-color: var(--accent);
}
.dosya-secici-wrap input[type=file] {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
  margin: 0;
}
.dosya-secici-buton {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--accent) 20%, rgba(255,255,255,0.06));
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border));
  color: var(--accent);
  font-weight: 600;
  cursor: pointer;
  transition: .2s;
  flex-shrink: 0;
  font-size: 0.85rem;
}
.dosya-secici-wrap:hover .dosya-secici-buton {
  background: color-mix(in srgb, var(--accent) 35%, rgba(255,255,255,0.06));
  border-color: var(--accent);
}
.dosya-secici-isim {
  margin-left: 12px;
  color: var(--muted);
  font-size: .85rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.row{display:flex;gap:12px;flex-wrap:wrap}.row>label{flex:0 0 auto}.row>.grow{flex:1 1 240px}

/* ---------- Butonlar ---------- */
.btn{
  display: inline-block;
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border));
  cursor: pointer;
  padding: 10px 20px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 18%, rgba(255,255,255,0.04));
  color: var(--accent);
  font-weight: 600;
  font: inherit;
  text-decoration: none;
  transition: .2s;
}
.btn:hover{
  background: color-mix(in srgb, var(--accent) 30%, rgba(255,255,255,0.04));
  border-color: var(--accent);
  transform: translateY(-1px);
}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn.small{padding:5px 10px;font-size:.82rem}
.btn.danger{
  background: rgba(239, 68, 68, 0.15);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.4);
}
.btn.danger:hover{
  background: rgba(239, 68, 68, 0.28);
  border-color: var(--danger);
}

.alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;border:1px solid}
.alert.ok{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.5);color:#6ee7b7}
.alert.err{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.5);color:#fca5a5}
.alert.warn{background:rgba(251,191,36,.12);border-color:rgba(251,191,36,.5);color:#fcd34d}

/* ---------- Giriş Ekranı ---------- */
.login-wrap{position:fixed;inset:0;z-index:1;display:grid;place-items:center;padding:20px;overflow:hidden}
.login-card{width:100%;max-width:400px;margin:0}
.login-card h1{color:var(--accent)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.stat{padding:16px;text-align:center}
.stat span{display:block;font-size:1.8rem;font-weight:800;color:var(--accent)}
.stat span.sm{font-size:1.2rem;padding:.3rem 0}
.stat small{color:var(--muted);font-size:0.85rem}

/* ---------- Liste Başlık Barı ---------- */
.list-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding: 14px 18px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
}
.list-head h2{margin:0}
.list-head input{max-width:340px;margin:0}

section > p.muted {
  padding-left: 18px;
}

.entry{
  padding: 16px 18px;
  margin-bottom: 14px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
  position: relative;
}

.entry-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.entry h3{margin:2px 0 6px;font-size:1.1rem}.entry p{margin:6px 0 10px;color:#cbd5e1;font-size:0.95rem}
.tarih{color:var(--accent);font-size:.8rem;font-weight:600}
.chip{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--glass);border:1px solid var(--border);font-size:.8rem;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.grid2 .card{margin-bottom:0}
.renk-secici{display:flex;align-items:center;gap:10px;margin:8px 0 18px;flex-wrap:wrap}
.renk-secici input[type=color]{margin:0}
.swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:.2s;padding:0}
.swatch:hover{transform:scale(1.12)}.swatch.secili{border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.modlar{margin:16px 0}
.mod{display:block;padding:16px;cursor:pointer;transition:.2s;color:var(--text);margin:0}
.mod:hover{border-color:var(--accent)}
.mod input{display:inline-block;width:auto;margin:0 8px 0 0}
.mod b{display:inline}.mod small{color:var(--accent)}
.mod span{display:block;margin-top:6px;color:var(--muted);font-size:.85rem}
.mod:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}
.hidden{display:none!important}
#ilerleme{margin-top:20px}
.bar{position:relative;height:26px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--border);overflow:hidden}
#bar-dolgu{height:100%;width:0;background:linear-gradient(90deg,var(--accent),#818cf8);transition:width .25s}
#bar-yuzde{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;font-size:.8rem;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.log{height:180px;overflow:auto;margin:12px 0;padding:12px;border-radius:12px;background:rgba(0,0,0,.4);border:1px solid var(--border);font:.8rem/1.5 ui-monospace,Menlo,Consolas,monospace;color:#a7f3d0;white-space:pre-wrap}
.footer{position:relative;z-index:1;text-align:center;color:var(--muted);padding:20px;font-size:.85rem}

/* ---------- Zengin Metin Editörü (Tamamen Simgesel ve Tek Satır) ---------- */
.editor-wrap{position:relative;z-index:1;margin-top:6px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.06);overflow:hidden;transition:.2s}
.editor-wrap:focus-within{z-index:2;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}

.editor-toolbar{
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 6px 10px;
  background: rgba(0,0,0,.3);
  border-bottom: 1px solid var(--border);
  flex-wrap: nowrap;
  overflow-x: auto;
  scrollbar-width: none;
}
.editor-toolbar::-webkit-scrollbar{display:none}

.editor-toolbar button{
  background: transparent;
  border: 1px solid transparent;
  color: var(--text);
  width: 32px;
  height: 32px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-grid;
  place-items: center;
  font-size: 0.9rem;
  transition: .2s;
  flex-shrink: 0;
}
.editor-toolbar button:hover{background:var(--glass);border-color:var(--border);color:var(--accent)}
.editor-toolbar button.aktif{background:color-mix(in srgb,var(--accent) 25%,transparent);border-color:var(--accent);color:var(--accent);font-weight:bold}
.editor-sep{width:1px;height:18px;background:var(--border);margin:0 4px;flex-shrink:0}
.editor-icerik{min-height:160px;max-height:350px;padding:12px;color:var(--text);outline:none;overflow-y:auto;word-break:break-word;font-size:0.95rem}
.editor-icerik:empty:before{content:attr(placeholder);color:var(--muted);pointer-events:none;display:block}
.hidden-textarea{display:none!important}

/* ---------- Kompakt ve Zarif Medya Galerisi Kutucukları ---------- */
.galeri{margin-top:10px}
.g-filtreler{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.g-filtre{cursor:pointer;padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--glass);color:var(--muted);font:inherit;font-size:0.78rem;transition:.2s}
.g-filtre:hover{color:var(--text)}
.g-filtre.aktif{background:var(--accent);border-color:var(--accent);color:#06101f;font-weight:700}

.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}
.g-item{display:flex;flex-direction:column;padding:0;cursor:pointer;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:rgba(15, 23, 42, 0.7);color:var(--text);font:inherit;text-align:left;transition:.2s}
.g-item[hidden]{display:none}
.g-item:hover,.g-item:focus-visible{border-color:var(--accent);transform:translateY(-1px);outline:none}

.g-onizleme{position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:rgba(0,0,0,.2);overflow:hidden;pointer-events:none}
.g-onizleme img,.g-onizleme video{width:100%;height:100%;object-fit:cover}
.g-simge{font-size:1.6rem}
.g-ext{position:absolute;bottom:3px;right:5px;color:var(--accent);font-weight:700;font-size:0.65rem}
.g-play{position:absolute;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.6);display:grid;place-items:center;font-size:0.65rem}
.g-ad{padding:3px 6px;font-size:0.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);pointer-events:none}

/* ---------- Kusursuz Yan Yana Buton Grubu ---------- */
.entry-btns {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: nowrap;
  flex-shrink: 0;
}
.entry-btns form {
  margin: 0;
  display: flex;
  align-items: center;
}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:rgba(2,6,23,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.lb[hidden]{display:none}
.lb-ust{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;flex-wrap:wrap;z-index:10}
.lb-bilgi{min-width:0}
.lb-baslik{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw;font-size:0.95rem}
.lb-say{color:var(--muted);font-size:0.78rem}
.lb-btnler{display:flex;gap:6px;align-items:center}
.lb-btnler a,.lb-btnler button{cursor:pointer;text-decoration:none;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--glass);color:var(--text);font:inherit;font-size:0.85rem}
.lb-btnler a:hover,.lb-btnler button:hover{border-color:var(--accent);color:var(--accent)}
.lb-btnler .lb-sil{color:#fca5a5;border-color:rgba(239,68,68,.5)}
.lb-btnler .lb-sil:hover{background:rgba(239,68,68,.2);color:#fecaca;border-color:var(--danger)}

.lb-sahne{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:14px;position:relative}
.lb-sahne img,.lb-sahne video{
  max-width: 70vw;
  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 10px 50px rgba(0,0,0,.5);
}
.lb-sahne audio{width:min(560px,100%)}
.lb-sahne iframe{
  max-width: 70vw;
  max-height: 70vh;
  width: 70vw;
  height: 70vh;
  border: 0;
  border-radius: 12px;
  background: #fff;
}
.lb-ses,.lb-dosya{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;width:100%}
.lb-ses .buyuk,.lb-dosya .buyuk{font-size:4rem}
.lb-dosya p{color:var(--muted);margin:0}
.lb-ok{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.1);color:#fff;font-size:1.2rem;cursor:pointer;z-index:10}
.lb-ok:hover{background:var(--accent);color:#06101f}
.lb-ok.sol{left:10px}.lb-ok.sag{right:10px}
@media(max-width:640px){
  .lb-sahne{padding:0 8px 14px}
  .lb-sahne img,.lb-sahne video,.lb-sahne iframe{max-width:88vw;max-height:65vh}
  .lb-ok{top:auto;bottom:6px;transform:none}
  .lb-baslik{max-width:90vw}
}