/* Murder OX — murderox.com
   Uygulamanın krem/kırmızı paletiyle aynı, ama okunabilir uzun metin için
   ayarlanmış. Tek dosya, dış bağımlılık yok. */

:root{
  --ink:#FBFAF7; --paper:#fff; --paper2:#F3F1EB; --line:#E2DDD1;
  --text:#1B1A17; --dim:#6B675E; --blood:#B23A30; --green:#2F7A55;
  --max:44rem;
  /* Site her yerde açık temada kalsın: telefonun koyu modu paleti değiştirmesin */
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif}
img{max-width:100%;height:auto}
a{color:var(--blood)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}

/* ---- başlık ---- */
header.site{border-bottom:1px solid var(--line);background:var(--paper)}
header.site .wrap{display:flex;align-items:center;gap:14px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:800;
  font-size:21px;letter-spacing:.2px}
.logo img{width:34px;height:34px;border-radius:22%}
.logo span{color:var(--blood)}
nav.site{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap;font-size:15px}
nav.site a{color:var(--dim);text-decoration:none}
nav.site a:hover,nav.site a[aria-current]{color:var(--text)}

/* ---- dava başlığı ---- */
.case-head{padding:26px 0 6px}
.case-head .no{font:13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:2px;
  color:var(--dim);text-transform:uppercase}
h1{font-size:clamp(27px,6vw,38px);line-height:1.15;margin:.35em 0 .3em;letter-spacing:-.4px}
.scene{font-size:19px;color:var(--dim);margin:0 0 4px}
.scene b{color:var(--text)}
.fact{border-left:3px solid var(--blood);padding:6px 0 6px 14px;margin:16px 0;font-size:18px}
.intro{color:var(--dim);font-size:16px}

h2{font-size:22px;margin:2.2em 0 .6em;letter-spacing:-.2px}
h3{font-size:18px;margin:1.8em 0 .4em}

/* ---- deliller ---- */
ol.clues{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
ol.clues li{display:flex;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}
ol.clues .n{flex:0 0 26px;height:26px;border:1px solid var(--line);border-radius:7px;
  display:grid;place-items:center;font:12px/1 ui-monospace,Menlo,monospace;color:var(--dim)}

/* ---- ızgara ---- */
#mox-grid{overflow-x:auto;margin:14px 0 6px;-webkit-overflow-scrolling:touch}
table.mox-t{border-collapse:separate;border-spacing:3px;margin:0 auto}
table.mox-t th,table.mox-t td{width:34px;height:34px;text-align:center;padding:0}
table.mox-t th span{font-size:19px;line-height:1}
table.mox-t td.c{background:var(--paper);border:1px solid var(--line);border-radius:7px;
  cursor:pointer;font-size:17px;user-select:none;color:var(--dim)}
table.mox-t td.c:hover{border-color:var(--blood)}
table.mox-t td.dead{background:transparent}
table.mox-t .sep{margin-left:6px}
table.mox-t th.ch.sep,table.mox-t td.c.sep{box-shadow:-6px 0 0 var(--ink)}

.hint{color:var(--dim);font-size:14px;margin:2px 0 0}

/* ---- suçlama ---- */
.accuse-box{margin:26px 0;padding:18px;background:var(--paper);border:1px solid var(--line);
  border-radius:14px}
.accuse-box .grp{margin-bottom:14px}
.accuse-box h4{margin:0 0 8px;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim)}
.accuse-box .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.accuse-box button{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;
  border:1px solid var(--line);background:var(--paper2);color:var(--text);font-size:15px;
  cursor:pointer;text-align:left}
.accuse-box button.on{border-color:var(--blood);background:color-mix(in srgb,var(--blood) 12%,transparent)}
.accuse-box .e{font-size:18px}
button.go{width:100%;padding:14px;border:0;border-radius:11px;background:var(--blood);color:#fff;
  font-size:17px;font-weight:700;cursor:pointer}
button.go:disabled{opacity:.4;cursor:default}

.mox-verdict{display:none;margin:18px 0;padding:16px;border-radius:12px;font-size:17px}
.mox-verdict.win{background:color-mix(in srgb,var(--green) 14%,transparent);
  border:1px solid var(--green)}
.mox-verdict.lose{background:color-mix(in srgb,var(--blood) 12%,transparent);
  border:1px solid var(--blood)}
.mox-verdict p{margin:0 0 8px}
.mox-verdict .t{color:var(--dim);font-size:15px}
.mox-verdict button{margin-top:6px;padding:10px 16px;border:1px solid var(--green);
  border-radius:9px;background:transparent;color:inherit;font-size:15px;cursor:pointer}

/* ---- anahtar tablosu ---- */
table.key{width:100%;border-collapse:collapse;font-size:16px}
table.key th{text-align:left;font-size:13px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--dim);padding:14px 0 6px;border-bottom:1px solid var(--line)}
table.key td{padding:8px 0;border-bottom:1px solid var(--line)}
table.key td.e{width:34px;font-size:19px}

/* ---- uygulama kutusu ---- */
.appbox{display:flex;gap:18px;align-items:flex-start;margin:30px 0 34px;padding:22px;
  border-radius:18px;background:linear-gradient(180deg,#FFF9EC 0%,#FFF4DD 100%);
  border:1px solid #F0DCAE;box-shadow:0 2px 10px rgba(150,110,20,.07)}
.appbox .ab-ico{width:72px;height:72px;border-radius:17px;flex:0 0 auto;
  box-shadow:0 2px 8px rgba(0,0,0,.18)}
.appbox .ab-txt{min-width:0}
.appbox h2{margin:0 0 6px;font-size:20px;line-height:1.25}
.appbox p{margin:0 0 12px;color:var(--dim)}
.appbox .ab-lead{margin:0 0 8px;color:#8A5A08;font-weight:700}
.appbox .ab-btn{display:inline-block;padding:13px 24px;border-radius:12px;
  background:linear-gradient(180deg,#FBB43C 0%,#F0900E 100%);
  color:#2A1B00;text-decoration:none;font-weight:700;letter-spacing:.2px;
  box-shadow:0 2px 6px rgba(200,130,10,.35)}
.appbox .ab-btn:active{transform:translateY(1px)}
.appbox .ab-find{margin:12px 0 0;font-size:13.5px;color:#8B8271}
@media(max-width:520px){
  .appbox{flex-direction:column;align-items:center;text-align:center;gap:14px}
  .appbox .ab-btn{width:100%}
}

/* ---- iOS üst şeridi ---- */
.mox-bnr{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;
  gap:11px;padding:9px 12px;padding-top:calc(9px + env(safe-area-inset-top));
  background:#FFFDF8;border-bottom:1px solid #E9E1CE;box-shadow:0 1px 6px rgba(0,0,0,.07)}
.mox-bnr .bnr-x{border:0;background:none;color:#9A9284;font-size:15px;line-height:1;
  padding:4px 2px;cursor:pointer}
.mox-bnr .bnr-ico{width:52px;height:52px;border-radius:12px;flex:0 0 auto}
.mox-bnr .bnr-t{flex:1 1 auto;min-width:0;line-height:1.25}
.mox-bnr .bnr-t b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.mox-bnr .bnr-t span{display:block;font-size:12px;color:var(--dim)}
.mox-bnr .bnr-t i{display:block;font-size:11px;color:#9A9284;font-style:normal}
.mox-bnr .bnr-b{flex:0 0 auto;padding:8px 17px;border-radius:20px;
  background:linear-gradient(180deg,#FBB43C 0%,#F0900E 100%);
  color:#2A1B00;text-decoration:none;font-weight:700;font-size:14px}
body.bnr-on{padding-top:78px}

/* ---- SSS ---- */
details.faq{border-bottom:1px solid var(--line);padding:14px 0}
details.faq summary{cursor:pointer;font-weight:600;list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::before{content:"+ ";color:var(--blood)}
details.faq[open] summary::before{content:"− "}
details.faq p{margin:10px 0 0;color:var(--dim)}

/* ---- alt bilgi ---- */
footer.site{margin-top:56px;padding:26px 0 46px;border-top:1px solid var(--line);
  background:var(--paper);color:var(--dim);font-size:15px}
footer.site nav{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px}
footer.site a{color:var(--dim)}
.langs{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:14px}
.langs a[aria-current]{color:var(--text);font-weight:600}

@media (max-width:520px){
  body{font-size:16px}
  table.mox-t th,table.mox-t td{width:30px;height:30px}
  nav.site{gap:12px;font-size:14px;width:100%;margin-left:0}
}

/* ================= geniş düzen ve oynanış alanı ================= */
.wrap.wide{max-width:1180px}

/* Masaüstü: ızgara solda, deliller sağda — okuyup hemen işaretleyebilmek için */
.play{display:block}
.cluecol h2,.board h2{margin-top:0}

@media (min-width:900px){
  .play{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:38px;align-items:start;
        margin-top:26px}
  .cluecol{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;
           padding-right:4px}
  .case-head{max-width:70ch}
  .intro,.appbox p,.sharebox p{max-width:70ch}
}
@media (min-width:1180px){
  .play{grid-template-columns:minmax(0,1fr) 400px}
}

/* Izgara geniş ekranda büyür, dokunma hedefleri rahat olur */
@media (min-width:900px){
  table.mox-t th,table.mox-t td{width:42px;height:42px}
  table.mox-t td.c{font-size:20px}
}

/* ================= mobil: sekmeler ================= */
.tabs{display:none;gap:6px;margin:18px 0 4px;background:var(--paper2);padding:5px;
      border-radius:12px;border:1px solid var(--line)}
.tabs button{flex:1;padding:11px 8px;border:0;border-radius:9px;background:transparent;
      color:var(--dim);font:600 14px/1 inherit;letter-spacing:1px;text-transform:uppercase;
      cursor:pointer}
.tabs button.on{background:var(--paper);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.tabs .pip{display:inline-block;min-width:20px;padding:2px 6px;margin-left:6px;border-radius:10px;
      background:var(--blood);color:#fff;font-size:11px;vertical-align:1px}

/* Sekmeler kaldırıldı: mobilde de ızgara · deliller · anahtar alt alta görünür */
.tabs{display:none!important}

@media (max-width:899px){
  .cluecol{margin-top:18px}
  #mox-grid{margin-top:10px}
}

/* ================= dil seçici ================= */
.langpick{position:relative;margin-left:14px}
.langpick summary{list-style:none;cursor:pointer;padding:6px 12px;border:1px solid var(--line);
  border-radius:9px;font-size:14px;color:var(--dim);background:var(--paper2);white-space:nowrap}
.langpick summary::-webkit-details-marker{display:none}
.langpick summary::after{content:" ▾"}
.langpick[open] summary{color:var(--text);border-color:var(--blood)}
.langpick ul{position:absolute;right:0;top:calc(100% + 6px);z-index:20;margin:0;padding:6px;
  list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:11px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);min-width:150px}
.langpick li a{display:block;padding:8px 12px;border-radius:8px;text-decoration:none;
  color:var(--text);font-size:15px}
.langpick li a:hover{background:var(--paper2)}
.langpick li a[aria-current]{color:var(--blood);font-weight:600}

/* ================= paylaşım ================= */
.sharebox{margin:34px 0;padding:22px;border-radius:16px;background:var(--paper2);
  border:1px solid var(--line)}
.sharebox h2{margin:0 0 6px;font-size:20px}
.sharebox p{margin:0 0 14px;color:var(--dim)}
.sharebtns{display:flex;flex-wrap:wrap;gap:10px}
.sb{display:inline-block;padding:11px 18px;border-radius:10px;text-decoration:none;
  font-size:15px;font-weight:600;border:1px solid var(--line);background:var(--paper);
  color:var(--text);cursor:pointer}
.sb:hover{border-color:var(--blood)}
.sb.wa{color:#128C7E} .sb.tg{color:#2AABEE} .sb.fb{color:#4267B2}
.sb.copy{font-family:inherit}

@media (max-width:520px){
  .sharebtns{gap:8px}
  .sb{flex:1 1 auto;text-align:center;padding:11px 12px}
  .accuse-box{padding:14px}
  .accuse-box .opts{grid-template-columns:1fr 1fr}
}

/* ================= işaret modu düğmeleri ================= */
.modes{display:flex;gap:8px;margin:6px 0 10px}
.modes button{width:52px;height:44px;border-radius:11px;border:1px solid var(--line);
  background:var(--paper);color:var(--dim);font-size:20px;cursor:pointer;line-height:1}
.modes button.on{border-color:var(--blood);color:var(--text);
  background:color-mix(in srgb,var(--blood) 10%,transparent);font-weight:700}
.modes .modesep{flex:0 0 10px}
.modes .tool{width:52px;height:44px;border-radius:11px;border:1px solid var(--line);
  background:var(--paper);color:var(--dim);font-size:19px;cursor:pointer;line-height:1}
.modes .tool:hover{border-color:var(--blood);color:var(--text)}
.modes button.yes.on{border-color:var(--green);
  background:color-mix(in srgb,var(--green) 12%,transparent)}

/* ================= 3 adımlık özet ================= */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 6px}
.steps li{list-style:none;background:var(--paper);border:1px solid var(--line);
  border-radius:13px;padding:14px 16px}
.steps b{display:block;font-size:13px;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--blood);margin-bottom:5px}
.steps span{color:var(--dim);font-size:15px;line-height:1.5}
.steps + .more{font-size:15px}
@media (max-width:760px){ .steps{grid-template-columns:1fr;gap:10px} }

/* ================= üstteki "nasıl çalışıyor" şeridi ================= */
.howstrip{margin:22px 0 4px;padding:16px 18px;background:var(--paper2);
  border:1px solid var(--line);border-radius:16px}
.howstrip .howcap{margin:0 0 10px;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--dim)}
.howstrip .steps{margin:0}
.howstrip .steps li{background:var(--paper)}
.howstrip .more{margin:12px 0 0}

/* ================= üç sütun: ızgara · deliller · anahtar ================= */
@media (min-width:900px){
  .play{grid-template-columns:minmax(0,1fr) 320px}
  .keycol{grid-column:1 / -1;margin-top:22px}
  .keycol table.key{font-size:15px}
}
/* Geniş ekranda üçü yan yana sığar: anahtar sağ sütunun altına değil, üçüncü sütuna */
@media (min-width:1240px){
  .play{grid-template-columns:minmax(0,1fr) 310px 250px;gap:30px}
  .keycol{grid-column:auto;margin-top:0;position:sticky;top:18px;
          max-height:calc(100dvh - 36px);overflow:auto}
  .keycol table.key th{padding-top:10px}
  .keycol table.key td{padding:6px 0;font-size:14px}
  .keycol table.key td.e{width:26px;font-size:17px}
}

@media (max-width:899px){
  .keycol{margin-top:22px}
}

/* suçlama kutusu artık sayfanın sonunda, tam genişlik */
#accuse{margin-top:34px}
@media (min-width:900px){ #accuse .opts{grid-template-columns:repeat(4,1fr)} }

/* sütun sırası: ızgara · deliller · anahtar (DOM sırası farklı) */
@media (min-width:900px){ .cluecol{order:2} .keycol{order:3} .board{order:1} }

/* ipucu: gösterilen kare ve delil */
td.c.tip{box-shadow:inset 0 0 0 2px #a07d33}
.clues li.flag{background:rgba(160,125,51,.14);border-radius:7px}
#mox-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(14px);
  max-width:min(92vw,420px);background:#171c22;color:#f6f3ec;padding:11px 15px;border-radius:11px;
  font-size:14px;line-height:1.4;box-shadow:0 8px 26px rgba(0,0,0,.28);opacity:0;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;z-index:80}
#mox-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
