/* ==================================================================
   AKILLI KARŞILAMA · site asistanı penceresi, A · Gece DIŞINDAKİ kabuklar
   (Faz 2 · 10.6: giriş, kayıt, iki adımlı doğrulama, şifre sıfırlama,
   hesap açılış, e-posta doğrulama, şifre onayı, KVKK onayı; layouts.guest).

   asistan.css A · Gece'nin stil.css'ine göre yazıldı. Bu kabuklarda
   stil.css yüklenmez; pencerenin aynı görünmesi için:
     - stil.css'in :root değişkenleri .asistan kapsamına satır içi yazılır
       (site-asistani/pencere, App\Support\HataSayfasi::degiskenler(); tek kaynak),
     - stil.css'in temel kuralları ve pencerede kullanılan ortak sınıflar
       (.btn, .btn-primary, .btn-secondary, .btn-sm, .sr) burada, yalnızca
       .asistan içinde tekrarlanır. Sayfanın kendi stiline dokunulmaz.
   Değerler stil.css ile aynı tutulur. Derlenmez, doğrudan sunulur.

   Sıra ve öncelik: bu dosya asistan.css'ten ÖNCE yüklenir ve temel kurallar
   :where(.asistan) ile yazılır; öncelikleri stil.css'teki karşılıklarıyla
   aynıdır, asistan.css'in kuralları (ör. .asistan-ac zemini) her zaman kazanır.
   Yalnızca nabız animasyonunun adı daha yüksek öncelikle değiştirilir.
================================================================== */
:where(.asistan),:where(.asistan) *,:where(.asistan) *::before,:where(.asistan) *::after{box-sizing:border-box}
:where(.asistan){font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
:where(.asistan) img,:where(.asistan) svg{display:block;max-width:100%}
:where(.asistan) a{color:inherit;text-decoration:none}
:where(.asistan) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:where(.asistan) h2,:where(.asistan) h3{font-family:var(--font-display);font-weight:var(--fw-black);letter-spacing:var(--tracking-tight);line-height:var(--lh-snug);margin:0}
:where(.asistan) p,:where(.asistan) ul,:where(.asistan) ol{margin:0}
:where(.asistan) ul,:where(.asistan) ol{padding:0;list-style:none}
:where(.asistan) :focus-visible{outline:.1875rem solid var(--c-focus);outline-offset:.1875rem;border-radius:var(--radius-s)}
:where(.asistan) .sr{position:absolute!important;width:var(--bw);height:var(--bw);padding:0;margin:calc(-1 * var(--bw));overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:where(.asistan) .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:3.25rem;padding:0 var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-s);line-height:1.1;white-space:nowrap;border:var(--bw) solid transparent;transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),background-color var(--dur-2)}
:where(.asistan) .btn:hover{transform:translateY(-.125rem)}
:where(.asistan) .btn-sm{min-height:var(--tap);padding:0 var(--space-4)}
:where(.asistan) .btn-primary{background:var(--c-ink);color:var(--c-on-dark);box-shadow:var(--shadow-2)}
:where(.asistan) .btn-secondary{background:var(--c-card);color:var(--c-ink);border-color:var(--c-line)}
/* "Yazıyor" nabzı: panel stili (masa.css) aynı adla farklı bir yaziyor
   animasyonu tanımlar; pencere stil.css'teki kareleri ayrı adla kullanır. */
@property --md1{syntax:'<number>';inherits:true;initial-value:.5}
@property --md2{syntax:'<number>';inherits:true;initial-value:.82}
@property --md3{syntax:'<number>';inherits:true;initial-value:1}
@keyframes as-yaziyor{0%,100%{--md1:.25;--md2:.35;--md3:.45}20%{--md1:1;--md2:.35;--md3:.45}40%{--md1:.6;--md2:1;--md3:.45}60%{--md1:.45;--md2:.7;--md3:1}}
.asistan .asistan-yaziyor svg{animation-name:as-yaziyor}
@media (prefers-reduced-motion:no-preference){.asistan .is-typing{animation:as-yaziyor 1.8s var(--ease) infinite}}
