/* =====================================================================
   JARVIS PANELİ · ORTAK BİLEŞENLER (bilesenler.css) · v3 MEVCUT DİL
   0–20 taban bileşenler; 21–24 v3 katmanı: canlı panelin dili (ölçüler ../MEVCUT-DIL.md) + v2 dekorları opt-in (23).
   Önek: .h-  (HUD). Bölüm CSS'i bu sınıfları YENİDEN TANIMLAMAZ; yalnız
   yerleşim için kendi .b-<ad>-… sınıflarını yazar.
   Varyasyonlar data- öznitelikleriyle seçilir (data-tur, data-boy,
   data-durum, data-ton, data-braket, data-kip …). Ayrıntı: SOZLESME.md
   12 Eki (canlı): her seçici :where(.v3,.v3 *) ile v3 köküne kapsanmıştır (özgüllük eklemez; kökün kendisi de eşleşir).
   Canlı panelin öğeleri bu kuralların hiçbirine girmez; bileşen yalnız class="v3" taşıyan kökün içinde görünür.
   Kapsam araçla üretildi (kaynak: önizleme cekirdek/bilesenler.css); elle değişen yalnız :root ve 0 · TEMEL'deki html/body. CANLI-NOTLAR.md
   ===================================================================== */

/* ---------- şekil maskeleri (tek renk; rozet, risk, onay kutusu) ---------- */
.v3{
  --s-nokta:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3C/svg%3E");
  --s-kumsaati:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12v2.5c0 2.6-1.6 4.9-4 5.9V12.6c2.4 1 4 3.3 4 5.9V21H6v-2.5c0-2.6 1.6-4.9 4-5.9v-1.2C7.6 10.4 6 8.1 6 5.5z'/%3E%3C/svg%3E");
  --s-ucgen:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M10.3 3.4a2 2 0 0 1 3.4 0l8.6 15a2 2 0 0 1-1.7 3H3.4a2 2 0 0 1-1.7-3zM11 9v5.5h2V9zm0 7.5v2h2v-2z'/%3E%3C/svg%3E");
  --s-hata:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.2 2h7.6L22 8.2v7.6L15.8 22H8.2L2 15.8V8.2zM11 6.5v7h2v-7zm0 9v2.2h2v-2.2z'/%3E%3C/svg%3E");
  --s-ay:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.5 2.5a9.5 9.5 0 1 0 7 15.9A8 8 0 0 1 14.5 2.5z'/%3E%3C/svg%3E");
  --s-halka:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 4.5a7.5 7.5 0 1 1 0 15a7.5 7.5 0 0 1 0-15zm0 2.4a5.1 5.1 0 1 0 0 10.2a5.1 5.1 0 0 0 0-10.2z'/%3E%3C/svg%3E");
  --s-onay:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.5 12.5l5 5L19.5 7' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --s-bilgi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 1 1 0 20a10 10 0 0 1 0-20zm-1.2 8.5V17h2.4v-6.5zm0-4v2.4h2.4V6.5z'/%3E%3C/svg%3E");
  --s-disari:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --s-para:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3v13.5c4.5 0 8-2.7 8-7M5.5 9.5l8-3.5M5.5 13.5l8-3.5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --s-sil:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M9 7V4h6v3M6.5 7l1 13h9l1-13M10 11v6M14 11v6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --s-kilit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M7 10V8a5 5 0 0 1 10 0v2h1.5v11h-13V10zm2.4 0h5.2V8a2.6 2.6 0 0 0-5.2 0z'/%3E%3C/svg%3E");
  --s-asagi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6l6-6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --s-tik:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --s-ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.2-7 10c-4-1.8-7-5.5-7-10V6z' fill='none' stroke='black' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* =====================================================================
   0 · TEMEL
   ===================================================================== */
*:where(.v3,.v3 *),*:where(.v3,.v3 *)::before,*:where(.v3,.v3 *)::after{box-sizing:border-box}
/* 12 Eki (canlı): sayfa geneline yazan html / body kuralları v3 köküne taşındı. Önizlemede gövdenin verdiği yazı tabanı
   her .v3 kökünde kurulur (canlı içerik .v3 içine konmaz); zemin ve kenar payı yalnız tam sayfa v3 gövdesinde (<body class="v3">). */
.v3{-webkit-text-size-adjust:100%;text-size-adjust:100%;color:var(--metin-1);
  font-family:var(--font);font-size:var(--t-13);line-height:var(--sy-13);font-weight:var(--a-govde);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-emoji:text}
body.v3{margin:0;background:var(--zemin)}
button:where(.v3,.v3 *),input:where(.v3,.v3 *),select:where(.v3,.v3 *),textarea:where(.v3,.v3 *){font:inherit;font-family:var(--font);color:inherit;letter-spacing:inherit}
button:where(.v3,.v3 *){background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit;-webkit-tap-highlight-color:transparent}
h1:where(.v3,.v3 *),h2:where(.v3,.v3 *),h3:where(.v3,.v3 *),h4:where(.v3,.v3 *),h5:where(.v3,.v3 *),p:where(.v3,.v3 *),ul:where(.v3,.v3 *),ol:where(.v3,.v3 *),figure:where(.v3,.v3 *),blockquote:where(.v3,.v3 *),dl:where(.v3,.v3 *),dd:where(.v3,.v3 *){margin:0;padding:0}
ul:where(.v3,.v3 *),ol:where(.v3,.v3 *){list-style:none}
svg:where(.v3,.v3 *){display:block}
img:where(.v3,.v3 *){max-width:100%;display:block}
a:where(.v3,.v3 *){color:inherit;text-decoration:none}
[hidden]:where(.v3,.v3 *){display:none!important}
:focus:where(.v3,.v3 *){outline:none}
:focus-visible:where(.v3,.v3 *){outline:2px solid var(--marka);outline-offset:2px;border-radius:var(--r-1)}
/* kap içindeki denetimde halka içe döner: segment, sekme, çip, ray, alt menü, tablo başlığı ve kaydırma kabındaki öğe
   kabın kenarında kırpılmaz (overflow:auto/hidden kaplar halkanın dışa taşan 4 px'ini keser) */
:is(.h-segment > button,.h-sekme,.h-altmenu-oge,.h-tablo th button,button.h-cip,.h-ray-oge,.h-palet-satir,.h-kaydir > *,.h-araclar > summary,.h-girdi,.h-secim select):focus-visible:where(.v3,.v3 *){outline-offset:-2px}
time:where(.v3,.v3 *){font-variant-numeric:tabular-nums}
:where(.v3,.v3 *)::selection{background:var(--marka-a32);color:var(--metin-1)}

/* ---------- yazı yardımcıları ---------- */
.h-et:where(.v3,.v3 *){font-size:var(--t-11);line-height:var(--sy-11);font-weight:var(--a-kalin);letter-spacing:var(--iz-etiket);text-transform:uppercase;color:var(--metin-et);white-space:nowrap;font-variant-numeric:tabular-nums}
/* küçük yazı tonları (-et) bu bileşenlerde yerinde hesaplanır: kapsamlı tema (ör. Ç açık tema) --marka/--dikkat/--metin-1'i
   değiştirirse ton onu izler. 11 px tonlu etiket bir kademe açık tondadır (Lc 75+); 13 px ve üstü birincil yazı ana tonda kalır. */
.h-et:where(.v3,.v3 *),.h-cip:where(.v3,.v3 *),.h-widget-hata:where(.v3,.v3 *),.h-kunye:where(.v3,.v3 *),.h-baslik-et:where(.v3,.v3 *),.h-rakam:where(.v3,.v3 *){--marka-et:color-mix(in srgb,var(--marka),var(--metin-1) var(--et-acik));--dikkat-et:color-mix(in srgb,var(--dikkat),var(--metin-1) var(--et-acik));--bilgi-et:color-mix(in srgb,var(--bilgi),var(--metin-1) var(--et-acik))}
.h-et[data-ton="canli"]:where(.v3,.v3 *){color:var(--marka-et)}
.h-et[data-ton="dikkat"]:where(.v3,.v3 *){color:var(--dikkat-et)}
.h-et[data-ton="bilgi"]:where(.v3,.v3 *){color:var(--bilgi-et)}
.h-et[data-ton="hata"]:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);color:var(--hata-metin)}  /* kırmızı metin en az 12 px */
.h-baslik-et:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-kalin);letter-spacing:var(--iz-etiket);text-transform:uppercase;color:var(--metin-2)}
/* üç ve daha çok kelimelik başlık büyük harf olmaz: cümle düzeni 14/600 */
.h-baslik-cumle:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-orta);letter-spacing:0;text-transform:none;color:var(--metin-1)}
/* aynı kural etiket ve alt başlıkta: data-cumle → büyük harf kalkar (etiket 12/500 --metin-2, alt başlık 14/600 --metin-1) */
.h-et[data-cumle]:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);letter-spacing:0;text-transform:none;color:var(--metin-2)}
.h-et[data-cumle][data-ton="canli"]:where(.v3,.v3 *){color:var(--marka)}
.h-baslik-et[data-cumle]:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-orta);letter-spacing:0;text-transform:none;color:var(--metin-1)}
.h-yazi-12:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12)}
.h-yazi-13:where(.v3,.v3 *){font-size:var(--t-13);line-height:var(--sy-13)}
.h-yazi-14:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14)}
.h-yazi-16:where(.v3,.v3 *){font-size:var(--t-16);line-height:var(--sy-16);font-weight:var(--a-orta)}
.h-yazi-20:where(.v3,.v3 *){font-size:var(--t-20);line-height:var(--sy-20);font-weight:var(--a-kalin)}
.h-yazi-28:where(.v3,.v3 *){font-size:var(--t-28);line-height:var(--sy-28);font-weight:var(--a-kalin);letter-spacing:-.01em}
.h-gosterim-34:where(.v3,.v3 *){font-size:var(--t-34);line-height:var(--sy-34);font-weight:var(--a-gosterim-34);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.h-gosterim-44:where(.v3,.v3 *){font-size:var(--t-44);line-height:var(--sy-44);font-weight:var(--a-gosterim-44);font-variant-numeric:tabular-nums;letter-spacing:-.015em}
.h-renk-1:where(.v3,.v3 *){color:var(--metin-1)} .h-renk-2:where(.v3,.v3 *){color:var(--metin-2)} .h-renk-3:where(.v3,.v3 *){color:var(--metin-3)}
.h-renk-marka:where(.v3,.v3 *){color:var(--marka)} .h-renk-dikkat:where(.v3,.v3 *){color:var(--dikkat)} .h-renk-hata:where(.v3,.v3 *){color:var(--hata-metin)} .h-renk-bilgi:where(.v3,.v3 *){color:var(--bilgi)}
/* canlı ton yazıları (tokens.css 12): gönderildi / görüntülendi buz mavisi #78BEFF · e-posta mavisi #3FC8F2 */
.h-renk-gonderildi:where(.v3,.v3 *){color:var(--gonderildi)} .h-renk-mavi:where(.v3,.v3 *){color:var(--mavi)}
.h-say:where(.v3,.v3 *){font-variant-numeric:tabular-nums}
.h-mono:where(.v3,.v3 *){font-family:var(--mono);font-weight:500;letter-spacing:0}
.h-marka-sozcuk:where(.v3,.v3 *){font-weight:var(--a-marka);letter-spacing:var(--iz-marka)}
/* marka adı: <span class="h-marka" lang="en">Jarvis</span>. Büyük harf bağlamında JARVIS olur (tr-TR kuralı Türkçe metne uygulanır). */
.h-marka:where(.v3,.v3 *){font-variant-ligatures:none}
.h-kisalt:where(.v3,.v3 *){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}   /* yalnız METİN; sayı kesilmez */
/* yatay kaydırma kabı (süzgeç rafı, çip şeridi, telefon sekmeleri): odak halkası için 4 px pay, kaydırma çubuğu gizli */
.h-kaydir:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;
  padding:var(--b-1);margin:calc(var(--b-1) * -1);scroll-padding-inline:var(--b-1)}
.h-kaydir:where(.v3,.v3 *)::-webkit-scrollbar{display:none}
.h-kaydir > *:where(.v3,.v3 *){flex:none}
.h-sr:where(.v3,.v3 *){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.h-kbd:where(.v3,.v3 *),kbd.h-kbd:where(.v3,.v3 *){font-family:var(--font);font-size:var(--t-11);line-height:var(--sy-11);font-weight:var(--a-kalin);min-width:20px;height:20px;padding:0 5px;display:inline-grid;place-items:center;
  border-radius:var(--r-1);color:var(--metin-et);background:var(--yuzey-3);box-shadow:inset 0 0 0 1px var(--cizgi-3);font-variant-numeric:tabular-nums}
.h-baglanti:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-1);color:var(--metin-2);font-weight:var(--a-orta);border-radius:var(--r-1);transition:color var(--dur-1) var(--ease-standard)}
.h-baglanti:hover:where(.v3,.v3 *){color:var(--marka)}
.h-ayrac:where(.v3,.v3 *){height:1px;border:0;margin:0;background:var(--cizgi-1)}

/* ---------- ikon ---------- */
.h-ik:where(.v3,.v3 *){width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:var(--ik-kalin);stroke-linecap:round;stroke-linejoin:round}
.h-ik-12:where(.v3,.v3 *){width:12px;height:12px;stroke-width:1.8}
.h-ik-14:where(.v3,.v3 *){width:14px;height:14px}
.h-ik-20:where(.v3,.v3 *){width:20px;height:20px;stroke-width:1.5}
.h-ik-24:where(.v3,.v3 *){width:24px;height:24px;stroke-width:1.4}
.h-ik-karo:where(.v3,.v3 *){--ton:var(--metin-2);width:32px;height:32px;border-radius:var(--r-2);display:grid;place-items:center;flex:none;color:var(--ton);
  background:var(--yuzey-3);box-shadow:inset 0 0 0 1px var(--cizgi-2)}
.h-ik-karo[data-ton="canli"]:where(.v3,.v3 *){--ton:var(--marka);background:var(--marka-a10);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-ik-karo[data-ton="dikkat"]:where(.v3,.v3 *){--ton:var(--dikkat);background:var(--dikkat-a12);box-shadow:inset 0 0 0 1px var(--dikkat-a32)}
.h-ik-karo[data-ton="hata"]:where(.v3,.v3 *){--ton:var(--hata-metin);background:var(--hata-a12);box-shadow:inset 0 0 0 1px var(--hata-a32)}
.h-ik-karo[data-ton="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi);background:var(--bilgi-a12);box-shadow:inset 0 0 0 1px var(--bilgi-a32)}
.h-ik-karo[data-boy="s"]:where(.v3,.v3 *){width:24px;height:24px;border-radius:var(--r-1)}
.h-ik-karo[data-boy="l"]:where(.v3,.v3 *){width:40px;height:40px}

/* ---------- nokta ve tazelik ---------- */
.h-nokta:where(.v3,.v3 *){--ton:var(--marka);position:relative;display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ton);flex:none}
.h-nokta[data-ton="dikkat"]:where(.v3,.v3 *){--ton:var(--dikkat)} .h-nokta[data-ton="hata"]:where(.v3,.v3 *){--ton:var(--hata)} .h-nokta[data-ton="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi)} .h-nokta[data-ton="notr"]:where(.v3,.v3 *){--ton:var(--metin-3)}
.h-nokta[data-canli]:where(.v3,.v3 *)::after{content:"";position:absolute;inset:-3px;border-radius:50%;background:var(--ton);opacity:0;animation:h-nabiz var(--nabiz) var(--ease-standard) infinite}
@keyframes h-nabiz{0%{opacity:.45;transform:scale(.6)}100%{opacity:0;transform:scale(1.9)}}
.h-tazelik:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:6px;font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.h-tazelik:where(.v3,.v3 *)::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--marka);flex:none}
.h-tazelik[data-durum="bayat"]:where(.v3,.v3 *)::before{background:var(--dikkat)}
.h-tazelik[data-durum="yok"]:where(.v3,.v3 *)::before{background:var(--metin-3)}

/* =====================================================================
   1 · BRAKET (W imzası) ve KENAR IŞIĞI
   <i class="h-brk" aria-hidden="true"></i> — ebeveyn position:relative.
   Widget: dinlenirken kartın 4 px dışında soluk çelik; hover, odak, seçim
   ve düzenleme kipinde 180 ms'de köşeye kilitlenir ve yeşile döner.
   Pencere: tam (18 px, yeşil, parıltılı) · ince (10 px) · yok.
   ===================================================================== */
.h-brk:where(.v3,.v3 *){position:absolute;inset:0;pointer-events:none;z-index:4;border-radius:inherit}
.h-brk:where(.v3,.v3 *)::before,.h-brk:where(.v3,.v3 *)::after{content:"";position:absolute;--l:var(--brk-boy);--k:var(--brk-kalin);
  background:
    linear-gradient(var(--c),var(--c)) left top/var(--l) var(--k) no-repeat,
    linear-gradient(var(--c),var(--c)) left top/var(--k) var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) right top/var(--l) var(--k) no-repeat,
    linear-gradient(var(--c),var(--c)) right top/var(--k) var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) left bottom/var(--l) var(--k) no-repeat,
    linear-gradient(var(--c),var(--c)) left bottom/var(--k) var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) right bottom/var(--l) var(--k) no-repeat,
    linear-gradient(var(--c),var(--c)) right bottom/var(--k) var(--l) no-repeat;
  transition:opacity var(--dur-3) var(--ease-standard),transform var(--dur-3) var(--ease-standard)}
.h-brk:where(.v3,.v3 *)::before{inset:-4px;--c:var(--brk-dinlen)}
.h-brk:where(.v3,.v3 *)::after{inset:0;--c:var(--marka);opacity:0;transform:scale(1.025);filter:drop-shadow(var(--parilti-yesil))}
:is(:hover,:focus-visible,:focus-within,[aria-selected="true"],.secili,[data-duzenle]) > .h-brk:where(.v3,.v3 *)::before{opacity:0;transform:scale(.985)}
:is(:hover,:focus-visible,:focus-within,[aria-selected="true"],.secili,[data-duzenle]) > .h-brk:where(.v3,.v3 *)::after{opacity:1;transform:none}
[data-ortam="kapali"] .h-brk:where(.v3,.v3 *)::after{transform:none}
/* pencere braketleri sabit yeşil */
[data-braket="tam"] > .h-brk:where(.v3,.v3 *){inset:-6px}
[data-braket="tam"] > .h-brk:where(.v3,.v3 *)::before,[data-braket="ince"] > .h-brk:where(.v3,.v3 *)::before{display:none}
[data-braket="tam"] > .h-brk:where(.v3,.v3 *)::after{--l:18px;--c:var(--brk-renk);opacity:1;transform:none}
[data-braket="ince"] > .h-brk:where(.v3,.v3 *)::after{--c:var(--marka-a62);opacity:1;transform:none;filter:none}
[data-braket="yok"] > .h-brk:where(.v3,.v3 *){display:none}

/* kenar ışığı: küreye bakan kenar yeşile döner. --aci Hareket.kenarIsigi ile yerleşimden bir kez hesaplanır.
   --isik (0–1) sahne kökünde; küre durumu tek bir opaklık geçişiyle değiştirir. */
.h-kenar:where(.v3,.v3 *),.h-kenar-parla:where(.v3,.v3 *){position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:3;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.h-kenar:where(.v3,.v3 *){background:linear-gradient(var(--aci,180deg),rgba(var(--metin-r),.06),rgba(var(--metin-r),.03) 45%,rgba(var(--yesil-r),.85));
  opacity:calc(var(--isik,.55) * var(--isik-carpan,1));transition:opacity var(--dur-5) var(--yay-efekt)}
:is(:hover,:focus-within) > .h-kenar:where(.v3,.v3 *){opacity:calc(var(--isik,.55) * var(--isik-carpan,1) + .25)}
.h-kenar-parla:where(.v3,.v3 *){background:linear-gradient(var(--aci,180deg),transparent 35%,rgba(140,243,195,.95));opacity:0}
.h-parla > .h-kenar-parla:where(.v3,.v3 *){animation:h-parla var(--dur-6) var(--ease-standard) var(--parla-gecikme,0ms) 1 both}
@keyframes h-parla{0%{opacity:0}28%{opacity:1}100%{opacity:0}}
[data-ortam="sakin"] .h-parla > .h-kenar-parla:where(.v3,.v3 *){animation-name:h-parla-sakin}
@keyframes h-parla-sakin{0%{opacity:0}28%{opacity:.45}100%{opacity:0}}
[data-ortam="kapali"] .h-kenar-parla:where(.v3,.v3 *){display:none}

/* =====================================================================
   2 · ZEMİN — altıgen ağ (varsayılan), ışık havuzu, tarama dokusu. Ortam katmanı (süpürme, yörünge,
   parçacık) Hareket.holo tarafından kendiliğinden eklenir (24). data-desen: petek (varsayılan) · nokta · yok
   <div class="h-zemin" aria-hidden="true"></div>
   ===================================================================== */
.h-zemin:where(.v3,.v3 *){position:absolute;inset:0;z-index:var(--z-zemin);pointer-events:none;overflow:hidden;
  background:
    radial-gradient(48% 42% at var(--zx,50%) var(--zy,46%),rgba(var(--yesil-r),.07),transparent 72%),
    radial-gradient(80% 60% at 50% 115%,rgba(var(--yesil-r),.04),transparent 70%),
    var(--zemin)}
.h-zemin:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;background:var(--desen-petek) 0 0/34.641px 60px;
  -webkit-mask:radial-gradient(42% 46% at var(--zx,50%) var(--zy,46%),#000 15%,transparent 80%);mask:radial-gradient(42% 46% at var(--zx,50%) var(--zy,46%),#000 15%,transparent 80%)}
.h-zemin[data-desen="nokta"]:where(.v3,.v3 *)::before{background:radial-gradient(rgba(var(--metin-r),.06) 1px,transparent 1.3px) 0 0/24px 24px}
.h-zemin[data-desen="yok"]:where(.v3,.v3 *)::before{display:none}
.h-zemin:where(.v3,.v3 *)::after{content:"";position:absolute;inset:0;background:radial-gradient(130% 100% at 50% 45%,transparent 55%,rgba(0,0,0,.5))}

/* =====================================================================
   3 · WIDGET KABUĞU
   data-boy: s · m · l · xl · serit   (büyük boy = katman eklenmiş hâl)
   data-kip: tam (varsayılan) · tek (tek renk) · cam (yalnız yüzen widget)
   data-durum: dolu · iskelet · bos · hata · bayat · guncelleniyor
   İçerik kademesi: [data-katman="m"] M ve üstünde, [data-katman="l"] L ve üstünde görünür.
   ===================================================================== */
.h-widget:where(.v3,.v3 *){position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;border-radius:var(--r-3);
  background:var(--yuzey-1);box-shadow:var(--ust-isik),0 0 0 1px var(--cizgi-2),var(--golge-1);
  container:h-widget / inline-size;isolation:isolate;color:var(--metin-1)}
.h-widget[data-boy="s"]:where(.v3,.v3 *){min-height:156px}
.h-widget[data-boy="m"]:where(.v3,.v3 *){min-height:172px}
.h-widget[data-boy="l"]:where(.v3,.v3 *){min-height:300px}
.h-widget[data-boy="xl"]:where(.v3,.v3 *){min-height:420px}
.h-widget[data-boy="serit"]:where(.v3,.v3 *){min-height:72px}
.h-widget-bas:where(.v3,.v3 *){position:relative;z-index:2;display:flex;align-items:center;gap:var(--b-2);height:var(--w-bas);padding:0 var(--b-2) 0 var(--w-pad);flex:none;min-width:0}
.h-widget-bas > .h-ik:where(.v3,.v3 *){color:var(--metin-2)}
.h-widget-ad:where(.v3,.v3 *){--wad:var(--t-16);--wad-sy:var(--sy-16);font-size:var(--wad);line-height:var(--wad-sy);font-weight:var(--a-kalin);letter-spacing:var(--iz-etiket);text-transform:uppercase;color:var(--metin-2);
  white-space:nowrap;flex:none}
/* boy: data-boy="s" 13 · "m" 16 (varsayılan) · "l" 20. Boy verilmezse S boy widget'ta 13 px. :where → bölümün kendi başlık kuralı ezer */
:where(.h-widget[data-boy="s"],.h-widget[data-boy="serit"]) .h-widget-ad:where(:not([data-boy])):where(.v3,.v3 *){--wad:var(--t-13);--wad-sy:var(--sy-13)}
.h-widget-ad[data-boy="s"]:where(.v3,.v3 *){--wad:var(--t-13);--wad-sy:var(--sy-13)}
.h-widget-ad[data-boy="m"]:where(.v3,.v3 *){--wad:var(--t-16);--wad-sy:var(--sy-16)}
.h-widget-ad[data-boy="l"]:where(.v3,.v3 *){--wad:var(--t-20);--wad-sy:var(--sy-20)}
/* 1–2 kelime büyük harf; daha uzun ad kısa ada iner ya da cümle düzenine geçer */
.h-widget-ad[data-cumle]:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-orta);letter-spacing:0;text-transform:none;color:var(--metin-1)}
.h-widget-sag:where(.v3,.v3 *){margin-left:auto;display:flex;align-items:center;gap:var(--b-2);flex:0 1 auto;min-width:0;justify-content:flex-end}
.h-widget-sag > *:where(.v3,.v3 *){flex:none}
.h-widget-olgu:where(.v3,.v3 *){flex:0 1 auto!important;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--metin-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.h-widget-olgu b:where(.v3,.v3 *){color:var(--metin-1);font-weight:var(--a-kalin)}
/* dinlenirken üçüncül renk (ikon 6,1:1); opaklıkla soluklaştırma yok */
.h-widget-bas .h-widget-buyut:not(:hover):not(:focus-visible):where(.v3,.v3 *){color:var(--metin-3)}
.h-widget:is(:hover,:focus-within) .h-widget-bas .h-widget-buyut:not(:hover):where(.v3,.v3 *){color:var(--metin-2)}
.h-widget-govde:where(.v3,.v3 *){position:relative;z-index:2;flex:1;min-height:0;display:flex;flex-direction:column;padding:0 var(--w-pad) var(--w-pad);overflow:hidden}
.h-widget-alt:where(.v3,.v3 *){position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--b-2);min-height:32px;
  padding:0 var(--w-pad) var(--b-2);margin-top:calc(var(--b-2) * -1);font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);flex:none}
.h-widget-hata:where(.v3,.v3 *),.h-widget-bos:where(.v3,.v3 *){display:none}
/* boy kademeleri */
.h-widget:is([data-boy="s"],[data-boy="serit"]) [data-katman~="m"]:where(.v3,.v3 *),
.h-widget:is([data-boy="s"],[data-boy="serit"],[data-boy="m"]) [data-katman~="l"]:where(.v3,.v3 *){display:none!important}
.h-widget:not([data-boy="s"]) [data-katman="yalniz-s"]:where(.v3,.v3 *){display:none!important}
@container h-widget (max-width:420px){
  .h-widget-bas .h-tazelik:where(.v3,.v3 *){font-size:0;gap:0}
  .h-widget-hata [data-uzun]:where(.v3,.v3 *){display:none}
}
@container h-widget (max-width:260px){
  .h-widget-ad[data-kisa]:where(.v3,.v3 *){font-size:0}
  .h-widget-ad[data-kisa]:where(.v3,.v3 *)::after{content:attr(data-kisa);font-size:min(var(--wad),var(--t-14))}
  .h-widget-olgu:where(.v3,.v3 *){display:none}
}
.h-widget[data-boy="serit"]:where(.v3,.v3 *){flex-direction:row;align-items:center}
.h-widget[data-boy="serit"] .h-widget-govde:where(.v3,.v3 *){flex-direction:row;align-items:center;padding:var(--b-3) var(--w-pad);gap:var(--b-6)}
/* kipler */
.h-widget[data-kip="tek"]:where(.v3,.v3 *){--marka:var(--metin-1);--marka-a10:var(--celik-a06);--marka-a12:var(--celik-a10);--marka-a20:var(--celik-a10);--marka-a32:var(--cizgi-3)}
.h-widget[data-kip="tek"] > .h-kenar:where(.v3,.v3 *){background:linear-gradient(var(--aci,180deg),rgba(var(--metin-r),.06),rgba(var(--metin-r),.4))}
.h-widget[data-kip="cam"]:where(.v3,.v3 *){background:var(--cam-zemin);-webkit-backdrop-filter:var(--cam-2);backdrop-filter:var(--cam-2)}
/* veri durumları */
.h-widget[data-durum="iskelet"] .h-widget-govde > *:where(.v3,.v3 *),.h-widget[data-durum="iskelet"] .h-widget-alt > *:where(.v3,.v3 *){visibility:hidden}
.h-widget[data-durum="iskelet"] .h-widget-govde:where(.v3,.v3 *)::after{content:"";position:absolute;inset:4px var(--w-pad) var(--w-pad);
  background-image:linear-gradient(var(--celik-a10) 0 12px,transparent 12px),linear-gradient(var(--celik-a06) 0 10px,transparent 10px);
  background-size:62% var(--h-satir),38% var(--h-satir);background-position:0 6px,0 26px;background-repeat:repeat-y}
.h-widget[data-durum="iskelet"][data-iskelet="kpi"] .h-widget-govde:where(.v3,.v3 *)::after{
  background-image:linear-gradient(var(--celik-a10) 0 32px,transparent 32px),linear-gradient(var(--celik-a06) 0 10px,transparent 10px);
  background-size:46% 100%,64% 100%;background-position:0 8px,0 52px;background-repeat:no-repeat}
.h-widget[data-durum="iskelet"] .h-cip:where(.v3,.v3 *){color:transparent}
.h-widget[data-durum="iskelet"] :is(.h-widget-olgu,.h-widget-hata):where(.v3,.v3 *){visibility:hidden}
.h-widget[data-durum="iskelet"] .h-tazelik:where(.v3,.v3 *)::before{background:var(--metin-3)}
.h-widget[data-durum="bos"] .h-widget-govde > :not(.h-widget-bos):where(.v3,.v3 *),.h-widget[data-durum="bos"] .h-widget-alt:where(.v3,.v3 *),
.h-widget[data-durum="bos"] .h-widget-bas :is(.h-cip,.h-widget-olgu):where(.v3,.v3 *){display:none}
.h-widget[data-durum="bos"] .h-widget-bos:where(.v3,.v3 *){display:flex;flex:1;align-items:center;justify-content:space-between;gap:var(--b-3);font-size:var(--t-13);color:var(--metin-2)}
.h-widget[data-durum="hata"]:where(.v3,.v3 *){--isik-carpan:.4}
.h-widget[data-durum="hata"]:where(.v3,.v3 *)::before{content:"";position:absolute;left:var(--b-3);right:var(--b-3);top:0;height:1px;border-radius:1px;background:var(--dikkat);z-index:5}
.h-widget[data-durum="hata"] .h-widget-hata:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-1);font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--dikkat-et);white-space:nowrap;flex:none!important;font-variant-numeric:tabular-nums}   /* kendi içeriğinden dar olmaz: Yeniden dene taşmaz (dar kapta [data-uzun] gizlenir) */
.h-widget-hata:where(.v3,.v3 *)::before{content:"";width:12px;height:12px;flex:none;background:var(--dikkat);-webkit-mask:var(--s-ucgen) center/contain no-repeat;mask:var(--s-ucgen) center/contain no-repeat}
.h-widget[data-durum="hata"] .h-tazelik:where(.v3,.v3 *),.h-widget[data-durum="hata"] .h-widget-olgu:where(.v3,.v3 *){display:none}
.h-widget[data-durum="bayat"]:where(.v3,.v3 *){--isik-carpan:.6}
.h-widget[data-durum="bayat"] .h-tazelik:where(.v3,.v3 *)::before{background:var(--dikkat)}

/* güncellenen satır: tek ışık süpürmesi (yalnız değişen öğe) */
.h-taze:where(.v3,.v3 *){overflow:hidden}
.h-taze:where(.v3,.v3 *)::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(100deg,transparent 30%,rgba(var(--yesil-r),.16) 50%,transparent 70%);transform:translateX(-110%);
  animation:h-supur var(--dur-6) var(--ease-standard) 1 forwards}
@keyframes h-supur{to{transform:translateX(110%)}}
[data-ortam="kapali"] .h-taze:where(.v3,.v3 *)::after{transform:none;background:rgba(var(--yesil-r),.08);animation:h-sol 1ms 1 forwards}
@keyframes h-sol{to{opacity:0}}

/* genel kart (galeri kartı, teslim, profil) */
.h-kart:where(.v3,.v3 *){position:relative;border-radius:var(--r-3);background:var(--yuzey-1);box-shadow:var(--ust-isik),0 0 0 1px var(--cizgi-2);padding:var(--w-pad);color:var(--metin-1)}
.h-kart[data-tur="ic"]:where(.v3,.v3 *){background:var(--yuzey-2);box-shadow:inset 0 0 0 1px var(--cizgi-1)}

/* =====================================================================
   4 · DÜĞMELER
   data-tur: birincil · ton · ikincil · hayalet · tehlike · ikon
   data-boy: s 28 · m 32 (varsayılan) · l 44 (telefon)
   Ekranda TEK dolu birincil olur (bağlamın ana eylemi); satır birincilleri "ton".
   aria-busy="true" yükleniyor · disabled devre dışı · data-onay="bekliyor" iki adımlı onay
   ===================================================================== */
.h-dugme:where(.v3,.v3 *){--yuk:32px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--b-2);height:var(--yuk);min-width:var(--yuk);
  padding:0 var(--b-3);border-radius:var(--r-2);font-size:var(--t-13);line-height:var(--sy-13);font-weight:var(--a-kalin);white-space:nowrap;
  color:var(--metin-1);background:transparent;box-shadow:inset 0 0 0 1px var(--cizgi-3);user-select:none;
  transition:background-color var(--dur-1) var(--ease-standard),color var(--dur-1) var(--ease-standard),transform var(--dur-1) var(--ease-standard)}
.h-dugme:hover:where(.v3,.v3 *){background:var(--celik-a06)}
.h-dugme:active:where(.v3,.v3 *){transform:translateY(calc(1px * var(--m)))}
.h-dugme[data-boy="s"]:where(.v3,.v3 *){--yuk:28px;padding:0 var(--b-2);font-size:var(--t-12);line-height:var(--sy-12);gap:6px}
.h-dugme[data-boy="l"]:where(.v3,.v3 *){--yuk:44px;padding:0 var(--b-4);font-size:var(--t-14);line-height:var(--sy-14)}
.h-dugme[data-genis]:where(.v3,.v3 *){width:100%}
.h-dugme[data-tur="birincil"]:where(.v3,.v3 *){background:var(--marka);color:var(--marka-yazi);box-shadow:0 0 0 1px rgba(var(--yesil-r),.6),0 8px 22px -12px rgba(var(--yesil-r),.75)}
.h-dugme[data-tur="birincil"]:hover:where(.v3,.v3 *){background:var(--marka-acik)}
.h-dugme[data-tur="ton"]:where(.v3,.v3 *){background:var(--marka-a12);color:var(--marka);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-dugme[data-tur="ton"]:hover:where(.v3,.v3 *){background:var(--marka-a20)}
.h-dugme[data-tur="hayalet"]:where(.v3,.v3 *){box-shadow:none;color:var(--metin-2)}
.h-dugme[data-tur="hayalet"]:hover:where(.v3,.v3 *){color:var(--metin-1);background:var(--celik-a06)}
.h-dugme[data-tur="tehlike"]:where(.v3,.v3 *){background:var(--hata-a12);color:var(--hata-metin);box-shadow:inset 0 0 0 1px var(--hata-a32)}
.h-dugme[data-tur="tehlike"]:hover:where(.v3,.v3 *){background:rgba(var(--kirmizi-r),.18)}
.h-dugme[data-tur="ikon"]:where(.v3,.v3 *){padding:0;width:var(--yuk);box-shadow:none;color:var(--metin-2)}
.h-dugme[data-tur="ikon"]:hover:where(.v3,.v3 *){color:var(--metin-1);background:var(--celik-a06)}
/* çerçeveli ikon düğmesi = canlı .onay-btn .hw-sol (karar kartındaki ◷ ×): krem .2 çerçeve · .04 zemin · #A3B2C0 */
.h-dugme[data-tur="ikon"][data-cerceve]:where(.v3,.v3 *){color:var(--sis);background:rgba(var(--metin-r),.04);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.2)}
.h-dugme[data-tur="ikon"][data-cerceve]:hover:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.5)}
.h-dugme[data-tur="ikon"][aria-pressed="true"]:where(.v3,.v3 *){color:var(--marka);background:var(--marka-a10)}
.h-dugme:disabled:where(.v3,.v3 *),.h-dugme[aria-disabled="true"]:where(.v3,.v3 *){background:var(--celik-a06);color:var(--metin-pasif);box-shadow:none;cursor:default;transform:none}
/* meşgul: yazı tam renkte kalır; durum alt çizgi nabzı ve imleçle görünür. Tık arac.js'te yutulur (çift gönderim yok). */
.h-dugme[aria-busy="true"]:where(.v3,.v3 *){cursor:progress}
.h-dugme[aria-busy="true"]:where(.v3,.v3 *)::after{content:"";position:absolute;left:var(--b-2);right:var(--b-2);bottom:3px;height:2px;border-radius:1px;background:currentColor;
  animation:h-yari-nabiz var(--nabiz) var(--ease-standard) infinite}
.h-dugme[data-onay="bekliyor"]:where(.v3,.v3 *){background:var(--dikkat-a12);color:var(--dikkat);box-shadow:inset 0 0 0 1px var(--dikkat-a32)}
.h-dugme[data-onay="bekliyor"]:where(.v3,.v3 *)::after{content:"";position:absolute;left:var(--b-1);right:var(--b-1);bottom:2px;height:2px;background:var(--dikkat);transform-origin:0 50%;animation:h-zaman var(--sure,4s) linear forwards}
.h-dugme-grup:where(.v3,.v3 *){display:inline-flex;gap:var(--b-2);align-items:center;flex-wrap:wrap}

/* =====================================================================
   5 · DURUM ROZETİ — renk + şekil + metin (gri tonlamada da ayırt edilir)
   data-durum: calisiyor · bekliyor · uyari · hata · uyku · bosta · bitti · bilgi
   data-boy: xs (yalnız şekil; aria-label şart) · s (varsayılan) · m (haplı) · l (+ <time>)
   ===================================================================== */
.h-rozet:where(.v3,.v3 *){--ton:var(--metin-2);--sekil:var(--s-halka);display:inline-flex;align-items:center;gap:6px;font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--ton);white-space:nowrap;font-variant-numeric:tabular-nums}
.h-rozet:where(.v3,.v3 *)::before{content:"";width:12px;height:12px;flex:none;background:var(--ton);-webkit-mask:var(--sekil) center/contain no-repeat;mask:var(--sekil) center/contain no-repeat}
.h-rozet[data-durum="calisiyor"]:where(.v3,.v3 *){--ton:var(--marka);--sekil:var(--s-nokta)}
.h-rozet[data-durum="bekliyor"]:where(.v3,.v3 *){--ton:var(--dikkat);--sekil:var(--s-kumsaati)}
.h-rozet[data-durum="uyari"]:where(.v3,.v3 *){--ton:var(--dikkat);--sekil:var(--s-ucgen)}
.h-rozet[data-durum="hata"]:where(.v3,.v3 *){--ton:var(--hata-metin);--sekil:var(--s-hata)}
.h-rozet[data-durum="uyku"]:where(.v3,.v3 *){--ton:var(--metin-2);--sekil:var(--s-ay)}
.h-rozet[data-durum="bosta"]:where(.v3,.v3 *){--ton:var(--metin-2);--sekil:var(--s-halka)}
.h-rozet[data-durum="bitti"]:where(.v3,.v3 *){--ton:var(--metin-2);--sekil:var(--s-onay)}
.h-rozet[data-durum="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi);--sekil:var(--s-bilgi)}
.h-rozet[data-boy="xs"]:where(.v3,.v3 *){font-size:0;gap:0}
.h-rozet[data-boy="xs"]:where(.v3,.v3 *)::before{width:10px;height:10px}
.h-rozet[data-boy="m"]:where(.v3,.v3 *){height:24px;padding:0 var(--b-2) 0 6px;border-radius:var(--r-hap);
  background:color-mix(in srgb,var(--ton) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ton) 30%,transparent)}
.h-rozet time:where(.v3,.v3 *){font-weight:var(--a-govde);color:var(--metin-2);font-variant-numeric:tabular-nums}
.h-risk:where(.v3,.v3 *){--ton:var(--metin-2);--sekil:var(--s-ic);display:inline-flex;align-items:center;gap:6px;font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--ton);white-space:nowrap}
.h-risk:where(.v3,.v3 *)::before{content:"";width:14px;height:14px;background:var(--ton);-webkit-mask:var(--sekil) center/contain no-repeat;mask:var(--sekil) center/contain no-repeat}
.h-risk[data-risk="disari"]:where(.v3,.v3 *){--ton:var(--dikkat);--sekil:var(--s-disari)}
.h-risk[data-risk="para"]:where(.v3,.v3 *){--ton:var(--dikkat);--sekil:var(--s-para)}
.h-risk[data-risk="silme"]:where(.v3,.v3 *){--ton:var(--hata-metin);--sekil:var(--s-sil)}
.h-risk[data-risk="kilit"]:where(.v3,.v3 *){--sekil:var(--s-kilit)}

/* sayı çipi ve süzgeç çipi */
/* çip 12 px (sözcük taşır). Yalnız rakam taşıyan sayı çipi data-sayi ile 11 px olur. Ton rengi küçük yazı tonudur (-et). */
.h-cip:where(.v3,.v3 *){--ton:var(--metin-1);--zem:var(--celik-a10);display:inline-flex;align-items:center;gap:var(--b-1);height:20px;padding:0 7px;border-radius:var(--r-hap);
  font-size:var(--t-12);line-height:20px;font-weight:var(--a-kalin);font-variant-numeric:tabular-nums;color:var(--ton);background:var(--zem);white-space:nowrap;flex:none}
.h-cip[data-sayi]:where(.v3,.v3 *){font-size:var(--t-11)}
.h-cip[data-ton="canli"]:where(.v3,.v3 *){--ton:var(--marka-et);--zem:var(--marka-a12)}
.h-cip[data-ton="dikkat"]:where(.v3,.v3 *){--ton:var(--dikkat-et);--zem:var(--dikkat-a12)}
.h-cip[data-ton="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi-et);--zem:var(--bilgi-a12)}
/* açılır yüzeyde (tepsi, menü, ipucu) tonlu çip zemini bir kademe incelir: koyu pop zemininde Lc 75 tabanı */
:is(.h-tepsi,.h-menu,.h-ipucu) .h-cip[data-ton="dikkat"]:where(.v3,.v3 *){--zem:var(--dikkat-a08)}
:is(.h-tepsi,.h-menu,.h-ipucu) .h-cip[data-ton="canli"]:where(.v3,.v3 *){--zem:var(--marka-a08)}
:is(.h-tepsi,.h-menu,.h-ipucu) .h-cip[data-ton="bilgi"]:where(.v3,.v3 *){--zem:var(--bilgi-a08)}
.h-cip[data-ton="hata"]:where(.v3,.v3 *){--ton:var(--hata-metin);--zem:var(--hata-a12);font-size:var(--t-12)}
button.h-cip:where(.v3,.v3 *),.h-cip[data-tur="suzgec"]:where(.v3,.v3 *){height:28px;padding:0 var(--b-3);font-size:var(--t-12);font-weight:var(--a-orta);--zem:transparent;box-shadow:inset 0 0 0 1px var(--cizgi-3);color:var(--metin-2);
  transition:background-color var(--dur-1) var(--ease-standard),color var(--dur-1) var(--ease-standard)}
button.h-cip:hover:where(.v3,.v3 *){color:var(--metin-1);--zem:var(--celik-a06)}
button.h-cip[aria-pressed="true"]:where(.v3,.v3 *){color:var(--marka);--zem:var(--marka-a12);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-sayi-rozet:where(.v3,.v3 *){position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-hap);display:grid;place-items:center;
  font-size:var(--t-11);line-height:16px;font-weight:var(--a-kalin);font-variant-numeric:tabular-nums;color:var(--metin-1);background:var(--yuzey-pop);box-shadow:0 0 0 2px var(--zemin)}
.h-sayi-rozet[data-ton="dikkat"]:where(.v3,.v3 *){background:var(--dikkat);color:var(--dikkat-yazi)}
.h-sayi-rozet[data-ton="acil"]:where(.v3,.v3 *){background:var(--hata-dolgu);color:var(--hata-dolgu-yazi)}   /* beyaz / #B3202F: Lc 86 */

/* =====================================================================
   6 · LİSTE SATIRI ve KARAR SATIRI (W çekirdeği)
   Kart içinde kart YOK: hafif satır, sol 2 px sinyal şeridi, ikon karosu, ince ayırıcı.
   data-aciliyet: normal · dikkat · acil · canli
   data-boy: kompakt 36 · standart 44 (varsayılan) · rahat 56 · kart 96 · telefon 64+
   data-tur="karar": 64 px (Sıkı 52). Birincil eylem hep görünür ve DOM'da ilk eylemdir.
   ===================================================================== */
.h-liste:where(.v3,.v3 *){display:flex;flex-direction:column;gap:var(--satir-ara);min-height:0}
.h-liste[data-ayrac] > .h-satir + .h-satir:where(.v3,.v3 *){box-shadow:inset 0 1px 0 var(--cizgi-1)}
.h-liste[data-ayrac] > .h-satir + .h-satir:is(:hover,[aria-selected="true"],.secili):where(.v3,.v3 *){box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-satir:where(.v3,.v3 *){--yuk:var(--h-satir);position:relative;display:flex;align-items:center;gap:var(--b-3);min-height:var(--yuk);padding:var(--b-1) var(--b-2) var(--b-1) var(--b-4);
  border-radius:var(--r-2);color:var(--metin-1);transition:background-color var(--dur-1) var(--ease-standard);flex:none}
.h-satir:where(.v3,.v3 *)::before{content:"";position:absolute;left:4px;top:10px;bottom:10px;width:2px;border-radius:2px;background:transparent}
.h-satir[data-aciliyet="normal"]:where(.v3,.v3 *)::before{background:var(--celik-a45)}
.h-satir[data-aciliyet="dikkat"]:where(.v3,.v3 *)::before{background:var(--dikkat)}
.h-satir[data-aciliyet="acil"]:where(.v3,.v3 *)::before{background:var(--hata)}
.h-satir[data-aciliyet="canli"]:where(.v3,.v3 *)::before{background:var(--marka);box-shadow:0 0 8px rgba(var(--yesil-r),.7)}
.h-satir[data-tiklanir]:where(.v3,.v3 *),.h-satir[tabindex]:where(.v3,.v3 *){cursor:pointer}
.h-satir:hover:where(.v3,.v3 *){background:var(--yuzey-2)}
.h-satir:focus-visible:where(.v3,.v3 *){outline-offset:-2px;border-radius:var(--r-2)}
.h-satir[aria-selected="true"]:where(.v3,.v3 *),.h-satir.secili:where(.v3,.v3 *){background:var(--marka-a10);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-satir[data-tur="karar"]:where(.v3,.v3 *){--yuk:var(--h-karar)}
.h-satir[data-boy="kompakt"]:where(.v3,.v3 *){--yuk:var(--h-satir-k);gap:var(--b-2)}
.h-satir[data-boy="rahat"]:where(.v3,.v3 *){--yuk:56px}
.h-satir[data-boy="kart"]:where(.v3,.v3 *){--yuk:96px;align-items:flex-start;padding-top:var(--b-3);padding-bottom:var(--b-3)}
.h-satir[data-boy="telefon"]:where(.v3,.v3 *){--yuk:64px;padding-right:var(--b-3)}
.h-satir-metin:where(.v3,.v3 *){flex:1;min-width:0;display:flex;flex-direction:column}
.h-satir-ust:where(.v3,.v3 *){display:flex;align-items:center;gap:6px;min-width:0}
.h-satir-ust > .h-ik:where(.v3,.v3 *){width:14px;height:14px;color:var(--metin-et)}
.h-satir[data-aciliyet="canli"] .h-satir-ust .h-ik:where(.v3,.v3 *){color:var(--marka)}
.h-satir[data-aciliyet="canli"] .h-satir-ust .h-et:where(.v3,.v3 *){color:var(--marka-et)}
.h-satir[data-aciliyet="dikkat"] .h-satir-ust .h-ik:where(.v3,.v3 *){color:var(--dikkat)}
.h-satir[data-aciliyet="dikkat"] .h-satir-ust .h-et:where(.v3,.v3 *){color:var(--dikkat-et)}
.h-satir[data-aciliyet="acil"] .h-satir-ust .h-ik:where(.v3,.v3 *){color:var(--hata-metin)}
.h-satir-baslik:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-kalin);color:var(--metin-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* SAYI ASLA KESİLMEZ. Tutar, süre ve sayı metinden ayrı, küçülmeyen öğededir; metin kısalır ya da iki satıra kırılır.
   <span class="h-satir-baslik"><span class="h-satir-baslik-metin">… günlük bütçesi</span><b class="h-say h-tutar">40 $ → 60 $</b></span>
   <span class="h-satir-meta"><span class="h-kisalt">Asistan · Dışarı gider</span><span class="h-say">14 dk</span></span>
   Arac.sayiAyir(kok) düz metni bu biçime kendisi çevirir. */
.h-satir-baslik:has(> .h-satir-baslik-metin):where(.v3,.v3 *){display:flex;align-items:baseline;gap:6px;white-space:normal;overflow:visible;text-overflow:clip}
.h-satir-baslik:has(> .h-satir-baslik-metin) > :not(.h-satir-baslik-metin):where(.v3,.v3 *){flex:none;white-space:nowrap}
.h-satir-baslik > .h-satir-baslik-metin:where(.v3,.v3 *){flex:0 1 auto;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.h-tutar:where(.v3,.v3 *){flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.h-ad-tutar:where(.v3,.v3 *){display:flex;align-items:baseline;gap:6px;min-width:0}
.h-ad-tutar > :first-child:where(.v3,.v3 *){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.h-ad-tutar > .h-say:where(.v3,.v3 *){flex:none;white-space:nowrap}
.h-ad-tutar > .h-say:where(.v3,.v3 *)::before{content:"·";margin-right:6px;color:var(--metin-2);font-weight:var(--a-orta)}
.h-satir[data-boy="kompakt"] .h-satir-baslik:where(.v3,.v3 *){font-size:var(--t-13);line-height:var(--sy-13);font-weight:var(--a-orta)}
.h-satir-meta:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-variant-numeric:tabular-nums}
.h-satir-meta .h-say:where(.v3,.v3 *){color:var(--metin-1)}
/* yapılı meta (yalnız .h-kisalt varsa): metin kısalır, ardındaki sayı küçülmez. Ortadaki .h-say düz akışta kalır. */
.h-satir-meta:has(> .h-kisalt):where(.v3,.v3 *){display:flex;align-items:baseline;gap:var(--b-1);overflow:visible;text-overflow:clip}
.h-satir-meta:has(> .h-kisalt) > .h-kisalt:where(.v3,.v3 *){flex:0 1 auto}
.h-satir-meta:has(> .h-kisalt) > :not(.h-kisalt):where(.v3,.v3 *){flex:none;white-space:nowrap}
:is(.h-satir-meta,.h-onay-ozet) > .h-kisalt + .h-say:not([data-bitisik]):where(.v3,.v3 *)::before{content:"·";margin-right:var(--b-1);color:var(--metin-2);font-weight:var(--a-govde)}
.h-satir-zaman:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}
.h-satir-eylem:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-1);flex:none}
.h-satir-eylem[data-dikey]:where(.v3,.v3 *){flex-direction:column;align-items:stretch;gap:2px;width:96px}
.h-satir-eylem[data-dikey] > .h-dugme:where(.v3,.v3 *){width:100%}
.h-satir-ikincil:where(.v3,.v3 *){display:flex;gap:2px;justify-content:center}
/* ikincil ikonlar dinlenirken üçüncül renkte (ikon 6,1:1), satır üzerine gelince ikincil renge çıkar.
   Yazılı ikinciller her zaman tam renktedir. Opaklıkla soluklaştırma yok. */
.h-satir-ikincil > .h-dugme[data-tur="ikon"]:not(:hover):not(:focus-visible):where(.v3,.v3 *){color:var(--metin-3)}
.h-satir:is(:hover,:focus-within) .h-satir-ikincil > .h-dugme[data-tur="ikon"]:not(:hover):where(.v3,.v3 *){color:var(--metin-2)}
@media (hover:none){.h-satir .h-satir-ikincil > .h-dugme[data-tur="ikon"]:not(:hover):where(.v3,.v3 *){color:var(--metin-2)}}
.h-satir[data-okunmamis] .h-satir-baslik:where(.v3,.v3 *)::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--marka);margin-right:6px;vertical-align:2px}
.h-satir[data-okundu] .h-satir-baslik:where(.v3,.v3 *){color:var(--metin-2);font-weight:var(--a-orta)}
/* işleniyor: metin tam renkte; sinyal şeridi yeşil nabız atar. Satıra metinli rozet de konur:
   <span class="h-rozet" data-durum="calisiyor">İşleniyor</span>. aria-busy arac.js'te kendiliğinden yazılır. */
.h-satir[data-durum="isleniyor"]:where(.v3,.v3 *){pointer-events:none;cursor:progress}
.h-satir[data-durum="isleniyor"]:where(.v3,.v3 *)::before{background:var(--marka);animation:h-yari-nabiz var(--nabiz) var(--ease-standard) infinite}
.h-satir[data-durum="hata"] .h-satir-meta:where(.v3,.v3 *){color:var(--hata-metin)}
.h-satir-ilerleme:where(.v3,.v3 *){position:absolute;left:var(--b-4);right:var(--b-2);bottom:3px}
.h-daha:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-1);font-size:var(--t-12);font-weight:var(--a-orta);color:var(--metin-2);white-space:nowrap;flex:none}
.h-daha:hover:where(.v3,.v3 *){color:var(--marka)}
.h-bos:where(.v3,.v3 *){display:flex;align-items:center;justify-content:space-between;gap:var(--b-3);min-height:var(--h-satir);font-size:var(--t-13);color:var(--metin-2)}
.h-iskelet:where(.v3,.v3 *){display:block;height:12px;border-radius:var(--r-1);background:var(--celik-a06)}

/* yapılacak satırı: yalnız kutu bitirir */
.h-kutu:where(.v3,.v3 *){appearance:none;-webkit-appearance:none;position:relative;width:16px;height:16px;margin:0;border-radius:var(--r-1);flex:none;cursor:pointer;
  box-shadow:inset 0 0 0 1.5px var(--ui-sinir);background:transparent;transition:background-color var(--dur-1) var(--ease-standard)}
.h-kutu:where(.v3,.v3 *)::before{content:"";position:absolute;inset:-6px}
.h-kutu:where(.v3,.v3 *)::after{content:"";position:absolute;inset:2px;background:var(--marka-yazi);-webkit-mask:var(--s-tik) center/contain no-repeat;mask:var(--s-tik) center/contain no-repeat;opacity:0;transform:scale(.6)}
.h-kutu:checked:where(.v3,.v3 *){background:var(--marka);box-shadow:none}
.h-kutu:checked:where(.v3,.v3 *)::after{opacity:1;transform:none;transition:transform var(--dur-4) var(--yay-jest),opacity var(--dur-1) var(--ease-standard)}
.h-kutu:hover:where(.v3,.v3 *){box-shadow:inset 0 0 0 1.5px var(--metin-2)}
.h-ustu-cizili:where(.v3,.v3 *){position:relative}
.h-ustu-cizili:where(.v3,.v3 *)::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:var(--metin-2);transform-origin:0 50%;transform:scaleX(0);transition:transform var(--dur-4) var(--ease-standard)}
[data-bitti] .h-ustu-cizili:where(.v3,.v3 *){color:var(--metin-2)}
[data-bitti] .h-ustu-cizili:where(.v3,.v3 *)::after{transform:scaleX(1)}

/* =====================================================================
   7 · SEKME · SEGMENT · RAY · AÇILIR MENÜ
   Gösterge hapı .h-hap: Hareket.hap(kap) ile transform (translateX + scaleX). width canlandırılmaz.
   ===================================================================== */
.h-sekmeler:where(.v3,.v3 *){position:relative;display:flex;align-items:stretch;gap:var(--b-1);min-width:0}
.h-sekme:where(.v3,.v3 *){position:relative;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 var(--b-3);font-size:var(--t-13);font-weight:var(--a-orta);
  color:var(--metin-2);border-radius:var(--r-2);white-space:nowrap;transition:color var(--dur-1) var(--ease-standard)}
.h-sekme:hover:where(.v3,.v3 *){color:var(--metin-1)}
.h-sekme[aria-selected="true"]:where(.v3,.v3 *){color:var(--metin-1)}
.h-sekme .h-kbd:where(.v3,.v3 *){margin-left:2px}
.h-hap:where(.v3,.v3 *){position:absolute;left:0;pointer-events:none;transform-origin:0 50%;transform:translateX(var(--hx,0px)) scaleX(var(--hs,0));
  transition:transform var(--dur-3) var(--yay-ui)}
.h-sekmeler > .h-hap:where(.v3,.v3 *){bottom:0;height:2px;width:100px;border-radius:2px;background:var(--marka);box-shadow:0 0 8px rgba(var(--yesil-r),.6)}
.h-segment:where(.v3,.v3 *){position:relative;display:inline-flex;align-items:center;padding:2px;border-radius:var(--r-hap);background:var(--celik-a06);box-shadow:inset 0 0 0 1px var(--cizgi-1);flex:none}
.h-segment > button:where(.v3,.v3 *){position:relative;z-index:1;height:28px;padding:0 var(--b-3);border-radius:var(--r-hap);font-size:var(--t-12);line-height:28px;font-weight:var(--a-orta);
  color:var(--metin-2);white-space:nowrap;transition:color var(--dur-1) var(--ease-standard)}
.h-segment > button:hover:where(.v3,.v3 *){color:var(--metin-1)}
.h-segment > button:is([aria-checked="true"],[aria-pressed="true"],[aria-selected="true"]):where(.v3,.v3 *){color:var(--marka)}
.h-segment > .h-hap:where(.v3,.v3 *){top:2px;bottom:2px;width:100px;border-radius:var(--r-hap);background:var(--marka-a12);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-segment[data-boy="l"] > button:where(.v3,.v3 *){height:40px;line-height:40px;font-size:var(--t-13);padding:0 var(--b-4)}
.h-ray:where(.v3,.v3 *){display:flex;flex-direction:column;align-items:center;gap:var(--b-1);padding:var(--b-3) 0;width:72px;flex:none}
.h-ray-oge:where(.v3,.v3 *){position:relative;width:48px;height:48px;border-radius:var(--r-3);display:grid;place-items:center;color:var(--metin-2);transition:color var(--dur-1) var(--ease-standard),background-color var(--dur-1) var(--ease-standard)}
.h-ray-oge:hover:where(.v3,.v3 *){color:var(--metin-1);background:var(--celik-a06)}
.h-ray-oge[aria-selected="true"]:where(.v3,.v3 *),.h-ray-oge[aria-current="page"]:where(.v3,.v3 *){color:var(--marka);background:var(--marka-a10);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-ray-oge[aria-selected="true"]:where(.v3,.v3 *)::before,.h-ray-oge[aria-current="page"]:where(.v3,.v3 *)::before{content:"";position:absolute;left:-12px;top:12px;bottom:12px;width:2px;border-radius:2px;background:var(--marka);box-shadow:0 0 8px rgba(var(--yesil-r),.7)}
.h-menu:where(.v3,.v3 *){position:absolute;z-index:var(--z-acilir);min-width:220px;padding:var(--b-1);border-radius:var(--r-3);background:var(--yuzey-pop);box-shadow:inset 0 0 0 1px var(--cizgi-3),var(--golge-2)}
.h-menu-baslik:where(.v3,.v3 *){padding:var(--b-2) var(--b-3) var(--b-1)}
.h-menu-oge:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);width:100%;min-height:36px;padding:0 var(--b-3);border-radius:var(--r-2);font-size:var(--t-13);color:var(--metin-1);text-align:left}
.h-menu-oge:hover:where(.v3,.v3 *),.h-menu-oge:focus-visible:where(.v3,.v3 *){background:var(--celik-a06);outline-offset:-2px}
.h-menu-oge .h-kbd:where(.v3,.v3 *),.h-menu-oge .h-menu-sag:where(.v3,.v3 *){margin-left:auto}
.h-menu-oge[aria-checked="true"]:where(.v3,.v3 *){color:var(--marka)}
.h-menu-ayrac:where(.v3,.v3 *){height:1px;margin:var(--b-1) var(--b-2);background:var(--cizgi-1)}
.h-menu-satir:where(.v3,.v3 *){display:flex;align-items:center;justify-content:space-between;gap:var(--b-3);padding:var(--b-2) var(--b-3)}

/* =====================================================================
   8 · KPI · SAYAÇ · HALKA · İLERLEME · CETVEL
   Sayı asla kesilmez; kısalır (Bicim.tlKisa). Tabular rakam.
   ===================================================================== */
.h-kpi:where(.v3,.v3 *){display:flex;flex-direction:column;gap:2px;min-width:0}
.h-kpi-deger:where(.v3,.v3 *){display:flex;align-items:baseline;gap:var(--b-1);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--metin-1)}
.h-kpi-deger b:where(.v3,.v3 *){font-size:var(--t-28);line-height:var(--sy-28);font-weight:var(--a-kalin);letter-spacing:-.01em}
.h-kpi-deger small:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-orta);color:var(--metin-2)}
.h-kpi[data-boy="xs"] .h-kpi-deger b:where(.v3,.v3 *){font-size:var(--t-16);line-height:var(--sy-16)}
.h-kpi[data-boy="xs"] .h-kpi-deger small:where(.v3,.v3 *){font-size:var(--t-12)}
.h-kpi[data-boy="l"] .h-kpi-deger b:where(.v3,.v3 *){font-size:var(--t-44);line-height:var(--sy-44);font-weight:var(--a-gosterim-44);letter-spacing:-.015em}
.h-kpi[data-boy="l"] .h-kpi-deger small:where(.v3,.v3 *){font-size:var(--t-16)}
.h-kpi-alt:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);white-space:nowrap}
.h-kpi-fark:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:2px;font-weight:var(--a-kalin);font-variant-numeric:tabular-nums}
.h-kpi-fark[data-yon="art"]:where(.v3,.v3 *){color:var(--marka)}
.h-kpi-fark[data-yon="azal"]:where(.v3,.v3 *){color:var(--dikkat)}
.h-kpi[data-durum="sifir"] .h-kpi-deger b:where(.v3,.v3 *){color:var(--metin-2)}
.h-kpi[data-durum="amber"] .h-kpi-deger b:where(.v3,.v3 *){color:var(--dikkat)}
.h-kpi[data-durum="kirmizi"] .h-kpi-deger b:where(.v3,.v3 *){color:var(--hata-metin)}
.h-kpi[data-durum="yok"] .h-kpi-deger b:where(.v3,.v3 *){color:var(--metin-3)}
.h-iz:where(.v3,.v3 *){animation:h-iz var(--dur-6) var(--ease-standard) 1}
@keyframes h-iz{from{color:var(--marka)}}
.h-haneler:where(.v3,.v3 *){display:inline-flex;font-variant-numeric:tabular-nums}
.h-hane:where(.v3,.v3 *){display:inline-block;position:relative;overflow:clip}
.h-hane > span:where(.v3,.v3 *){display:inline-block}

.h-ilerleme:where(.v3,.v3 *){--deger:0;--ton:var(--marka);position:relative;height:4px;border-radius:2px;background:var(--celik-a10);overflow:visible}
.h-ilerleme:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--ton);transform-origin:0 50%;transform:scaleX(var(--deger));transition:transform var(--dur-5) var(--yay-ui)}
.h-ilerleme[data-ton="dikkat"]:where(.v3,.v3 *){--ton:var(--dikkat)} .h-ilerleme[data-ton="hata"]:where(.v3,.v3 *){--ton:var(--hata)} .h-ilerleme[data-ton="notr"]:where(.v3,.v3 *){--ton:var(--metin-2)} .h-ilerleme[data-ton="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi)}
.h-ilerleme[data-boy="ince"]:where(.v3,.v3 *){height:2px}
.h-ilerleme > i:where(.v3,.v3 *){position:absolute;top:-3px;bottom:-3px;left:calc(var(--konum) * 100%);width:1px;background:var(--metin-2)}
.h-ilerleme > i[data-ton="dikkat"]:where(.v3,.v3 *){background:var(--dikkat)} .h-ilerleme > i[data-ton="hata"]:where(.v3,.v3 *){background:var(--hata)}
.h-parcali:where(.v3,.v3 *){display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:3px}
.h-parcali > i:where(.v3,.v3 *){height:4px;border-radius:2px;background:var(--celik-a10)}
.h-parcali > i[data-d="tamam"]:where(.v3,.v3 *){background:var(--marka)}
.h-parcali > i[data-d="suruyor"]:where(.v3,.v3 *){background:var(--marka-a62);animation:h-yari-nabiz var(--nabiz) var(--ease-standard) infinite}
.h-parcali > i[data-d="bekliyor"]:where(.v3,.v3 *){background:var(--dikkat)}
.h-parcali > i[data-d="hata"]:where(.v3,.v3 *){background:var(--hata)}
@keyframes h-yari-nabiz{50%{opacity:.45}}
/* Ciz.* (arac.js) SVG sınıfları */
.h-c-iz:where(.v3,.v3 *){stroke:var(--celik-a10)} .h-c-marka:where(.v3,.v3 *){stroke:var(--marka)} .h-c-dikkat:where(.v3,.v3 *){stroke:var(--dikkat)} .h-c-hata:where(.v3,.v3 *){stroke:var(--hata)} .h-c-bilgi:where(.v3,.v3 *){stroke:var(--bilgi)}
.h-c-celik:where(.v3,.v3 *){stroke:var(--celik-a45)} .h-c-cizgi:where(.v3,.v3 *){stroke:var(--cizgi-3)} .h-c-metin:where(.v3,.v3 *){stroke:var(--metin-2)}
.h-c-f-marka:where(.v3,.v3 *){fill:var(--marka)} .h-c-f-dikkat:where(.v3,.v3 *){fill:var(--dikkat)} .h-c-f-hata:where(.v3,.v3 *){fill:var(--hata)} .h-c-f-celik:where(.v3,.v3 *){fill:var(--celik-a45)} .h-c-f-iz:where(.v3,.v3 *){fill:var(--celik-a10)} .h-c-f-bilgi:where(.v3,.v3 *){fill:var(--bilgi)}
.h-c-yazi:where(.v3,.v3 *){fill:var(--metin-3);font-family:var(--font);font-size:var(--t-12);font-weight:500;font-variant-numeric:tabular-nums}
.h-c-yazi2:where(.v3,.v3 *){fill:var(--metin-2);font-family:var(--font);font-size:var(--t-12);font-weight:600;font-variant-numeric:tabular-nums}
.h-c-yazi1:where(.v3,.v3 *){fill:var(--metin-1);font-family:var(--font);font-weight:700;font-variant-numeric:tabular-nums}
.h-svg:where(.v3,.v3 *){overflow:visible}

/* monogram ve avatar: kimlik ayrı kanal (şekil + harf), durum ayrı kanal (rozet) */
.h-monogram:where(.v3,.v3 *){--boy:32px;position:relative;isolation:isolate;width:var(--boy);height:var(--boy);display:grid;place-items:center;flex:none;
  font-size:max(var(--t-11),calc(var(--boy) * .36));font-weight:var(--a-kalin);letter-spacing:.02em;color:var(--metin-1)}
.h-monogram:where(.v3,.v3 *)::before,.h-monogram:where(.v3,.v3 *)::after{content:"";position:absolute;z-index:-1;clip-path:polygon(50% 0,93.3% 25%,93.3% 75%,50% 100%,6.7% 75%,6.7% 25%)}
.h-monogram:where(.v3,.v3 *)::before{inset:0;background:var(--cizgi-3)}
.h-monogram:where(.v3,.v3 *)::after{inset:1px;background:var(--yuzey-3)}
.h-monogram[data-sekil="daire"]:where(.v3,.v3 *)::before,.h-monogram[data-sekil="daire"]:where(.v3,.v3 *)::after{clip-path:circle(50%)}
.h-monogram[data-ton="canli"]:where(.v3,.v3 *)::before{background:var(--marka-a62)}
.h-monogram[data-ton="canli"]:where(.v3,.v3 *){color:var(--marka)}
.h-monogram[data-boy="22"]:where(.v3,.v3 *){--boy:22px} .h-monogram[data-boy="40"]:where(.v3,.v3 *){--boy:40px} .h-monogram[data-boy="48"]:where(.v3,.v3 *){--boy:48px} .h-monogram[data-boy="64"]:where(.v3,.v3 *){--boy:64px}
.h-avatar:where(.v3,.v3 *){--deger:0;position:relative;display:inline-grid;place-items:center;flex:none;padding:3px}
.h-avatar[data-ilerleme]:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(var(--marka) calc(var(--deger) * 1turn),var(--celik-a10) 0);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}
.h-avatar > .h-rozet[data-boy="xs"]:where(.v3,.v3 *){position:absolute;right:-1px;bottom:-1px;padding:2px;border-radius:50%;background:var(--yuzey-1)}
.h-avatar[data-nefes] .h-monogram:where(.v3,.v3 *){animation:h-nefes var(--nefes) var(--ease-standard) infinite}
@keyframes h-nefes{50%{transform:scale(1.04)}}

/* =====================================================================
   9 · FORM SATIRI ve DENETİMLER
   data-durum: temiz · kirli · kaydediliyor · kaydedildi · hata · kilitli
   Etiket 14 px; açıklama yalnız (i) ipucunda. Telefonda etiket üstte.
   ===================================================================== */
.h-form:where(.v3,.v3 *){display:flex;flex-direction:column}
.h-form-satir:where(.v3,.v3 *){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--b-1) var(--b-4);min-height:var(--h-form);padding:var(--b-2) 0;border-top:1px solid var(--cizgi-1)}
.h-form-satir:first-child:where(.v3,.v3 *){border-top:0}
.h-form-etiket:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-orta);color:var(--metin-1);min-width:0}
.h-form-deger:where(.v3,.v3 *){display:block;font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);font-weight:var(--a-govde)}
.h-form-denetim:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);justify-content:flex-end;min-width:0}
.h-form-hata:where(.v3,.v3 *){grid-column:1/-1;font-size:var(--t-12);line-height:var(--sy-12);color:var(--hata-metin)}
.h-form-satir[data-durum="kirli"] .h-form-etiket:where(.v3,.v3 *)::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dikkat);flex:none}
/* kaydediliyor: kirli noktası yeşile döner ve nabız atar; denetim tam renkte, dokunulmaz. Yanına "Kaydediliyor" rozeti konabilir. */
.h-form-satir[data-durum="kaydediliyor"] .h-form-denetim:where(.v3,.v3 *){pointer-events:none}
.h-form-satir[data-durum="kaydediliyor"] .h-form-etiket:where(.v3,.v3 *)::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--marka);flex:none;animation:h-yari-nabiz var(--nabiz) var(--ease-standard) infinite}
.h-form-satir[data-durum="kaydedildi"]:where(.v3,.v3 *){animation:h-kaydedildi var(--dur-5) var(--ease-standard) 1}
@keyframes h-kaydedildi{from{background:var(--marka-a12)}}
/* kilitli: değer okunur kalır (--metin-2, 9,5:1); denetimin vurgusu çeliğe iner, yanında kilit ikonu.
   Denetimlere aria-disabled arac.js'te kendiliğinden yazılır. Opaklıkla soluklaştırma yok. */
.h-form-satir[data-durum="kilitli"] .h-form-denetim:where(.v3,.v3 *){pointer-events:none;color:var(--metin-2)}
.h-form-satir[data-durum="kilitli"] .h-form-denetim :is(.h-segment > button,.h-girdi,.h-secim select,.h-birim,.h-dugme):where(.v3,.v3 *){color:var(--metin-2)}
.h-form-satir[data-durum="kilitli"] .h-form-denetim .h-segment > .h-hap:where(.v3,.v3 *){background:var(--celik-a10);box-shadow:inset 0 0 0 1px var(--cizgi-3)}
.h-form-satir[data-durum="kilitli"] .h-form-denetim .h-anahtar:where(.v3,.v3 *){background:var(--celik-a06);box-shadow:inset 0 0 0 1px var(--cizgi-3)}
.h-form-satir[data-durum="kilitli"] .h-form-denetim .h-anahtar:where(.v3,.v3 *)::after{background:var(--metin-2)}
.h-form-satir[data-durum="kilitli"] .h-form-denetim .h-dugme:where(.v3,.v3 *){background:var(--celik-a06);box-shadow:none}
.h-form-satir[data-durum="kilitli"] .h-form-etiket:where(.v3,.v3 *)::after{content:"";width:14px;height:14px;flex:none;background:var(--metin-2);-webkit-mask:var(--s-kilit) center/contain no-repeat;mask:var(--s-kilit) center/contain no-repeat}
@media (max-width:560px){.h-form-satir:where(.v3,.v3 *){grid-template-columns:1fr}.h-form-denetim:where(.v3,.v3 *){justify-content:flex-start}}
.h-anahtar:where(.v3,.v3 *){position:relative;width:40px;height:24px;border-radius:var(--r-hap);background:var(--celik-a10);box-shadow:inset 0 0 0 1px var(--ui-sinir);flex:none;cursor:pointer;
  transition:background-color var(--dur-1) var(--ease-standard)}
.h-anahtar:where(.v3,.v3 *)::before{content:"";position:absolute;inset:-10px -4px}
.h-anahtar:where(.v3,.v3 *)::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--metin-2);
  transition:transform var(--dur-3) var(--yay-ui),background-color var(--dur-1) var(--ease-standard)}
.h-anahtar[aria-checked="true"]:where(.v3,.v3 *){background:var(--marka-a20);box-shadow:inset 0 0 0 1px var(--marka-a62)}
.h-anahtar[aria-checked="true"]:where(.v3,.v3 *)::after{transform:translateX(16px);background:var(--marka)}
.h-girdi:where(.v3,.v3 *){height:36px;min-width:0;padding:0 var(--b-3);border:0;border-radius:var(--r-2);background:var(--zemin-2);box-shadow:inset 0 0 0 1px var(--cizgi-3);
  color:var(--metin-1);font-size:var(--t-13)}
.h-girdi:where(.v3,.v3 *)::placeholder{color:var(--metin-3)}
.h-girdi:focus-visible:where(.v3,.v3 *){outline:2px solid var(--marka)}
textarea.h-girdi:where(.v3,.v3 *){height:auto;min-height:80px;padding:var(--b-2) var(--b-3);line-height:var(--sy-13);resize:vertical}
.h-girdi[aria-invalid="true"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px var(--hata)}
.h-secim:where(.v3,.v3 *){position:relative;display:inline-flex;min-width:0}
.h-secim select:where(.v3,.v3 *){appearance:none;-webkit-appearance:none;height:36px;padding:0 32px 0 var(--b-3);border:0;border-radius:var(--r-2);background:var(--zemin-2);box-shadow:inset 0 0 0 1px var(--cizgi-3);color:var(--metin-1);font-size:var(--t-13);cursor:pointer}
.h-secim:where(.v3,.v3 *)::after{content:"";position:absolute;right:10px;top:50%;width:14px;height:14px;margin-top:-7px;background:var(--metin-2);pointer-events:none;-webkit-mask:var(--s-asagi) center/contain no-repeat;mask:var(--s-asagi) center/contain no-repeat}
.h-surgu:where(.v3,.v3 *){appearance:none;-webkit-appearance:none;width:160px;height:24px;background:transparent;cursor:pointer}
.h-surgu:where(.v3,.v3 *)::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--marka) var(--yuzde,50%),var(--celik-a10) 0)}
.h-surgu:where(.v3,.v3 *)::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:var(--metin-1);box-shadow:0 0 0 3px var(--zemin),0 0 0 4px var(--marka-a62)}
.h-surgu:where(.v3,.v3 *)::-moz-range-track{height:4px;border-radius:2px;background:var(--celik-a10)}
.h-surgu:where(.v3,.v3 *)::-moz-range-progress{height:4px;border-radius:2px;background:var(--marka)}
.h-surgu:where(.v3,.v3 *)::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--metin-1)}
.h-birim:where(.v3,.v3 *){font-size:var(--t-12);color:var(--metin-2);white-space:nowrap}

/* değişiklik tepsisi (pencere altı; telefonda alt çekmece) */
.h-tepsi:where(.v3,.v3 *){position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:var(--b-2);min-height:56px;padding:var(--b-2) var(--b-3) var(--b-2) var(--b-5);
  background:var(--yuzey-pop);box-shadow:0 -1px 0 var(--cizgi-2),var(--golge-2);border-radius:0 0 var(--r-3) var(--r-3);
  opacity:0;transform:translateY(calc(12px * var(--m)));pointer-events:none;
  transition:transform var(--dur-4) var(--yay-ui),opacity var(--dur-2) var(--ease-standard)}
.h-tepsi:is([data-durum="kirli"],[data-durum="kaydediliyor"],[data-durum="basari"],[data-durum="hata"]):where(.v3,.v3 *){opacity:1;transform:none;pointer-events:auto}
.h-tepsi-ozet:where(.v3,.v3 *){flex:1;min-width:0;display:flex;align-items:center;gap:var(--b-2);font-size:var(--t-13);font-weight:var(--a-orta);color:var(--metin-1)}
.h-tepsi[data-durum="hata"] .h-tepsi-ozet:where(.v3,.v3 *){color:var(--hata-metin)}
.h-tepsi[data-durum="basari"] .h-tepsi-ozet:where(.v3,.v3 *){color:var(--marka)}

/* =====================================================================
   10 · HUD PENCERE AİLESİ
   data-tur : popover 320 · modal 560/760 · cekmece 420/480/556 · sahne · alt-sayfa
   data-boy : 320 · 420 · 480 · 520 · 556 · 560 · 640 · 720 · 760 · 920 · 1040 (genişlik)
   data-braket: tam (varsayılan) · ince · yok      data-cam: yuzen (varsayılan) · opak
   data-evre : aciliyor · acik · kapaniyor   (yaşam döngüsü; Hareket yazar, elle yazma)
   data-durum: kirli · mesgul · hata          (içerik durumu; bölüm yazar)
   Açma/kapama: Katman.ac / Katman.kapat (arac.js) → Hareket.pencereAc / pencereKapat.
   Cam yalnız data-evre="acik" iken gelir; geçiş opak kabukla yapılır.
   ===================================================================== */
.h-pencere:where(.v3,.v3 *){--gen:720px;position:absolute;z-index:var(--z-pencere);display:flex;flex-direction:column;
  width:min(var(--gen),calc(100% - 32px));max-height:calc(100% - 32px);border-radius:var(--r-3);color:var(--metin-1);
  background:var(--cam-zemin-opak);box-shadow:inset 0 0 0 1px var(--marka-a20),var(--ust-isik),var(--golge-3);isolation:isolate}
.h-pencere[data-cam="yuzen"][data-evre="acik"]:where(.v3,.v3 *),.h-pencere:not([data-cam])[data-evre="acik"]:where(.v3,.v3 *){background:var(--cam-zemin);-webkit-backdrop-filter:var(--cam-3);backdrop-filter:var(--cam-3)}
.h-pencere[data-boy="320"]:where(.v3,.v3 *){--gen:320px} .h-pencere[data-boy="420"]:where(.v3,.v3 *){--gen:420px} .h-pencere[data-boy="480"]:where(.v3,.v3 *){--gen:480px}
.h-pencere[data-boy="520"]:where(.v3,.v3 *){--gen:520px} .h-pencere[data-boy="556"]:where(.v3,.v3 *){--gen:556px} .h-pencere[data-boy="560"]:where(.v3,.v3 *){--gen:560px}
.h-pencere[data-boy="640"]:where(.v3,.v3 *){--gen:640px} .h-pencere[data-boy="720"]:where(.v3,.v3 *){--gen:720px} .h-pencere[data-boy="760"]:where(.v3,.v3 *){--gen:760px}
.h-pencere[data-boy="920"]:where(.v3,.v3 *){--gen:920px} .h-pencere[data-boy="1040"]:where(.v3,.v3 *){--gen:1040px}
.h-pencere:not([data-tur]):where(.v3,.v3 *),.h-pencere[data-tur="modal"]:where(.v3,.v3 *){inset:0;margin:auto;height:fit-content}
.h-pencere[data-tur="popover"]:where(.v3,.v3 *){--gen:320px;z-index:var(--z-acilir);box-shadow:inset 0 0 0 1px var(--cizgi-3),var(--golge-2)}
.h-pencere[data-tur="cekmece"]:where(.v3,.v3 *){--gen:480px;top:var(--kenar);bottom:var(--kenar);right:var(--kenar);max-height:none}
.h-pencere[data-tur="cekmece"][data-taraf="sol"]:where(.v3,.v3 *){right:auto;left:var(--kenar)}
.h-pencere[data-tur="sahne"]:where(.v3,.v3 *){inset:0;width:auto;max-height:none;border-radius:0;z-index:var(--z-sahne);background:var(--zemin);box-shadow:none}
.h-pencere[data-tur="sahne"][data-evre="acik"]:where(.v3,.v3 *){-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--zemin)}
.h-pencere[data-tur="alt-sayfa"]:where(.v3,.v3 *){left:0;right:0;bottom:0;width:100%;max-height:calc(100% - 48px);border-radius:var(--r-3) var(--r-3) 0 0;
  padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:inset 0 1px 0 var(--marka-a32),var(--golge-3)}
.h-pencere[data-tur="alt-sayfa"][data-yukseklik="yarim"]:where(.v3,.v3 *){height:50%} .h-pencere[data-tur="alt-sayfa"][data-yukseklik="uc-ceyrek"]:where(.v3,.v3 *){height:75%}
.h-pencere[data-tur="alt-sayfa"][data-yukseklik="tam"]:where(.v3,.v3 *){height:calc(100% - 48px)}
.h-pencere-tutamak:where(.v3,.v3 *){position:relative;display:block;width:100%;height:20px;flex:none;cursor:grab;touch-action:none}
.h-pencere-tutamak:where(.v3,.v3 *)::before{content:"";position:absolute;left:50%;top:8px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--cizgi-3)}
.h-pencere-tutamak:where(.v3,.v3 *)::after{content:"";position:absolute;left:50%;top:-12px;width:88px;height:44px;margin-left:-44px}
.h-pencere-ic:where(.v3,.v3 *){position:relative;z-index:2;display:flex;flex-direction:column;min-height:0;flex:1}
.h-pencere-bas:where(.v3,.v3 *){display:flex;align-items:flex-start;gap:var(--b-3);padding:var(--b-4) var(--b-3) var(--b-3) var(--b-5);border-bottom:1px solid var(--cizgi-1);flex:none}
.h-pencere-ikon:where(.v3,.v3 *){width:40px;height:40px;border-radius:var(--r-2);display:grid;place-items:center;flex:none;color:var(--marka);background:var(--marka-a10);box-shadow:inset 0 0 0 1px var(--marka-a32)}
.h-pencere-baslik-kap:where(.v3,.v3 *){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.h-pencere-ust:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);flex-wrap:wrap}
.h-pencere-baslik:where(.v3,.v3 *){font-size:var(--t-20);line-height:var(--sy-20);font-weight:var(--a-kalin)}
.h-pencere-meta:where(.v3,.v3 *){font-size:var(--t-13);line-height:var(--sy-13);color:var(--metin-2)}
.h-pencere-kapat:where(.v3,.v3 *){order:99;margin-left:auto;flex:none}
.h-pencere-govde:where(.v3,.v3 *){flex:1;min-height:0;overflow:auto;padding:var(--b-4) var(--b-5);overscroll-behavior:contain}
.h-pencere-alt:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);flex-wrap:wrap;padding:var(--b-3) var(--b-4) var(--b-4) var(--b-5);border-top:1px solid var(--cizgi-1);flex:none}
.h-pencere-alt > .h-risk:where(.v3,.v3 *),.h-pencere-alt > .h-pencere-alt-sag:where(.v3,.v3 *){margin-left:auto}
.h-pencere[data-tur="popover"] .h-pencere-bas:where(.v3,.v3 *){padding:var(--b-3) var(--b-2) var(--b-2) var(--b-4)}
.h-pencere[data-tur="popover"] .h-pencere-baslik:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14)}
.h-pencere[data-tur="popover"] .h-pencere-govde:where(.v3,.v3 *){padding:var(--b-3) var(--b-4)}
/* meşgul: gövde tam renkte ve dokunulmaz; başlığın altında 2 px ilerleme çizgisi nabız atar. aria-busy arac.js'te yazılır. */
.h-pencere[data-durum="mesgul"] .h-pencere-govde:where(.v3,.v3 *){pointer-events:none;cursor:progress}
.h-pencere[data-durum="mesgul"] .h-pencere-bas:where(.v3,.v3 *){position:relative}
.h-pencere[data-durum="mesgul"] .h-pencere-bas:where(.v3,.v3 *)::after{content:"";position:absolute;left:var(--b-5);right:var(--b-3);bottom:-1px;height:2px;border-radius:1px;background:var(--marka);
  animation:h-yari-nabiz var(--nabiz) var(--ease-standard) infinite}
.h-pencere[data-durum="kirli"] .h-pencere-baslik:where(.v3,.v3 *)::after{content:"";display:inline-block;width:8px;height:8px;margin-left:var(--b-2);border-radius:50%;background:var(--dikkat);vertical-align:3px}
.h-pencere-hata:where(.v3,.v3 *){display:none;align-items:center;gap:var(--b-2);margin:0 0 var(--b-3);padding:var(--b-2) var(--b-3);border-radius:var(--r-2);background:var(--hata-a12);color:var(--hata-metin);font-size:var(--t-13)}
.h-pencere[data-durum="hata"] .h-pencere-hata:where(.v3,.v3 *){display:flex}
.h-perde:where(.v3,.v3 *){position:absolute;inset:0;z-index:calc(var(--z-pencere) - 1);background:rgba(4,6,9,.62);opacity:0;transition:opacity var(--dur-3) var(--ease-exit)}
.h-perde[data-acik]:where(.v3,.v3 *){opacity:1;transition-duration:var(--dur-4);transition-timing-function:var(--ease-standard)}   /* açılış pencereyle, kapanış pencereyle birlikte (180 ms) */
.h-perde[data-kalkan]:where(.v3,.v3 *){background:transparent}   /* perdesiz modalda açılış süresince arka planı tıklamaya kapatır (inert gelene kadar) */
/* tek seferlik tarama ışını (yalnız Tam kip) */
.h-tarama:where(.v3,.v3 *){position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:5;container-type:size}
.h-tarama:where(.v3,.v3 *)::before{content:"";position:absolute;left:0;right:0;top:-64px;height:64px;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(var(--yesil-r),.08) 70%,rgba(var(--yesil-r),.3) 97%,transparent)}
.h-tarama.oyna:where(.v3,.v3 *)::before{animation:h-tarama var(--dur-6) var(--ease-standard) 1 both}
@keyframes h-tarama{0%{opacity:1;transform:translateY(0)}85%{opacity:1}100%{opacity:0;transform:translateY(calc(100cqh + 64px))}}
html[data-ortam="kapali"] .h-tarama:where(.v3,.v3 *){display:none}

/* ipucu (i) */
.h-ipucu:where(.v3,.v3 *){position:fixed;z-index:var(--z-acilir);max-width:280px;padding:var(--b-2) var(--b-3);border-radius:var(--r-2);background:var(--yuzey-pop);
  box-shadow:inset 0 0 0 1px var(--cizgi-3),var(--golge-2);font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-govde);color:var(--metin-1);pointer-events:none}
.h-ipucu .h-kbd:where(.v3,.v3 *){margin-left:var(--b-1)}
.h-ipucu-dugme:where(.v3,.v3 *){position:relative;width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;flex:none;font-size:var(--t-11);line-height:1;font-weight:var(--a-marka);font-style:normal;
  color:var(--metin-et);box-shadow:inset 0 0 0 1px var(--ui-sinir);transition:color var(--dur-1) var(--ease-standard)}
.h-ipucu-dugme:where(.v3,.v3 *)::after{content:"";position:absolute;inset:-5px}   /* masaüstü etkin alan 30 px */
.h-ipucu-dugme:hover:where(.v3,.v3 *){color:var(--metin-1)}

/* =====================================================================
   11 · TOST + GERİ AL
   Tost.goster(metin, {tur, geriAl, sure}) — en çok 2 görünür; 5 sn geri al şeridi.
   ===================================================================== */
.h-tostlar:where(.v3,.v3 *){position:fixed;left:50%;bottom:calc(var(--b-6) + var(--alt-pay,0px) + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:var(--z-bildirim);
  display:flex;flex-direction:column-reverse;align-items:center;gap:var(--b-2);width:min(560px,calc(100vw - 32px));pointer-events:none}
.h-tost:where(.v3,.v3 *){position:relative;display:flex;align-items:center;gap:var(--b-3);min-height:44px;max-width:100%;padding:0 var(--b-2) 0 var(--b-4);border-radius:var(--r-3);
  background:var(--cam-zemin);-webkit-backdrop-filter:var(--cam-2);backdrop-filter:var(--cam-2);box-shadow:inset 0 0 0 1px var(--cizgi-2),var(--golge-2);
  font-size:var(--t-13);line-height:var(--sy-13);color:var(--metin-1);overflow:hidden;pointer-events:auto}
.h-tost > .h-ik:where(.v3,.v3 *){color:var(--metin-2)}
.h-tost[data-tur="basari"] > .h-ik:where(.v3,.v3 *){color:var(--marka)} .h-tost[data-tur="uyari"] > .h-ik:where(.v3,.v3 *){color:var(--dikkat)} .h-tost[data-tur="hata"] > .h-ik:where(.v3,.v3 *){color:var(--hata-metin)} .h-tost[data-tur="bilgi"] > .h-ik:where(.v3,.v3 *){color:var(--bilgi)}
.h-tost[data-tur="hata"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px var(--hata-a32),var(--golge-2)}
.h-tost-metin:where(.v3,.v3 *){flex:1;min-width:0;padding:var(--b-2) 0}
.h-zaman-cizgi:where(.v3,.v3 *){position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--marka);transform-origin:0 50%;animation:h-zaman var(--sure,5s) linear forwards}
@keyframes h-zaman{from{transform:scaleX(1)}to{transform:scaleX(0)}}
[data-ortam="kapali"] .h-zaman-cizgi:where(.v3,.v3 *),[data-ortam="kapali"] .h-dugme[data-onay="bekliyor"]:where(.v3,.v3 *)::after{animation-duration:var(--sure,5s)!important}

/* =====================================================================
   12 · EYLEM / ONAY KARTI (tek kart ailesi; risk çerçevesi)
   data-risk: ic · disari · para · silme      data-boy: satir · kart (varsayılan) · toplu
   data-durum: bekliyor · isleniyor · onaylandi · reddedildi · ertelendi · hata
   Özet insan dilinde; ham argüman yalnız <details class="h-onay-ayrinti"> içinde.
   ===================================================================== */
.h-onay:where(.v3,.v3 *){--serit:transparent;position:relative;display:flex;flex-direction:column;gap:var(--b-2);padding:var(--b-3) var(--b-4) var(--b-3) var(--b-5);border-radius:var(--r-3);
  background:var(--yuzey-1);box-shadow:inset 0 0 0 1px var(--cizgi-2)}
.h-onay:where(.v3,.v3 *)::before{content:"";position:absolute;left:6px;top:12px;bottom:12px;width:2px;border-radius:2px;background:var(--serit)}
.h-onay[data-risk="ic"]:where(.v3,.v3 *){--serit:var(--celik-a45)}
.h-onay[data-risk="disari"]:where(.v3,.v3 *),.h-onay[data-risk="para"]:where(.v3,.v3 *){--serit:var(--dikkat)}
.h-onay[data-risk="silme"]:where(.v3,.v3 *){--serit:var(--hata);box-shadow:inset 0 0 0 1px var(--hata-a32)}
.h-onay-bas:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);min-width:0;font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);font-variant-numeric:tabular-nums}
.h-onay-kim:where(.v3,.v3 *){font-weight:var(--a-kalin);color:var(--metin-1)}
.h-onay-bas > .h-risk:where(.v3,.v3 *){margin-left:auto}
/* dar kartta başlık parçaları bütün olarak alt satıra iner: "75 dk" ve "Reklam bütçesi" sözcük ortasından kırılmaz */
.h-onay-bas:where(.v3,.v3 *){flex-wrap:wrap;row-gap:var(--b-1)}
.h-onay-bas > *:where(.v3,.v3 *){white-space:nowrap}
.h-onay-ozet:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14);font-weight:var(--a-orta);color:var(--metin-1)}
.h-onay-ozet .h-tutar:where(.v3,.v3 *){font-weight:var(--a-kalin)}
.h-onay-ayrinti > summary:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-1);cursor:pointer;font-size:var(--t-12);color:var(--metin-2);list-style:none;border-radius:var(--r-1)}
.h-onay-ayrinti > summary:where(.v3,.v3 *)::-webkit-details-marker{display:none}
.h-onay-ayrinti > summary:where(.v3,.v3 *)::after{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:var(--s-asagi) center/contain no-repeat;mask:var(--s-asagi) center/contain no-repeat;transition:transform var(--dur-2) var(--ease-standard)}
.h-onay-ayrinti[open] > summary:where(.v3,.v3 *)::after{transform:rotate(180deg)}
.h-onay-ayrinti pre:where(.v3,.v3 *){margin:var(--b-2) 0 0;padding:var(--b-2) var(--b-3);border-radius:var(--r-2);background:var(--zemin-2);font-family:var(--mono);font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);white-space:pre-wrap;max-height:160px;overflow:auto}
.h-onay-eylem:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);flex-wrap:wrap}
.h-onay-sonuc:where(.v3,.v3 *){display:none;align-items:center;gap:var(--b-2);font-size:var(--t-13);font-weight:var(--a-orta)}
.h-onay:is([data-durum="onaylandi"],[data-durum="reddedildi"],[data-durum="ertelendi"],[data-durum="hata"]) .h-onay-eylem:where(.v3,.v3 *){display:none}
.h-onay:is([data-durum="onaylandi"],[data-durum="reddedildi"],[data-durum="ertelendi"],[data-durum="hata"]) .h-onay-sonuc:where(.v3,.v3 *){display:flex}
.h-onay[data-durum="onaylandi"] .h-onay-sonuc:where(.v3,.v3 *){color:var(--marka)}
.h-onay[data-durum="hata"] .h-onay-sonuc:where(.v3,.v3 *){color:var(--hata-metin)}
.h-onay:is([data-durum="reddedildi"],[data-durum="ertelendi"]) .h-onay-sonuc:where(.v3,.v3 *){color:var(--metin-2)}
/* işleniyor: aria-busy taşıyan düğme nabız çizgisini gösterir; diğer eylem düğmeleri devre dışı görünür (aria-disabled arac.js'te).
   Eylem satırındaki olgu metni --metin-2'de kalır. */
.h-onay[data-durum="isleniyor"] .h-onay-eylem:where(.v3,.v3 *){pointer-events:none}
.h-onay[data-durum="isleniyor"] .h-onay-eylem .h-dugme:not([aria-busy="true"]):where(.v3,.v3 *){background:var(--celik-a06);color:var(--metin-pasif);box-shadow:none}
.h-onay[data-boy="satir"]:where(.v3,.v3 *){flex-direction:row;align-items:center;gap:var(--b-3);padding:var(--b-2) var(--b-2) var(--b-2) var(--b-5)}
.h-onay[data-boy="satir"] .h-onay-ozet:where(.v3,.v3 *){flex:1;min-width:0;font-size:var(--t-13);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-onay[data-boy="satir"] .h-onay-ozet:has(> .h-kisalt):where(.v3,.v3 *){display:flex;align-items:baseline;gap:6px;overflow:visible;text-overflow:clip}
.h-onay[data-boy="satir"] .h-onay-ozet:has(> .h-kisalt) > .h-kisalt:where(.v3,.v3 *){flex:0 1 auto}
.h-onay[data-boy="satir"] .h-onay-ozet:has(> .h-kisalt) > :not(.h-kisalt):where(.v3,.v3 *){flex:none;white-space:nowrap}

/* =====================================================================
   13 · SOHBET TURU + ARAÇ ZAMAN ÇİZELGESİ
   <div class="h-sohbet" role="log" aria-live="polite"> … .h-tur[data-kim="jarvis|ajan|ali|sistem"]
   ===================================================================== */
.h-sohbet:where(.v3,.v3 *){display:flex;flex-direction:column;gap:var(--b-4);min-width:0}
.h-tur:where(.v3,.v3 *){display:flex;flex-direction:column;gap:var(--b-2);max-width:min(72ch,100%);min-width:0}
.h-tur-kim:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-kalin);color:var(--metin-2)}
.h-tur-kim time:where(.v3,.v3 *){font-weight:var(--a-govde);font-variant-numeric:tabular-nums}
.h-tur-metin:where(.v3,.v3 *){font-size:var(--t-14);line-height:24px;color:var(--metin-1)}
.h-tur-metin p + p:where(.v3,.v3 *){margin-top:var(--b-2)}
.h-tur[data-kim="ali"]:where(.v3,.v3 *){align-self:flex-end}
.h-tur[data-kim="ali"] .h-tur-metin:where(.v3,.v3 *){padding:var(--b-2) var(--b-4);border-radius:var(--r-3) var(--r-3) var(--r-1) var(--r-3);background:var(--yuzey-3);box-shadow:inset 0 0 0 1px var(--cizgi-2)}
.h-tur[data-kim="sistem"]:where(.v3,.v3 *){align-self:center;font-size:var(--t-12);color:var(--metin-2)}
.h-tur[data-kim="sistem"] .h-tur-metin:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2)}
.h-araclar:where(.v3,.v3 *){border-radius:var(--r-2);background:var(--yuzey-2);box-shadow:inset 0 0 0 1px var(--cizgi-1)}
.h-araclar > summary:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-2);height:32px;padding:0 var(--b-3);font-size:var(--t-12);font-weight:var(--a-orta);color:var(--metin-2);cursor:pointer;list-style:none;border-radius:var(--r-2)}
.h-araclar > summary:where(.v3,.v3 *)::-webkit-details-marker{display:none}
.h-araclar > summary:where(.v3,.v3 *)::after{content:"";margin-left:auto;width:12px;height:12px;background:currentColor;-webkit-mask:var(--s-asagi) center/contain no-repeat;mask:var(--s-asagi) center/contain no-repeat;transition:transform var(--dur-2) var(--ease-standard)}
.h-araclar[open] > summary:where(.v3,.v3 *)::after{transform:rotate(180deg)}
.h-araclar > ol:where(.v3,.v3 *){display:flex;flex-direction:column;padding:0 var(--b-3) var(--b-2)}
.h-arac:where(.v3,.v3 *){--ton:var(--metin-2);display:flex;align-items:center;gap:var(--b-2);min-height:28px;font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-1)}
.h-arac:where(.v3,.v3 *)::before{content:"";width:12px;height:12px;flex:none;background:var(--ton);-webkit-mask:var(--sekil,var(--s-onay)) center/contain no-repeat;mask:var(--sekil,var(--s-onay)) center/contain no-repeat}
.h-arac[data-durum="tamam"]:where(.v3,.v3 *){--ton:var(--marka)}
.h-arac[data-durum="calisiyor"]:where(.v3,.v3 *){--ton:var(--marka);--sekil:var(--s-nokta)}
.h-arac[data-durum="calisiyor"]:where(.v3,.v3 *)::before{animation:h-yari-nabiz var(--nabiz) var(--ease-standard) infinite}
.h-arac[data-durum="uyari"]:where(.v3,.v3 *){--ton:var(--dikkat);--sekil:var(--s-ucgen)}
.h-arac[data-durum="hata"]:where(.v3,.v3 *){--ton:var(--hata-metin);--sekil:var(--s-hata)}
.h-arac[data-durum="bekliyor"]:where(.v3,.v3 *){--sekil:var(--s-halka)}
.h-arac time:where(.v3,.v3 *){margin-left:auto;color:var(--metin-2);font-variant-numeric:tabular-nums}

/* =====================================================================
   14 · TABLO (sütun önceliği dar ekranda sırayla gizlenir)
   <div class="h-tablo-kap"><table class="h-tablo"> … <th data-oncelik="3"> …
   ===================================================================== */
.h-tablo-kap:where(.v3,.v3 *){container:h-tablo / inline-size;overflow:auto;border-radius:var(--r-3);background:var(--yuzey-1);box-shadow:inset 0 0 0 1px var(--cizgi-2)}
.h-tablo:where(.v3,.v3 *){width:100%;border-collapse:separate;border-spacing:0;font-size:var(--t-13);line-height:var(--sy-13);font-variant-numeric:tabular-nums}
.h-tablo th:where(.v3,.v3 *){position:sticky;top:0;z-index:1;height:36px;padding:0 var(--b-3);text-align:left;font-size:var(--t-11);line-height:var(--sy-11);letter-spacing:var(--iz-etiket);text-transform:uppercase;
  font-weight:var(--a-kalin);color:var(--metin-et);background:var(--yuzey-2);white-space:nowrap;box-shadow:inset 0 -1px 0 var(--cizgi-2)}
.h-tablo th button:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.h-tablo th[aria-sort] button:where(.v3,.v3 *){color:var(--metin-1)}
.h-tablo td:where(.v3,.v3 *){height:var(--h-tablo);padding:0 var(--b-3);border-top:1px solid var(--cizgi-1);white-space:nowrap;color:var(--metin-1)}
.h-tablo tr:first-child td:where(.v3,.v3 *){border-top:0}
.h-tablo :is(td,th)[data-sayi]:where(.v3,.v3 *){text-align:right}
.h-tablo td[data-ikincil]:where(.v3,.v3 *){color:var(--metin-2)}
.h-tablo tbody tr:where(.v3,.v3 *){cursor:pointer}
.h-tablo tbody tr:hover td:where(.v3,.v3 *){background:var(--yuzey-2)}
.h-tablo tbody tr[aria-selected="true"] td:where(.v3,.v3 *){background:var(--marka-a10)}
.h-tablo tbody tr[aria-selected="true"] td:first-child:where(.v3,.v3 *){box-shadow:inset 2px 0 0 var(--marka)}
.h-tablo tbody tr:focus-visible:where(.v3,.v3 *){outline:2px solid var(--marka);outline-offset:-2px}
@container h-tablo (max-width:960px){.h-tablo [data-oncelik="4"]:where(.v3,.v3 *){display:none}}
@container h-tablo (max-width:760px){.h-tablo [data-oncelik="3"]:where(.v3,.v3 *){display:none}}
@container h-tablo (max-width:560px){.h-tablo [data-oncelik="2"]:where(.v3,.v3 *){display:none}}

/* =====================================================================
   15 · KOMUT PALETİ (⌘K, /, @ — tek bileşen, tek dizin)
   .h-pencere[data-tur="modal"][data-boy="640"].h-palet
   ===================================================================== */
/* palet ortalanmaz, üstte sabit durur: sonuç sayısı değişince kutu zıplamaz. --palet-ust ile ayarlanır. */
.h-pencere.h-palet:is(:not([data-tur]),[data-tur="modal"]):where(.v3,.v3 *){--palet-ust:min(14%,120px);top:var(--palet-ust);bottom:auto;margin:0 auto;max-height:calc(100% - var(--palet-ust) - 16px)}
.h-palet .h-pencere-ic:where(.v3,.v3 *){padding:0}
.h-palet-girdi-kap:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-3);height:56px;padding:0 var(--b-4);border-bottom:1px solid var(--cizgi-2);flex:none}
.h-palet-girdi-kap > .h-ik:where(.v3,.v3 *){color:var(--metin-2)}
.h-palet-girdi:where(.v3,.v3 *){flex:1;min-width:0;height:40px;border:0;background:transparent;font-size:var(--t-16);font-weight:var(--a-orta);color:var(--metin-1)}
.h-palet-girdi:where(.v3,.v3 *)::placeholder{color:var(--metin-3)}
.h-palet-girdi:focus-visible:where(.v3,.v3 *){outline:none}
.h-palet-liste:where(.v3,.v3 *){flex:1;min-height:0;max-height:min(420px,60vh);overflow:auto;padding:var(--b-2)}
.h-palet-grup:where(.v3,.v3 *){padding:var(--b-3) var(--b-3) var(--b-1)}
.h-palet-satir:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-3);min-height:40px;padding:0 var(--b-3);border-radius:var(--r-2);font-size:var(--t-14);color:var(--metin-1);cursor:pointer}
.h-palet-satir > .h-ik:where(.v3,.v3 *){color:var(--metin-2)}
.h-palet-satir:hover:where(.v3,.v3 *){background:var(--celik-a06)}
.h-palet-satir[aria-selected="true"]:where(.v3,.v3 *){background:var(--marka-a10);box-shadow:inset 2px 0 0 var(--marka)}
.h-palet-satir[aria-selected="true"] > .h-ik:where(.v3,.v3 *){color:var(--marka)}
.h-palet-esanlam:where(.v3,.v3 *){font-size:var(--t-12);color:var(--metin-2);white-space:nowrap}
.h-palet-satir[aria-selected="true"] .h-palet-esanlam:where(.v3,.v3 *){color:var(--metin-et)}   /* seçili yeşil zeminde Lc 76 (ikincil 58'e iniyordu) */
.h-palet-kisayol:where(.v3,.v3 *){margin-left:auto;display:flex;gap:var(--b-1);flex:none}
.h-palet-alt:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-4);height:40px;padding:0 var(--b-4);border-top:1px solid var(--cizgi-1);font-size:var(--t-12);color:var(--metin-2);flex:none}
.h-palet-alt span:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-1)}

/* =====================================================================
   16 · CANLI OTURUM ADASI ve SON OLAY ÇİPİ
   ===================================================================== */
.h-ada:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-2);height:32px;padding:0 var(--b-1) 0 var(--b-3);border-radius:var(--r-hap);background:var(--cam-zemin);
  -webkit-backdrop-filter:var(--cam-1);backdrop-filter:var(--cam-1);box-shadow:inset 0 0 0 1px var(--marka-a32),var(--golge-2);
  font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--metin-1);white-space:nowrap;z-index:var(--z-bildirim)}
.h-ada time:where(.v3,.v3 *){font-variant-numeric:tabular-nums;color:var(--metin-2)}
.h-ada .h-dugme:where(.v3,.v3 *){height:24px;--yuk:24px}
.h-ada[data-boy="genis"]:where(.v3,.v3 *){height:auto;min-height:56px;padding:var(--b-2);border-radius:var(--r-3);gap:var(--b-3)}
.h-ada-onizleme:where(.v3,.v3 *){width:64px;height:40px;border-radius:var(--r-1);background:var(--yuzey-3);box-shadow:inset 0 0 0 1px var(--cizgi-2);flex:none;overflow:hidden}
.h-olay:where(.v3,.v3 *){--ton:var(--metin-2);display:inline-flex;align-items:center;gap:var(--b-2);height:32px;max-width:100%;padding:0 var(--b-1) 0 var(--b-3);border-radius:var(--r-hap);
  background:var(--cam-zemin);-webkit-backdrop-filter:var(--cam-1);backdrop-filter:var(--cam-1);box-shadow:inset 0 0 0 1px var(--cizgi-2),var(--golge-2);
  font-size:var(--t-13);line-height:var(--sy-13);color:var(--metin-1);white-space:nowrap;min-width:0}
.h-olay > .h-ik:where(.v3,.v3 *){color:var(--ton)}
.h-olay > .h-olay-metin:where(.v3,.v3 *){overflow:hidden;text-overflow:ellipsis;min-width:0}
.h-olay time:where(.v3,.v3 *){color:var(--metin-2);font-variant-numeric:tabular-nums}
.h-olay .h-dugme:where(.v3,.v3 *){--yuk:24px;height:24px;padding:0 var(--b-2);font-size:var(--t-12)}
.h-olay[data-ton="canli"]:where(.v3,.v3 *){--ton:var(--marka)}
.h-olay[data-ton="dikkat"]:where(.v3,.v3 *){--ton:var(--dikkat);box-shadow:inset 0 0 0 1px var(--dikkat-a32),var(--golge-2)}
.h-olay[data-ton="hata"]:where(.v3,.v3 *){--ton:var(--hata-metin);box-shadow:inset 0 0 0 1px var(--hata-a32),var(--golge-2)}
.h-olay[data-ton="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi)}
.h-telemetri:where(.v3,.v3 *){display:flex;align-items:center;gap:var(--b-4);font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-2);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0}
.h-telemetri > span:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:6px}
.h-telemetri b:where(.v3,.v3 *){color:var(--metin-1);font-weight:var(--a-orta)}

/* =====================================================================
   17 · JARVIS KÜRESİ KABI (çizim kure.js'te)
   <div class="h-kure" data-boy="xl"><canvas class="h-kure-tuval"></canvas>
     <div class="h-kure-etiket"><span class="h-kure-ad">JARVIS</span><span class="h-kure-durum"></span><span class="h-kure-alt"></span></div></div>
   OKUMA BANDI 0,5–0,8R: halkasız; etiket bu banttadır (XL). L/M/S'de etiket kürenin altındadır.
   ===================================================================== */
.h-kure:where(.v3,.v3 *){position:relative;width:var(--kure-boy,100%);aspect-ratio:1;flex:none;isolation:isolate}
.h-kure-tuval:where(.v3,.v3 *){position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:50%}
.h-kure-tuval:focus-visible:where(.v3,.v3 *){outline:none}
.h-kure:has(.h-kure-tuval:focus-visible):where(.v3,.v3 *)::after{content:"";position:absolute;inset:calc(var(--odak-ic,30%));border-radius:50%;box-shadow:0 0 0 2px var(--marka);pointer-events:none}
.h-kure-etiket:where(.v3,.v3 *){position:absolute;left:0;right:0;top:var(--etiket-ust,71%);z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}
.h-kure-ad:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-marka);letter-spacing:var(--iz-marka);color:var(--metin-2);text-transform:uppercase}   /* metin "Jarvis" lang="en" → JARVIS */
.h-kure-durum:where(.v3,.v3 *){font-size:var(--t-20);line-height:var(--sy-20);font-weight:var(--a-kalin);color:var(--metin-1);white-space:nowrap}
.h-kure-durum[data-ton="yesil"]:where(.v3,.v3 *){color:var(--marka)} .h-kure-durum[data-ton="amber"]:where(.v3,.v3 *){color:var(--dikkat)} .h-kure-durum[data-ton="kirmizi"]:where(.v3,.v3 *){color:var(--hata-metin)}
.h-kure-alt:where(.v3,.v3 *){max-width:var(--etiket-gen,62%);font-size:var(--t-13);line-height:var(--sy-13);color:var(--metin-2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-kure[data-boy="xl"] .h-kure-ad:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14)}
.h-kure[data-etiket="alt"]:where(.v3,.v3 *){aspect-ratio:auto;display:flex;flex-direction:column;align-items:center}
.h-kure[data-etiket="alt"] .h-kure-tuval:where(.v3,.v3 *){position:relative;aspect-ratio:1;height:auto}
.h-kure[data-etiket="alt"] .h-kure-etiket:where(.v3,.v3 *){position:static;margin-top:var(--b-1);align-self:stretch;min-width:0}
.h-kure[data-etiket="alt"] .h-kure-ad:where(.v3,.v3 *){display:none}
.h-kure[data-etiket="alt"] .h-kure-durum:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14)}
.h-kure[data-etiket="alt"] .h-kure-alt:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);max-width:100%}
.h-kure[data-etiket="yok"] .h-kure-etiket:where(.v3,.v3 *){display:none}
/* rıhtım: tuval sabit kalır, kap transform ile küçülür (Hareket.rihtimla) */
.h-kure[data-rihtim] .h-kure-etiket:where(.v3,.v3 *){opacity:0}

/* =====================================================================
   18 · TELEFON ALT MENÜSÜ
   ===================================================================== */
.h-altmenu:where(.v3,.v3 *){position:absolute;left:0;right:0;bottom:0;z-index:var(--z-sahne);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;
  height:calc(64px + env(safe-area-inset-bottom,0px));padding:0 var(--b-2) env(safe-area-inset-bottom,0px);background:var(--yuzey-1);box-shadow:0 -1px 0 var(--cizgi-2)}
.h-altmenu-oge:where(.v3,.v3 *){position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:64px;min-width:var(--hedef-dokun);
  font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--metin-2)}
.h-altmenu-oge[aria-current="page"]:where(.v3,.v3 *){color:var(--marka)}
.h-altmenu-oge .h-ik:where(.v3,.v3 *){width:22px;height:22px}
.h-altmenu-oge .h-sayi-rozet:where(.v3,.v3 *){top:6px;right:calc(50% - 22px)}
.h-altmenu-jarvis:where(.v3,.v3 *){position:relative;width:56px;height:56px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:var(--zemin);box-shadow:0 0 0 1px var(--marka-a32),0 8px 24px -10px rgba(var(--yesil-r),.6)}
.h-altmenu-jarvis canvas:where(.v3,.v3 *){width:48px;height:48px}
.h-altmenu[data-klavye]:where(.v3,.v3 *){display:none}

/* =====================================================================
   19 · DOKUNMATİK GÜVENCESİ: her dokunma hedefi gerçek 44×44 kutu (pointer:coarse)
   Yalnız ::before ile genişletme yetmez: 2–4 px aralıkta duran komşu düğmelerin
   genişletmeleri birbirini örter (sonraki öğe üstte kalır). Bu yüzden dokunmatikte
   düğme, çip, girdi ve özet kutusu 44 px'e büyür; aralıklar en az 8 px olur.
   Görsel olarak küçük kalan tek öğeler: onay kutusu, (i) düğmesi ve anahtar
   (komşusuz durdukları için ::before/::after ile 44 px'e genişler). Ray öğesi zaten 48 px.
   ===================================================================== */
@media (pointer:coarse){
  .h-dugme:where(.v3,.v3 *),.h-dugme[data-boy="s"]:where(.v3,.v3 *),.h-dugme[data-boy="l"]:where(.v3,.v3 *){--yuk:44px;min-width:44px}
  .h-satir-eylem:where(.v3,.v3 *),.h-satir-ikincil:where(.v3,.v3 *),.h-dugme-grup:where(.v3,.v3 *),.h-onay-eylem:where(.v3,.v3 *),.h-pencere-alt:where(.v3,.v3 *),.h-tepsi:where(.v3,.v3 *),.h-widget-sag:where(.v3,.v3 *){gap:var(--b-2)}
  .h-satir-eylem[data-dikey]:where(.v3,.v3 *){width:auto;min-width:96px}
  .h-widget-bas:where(.v3,.v3 *){z-index:6;min-height:var(--w-bas);height:auto}   /* 44 px düğme başlığa sığar; gövdenin üstünde kalır */
  /* olay çipi ve canlı ada: kapsül 44 px olur, içindeki düğme 36 px görünür, 44 px etkin */
  .h-olay:where(.v3,.v3 *),.h-ada:where(.v3,.v3 *){height:44px}
  .h-olay .h-dugme:where(.v3,.v3 *),.h-ada .h-dugme:where(.v3,.v3 *){--yuk:36px;height:36px;min-width:44px}
  .h-olay .h-dugme:where(.v3,.v3 *)::before,.h-ada .h-dugme:where(.v3,.v3 *)::before{content:"";position:absolute;inset:-4px 0}
  /* girdi, seçim, özet */
  .h-girdi:where(.v3,.v3 *),.h-secim select:where(.v3,.v3 *),.h-palet-girdi:where(.v3,.v3 *){min-height:44px}
  .h-girdi:where(.v3,.v3 *){height:44px}
  textarea.h-girdi:where(.v3,.v3 *){height:auto}
  details > summary:where(.v3,.v3 *){min-height:44px}
  .h-araclar > summary:where(.v3,.v3 *){height:44px}
  .h-onay-ayrinti > summary:where(.v3,.v3 *){min-height:44px;min-width:44px}
  /* çip, sekme, segment, kaydırıcı */
  button.h-cip:where(.v3,.v3 *),.h-cip[data-tur="suzgec"]:where(.v3,.v3 *){height:44px;min-width:44px;justify-content:center}
  .h-sekme:where(.v3,.v3 *){height:44px}
  .h-segment > button:where(.v3,.v3 *),.h-segment[data-boy="l"] > button:where(.v3,.v3 *){height:44px;line-height:44px;min-width:44px}
  .h-daha:where(.v3,.v3 *){min-height:44px;min-width:44px}
  .h-surgu:where(.v3,.v3 *){height:44px}
  .h-menu-oge:where(.v3,.v3 *){min-height:44px}
  .h-palet-satir:where(.v3,.v3 *){min-height:48px}
  .h-satir:where(.v3,.v3 *){min-height:max(var(--yuk),56px)}
  /* görsel olarak küçük kalanlar: genişleme komşu hedefin alanına girmesin diye yanlarda pay bırakılır
     (genişleme = aralık + pay) ve öğe komşu yazının üstünde kalır */
  .h-ipucu-dugme:where(.v3,.v3 *){margin-inline:var(--b-1);z-index:1}
  .h-ipucu-dugme:where(.v3,.v3 *)::after{inset:-12px}
  .h-kutu:where(.v3,.v3 *){margin-inline:6px;z-index:1}
  .h-kutu:where(.v3,.v3 *)::before{inset:-14px}
  .h-anahtar:where(.v3,.v3 *)::before{inset:-10px -4px}
}
/* dar ekranda form satırı alt alta dizilir: etiketteki (i) düğmesinin 44 px alanı alttaki denetime girmesin (12 px aralık) */
@media (pointer:coarse) and (max-width:560px){.h-form-satir:where(.v3,.v3 *){row-gap:var(--b-3)}}

/* =====================================================================
   20 · SONSUZ DÖNGÜLER (v3)
   Sonsuz döngü yalnız canlıda olan yerde: küre, canlı nokta ve şerit, çalışan ajan, yükleyici; bir de Ali'nin beğendiği
   öğelerde (ana ekran halka çerçevesi, dalga, maskot). Döngüler yalnız transform, opacity ve filter canlandırır, görünmeyen
   katmanda (gizli bölüm, .uyku) durur. Sakin kipte --ortam-hiz ile yavaşlar; Kapalı kipte tek durağan kare (tokens.css).
   ===================================================================== */

/* #####################################################################
   v3 · MEVCUT DİL KATMANI (12 Ekim 2026) — ../MEVCUT-DIL.md
   Holo v2'nin bileşenleri, sınıfları ve API'si durur; görünüşleri canlı panelin bugünkü diline döner:
   kutusuz widget + üst kural (canlı .w), cam blok + köşe parantezi (.hw-cam), holo pencere (.holo-k),
   parlayan mono rakam (.hw-n), sinyal şeritli satır (.hw-s), çerçeveli küçük çip (.hw-cip), düz altıgen ağ (#hexCv).
   v2'nin kendiliğinden eklediği dekorlar KAPALIDIR; kaynakları 23'te durur ve yalnız data-öznitelikle açılır
   (liste: SOZLESME.md 11). Canlandırılan özellikler yalnız transform, opacity, filter (SVG'de stroke-dashoffset).
   ##################################################################### */

/* =====================================================================
   21 · TEMEL: harf aralıklı başlık, künye, parlayan mono rakam (canlı ölçüler)
   ===================================================================== */
/* küçük büyük-harf etiket: canlı .hw-et 8,5 px · 1,7 px · 700 · #7E8C9B → 11 px tabanında aynı mutlak aralık (.16em) */
.h-et:where(.v3,.v3 *){letter-spacing:.16em;color:var(--metin-3)}
.h-et[data-ton="canli"]:where(.v3,.v3 *){color:var(--marka)} .h-et[data-ton="dikkat"]:where(.v3,.v3 *){color:var(--dikkat)} .h-et[data-ton="bilgi"]:where(.v3,.v3 *){color:var(--bilgi)}
/* panel başlığı (canlı W .w6-pb: 10,5 px · .28em · 700 · #A3B2C0, ikon yeşil parıltılı) */
.h-baslik-et:where(.v3,.v3 *){letter-spacing:.24em;color:var(--sis)}
.h-baslik-et .h-ik:where(.v3,.v3 *){color:var(--marka);filter:var(--parla-ikon)}
/* HUD başlığı = canlı widget başlığı (.wh): 17,9 px · 3,6 px · 400 · krem; ikon krem + yeşil hale. Parlama YOK. */
.h-baslik-holo:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:9px;min-width:0;font-size:var(--t-wbas);line-height:24px;font-weight:var(--a-wbas);
  letter-spacing:var(--iz-wbas);text-transform:uppercase;color:var(--metin-1);white-space:nowrap}
.h-baslik-holo .h-ik:where(.v3,.v3 *){width:18px;height:18px;stroke-width:1.7;color:var(--metin-1);filter:var(--parla-ikon);flex:none}
.h-baslik-holo b:where(.v3,.v3 *){font-weight:inherit;color:var(--marka)}
.h-baslik-holo[data-boy="l"]:where(.v3,.v3 *){font-size:var(--t-20);line-height:var(--sy-20);letter-spacing:.2em}
/* sayfa başlığı = canlı LEVEL UP MEDYA (#w-title h1: 26 × 1,18 = 30,7 px · 700 · 1,2 px; <b> yeşil 300) */
.h-baslik-holo[data-boy="xl"]:where(.v3,.v3 *){font-size:calc(30px * var(--yazi));line-height:36px;font-weight:var(--a-kalin);letter-spacing:1.2px}
.h-baslik-holo[data-boy="xl"] b:where(.v3,.v3 *){font-weight:300;letter-spacing:.5px}
/* künye = canlı .pk (10 px · 5 px · yeşil, önünde 26 px çizgi) ve .holo-et (9,5 px · 3 px · yeşil .85, önünde 5 px nokta) → 11 px */
.h-kunye:where(.v3,.v3 *){display:inline-flex;align-items:center;gap:var(--b-2);font-size:var(--t-11);line-height:var(--sy-11);font-weight:var(--a-orta);letter-spacing:.27em;
  text-transform:uppercase;color:rgba(var(--isik-rgb),.85);white-space:nowrap}
.h-kunye:where(.v3,.v3 *)::before{content:"";width:26px;height:1px;flex:none;background:rgba(var(--isik-rgb),.85)}
.h-kunye[data-nokta]:where(.v3,.v3 *)::before{width:5px;height:5px;border-radius:50%;background:rgb(var(--isik-rgb));box-shadow:0 0 10px rgb(var(--isik-rgb))}
/* parlayan mono rakam: canlı .hw-n (JetBrains Mono 600 · -.02em · tabular) — yeşil 0 0 14px .45 */
.h-rakam:where(.v3,.v3 *){font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--marka);text-shadow:var(--parla-metin);white-space:nowrap}
.h-rakam > small:where(.v3,.v3 *){font-family:var(--mono);font-size:max(var(--t-12),.42em);font-weight:500;letter-spacing:0;color:rgba(var(--isik-rgb),.6);margin-left:.2em;text-shadow:none}
.h-rakam[data-ton="notr"]:where(.v3,.v3 *){color:var(--metin-1);text-shadow:none}
.h-rakam[data-ton="dikkat"]:where(.v3,.v3 *){color:var(--dikkat);text-shadow:var(--parla-dikkat)}
.h-rakam[data-ton="hata"]:where(.v3,.v3 *){color:var(--hata-metin);text-shadow:var(--parla-hata)}
.h-rakam[data-ton="bilgi"]:where(.v3,.v3 *){color:var(--bilgi);text-shadow:var(--parla-bilgi)}
/* gösterim: saat 18:33 (.cal-saat .hw-n 34 px 600, 0 0 20px .45); 44 px ana sayaç */
.h-gosterim-34:where(.v3,.v3 *),.h-gosterim-44:where(.v3,.v3 *){font-family:var(--mono);font-weight:var(--a-gosterim-34);letter-spacing:-.02em;text-shadow:none}
.h-gosterim-44:where(.v3,.v3 *){font-weight:var(--a-gosterim-44)}
.h-rakam:is(.h-gosterim-34,.h-gosterim-44):where(.v3,.v3 *){text-shadow:var(--parla-metin-guclu)}
.h-rakam:is(.h-gosterim-34,.h-gosterim-44)[data-ton="notr"]:where(.v3,.v3 *){text-shadow:none}
/* KPI: canlı .hw-kpi .hw-n 19 px · W toplam 22 px · mono 600; nötr krem, tonlu olan kendi rengiyle parlar */
.h-kpi-deger b:where(.v3,.v3 *){font-family:var(--mono);font-size:calc(22px * var(--yazi));line-height:28px;font-weight:600;letter-spacing:-.02em;text-shadow:none}
.h-kpi[data-boy="xs"] .h-kpi-deger b:where(.v3,.v3 *){font-size:var(--t-16);line-height:var(--sy-16)}
.h-kpi[data-boy="l"] .h-kpi-deger b:where(.v3,.v3 *){font-size:var(--t-34);line-height:var(--sy-34);font-weight:600}
.h-kpi[data-ton="canli"] .h-kpi-deger b:where(.v3,.v3 *){color:var(--marka);text-shadow:var(--parla-metin)}
.h-kpi[data-durum="amber"] .h-kpi-deger b:where(.v3,.v3 *){text-shadow:var(--parla-dikkat)}
.h-kpi[data-durum="kirmizi"] .h-kpi-deger b:where(.v3,.v3 *){text-shadow:var(--parla-hata)}
.h-kpi-deger small:where(.v3,.v3 *){font-family:var(--font)}
/* yardımcılar */
.h-isikli:where(.v3,.v3 *){text-shadow:var(--parla-metin)}
.h-parlak-ikon:where(.v3,.v3 *){filter:var(--parla-ikon)}
/* sayaç değişim izi: canlı mbSayi (.9 sn, 0 0 24px .9) */
.h-iz:where(.v3,.v3 *){animation:h-iz var(--dur-6) var(--ease-standard) 1}
@keyframes h-iz{from{color:var(--marka-acik);text-shadow:0 0 24px rgba(var(--isik-rgb),.9)}}
.h-iz-b:where(.v3,.v3 *){animation:h-iz-b var(--dur-6) var(--ease-standard) 1}   /* ikiz: Hareket iz'i reflow'suz yeniden başlatır */
@keyframes h-iz-b{from{color:var(--marka-acik);text-shadow:0 0 24px rgba(var(--isik-rgb),.9)}}

/* =====================================================================
   22 · BİLEŞENLERİN CANLI HÂLİ
   ===================================================================== */
/* --- widget kabuğu = canlı .w: KUTUSUZ. Zemin, gölge, köşe yok; widget'ı 2,5 px krem üst kural taşır (.24).
       Üzerine gelince yeşil çizgi soldan sağa 1 sn'de dolar (.w::after, hoverBar 100). Canlı veri: kural yeşil (.w.live). --- */
.h-widget:where(.v3,.v3 *){background:transparent;border-radius:0;box-shadow:none;border-top:var(--kural-kalin) solid var(--kural)}
.h-widget:where(.v3,.v3 *)::after{content:"";position:absolute;left:0;right:0;top:calc(var(--kural-kalin) * -1);height:var(--kural-kalin);z-index:5;pointer-events:none;
  background:var(--marka);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--dur-kural) var(--ease-kural)}
.h-widget:is(:hover,:focus-within):where(.v3,.v3 *)::after{transform:scaleX(1)}
.h-widget:is([data-canli],[data-durum="guncelleniyor"]):where(.v3,.v3 *){border-top-color:var(--marka)}
.h-widget[data-kip="tek"]:where(.v3,.v3 *){border-top-color:rgba(var(--metin-r),.32)}
.h-widget[data-kip="tek"]:where(.v3,.v3 *)::after{background:var(--metin-1)}
/* yüzen widget (cam): canlı holo pencere yüzeyi; üst kural yerine ince yeşil çerçeve */
.h-widget[data-kip="cam"]:where(.v3,.v3 *){border-top:0;border-radius:14px;background:var(--cam-holo-2);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.26),0 24px 60px -24px rgba(0,0,0,.8);
  -webkit-backdrop-filter:var(--cam-2);backdrop-filter:var(--cam-2)}
.h-widget[data-kip="cam"]:where(.v3,.v3 *)::after{display:none}
/* kutulu widget (v3 seçeneği): cam blok yüzeyi (.hw-cam) — bölüm kutu isterse */
.h-widget[data-kip="kart"]:where(.v3,.v3 *){border-top:0;border-radius:var(--r-kart);background:var(--cam-holo-1);box-shadow:inset 0 0 0 1px var(--kart-kenar),var(--kart-ust)}
.h-widget[data-kip="kart"]:where(.v3,.v3 *)::after{left:var(--r-kart);right:var(--r-kart);top:0;height:1px}
/* veri durumları: hata ve bayat kuralı amber yapar (eski ince çizgi kalkar) */
.h-widget[data-durum="hata"]:where(.v3,.v3 *){border-top-color:var(--dikkat)}
.h-widget[data-durum="hata"]:where(.v3,.v3 *)::before{display:none}
.h-widget[data-durum="bayat"]:where(.v3,.v3 *){border-top-color:rgba(var(--amber-r),.5)}
/* başlık = canlı .wh: üst 13 · alt 9 · sol 28 px; 17,9 px · 3,6 px · 400 · krem; ikon 18 px krem + yeşil hale */
.h-widget-bas:where(.v3,.v3 *){height:auto;min-height:var(--w-bas);padding:13px var(--b-1) 9px var(--w-bas-sol);gap:9px}
.h-widget-bas > .h-ik:where(.v3,.v3 *){width:18px;height:18px;stroke-width:1.7;color:var(--metin-1);filter:var(--parla-ikon)}
.h-widget-ad:where(.v3,.v3 *){--wad:var(--t-wbas);--wad-sy:24px;font-weight:var(--a-wbas);letter-spacing:var(--iz-wbas);color:var(--metin-1);text-shadow:none}
:where(.h-widget[data-boy="s"],.h-widget[data-boy="serit"]) .h-widget-ad:where(:not([data-boy])):where(.v3,.v3 *){--wad:calc(15px * var(--yazi));--wad-sy:20px}
.h-widget-ad[data-boy="s"]:where(.v3,.v3 *){--wad:calc(15px * var(--yazi));--wad-sy:20px}
.h-widget-ad[data-boy="m"]:where(.v3,.v3 *){--wad:var(--t-wbas);--wad-sy:24px}
.h-widget-ad[data-boy="l"]:where(.v3,.v3 *){--wad:calc(22px * var(--yazi));--wad-sy:28px}
.h-widget-ad[data-cumle]:where(.v3,.v3 *){letter-spacing:0;font-weight:var(--a-orta)}
@container h-widget (max-width:300px){.h-widget-ad:where(.v3,.v3 *){letter-spacing:2.4px}.h-widget-ad:where(:not([data-boy])):where(.v3,.v3 *){font-size:min(var(--wad),calc(15px * var(--yazi)))}}
/* başlık yan bilgisi = canlı .tick: 9,5 px · 1,2 px · #7E8C9B (üzerine gelince #AEBAC5) → 11 px */
.h-widget-olgu:where(.v3,.v3 *){font-size:var(--t-11);line-height:var(--sy-11);font-weight:var(--a-govde);letter-spacing:.1em;color:var(--metin-3);transition:color var(--dur-3) var(--ease-standard)}
.h-widget:is(:hover,:focus-within) .h-widget-olgu:where(.v3,.v3 *){color:var(--metin-2)}
.h-widget-olgu b:where(.v3,.v3 *){font-family:var(--font);font-weight:var(--a-kalin);color:var(--metin-1);text-shadow:none}
/* başlık düğmesi = canlı .wh .hbtn ("TAKVİMİ AÇ"): 26 px · 8 px köşe · yeşil .35 çerçeve · 700 büyük harf */
.h-widget-bas .h-dugme:not([data-tur="ikon"]):not([data-tur="hayalet"]):where(.v3,.v3 *){--yuk:26px;height:26px;padding:0 11px;border-radius:8px;font-size:var(--t-11);line-height:1;font-weight:var(--a-kalin);
  letter-spacing:.12em;text-transform:uppercase;color:#CFEFDF;background:rgba(var(--isik-rgb),.05);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.35)}
.h-widget-bas .h-dugme:not([data-tur="ikon"]):not([data-tur="hayalet"]):hover:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.14);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.65),0 0 18px -5px rgba(var(--isik-rgb),.8)}
/* gövde: canlı .wb yatay 36 px; dar widget'ta 16 */
.h-widget-govde:where(.v3,.v3 *){padding:0 var(--w-ic) var(--b-4)}
.h-widget-alt:where(.v3,.v3 *){padding:0 var(--w-ic) var(--b-3)}
.h-widget[data-boy="serit"] .h-widget-govde:where(.v3,.v3 *){padding:var(--b-3) var(--w-ic)}
@container h-widget (max-width:320px){.h-widget-bas:where(.v3,.v3 *){padding-left:var(--b-3)}.h-widget-govde:where(.v3,.v3 *),.h-widget-alt:where(.v3,.v3 *){padding-inline:var(--b-4)}}
/* tazelik yazısı canlıdaki gibi görünür kalır ("● 5 yeni"); yalnız 300 px'ten dar widget'ta nokta kalır */
@container h-widget (max-width:420px){.h-widget-bas .h-tazelik:where(.v3,.v3 *){font-size:var(--t-11);gap:6px}}
@container h-widget (max-width:300px){.h-widget-bas .h-tazelik:where(.v3,.v3 *){font-size:0;gap:0}}
/* tazelik noktası = canlı .hw-nok: 6 px yeşil, çevresinde 2 sn'de bir yayılan halka (canlı nokta) */
.h-tazelik:where(.v3,.v3 *){position:relative;font-size:var(--t-11);line-height:var(--sy-11);letter-spacing:.06em;color:var(--metin-3)}
.h-tazelik:where(.v3,.v3 *)::before{box-shadow:0 0 6px var(--marka)}
.h-tazelik:not([data-durum]):where(.v3,.v3 *)::after{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 1.5px rgba(var(--yesil-r),.6);opacity:0;animation:h-halka-nabiz calc(2s / var(--ortam-hiz)) var(--ease-standard) infinite}
.h-tazelik[data-durum="bayat"]:where(.v3,.v3 *)::before{box-shadow:0 0 6px var(--dikkat)}
.h-tazelik[data-durum="yok"]:where(.v3,.v3 *)::before{box-shadow:none}
@keyframes h-halka-nabiz{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(2.2)}}
/* iskelet: yalnız yüklenirken akan hafif parıltı */
.h-widget[data-durum="iskelet"] .h-widget-govde:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent 28%,rgba(var(--isik-rgb),.07) 50%,transparent 72%);transform:translateX(-100%);
  animation:h-parilti calc(var(--dur-parilti) / var(--ortam-hiz)) var(--ease-standard) infinite}
@keyframes h-parilti{to{transform:translateX(100%)}}
/* güncellenen öğe: canlı .hw-s:hover süpürmesi ile aynı ışık, bir kez */
.h-taze:where(.v3,.v3 *)::after{background:linear-gradient(100deg,transparent 30%,rgba(var(--isik-rgb),.16) 50%,transparent 70%);animation:h-supur var(--dur-6) var(--ease-canli) 1 forwards}

/* --- cam blok = canlı .hw-cam: 1 px yeşil .16 çerçeve · 10 px köşe · yeşil .065 → .012 · üst ışık --- */
.h-kart:where(.v3,.v3 *){border-radius:var(--r-kart);background:var(--cam-holo-1);box-shadow:inset 0 0 0 1px var(--kart-kenar),var(--kart-ust)}
.h-kart[data-tur="ic"]:where(.v3,.v3 *){border-radius:8px;background:rgba(var(--metin-r),.02);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.07)}   /* canlı .gun-ser kutusu */
.h-holo-cam:where(.v3,.v3 *){position:relative;isolation:isolate;border-radius:var(--r-kart);background:var(--cam-holo-1);box-shadow:inset 0 0 0 1px var(--kart-kenar),var(--kart-ust)}
/* cam blok köşe parantezi (canlı .hw-cam > .k): 7 px · 1,5 px · yeşil .7 · kenarın 1 px dışında · 4 px yuvarlak.
   .h-holo-cam'de her zaman, .h-kart / .h-onay'da data-kose ile. Dört köşe tek sözde öğede (maske). */
:is(.h-holo-cam,.h-kart[data-kose],.h-onay[data-kose]):where(.v3,.v3 *)::after{content:"";position:absolute;inset:-1px;z-index:2;pointer-events:none;border:1.5px solid var(--brk-cam);border-radius:4px;
  -webkit-mask:linear-gradient(#000 0 0) 0 0/7px 7px no-repeat,linear-gradient(#000 0 0) 100% 0/7px 7px no-repeat,linear-gradient(#000 0 0) 0 100%/7px 7px no-repeat,linear-gradient(#000 0 0) 100% 100%/7px 7px no-repeat;
  mask:linear-gradient(#000 0 0) 0 0/7px 7px no-repeat,linear-gradient(#000 0 0) 100% 0/7px 7px no-repeat,linear-gradient(#000 0 0) 0 100%/7px 7px no-repeat,linear-gradient(#000 0 0) 100% 100%/7px 7px no-repeat}
.h-holo-cam[data-kose="yok"]:where(.v3,.v3 *)::after{display:none}
/* tarama çizgisi (canlı .hw-cam.tara-cizgi): yalnız data-tarama ile */
:is(.h-holo-cam,.h-kart)[data-tarama]:where(.v3,.v3 *){overflow:hidden}
:is(.h-holo-cam,.h-kart)[data-tarama]:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:var(--doku-tarama)}
.h-holo-cerceve:where(.v3,.v3 *){position:relative;border-radius:var(--r-kart);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.26)}
.h-holo-cizgi:where(.v3,.v3 *){height:1px;border:0;margin:0;background:rgba(255,255,255,.06)}

/* --- köşe braketi (.h-brk): v3'te YALNIZ istenen yerde. Holo pencerede varsayılan (canlı .kose: 14 px · 1 px · yeşil .55 ·
       10 px içeride · 4 px yuvarlak); data-braket="ince" cam blok köşesi; "hover" v2 kilidi; "yok" kapalı.
       Widget ve kartlardaki .h-brk dinlenirken de, üzerine gelince de görünmez (canlıda widget braketi yok). --- */
.h-brk:where(.v3,.v3 *){display:none;inset:0}
:is(.h-pencere:not([data-tur="sahne"]):not([data-tur="popover"]):not([data-braket]),[data-braket="tam"],[data-braket="ince"],[data-braket="hover"]) > .h-brk:where(.v3,.v3 *){display:block}
[data-braket="tam"] > .h-brk:where(.v3,.v3 *){inset:0}
.h-brk:where(.v3,.v3 *)::before{display:none}
.h-brk:where(.v3,.v3 *)::after{--bl:var(--brk-l,14px);inset:var(--brk-ic,10px);background:none;border:var(--brk-k,1px) solid var(--brk-c,var(--brk-holo));border-radius:4px;opacity:1;transform:none;filter:none;
  -webkit-mask:linear-gradient(#000 0 0) 0 0/var(--bl) var(--bl) no-repeat,linear-gradient(#000 0 0) 100% 0/var(--bl) var(--bl) no-repeat,linear-gradient(#000 0 0) 0 100%/var(--bl) var(--bl) no-repeat,linear-gradient(#000 0 0) 100% 100%/var(--bl) var(--bl) no-repeat;
  mask:linear-gradient(#000 0 0) 0 0/var(--bl) var(--bl) no-repeat,linear-gradient(#000 0 0) 100% 0/var(--bl) var(--bl) no-repeat,linear-gradient(#000 0 0) 0 100%/var(--bl) var(--bl) no-repeat,linear-gradient(#000 0 0) 100% 100%/var(--bl) var(--bl) no-repeat}
[data-braket="ince"] > .h-brk:where(.v3,.v3 *){--brk-ic:-1px;--brk-k:1.5px;--brk-l:7px;--brk-c:var(--brk-cam)}
/* v2 kilidi (opt-in): dinlenirken soluk dış braket, üzerine gelince köşeye kilitlenir ve yeşile döner */
[data-braket="hover"] > .h-brk:where(.v3,.v3 *)::before{display:block;content:"";position:absolute;inset:-4px;background:none;border:1.5px solid rgba(var(--isik-rgb),.42);border-radius:4px;
  -webkit-mask:linear-gradient(#000 0 0) 0 0/10px 10px no-repeat,linear-gradient(#000 0 0) 100% 0/10px 10px no-repeat,linear-gradient(#000 0 0) 0 100%/10px 10px no-repeat,linear-gradient(#000 0 0) 100% 100%/10px 10px no-repeat;
  mask:linear-gradient(#000 0 0) 0 0/10px 10px no-repeat,linear-gradient(#000 0 0) 100% 0/10px 10px no-repeat,linear-gradient(#000 0 0) 0 100%/10px 10px no-repeat,linear-gradient(#000 0 0) 100% 100%/10px 10px no-repeat;
  transition:opacity var(--dur-3) var(--ease-standard),transform var(--dur-3) var(--ease-standard)}
[data-braket="hover"] > .h-brk:where(.v3,.v3 *){--brk-ic:0px;--brk-k:1.5px;--brk-l:10px;--brk-c:var(--marka)}
[data-braket="hover"] > .h-brk:where(.v3,.v3 *)::after{opacity:0;transform:scale(1.025);transition:opacity var(--dur-3) var(--ease-standard),transform var(--dur-3) var(--ease-standard)}
:is(:hover,:focus-visible,:focus-within,[aria-selected="true"],.secili,[data-duzenle])[data-braket="hover"] > .h-brk:where(.v3,.v3 *)::before{opacity:0;transform:scale(.985)}
:is(:hover,:focus-visible,:focus-within,[aria-selected="true"],.secili,[data-duzenle])[data-braket="hover"] > .h-brk:where(.v3,.v3 *)::after{opacity:1;transform:none}
/* küreye bakan kenar ışığı (v1) ve ışık dalgasının kenar katmanı: kutusuz widget'ta çerçeve çizmesin diye kapalı; data-kenar-isik ile açılır */
.h-kenar:where(.v3,.v3 *),.h-kenar-parla:where(.v3,.v3 *){display:none}
[data-kenar-isik] > :is(.h-kenar,.h-kenar-parla):where(.v3,.v3 *){display:block}

/* --- holo pencere = canlı .holo-k: koyu cam (.93 → .90) · 1 px yeşil .26 + iç beyaz .03 · 18 px köşe · üstte ışık havuzu ·
       0 40px 90px gölge + 0 0 60px yeşil hale · açıkken blur(18px) saturate(1.2). Tarama çizgisi ve üst ışık çizgisi YOK. --- */
.h-pencere:where(.v3,.v3 *){border-radius:var(--r-pencere);background:var(--cam-holo-2);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.26),inset 0 0 0 2px rgba(255,255,255,.03),var(--golge-holo)}
.h-pencere:not([data-tur="sahne"])[data-cam="yuzen"][data-evre="acik"]:where(.v3,.v3 *),.h-pencere:not([data-tur="sahne"]):not([data-cam])[data-evre="acik"]:where(.v3,.v3 *){background:var(--cam-holo-2);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)}
.h-pencere:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:var(--isik-havuzu)}
.h-pencere:where(.v3,.v3 *)::after{content:none}
.h-pencere[data-tur="sahne"]:where(.v3,.v3 *){border-radius:0}
.h-pencere[data-tur="sahne"]:where(.v3,.v3 *)::before{display:none}
.h-pencere[data-tur="popover"]:where(.v3,.v3 *){border-radius:14px;background:var(--cam-ipucu);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.28),0 12px 30px -10px rgba(0,0,0,.85),0 0 22px -12px rgba(var(--isik-rgb),.9)}
.h-pencere[data-tur="popover"][data-evre="acik"]:where(.v3,.v3 *){-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.h-pencere[data-tur="alt-sayfa"]:where(.v3,.v3 *){border-radius:var(--r-pencere) var(--r-pencere) 0 0;box-shadow:inset 0 1px 0 rgba(var(--isik-rgb),.32),var(--golge-holo)}
.h-pencere-bas:where(.v3,.v3 *){padding:var(--b-4) var(--b-3) var(--b-3) var(--b-5);border-bottom:1px solid rgba(255,255,255,.06);background:none}
.h-pencere-ikon:where(.v3,.v3 *){width:36px;height:36px;border-radius:10px;color:var(--marka);background:rgba(var(--isik-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.45),0 0 12px rgba(var(--isik-rgb),.18)}
.h-pencere-ikon .h-ik:where(.v3,.v3 *){filter:none}
/* başlık = canlı .holo-t: 16 px · 600 · .2 px · #EEF3F6; büyük açılır pencerede data-boy="l" 20/700 */
.h-pencere-baslik:where(.v3,.v3 *){font-size:var(--t-16);line-height:var(--sy-16);font-weight:var(--a-orta);letter-spacing:.2px;color:var(--metin-1);text-shadow:none}
.h-pencere-baslik[data-boy="l"]:where(.v3,.v3 *){font-size:var(--t-20);line-height:var(--sy-20);font-weight:var(--a-kalin);letter-spacing:-.01em}
.h-pencere-meta:where(.v3,.v3 *){font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-3)}
.h-pencere-alt:where(.v3,.v3 *){border-top:1px solid rgba(255,255,255,.06);background:none}
/* kapat = canlı .holo-x: 28 px · 1 px .08 çerçeve · 8 px köşe; üzerine gelince krem + yeşil çerçeve */
.h-pencere-kapat.h-dugme[data-tur="ikon"]:where(.v3,.v3 *){--yuk:28px;width:28px;height:28px;border-radius:8px;color:var(--metin-3);background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.h-pencere-kapat.h-dugme[data-tur="ikon"]:hover:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.5)}
.h-pencere[data-durum="mesgul"] .h-pencere-bas:where(.v3,.v3 *)::after{box-shadow:var(--parla-cizgi)}
/* perde: canlı #prPalet arkası (rgba(3,6,9,.55) + blur 6px) */
.h-perde:where(.v3,.v3 *){background:rgba(3,6,9,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.h-perde:where(.v3,.v3 *)::before{content:none}
/* açılışta tek tarama ışını (canlı tkTara / sohbetTarama; yalnız Tam) */
.h-tarama:where(.v3,.v3 *)::before{top:-90px;height:90px;background:linear-gradient(180deg,transparent,rgba(var(--isik-rgb),.06) 55%,rgba(var(--isik-rgb),.22) 95%,rgba(214,255,234,.5) 99.2%,transparent)}
.h-tarama.oyna:where(.v3,.v3 *)::before{animation:h-tarama var(--dur-6) var(--ease-tarama) 1 both}
@keyframes h-tarama{0%{opacity:1;transform:translateY(0)}85%{opacity:1}100%{opacity:0;transform:translateY(calc(100cqh + 90px))}}

/* --- düğmeler (canlı .htk-dug, .hbtn, .onay-btn, button.git) ---
   ikincil: 1 px beyaz .14 · beyaz .035 zemin · 9 px köşe · 600 12 px; üzerine gelince yeşil .5 çerçeve + yeşil .08 zemin.
   birincil: 135° #9CFBCB → #46E899 → #22B873, koyu yazı, 0 10px 26px -10px yeşil gölge; üzerine gelince 1 px kalkar.
   ton: yeşil .4 çerçeve + .07 zemin (canlı .w6-dg / .onay-btn); üzerine gelince .14 zemin, .65 çerçeve, yeşil hale.
   Basınca .96 (canlı .hbtn:active .94). Enerji silmesi, tıklama dalgası, mıknatıs YOK (opt-in: data-enerji, data-dalga, data-miknatis). */
.h-dugme:where(.v3,.v3 *){border-radius:9px;font-size:var(--t-12);line-height:var(--sy-12);font-weight:var(--a-orta);color:var(--metin-1);background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  transition:background-color var(--dur-3) var(--ease-standard),color var(--dur-3) var(--ease-standard),transform var(--dur-1) var(--ease-standard),filter var(--dur-3) var(--ease-standard)}
.h-dugme:hover:where(.v3,.v3 *){background:rgba(var(--isik-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.5)}
.h-dugme:active:where(.v3,.v3 *){transform:scale(calc(1 - .04 * var(--m)))}
.h-dugme[data-boy="s"]:where(.v3,.v3 *){border-radius:8px;font-size:var(--t-12)}
.h-dugme[data-boy="l"]:where(.v3,.v3 *){border-radius:12px;font-size:var(--t-14);line-height:var(--sy-14)}
.h-dugme[data-tur="birincil"]:where(.v3,.v3 *){color:var(--marka-yazi);font-weight:var(--a-kalin);background:var(--dolgu-marka);box-shadow:var(--parla-dugme)}
.h-dugme[data-tur="birincil"]:hover:where(.v3,.v3 *){background:var(--dolgu-marka);box-shadow:var(--parla-dugme);filter:brightness(1.05);transform:translateY(calc(-1px * var(--m)))}
.h-dugme[data-tur="birincil"]:active:where(.v3,.v3 *){transform:scale(calc(1 - .04 * var(--m)))}
.h-dugme[data-tur="ton"]:where(.v3,.v3 *){color:rgb(var(--isik-rgb));font-weight:var(--a-kalin);background:rgba(var(--isik-rgb),.07);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.4)}   /* data-isik="dikkat" → amber ton düğme (canlı .hw-yazi "Ödeme geldi") */
.h-dugme[data-tur="ton"]:hover:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.14);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.65),0 0 18px -5px rgba(var(--isik-rgb),.8)}
.h-dugme[data-tur="hayalet"]:where(.v3,.v3 *){background:transparent;box-shadow:none;color:var(--metin-2)}
.h-dugme[data-tur="hayalet"]:hover:where(.v3,.v3 *){color:var(--metin-1);background:rgba(255,255,255,.04);box-shadow:none}
.h-dugme[data-tur="tehlike"]:where(.v3,.v3 *){--isik-rgb:var(--kirmizi-r);color:var(--hata-metin);background:rgba(var(--kirmizi-r),.08);box-shadow:inset 0 0 0 1px rgba(var(--kirmizi-r),.45)}
.h-dugme[data-tur="tehlike"]:hover:where(.v3,.v3 *){background:rgba(var(--kirmizi-r),.14);box-shadow:inset 0 0 0 1px rgba(var(--kirmizi-r),.6),0 0 14px rgba(var(--kirmizi-r),.3)}
.h-dugme[data-tur="ikon"]:where(.v3,.v3 *){border-radius:8px;background:transparent;box-shadow:none;color:var(--metin-2)}
.h-dugme[data-tur="ikon"]:hover:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.35)}
.h-dugme[data-tur="ikon"][aria-pressed="true"]:where(.v3,.v3 *){color:var(--marka);background:rgba(var(--isik-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.4)}
.h-dugme[data-tur="ikon"]:is(:hover,[aria-pressed="true"]) .h-ik:where(.v3,.v3 *){filter:none}
.h-dugme:is(:disabled,[aria-disabled="true"]):where(.v3,.v3 *){background:rgba(255,255,255,.03);color:var(--metin-pasif);box-shadow:none;filter:none;text-shadow:none;transform:none}
.h-dugme[aria-busy="true"]:where(.v3,.v3 *)::after{box-shadow:none}
/* iki adımlı onay ("Gönderilsin mi?"): canlı .htar-onay amber */
.h-dugme.h-dugme[data-onay="bekliyor"]:where(.v3,.v3 *){--isik-rgb:var(--amber-r);background:var(--dikkat-a12);color:var(--dikkat);filter:none;text-shadow:none;box-shadow:inset 0 0 0 1px rgba(var(--amber-r),.5)}
.h-dugme.h-dugme[data-onay="bekliyor"]:hover:where(.v3,.v3 *){background:rgba(var(--amber-r),.18);filter:none;transform:none}

/* --- liste satırı = canlı .hw-s: 8 px köşe · solda 2 px sinyal şeridi (0 0 8px kendi renginde) · üzerine gelince yeşil .06 zemin ve
       satır boyunca tek ışık süpürmesi (.75 sn) · canlı şerit 1,6 sn nabız (hwSerit) · başlık 13/600, alt satır 12 px --- */
.h-satir:where(.v3,.v3 *){overflow:hidden;border-radius:8px}
.h-satir:where(.v3,.v3 *)::before{left:2px;top:7px;bottom:7px}
.h-satir[data-aciliyet="normal"]:where(.v3,.v3 *)::before{background:rgba(126,140,155,.35);box-shadow:0 0 8px rgba(126,140,155,.35)}
.h-satir[data-aciliyet="dikkat"]:where(.v3,.v3 *)::before{box-shadow:0 0 8px var(--dikkat)}
.h-satir[data-aciliyet="acil"]:where(.v3,.v3 *)::before{box-shadow:0 0 8px var(--hata)}
.h-satir[data-aciliyet="canli"]:where(.v3,.v3 *)::before{box-shadow:0 0 8px var(--marka);animation:h-serit calc(var(--nabiz) / var(--ortam-hiz)) ease-in-out infinite}
@keyframes h-serit{50%{opacity:.35}}
.h-satir:hover:where(.v3,.v3 *){background:rgba(var(--isik-rgb),.06)}
.h-satir[aria-selected="true"]:where(.v3,.v3 *),.h-satir.secili:where(.v3,.v3 *){background:rgba(var(--isik-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.3)}
.h-satir:not(.h-taze):where(.v3,.v3 *)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(100deg,transparent 30%,rgba(var(--isik-rgb),.16) 50%,transparent 70%);transform:translateX(-110%)}
@media (hover:hover){.h-satir:not(.h-taze):not([data-durum="isleniyor"]):hover:where(.v3,.v3 *)::after{transform:translateX(110%);transition:transform .75s var(--ease-canli)}}
.h-satir-baslik:where(.v3,.v3 *){font-size:var(--t-13);line-height:var(--sy-13);font-weight:var(--a-orta)}
.h-satir:is([data-boy="rahat"],[data-boy="kart"],[data-boy="telefon"]) .h-satir-baslik:where(.v3,.v3 *){font-size:var(--t-14);line-height:var(--sy-14)}
.h-satir-meta:where(.v3,.v3 *){color:var(--metin-3)}
.h-satir-meta .h-say:where(.v3,.v3 *){color:var(--metin-2)}
.h-satir-zaman:where(.v3,.v3 *){font-family:var(--mono);font-size:var(--t-11);color:var(--metin-3)}
.h-satir[data-aciliyet="canli"] .h-satir-ust .h-ik:where(.v3,.v3 *){filter:none}
.h-satir[data-okunmamis] .h-satir-baslik:where(.v3,.v3 *)::before{box-shadow:0 0 10px rgba(var(--yesil-r),.8)}
.h-liste[data-ayrac] > .h-satir + .h-satir:where(.v3,.v3 *){box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}

/* --- çip = canlı .hw-cip: çerçeveli küçük büyük-harf (8,5 px · 1,4 px · 700 → 11 px · .12em) · 99 px köşe · gri .4 çerçeve;
       tonlu: tonun .5 çerçevesi, .07 zemini ve kendi rengi. Parlama YOK. --- */
.h-cip:where(.v3,.v3 *){--ton:var(--metin-3);--zem:transparent;--cer:rgba(126,140,155,.4);height:20px;padding:0 8px;font-size:var(--t-11);line-height:20px;font-weight:var(--a-kalin);letter-spacing:.12em;text-transform:uppercase;
  background:var(--zem);box-shadow:inset 0 0 0 1px var(--cer)}
.h-cip:is([data-sayi],[data-cumle]):where(.v3,.v3 *){letter-spacing:.02em;text-transform:none}
.h-cip[data-sayi]:where(.v3,.v3 *){font-family:var(--mono)}
.h-cip[data-ton="canli"]:where(.v3,.v3 *){--ton:var(--marka);--zem:rgba(var(--yesil-r),.07);--cer:rgba(var(--yesil-r),.5)}
.h-cip[data-ton="dikkat"]:where(.v3,.v3 *){--ton:var(--dikkat);--zem:rgba(var(--amber-r),.07);--cer:rgba(var(--amber-r),.5)}
.h-cip[data-ton="bilgi"]:where(.v3,.v3 *){--ton:var(--bilgi);--zem:rgba(var(--buz-r),.07);--cer:rgba(var(--buz-r),.5)}
.h-cip[data-ton="hata"]:where(.v3,.v3 *){--ton:var(--hata-metin);--zem:rgba(var(--kirmizi-r),.08);--cer:rgba(var(--kirmizi-r),.55);font-size:var(--t-11)}
:is(.h-tepsi,.h-menu,.h-ipucu) .h-cip[data-ton]:where(.v3,.v3 *){--zem:transparent}
/* süzgeç çipi = canlı sekme hapı (#ayarpop .tabs button): beyaz .03 · .12 çerçeve · gri yazı; seçili/üzerinde yeşil .55 + .08 + hale */
button.h-cip:where(.v3,.v3 *),.h-cip[data-tur="suzgec"]:where(.v3,.v3 *){--ton:var(--metin-3);--zem:rgba(255,255,255,.03);--cer:rgba(var(--metin-r),.12);height:28px;padding:0 13px;font-size:var(--t-11);font-weight:var(--a-orta);letter-spacing:.12em;text-transform:uppercase;color:var(--ton);
  transition:background-color var(--dur-3) var(--ease-standard),color var(--dur-3) var(--ease-standard),transform var(--dur-1) var(--ease-standard)}
button.h-cip:hover:where(.v3,.v3 *),button.h-cip[aria-pressed="true"]:where(.v3,.v3 *){--ton:var(--marka);--zem:rgba(var(--isik-rgb),.08);--cer:rgba(var(--isik-rgb),.55);box-shadow:inset 0 0 0 1px var(--cer),0 0 18px rgba(var(--isik-rgb),.15)}
button.h-cip:active:where(.v3,.v3 *){transform:scale(calc(1 - .05 * var(--m)))}
button.h-cip:where(.v3,.v3 *){position:relative}
.h-sayi-rozet:where(.v3,.v3 *){font-family:var(--mono)}
/* durum rozeti: şekil + metin (değişmedi); haplı hâli = canlı .ha .dur (9,5 px · 1,5 px · büyük harf · 99 px · beyaz .08 çerçeve) */
.h-rozet:where(.v3,.v3 *){position:relative}
.h-rozet[data-boy="m"]:where(.v3,.v3 *){height:22px;padding:0 10px 0 8px;font-size:var(--t-11);font-weight:var(--a-orta);letter-spacing:.12em;text-transform:uppercase;
  background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.h-rozet[data-boy="m"]:is([data-durum="calisiyor"],[data-durum="bilgi"]):where(.v3,.v3 *){background:color-mix(in srgb,var(--ton) 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ton) 45%,transparent),0 0 14px color-mix(in srgb,var(--ton) 18%,transparent)}
.h-rozet[data-boy="m"]:is([data-durum="bekliyor"],[data-durum="uyari"],[data-durum="hata"]):where(.v3,.v3 *){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ton) 45%,transparent)}
/* nokta: canlı .hw-alt i (0 0 6px); canlı noktada 2 sn'de bir yayılan halka (hwNokta) */
.h-nokta:where(.v3,.v3 *){box-shadow:0 0 6px var(--ton)}
.h-nokta[data-ton="notr"]:where(.v3,.v3 *){box-shadow:none}
.h-nokta[data-canli]:where(.v3,.v3 *)::after{animation:h-nabiz calc(2s / var(--ortam-hiz)) var(--ease-standard) infinite}
/* ikon karosu = canlı .hw-rozet / .w6-roz: tonun %45 çerçevesi, %10 zemini, 0 0 12px %18 hale; 10 px köşe */
.h-ik-karo:where(.v3,.v3 *){border-radius:10px}
.h-ik-karo[data-boy="s"]:where(.v3,.v3 *){border-radius:8px}
.h-ik-karo[data-ton]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ton) 45%,transparent),0 0 12px color-mix(in srgb,var(--ton) 18%,transparent);background:color-mix(in srgb,var(--ton) 10%,transparent)}
.h-monogram[data-ton="canli"]:where(.v3,.v3 *){filter:none}

/* --- ilerleme = canlı .hw-bar: 4 px · 99 px köşe · krem .08 iz · dolgu kendi renginde (akan parıltı YOK; opt-in data-akis) --- */
.h-ilerleme:where(.v3,.v3 *){border-radius:99px;background:rgba(var(--metin-r),.08);box-shadow:none}
.h-ilerleme:where(.v3,.v3 *)::before{background:var(--ton);box-shadow:none}
.h-ilerleme[data-boy="kalin"]:where(.v3,.v3 *){height:6px}
/* parçalı = canlı .hw-seg: 6 px · 3 px aralık · 2 px köşe · her parça 0 0 8px kendi renginde */
.h-parcali > i:where(.v3,.v3 *){height:6px;border-radius:2px}
.h-parcali > i[data-d="tamam"]:where(.v3,.v3 *){box-shadow:0 0 8px rgba(var(--yesil-r),.6)}
.h-parcali > i[data-d="suruyor"]:where(.v3,.v3 *){box-shadow:0 0 8px rgba(var(--yesil-r),.45)}
.h-parcali > i[data-d="bekliyor"]:where(.v3,.v3 *){box-shadow:0 0 8px rgba(var(--amber-r),.5)}
.h-parcali > i[data-d="hata"]:where(.v3,.v3 *){box-shadow:0 0 8px rgba(var(--kirmizi-r),.55)}
/* halka dolgusu = canlı .hw-hk .dol: drop-shadow(0 0 4px renk); iz krem .09 */
.h-c-iz:where(.v3,.v3 *){stroke:rgba(var(--metin-r),.09)}
.h-svg :is(path,circle).h-c-marka:where(.v3,.v3 *){filter:drop-shadow(0 0 4px rgba(var(--yesil-r),.55))}
.h-svg :is(path,circle).h-c-dikkat:where(.v3,.v3 *){filter:drop-shadow(0 0 4px rgba(var(--amber-r),.5))}
.h-svg :is(path,circle).h-c-hata:where(.v3,.v3 *){filter:drop-shadow(0 0 4px rgba(var(--kirmizi-r),.5))}
.h-svg .h-c-f-marka:where(.v3,.v3 *){filter:drop-shadow(0 0 4px rgba(var(--yesil-r),.6))}
.h-avatar[data-ilerleme]:where(.v3,.v3 *)::before{filter:drop-shadow(0 0 4px rgba(var(--isik-rgb),.5))}

/* --- sekme: alt çizgi hapı (2 px yeşil, 0 0 8px); seçili yazı krem. Segment = canlı sekme hapları (beyaz .03 · .12 çerçeve;
       seçili hap yeşil .08 + .55 çerçeve + 0 0 18px .15). Ray seçimi = canlı W rayı. --- */
.h-sekme:where(.v3,.v3 *){font-weight:var(--a-orta)}
.h-sekmeler > .h-hap:where(.v3,.v3 *){background:var(--marka);box-shadow:0 0 8px rgba(var(--isik-rgb),.6)}
.h-segment:where(.v3,.v3 *){background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.12)}
.h-segment > button:where(.v3,.v3 *){color:var(--metin-3)}
.h-segment > button:hover:where(.v3,.v3 *){color:var(--metin-1)}
.h-segment > .h-hap:where(.v3,.v3 *){background:rgba(var(--isik-rgb),.08);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.55),0 0 18px rgba(var(--isik-rgb),.15)}
.h-ray-oge:where(.v3,.v3 *){border-radius:12px}
.h-ray-oge[aria-selected="true"]:where(.v3,.v3 *),.h-ray-oge[aria-current="page"]:where(.v3,.v3 *){background:rgba(var(--isik-rgb),.1);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.45),0 0 18px rgba(var(--isik-rgb),.25),inset 0 0 12px rgba(var(--isik-rgb),.12)}
.h-ray-oge:is([aria-selected="true"],[aria-current="page"]) .h-ik:where(.v3,.v3 *){filter:var(--parla-ikon-guclu)}
.h-ray-oge:is([aria-selected="true"],[aria-current="page"]):where(.v3,.v3 *)::after{content:"";position:absolute;right:-16px;top:50%;width:16px;height:2px;margin-top:-1px;pointer-events:none;background:var(--marka);box-shadow:var(--parla-cizgi)}

/* --- menü ve ipucu = canlı #prIpucu yüzeyi: koyu cam .94 · yeşil .28 çerçeve · 10–12 px köşe · blur(10px) --- */
.h-menu:where(.v3,.v3 *){border-radius:12px;background:var(--cam-ipucu);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.28),0 12px 30px -10px rgba(0,0,0,.85),0 0 22px -12px rgba(var(--isik-rgb),.9);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.h-menu:where(.v3,.v3 *)::before{content:none}
.h-menu-oge:where(.v3,.v3 *){border-radius:10px;font-weight:var(--a-orta);color:var(--c-10)}
.h-menu-oge:hover:where(.v3,.v3 *),.h-menu-oge:focus-visible:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.09);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.28)}
.h-menu-oge[aria-checked="true"]:where(.v3,.v3 *){color:var(--marka)}
.h-ipucu:where(.v3,.v3 *){border-radius:10px;background:var(--cam-ipucu);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.28),0 12px 30px -10px rgba(0,0,0,.85),0 0 22px -12px rgba(var(--isik-rgb),.9);
  font-weight:var(--a-orta);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* tuş = canlı kbd: mono 700 · yeşil · yeşil .08 zemin · .35 çerçeve + 2 px alt kenar · 6 px köşe */
.h-kbd:where(.v3,.v3 *),kbd.h-kbd:where(.v3,.v3 *){font-family:var(--mono);color:var(--marka);background:rgba(var(--isik-rgb),.08);border-radius:6px;box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.35),inset 0 -1px 0 rgba(var(--isik-rgb),.35)}
/* komut paleti = canlı #prPalet .kutu: 20 px köşe · 170° koyu cam · yeşil .22 çerçeve · üstte ışık çizgisi · satır seçimi yeşil .09 + .28 */
.h-pencere.h-palet:where(.v3,.v3 *){border-radius:var(--r-palet);background:var(--cam-palet);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.22),0 40px 100px -20px rgba(0,0,0,.9),0 0 70px -24px rgba(var(--isik-rgb),.55)}
.h-pencere.h-palet:where(.v3,.v3 *)::before{content:"";inset:0 24px auto;height:1px;border-radius:0;background:var(--holo-kenar-yan);z-index:3}
.h-palet-girdi-kap:where(.v3,.v3 *){padding:0 var(--b-5);border-bottom:1px solid rgba(var(--metin-r),.07);background:none}
.h-palet-girdi-kap > .h-ik:where(.v3,.v3 *){width:18px;height:18px;color:var(--marka);filter:none}
.h-palet-girdi:where(.v3,.v3 *){font-size:var(--t-16);font-weight:var(--a-govde)}
.h-palet-satir:where(.v3,.v3 *){min-height:50px;border-radius:12px;font-size:var(--t-13);font-weight:var(--a-orta);color:var(--c-10)}
.h-palet-satir > .h-ik:where(.v3,.v3 *){width:30px;height:30px;padding:7px;border-radius:9px;color:#AEBAC5;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.08)}
.h-palet-satir:hover:where(.v3,.v3 *){background:rgba(255,255,255,.03)}
.h-palet-satir[aria-selected="true"]:where(.v3,.v3 *){color:var(--metin-1);background:rgba(var(--isik-rgb),.09);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.28)}
.h-palet-satir[aria-selected="true"] > .h-ik:where(.v3,.v3 *){color:var(--marka-yazi);background:var(--marka);box-shadow:0 0 16px -2px rgba(var(--isik-rgb),.85);filter:none}
.h-palet-alt:where(.v3,.v3 *){border-top:1px solid rgba(var(--metin-r),.07);color:var(--metin-3)}
/* değişiklik tepsisi: palet yüzeyi + üstte yeşil kenar */
.h-tepsi:where(.v3,.v3 *){background:var(--cam-palet);box-shadow:0 -1px 0 rgba(var(--isik-rgb),.24),var(--golge-2)}

/* --- girdi = canlı .ay2-ara / giriş: krem .05 zemin · .10 çerçeve · 10 px köşe; odakta yeşil .55 çerçeve + 4 px .12 halka. Tarama YOK. --- */
.h-girdi:where(.v3,.v3 *),.h-secim select:where(.v3,.v3 *){border-radius:10px;background:rgba(var(--metin-r),.05);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.1);
  transition:background-color var(--dur-3) var(--ease-standard)}
.h-girdi:hover:where(.v3,.v3 *),.h-secim select:hover:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.18)}
.h-girdi:focus:where(.v3,.v3 *),.h-secim select:focus:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.55),0 0 0 4px rgba(var(--isik-rgb),.12)}
.h-girdi:focus-visible:where(.v3,.v3 *),.h-secim select:focus-visible:where(.v3,.v3 *){outline:none}
.h-girdi[aria-invalid="true"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px var(--hata),0 0 0 4px rgba(var(--kirmizi-r),.12)}
/* yapılacak kutusu = canlı todo halkası: yuvarlak, 1,5 px yeşil .55; bitince dolu yeşil */
.h-kutu:where(.v3,.v3 *){border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(var(--isik-rgb),.55)}
.h-kutu:hover:where(.v3,.v3 *){box-shadow:inset 0 0 0 1.5px var(--marka)}
.h-kutu:checked:where(.v3,.v3 *){box-shadow:0 0 10px -2px rgba(var(--isik-rgb),.75)}
/* anahtar = canlı .sw: 36 × 20 iz (beyaz .14), 14 px beyaz düğme; açıkken iz yeşil */
.h-anahtar:where(.v3,.v3 *){width:36px;height:20px;background:rgba(255,255,255,.14);box-shadow:none}
.h-anahtar:where(.v3,.v3 *)::after{left:3px;top:3px;width:14px;height:14px;background:#FFFFFF}
.h-anahtar[aria-checked="true"]:where(.v3,.v3 *){background:var(--marka);box-shadow:none}
.h-anahtar[aria-checked="true"]:where(.v3,.v3 *)::after{transform:translateX(16px);background:#FFFFFF;box-shadow:none}
.h-surgu:where(.v3,.v3 *)::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--zemin),0 0 0 4px rgba(var(--isik-rgb),.6)}

/* --- tost (pencere ailesinin hareketiyle açılır): ipucu yüzeyi + solda 2 px sinyal şeridi; tarama dokusu YOK --- */
.h-tost:where(.v3,.v3 *){border-radius:12px;background:var(--cam-ipucu);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.28),0 12px 30px -10px rgba(0,0,0,.85),0 0 22px -12px rgba(var(--isik-rgb),.9)}
.h-tost[data-tur="uyari"]:where(.v3,.v3 *){--isik-rgb:var(--amber-r)} .h-tost[data-tur="hata"]:where(.v3,.v3 *){--isik-rgb:var(--kirmizi-r)} .h-tost[data-tur="bilgi"]:where(.v3,.v3 *){--isik-rgb:var(--buz-r)}
.h-tost[data-tur="hata"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px rgba(var(--kirmizi-r),.42),0 12px 30px -10px rgba(0,0,0,.85)}
.h-tost:where(.v3,.v3 *)::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;border-radius:2px;background:rgb(var(--isik-rgb));box-shadow:0 0 8px rgb(var(--isik-rgb))}
.h-tost:where(.v3,.v3 *)::after{content:none}
.h-zaman-cizgi:where(.v3,.v3 *){background:rgb(var(--isik-rgb));box-shadow:none}

/* --- onay kartı = canlı ONAYLAR / KARAR kartı (.aks-kart): cam blok · solda 3 px tonlu şerit (0 0 12px) --- */
.h-onay:where(.v3,.v3 *){isolation:isolate;border-radius:var(--r-kart);background:var(--cam-holo-1);box-shadow:inset 0 0 0 1px var(--kart-kenar),var(--kart-ust)}
.h-onay:where(.v3,.v3 *)::before{left:0;top:0;bottom:0;width:3px;border-radius:var(--r-kart) 0 0 var(--r-kart);box-shadow:0 0 12px var(--serit)}
.h-onay[data-risk="ic"]:where(.v3,.v3 *)::before{box-shadow:none}
.h-onay[data-risk="silme"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px var(--hata-a32)}
.h-onay[data-durum="onaylandi"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px rgba(var(--yesil-r),.45)}
.h-onay[data-boy="satir"]:where(.v3,.v3 *){border-radius:8px}
/* tablo = canlı holo satırları (.hr): başlık 11 px · .16em · gri; satır ayırıcı beyaz .045; üzerine gelince beyaz .025 */
.h-tablo-kap:where(.v3,.v3 *){border-radius:var(--r-kart);background:var(--cam-holo-1);box-shadow:inset 0 0 0 1px var(--kart-kenar)}
.h-tablo th:where(.v3,.v3 *){letter-spacing:.16em;color:var(--metin-3);background:transparent;box-shadow:inset 0 -1px 0 rgba(255,255,255,.06)}
.h-tablo td:where(.v3,.v3 *){border-top-color:rgba(255,255,255,.045)}
.h-tablo tbody tr:hover td:where(.v3,.v3 *){background:rgba(255,255,255,.025)}
.h-tablo tbody tr[aria-selected="true"] td:where(.v3,.v3 *){background:rgba(var(--isik-rgb),.08)}
/* sohbet = canlı balonlar (.balon-sat): Ali krem .07 + .14 çerçeve, köşesi 3 px; Jarvis yeşil degrade + .3 çerçeve */
.h-tur[data-kim="jarvis"] .h-tur-kim:where(.v3,.v3 *){color:var(--marka)}
.h-tur[data-kim="ali"] .h-tur-metin:where(.v3,.v3 *){border-radius:12px 12px 3px 12px;background:rgba(var(--metin-r),.07);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.14)}
.h-araclar:where(.v3,.v3 *){border-radius:10px;background:rgba(255,255,255,.025);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.07)}
/* canlı ada ve olay çipi: koyu cam .88 · yeşil çerçeve (canlı #searchBar dili) */
.h-ada:where(.v3,.v3 *){background:rgba(10,15,20,.88);box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.45),0 22px 60px -12px rgba(0,0,0,.85),0 0 44px -12px rgba(var(--isik-rgb),.55)}
.h-olay:where(.v3,.v3 *){background:rgba(10,15,20,.88);box-shadow:inset 0 0 0 1px rgba(var(--metin-r),.14),var(--golge-2)}
.h-olay[data-ton="canli"]:where(.v3,.v3 *){box-shadow:inset 0 0 0 1px rgba(var(--yesil-r),.45),var(--golge-2)}
.h-telemetri > span > .h-nokta:where(.v3,.v3 *){box-shadow:0 0 6px var(--ton)}

/* --- küre etiketi = canlı tuval yazısı (jarvisHUD): JARVIS 700 · boy %4,6 · aralık %1,2 · krem .92; durum Doto 700 · %2,8 · %0,8 · yeşil .85.
       --kure-px tuvalin CSS boyudur (kure.js yazar). L/M/S'de etiket kürenin altındadır. --- */
.h-kure-ad:where(.v3,.v3 *){color:rgba(228,237,242,.92);text-shadow:none}
.h-kure[data-boy="xl"] .h-kure-ad:where(.v3,.v3 *){font-size:max(var(--t-14),calc(var(--kure-px,560px) * .046));line-height:1;font-weight:var(--a-kalin);letter-spacing:calc(var(--kure-px,560px) * .012);margin-right:calc(var(--kure-px,560px) * -.012)}
.h-kure-durum:where(.v3,.v3 *){font-family:var(--doto);font-size:var(--t-13);line-height:1.2;font-weight:var(--a-kalin);letter-spacing:.28em;margin-right:-.28em;text-transform:uppercase;color:rgba(var(--isik-rgb),.85);text-shadow:none}
.h-kure[data-boy="xl"] .h-kure-durum:where(.v3,.v3 *){font-weight:900;font-size:max(var(--t-12),calc(var(--kure-px,560px) * .028));letter-spacing:calc(var(--kure-px,560px) * .008);margin-right:calc(var(--kure-px,560px) * -.008);margin-top:calc(var(--kure-px,560px) * .012)}
.h-kure-durum[data-ton="yesil"]:where(.v3,.v3 *){color:rgba(var(--yesil-r),.85);text-shadow:none}
.h-kure-durum[data-ton="amber"]:where(.v3,.v3 *){color:rgba(var(--amber-r),.9);text-shadow:none}
.h-kure-durum[data-ton="kirmizi"]:where(.v3,.v3 *){color:rgba(255,96,96,.92);text-shadow:none}
.h-kure-alt:where(.v3,.v3 *){margin-top:var(--b-2);font-size:var(--t-12);line-height:var(--sy-12);color:var(--metin-3);text-shadow:0 1px 6px rgba(0,0,0,.8)}
.h-kure[data-etiket="alt"] .h-kure-durum:where(.v3,.v3 *){font-size:var(--t-13);letter-spacing:.24em;margin-right:-.24em;margin-top:0}
.h-kure[data-etiket="alt"] .h-kure-alt:where(.v3,.v3 *){margin-top:2px}

/* --- telefon alt menüsü: sakin (dönen halka yalnız data-holo="canli") --- */
.h-altmenu:where(.v3,.v3 *){background:var(--yuzey-1);box-shadow:0 -1px 0 rgba(var(--metin-r),.1)}
.h-altmenu-jarvis:where(.v3,.v3 *){box-shadow:0 0 0 1px rgba(var(--isik-rgb),.35),0 8px 24px -10px rgba(var(--isik-rgb),.6)}

/* --- zemin = canlı #hexCv: düz zemin + 20 px altıgen ağ, merkezde .054, kenara doğru (1 − 0,6·u)² ile söner.
       Işık havuzu, tarama dokusu ve köşe karartması YOK (v2'ninki data-isik-havuzu ile). --- */
.h-zemin:where(.v3,.v3 *){background:var(--zemin)}
.h-zemin:where(.v3,.v3 *)::before{background:var(--desen-petek) 0 0/34.641px 60px;
  -webkit-mask:radial-gradient(farthest-corner at var(--zx,50%) var(--zy,50%),#000 0,rgba(0,0,0,.72) 25%,rgba(0,0,0,.49) 50%,rgba(0,0,0,.3) 75%,rgba(0,0,0,.16) 100%);
  mask:radial-gradient(farthest-corner at var(--zx,50%) var(--zy,50%),#000 0,rgba(0,0,0,.72) 25%,rgba(0,0,0,.49) 50%,rgba(0,0,0,.3) 75%,rgba(0,0,0,.16) 100%)}
.h-zemin:where(.v3,.v3 *)::after{content:none}
.h-zemin[data-isik-havuzu]:where(.v3,.v3 *){background:radial-gradient(46% 42% at var(--zx,50%) var(--zy,46%),rgba(var(--isik-rgb),.08),transparent 72%),var(--zemin)}

/* =====================================================================
   23 · v2 DEKORLARI (opt-in). Kaynak ve API durur; YALNIZ data-öznitelikle çalışır.
   Hareket.holo yalnız [data-holo-isik], [data-holo~="isik|kovala|supur|canli"] kabına .h-isik ekler;
   .h-zemin ortamı yalnız [data-holo~="ortam"] (ya da data-supur / data-yorunge / data-parcacik="var") ile gelir.
   ===================================================================== */
/* --- .h-isik: data-holo-isik → yalnız üzerine gelince iç ışık (sakin). Kenar kovalaması data-holo~="kovala" (canlı: hızlı),
       ortam süpürmesi data-holo~="supur", ayna parlaması data-egim, holo degrade kenar data-holo~="kenar". --- */
.h-isik:where(.v3,.v3 *){position:absolute;inset:0;z-index:-1;border-radius:inherit;overflow:hidden;pointer-events:none;
  --kovala-sure:calc(var(--dur-kovala) / var(--ortam-hiz));--kovala-guc:calc(.78 * var(--ortam-guc));--faz:0s}
.h-isik:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--holo-kenar);opacity:.8;display:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
:is([data-holo~="kenar"],[data-holo~="kovala"],[data-holo~="canli"]) > .h-isik:where(.v3,.v3 *)::before{display:block}
.h-isik:where(.v3,.v3 *)::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity var(--dur-3) var(--ease-standard);
  box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.4),inset 0 0 22px -8px rgba(var(--isik-rgb),.3)}
.h-isik > b:where(.v3,.v3 *){position:absolute;display:none;pointer-events:none}
.h-isik-k:where(.v3,.v3 *){inset:0;opacity:var(--kovala-guc);transition:opacity var(--dur-4) var(--ease-standard)}
.h-isik-k:where(.v3,.v3 *)::before,.h-isik-k:where(.v3,.v3 *)::after{content:"";position:absolute;border-radius:2px;opacity:0;box-shadow:0 0 10px 1px rgba(var(--isik-rgb),.75),0 0 3px rgba(var(--isik-rgb),.9)}
.h-isik-k:not([data-y]):where(.v3,.v3 *)::before,.h-isik-k:not([data-y]):where(.v3,.v3 *)::after{width:36%;height:2px;background:linear-gradient(90deg,transparent,rgba(var(--isik-rgb),.3) 28%,rgba(var(--isik-rgb),1) 86%,var(--isik-cekirdek) 97%,#fff)}
.h-isik-k[data-y]:where(.v3,.v3 *)::before,.h-isik-k[data-y]:where(.v3,.v3 *)::after{width:2px;height:36%;background:linear-gradient(180deg,transparent,rgba(var(--isik-rgb),.3) 28%,rgba(var(--isik-rgb),1) 86%,var(--isik-cekirdek) 97%,#fff)}
.h-isik-k:not([data-y]):where(.v3,.v3 *)::before{top:0;left:0;animation:h-kovala-x var(--kovala-sure) linear var(--faz) infinite}
.h-isik-k[data-y]:where(.v3,.v3 *)::before{top:0;right:0;animation:h-kovala-y var(--kovala-sure) linear calc(var(--faz) - var(--kovala-sure) * .75) infinite}
.h-isik-k:not([data-y]):where(.v3,.v3 *)::after{bottom:0;right:0;scale:-1 1;animation:h-kovala-x var(--kovala-sure) linear calc(var(--faz) - var(--kovala-sure) * .5) infinite}
.h-isik-k[data-y]:where(.v3,.v3 *)::after{bottom:0;left:0;scale:1 -1;animation:h-kovala-y var(--kovala-sure) linear calc(var(--faz) - var(--kovala-sure) * .25) infinite}
@keyframes h-kovala-x{0%{transform:translateX(-100%);opacity:1}25%{transform:translateX(178%);opacity:1}32%,100%{transform:translateX(278%);opacity:0}}
@keyframes h-kovala-y{0%{transform:translateY(-100%);opacity:1}25%{transform:translateY(178%);opacity:1}32%,100%{transform:translateY(278%);opacity:0}}
.h-isik-s:where(.v3,.v3 *){top:-30%;bottom:-30%;left:0;width:46%;transform:translateX(-140%);
  background:linear-gradient(100deg,transparent 18%,rgba(var(--isik-rgb),calc(var(--tarama-alfa) * var(--ortam-guc))) 50%,transparent 82%);
  animation:h-supur-ortam calc(var(--dur-supur) / var(--ortam-hiz)) var(--ease-standard) var(--supur-gec,0s) infinite}
@keyframes h-supur-ortam{0%{transform:translateX(-140%) skewX(-14deg)}44%,100%{transform:translateX(330%) skewX(-14deg)}}
.h-isik-p:where(.v3,.v3 *){left:0;top:0;width:min(440px,92%);aspect-ratio:1;margin:calc(min(440px,92%) / -2) 0 0 calc(min(440px,92%) / -2);border-radius:50%;opacity:0;
  background:radial-gradient(closest-side,rgba(255,255,255,.08),rgba(var(--isik-rgb),.06) 42%,transparent 72%);transition:opacity var(--dur-4) var(--ease-standard)}
/* görünürlük: kovalama yalnız kovala/canli, süpürme yalnız supur, parlama yalnız data-egim */
:is([data-holo~="kovala"],[data-holo~="canli"]) > .h-isik[data-gorunur] > .h-isik-k:where(.v3,.v3 *),
[data-holo~="supur"] > .h-isik[data-gorunur] > .h-isik-s:where(.v3,.v3 *),
[data-egim] > .h-isik[data-gorunur] > .h-isik-p:where(.v3,.v3 *){display:block}
[data-egim-aktif] > .h-isik > .h-isik-p:where(.v3,.v3 *){opacity:1}
:is(:hover,:focus-within,[aria-selected="true"],.secili,[data-canli]) > .h-isik:where(.v3,.v3 *){--kovala-guc:1}
:is(:hover,:focus-within,[aria-selected="true"],.secili) > .h-isik:where(.v3,.v3 *)::after{opacity:1}
:is([data-durum="guncelleniyor"],[data-holo~="canli"]) > .h-isik:where(.v3,.v3 *){--kovala-sure:calc(var(--dur-kovala-hizli) / var(--ortam-hiz));--kovala-guc:1}
/* ışık dalgası (Hareket.isikDalgasi, açık çağrı): kart bir kez içten yanar (kovalama yok) */
.h-parla > .h-isik:where(.v3,.v3 *)::after{animation:h-isik-dalga var(--dur-6) var(--ease-standard) var(--parla-gecikme,0ms) 1 both}
@keyframes h-isik-dalga{0%{opacity:0}22%{opacity:1}100%{opacity:0}}
.h-pencere > .h-isik:where(.v3,.v3 *){--kovala-guc:calc(.7 * var(--ortam-guc))}

/* --- enerji silmesi (v2 düğme / satır hover) — yalnız data-enerji --- */
@media (hover:hover) and (pointer:fine){
  .h-dugme[data-enerji]:where(.v3,.v3 *){isolation:isolate}
  .h-dugme[data-enerji]:where(.v3,.v3 *)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
    background:linear-gradient(90deg,rgba(var(--isik-rgb),0),rgba(var(--isik-rgb),.12) 62%,rgba(var(--isik-rgb),.34) 92%,rgba(214,255,234,.6) 99%,transparent);
    transform-origin:0 50%;transform:scaleX(0);opacity:0}
  .h-dugme[data-enerji]:not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]):hover:where(.v3,.v3 *)::before{animation:h-enerji var(--dur-6) var(--ease-holo) 1 both}
}
@keyframes h-enerji{0%{transform:scaleX(0);opacity:1}62%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
/* --- ilerlemede akan parıltı — yalnız data-akis --- */
.h-ilerleme[data-akis]:where(.v3,.v3 *){container-type:inline-size}
.h-ilerleme[data-akis]:where(.v3,.v3 *)::after{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:36px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);opacity:0;transform:translateX(-36px);
  animation:h-ilerleme-ak calc(var(--dur-parilti) * 1.2 / var(--ortam-hiz)) var(--ease-standard) infinite}
@keyframes h-ilerleme-ak{0%{opacity:0;transform:translateX(-36px)}14%{opacity:.85}80%{opacity:.85}100%{opacity:0;transform:translateX(calc(var(--deger) * 100cqw - 36px))}}
/* --- rozette nabız halkası — yalnız data-nabiz --- */
.h-rozet[data-nabiz]:where(.v3,.v3 *)::after{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 1.5px var(--ton);opacity:0;animation:h-halka-nabiz calc(var(--dur-halka-nabiz) / var(--ortam-hiz)) var(--ease-standard) infinite}
.h-rozet[data-nabiz][data-boy="m"]:where(.v3,.v3 *)::after{left:8px}
/* --- telefon küre düğmesinde dönen halkalar — yalnız data-holo="canli" --- */
.h-altmenu-jarvis[data-holo~="canli"]:where(.v3,.v3 *)::before{content:"";position:absolute;inset:-5px;border-radius:50%;pointer-events:none;border:1px dashed rgba(var(--isik-rgb),.5);
  animation:h-don calc(var(--dur-yorunge-1) / var(--ortam-hiz)) linear infinite}
@keyframes h-don{to{transform:rotate(360deg)}}

/* --- .h-radar: halkalı radar + dönen tarama kolu + işaretler (Hareket.radar; bölüm açıkça koyar) --- */
.h-radar:where(.v3,.v3 *){position:relative;display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;isolation:isolate;pointer-events:none;
  background:repeating-radial-gradient(circle,transparent 0 calc(var(--radar-adim,17%) - 1px),rgba(var(--isik-rgb),.13) calc(var(--radar-adim,17%) - 1px) var(--radar-adim,17%)),radial-gradient(circle,rgba(var(--isik-rgb),.09),transparent 72%);
  box-shadow:inset 0 0 0 1px rgba(var(--isik-rgb),.3),inset 0 0 30px rgba(var(--isik-rgb),.08)}
.h-radar:where(.v3,.v3 *)::before,.h-radar:where(.v3,.v3 *)::after{content:"";position:absolute;background:linear-gradient(var(--y,180deg),transparent,rgba(var(--isik-rgb),.2),transparent)}
.h-radar:where(.v3,.v3 *)::before{left:50%;top:0;bottom:0;width:1px}
.h-radar:where(.v3,.v3 *)::after{top:50%;left:0;right:0;height:1px;--y:90deg}
.h-radar-kol:where(.v3,.v3 *){position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 74%,rgba(var(--isik-rgb),.12) 90%,rgba(var(--isik-rgb),.5) 100%);
  animation:h-don calc(var(--dur-radar) / var(--ortam-hiz)) linear infinite}
.h-radar-kol:where(.v3,.v3 *)::after{content:"";position:absolute;left:50%;top:0;width:1.5px;height:50%;margin-left:-.75px;background:linear-gradient(0deg,rgba(var(--isik-rgb),.95),transparent);box-shadow:0 0 8px rgba(var(--isik-rgb),.8)}
.h-radar-nokta:where(.v3,.v3 *){position:absolute;left:var(--x,50%);top:var(--y,50%);width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--isik-cekirdek);box-shadow:0 0 8px rgb(var(--isik-rgb));opacity:.2;
  animation:h-radar-nokta calc(var(--dur-radar) / var(--ortam-hiz)) linear calc(var(--dur-radar) / var(--ortam-hiz) * (var(--aci,0) / 360 - 1)) infinite}
.h-radar-nokta:where(.v3,.v3 *)::after{content:"";position:absolute;inset:-6px;border-radius:50%;box-shadow:0 0 0 1px rgba(var(--isik-rgb),.8);opacity:0;animation:inherit;animation-name:h-radar-halka}
@keyframes h-radar-nokta{0%{opacity:1;transform:scale(1.5)}12%{opacity:.9;transform:none}100%{opacity:.18;transform:none}}
@keyframes h-radar-halka{0%{opacity:.9;transform:scale(.4)}22%,100%{opacity:0;transform:scale(1.6)}}
.h-radar[data-hafif] > .h-radar-nokta:where(.v3,.v3 *){animation:none;opacity:.6}
.h-radar[data-hafif] > .h-radar-nokta:where(.v3,.v3 *)::after{animation:none;opacity:0}
.h-radar[data-hafif] > .h-radar-kol:where(.v3,.v3 *){z-index:1;mix-blend-mode:plus-lighter}

/* --- .h-yorunge: farklı hızlarda dönen segmentli halkalar (Hareket.yorunge; bölüm açıkça koyar) --- */
.h-yorunge:where(.v3,.v3 *){position:relative;display:block;aspect-ratio:1;border-radius:50%;pointer-events:none}
.h-yorunge > i:where(.v3,.v3 *){position:absolute;inset:var(--ic,0%);border-radius:50%;--k:1.5px;
  background:repeating-conic-gradient(from var(--bas,0deg),rgba(var(--isik-rgb),calc(var(--al,.5) * var(--a,1))) 0 var(--dolu,40deg),transparent 0 var(--adim,90deg));
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--k)),#000 calc(100% - var(--k)));mask:radial-gradient(farthest-side,transparent calc(100% - var(--k)),#000 calc(100% - var(--k)));
  animation:h-don calc(var(--sure,var(--dur-yorunge-2)) / var(--ortam-hiz)) linear infinite}
.h-yorunge > i:nth-child(1):where(.v3,.v3 *){--ic:0%;--sure:var(--dur-yorunge-3);--dolu:58deg;--adim:90deg;--al:.42;--k:1px}
.h-yorunge > i:nth-child(2):where(.v3,.v3 *){--ic:8%;--sure:var(--dur-yorunge-2);--dolu:3deg;--adim:7.5deg;--al:.34;animation-direction:reverse}
.h-yorunge > i:nth-child(3):where(.v3,.v3 *){--ic:18%;--sure:var(--dur-yorunge-1);--dolu:96deg;--adim:120deg;--al:.62;--k:2px;--bas:30deg}
.h-yorunge > i:nth-child(4):where(.v3,.v3 *){--ic:30%;--sure:calc(var(--dur-yorunge-1) * .6);--dolu:16deg;--adim:180deg;--al:.85;--k:2px;animation-direction:reverse}

/* --- .h-akis: veri akışı. Varsayılan = canlı .akis (30 × 2 px çizgide akan ışık, 1,3 sn); data-boy="serit" v2 paket şeridi --- */
.h-akis:where(.v3,.v3 *){position:relative;display:block;height:2px;border-radius:2px;overflow:hidden;pointer-events:none;background:rgba(var(--metin-r),.12)}
.h-akis > i:where(.v3,.v3 *){position:absolute;left:0;top:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgb(var(--isik-rgb)),transparent);
  transform:translateX(-100%);animation:h-akis-canli calc(1.3s / var(--ortam-hiz)) linear infinite}
.h-akis > i + i:where(.v3,.v3 *){display:none}
@keyframes h-akis-canli{to{transform:translateX(250%)}}
.h-akis[data-boy="serit"]:where(.v3,.v3 *){height:var(--akis-yuk,14px);border-radius:0;background:none;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.h-akis[data-boy="serit"]:where(.v3,.v3 *)::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(var(--isik-rgb),.14)}
.h-akis[data-boy="serit"] > i:where(.v3,.v3 *){top:50%;height:4px;margin-top:-2px;width:calc(100% + 340px);transform:none;
  background:repeating-linear-gradient(90deg,rgba(var(--isik-rgb),.6) 0 2px,transparent 2px 9px,rgba(var(--isik-rgb),.25) 9px 10px,transparent 10px 15px,rgba(var(--isik-rgb),.85) 15px 19px,transparent 19px 34px);
  animation:h-akis calc(var(--dur-akis) / var(--ortam-hiz)) linear infinite}
.h-akis[data-boy="serit"] > i + i:where(.v3,.v3 *){display:block;height:2px;margin-top:3px;opacity:.6;background:repeating-linear-gradient(90deg,rgba(var(--isik-rgb),.7) 0 6px,transparent 6px 17px,rgba(var(--isik-rgb),.35) 17px 19px,transparent 19px 34px);
  animation-duration:calc(var(--dur-akis) * 1.8 / var(--ortam-hiz));animation-direction:reverse}
@keyframes h-akis{to{transform:translateX(-340px)}}

/* --- tıklama dalgası (Hareket.dalga) — yalnız [data-dalga] ya da açık çağrı --- */
.h-dalga-kap:where(.v3,.v3 *){position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:-1}
.h-dalga-iz:where(.v3,.v3 *){position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(214,255,234,.5),rgba(var(--isik-rgb),.26) 46%,rgba(var(--isik-rgb),0) 72%)}
.h-dalga-iz[data-halka]:where(.v3,.v3 *){background:none;box-shadow:inset 0 0 0 1.5px rgba(var(--isik-rgb),.75),0 0 12px rgba(var(--isik-rgb),.45)}
.h-dugme[data-tur="birincil"] .h-dalga-iz:where(.v3,.v3 *){background:radial-gradient(closest-side,rgba(255,255,255,.7),rgba(255,255,255,.2) 48%,transparent 72%)}
.h-dugme[data-tur="birincil"] .h-dalga-iz[data-halka]:where(.v3,.v3 *){background:none;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.85),0 0 12px rgba(255,255,255,.5)}
.h-dugme.h-dugme[data-onay="bekliyor"] .h-dalga-iz:where(.v3,.v3 *){background:radial-gradient(closest-side,rgba(var(--amber-r),.45),rgba(var(--amber-r),.18) 46%,transparent 72%)}

/* --- girdi taraması: ilk odakta tek geçiş — yalnız [data-tara] --- */
.h-girdi-tara:where(.v3,.v3 *){position:fixed;pointer-events:none;z-index:var(--z-sistem);border-radius:10px;overflow:hidden}
.h-girdi-tara > i:where(.v3,.v3 *){position:absolute;top:0;bottom:0;left:0;width:42%;display:block;background:linear-gradient(90deg,transparent,rgba(var(--isik-rgb),.16) 70%,rgba(214,255,234,.5) 97%,transparent)}
.h-girdi-tara > b:where(.v3,.v3 *){position:absolute;left:0;right:0;bottom:0;height:1.5px;display:block;background:linear-gradient(90deg,transparent,rgba(var(--isik-rgb),.75) 20%,rgba(var(--isik-rgb),.75) 80%,transparent);box-shadow:var(--parla-cizgi);transform-origin:0 50%}

/* --- pencere açılış imzası (Hareket.materialize / holoEk): tarama silmesi + şok dalgası (Ali: "yeni pencerelerin hepsi harika") --- */
.h-belir:where(.v3,.v3 *){position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:6}
.h-belir > b:where(.v3,.v3 *){position:absolute;left:0;right:0;top:-34%;height:34%;display:block;
  background:linear-gradient(180deg,transparent,rgba(var(--isik-rgb),.07) 55%,rgba(var(--isik-rgb),.3) 95%,rgba(214,255,234,.75) 99.4%,transparent)}
.h-belir > i:where(.v3,.v3 *){position:absolute;inset:0;display:block;background:var(--doku-tarama),linear-gradient(180deg,rgba(var(--isik-rgb),.10),transparent 40%);opacity:0}
.h-sok:where(.v3,.v3 *){position:fixed;left:0;top:0;border-radius:50%;pointer-events:none;z-index:var(--z-bildirim);
  box-shadow:inset 0 0 0 1.5px rgba(var(--isik-rgb),.75),inset 0 0 46px rgba(var(--isik-rgb),.16),0 0 34px rgba(var(--isik-rgb),.3)}

/* --- sayaç yuvarlanması (Hareket.yuvarla): basamak silindiri + ışık izi --- */
.h-yuvar-kap:where(.v3,.v3 *){display:inline-flex;align-items:baseline;font-variant-numeric:tabular-nums;white-space:nowrap}
.h-yuvar-sabit:where(.v3,.v3 *){white-space:pre}
.h-yuvar:where(.v3,.v3 *){display:inline-block;position:relative;height:1.15em;line-height:1.15em;overflow-x:visible;overflow-y:clip;vertical-align:bottom}
.h-yuvar > span:where(.v3,.v3 *){display:block}
.h-yuvar > span > span:where(.v3,.v3 *){display:block;height:1.15em;text-align:center}
.h-yuvar-iz:where(.v3,.v3 *){animation:h-yuvar-iz var(--dur-6) var(--ease-standard) 1}
.h-yuvar-iz-b:where(.v3,.v3 *){animation:h-yuvar-iz-b var(--dur-6) var(--ease-standard) 1}
@keyframes h-yuvar-iz{0%{filter:brightness(1.7) drop-shadow(0 0 10px rgba(var(--isik-rgb),.95))}100%{filter:none}}
@keyframes h-yuvar-iz-b{0%{filter:brightness(1.7) drop-shadow(0 0 10px rgba(var(--isik-rgb),.95))}100%{filter:none}}

/* --- zemin ortam katmanı (v2) — yalnız .h-zemin[data-holo~="ortam"] ya da data-supur / data-yorunge / data-parcacik="var" --- */
.h-zemin-isik:where(.v3,.v3 *){position:absolute;inset:0;pointer-events:none;overflow:hidden;container-type:size}
.h-zemin-supur:where(.v3,.v3 *){position:absolute;top:-20%;bottom:-20%;left:0;width:36%;transform:translateX(-140%);
  background:linear-gradient(100deg,transparent 15%,rgba(var(--isik-rgb),calc(.07 * var(--ortam-guc))) 50%,transparent 85%);
  animation:h-supur-ortam calc(var(--dur-supur) * 1.7 / var(--ortam-hiz)) var(--ease-standard) infinite}
.h-zemin-isik > .h-yorunge:where(.v3,.v3 *){position:absolute;left:var(--zx,50%);top:var(--zy,46%);width:var(--yorunge-boy,min(122cqmin,1240px));translate:-50% -50%;--a:calc(.14 * var(--ortam-guc))}
.h-parcacik:where(.v3,.v3 *){position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}

/* =====================================================================
   24 · ORTAM KİPLERİ
   Tam: canlı panel kadar (küre, canlı nokta ve şerit, çalışan ajan döngüleri; hover ışıkları). Sakin: döngüler --ortam-hiz ile yavaş,
   --ortam-guc ile kısık (tokens.css). Kapalı ve azaltılmış hareket: durağan kare; dekor katmanları gizlenir.
   ===================================================================== */
[data-ortam="kapali"] :is(.h-isik > b,.h-zemin-isik,.h-parcacik,.h-belir,.h-girdi-tara,.h-dalga-kap,.h-sok):where(.v3,.v3 *){display:none!important}
[data-ortam="kapali"] .h-ilerleme:where(.v3,.v3 *)::after{display:none!important}
[data-ortam="kapali"] .h-widget[data-durum="iskelet"] .h-widget-govde:where(.v3,.v3 *)::before{display:none}
[data-ortam="kapali"] :is(.h-dugme,.h-satir):where(.v3,.v3 *)::before{animation:none!important}
[data-ortam="kapali"] .h-satir:not(.h-taze):where(.v3,.v3 *)::after{display:none}
[data-ortam="kapali"] .h-widget:where(.v3,.v3 *)::after{transition:none!important}
[data-ortam="sakin"] .h-isik-s:where(.v3,.v3 *){opacity:.6}
@media (prefers-reduced-motion:reduce){
  html:not([data-ortam="tam"]):not([data-ortam="sakin"]) :is(.h-isik > b,.h-zemin-isik,.h-parcacik):where(.v3,.v3 *){display:none!important}
  html:not([data-ortam="tam"]):not([data-ortam="sakin"]) .h-ilerleme:where(.v3,.v3 *)::after{display:none!important}
}

/* =====================================================================
   25 · HOLOGRAM MASKOT = canlı holo-maskot.js 1.7 (avatar kipi; Maskot.html · maskot.js)
   Ölçüler em, 1em = boy / 116 (canlı figür 92 × 110). Renk --mk (r,g,b) satır içinde gelir: ajanın kendi rengi
   (VERI.ajanKimlik); bekliyor amber, hata kırmızı, uyku sönük. Sonsuz döngüler --nefes / --ortam-hiz (Sakin'de yavaşlar),
   Kapalı kipte ve azaltılmış harekette durağan kare (tokens.css ORTAM).
   ===================================================================== */
.h-maskot:where(.v3,.v3 *){--mk:var(--yesil-r);position:relative;display:inline-block;width:var(--mk-boy);height:var(--mk-boy);flex:none;vertical-align:middle;pointer-events:auto}
.h-maskot-fig:where(.v3,.v3 *){position:absolute;left:12em;top:4em;width:92em;height:110em;display:block}
.h-maskot-govde:where(.v3,.v3 *){position:absolute;inset:0;display:block;filter:drop-shadow(0 0 10em rgba(var(--mk),.75));
  animation:h-maskot-suzul calc(var(--nefes) * .9 / var(--ortam-hiz)) ease-in-out var(--mk-faz) infinite}
.h-maskot[data-hal="uyku"] .h-maskot-govde:where(.v3,.v3 *){filter:none;animation-name:h-maskot-uyku;animation-duration:calc(var(--nefes) * 1.05 / var(--ortam-hiz))}
.h-maskot-aks:where(.v3,.v3 *){position:absolute;overflow:visible;transform-origin:50% 100%;animation:h-maskot-aks calc(var(--nefes) * .65 / var(--ortam-hiz)) ease-in-out var(--mk-faz) infinite}
.h-maskot[data-hal="uyku"] .h-maskot-aks:where(.v3,.v3 *),.h-maskot[data-hal="hata"] .h-maskot-aks:where(.v3,.v3 *){animation:none}
.h-maskot-aks path:where(.v3,.v3 *){fill:none;stroke:rgb(var(--mk));stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.h-maskot-aks path[data-dolu]:where(.v3,.v3 *){fill:rgba(var(--mk),.16)}
.h-maskot[data-hal="uyku"] .h-maskot-aks path[data-dolu]:where(.v3,.v3 *){fill:rgba(var(--mk),.05)}
.h-maskot-bas:where(.v3,.v3 *){position:absolute;left:4em;top:24em;width:84em;height:86em;box-sizing:border-box;overflow:hidden;border-radius:44em 44em 34em 34em;
  border:2em solid rgb(var(--mk));background:repeating-linear-gradient(0deg,rgba(var(--metin-r),.1) 0 1em,transparent 1em 4em),linear-gradient(180deg,rgba(var(--mk),.32),rgba(var(--mk),.08))}
.h-maskot[data-hal="uyku"] .h-maskot-bas:where(.v3,.v3 *){background:linear-gradient(180deg,rgba(var(--mk),.06),rgba(var(--mk),.02))}
.h-maskot-bant:where(.v3,.v3 *){position:absolute;left:0;right:0;top:0;height:18em;opacity:0;background:linear-gradient(180deg,transparent,rgba(var(--metin-r),.2) 50%,transparent);
  animation:h-maskot-bant calc(var(--nefes) * .73 / var(--ortam-hiz)) linear var(--mk-faz) infinite}
.h-maskot[data-hal="uyku"] .h-maskot-bant:where(.v3,.v3 *){display:none}
.h-maskot-bakis:where(.v3,.v3 *){position:absolute;inset:0;animation:h-maskot-bak calc(var(--nefes) * 1.44 / var(--ortam-hiz)) ease-in-out var(--mk-faz) infinite}
.h-maskot[data-hal="calisiyor"] .h-maskot-bakis:where(.v3,.v3 *){animation:h-maskot-oku calc(var(--dur-6) * 1.86 / var(--ortam-hiz)) ease-in-out infinite}
.h-maskot-goz:where(.v3,.v3 *){position:absolute;left:20em;top:28em;width:12em;height:17em;border-radius:6em;background:var(--metin-1);box-shadow:0 0 8em rgb(var(--mk));transform-origin:50% 60%;
  animation:h-maskot-kirp calc(var(--nefes) * .85 / var(--ortam-hiz)) linear var(--mk-faz) infinite}
.h-maskot-goz[data-sag]:where(.v3,.v3 *){left:auto;right:20em}
.h-maskot-goz[data-mutlu]:where(.v3,.v3 *){top:32em;width:14em;height:8em;left:19em;border-radius:10em 10em 0 0;background:none;border:3em solid var(--metin-1);border-bottom:0;box-shadow:none;animation:none}
.h-maskot-goz[data-mutlu][data-sag]:where(.v3,.v3 *){left:auto;right:19em}
.h-maskot-goz[data-kapali]:where(.v3,.v3 *){top:38em;left:19em;width:15em;height:3em;border-radius:2em;background:rgb(var(--mk));box-shadow:none;animation:none}
.h-maskot-goz[data-kapali][data-sag]:where(.v3,.v3 *){left:auto;right:19em}
.h-maskot-goz[data-carpi]:where(.v3,.v3 *){top:30em;left:18em;width:16em;height:16em;background:none;box-shadow:none;animation:none}
.h-maskot-goz[data-carpi][data-sag]:where(.v3,.v3 *){left:auto;right:18em}
.h-maskot-goz[data-carpi]:where(.v3,.v3 *)::before,.h-maskot-goz[data-carpi]:where(.v3,.v3 *)::after{content:"";position:absolute;left:6.5em;top:-1em;width:3em;height:18em;border-radius:2em;background:var(--hata-metin);transform:rotate(45deg)}
.h-maskot-goz[data-carpi]:where(.v3,.v3 *)::after{transform:rotate(-45deg)}
.h-maskot-agiz:where(.v3,.v3 *){position:absolute;left:36em;top:56em;width:12em;height:4em;border-radius:3em;background:rgb(var(--mk));transform-origin:50% 0}
.h-maskot[data-hal="calisiyor"] .h-maskot-agiz:where(.v3,.v3 *){animation:h-maskot-konus calc(var(--dur-6) * 1.3 / var(--ortam-hiz)) ease-in-out infinite}
.h-maskot[data-hal="bitti"] .h-maskot-agiz:where(.v3,.v3 *){top:54em;height:8em;border-radius:0 0 8em 8em}
.h-maskot-rozet:where(.v3,.v3 *){position:absolute;right:-14em;top:14em;width:24em;height:24em;box-sizing:border-box;border-radius:6em}
.h-maskot-rozet[data-tur="unlem"]:where(.v3,.v3 *){border:2em solid var(--dikkat);background:rgba(var(--amber-r),.12)}
.h-maskot-rozet[data-tur="unlem"]:where(.v3,.v3 *)::before{content:"";position:absolute;left:8.5em;top:3em;width:3em;height:9em;border-radius:2em;background:var(--dikkat)}
.h-maskot-rozet[data-tur="unlem"]:where(.v3,.v3 *)::after{content:"";position:absolute;left:8.5em;top:14em;width:3em;height:3em;border-radius:50%;background:var(--dikkat)}
.h-maskot-rozet[data-tur="z"]:where(.v3,.v3 *){right:-10em;top:6em;width:10em;height:10em;border-radius:50%;box-shadow:0 0 0 2em rgba(var(--celik-r),.7);opacity:0;animation:h-maskot-z calc(var(--nefes) * .46 / var(--ortam-hiz)) ease-out infinite}
/* durum hareketleri (canlı: çalışırken hızlı süzülme, bekliyor titreşim, hata parazit, bitti sevinç, boşta ajana özgü) */
.h-maskot[data-hal="calisiyor"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-hizli;animation-duration:calc(var(--nefes) * .29 / var(--ortam-hiz))}
.h-maskot[data-hal="bekliyor"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-titre;animation-duration:calc(var(--nefes) * .6 / var(--ortam-hiz))}
.h-maskot[data-hal="hata"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-parazit;animation-duration:calc(var(--nefes) * 1.35 / var(--ortam-hiz))}
.h-maskot[data-hal="bitti"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-sevinc;animation-duration:calc(var(--nefes) * .65 / var(--ortam-hiz))}
.h-maskot[data-hal="bosta"][data-bosta="sarkac"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-sarkac;animation-duration:calc(var(--nefes) * .66 / var(--ortam-hiz))}
.h-maskot[data-hal="bosta"][data-bosta="hopla"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-hopla;animation-duration:calc(var(--nefes) * .5 / var(--ortam-hiz))}
.h-maskot[data-hal="bosta"][data-bosta="nefes"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-nefes;animation-duration:calc(var(--nefes) * .8 / var(--ortam-hiz))}
.h-maskot[data-hal="bosta"][data-bosta="bakinan"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-bakinan;animation-duration:calc(var(--nefes) * 1.25 / var(--ortam-hiz))}
.h-maskot[data-hal="bosta"][data-bosta="yalpala"] .h-maskot-govde:where(.v3,.v3 *){animation-name:h-maskot-yalpala;animation-duration:calc(var(--nefes) * .73 / var(--ortam-hiz))}
/* tepki: üzerine gelince küçük zıplama (canlı tepki; figür katında, süzülmeyle çakışmaz). Bölüm kendi kabına aynı kuralı ekleyebilir. */
.h-maskot:hover .h-maskot-fig:where(.v3,.v3 *),.h-satir:hover .h-maskot .h-maskot-fig:where(.v3,.v3 *){animation:h-maskot-zipla var(--dur-6) var(--yay-jest) 1}
@keyframes h-maskot-suzul{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-2.5em) rotate(-1.8deg)}50%{transform:translateY(-6em) rotate(0)}75%{transform:translateY(-2.5em) rotate(1.8deg)}}
@keyframes h-maskot-hizli{0%,100%{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-8em) rotate(1.2deg)}}
@keyframes h-maskot-sarkac{0%,100%{transform:translateY(-1em) rotate(-5deg)}25%,75%{transform:translateY(-3em) rotate(0)}50%{transform:translateY(-1em) rotate(5deg)}}
@keyframes h-maskot-hopla{0%,55%,90%,100%{transform:none}62%{transform:scale(1.06,.94)}70%{transform:translateY(-9em) scale(.96,1.05)}78%{transform:scale(1.05,.95)}84%{transform:translateY(-2em)}}
@keyframes h-maskot-nefes{0%,100%{transform:none}45%,55%{transform:translateY(-2em) scale(1.035,1.05)}}
@keyframes h-maskot-bakinan{0%,50%,100%{transform:none}10%,40%{transform:translateY(-1em) rotate(-6deg)}60%,90%{transform:translateY(-1em) rotate(6deg)}}
@keyframes h-maskot-yalpala{0%,100%{transform:translateY(-1em)}30%{transform:translateY(-3em) skewX(6deg)}70%{transform:translateY(-3em) skewX(-6deg)}}
@keyframes h-maskot-titre{0%,70%,100%{transform:translateY(-2em)}73%{transform:translate(-1.5em,-2em) rotate(-2deg)}76%{transform:translate(1.5em,-2em) rotate(2deg)}79%{transform:translate(-1.5em,-2em) rotate(-2deg)}82%{transform:translate(1.5em,-2em) rotate(2deg)}}
@keyframes h-maskot-parazit{0%,84%,100%{transform:none;opacity:1}86%{transform:translateX(3em) skewX(-9deg);opacity:.55}88%{transform:translateX(-2em) skewX(6deg);opacity:.9}90%{transform:translateX(1em);opacity:.7}92%{transform:none;opacity:1}}
@keyframes h-maskot-sevinc{0%,56%,100%{transform:none}62%{transform:scale(1.07,.93)}70%{transform:translateY(-11em) scale(.95,1.06)}79%{transform:scale(1.05,.95)}85%{transform:translateY(-3em)}}
@keyframes h-maskot-uyku{0%,100%{transform:none}50%{transform:translateY(1.5em) scale(1.025,.975)}}
@keyframes h-maskot-aks{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-2.5em) rotate(-3.5deg)}70%{transform:translateY(-1em) rotate(3.5deg)}}
@keyframes h-maskot-bant{0%{transform:translateY(-22em);opacity:0}6%{opacity:1}52%{transform:translateY(92em);opacity:1}56%,100%{transform:translateY(92em);opacity:0}}
@keyframes h-maskot-bak{0%,24%,100%{transform:translate(0,0)}28%,44%{transform:translate(-3.5em,1em)}48%,62%{transform:translate(3.5em,-.5em)}66%,80%{transform:translate(.5em,-2.5em)}84%{transform:translate(0,0)}}
@keyframes h-maskot-oku{0%,100%{transform:translate(-3.5em,2em)}72%{transform:translate(3.5em,2em)}86%{transform:translate(-3.5em,3em)}}
@keyframes h-maskot-kirp{0%,92%,96.5%,100%{transform:scaleY(1)}94%{transform:scaleY(.1)}}
@keyframes h-maskot-konus{0%,100%{transform:scaleY(1)}50%{transform:scaleY(2.2)}}
@keyframes h-maskot-z{0%{transform:translate(0,0) scale(.6);opacity:0}30%{opacity:1}100%{transform:translate(8em,-14em) scale(1.2);opacity:0}}
@keyframes h-maskot-zipla{0%,100%{transform:none}30%{transform:translateY(-12em) scale(.96,1.06)}55%{transform:scale(1.06,.94)}75%{transform:translateY(-3em)}}

/* =====================================================================
   26 · BİRLEŞTİRME DÜZELTMELERİ (v3; geriye uyumlu)
   ===================================================================== */
/* kısa ad: gizlenen uzun adın harf aralığı (px, font-size 0'da da kalır) kısa adı sağa itmesin; aralık kısa ada taşınır */
@container h-widget (max-width:260px){
  .h-widget-ad[data-kisa]:where(.v3,.v3 *){letter-spacing:0}
  .h-widget-ad[data-kisa]:where(.v3,.v3 *)::after{letter-spacing:2.4px}
  .h-widget-ad[data-kisa][data-cumle]:where(.v3,.v3 *)::after{letter-spacing:0}
}
/* ilerleme dolgusu = canlı .hw-bar > i: kendi renginde 0 0 10px parlar; iz eşik çizgisi taşımıyorsa parlama izin içinde kalır */
.h-ilerleme:where(.v3,.v3 *)::before{box-shadow:0 0 10px var(--ton)}
.h-ilerleme:not(:has(> i)):where(.v3,.v3 *){overflow:hidden}
/* seçili ve üzerindeki süzgeç çipi: yazı rengi belirteçten (--ton); bölüm --ton'u değiştirirse yazı da izler */
button.h-cip:is(:hover,[aria-pressed="true"]):where(.v3,.v3 *),.h-cip[data-tur="suzgec"]:is(:hover,[aria-pressed="true"]):where(.v3,.v3 *){color:var(--ton)}
/* L küre: etiket canlı tuval yazısı gibi JARVIS adını da gösterir (canlıda ad her boyda durumun üstündedir) */
.h-kure[data-boy="l"][data-etiket="alt"] .h-kure-ad:where(.v3,.v3 *){display:block;font-size:max(var(--t-14),calc(var(--kure-px,320px) * .046));line-height:1.15;font-weight:var(--a-kalin);
  letter-spacing:max(2px,calc(var(--kure-px,320px) * .012));margin-right:calc(max(2px,calc(var(--kure-px,320px) * .012)) * -1)}
.h-kure[data-boy="l"][data-etiket="alt"] .h-kure-durum:where(.v3,.v3 *){margin-top:var(--b-1)}
