/* POV-SÜRÜŞ (ISTEK 59): serbest sürüşte sürücü gözü. #pov yarış ekranında şehir tuvalinin hemen üstünde (z 1): pist tuvali
   + dyno kokpit katmanı (#dyno-kokpit, pov.js → dyno-ekran.js kokpitKatmani ile buraya taşınır). Başlık, ışıklar, tuşlar üstte. */
.pov{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#05080e}
.pov[hidden]{display:none}
.pov-pist{position:absolute;inset:0;width:100%;height:100%;display:block}
.pov-kokpit{position:absolute;inset:0}
.pov .kokpit.kokpit-harici{position:absolute;inset:0;height:auto;min-height:0;background:transparent}
/* Dyno'ya özgü kokpit yazıları POV'da yok (hız/devir/vites TFT'de). */
.kokpit-harici .kokpit-hud,.kokpit-harici .dyno-uyari{display:none}
/* Kokpit tonu/ufku hazır olmadan gri stüdyo zemini pistin önüne çıkmasın. */
.kokpit-harici:not([data-oda="gece"]):not([data-oda="gunduz"])>:is(img,canvas){visibility:hidden}
/* Yan görünüşün motor sprite'ları, kenar okları, plakalar, ara rozeti ve yan HUD gizli (kokpitsiz POV'da HUD görünür:
   surus-ekran.js KURAL2_CSS). YAN-KAPAT-1: POV / YAN ve KAMERA düğmeleri kalktı (kuralları da). */
#race.pov-acik #city,#race.pov-acik #racers,#race.pov-acik #race-edges,#race.pov-acik #race-plates,#race.pov-acik #race-gap,
#race.pov-acik #kp-hud{visibility:hidden}
#race.pov-acik .race-title,#race.pov-acik .race-bottom,#race.pov-acik .skip-button{z-index:3}
/* KONTROL-82 (ISTEK 82, V1b'nin yerini alır): SOL ◀ ▶ altta, VİTES ▲▼ üstte, içte TEKER/KORNA;
   SAĞ yalnız FREN + GAZ aynı yükseklikte. Hedefler ≥56 px; HUD ve ☰ sağ-üstte.
   Kimlik: altın #f3cc58, buz #e8f1ff, grafit. Gruplar display:contents; düğmeler kp-kontrol'e göre konumlu. */
/* Kenar payları güvenli alanı da kapsar (çentikli telefon: alt 21 px ev çubuğu 40 px payın içinde kalır → dikey bütçe sabit). */
#race.surus{--k73-sol:max(30px,calc(8px + env(safe-area-inset-left)));--k73-sag:max(30px,calc(8px + env(safe-area-inset-right)));--k73-alt:max(40px,calc(16px + env(safe-area-inset-bottom)));--k73-ust:max(14px,env(safe-area-inset-top))}
#race.surus .kp-kontrol .kp-sol,#race.surus .kp-kontrol .kp-sag,#race.surus .kp-serit{display:contents}
#race.surus .kp-kontrol .kp-tus{position:absolute;box-sizing:border-box;min-width:0;min-height:0;padding:0;gap:2px;margin:0;border-radius:16px;pointer-events:auto;
  background:rgba(28,31,38,.45);border:1.5px solid rgba(232,241,255,.5);color:#e8f1ff;font-size:13px;font-weight:800;letter-spacing:.06em;box-shadow:none;text-shadow:0 1px 3px #0009}
#race.surus .kp-kontrol .kp-tus small{margin-top:2px;color:rgba(232,241,255,.85);font-size:10px;font-weight:700;letter-spacing:.06em}
#race.surus .kp-kontrol .kp-tus.basili{background:rgba(243,204,88,.3);border-color:#f3cc58;color:#fff7d6;box-shadow:0 0 18px rgba(243,204,88,.45)}
#race.surus #kp-fren,#race.surus #kp-gaz{width:116px;height:84px;bottom:var(--k73-alt);font-size:16px}
#race.surus #kp-fren{right:calc(var(--k73-sag) + 128px);background:rgba(28,31,38,.5);border-color:#e8f1ff}
#race.surus #kp-gaz{right:var(--k73-sag);background:rgba(28,31,38,.65);border-color:#f3cc58;color:#fff7d6;font-size:18px}
#race.surus #kp-gaz small{color:inherit;opacity:.85}
#race.surus #kp-fren.basili{background:rgba(28,31,38,.65);border-color:#fff;color:#fff;box-shadow:0 0 18px rgba(232,241,255,.45)}
#race.surus #kp-gaz.basili{background:rgba(28,31,38,.65);border-color:#fff2bf;color:#fff7d6;text-shadow:none;box-shadow:0 0 22px rgba(243,204,88,.6)}
#race.surus .kp-ikon{width:40px;height:22px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#race.surus #kp-serit-sol,#race.surus #kp-serit-sag{width:64px;height:64px;bottom:var(--k73-alt);font-size:24px}
#race.surus #kp-serit-sol{left:var(--k73-sol)}#race.surus #kp-serit-sag{left:calc(var(--k73-sol) + 72px)}
#race.surus #kp-vites-ust,#race.surus #kp-vites-alt,#race.surus #kp-korna,#race.surus #kp-teker-tus{width:60px;height:60px;font-size:22px}
#race.surus #kp-vites-ust,#race.surus #kp-vites-alt{left:var(--k73-sol)}
#race.surus #kp-korna,#race.surus #kp-teker-tus{left:calc(var(--k73-sol) + 76px)}
#race.surus #kp-vites-ust,#race.surus #kp-teker-tus{bottom:calc(var(--k73-alt) + 138px)}
#race.surus #kp-vites-alt,#race.surus #kp-korna{bottom:calc(var(--k73-alt) + 72px)}
/* ISTEK 82: --kademe 0..1; yalnız dolgu yüksekliği 80 ms yumuşar. */
#race.surus :is(#kp-gaz,#kp-fren){--kademe:0;isolation:isolate;overflow:hidden}
#race.surus :is(#kp-gaz,#kp-fren)::before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:calc(var(--kademe) * 100%);background:#f3cc58;opacity:.65;transition:height 80ms linear;pointer-events:none}
#race.surus #kp-fren::before{background:#e8f1ff;opacity:.5}
#race.surus #kp-gaz .kp-kademe-yazi{font-size:12px;font-variant-numeric:tabular-nums}
/* ☰ menü: sağ-üst; panel ☰'nin solunda tek sıra (BİTİR ☰'ye bitişik ilk sıra), açıkken yarış başlığının yerini alır. */
#race.surus #kp-menu{top:var(--k73-ust);right:max(14px,env(safe-area-inset-right));width:56px;height:56px;font-size:26px}
#race.surus #kp-menu[aria-expanded="true"]{border-color:#f3cc58;color:#f3cc58}
#race.surus .kp-menu-panel{position:absolute;z-index:8;top:var(--k73-ust);right:calc(max(14px,env(safe-area-inset-right)) + 64px);display:flex;flex-direction:row-reverse;gap:8px;pointer-events:auto}
#race.surus .kp-menu-panel[hidden]{display:none}
#race.surus .kp-menu-panel .kp-ust{display:contents}
#race.surus .kp-menu-panel .kp-tus{position:static;min-width:56px;height:56px;padding:0 10px;background:rgba(28,31,38,.85);font-size:18px}
#race.surus .kp-menu-panel .kp-tus small{font-size:9px}
#race.surus .kp-menu-panel #kp-bitir{border-color:#f3cc58;color:#f3cc58;font-size:14px}
#race.surus .kp-menu-panel .kp-tus[hidden]{display:none}
#race.surus.kp-menu-acik .race-title{visibility:hidden}
#race.surus #race-back,#race.surus #race-skip,#race.surus ~ #sound{display:none}
body:has(#race.surus) #video-toggle{display:none}
/* Ses kaynağı etiketi (ses.js #ses-kaynak-etiket, body'de sabit): sürüşte ekranda yok; yalnız ☰ açıkken panelin altında,
   HUD yığınının solunda (sağ 144 px = yığın 122 + 14 + 8 pay) — düğmelere / HUD'a değmez (patron QC: GAZ / TEKER üstüne biniyordu). */
body:has(#race.surus) #ses-kaynak-etiket{top:calc(max(14px,env(safe-area-inset-top)) + 64px);right:calc(max(14px,env(safe-area-inset-right)) + 136px);bottom:auto;left:auto;z-index:8;visibility:hidden}
body:has(#race.surus.kp-menu-acik) #ses-kaynak-etiket{visibility:visible}
/* HUD yığını ☰ altında, sağdaki pedallardan ayrı. */
#race.surus .race-bottom{position:absolute;z-index:3;top:calc(var(--k73-ust) + 62px);right:max(14px,env(safe-area-inset-right));left:auto;bottom:auto;transform:none;display:block}
#race.surus #race-clock{position:static;display:flex;flex-direction:column;gap:4px;text-shadow:none}
#race.surus .kp-yigin-satir{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;width:122px;height:30px;padding:0 10px;border-radius:6px;
  background:rgba(28,31,38,.55);border-left:3px solid #f3cc58;color:#e8f1ff;font-size:17px;font-weight:800;letter-spacing:0;font-variant-numeric:tabular-nums}
#race.surus .kp-yigin-satir small{font-size:10px;font-weight:700;color:rgba(232,241,255,.8);letter-spacing:.04em}
/* Kokpitsiz POV: yan HUD altta ortada, VİTES ile KORNA sütunlarının arasına sığar (iç kenarlar 222 px + 8 px pay). */
#race.surus.pov-kokpitsiz #kp-hud{box-sizing:border-box;width:min(560px,calc(100% - 580px))}
/* Dar yatay (≤ 760 px, ör. 667×375): yan HUD'un hız kutusu sığmıyor (TEKER'in altına taşıyordu) → gizli; gösterge hızı sağ-üst yığında. */
@media (max-width:760px){#race.surus.pov-kokpitsiz .kp-hiz{display:none}}
/* CILA-1: uzun ad başlık kutusunu aşmaz; tam sığmayan metin görünür … ile biter. */
#race.surus .race-title{box-sizing:border-box;max-width:calc(100% - 340px);overflow:hidden}
#race.surus .race-title :is(span,b,i,small){display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* CILA-1: 9:16 kayıt kabı için ayrı düzen. Düğmeler üç grid sırasında; HUD üstte tek sıra.
   Boyut cqw ile video kabına bağlıdır: yatay telefondaki dar kayıt kabına da sığar. */
.video-mode #race.surus{--cila-tus:clamp(32px,14cqw,60px);--cila-pedal:calc(var(--cila-tus) * 1.4)}
.video-mode #race.surus #kp-kontrol{display:grid;inset:0;padding:12px;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:var(--cila-tus) var(--cila-tus) var(--cila-pedal);align-content:end}
.video-mode #race.surus #kp-kontrol .kp-tus{position:static;inset:auto;width:100%;height:100%;max-width:none;font-size:16px;border-radius:10px;letter-spacing:0}
.video-mode #race.surus #kp-kontrol .kp-tus small{font-size:8px;letter-spacing:0;margin:0}
.video-mode #race.surus #kp-serit-sol{grid-area:1 / 1}
.video-mode #race.surus #kp-serit-sag{grid-area:1 / 4}
.video-mode #race.surus #kp-vites-alt{grid-area:2 / 1}
.video-mode #race.surus #kp-vites-ust{grid-area:2 / 2}
.video-mode #race.surus #kp-korna{grid-area:2 / 3}
.video-mode #race.surus #kp-teker-tus{grid-area:2 / 4}
.video-mode #race.surus #kp-fren{grid-area:3 / 1 / 4 / 3}
.video-mode #race.surus #kp-gaz{grid-area:3 / 3 / 4 / 5}
.video-mode #race.surus #kp-kontrol #kp-menu{position:absolute;top:12px;right:12px;left:auto;bottom:auto;width:56px;height:56px;font-size:26px}
.video-mode #race.surus .race-title{top:12px;left:12px;right:80px;transform:none;text-align:left;width:auto;max-width:none;max-height:56px;margin:0;padding:4px 6px}
.video-mode #race.surus .race-bottom{top:76px;left:12px;right:12px;bottom:auto;margin:0}
.video-mode #race.surus #race-clock{flex-direction:row;gap:4px;width:100%}
.video-mode #race.surus .kp-yigin-satir{width:0;min-width:0;flex:1;height:26px;padding:0 4px;font-size:clamp(10px,3.6cqw,16px)}
.video-mode #race.surus .kp-yigin-satir small{font-size:8px;letter-spacing:0}
.video-mode #race.surus.pov-kokpitsiz #kp-hud{top:110px;bottom:auto;left:12px;right:12px;transform:none;box-sizing:border-box;width:auto;height:42px;padding:3px 6px;border-radius:8px}
.video-mode #race.surus #kp-hud :is(.kp-hud-ust,.kp-devir,.kp-hiz,.kp-gaz-gosterge,.kp-fren-gosterge,.kp-uyari){display:none}
.video-mode #race.surus #kp-hud .kp-hud-alt{display:flex;align-items:center;justify-content:space-between;height:100%;gap:8px}
.video-mode #race.surus #kp-hud :is(.kp-rpm,.kp-vites-kutu){display:flex;align-items:center;gap:6px;padding:0}
.video-mode #race.surus #kp-hud :is(#kp-rpm,#kp-vites){font-size:20px;line-height:1}
.video-mode #race.surus .kp-menu-panel{top:76px;left:12px;right:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:40px;gap:8px}
.video-mode #race.surus .kp-menu-panel[hidden]{display:none}
.video-mode #race.surus.kp-menu-acik :is(.race-bottom,#kp-hud,#kp-teker,#kp-serit-uyari){visibility:hidden}
.video-mode #race.surus.kp-menu-acik #kp-kontrol>.kp-sol,.video-mode #race.surus.kp-menu-acik #kp-kontrol>.kp-sag,
.video-mode #race.surus.kp-menu-acik #kp-kontrol>.kp-serit,.video-mode #race.surus.kp-menu-acik #kp-teker-tus{visibility:hidden}
body.video-mode:has(#race.surus) #ses-kaynak-etiket{visibility:hidden}
.video-mode #race.surus :is(#kp-teker,#kp-serit-uyari){box-sizing:border-box;top:110px;left:12px;right:12px;bottom:auto;width:auto;height:42px;padding:4px 6px;transform:none;margin:0}
.video-mode #race.surus #kp-teker{display:flex;align-items:center;justify-content:space-between;gap:6px}
.video-mode #race.surus #kp-teker[hidden]{display:none}
.video-mode #race.surus #kp-teker .kp-teker-cubuk{display:none}
.video-mode #race.surus #kp-serit-uyari{white-space:normal;font-size:10px}
.video-mode #race.surus:has(#kp-serit-uyari:not([hidden])) #kp-hud,
.video-mode #race.surus:has(#kp-teker:not([hidden])) :is(#kp-hud,#kp-serit-uyari){visibility:hidden}
