/* Sohbet odaları, emoji, isim stilleri, kullanıcı kartı, şikâyet akışı, Kimliğim > Görünüm/Gizlilik (js/oda.js, js/emoji.js).
   Masa paleti: sarı #F3C32B, kâğıt #F1ECE0, mürekkep #15171A, kırmızı damga #C23B2E. İsim stilleri kendi zeminini taşır;
   koyu masada da açık kâğıtta da okunur. */

/* ---------- Emoji ---------- */
.ds-emoji { width: 1.35em; height: 1.35em; vertical-align: -.3em; display: inline-block; margin: 0 .05em; }
.od-msg p.buyuk .ds-emoji { width: 44px; height: 44px; vertical-align: middle; }

/* ---------- İsim satırı: rütbe kalkanı + ad (stil) + vitrin ---------- */
.ds-isim { display: inline-flex; align-items: center; gap: 4px; min-width: 0; max-width: 100%; vertical-align: middle; }
.ds-isim .ds-ad { font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; color: inherit; font: inherit; font-weight: 800; padding: 0 2px; border-radius: 3px; line-height: 1.3; }
.ds-isim button.ds-ad { border: 0; background: transparent; cursor: pointer; text-align: left; }
.ds-isim button.ds-ad:hover { text-decoration: underline; }
.ds-kalkan { flex: none; display: inline-grid; place-items: center; width: 17px; height: 19px; font-size: .6rem; font-weight: 900; font-family: var(--font, Archivo, sans-serif); color: #15171A;
  clip-path: polygon(50% 0, 100% 14%, 92% 66%, 50% 100%, 8% 66%, 0 14%); padding-bottom: 2px; line-height: 1; }
.ds-kalkan.k1 { background: #9AA2AD; } .ds-kalkan.k2 { background: #5C8DBD; } .ds-kalkan.k3 { background: #E2B62C; }
.ds-kalkan.k4 { background: #C0513E; color: #FFF6EC; } .ds-kalkan.k5 { background: linear-gradient(180deg, #F2C230 0 58%, #15171A 58%); }
.ds-vitler { display: inline-flex; gap: 1px; flex: none; }
.ds-vit { font-size: .85rem; line-height: 1; filter: drop-shadow(0 0 1px rgba(0,0,0,.55)); }
.ds-vit.sv-bronz { color: #C27C3E; } .ds-vit.sv-gumus { color: #B9C0CA; } .ds-vit.sv-altin { color: #F3C32B; }

/* Stiller: her biri kendi zemininde, iki bağlamda da okunur */
.stil-murekkep .ds-ad { background: #1E2126; color: #F1ECE0 !important; font-family: var(--typed); font-weight: 400; letter-spacing: .02em; padding: 0 5px; box-shadow: 0 0 0 1px rgba(241,236,224,.25); }
.stil-mavi .ds-ad { background: #DCE8F5; color: #1D4E86 !important; box-shadow: inset 0 -2px 0 #5C8DBD; padding: 0 4px; }
.stil-isaretci .ds-ad { color: #15171A !important; background: linear-gradient(100deg, transparent 0 2%, #F7E04A 3% 96%, transparent 97%); padding: 0 5px; }
.stil-uv .ds-ad { background: #2E1B5C; color: #F2EAFF !important; text-shadow: 0 0 6px #B48CFF, 0 0 2px #D9C4FF; padding: 0 5px; box-shadow: 0 0 8px rgba(142,107,216,.55); }
.stil-damga .ds-ad { color: #A3291F !important; background: #FBF1EA; border: 2px solid #C23B2E; border-radius: 4px; padding: 0 4px; font-family: var(--typed); font-weight: 400; transform: rotate(-1.5deg); letter-spacing: .03em; }
.stil-altin .ds-ad { color: #2A1E00 !important; background: linear-gradient(100deg, #B8860B, #F3C32B 35%, #FFF1B0 55%, #F3C32B 75%, #B8860B); padding: 0 5px; }
.stil-altin .ds-ad::after { content: ""; display: inline-block; width: .62em; height: .62em; margin-left: 4px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #FFF1B0, #C23B2E 70%); box-shadow: 0 0 0 1.5px #2A1E00; vertical-align: .05em; }
@media (prefers-reduced-motion: no-preference) { .stil-altin .ds-ad { background-size: 200% 100%; animation: altinGecis 6s linear infinite; } @keyframes altinGecis { to { background-position: -200% 0; } } }

/* ---------- Oda ekranı ---------- */
.od-sohbet { display: flex; flex-direction: column; max-width: 820px; }
.od-sohbet > * { flex: none; }
.od-sohbet > .od-akis { flex: 1 1 auto; min-height: 0; }
body.oda-acik .tl-fab { display: none; }
@media (max-width: 959px) {
  body.oda-acik { overflow: hidden; }
  body.oda-acik .bottomnav { display: none; }
}
.od-bas { display: flex; align-items: center; gap: 6px; padding: 6px 8px; border-bottom: 2px solid #1E2126; background: rgba(241,236,224,.95); min-width: 0; }
.od-bas .sy-bag { flex: none; }
.od-sekme { display: flex; gap: 4px; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: none; }
.od-sekme::-webkit-scrollbar { display: none; }
.od-sekme a { flex: none; display: inline-flex; align-items: center; height: 36px; padding: 0 12px; border-radius: 999px; text-decoration: none; color: #1E2126; font-weight: 700; font-size: .9rem; border: 1px solid #B9B2A2; white-space: nowrap; }
.od-sekme a[aria-selected="true"] { background: #1E2126; color: #F3C32B; border-color: #1E2126; }
.od-sekme a .sy-sayac.ic { margin-left: 5px; }
.od-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 12px; border-bottom: 1px dashed #B9B2A2; background: rgba(241,236,224,.85); color: #1E2126; flex-wrap: wrap; min-width: 0; }
.od-ust-ad { display: flex; align-items: baseline; gap: 10px; min-width: 0; flex-wrap: wrap; }
.od-ust-ad b { font-size: 1.05rem; }
.od-cevrim { font-size: .82rem; color: #2F6B45; display: inline-flex; align-items: center; gap: 4px; font-family: var(--typed); }
.od-cevrim i { font-size: .6rem; color: #1F9D5B; }
.od-ust-eylem { display: flex; gap: 6px; }
.od-ust .btn-ghost, .od-yaz .btn-ghost { color: #1E2126; border-color: #B9B2A2; }
@media (max-width: 420px) { .od-ust-eylem .btn span { display: none; } .od-ust-eylem .btn { width: 38px; padding: 0; } }
.od-kilit { padding: 6px 12px; background: #C23B2E; color: #FFF6EC; font-size: .85rem; font-weight: 700; }
.od-akis { gap: 8px; }
#odMesajlar { display: grid; gap: 8px; }
.od-msg { display: flex; gap: 8px; align-items: flex-start; min-width: 0; }
.od-msg.ben { flex-direction: row-reverse; }
.od-av { flex: none; border-radius: 50%; display: inline-flex; }
.od-msg .gv { max-width: min(86%, 560px); min-width: 0; background: #FBF8F1; border-radius: 4px 12px 12px 12px; padding: 6px 10px 6px; box-shadow: 0 1px 2px rgba(0,0,0,.18); color: #1E2126; }
.od-msg.ben .gv { background: #F7D458; border-radius: 12px 4px 12px 12px; }
.od-msg .ust { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: .86rem; }
.od-msg .ust .ds-isim { flex: 0 1 auto; }
.od-msg .ust time { color: #6E685D; font-size: .72rem; font-family: var(--typed); flex: none; margin-left: auto; }
.od-menu { border: 0; background: transparent; color: #4A4E55; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; flex: none; margin-right: -6px; }
.od-menu:hover { background: rgba(0,0,0,.08); }
.od-unvan { display: block; font-family: var(--hand); font-size: .98rem; line-height: 1.05; color: #7A2A22; }
.od-msg p { margin: 2px 0 0; overflow-wrap: anywhere; white-space: pre-wrap; font-size: .97rem; line-height: 1.4; }
.od-msg.bekliyor .gv { opacity: .7; }
.od-msg.basarisiz .gv { box-shadow: 0 0 0 2px #A3291F; }
.od-msg.engelli { justify-content: center; }
.od-gizli { border: 1px dashed #9C9586; background: rgba(255,255,255,.4); color: #4A4E55; border-radius: 10px; padding: 6px 12px; font: inherit; font-size: .85rem; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.od-tepki { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.od-tepki:empty { display: none; }
.od-tepki-cip { display: inline-flex; align-items: center; gap: 3px; height: 28px; padding: 0 7px 0 4px; border-radius: 999px; border: 1px solid #C9C0AC; background: #FFFDF6; color: #1E2126; font-size: .8rem; font-weight: 800; cursor: pointer; }
.od-tepki-cip.benim { border-color: #1E2126; background: #1E2126; color: #F3C32B; }
.od-tepki-ekle { width: 28px; height: 28px; border-radius: 999px; border: 1px dashed #B9B2A2; background: transparent; color: #6E685D; cursor: pointer; display: grid; place-items: center; }
.od-msg:not(:hover) .od-tepki-ekle { opacity: .6; }
.od-yaz { position: relative; }
.od-yaz .btn.od-emoji-ac { width: 44px; }
.od-yaz-not { margin: 0; display: flex; justify-content: space-between; color: #6E685D; font-family: var(--typed); gap: 8px; }
.od-yaz-not .bekle { color: #A3291F; font-weight: 700; }
@media (max-width: 959px) { .od-yaz-not { display: flex; } }
.od-yazamaz { font-size: .9rem; }
.od-emoji-panel { border: 1px solid #C9C0AC; background: #FBF8F1; border-radius: 10px; padding: 8px; max-height: 210px; overflow-y: auto; }
.od-emoji-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 4px; }
.od-emoji-izgara.kucuk { grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)); }
.od-emoji-sec { position: relative; display: grid; place-items: center; height: 44px; border: 1px solid transparent; border-radius: 10px; background: transparent; cursor: pointer; }
.od-emoji-sec:hover { background: rgba(243,195,43,.18); border-color: #E2B62C; }
.od-emoji-sec.kilitli .ds-emoji { filter: grayscale(1); opacity: .35; }
.od-emoji-sec.kilitli i { position: absolute; right: 3px; bottom: 3px; font-size: .75rem; color: #6E685D; }
.od-emoji-not { margin: 6px 0 0; color: #6E685D; }
.modal .od-emoji-izgara .od-emoji-sec { background: #F1ECE0; }
.modal .od-emoji-izgara .od-emoji-sec.kilitli i { color: #15171A; }
.od-alinti { margin: 0 0 12px; padding: 8px 12px; border-left: 3px solid var(--marker); background: var(--surface-2); border-radius: 0 8px 8px 0; overflow-wrap: anywhere; }

/* ---------- Özel odam ---------- */
.od-ozel { max-width: 820px; margin: 0 auto; display: grid; gap: 14px; }
.od-bas-sayfa { border-radius: 10px; border: 0; }
.od-kur, .od-davetler { display: grid; gap: 10px; color: #1E2126; }
.od-kur h3, .od-davetler h3 { margin: 0; }
.od-davetler .sy-satir { background: #FBF8F1; border-color: #D6CDB8; color: #1E2126; }
.od-h2 { margin: 6px 0 0; }
.od-oda-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.od-oda-satir { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.od-oda-satir > i:first-child { font-size: 1.6rem; color: var(--marker); }
.od-oda-satir > span:nth-child(2) { display: grid; flex: 1; min-width: 0; }
.od-oda-satir:hover { border-color: var(--marker); }

/* ---------- Çevrimiçi dedektifler, davet ---------- */
.od-cevrimici .sy-satir { flex-wrap: wrap; }
.od-cevrimici .sy-av .sy-nokta { position: absolute; right: 0; bottom: 0; }
.od-davet-secim { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.od-davet-kart .od-davet-kim { display: flex; align-items: center; gap: 12px; margin: 12px 0 8px; }
.od-davet-kim > span:last-child { display: grid; }

/* ---------- Kullanıcı kartı ---------- */
.od-kart .od-kart-ad { display: grid; gap: 3px; min-width: 0; }
.od-kart .od-kart-ad .ds-isim { font-size: 1.15rem; }
.od-kart .od-unvan { color: #FFB59C; }
.od-kart-vitrin { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.od-kart-alt { margin: 10px 0 0; }
.od-kart-eylem { gap: 8px; margin-top: 14px; }
.od-kart-eylem .btn { flex: 1 1 calc(50% - 8px); min-width: 0; }
.od-uyari { display: flex; gap: 8px; align-items: flex-start; padding: 8px 10px; border-radius: 8px; background: rgba(243,195,43,.12); border: 1px solid rgba(243,195,43,.4); font-size: .9rem; }

/* ---------- Şikâyet akışı ---------- */
.od-bildir h4 { margin: 10px 0 8px; }
.od-adim { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 6px; }
.od-adim span { height: 5px; border-radius: 3px; background: var(--surface-2); }
.od-adim span.on { background: var(--marker); }
.od-secenekler { display: grid; gap: 6px; }
.od-secenek { display: flex; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); cursor: pointer; }
.od-secenek:has(input:checked) { border-color: var(--marker); background: var(--marker-soft); }
.od-secenek input { accent-color: var(--marker); width: 18px; height: 18px; flex: none; }
.od-bildir-alt { gap: 8px; margin-top: 14px; }
.od-bildir textarea { width: 100%; }
.od-kanit { background: #EFE6C8; color: #1E2126; border-radius: 8px; padding: 8px; max-height: 260px; overflow-y: auto; display: grid; gap: 4px; font-size: .86rem;
  background-image: repeating-linear-gradient(180deg, transparent 0 23px, rgba(92,141,189,.18) 23px 24px); }
.od-kanit-bas { color: #6E685D; font-family: var(--typed); }
.od-kanit-m { padding: 3px 8px; border-radius: 6px; background: rgba(255,255,255,.55); }
.od-kanit-m p { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.od-kanit-m time { color: #6E685D; font-size: .72rem; }
.od-kanit-m.hedef { background: #FFE3DC; box-shadow: inset 3px 0 0 #C23B2E; }
.od-kanit-m.sistem { opacity: .7; font-style: italic; }
.od-kanit-profil { display: flex; gap: 10px; align-items: center; }
.od-kanit-profil > span:last-child { display: grid; gap: 2px; }

/* ---------- Kimliğim > Görünüm ---------- */
.od-stiller { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.od-stil { display: grid; gap: 4px; text-align: left; padding: 8px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); color: var(--ink); cursor: pointer; min-width: 0; }
.od-stil[aria-checked="true"] { border-color: var(--marker); box-shadow: 0 0 0 2px var(--marker-soft); }
.od-stil.kilitli { opacity: .62; }
.od-stil-kagit, .od-stil-masa { display: block; padding: 4px 6px; border-radius: 6px; min-width: 0; overflow: hidden; font-size: .85rem; }
.od-stil-kagit { background: #F1ECE0; color: #1E2126; }
.od-stil-masa { background: #0F1215; color: #EDE8DD; }
.od-stil .tiny { color: var(--ink-3); }

/* Sıralama ve ekip panelinde ad satırı */
.lb .u .ds-isim, .podium .u .ds-isim { max-width: 100%; }
.podium .u .ds-isim { justify-content: center; }
.ekip-uyeler .kim .ds-isim { max-width: 100%; }
.idcard .name .ds-isim { font-size: inherit; }
.bottomnav .sy-sayac.nokta, .ftab .sy-sayac.nokta { min-width: 10px; width: 10px; height: 10px; padding: 0; }
.ftab { position: relative; }
.ftab .sy-sayac { top: -4px; right: -6px; }
.hediye-al #hediyeAlan { margin-top: 10px; }
@media (max-width: 480px) {
  .od-bas .sy-bag { font-size: 0; gap: 0; }
  .od-sekme a { padding: 0 10px; font-size: .85rem; }
  .od-bas .sy-geri { width: 34px; }
}
.od-gizli .linkbtn { min-height: 0; padding: 0; font: inherit; text-decoration: underline; }
/* Üst bardaki Sohbet simgesi yalnızca masaüstünde (telefonda alt menüde 6. sekme) */
@media (max-width: 959px) { .od-ust-ikon { display: none !important; } }

/* ---------- Düzeltmeler (9 Kasım) ---------- */
/* Arşiv kartı: kilit sağ üstte, paylaş düğmesi sol üstte; üst üste binmesinler */
.bag-paylas { right: auto; left: 30px; top: 52px; }
@media (pointer: coarse) { .bag-paylas { left: 28px; top: 50px; } }
/* iOS/Android: sohbet odası tam ekranken yazı alanı alt çubuğun (ev göstergesi) üstünde kalsın */
@media (max-width: 959px) {
  body.oda-acik .od-yaz { padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
  body.oda-acik .od-bas { padding-left: max(8px, env(safe-area-inset-left)); padding-right: max(8px, env(safe-area-inset-right)); }
}
/* Ekiplerim kartındaki "Devam" etiketi: koyu zemin üstünde okunur sarı yazı */
.chip.ekip-devam { background: #15171A; color: #F3C32B; border: 0; font-weight: 700; }
/* Masaüstünde Sohbet artık üst sekmelerde; aynı işi gören simge yalnızca dar ekranda kalır */
@media (min-width: 960px) { .od-ust-mobil { display: none !important; } }
/* Masaüstü üst bar: 7 sekme + sağdaki düğmeler (giriş yapılmış hali dahil) her genişlikte sığsın */
@media (min-width: 960px) {
  .ftabs { min-width: 0; flex-shrink: 1; }
  .ftab i { display: none; }
  .ftab { padding-left: 12px !important; padding-right: 14px !important; }
  .kur-link span, .nasil-link span { display: none; }
  .kur-link, .nasil-link { width: 40px; min-width: 40px; padding: 0 !important; justify-content: center; }
}
@media (min-width: 960px) and (max-width: 1700px) { .badgechip .who { display: none; } .badgechip { padding: 3px; } }
@media (min-width: 960px) and (max-width: 1400px) {
  .ftab { font-size: .84rem; padding-left: 9px !important; padding-right: 11px !important; }
  .ptag small { display: none; }
  .brandmark .wm span { display: none; }
}

@media (min-width: 960px) and (max-width: 1180px) {
  .brandmark .wm { display: none; }
  .ptag { display: none; }
  .ftab { font-size: .8rem; padding-left: 7px !important; padding-right: 9px !important; }
}

/* ---------- Yazı alanı: emoji görünür (contenteditable) ---------- */
.od-girdi { flex: 1; min-width: 0; min-height: 44px; max-height: 110px; overflow-y: auto; overflow-x: hidden; border: 1px solid #8C8577; background: #FBF8F1; color: #15171A;
  border-radius: 10px; padding: 10px 12px; font: inherit; font-size: 16px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word;
  cursor: text; -webkit-user-select: text; user-select: text; caret-color: #15171A; outline: none; }
.od-girdi:focus-visible, .od-girdi:focus { outline: 2px solid #1D4E86; outline-offset: 0; }
.od-girdi:empty::before { content: attr(data-placeholder); color: #5E584D; pointer-events: none; }
.od-girdi img.od-e { width: 1.4em; height: 1.4em; vertical-align: -.32em; margin: 0 .04em; display: inline-block; -webkit-user-drag: none; }
.od-girdi br { display: none; }
#odSay.asim { color: #A3291F; font-weight: 700; }
.od-emoji-panel { max-height: 240px; }
.od-emoji-izgara { grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); }
.od-emoji-sec { height: 52px; }
.od-emoji-sec .ds-emoji { width: 38px; height: 38px; }
.od-emoji-sec:focus-visible { outline: 2px solid #1D4E86; outline-offset: 1px; }
.od-emoji-sec.kilitli i { right: 2px; bottom: 2px; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #15171A; color: #F3C32B; font-size: .7rem; box-shadow: 0 0 0 1.5px #FBF8F1; }
.modal .od-emoji-izgara .od-emoji-sec.kilitli i { color: #F3C32B; }

/* ---------- Mesaj: avatar ve ad düğme, hızlı tepki ---------- */
button.od-av { border: 0; padding: 0; background: transparent; cursor: pointer; border-radius: 50%; }
button.od-av:focus-visible, .ds-isim button.ds-ad:focus-visible, .od-menu:focus-visible, .od-tepki-cip:focus-visible, .od-tepki-ekle:focus-visible, .od-hizli-ac:focus-visible { outline: 2px solid #1D4E86; outline-offset: 2px; }
.od-msg .gv { touch-action: manipulation; -webkit-touch-callout: none; position: relative; }
.od-msg { position: relative; }
.od-hizli-ac { flex: none; align-self: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid #8C8577; background: #FBF8F1; color: #15171A; display: grid; place-items: center; cursor: pointer; opacity: 0; transition: opacity .15s; font-size: 1rem; }
.od-msg:hover .od-hizli-ac, .od-hizli-ac:focus-visible, .od-hizli-ac[aria-expanded="true"] { opacity: 1; }
@media (pointer: coarse) { .od-hizli-ac { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 1; } }
.od-hizli { position: fixed; z-index: 45; display: flex; align-items: center; gap: 2px; padding: 5px; border-radius: 999px; background: #15171A; border: 1px solid #F3C32B;
  box-shadow: 0 10px 28px rgba(0,0,0,.45); max-width: calc(100vw - 16px); }
@media (prefers-reduced-motion: no-preference) { .od-hizli { animation: odHizli .16s ease-out; } @keyframes odHizli { from { transform: translateY(6px) scale(.92); opacity: 0; } } }
.od-hizli button { width: 42px; height: 42px; border: 0; border-radius: 50%; background: transparent; display: grid; place-items: center; cursor: pointer; padding: 0; color: #F3C32B; }
.od-hizli button:hover, .od-hizli button:focus-visible { background: rgba(243,195,43,.2); outline: none; }
.od-hizli button:focus-visible { box-shadow: 0 0 0 2px #F3C32B; }
.od-hizli .ds-emoji { width: 32px; height: 32px; margin: 0; vertical-align: middle; }
.od-hizli .benim { background: rgba(243,195,43,.32); box-shadow: inset 0 0 0 2px #F3C32B; }
.od-hizli-arti { font-size: 1.15rem; border: 1px solid #F3C32B !important; width: 38px !important; height: 38px !important; margin-left: 2px; }
@media (max-width: 380px) { .od-hizli button { width: 38px; height: 38px; } .od-hizli .ds-emoji { width: 28px; height: 28px; } }
@media (prefers-reduced-motion: no-preference) { .od-msg .gv.kalp { animation: odKalp .35s ease-out; } @keyframes odKalp { 50% { transform: scale(1.04); } } }
/* ---------- Kontrast (WCAG AA): oda ekranı kâğıt zeminlidir; genel temanın koyu hover/odak renkleri burada kullanılmaz ---------- */
.od-cevrim { color: #1F5C3A; }
.od-cevrim i { color: #17804A; }
.od-ust .btn-ghost, .od-yaz .btn-ghost { color: #15171A; border-color: #8C8577; background: #FBF8F1; }
.od-ust .btn-ghost:hover, .od-yaz .btn-ghost:hover, .od-ust .btn-ghost:active, .od-yaz .btn-ghost:active,
.od-yaz .btn-ghost[aria-expanded="true"] { background: #E6DCC4; color: #15171A; border-color: #15171A; }
.od-ust .btn:focus-visible, .od-yaz .btn:focus-visible, .od-sekme a:focus-visible, .od-bas .sy-geri:focus-visible { outline: 2px solid #1D4E86; outline-offset: 2px; }
.od-sekme a:hover { background: #E6DCC4; color: #15171A; }
.od-sekme a[aria-selected="true"]:hover { background: #15171A; color: #F3C32B; }
.od-bas .sy-geri { color: #15171A; }
.od-bas .sy-bag { color: #3F434A; }
.od-bas .sy-bag::before { background: #8A5C05; }
.od-bas .sy-bag.bagli::before { background: #17804A; }
.od-yaz .btn-marker { background: #F3C32B; color: #15171A; border-color: #15171A; }
.od-yaz .btn-marker:hover { background: #E2B21E; color: #15171A; }
.od-yaz-not { color: #5E584D; }
.od-msg .ust time { color: #5E584D; }
.od-msg.ben .ust time { color: #4A4436; }
.od-menu { color: #3F434A; }
.od-msg.ben .od-menu { color: #2B2A24; }
.od-menu:hover { background: rgba(21,23,26,.1); color: #15171A; }
.od-tepki-ekle { color: #3F434A; border-color: #8C8577; }
.od-msg.ben .od-tepki-ekle { color: #2B2A24; border-color: #6E5A12; }
.od-msg:not(:hover) .od-tepki-ekle { opacity: 1; }
.od-tepki-cip { border-color: #8C8577; color: #15171A; }
.od-msg.ben .od-tepki-cip:not(.benim) { background: #FFF6D6; }
.od-gizli { color: #3F434A; border-color: #6E685D; }
.od-unvan { color: #7A2A22; }
.od-msg.ben .od-unvan { color: #6B1F18; }
.sy-ilk { color: #4A4E55; }
.od-yazamaz { color: #3F434A; }
.od-kilit { background: #A3291F; }
.od-sil-evet { background: #A3291F; color: #FFF6EC; border-color: #A3291F; }
.od-sil-evet:hover { background: #8A2117; }

/* Yatay dosya şeridi: kaydırma çubuğu yok, sağda solda ok (serit.js) */
.serit-sar { position: relative; }
.serit-sar .scroller { scrollbar-width: none; scroll-behavior: smooth; }
.serit-sar .scroller::-webkit-scrollbar { display: none; }
.serit-ok { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 48px; height: 48px; border-radius: 50%;
  border: 2px solid #F3C32B; background: #15171A; color: #F3C32B; display: grid; place-items: center; font-size: 1.35rem; cursor: pointer;
  box-shadow: 0 10px 24px -8px rgba(0,0,0,.9); transition: transform .15s ease, background .15s ease; }
.serit-ok:hover { background: #F3C32B; color: #15171A; }
.serit-ok:active { transform: translateY(-50%) scale(.94); }
.serit-ok:focus-visible { outline: 3px solid #F3C32B; outline-offset: 3px; }
.serit-ok[hidden] { display: none; }
.serit-sol { left: -10px; }
.serit-sag { right: -10px; }
@media (max-width: 600px) { .serit-ok { width: 40px; height: 40px; font-size: 1.1rem; } .serit-sol { left: -4px; } .serit-sag { right: -4px; } }
/* Koyu pencerelerdeki boş liste yazısı (çevrimiçi dedektifler, hediye): --ink-3 koyu zeminde 4.42:1 kalıyordu */
.modal .bos { color: #ABA597; }
.od-emoji-not { color: #5E584D; }
.modal .od-emoji-not { color: #ABA597; }

/* Laboratuvar: sürükleyince fotoğraf seçilip taşınmasın; olaylar sahnenin kendisinde dinlenir */
.lab, .lab * { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.lab img, .lab svg, .lab .layer { -webkit-user-drag: none; pointer-events: none; }

/* Telefon işaret kalemi: açıkken yazı seçimi ve telefonun seçim menüsü çıkmaz; yana sürükleme işaretler, dikey kaydırma sürer */
.kalem-acik, .kalem-acik * { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.kalem-acik { touch-action: pan-y; cursor: text; }
::highlight(kalem) { background-color: #FBE7A1; color: #15171A; }
.kalem-btn { background: #F1ECE0; color: #15171A; border: 2px solid #15171A; gap: 6px; min-height: 40px; }
.kalem-btn[aria-pressed="true"] { background: #F3C32B; color: #15171A; border-color: #15171A; }
.kalem-btn[hidden] { display: none; }

/* Hızlı satın alma penceresi: adet seçici */
.hz-adet { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.hz-adet .hz-eksi, .hz-adet .hz-arti { width: 44px; height: 44px; padding: 0; justify-content: center; }
.hz-sayi { min-width: 2.4ch; text-align: center; font-size: 1.5rem; font-weight: 800; }
.hz-hizli { display: inline-flex; gap: 6px; margin-left: auto; }
.hz-hizli .chip { min-width: 44px; min-height: 40px; justify-content: center; cursor: pointer; }
.hz-hizli .chip[aria-pressed="true"] { background: #F3C32B; color: #15171A; border-color: #15171A; }
@media (max-width: 420px) { .hz-hizli { margin-left: 0; width: 100%; } .hz-hizli .chip { flex: 1; } }

/* Dosyalar kartı: üzerine gelince klasör, sekme, kilit ve paylaş düğmesi birlikte kalkar (paylaş düğmesi bağlantının dışında durduğu için
   hareket kartın kabına verilir). Paylaş düğmesi kilitle aynı görünür; üzerine gelince beyaza dönmez, sarı halka alır. */
.bag-kap { transition: transform .25s ease; }
.bag-kap a.tfolder:hover .tbody { transform: none; }
.bag-kap a.tfolder:hover .pola { transform: none; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .bag-kap:hover, .bag-kap:focus-within { transform: translateY(-6px) rotate(-.6deg); }
  .bag-kap:hover .pola { transform: rotate(-1deg) scale(1.02); }
}
.bag-paylas { background: #15171A; color: var(--marker); }
.bag-paylas:hover { background: #15171A; color: var(--marker); box-shadow: 0 0 0 2px var(--marker), 0 6px 14px -6px rgba(0,0,0,.8); }

/* Dosya kartlarındaki damgalar (YAKINDA, ÜCRETSİZ, SENDE, EĞİTİM): koyu fotoğraf üstünde kaybolmasın diye
   karışım modu yerine kâğıt zeminli, opak mürekkep. Renk ve eğik damga görünümü aynı kalır. */
.tfolder .stamp-r, .case-cover .stamp-r { mix-blend-mode: normal; opacity: 1; background: rgba(241,236,224,.94); box-shadow: 0 3px 10px rgba(0,0,0,.45); font-weight: 700; }
.tfolder .stamp-r.gri, .case-cover .stamp-r.gri { color: #2E3238; border-color: #2E3238; }

/* Ses oynatıcı: dar ekranda dalga daralır, süre ("0:12 / 0:45") ekranın dışına taşmaz */
.player { grid-template-columns: auto minmax(0, 1fr) auto; }
.player > div { min-width: 0; }
.player .wave { overflow: hidden; }
@media (max-width: 360px) { .player .num { font-size: .78rem; } }

/* Masaüstü kenar boşluğu: telefon için yazılan 12px kenar kuralı masaüstünü de daraltıyordu (dosya sekme şeridi 1024px'te taşıyordu) */
@media (min-width: 960px) { main.view { padding-left: max(32px, env(safe-area-inset-left)); padding-right: max(32px, env(safe-area-inset-right)); } }

/* Geniş ekranlar: içerik 1200px'te kalıp yanlarda boşluk bırakmasın; ekran büyüdükçe alan da büyür */
@media (min-width: 1500px) { main.view { max-width: 1360px; } }
@media (min-width: 1800px) { main.view { max-width: 1480px; } .grid-bags { grid-template-columns: repeat(4, 1fr); } }
/* Geniş ekranda delil kâğıdı satırları çok uzamasın: liste sütunu biraz genişler, kâğıt en çok 960px olur, yazı biraz büyür */
@media (min-width: 1500px) { .ev-split { grid-template-columns: 360px minmax(0, 1fr); } .ev-split .doc { max-width: 960px; font-size: 1.04rem; } }

/* Ekip üyesi satırı: dar alanda düğmeler (Arkadaş ekle, Profil, Çıkar) adın altına iner; ad ve "Çaylak, masada" sıkışıp harf harf kırılmaz */
.ekip-uyeler ul { container-type: inline-size; }
.ekip-uyeler li { grid-template-columns: auto minmax(0, 1fr) auto; }
.ekip-uyeler li .kim .small { overflow-wrap: normal; word-break: normal; }
@container (max-width: 620px) {
  .ekip-uyeler li .sy-uye-eylem { grid-column: 1 / -1; margin-left: 0; justify-content: flex-start; }
  .ekip-uyeler li .sy-uye-eylem .btn { flex: 1 1 auto; justify-content: center; min-height: 40px; }
}
@supports not (container-type: inline-size) {
  @media (max-width: 700px) { .ekip-uyeler li .sy-uye-eylem { grid-column: 1 / -1; margin-left: 0; } }
}

/* Ekip telsizi yazı kutusu: boşken kaydırma çubuğu görünmez, ipucu tek satır; yazı uzayınca kutu büyür, en üst sınırda kaydırılır */
.tl-yaz textarea { overflow-y: hidden; scrollbar-width: thin; }
.tl-yaz textarea::placeholder { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Kimlik kartı: "Sicil no DS-33757" numaranın ortasından kırılmaz */
.idcard .band span { white-space: nowrap; }

/* Paylaşım ön izlemesi: kutu ekran yüksekliğine sığmayınca genişlik de oranla küçülür; kartın altı kesilmez */
.pay-on { width: min(100%, 280px, calc(min(46vh, 500px) * 9 / 16)); }
.pay-on[data-bicim="kare"] { width: min(100%, 280px, min(46vh, 500px)); }
.pay-on img { width: 100%; height: 100%; object-fit: contain; }

/* Alt menü: üye olmayanlarda Sohbet sekmesi yok; sekme sayısı kadar sütun */
.bottomnav { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }

/* Onay kutuları (kullanım şartları, KVKK): okunmadan giriş/kayıt düğmeleri kapalı görünür */
.onay-kutulari { display: grid; gap: 8px; margin-top: 14px; }
.onay-kutu { align-items: flex-start; font-size: .92rem; line-height: 1.4; }
.onay-kutu input { flex: none; width: 22px; height: 22px; margin-top: 1px; accent-color: var(--marker); }
.onay-not { margin: 0; opacity: .8; }
.onay-bekliyor { opacity: .45; cursor: not-allowed; filter: grayscale(.4); }
.btn.onay-bekliyor:hover { transform: none; }
/* Okuyucunun alt çubuğu: metnin sonuna gelince "Okudum, kabul ediyorum" açılır */
.yasal-okuyucu.onayli { grid-template-rows: auto 1fr auto; }
.yasal-onay { display: grid; gap: 8px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: inherit; }
.yasal-onay p { margin: 0; display: flex; gap: 6px; align-items: center; }
.yasal-onay .btn:disabled { opacity: .5; cursor: not-allowed; }
.yasal-okuyucu.onayli .yasal-govde { padding-bottom: 20px; }

/* Menü sekmeleri (üstte ve alttaki çubuk): seçili olmayan sekmede koyu yazı koyu renk üstünde okunmuyordu (kontrast 1,8-3,2).
   Seçili olmayan: koyulaştırılmış renk + açık kâğıt yazı. Üzerine gelince ve seçiliyken: parlak renk + koyu yazı. */
.ftab:not([aria-current="page"]), .bottomnav a:not([aria-current="page"]) { background: color-mix(in srgb, var(--c) 40%, #15171A); color: #F1ECE0; }
.ftab:not([aria-current="page"]) i, .bottomnav a:not([aria-current="page"]) i { color: #F1ECE0; }
@media (hover: hover) { .ftab:not([aria-current="page"]):hover { background: color-mix(in srgb, var(--c) 85%, #15171A); color: #15171A; } .ftab:not([aria-current="page"]):hover i { color: #15171A; } }
.yasal-govde .upd, .yasal-govde .note { color: #A39D90; }
.form-sheet .fhead span { white-space: nowrap; }

/* --- Kontrast düzeltmeleri (WCAG AA: yazı 4,5:1) --- */
/* Koyu zemindeki soluk gri yazılar biraz açılır (4,4 -> 5,2) */
:root { --ink-3: #958F83; }
/* Kâğıt zemindeki gri yazılar koyulaşır: telsiz ve özel mesaj saatleri, sayaç, not (3,2-3,8 -> 4,6+) */
.tl-sis time, .tl-msg time, .tl-bildir, .tl-say, .tl-not, .sy-ilk, .sy-msg-alt, .sy-yaz-not { color: #5F5A50; }
/* Seçili delilin alt yazısı sarı zemin üstünde; kimlik kartı etiketleri */
.ev-item[aria-current="true"] .s { color: #3A3D42; }
.idcard .f .k { color: #4E525A; }
/* Kırmızı sekme (Kimliğim) seçiliyken koyu yazı yetmiyor (3,8): beyaz yazı */
.ftab[href="#/profil"][aria-current="page"], .bottomnav a[href="#/profil"][aria-current="page"],
.ftab[href="#/profil"][aria-current="page"] i, .bottomnav a[href="#/profil"][aria-current="page"] i { color: #FFFFFF; }
/* Özel odalar sayfası: oda sekmeleri koyu masa üstünde değil kâğıt şerit üstünde durur */
.od-bas-sayfa { background: #F1ECE0; border-radius: 12px; padding: 8px 10px; }

/* Puan paketleri: tek dil (hepsi "+N puan"), dökümler aynı yerde; 5 paket satıra düzgün dizilir */
.pack { grid-template-rows: repeat(5, auto) 1fr auto; }
.pack .pprice { align-self: end; }
.pack .pdokum { display: flex; flex-direction: column; align-items: center; gap: 4px; margin-top: 4px; min-height: 64px; }
.pack .pchip { display: inline-block; font-size: .76rem; line-height: 1.3; text-align: center; font-weight: 700; padding: 3px 9px; border-radius: 10px; background: rgba(242,194,48,.16); color: #F7DE8A; border: 1px solid rgba(242,194,48,.45); }
.pack .pchip.ilk { background: var(--marker); color: #15171A; border-color: var(--marker); }
.pack .pkurus { color: var(--ink-2); }
.packs { grid-template-columns: 1fr 1fr; }
.packs > .pack:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 700px) { .packs { grid-template-columns: repeat(3, 1fr); } .packs > .pack:last-child:nth-child(odd) { grid-column: auto; } }
@media (min-width: 1440px) { .packs { grid-template-columns: repeat(5, 1fr); } .pack .pchip { white-space: nowrap; } }
.receipt .ln.disc, .receipt .ln.disc span { color: #15654A; }

/* iyzico resmi logo bandı (beyaz sürüm, koyu zemin): telefonda ekrana sığar */
.paybar .paybant { display: block; height: 32px; width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 480px) { .paybar .paybant { height: auto; width: 100%; max-width: 380px; } }
