/* ══════════════════════════════════════════════════════════════
   SAYFA GEOMETRİSİ — TEK KAYNAK
   ---------------------------------------------------------------
   Bir cümle kimde 6. sayfadaysa herkeste 6. sayfada olmalı. Bunu
   garanti etmenin tek yolu, sayfayı ölçen kuralların tek bir yerde
   durması. Bu dosyayı hem uygulama (app.html) hem de paylaşılan
   okuma sayfası (oku.html) kullanıyor.

   BURAYA DOKUNMAK SAYFA SAYISINI DEĞİŞTİRİR. Yazı tipi, punto,
   satır yüksekliği, kenar boşlukları, element marjları — hepsi
   sayfalamaya girer. Değiştirirken iki tarafı da yeniden ölç.

   Sayfa boyutu (--sayfa-en / --sayfa-boy) projeye bağlıdır,
   cihaza değil: A4 yazan biri Letter'a geçen biriyle aynı
   senaryoda farklı sayfa görmesin diye.
   ══════════════════════════════════════════════════════════════ */
:root {
  /* İlk boyama için; gerçek değer projeden gelir (projects.kagit).
     Varsayılan US Letter — endüstri ölçüsü. */
  --sayfa-en: 8.5in;
  --sayfa-boy: 11in;
}

/* Yazma alanının kendi imleci ve zemini var; çerçeve gürültü olur. */
.element:focus-visible,
[contenteditable]:focus-visible {
  outline: none;
}
/* Fiziksel sayfa kartı — 12pt Courier Prime. Boyut Ayarlar'dan. */
.page-card {
  position: relative;
  background-color: var(--paper);
  color: var(--paper-text);
  width: var(--sayfa-en);
  height: var(--sayfa-boy);
  padding: 1in 1in 1in 1.5in;
  box-shadow: var(--shadow-md);
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 12pt;
  line-height: 1;
  overflow: hidden;
  box-sizing: border-box;
  /* NOT: content-visibility:auto DENENDİ ve GERİ ALINDI — ekran dışı
     kartlarda scrollHeight placeholder döndürüyor, taşma tespiti
     (pagination) bozuluyor. Tekrar denenecekse ölçüm sırasında
     kart bazında görünür yapma stratejisi gerekir. */
}
/* First page never shows page number (industry standard) */
.page-card:first-of-type .page-num-corner {
  display: none;
}
.element {
  position: relative;
}
/* ============================================================
     TITLE PAGE (Kapak sayfası) — endüstri standardı düzen
     ============================================================ */
.title-page-card {
  background-color: var(--paper);
  color: var(--paper-text);
  width: var(--sayfa-en);
  height: var(--sayfa-boy);
  margin: 0 auto 24px;
  padding: 1in;
  box-shadow: var(--shadow-md);
  border-radius: 4px;
  font-family: "Courier Prime", "Courier New", "Courier", monospace;
  font-size: 12pt;
  line-height: 1.3;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  flex-shrink: 0;
}
.title-page-card .tp-spacer {
  height: 4.5in;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  position: relative;
}
/* Kapak görseli */
.tp-cover-wrap {
  position: relative;
  display: inline-block;
  cursor: default;
  line-height: 0;
}
.tp-cover-img {
  display: block;
  height: auto;
  /* max-width kaldırıldı — JS maxW ile sınırlanıyor, CSS bloklamamalı */
  border-radius: 3px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.28);
  user-select: none;
  pointer-events: none;
}
/* Seçim çerçevesi */
.tp-cover-wrap.tp-selected .tp-cover-img {
  outline: 2px solid #1a73e8;
  outline-offset: 1px;
}
/* Resize handle'ları */
.tp-cover-handle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: #fff;
  border: 1.5px solid #1a73e8;
  border-radius: 2px;
  z-index: 20;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  display: none;
}
.tp-cover-wrap.tp-selected .tp-cover-handle {
  display: block;
}
/* Handle konumları */
.tp-h-nw {
  top: -5px;
  left: -5px;
  cursor: nw-resize;
}
.tp-h-n {
  top: -5px;
  left: calc(50% - 5px);
  cursor: n-resize;
}
.tp-h-ne {
  top: -5px;
  right: -5px;
  cursor: ne-resize;
}
.tp-h-e {
  top: calc(50% - 5px);
  right: -5px;
  cursor: e-resize;
}
.tp-h-se {
  bottom: -5px;
  right: -5px;
  cursor: se-resize;
}
.tp-h-s {
  bottom: -5px;
  left: calc(50% - 5px);
  cursor: s-resize;
}
.tp-h-sw {
  bottom: -5px;
  left: -5px;
  cursor: sw-resize;
}
.tp-h-w {
  top: calc(50% - 5px);
  left: -5px;
  cursor: w-resize;
}
/* Sil badgesi — hover'da görünür */
.tp-cover-del {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #c53030;
  color: #fff;
  border: 2px solid #fff;
  font-size: 13px;
  cursor: pointer;
  z-index: 25;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.tp-cover-wrap:hover .tp-cover-del,
.tp-cover-wrap.tp-selected .tp-cover-del {
  display: flex;
}
/* Boyut tooltip */
.tp-cover-size-tip {
  position: absolute;
  bottom: -26px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 5px;
  white-space: nowrap;
  pointer-events: none;
  display: none;
  backdrop-filter: blur(4px);
}
.tp-cover-wrap.tp-selected .tp-cover-size-tip {
  display: block;
}
/* Görsel ekleme placeholder — spacer boşken görünür */
.tp-img-placeholder {
  width: 78%;
  aspect-ratio: 1 / 1;
  max-height: 90%;
  border: 2px dashed rgba(0, 0, 0, 0.18);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition:
    border-color 0.2s,
    background 0.2s;
  user-select: none;
}
.tp-img-placeholder:hover {
  border-color: rgba(0, 0, 0, 0.38);
  background: rgba(0, 0, 0, 0.03);
}
.tp-img-placeholder .tip-icon {
  font-size: 36px;
  line-height: 1;
  opacity: 0.35;
}
.tp-img-placeholder .tip-label {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-size: 13pt;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.35);
  letter-spacing: 0.02em;
}
.tp-img-placeholder .tip-sub {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-size: 10pt;
  color: rgba(0, 0, 0, 0.22);
}
[data-theme="dark"] .tp-img-placeholder {
  border-color: rgba(255, 255, 255, 0.18);
}
[data-theme="dark"] .tp-img-placeholder:hover {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.04);
}
[data-theme="dark"] .tp-img-placeholder .tip-label,
[data-theme="dark"] .tp-img-placeholder .tip-sub {
  color: rgba(255, 255, 255, 0.3);
}
/* Logline */
.title-page-card .tp-logline {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-style: italic;
  font-size: 14pt;
  color: var(--paper-text);
  max-width: 5.5in;
  text-align: center;
  margin-top: 0.4em;
  min-height: 1.4em;
}
.title-page-card .tp-logline:empty:before {
  content: attr(data-placeholder);
  color: var(--text-faint);
  font-style: italic;
  opacity: 0.55;
}
/* 3 satır boşluk → logline ile Yazan arası */
.title-page-card .tp-spacer-gap {
  height: 1.2em;
  flex-shrink: 0;
}
/* Yazan label */
.title-page-card .tp-by-label {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-size: 14pt;
  margin-top: 0;
}
/* Yazar adı */
.title-page-card .tp-writer {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-size: 14pt;
  margin-top: 0.2em;
}
/* Tarih & iletişim */
.title-page-card .tp-date,
.title-page-card .tp-contact {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-size: 14pt;
}
/* Revizyon notu — serbest not kutusu */
.title-page-card .tp-revision-note {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-size: 12pt;
  min-height: 7em;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: break-word;
  max-width: 2.8in;
  min-width: 2.4in;
  text-align: right;
  border-radius: 4px;
  padding: 6px 8px;
  transition:
    background 0.1s,
    border 0.1s;
}
.title-page-card .tp-revision-note:focus {
  background: var(--accent-light);
  outline: 1px solid var(--separator-2);
}
.title-page-card .tp-revision-note:not(:focus):not(:empty) {
  border: 1px solid transparent;
}
.title-page-card .tp-revision-note:hover:not(:focus) {
  border: 1px dashed var(--separator-2);
}
.title-page-card .tp-field {
  outline: none;
  min-width: 200px;
  max-width: 5in;
  text-align: center;
  padding: 4px 8px;
  border-radius: 3px;
  transition: background 0.1s;
}
.title-page-card .tp-field:focus {
  background: var(--accent-light);
}
.title-page-card .tp-field:empty:before {
  content: attr(data-placeholder);
  color: var(--text-faint);
  font-style: italic;
  opacity: 0.7;
}
.title-page-card .tp-title {
  font-family: "Courier Prime", "Courier New", Courier, monospace;
  font-weight: bold;
  text-decoration: underline;
  text-transform: uppercase;
  font-size: 24pt;
  line-height: 1.1;
}
/* Tiyatro: Celtx-tarzı sade başlık (bold/underline yok, biraz büyük) */
.title-page-card[data-kind="stageplay"] .tp-title {
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  font-size: 14pt;
  letter-spacing: 0.5px;
}
.title-page-card[data-kind="stageplay"] .tp-by-label {
  font-style: normal;
  font-size: 12pt;
  margin-top: 1.2em;
}
.title-page-card .tp-by-label {
  color: var(--paper-text);
}
/* Notlar — sağ taraf */
.title-page-card .tp-revision-note {
  position: absolute;
  right: 1in;
  top: 8.1in;
  text-align: right;
  font-size: 11pt;
  white-space: pre-wrap;
  max-width: 2.5in;
  min-width: 80px;
}
.title-page-card .tp-based {
  margin-top: 2em;
  font-style: italic;
}
/* Tarih — sol alt */
.title-page-card .tp-date {
  position: absolute;
  bottom: 1in;
  left: 1in;
  text-align: left;
  font-size: 11pt;
  min-width: 1.5in;
  min-height: 1.2em;
}
/* İletişim — sağ alt */
.title-page-card .tp-contact {
  position: absolute;
  bottom: 1in;
  right: 1in;
  text-align: right;
  font-size: 11pt;
  white-space: pre-wrap;
  max-width: 3in;
}
.title-page-card .tp-corner-actions {
  position: absolute;
  top: 12px;
  right: 12px;
  display: flex;
  gap: 6px;
}
.title-page-card .tp-corner-actions button {
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 6px;
  color: var(--text-muted);
  background: var(--surface-2);
  border: 1px solid var(--separator);
  transition:
    background 0.15s,
    color 0.15s;
}
.title-page-card .tp-corner-actions button:hover {
  background: var(--separator-2);
  color: var(--text);
}
.title-page-card .tp-corner-actions button.danger:hover {
  background: var(--danger);
  color: #fff;
  border-color: var(--danger);
}
/* ============================================================
     SCENE NUMBERS (Celtx tarzı — sol kenar boşluğunda)
     ============================================================ */
.element.scene {
  counter-increment: scene;
  position: relative;
}
.element.scene::before {
  content: counter(scene);
  position: absolute;
  left: -0.95in;
  top: 2px;
  width: 0.7in;
  text-align: right;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: none;
  font-size: 11pt;
  pointer-events: none;
}
.element {
  outline: none;
  /* ── SATIR YÜKSEKLİĞİ = SAYFA SAYISI ────────────────────────
     Burada eskiden min-height:1.2em ve dikey 2px dolgu vardı.
     Sonuç: tek satırlık bir eleman 16 px yerine 20 px yer
     kaplıyordu, yani sayfaya 58 satır yerine 46 satır sığıyordu.
     A4'te 1 inç kenar boşluğuyla 12 punto Courier'ın endüstri
     ölçüsü 58 satırdır (US Letter'da 55). Eski hâliyle Movrito
     sayfa sayısını ~%20 fazla gösteriyordu; bir senaristte
     sayfa = dakika olduğu için bu doğrudan yanlış süre demekti.
     Dikey dolgu 0; yatay dolgu imleç için duruyor. */
  min-height: 1em;
  /* ── YATAY DOLGU TELAFİSİ ───────────────────────────────────
     4px dolgu imleç ve odak halkası için gerekli ama yazı
     alanından yer yer: diyalog 35 yerine 34, aksiyon 60 yerine
     59 karakterde sarılıyordu ve satır sonları Final Draft'tan
     kayıyordu. Negatif kenar boşluğu dolguyu dışarı taşırır:
     metin sütunu tam nominal genişliğine ve konumuna oturur.
     width kullanan kurallar da aynı telafiyle calc() taşır. */
  padding: 0 4px;
  /* Sağda fazladan 1px: Courier'in karakter eni tarayıcıda tam
     0.1in yerine binde bir fazla ölçülebiliyor (35 karakter =
     336.06px). O 0.06px yüzünden 35. karakter alta atlıyordu.
     1px'lik pay bunu emer; bir sonraki karakter 9.6px istediği
     için yanlışlıkla 36 karakter sığdırmaz. */
  margin: 0 -5px 0 -4px;
  border-radius: 3px;
  white-space: pre-wrap;
  word-wrap: break-word;
  cursor: text;
  transition: background 0.1s;
}
.element:focus {
  background: var(--accent-light);
}
.element:empty:before {
  content: none;
}
.element:empty:focus:before {
  content: attr(data-placeholder);
  color: var(--text-faint);
  font-style: italic;
  opacity: 0.7;
}
/* ── DİKEY BOŞLUKLAR = SATIR IZGARASI ────────────────────────
   Bir satır 12pt. Final Draft'ın "Space Before" değerleri satır
   cinsindendir, yani boşluklar 12pt'nin katı olmak ZORUNDA.
   Burada eskiden 9pt vardı (¾ satır): her boşlukta çeyrek satır
   kayboluyordu, sayfa başına ~6 satır fazla metin sığıyordu ve
   Final Draft'ta 60 sayfa tutan senaryo bizde 54 sayfa çıkıyordu.

   Final Draft varsayılanları (kb.finaldraft.com):
   - Sahne başlığı öncesi: 2 boş satır  → margin-top: 24pt
   - Sahne başlığı sonrası: 1 boş satır → margin-bottom: 12pt
   - Karakter öncesi:       1 boş satır → margin-top: 12pt
   - Aksiyon paragrafları arası: 1 boş satır
   - Karakter→parantez→diyalog arası: boşluk YOK
   ──────────────────────────────────────────────────────────── */
.element.scene {
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 24pt;
  margin-bottom: 12pt;
}
/* Sayfanın ilk elemanı üst kenar boşluğuna yapışır; boşluk sayfa
   başında görünmez ama satır sayısını yer ve sayfalamayı kaydırır.

   !important ŞART: tiyatro (stageplay) bloğundaki
   `.page-card[data-kind="stageplay"] .element.scene { margin: 2em ... }`
   kuralı bu seçiciden daha spesifik (0,4,0 > 0,3,0). O yüzden tiyatro
   metninde sayfa başına düşen sahne başlığı 32px boşluk bırakıyor,
   sayfa taşıyor ve sayfalama onarıma düşüyordu. Bu satır, sayfa
   düzeninin değişmez kuralı — modlar onu ezmemeli. */
.page-card > .element:first-child,
.element.scene:first-child {
  margin-top: 0 !important;
}
.element.action {
  margin-bottom: 12pt;
}
.element.character {
  text-transform: uppercase;
  margin-left: calc(2.2in - 4px);
  margin-top: 12pt;
  font-weight: bold;
}
.element.parenthetical {
  /* Final Draft: soldan 3.1", genişlik 2.0" (20 karakter).
     Önceden kenar boşluğundan türetiliyordu ve 2.9" çıkıyordu —
     uzun parantezler standarttan az satıra sığıyordu. */
  margin-left: calc(1.6in - 4px);
  width: calc(2in + 8px + 1px);
  font-style: italic;
  opacity: 0.75;
}
.element.parenthetical:not(:focus):not(:empty):before {
  content: "(";
}
.element.parenthetical:not(:focus):not(:empty):after {
  content: ")";
}
/* Aramadan gelince hedef satırı kısa süre belli et */
.element.arama-hedef {
  background: rgba(255, 200, 0, 0.22);
  border-radius: 4px;
  transition: background 0.6s ease;
}
.element.dialogue {
  /* Final Draft ölçüsü: diyalog sütunu sayfanın solundan 2.5",
     genişliği 3.5" (Courier 12pt'de tam 35 karakter). Genişlik
     SABİT — kenar boşluğundan türetilirse kâğıt değişince sütun
     da değişir ve replikler başka satırlarda kırılır. */
  margin-left: calc(1in - 4px);
  width: calc(3.5in + 8px + 1px);
  margin-bottom: 0;
}
/* ── Bölünmüş konuşma işaretleri: (DEVAMI) / KARAKTER (DEVAM) ──
   Kartın kenar boşluğuna MUTLAK konumlanır. Sebep: normal akışa
   girerlerse yükseklik değiştirir, taşmayı yeniden tetikler ve
   sayfalama sonsuz döngüye girebilir. Böylece geometri değişmez. */
.cont-more,
.cont-header {
  position: absolute;
  font-family: var(--font-mono);
  font-size: 12pt;
  line-height: 1;
  color: var(--paper-text);
  user-select: none;
  pointer-events: none;
  white-space: nowrap;
}
.cont-more {
  /* Diyalog sütunuyla hizalı: 1.5in padding + 1in diyalog girintisi */
  left: 2.5in;
  bottom: 0.62in;
}
.cont-header {
  /* Karakter sütunuyla hizalı: 1.5in padding + 2.2in karakter girintisi */
  left: 3.7in;
  top: 0.5in;
  font-weight: bold;
}
.page-card[data-kind="stageplay"] .cont-more {
  left: 2in;
}
.page-card[data-kind="stageplay"] .cont-header {
  left: 1.5in;
}
/* Diyalog/parantez sonrası aksiyon veya karakter: 1 boş satır.
   Sahne başlığı bu listede YOK — onun kendi 24pt'si (2 boş satır)
   geçerli olmalı, Final Draft sahne başlığını hep 2 satır aşağıdan
   başlatır, öncesinde ne olursa olsun. */
.element.dialogue + .element.action,
.element.parenthetical + .element.action,
.element.dialogue + .element.character,
.element.parenthetical + .element.character {
  margin-top: 12pt;
}
.element.transition {
  text-transform: uppercase;
  text-align: right;
  font-weight: bold;
  margin: 12pt 0;
}
.element.paragraph {
  margin-bottom: 12pt;
}
.element.stage_direction {
  font-style: italic;
  margin: 0.5em 0 0.7em;
  opacity: 0.85;
}
/* ============================================================
     TIYATRO (stageplay) — Celtx / III.Richard mesleki format
     page-card sol padding = 1.5in, bu margin değerleri buna göre:
     - Karakter:    x=108pt=1.5in sayfa solundan → margin-left:0    (içerik başından)
     - Diyalog:     x=144pt=2.0in sayfa solundan → margin-left:0.5in
     - Aksiyon:     x=180pt=2.5in sayfa solundan → margin-left:1.0in, italic
     - Konuşmalar arası boşluk: 24pt ≈ 2em
     ============================================================ */
.page-card[data-kind="stageplay"] .element.action {
  font-style: italic;
  font-weight: normal;
  text-transform: none;
  margin-left: calc(1in - 4px);
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 1em;
}
.page-card[data-kind="stageplay"] .element.stage_direction {
  font-style: italic;
  font-weight: normal;
  margin-left: calc(1in - 4px);
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 1em;
}
.page-card[data-kind="stageplay"] .element.character {
  text-transform: uppercase;
  font-weight: bold;
  font-style: normal;
  text-align: left;
  margin: 0 -4px;
}
/* diyalog → karakter: tam boş satır */
.page-card[data-kind="stageplay"] .element.dialogue + .element.character,
.page-card[data-kind="stageplay"]
  .element.parenthetical
  + .element.character {
  margin-top: 1em;
}
.page-card[data-kind="stageplay"] .element.dialogue {
  margin-left: calc(0.5in - 4px);
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  text-transform: none;
  font-weight: normal;
  font-style: normal;
}
.page-card[data-kind="stageplay"] .element.scene::before {
  display: none;
}
.page-card[data-kind="stageplay"] .element.scene {
  text-transform: uppercase;
  font-weight: bold;
  margin: 2em 0 1em 0;
  text-align: center;
}
.page-card[data-kind="stageplay"] .element.parenthetical {
  margin-left: calc(0.5in - 4px);
  margin-right: 0;
  font-style: italic;
  text-align: left;
}
/* ============================================================
     METIN (text/WordPad) — düz yazı, hiçbir senaryo özelliği yok
     ============================================================ */
.page-card[data-kind="text"] {
  font-family: var(--font);
  font-size: 14pt;
  line-height: 1.6;
  width: 10.75in;
  padding: 1in 1.3in;
}
/* NOT: "mid" teması BİLİNÇLİ olarak dışarıda — felsefesi "koyu arayüz,
   aydınlık kağıt" (bkz. --paper: #fcfaf4). Buraya dahil edilince sayfa
   koyulaşıyor ama mürekkep (--paper-text: #15171a) koyu kalıyordu:
   siyah üstüne siyah, kontrast 1.10 — metin görünmez oluyordu. */
[data-theme="dark"] .page-card[data-kind="text"] {
  /* Koyu temada sayfa zeminden ayrışsın — kenar + hafif ton farkı */
  background-color: #23262b;
  border: 1px solid rgba(255, 255, 255, 0.07);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    var(--shadow-lg);
}
.page-card[data-kind="text"] .element {
  text-transform: none !important;
  text-align: left;
  margin: 0 0 0.55em 0 !important;
  padding: 0 !important;
  font-weight: normal !important;
  font-style: normal !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}
/* Element tip prefix'i tamamen kaldır */
.page-card[data-kind="text"] .element::before,
.page-card[data-kind="text"] .element::after {
  content: none !important;
  display: none !important;
}
/* Boş belge daveti: belgede tek ve boş paragraf varken göster */
.page-card[data-kind="text"] .element:only-of-type:empty::before {
  content: attr(data-placeholder) !important;
  display: block !important;
  color: var(--text-faint);
  font-family: inherit; /* metin modunun kendi fontu (Courier değil) */
  font-style: italic;
  pointer-events: none;
}
.page-card[data-kind="text"] .element[style*="text-align: center"] {
  text-align: center !important;
}
.page-card[data-kind="text"] .element[style*="text-align: right"] {
  text-align: right !important;
}
.page-card[data-kind="text"] .element[style*="text-align: justify"] {
  text-align: justify !important;
}
/* ============================================================
     PAGE NUMBER — kind'a göre konum (12pt her zaman)
     ============================================================ */
.page-card .page-num-corner {
  position: absolute;
  font-family: var(--font-mono);
  font-size: 12pt;
  color: var(--paper-text);
  pointer-events: none;
  user-select: none;
  letter-spacing: 0.02em;
}
/* Sinema & Tiyatro: sağ üst */
.page-card[data-kind="screenplay"] .page-num-corner,
.page-card[data-kind="stageplay"] .page-num-corner {
  top: 0.5in;
  right: 1in;
  bottom: auto;
  left: auto;
  text-align: right;
}
/* Metin: alt orta */
.page-card[data-kind="text"] .page-num-corner {
  top: auto;
  bottom: 0.5in;
  left: 0;
  right: 0;
  text-align: center;
  font-family: var(--font);
  font-size: 12pt;
}
/* ============================================================
     METİN MODU = WordPad alternatifi
     - Senaryo özelliklerini sakla (sahne dropdown, kapak, Fountain, sidebar, ipuçları)
     - Format bar üstten alta taşı
     ============================================================ */
body[data-kind="text"] .dr-script-btn,
body[data-kind="text"] #typeSelect,
body[data-kind="text"] #titlePageBtn,
body[data-kind="text"] #sinopsisBtn,
body[data-kind="text"] #tretmanBtn,
body[data-kind="stageplay"] #sinopsisBtn,
body[data-kind="stageplay"] #tretmanBtn,
body[data-kind="text"] .editor-toolbar .type-select,
body[data-kind="text"] .editor-toolbar #importFountainBtn,
body[data-kind="text"] .editor-toolbar #exportFdxBtn,
body[data-kind="text"] .editor-toolbar [title*="Fountain"],
body[data-kind="text"] .editor-sidebar,
body[data-kind="text"] .status-bar .pill,
body[data-kind="text"] .status-bar .hint,
body[data-kind="text"] .title-page-card,
body[data-kind="text"] .status-bar .spacer:first-child {
  display: none !important;
}
/* Editör main: sidebar gizlendi → canvas tek başına tüm alanı kaplasın (flex zaten) */

/* Metin modu: paginate aktif → her kart 11", element-by-element dağıtılır. WYSIWYG. */
body[data-kind="text"] .page-card[data-kind="text"] {
  padding: 1in !important;
  width: var(--sayfa-en);
  height: var(--sayfa-boy);
  min-height: var(--sayfa-boy);
  overflow: hidden;
  background: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.08) !important;
}
/* Aynı sebeple "mid" burada da yok — kağıdı aydınlık kalmalı. */
[data-theme="dark"] body[data-kind="text"] .page-card[data-kind="text"] {
  background: #1e2024 !important;
}
/* Boş paragraflar görünür kalsın + paragraflar arası Word standardı boşluk */
body[data-kind="text"] .page-card[data-kind="text"] .element {
  min-height: 1.55em;
  margin-bottom: 0.6em; /* Word default paragraph spacing — Enter görünür olsun */
}
body[data-kind="text"]
  .page-card[data-kind="text"]
  .element:empty:before {
  content: "\200B";
}
body[data-kind="text"] .page-card[data-kind="text"] .page-num-corner {
  display: none !important;
}
/* Stronger weight for scene headings on screen too (Courier bold can look light) */
.element.scene {
  font-weight: 800;
  letter-spacing: 0.02em;
}
