/* /Components/Dialogs/QuickInterviewDialog.razor.rz.scp.css */
/* Seçili "mülakat sonucu" chip'i.

   TECH-6019: Kural QuickInterviewDialog.razor içinde inline <style> bloğundaydı; CSP
   `style-src 'self'` (TECH-5858) inline <style> ELEMENT'ini bloklamak yüzünden
   uygulanmıyordu — seçilen chip seçilmemişlerden ayırt edilemiyordu (markup seçiliyken
   Tailwind class'larını KALDIRIP yerine yalnız bu class'ı koyduğu için chip tamamen
   biçimsiz kalıyordu). Çözüm CSP'yi gevşetmek değil, scoped CSS'e taşımak.

   `--interview-accent` GLOBAL bir custom property (tokens.css); scoped CSS yalnız
   seçiciyi niteler, var() referansları olduğu gibi çalışır. Seçici
   QuickInterviewDialog.razor'un kendi markup'ında (satır 82) → `::deep` yok. */

.quick-interview-chip-selected[b-javp1qfc2f] {
    background-color: color-mix(in srgb, var(--interview-accent) 12%, transparent);
    border-color: var(--interview-accent);
    color: var(--interview-accent);
}
/* /Components/Dialogs/ReviewDialog.razor.rz.scp.css */
/* ReviewDialog modal kabuğu.

   TECH-6019: Kurallar ReviewDialog.razor içinde inline <style> bloğundaydı ve CSP
   `style-src 'self'` (TECH-5858) inline <style> ELEMENT'ini bloklamak yüzünden HİÇBİRİ
   uygulanmıyordu. Bu, kozmetik bir kayıptan fazlası: `.dialog-wrapper` hem `position:
   fixed` overlay'i hem de `display: none` / `.open → display: flex` görünürlük anahtarını
   taşıyor. Bloklandığında dialog KAPALI durumda da normal akışta görünür kalıyordu.
   Çözüm CSP'yi gevşetmek değil, scoped CSS'e taşımak.

   Her iki seçici de ReviewDialog.razor'un kendi markup'ında (satır 3-4) → `::deep` yok. */

.dialog-wrapper[b-mcq1ye1asr] {
    position: fixed;
    inset: 0;
    z-index: 50;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

/* `IsOpen` true olduğunda markup `open` class'ını ekler. */
.dialog-wrapper.open[b-mcq1ye1asr] {
    display: flex;
}

.dialog-content[b-mcq1ye1asr] {
    max-height: 90vh;
    overflow: hidden;
}
/* /Components/Layout/SidebarDrawer.razor.rz.scp.css */
/* Profile mode slides in from the right — general mode keeps the shared
   sidebarDrawerSlideIn (left) animation defined in wwwroot/css/animations.css.
   Scoped selector specificity (class + Blazor b-attribute) overrides the
   global .sidebar-drawer-panel animation-name for elements carrying both classes. */
@keyframes sidebarDrawerSlideInRight-b-c4yg9ff35w {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.sidebar-drawer-panel-right[b-c4yg9ff35w] {
    animation: sidebarDrawerSlideInRight-b-c4yg9ff35w 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
    .sidebar-drawer-panel-right[b-c4yg9ff35w] {
        animation: none !important;
    }
}

/* General mode — compact footer link list (Hakkında/İletişim/SSS/Yardım/Legal) */
.sidebar-footer-link[b-c4yg9ff35w] {
    display: block;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: hsl(var(--muted-foreground));
    text-decoration: none;
    transition: background-color 150ms ease, color 150ms ease;
}

.sidebar-footer-link:hover[b-c4yg9ff35w] {
    background: hsl(var(--muted));
    color: hsl(var(--foreground));
}
/* /Components/Pickers/WheelDatePicker.razor.rz.scp.css */
/* WheelDatePicker — kolon scroll fiziği: native CSS scroll-snap + gizli scrollbar.
   Renk yok (Tailwind token kuralı dışı, sadece yapısal davranış) — bu yüzden scoped .razor.css. */

.wdp-column[b-kpwje5b3tk] {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.wdp-column[b-kpwje5b3tk]::-webkit-scrollbar {
    display: none;
}

.wdp-column .wheel-item[b-kpwje5b3tk] {
    transition: opacity 0.05s linear;
}
/* /Components/UI/LiquidSlider.razor.rz.scp.css */
/* LiquidSlider dekoratif animasyonları (baloncuklar, sürükleme parıltısı, değer rozeti).

   TECH-6019: Kurallar LiquidSlider.razor içinde inline <style> bloğundaydı ve CSP
   `style-src 'self'` (TECH-5858) inline <style> ELEMENT'ini bloklamak yüzünden hiçbiri
   uygulanmıyordu — animasyonlar hiç oynamıyordu. Çözüm CSP'yi gevşetmek değil, scoped
   CSS'e taşımak.

   Neden BURADA, `tailwind-input.css` `@theme`'de DEĞİL: bu dört animasyonun tek tüketicisi
   LiquidSlider. Paylaşılan animasyonlar (slide-up-sheet, emoji-appear — iki component
   tarafından kullanılıyor) `@theme`'e taşındı; tek-component olanlar burada kalır ki global
   utility ad alanı component'e özel isimlerle şişmesin.

   ÖLÇÜLDÜ (TECH-6019): Blazor'un scoped CSS yeniden yazıcısı `@keyframes` ADINI da
   scope'lar VE `animation:` bildirimindeki referansı birlikte günceller — derlenmiş
   bundle'da `animation: logo-band-scroll-b-zjjp265eou` / `@keyframes
   logo-band-scroll-b-zjjp265eou` çifti doğrulandı. Yani buradaki keyframe adları
   global ad alanına SIZMAZ; `rtw-` öneki gerekmez ve başka component'le çakışmazlar. */

.animate-bubble-1[b-9vu0kgiqth] {
    animation: bubble-1-b-9vu0kgiqth 0.8s ease-in-out infinite;
}

.animate-bubble-2[b-9vu0kgiqth] {
    animation: bubble-2-b-9vu0kgiqth 0.6s ease-in-out infinite 0.2s;
}

.animate-highlight[b-9vu0kgiqth] {
    animation: highlight-move-b-9vu0kgiqth 1.5s linear infinite;
}

.badge-animate[b-9vu0kgiqth] {
    animation: badge-appear-b-9vu0kgiqth 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes bubble-1-b-9vu0kgiqth {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.6; }
    50% { transform: translateY(-8px) scale(1.2); opacity: 1; }
}

@keyframes bubble-2-b-9vu0kgiqth {
    0%, 100% { transform: translateY(0); opacity: 0.5; }
    50% { transform: translateY(-6px); opacity: 0.8; }
}

@keyframes highlight-move-b-9vu0kgiqth {
    0% { transform: translateX(0%); }
    100% { transform: translateX(300%); }
}

@keyframes badge-appear-b-9vu0kgiqth {
    from { transform: translateY(-10px); opacity: 0; filter: blur(4px); }
    to { transform: translateY(0); opacity: 1; filter: blur(0); }
}
/* /Pages/CompanyDetail.razor.rz.scp.css */
/* CompanyDetail sekme tetikleyicileri + sticky hero collapse.

   TECH-6019: Kurallar CompanyDetail.razor içinde inline <style> bloğundaydı ve CSP
   `style-src 'self'` (TECH-5858) inline <style> ELEMENT'ini bloklamak yüzünden HİÇBİRİ
   uygulanmıyordu — dört sekme butonu (`.tab-trigger`) tarayıcının varsayılan buton
   görünümünde kalıyor, aktif sekme hiç belli olmuyordu. Çözüm CSP'yi gevşetmek değil,
   scoped CSS'e taşımak. Seçicilerin hedefleri CompanyDetail.razor'un kendi markup'ında
   (satır 48 ve 63-77) → `::deep` GEREKMEZ. */

.tab-trigger[b-n5a20ffzvb] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 500;
    color: hsl(var(--muted-foreground));
    background: transparent;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.tab-trigger:hover[b-n5a20ffzvb] {
    color: hsl(var(--foreground));
    background: hsl(var(--muted));
}

.tab-trigger.active[b-n5a20ffzvb] {
    color: hsl(var(--foreground));
    background: hsl(var(--background));
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Sticky hero collapse (TECH-5352) — Chrome/Edge scroll-driven animation; diğer
   tarayıcılarda @supports fallback ile hero sabit boyutta kalır (JS interop yok,
   motion-reduce'ta devre dışı).

   @keyframes bilerek @supports DIŞINDA: kullanılmayan bir keyframe inerttir, koşullu
   tanımlamanın faydası yok — buna karşılık at-rule iç içeliğini azaltmak scoped CSS
   yeniden yazıcısının davranışını öngörülebilir kılar (bkz. LiquidSlider.razor.css'teki
   ölçüm notu: yeniden yazıcı keyframe adını ve `animation:` referansını birlikte
   günceller). */
@keyframes hero-collapse-shrink-b-n5a20ffzvb {
    from { transform: scale(1); }
    to { transform: scale(0.85); }
}

@supports (animation-timeline: scroll()) {
    .hero-collapse-wrapper[b-n5a20ffzvb] {
        position: sticky;
        top: 0;
        z-index: 15;
        animation: hero-collapse-shrink-b-n5a20ffzvb linear both;
        animation-timeline: scroll(nearest block);
        animation-range: 0px 200px;
        transform-origin: top center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-collapse-wrapper[b-n5a20ffzvb] {
        animation: none !important;
        position: static !important;
    }
}
