/* vitrin motoru stili — üç vitrinin ortak görünümü (2026-10-15, "tek motor"; UI/UX+mobil yeniden düzen aynı gün).
   Düzen: #kart flex-column → #gilerle (2px ilerleme) + #tutamac + #kgovde (kayar) + #alt (SABİT kontrol çubuğu).
   Kırılımlar: masaüstü ≥1366 / 861-1365 (dar kademe) / ≤860 (ray gizli) / ≤640 (tam ekran harita + üç durumlu
   alt sayfa s0 göz atma · s1 yarım · s2 tam) / dokunmatik yatay (max-height:500px and pointer:coarse).
   Sayfaya özgü kurallar (analiz: #adimsec, ray gizleme) sayfa kabuğundaki <style>'da kalır.
   Önbellek: sayfalar bu dosyayı ?v=<md5:8> ile yükler (tools/vitrin_sayfa.py yazar). */
:root{--ink:#070b10;--kart:rgba(8,13,19,.92);--cizgi:#ffffff1c;--tx:#eef3f7;--mut:#93a3b3;--soluk:#8b9dae;
  --acc:#38bdf8;--amber:#ffc861;--rad:16px}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--tx);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
#harita{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
#ortu{position:absolute;inset:0;pointer-events:none;z-index:5}
#ortu>*{pointer-events:auto}
/* erişim: atlama bağlantısı + görünür odak + yalnız ekran okuyucu satırı */
#atla{position:absolute;left:-999px;top:10px;z-index:99;background:var(--acc);color:#04141f;font-weight:700;
  text-decoration:none;border-radius:8px;padding:8px 14px}
#atla:focus{left:10px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* üst şerit */
#ust{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));left:16px;display:flex;align-items:center;gap:10px;z-index:7;
  background:var(--kart);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--cizgi);border-radius:40px;padding:6px 8px 6px 14px;font-size:12.5px}
#ust b{letter-spacing:.06em;text-transform:uppercase;font-size:11px;color:var(--acc)}
#ust span{color:var(--mut)}
#ust a{color:var(--tx);text-decoration:none;background:#ffffff12;border-radius:30px;padding:5px 11px}
#ust a:hover{background:#ffffff22}
/* sağ ray: özellik dizini (örnek noktaları <u> içinde — rayda bölüm ilerlemesi) */
#ray{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:214px;display:flex;flex-direction:column;gap:1px;max-height:calc(100% - 24px);overflow-y:auto;
  background:var(--kart);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--cizgi);border-radius:var(--rad);padding:8px 6px;scrollbar-width:none}
#ray button{display:flex;align-items:baseline;gap:9px;text-align:left;background:none;border:0;color:var(--soluk);cursor:pointer;
  padding:3px 10px;border-radius:9px;font:inherit;font-size:12px;line-height:1.35;transition:color .2s,background .2s}
#ray button i{font-style:normal;font-variant-numeric:tabular-nums;font-size:10.5px;width:18px;flex:0 0 auto;opacity:.8}
#ray button span{flex:1;min-width:0}
#ray button u{display:flex;gap:2.5px;align-items:center;flex:0 0 auto;text-decoration:none;align-self:center}
#ray button u b{width:4px;height:4px;border-radius:50%;background:#ffffff2e}
#ray button u b.t{background:var(--amber)}
#ray button:hover{color:var(--tx)}
#ray button.on{color:#fff;background:#ffffff12;box-shadow:inset 3px 0 0 var(--acc);font-weight:600}
#ray button.on i{color:var(--acc)}
/* sol kart: flex column — gövde kayar, #alt sabit */
#kart{position:absolute;left:16px;top:calc(64px + env(safe-area-inset-top,0px));width:min(420px,calc(100vw - 32px));max-height:calc(100% - 80px);
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--kart);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--cizgi);border-radius:var(--rad);
  padding:0;transition:opacity .25s,transform .25s}
#kart.gizli{opacity:0;transform:translateX(-14px);pointer-events:none}
#gilerle{flex:0 0 2px;height:2px;width:0;background:var(--amber);border-radius:0 2px 2px 0;transition:width .5s ease;align-self:flex-start}
#tutamac{display:none;flex:0 0 auto;padding:7px 0 3px;touch-action:none;cursor:grab}
#tutamac::before{content:'';display:block;width:44px;height:4px;border-radius:2px;background:#ffffff38;margin:0 auto}
#kgovde{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 22px 12px;scrollbar-width:thin;overscroll-behavior:contain}
.ust-satir{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:11px;letter-spacing:.09em;text-transform:uppercase;flex-wrap:nowrap}
.ust-satir .no{font-variant-numeric:tabular-nums;color:var(--acc);font-weight:700;letter-spacing:.04em;white-space:nowrap}
#fgrup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
.ust-satir .cz{flex:1;height:1px;background:var(--cizgi);min-width:8px}
/* özellik chip şeridi (ray'ın dar-ekran karşılığı; başlığa dokununca açılır) */
#chips{display:none;gap:6px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#chips.acik{display:flex}
#chips button{flex:0 0 auto;background:#ffffff10;border:1px solid var(--cizgi);color:var(--mut);border-radius:20px;
  padding:7px 12px;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
#chips button.on{color:#04141f;background:var(--acc);border-color:var(--acc);font-weight:650}
#fbas{margin:8px 0 6px;font-size:27px;line-height:1.15;letter-spacing:-.01em;text-wrap:balance;font-weight:750}
#fmetin{margin:0;color:#c9d5df;font-size:14.5px;max-width:62ch}
#fkay{margin-top:7px;font-size:11.5px;color:var(--soluk)}
#ornek{margin-top:16px;padding-top:14px;border-top:1px solid var(--cizgi)}
.onav{display:flex;align-items:center;gap:8px}
.onav .etk{flex:1;min-width:0}
.onav .etk small{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--amber);font-variant-numeric:tabular-nums}
.onav .etk b{display:block;font-size:17px;line-height:1.3;margin-top:1px}
.tus{flex:0 0 auto;width:36px;height:36px;border-radius:10px;border:1px solid var(--cizgi);background:#ffffff0d;color:var(--tx);font-size:17px;cursor:pointer;display:grid;place-items:center;padding:0}
.tus:hover{background:#ffffff1f;border-color:#ffffff40}
.tus:disabled{opacity:.3;cursor:default}
#ometin{margin:8px 0 0;font-size:14px;color:#dfe8ef;max-width:62ch}
#noktalar{display:flex;gap:5px;margin-top:11px}
#noktalar button{flex:1;height:4px;border:0;border-radius:2px;background:#ffffff26;cursor:pointer;padding:0;position:relative;overflow:hidden}
#noktalar button.on{background:#ffffff40}
#noktalar button.on::after{content:'';position:absolute;inset:0;background:var(--amber);transform-origin:left;transform:scaleX(var(--ilerle,1))}
#lej{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
#lej:empty{display:none}
#lej span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#cfdbe5;background:#ffffff0c;border:1px solid var(--cizgi);border-radius:20px;padding:3px 9px 3px 7px}
#lej i{width:9px;height:9px;border-radius:2px;flex:0 0 auto;border:1px solid #fff3}
#ipucu{margin-top:9px;font-size:12.5px;color:var(--amber)}
#ipucu:empty{display:none}
/* künye: 2 satır özet (kapsam çubuğu + güven rozeti) + katlanır ayrıntı (<details>) */
#kunye{margin:12px 0 0;font-size:12.5px;line-height:1.45}
#kunye:empty{display:none}
.kozet .ket{color:var(--soluk);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;margin-right:6px}
.kozet b{color:#fff;font-weight:650}
.kozet .guv{display:inline-block;margin-left:8px;font-size:10.5px;color:var(--acc);border:1px solid #38bdf84d;border-radius:20px;padding:1px 8px;vertical-align:1px;white-space:nowrap}
.kap{display:flex;align-items:center;gap:8px;margin-top:5px}
.kap .cubuk{flex:1;height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}
.kap .cubuk i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),#2dd4bf);border-radius:3px}
.kap small{font-variant-numeric:tabular-nums;color:var(--acc);font-size:11.5px;white-space:nowrap}
.kdetay{margin-top:7px}
.kdetay .kliste{margin:0;padding-left:15px;display:grid;gap:4px}
.kdetay .kliste li{line-height:1.42}
.kdetay summary{cursor:pointer;color:var(--soluk);font-size:11.5px;list-style:none;display:inline-flex;align-items:center;gap:5px;min-height:24px}
.kdetay summary::-webkit-details-marker{display:none}
.kdetay summary::before{content:'▸';font-size:10px;transition:transform .15s}
.kdetay[open] summary::before{transform:rotate(90deg)}
.kdetay summary:hover{color:var(--tx)}
.kdetay dl{margin:7px 0 0;display:grid;grid-template-columns:92px 1fr;gap:6px 12px}
.kdetay dt{color:var(--soluk);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.kdetay dd{margin:0;color:#d6e1ea}
/* SABİT kontrol çubuğu: kaydırma dışında, her kırılımda görünür */
#alt{flex:0 0 auto;display:flex;align-items:center;gap:10px;margin:0;border-top:1px solid var(--cizgi);background:#ffffff06;
  padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));font-size:11px;color:var(--soluk)}
#konum{flex:1;font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
#ac{color:var(--acc);text-decoration:none;white-space:nowrap}
#ac:hover{text-decoration:underline}
#tuslar{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:12px;font-size:11px;color:var(--soluk)}
kbd{font:600 10.5px/1 ui-monospace,Menlo,monospace;color:var(--tx);background:#ffffff14;border:1px solid #ffffff2a;border-bottom-width:2px;border-radius:5px;padding:2px 5px;margin-right:3px}
#fdug{display:none;gap:6px}
#oto.on{background:#ffc86126;border-color:var(--amber);color:var(--amber)}
/* tek seferlik jest rozeti ("‹ kaydır") */
#jest{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:3;
  background:#0b1420ee;border:1px solid var(--amber);color:var(--amber);border-radius:20px;padding:7px 13px;font-size:12px;
  pointer-events:none;white-space:nowrap;animation:jests .5s ease-out}
@keyframes jests{from{opacity:0;transform:translateX(-50%) translateY(6px)}}
/* sesli anlatım (tools/vitrin_ses.py): ses düğmesi + hız */
#sesbtn.kapali{opacity:.55}
#sesbtn.bekle{width:auto;padding:0 10px;font-size:12px;background:#ffc86126;border-color:var(--amber);color:var(--amber);animation:nabiz 1.6s ease-in-out infinite}
@keyframes nabiz{50%{box-shadow:0 0 0 5px #ffc86122}}
#hiz{height:36px;border-radius:10px;border:1px solid var(--cizgi);background:#ffffff0d;color:var(--tx);font:inherit;font-size:12px;padding:0 6px;cursor:pointer;color-scheme:dark}
/* TR/EN altyazı dili düğmesi (oynatici.js #alt'a ekler; yalnız 'en' taşıyan vitrinde görünür) */
#dilbtn{font-size:11.5px;font-weight:700;letter-spacing:.03em}
#dilbtn[aria-pressed="true"]{background:#38bdf826;border-color:var(--acc);color:var(--acc)}
#dilbtn[hidden]{display:none}
#anlatan{font-size:10.5px;color:var(--soluk);letter-spacing:.04em;margin-top:6px}#anlatan:empty{display:none}
/* serbest kip: kart kapalıyken geri getirme düğmesi */
#geri{position:absolute;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:none;background:var(--kart);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:var(--tx);border:1px solid var(--acc);border-radius:30px;padding:9px 15px;font:inherit;font-size:13px;cursor:pointer}
body.serbest #geri{display:block}
body.serbest #ray,body.serbest #ust{display:none}
/* yükleme kapağı: spinner + vitrin adı + "~N dk sesli tur" + tuş ipucu */
#yukle{position:absolute;inset:0;display:grid;place-items:center;background:var(--ink);z-index:9;color:var(--mut);font-size:14px;transition:opacity .4s}
#yukle.bitti{opacity:0;pointer-events:none}
#yukle>div{text-align:center;padding:0 24px}
#yukle b{display:block;color:var(--tx);font-size:20px;margin-bottom:4px}
#yukle .spin{display:block;width:26px;height:26px;margin:0 auto 14px;border-radius:50%;border:3px solid #ffffff22;border-top-color:var(--acc);animation:don 1s linear infinite}
@keyframes don{to{transform:rotate(360deg)}}
#yukle .yalt{display:block}
#yukle .ytus{display:block;margin-top:12px;font-size:11.5px;color:var(--soluk)}
/* story kipi (?story=1): noktalar üstte segment şeridi (motor.js #ortu'ya taşır), dokunuş katmanı */
#storytap{position:absolute;left:0;right:0;top:0;z-index:6}
body.story #noktalar{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:12px;right:12px;z-index:40;margin:0}
body.story #noktalar button{height:3px}
body.story #ust{top:calc(22px + env(safe-area-inset-top,0px))}
body.story #ray,body.story #tuslar{display:none}
/* dokunmatik: 44px hedefler, noktalara vuruş alanı, klavye ipuçları gizli */
@media (pointer:coarse){
  .tus{min-width:44px;min-height:44px}
  #hiz{height:44px;font-size:16px}
  #tuslar,#yukle .ytus{display:none}
  #noktalar{gap:0;margin-top:5px}
  #noktalar button{height:24px;background:none;overflow:visible}
  #noktalar button::before{content:'';position:absolute;left:2px;right:2px;top:10px;height:4px;border-radius:2px;background:#ffffff26}
  #noktalar button.on::before{background:#ffffff40}
  #noktalar button.on::after{inset:10px 2px auto;height:4px;border-radius:2px}
}
/* masaüstü dar kademe (1366 altı): kart 360px, ray 178px */
@media (min-width:861px) and (max-width:1365px){
  #kart{width:min(360px,calc(100vw - 32px))}
  #ray{width:178px}
  #ray button{font-size:11.5px;padding:3px 8px}
}
/* dar ekran: ray gizli, kartta ↑↓ düğmeleri */
@media (max-width:860px){#ray{display:none}#fdug{display:flex}}
/* mobil dikey (≤640px): tam ekran harita + üç durumlu alt sayfa (s0 göz atma · varsayılan yarım · s2 tam) */
@media (max-width:640px){
  #ust{left:10px;right:10px;justify-content:space-between}
  #ust span{display:none}
  #ust a:not(#serbestLink){display:none}
  #kart{left:0;right:0;top:auto;bottom:0;width:auto;max-height:none;height:52vh;height:min(52dvh,540px);
    border-radius:18px 18px 0 0;border-width:1px 0 0;transition:height .25s cubic-bezier(.3,.9,.3,1),opacity .25s,transform .25s}
  #kart.suruk{transition:opacity .25s,transform .25s}
  #kart.s0{height:auto}
  #kart.s0 #kgovde{overflow:hidden}
  #kart.s0 #fbas,#kart.s0 #fmetin,#kart.s0 #fkay,#kart.s0 #kunye,#kart.s0 #ometin,#kart.s0 #lej,#kart.s0 #ipucu,#kart.s0 #anlatan,#kart.s0 #tuslar{display:none}
  #kart.s0 #ornek{margin-top:4px;padding-top:4px;border-top:0}
  #kart.s2{height:calc(100vh - 58px);height:calc(100dvh - 58px - env(safe-area-inset-top,0px))}
  #tutamac{display:block}
  #kgovde{padding:2px 16px 10px}
  #alt{padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px))}
  #fbas{font-size:21px}#fmetin{font-size:13.5px}#ometin{font-size:13.5px}
  #ornek{margin-top:10px;padding-top:9px}
  #kunye{font-size:12px}
  .kdetay dl{grid-template-columns:78px 1fr}
}
/* dokunmatik yatay: kart sol kenarda tam boy panel, harita sağda */
@media (max-height:500px) and (pointer:coarse){
  #ray{display:none}
  #kart,#kart.s0,#kart.s2{left:0;right:auto;top:0;bottom:0;width:min(46vw,380px);max-height:none;height:auto;
    border-radius:0 var(--rad) var(--rad) 0;border-width:0 1px 0 0}
  #kart.s0 #fbas,#kart.s0 #fmetin,#kart.s0 #fkay,#kart.s0 #kunye,#kart.s0 #ometin,#kart.s0 #lej,#kart.s0 #ipucu,#kart.s0 #anlatan{display:block}
  #kart.s0 #kgovde{overflow-y:auto}
  #tutamac{display:none}
  #ust{left:calc(min(46vw,380px) + 10px);right:auto;top:calc(8px + env(safe-area-inset-top,0px))}
  #kgovde{padding:10px 16px 8px}
  #alt{padding:7px 14px calc(7px + env(safe-area-inset-bottom,0px))}
  #fbas{font-size:19px}
  #geri{left:10px;bottom:10px}
}
/* ── A2 (2026-10-15): otomatik oynatma + karaoke altyazı. Öğeleri oynatici.js #ortu'ya kendisi ekler:
   #altyazi (2 satırlık karaoke şeridi), #basla ("Turu başlat" katmanı), #kapanis (tur sonu kartı),
   .vcip (🔊 Sesi aç / ▶ Devam et çipleri). Mobil (≤640px) alt konumlarını oynatıcı yerles() yazar. */
#altyazi{position:absolute;left:50%;transform:translateX(-50%);bottom:24px;z-index:6;pointer-events:none;
  max-width:min(680px,calc(100vw - 48px));background:#05090ecc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid var(--cizgi);border-radius:12px;padding:7px 14px}
#altyazi p{position:relative;margin:0;font-size:15.5px;line-height:1.5;max-height:3em;overflow:hidden;text-align:center;color:#b9c7d3}
#altyazi span{border-radius:4px;padding:0 1px}
#altyazi span.gecti{color:#eef3f7}
#altyazi span.on{color:#fff;background:#ffc86133;box-shadow:0 0 0 2px #ffc86133}
body.serbest #altyazi{display:none}
.vcip{position:absolute;left:50%;transform:translateX(-50%);bottom:102px;z-index:7;border:1px solid var(--amber);
  background:#0b1420ee;color:var(--amber);border-radius:24px;padding:10px 16px;font:inherit;font-size:13.5px;
  cursor:pointer;white-space:nowrap;min-height:44px}
#sescip{animation:nabiz 1.6s ease-in-out infinite}
#basla,#kapanis{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#070b10b8;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bkart{background:var(--kart);border:1px solid var(--cizgi);border-radius:var(--rad);padding:26px 28px;text-align:center;
  max-width:min(400px,calc(100vw - 40px))}
.bkart b{display:block;font-size:21px;margin-bottom:5px}
.bkart p{margin:0 0 16px;color:var(--mut);font-size:13.5px}
.bkart button{display:block;width:100%;margin-top:10px;border-radius:12px;border:1px solid var(--cizgi);
  background:#ffffff10;color:var(--tx);font:inherit;font-size:15px;padding:12px 18px;cursor:pointer;min-height:48px}
.bkart button.birincil{background:var(--acc);border-color:var(--acc);color:#04141f;font-weight:700}
.bkart button:hover{filter:brightness(1.1)}
.bkart button small{display:block;font-size:11.5px;font-weight:500;opacity:.85;margin-top:2px}
#altyazi[hidden],.vcip[hidden],#basla[hidden],#kapanis[hidden]{display:none}
@media (max-width:640px){#altyazi p{font-size:14px}.vcip{bottom:auto}}
