* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ============================================================
   Liquid Glass icon system (Lucide CDN'in yerini aldı)
   <span class="icon" data-icon="X"></span> → SVG hydrate
   ============================================================ */
.icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size, 1em);
    height: var(--icon-size, 1em);
    line-height: 0;
    flex-shrink: 0;
    vertical-align: middle;
}
.icon > svg {
    width: 100%;
    height: 100%;
    display: block;
}
.icon.spin > svg,
.icon[data-icon="loader-2"] > svg {
    animation: lg-spin 1s linear infinite;
}
@keyframes lg-spin {
    to { transform: rotate(360deg); }
}

/* Renk override — Liquid Glass SVG sabit gradient stroke kullanır;
   inner <g> stroke'unu CSS ile değiştirmek için !important gerekir. */
.icon-tint-danger > svg > g[stroke] {
    stroke: #ef4444 !important;
}
.icon-tint-danger > svg > g[stroke][filter*="blur"] {
    stroke: rgba(239, 68, 68, 0.4) !important;
}

/* Legacy :root removed in C10. All tokens now flow from css/tokens.css
   (see backward-compat alias layer there). */

/* ==========================================================================
   View Transitions API — Apple-grade morph between page states
   --------------------------------------------------------------------------
   Spring easing across all root + named transitions. Key surfaces below
   carry a view-transition-name so they morph independently (sidebar
   collapse, dynamic island state changes, chat area reflow).
   ========================================================================== */
::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 0.4s;
    animation-timing-function: var(--ease-spring);
}

/* Named transition surfaces — each morphs as its own group */
.dynamic-island { view-transition-name: dynamic-island; }
.sidebar        { view-transition-name: sidebar; }
.chat-area      { view-transition-name: chat-area; }

::view-transition-old(dynamic-island),
::view-transition-new(dynamic-island),
::view-transition-old(sidebar),
::view-transition-new(sidebar),
::view-transition-old(chat-area),
::view-transition-new(chat-area) {
    animation-duration: 0.4s;
    animation-timing-function: var(--ease-spring);
}

body {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 14px;
    background: var(--bg-primary);
    color: var(--text-primary);
    overflow: hidden;
}

/* ============================================================
   Model Selection — tam monokrom liquid glass (yeniden tasarım)
   Ambient cam yüzey + Tier-3 cam kartlar (specular + derinlik) +
   monokrom ikon fayansları + cam Toplu AI kutusu.
   ============================================================ */
.model-selection {
    position: fixed;
    inset: 0;
    z-index: 9998;
    padding: 52px 24px 72px;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s var(--ease-smooth);
    /* Tam ekran overlay — koyu monokrom taban; hareketli ışık kümeleri
       ::before/::after ile (sade, sürüklenen aurora). */
    background:
        linear-gradient(180deg, var(--ink-10) 0%, var(--ink-5) 58%, var(--ink-0) 100%);
}

.model-selection.active {
    opacity: 1;
    pointer-events: all;
}

/* Hareketli monokrom arkaplan — yumuşak sürüklenen ışık kümeleri (sade) */
.model-selection::before,
.model-selection::after {
    content: "";
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(36px);
    will-change: transform;
}

.model-selection::before {
    top: -18%;
    left: -12%;
    width: 64vw;
    height: 64vw;
    max-width: 800px;
    max-height: 800px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.025) 42%, transparent 70%);
}

.model-selection::after {
    right: -14%;
    bottom: -20%;
    width: 70vw;
    height: 70vw;
    max-width: 860px;
    max-height: 860px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.055) 0%, rgba(255, 255, 255, 0.02) 44%, transparent 72%);
}

/* Animasyon yalnız ekran aktifken çalışsın (gizliyken CPU yakma) */
.model-selection.active::before {
    animation: modelAuroraA 22s var(--ease-smooth) infinite;
}

.model-selection.active::after {
    animation: modelAuroraB 28s var(--ease-smooth) infinite;
}

/* İçerik arkaplanın üstünde kalsın */
.model-selection > * {
    position: relative;
    z-index: 1;
}

@keyframes modelAuroraA {
    0%   { transform: translate3d(-4%, -3%, 0) scale(1); }
    50%  { transform: translate3d(7%, 6%, 0) scale(1.18); }
    100% { transform: translate3d(-4%, -3%, 0) scale(1); }
}

@keyframes modelAuroraB {
    0%   { transform: translate3d(4%, 5%, 0) scale(1.12); }
    50%  { transform: translate3d(-6%, -4%, 0) scale(1); }
    100% { transform: translate3d(4%, 5%, 0) scale(1.12); }
}

@media (prefers-reduced-motion: reduce) {
    .model-selection.active::before,
    .model-selection.active::after { animation: none; }
}

/* ============================================================
   Aktivasyon-Önce Ekranı (Paket Aktivasyon) — Liquid Glass masterpiece
   Tam-ekran monokrom taban + sürüklenen aurora; üzerinde Tier-1 frosted kart.
   ============================================================ */
.activation-screen {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 52px 22px 72px;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s var(--ease-smooth);
    background: linear-gradient(180deg, var(--ink-10) 0%, var(--ink-5) 58%, var(--ink-0) 100%);
}
.activation-screen.active { opacity: 1; pointer-events: all; }

/* Sürüklenen monokrom ışık kümeleri (model-selection ile aynı dil) */
.activation-screen::before,
.activation-screen::after {
    content: "";
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(40px);
    will-change: transform;
}
.activation-screen::before {
    top: -16%; left: -10%;
    width: 60vw; height: 60vw; max-width: 760px; max-height: 760px;
    background: radial-gradient(circle, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.025) 42%, transparent 70%);
}
.activation-screen::after {
    right: -14%; bottom: -20%;
    width: 66vw; height: 66vw; max-width: 820px; max-height: 820px;
    background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 44%, transparent 72%);
}
.activation-screen.active::before { animation: modelAuroraA 24s var(--ease-smooth) infinite; }
.activation-screen.active::after  { animation: modelAuroraB 30s var(--ease-smooth) infinite; }
@media (prefers-reduced-motion: reduce) {
    .activation-screen.active::before,
    .activation-screen.active::after { animation: none; }
}

/* Tier-1 frosted kart (chrome .glass-1 sınıfından; burada ölçü + giriş) */
.activation-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 468px;
    margin: auto;
    padding: 38px 32px 26px;
    border-radius: 28px;
    text-align: center;
}
.activation-screen.active .activation-card {
    animation: glassSpringEntrance 0.5s var(--ease-spring) both;
}
.activation-card > * { position: relative; z-index: 2; }

/* Logo ayarları */
.activation-logo {
    display: block;
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}

.activation-card h1 {
    font-size: 26px; font-weight: 700; letter-spacing: -0.025em;
    margin: 0 0 8px; color: var(--ink-100);
}
.activation-sub {
    font-size: 14px; color: var(--text-2);
    margin: 0 auto 24px; line-height: 1.55; max-width: 340px;
}

/* Kod girişi — derin inset + odakta beyaz parıltı halkası */
.activation-input-row {
    position: relative;
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 14px;
    height: 52px;
    padding: 4px 6px 4px 16px;
    border-radius: 99px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(0,0,0,0.18);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.35);
    transition:
        border-color var(--motion-base) var(--ease-spring),
        box-shadow var(--motion-base) var(--ease-spring),
        background var(--motion-base) var(--ease-spring);
}
.activation-input-row:focus-within {
    border-color: rgba(255,255,255,0.42);
    background: rgba(0,0,0,0.12);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.35), 0 0 0 4px rgba(255,255,255,0.07);
}
.activation-input-icon {
    position: static;
    transform: none;
    --icon-size: 18px; width: 18px; height: 18px; color: var(--text-3);
    pointer-events: none; z-index: 1;
    transition: color var(--motion-base) var(--ease-spring);
    flex-shrink: 0;
}
.activation-input-row:focus-within .activation-input-icon { color: var(--ink-92); }
.activation-input {
    flex: 1; min-width: 0;
    height: 100%;
    padding: 0 8px;
    border: none;
    background: transparent;
    color: var(--ink-100);
    font-size: 15px; letter-spacing: 0.05em; font-weight: 500;
    text-transform: uppercase;
    box-shadow: none;
    outline: none !important;
    appearance: none;
    -webkit-appearance: none;
}
.activation-input::placeholder { color: var(--text-3); letter-spacing: normal; text-transform: none; font-weight: 400; }
.activation-input:focus {
    outline: none !important;
    background: transparent;
    box-shadow: none;
}

/* Doğrula butonu — "Yeni Sohbet" (.btn-new-chat) stiliyle aynı entegre cam buton */
.activation-verify-btn {
    position: relative;
    overflow: hidden;
    width: 40px; height: 40px; flex: 0 0 40px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
    transition: all var(--motion-base) var(--ease-spring);
}
.activation-verify-btn::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);
}
.activation-verify-btn .icon { position: relative; z-index: 1; --icon-size: 18px; width: 18px; height: 18px; }
.activation-verify-btn:hover { 
    transform: scale(1.05); 
    background: rgba(255, 255, 255, 0.14); 
    border-color: rgba(255, 255, 255, 0.26); 
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
}
.activation-verify-btn:active { transform: scale(0.95); filter: brightness(0.92); }

.activation-result:empty { margin: 0; }
.activation-result { margin-top: 8px; }
.act-loading {
    color: var(--text-2); font-size: 13px; padding: 14px 0;
    letter-spacing: 0.02em;
}

/* Onay / seçim kartı — Tier-1 cam + yaylı giriş */
.act-confirm {
    position: relative;
    isolation: isolate;
    text-align: left;
    padding: 18px 18px 16px;
    border-radius: 20px;
    margin-top: 6px;
    animation: glassSpringEntrance 0.42s var(--ease-spring) both;
}
.act-confirm-head {
    font-size: 16px; font-weight: 650; color: var(--ink-100);
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin-bottom: 12px;
}
.act-dur {
    font-size: 11.5px; font-weight: 600; color: var(--ink-92);
    padding: 4px 11px; border-radius: var(--radius-pill);
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
    white-space: nowrap; letter-spacing: 0.02em;
}
.act-grant-list { list-style: none; margin: 0 0 16px; padding: 0; }
.act-grant-list li {
    display: flex; align-items: center; gap: 10px;
    font-size: 14px; color: var(--ink-92);
    padding: 6px 0;
}
.act-grant-list li .icon {
    --icon-size: 14px; width: 26px; height: 26px; flex: 0 0 26px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 8px; color: var(--ink-92);
    background: linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.20);
}
/* Premium grant satırı — cam fayanslı model logosu + ad + sürüm (monokrom; logo PNG izinli) */
.act-grant-row { display: flex; align-items: center; gap: 11px; }
.act-grant-ic {
    width: 30px; height: 30px; flex: 0 0 30px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 9px; overflow: hidden; color: var(--ink-92);
    background: linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.20);
}
.act-grant-ic img { width: 20px; height: 20px; object-fit: contain; display: block; }
.act-grant-ic .icon { --icon-size: 15px; width: 15px; height: 15px; }
.act-grant-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.act-grant-name {
    font-size: 14px; font-weight: 600; color: var(--ink-100);
    display: flex; align-items: center; gap: 7px;
}
.act-grant-sub { font-size: 11.5px; color: var(--ink-70); letter-spacing: 0.01em; }
.act-grant-badge {
    font-size: 9.5px; font-weight: 650; letter-spacing: 0.04em; text-transform: uppercase;
    padding: 2px 7px; border-radius: var(--radius-pill); color: var(--ink-92);
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
}
/* Çoklu-seçim kartındaki logo fayansı — sağda hero öğe, tik rozeti taşıyabilmek için relative */
.act-pick .act-grant-ic {
    position: relative; overflow: visible;
    width: 32px; height: 32px; flex: 0 0 32px;
    margin-left: auto;   /* logoyu sağa yasla */
}
.act-pick .act-grant-ic img { width: 19px; height: 19px; }

/* Satış noktaları — aktivasyon ekranı "nereden satın alınır" (monokrom cam, pazarlama) */
.act-sellers { margin: 4px 0 8px; text-align: left; }
.act-sellers-head { margin: 0 0 11px; padding-left: 2px; }
.act-sellers-title {
    font-size: 14px; font-weight: 650; color: var(--ink-100);
    letter-spacing: -0.01em; line-height: 1.2;
}
.act-sellers-sub {
    font-size: 11.5px; color: var(--ink-70); margin-top: 3px; letter-spacing: 0.01em;
}
.act-sellers-list { display: flex; flex-direction: column; gap: 8px; }
.act-sellers-list.collapsed .act-seller:nth-child(n+4) { display: none; }
.act-seller {
    position: relative;
    display: flex; align-items: center; gap: 11px;
    padding: 11px 13px; border-radius: var(--radius-sm);
    border: 1px solid var(--glass-3-border);
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    box-shadow: var(--inset-top-glow), var(--shadow-contact);
    color: var(--ink-92); text-decoration: none; overflow: hidden;
    transition:
        transform var(--motion-base) var(--ease-spring),
        border-color var(--motion-base) var(--ease-spring),
        filter var(--motion-base) var(--ease-spring);
}
.act-seller::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(135deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.03) 42%, transparent 60%);
    mix-blend-mode: overlay; opacity: 0; transition: opacity var(--motion-base) var(--ease-spring);
}
.act-seller:hover { transform: translateY(-2px); border-color: rgba(255,255,255,0.24); filter: brightness(1.07); }
.act-seller:hover::before { opacity: 0.6; }
.act-seller:active { transform: translateY(-1px) scale(0.99); }
.act-seller > * { position: relative; z-index: 1; }
.act-seller-ic {
    width: 34px; height: 34px; flex: 0 0 34px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 10px; overflow: hidden;
    background: linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.20);
}
.act-seller-ic img { width: 20px; height: 20px; object-fit: contain; display: block; }
.act-seller-txt { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.act-seller-name {
    font-size: 14px; font-weight: 600; color: var(--ink-100);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.act-seller-note {
    font-size: 11.5px; color: var(--ink-70); letter-spacing: 0.01em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.act-seller-go {
    flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%; color: var(--ink-70);
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10);
    transition:
        transform var(--motion-base) var(--ease-spring),
        color var(--motion-base) var(--ease-spring),
        background var(--motion-base) var(--ease-spring);
}
.act-seller:hover .act-seller-go {
    color: var(--ink-100); background: rgba(255,255,255,0.13);
    transform: translateX(2px) translateY(-2px);
}
/* "Daha fazla gör" — pazarlama genişletici pill */
.act-sellers-more {
    width: 100%; margin-top: 9px;
    display: flex; align-items: center; justify-content: center; gap: 7px;
    padding: 9px 14px; border-radius: var(--radius-pill);
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.05);
    color: var(--ink-92); font-size: 12.5px; font-weight: 600; cursor: pointer;
    letter-spacing: 0.01em;
    transition:
        background var(--motion-base) var(--ease-spring),
        border-color var(--motion-base) var(--ease-spring),
        transform var(--motion-base) var(--ease-spring);
}
.act-sellers-more:hover { background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.20); }
.act-sellers-more:active { transform: scale(0.98); }
.act-sellers-more-chev { transition: transform var(--motion-base) var(--ease-spring); }
.act-sellers-more.expanded .act-sellers-more-chev { transform: rotate(180deg); }

.act-pick-hint { font-size: 12.5px; color: var(--text-2); margin: 0 0 12px; letter-spacing: 0.01em; }
.act-pick-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 9px;
    margin-bottom: 16px;
}
/* Tek kalan son kart (tek sayıda model) 2 sütun düzeninde ortalansın — 3 model → 2+1, 5 → 2+2+1 */
.act-pick:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 4.5px);   /* gap 9px → tek sütun genişliği */
}
/* Seçim fayansları — Tier-3 cam + yaylı hover + parlak seçili durum */
.act-pick {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex; align-items: center; gap: 10px;
    padding: 12px 13px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--glass-3-border);
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    box-shadow: var(--inset-top-glow), var(--shadow-contact);
    color: var(--ink-92);
    font-size: 14px; font-weight: 500; cursor: pointer; text-align: left;
    transition:
        transform var(--motion-base) var(--ease-spring),
        border-color var(--motion-base) var(--ease-spring),
        box-shadow var(--motion-base) var(--ease-spring),
        filter var(--motion-base) var(--ease-spring);
}
.act-pick::before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 1;
    background: linear-gradient(135deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.03) 40%, transparent 58%);
    mix-blend-mode: overlay; opacity: 0.5;
}
.act-pick > * { position: relative; z-index: 2; }
.act-pick:hover { transform: translateY(-2px); border-color: rgba(255,255,255,0.22); filter: brightness(1.06); }
.act-pick:active { transform: translateY(-1px) scale(0.99); }
.act-pick.selected {
    border-color: rgba(255,255,255,0.40);
    box-shadow:
        var(--inset-top-glow), var(--shadow-contact),
        0 0 0 1px rgba(255,255,255,0.18),
        0 0 22px rgba(255,255,255,0.07);
    filter: brightness(1.08);
}
/* Ad solda, logoyu sağa iter */
.act-pick-name {
    flex: 1; min-width: 0;
    font-weight: 550; letter-spacing: -0.005em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* Seçili-durum tik rozeti — sağdaki logo fayansının köşesinde (monokrom cam) */
.act-pick-check {
    position: absolute; right: -5px; bottom: -5px;
    width: 17px; height: 17px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #0b0b0d;
    background: radial-gradient(circle at 35% 30%, #ffffff, #d4d4d8);
    border: 1.5px solid var(--glass-1-bg, #0e0f15);
    box-shadow: 0 0 8px rgba(255,255,255,0.45);
    opacity: 0; transform: scale(0.5);
    transition: opacity var(--motion-base) var(--ease-spring),
                transform var(--motion-base) var(--ease-spring);
    pointer-events: none; z-index: 3;
}
.act-pick.selected .act-pick-check { opacity: 1; transform: scale(1); }

/* Onayla / Etkinleştir — "Yeni Sohbet" (.btn-new-chat) stiliyle aynı entegre cam buton */
.activation-confirm-btn {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 48px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
    transition: all var(--motion-base) var(--ease-spring);
}

.activation-confirm-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.activation-confirm-btn > * {
    position: relative;
    z-index: 1;
}

.activation-confirm-btn:hover:not(:disabled) {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.activation-confirm-btn:active:not(:disabled) {
    transform: scale(0.985);
    filter: brightness(0.92);
}

.activation-confirm-btn:disabled {
    opacity: 0.32;
    cursor: not-allowed;
    filter: grayscale(0.2);
}

/* Aktivasyon-anı cayma feragati onayı (İade Politikası m.2) */
.act-consent {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 2px 0 14px;
    padding: 11px 13px;
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--stroke-hairline);
    text-align: left;
    cursor: pointer;
}

.act-consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin-top: 1px;
    accent-color: #fff;
    cursor: pointer;
}

.act-consent span {
    font-size: 12px;
    line-height: 1.5;
    color: var(--text-2);
    letter-spacing: 0.005em;
}

.act-consent a {
    color: var(--text-1);
    text-decoration: underline;
    text-underline-offset: 2px;
}


/* "Modelleri Yönet" — ızgaraya geçiş; belirgin cam chip (ikincil ama görünür) */
.activation-manage-link {
    margin-top: 22px;
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.14);
    color: var(--ink-92); font-size: 13.5px; font-weight: 550; cursor: pointer;
    padding: 10px 18px; border-radius: var(--radius-pill);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
    transition: transform var(--motion-base) var(--ease-spring), color var(--motion-base) var(--ease-spring), background var(--motion-base) var(--ease-spring), border-color var(--motion-base) var(--ease-spring);
}
.activation-manage-link:hover { color: var(--ink-100); background: rgba(255,255,255,0.10); border-color: rgba(255,255,255,0.24); transform: translateY(-1px); }
.activation-manage-link:active { transform: scale(0.98); }
.activation-manage-link .icon { --icon-size: 16px; width: 16px; height: 16px; }

/* Aktivasyon kartı altı — hukuki bağlantılar (ikincil, sönük) */
.activation-legal-links {
    margin: 18px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 9px;
    font-size: 11.5px;
    color: var(--text-3);
    letter-spacing: 0.01em;
}
.activation-legal-links a { color: var(--text-2); text-decoration: none; }
.activation-legal-links a:hover { color: var(--text-1); text-decoration: underline; }

@media (max-width: 480px) {
    .activation-card { padding: 30px 22px 22px; border-radius: 24px; }
    .act-pick-grid { grid-template-columns: 1fr; }
    /* Tek sütunda ortalama kuralı genişliği bozmasın */
    .act-pick:last-child:nth-child(odd) { grid-column: auto; width: 100%; }
}

/* Model ızgarasının altındaki "Paket Etkinleştir" linki → hero (kod ekranı) */
.model-activation-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 42px;
    margin-bottom: 8px;
}
.model-activation-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 11px 22px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-pill);
    color: var(--ink-70);
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 4px 15px rgba(0, 0, 0, 0.15);
    transition: 
        transform var(--motion-base) var(--ease-spring),
        color var(--motion-base) var(--ease-spring),
        background var(--motion-base) var(--ease-spring),
        border-color var(--motion-base) var(--ease-spring),
        box-shadow var(--motion-base) var(--ease-spring);
}
.model-activation-link:hover {
    color: var(--ink-92);
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
    transform: translateY(-2px);
    box-shadow: 
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 10px 25px rgba(0, 0, 0, 0.25),
        0 0 15px rgba(255, 255, 255, 0.03);
}
.model-activation-link:active {
    transform: translateY(0) scale(0.98);
}
.model-activation-link strong {
    color: var(--ink-100);
    font-weight: 600;
    margin-left: 3px;
    transition: text-shadow var(--motion-base) var(--ease-spring);
}
.model-activation-link:hover strong {
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.4);
}
.model-activation-link .icon {
    --icon-size: 15px;
    width: 15px;
    height: 15px;
    opacity: 0.8;
    transition: transform var(--motion-base) var(--ease-spring), opacity var(--motion-base) var(--ease-spring);
}
.model-activation-link:hover .icon {
    transform: scale(1.15) rotate(-8deg);
    opacity: 1;
}

/* Ayarlar > Paketlerim kartı */
.my-packages-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.my-package-row {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 11px 14px;
    border-radius: var(--radius-sm);
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    border: 1px solid var(--glass-3-border);
    box-shadow: var(--inset-top-glow), var(--shadow-contact);
}
.my-package-name { font-size: 14px; font-weight: 550; color: var(--ink-92); }
.my-package-exp {
    font-size: 11.5px; font-weight: 600; color: var(--text-2);
    padding: 4px 11px; border-radius: var(--radius-pill);
    background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
    white-space: nowrap;
}
.my-packages-empty {
    text-align: center; padding: 18px 12px;
    font-size: 13px; color: var(--text-2);
    border: 1px dashed rgba(255,255,255,0.12); border-radius: var(--radius-sm);
    margin-bottom: 14px;
}
.my-packages-code-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.08);
    color: var(--ink-100); font-size: 13.5px; font-weight: 600; cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.14);
    transition: transform var(--motion-base) var(--ease-spring), background var(--motion-base) var(--ease-spring), border-color var(--motion-base) var(--ease-spring);
}
.my-packages-code-btn:hover { transform: translateY(-1px); background: rgba(255,255,255,0.13); border-color: rgba(255,255,255,0.26); }
.my-packages-code-btn:active { transform: scale(0.98); }
.my-packages-code-btn .icon { --icon-size: 15px; width: 15px; height: 15px; }

/* İstek & Şikayet (Instagram model kilidi + genel istek) — monokrom glass */
.request-card {
    padding: 14px;
    border-radius: var(--radius-sm);
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    border: 1px solid var(--glass-3-border);
    box-shadow: var(--inset-top-glow), var(--shadow-contact);
    margin-bottom: 14px;
}
.request-card-title { font-size: 14px; font-weight: 600; color: var(--ink-92); margin-bottom: 6px; }
.request-card-desc { font-size: 12.5px; line-height: 1.5; color: var(--text-2); margin-bottom: 12px; }
.request-card-desc strong { color: var(--ink-92); font-weight: 650; }
.request-label { display: block; font-size: 12px; font-weight: 600; color: var(--text-2); margin: 10px 0 5px; }
.request-ig-input {
    display: flex; align-items: center; gap: 2px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.05);
    padding: 0 12px;
}
.request-ig-at { color: var(--text-2); font-size: 14px; font-weight: 600; }
.request-ig-input input {
    flex: 1; min-width: 0; background: transparent; border: none; outline: none;
    color: var(--ink-100); font-size: 14px; padding: 10px 6px;
}
.request-select, .request-textarea {
    width: 100%; box-sizing: border-box;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.05);
    color: var(--ink-100); font-size: 14px; padding: 10px 12px;
    outline: none; font-family: inherit;
}
.request-textarea { resize: vertical; min-height: 44px; margin-top: 4px; }
.request-select:focus, .request-textarea:focus, .request-ig-input:focus-within { border-color: rgba(255,255,255,0.3); }
.request-select option { background: #16171d; color: var(--ink-100); }
.request-file {
    display: flex; align-items: center; gap: 8px;
    padding: 12px 14px; cursor: pointer;
    border-radius: var(--radius-sm);
    border: 1px dashed rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.04);
    color: var(--text-2); font-size: 13px;
    transition: border-color var(--motion-base) var(--ease-spring), background var(--motion-base) var(--ease-spring);
}
.request-file:hover { border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.07); }
.request-file .icon { --icon-size: 16px; width: 16px; height: 16px; }
.request-preview {
    display: block; max-width: 100%; max-height: 180px;
    margin-top: 10px; border-radius: var(--radius-sm);
    border: 1px solid rgba(255,255,255,0.12);
}
.request-submit-btn {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 14px; padding: 10px 18px;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(255,255,255,0.16);
    background: rgba(255,255,255,0.08);
    color: var(--ink-100); font-size: 13.5px; font-weight: 600; cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.14);
    transition: transform var(--motion-base) var(--ease-spring), background var(--motion-base) var(--ease-spring), border-color var(--motion-base) var(--ease-spring);
}
.request-submit-btn:hover:not(:disabled) { transform: translateY(-1px); background: rgba(255,255,255,0.13); border-color: rgba(255,255,255,0.26); }
.request-submit-btn:active:not(:disabled) { transform: scale(0.98); }
.request-submit-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.request-submit-btn .icon { --icon-size: 15px; width: 15px; height: 15px; }

.request-status-box {
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 16px;
    backdrop-filter: blur(5px);
    transition: all 0.3s ease;
}
.request-status-box.pending {
    border: 1px solid rgba(255, 179, 64, 0.3);
    background: rgba(255, 179, 64, 0.06);
    color: #ffb340;
    box-shadow: 0 0 12px rgba(255, 179, 64, 0.05);
}
.request-status-box.approved {
    border: 1px solid rgba(52, 199, 89, 0.3);
    background: rgba(52, 199, 89, 0.06);
    color: #34c759;
    box-shadow: 0 0 12px rgba(52, 199, 89, 0.05);
}
.request-status-box.rejected {
    border: 1px solid rgba(255, 69, 58, 0.3);
    background: rgba(255, 69, 58, 0.06);
    color: #ff453a;
    box-shadow: 0 0 12px rgba(255, 69, 58, 0.05);
}
.request-status-note { margin-top: 5px; color: var(--text-2); font-size: 12px; }

/* İstek & Şikayet Sekmeleri (Tab Switcher) */
.request-tabs {
    display: flex;
    gap: 4px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-pill, 99px);
    padding: 4px;
    margin-bottom: 16px;
    backdrop-filter: blur(10px);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.request-tab {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: none;
    background: transparent;
    color: var(--text-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border-radius: var(--radius-pill, 99px);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.request-tab:hover {
    color: var(--ink-100);
    background: rgba(255, 255, 255, 0.03);
}
.request-tab.active {
    color: var(--ink-100);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    font-weight: 600;
}
.request-tab .icon {
    --icon-size: 14px;
    width: 14px;
    height: 14px;
}

.hidden {
    display: none !important;
}
[hidden] {
    display: none !important;
}

.model-selection h1 {
    text-align: center;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--ink-100);
}

.model-selection > p {
    text-align: center;
    color: var(--ink-70);
    font-size: 15px;
    margin-bottom: 42px;
}

.model-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    max-width: 1120px;
    margin: 0 auto;
}

/* Kolon sayısı kart genişliğiyle sürülür (flex-wrap + ortala) */
.model-grid .model-card {
    flex: 0 1 260px;
    width: 260px;
}

.model-card {
    position: relative;
    isolation: isolate;
    padding: 22px 18px 18px;
    border-radius: var(--radius-md);
    cursor: pointer;
    overflow: hidden;
    /* Tier-3 cam */
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    border: 1px solid var(--glass-3-border);
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03) var(--glass-3-refract);
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-top-bloom),
        var(--shadow-contact),
        var(--shadow-lift);
    transition:
        transform var(--motion-base) var(--ease-spring),
        border-color var(--motion-base) var(--ease-spring),
        box-shadow var(--motion-base) var(--ease-spring),
        filter var(--motion-base) var(--ease-spring);
}

/* Specular crescent (cam parlak köşesi) */
.model-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        transparent 58%);
    mix-blend-mode: overlay;
    opacity: 0.55;
}

.model-card > * {
    position: relative;
    z-index: 2;
}

.model-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 255, 255, 0.22);
    filter: brightness(1.06);
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-top-bloom),
        var(--shadow-contact),
        var(--shadow-lift),
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 16px 40px rgba(0, 0, 0, 0.40),
        0 0 28px rgba(255, 255, 255, 0.05);
}

.model-card:active {
    transform: translateY(-1px) scale(0.99);
}

.model-card.locked {
    opacity: 0.6;
}

.model-card.locked:hover {
    transform: translateY(-1px);
    filter: none;
}

.model-icon-wrapper {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px auto;
    overflow: hidden;
    /* Monokrom cam fayans — marka rengi YOK; logo PNG üstte korunur */
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04));
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.25),
        inset 0 -2px 4px rgba(0, 0, 0, 0.22),
        0 4px 14px rgba(0, 0, 0, 0.25);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.model-icon-wrapper img {
    width: 34px !important;
    height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    object-fit: contain;
    display: block;
}

.model-card h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 4px;
    text-align: center;
    color: var(--ink-100);
}

.model-version {
    color: var(--ink-70);
    font-size: 13px;
    margin-bottom: 14px;
    text-align: center;
}

/* Admin panelinden düzenlenebilir model açıklaması (opsiyonel) */
.model-desc {
    color: var(--ink-55, var(--ink-70));
    font-size: 12px;
    line-height: 1.4;
    margin: -6px 0 14px;
    text-align: center;
    max-width: 22ch;
    margin-left: auto;
    margin-right: auto;
}

.model-stats {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
}

.model-stats span {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    color: var(--ink-85);
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 500;
}

.lock-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    color: #ffffff;
    padding: 4px 9px;
    border-radius: var(--radius-pill);
    font-size: 11px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    z-index: 3;
}

.lock-badge .icon { --icon-size: 13px; }

/* Toplu AI aktivasyon kutusu — cam kapsül */
.toplu-ai-section {
    margin-top: 40px;
    text-align: center;
}

.toplu-ai-card {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px 12px 22px;
    border-radius: var(--radius-pill);
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    border: 1px solid var(--glass-3-border);
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03) var(--glass-3-refract);
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-top-bloom),
        var(--shadow-contact),
        var(--shadow-lift);
}

.toplu-ai-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--ink-92);
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.toplu-ai-input {
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--radius-pill);
    padding: 9px 16px;
    font-size: 13px;
    width: 180px;
    outline: none;
    color: var(--ink-92);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.30);
    transition:
        border-color var(--motion-base) var(--ease-spring),
        box-shadow var(--motion-base) var(--ease-spring);
}

.toplu-ai-input::placeholder {
    color: var(--ink-50);
    text-transform: none;
    letter-spacing: normal;
}

.toplu-ai-input:focus {
    border-color: rgba(255, 255, 255, 0.40);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.30), 0 0 0 3px rgba(255, 255, 255, 0.06);
}

/* "Yeni Sohbet" (.btn-new-chat) ile birebir aynı cam buton */
.toplu-ai-btn {
    position: relative;
    overflow: hidden;
    padding: 11px 22px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-sm);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
    transition: all var(--motion-base) var(--ease-spring);
}

.toplu-ai-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0) 55%);
    pointer-events: none;
}

.toplu-ai-btn > * {
    position: relative;
    z-index: 1;
}

.toplu-ai-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.toplu-ai-btn:active {
    transform: scale(0.985);
    filter: brightness(0.92);
}

.toplu-ai-hint {
    font-size: 11px;
    color: var(--ink-50);
    margin-top: 12px;
}

@media (max-width: 480px) {
    .toplu-ai-card {
        flex-direction: column;
        border-radius: var(--radius-md);
        padding: 18px 16px;
        width: 100%;
        max-width: 320px;
    }
    .toplu-ai-input,
    .toplu-ai-btn {
        width: 100%;
    }
}

/* Password Modal — Tier 1 macro backdrop (chrome from .glass-1) */
.password-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal, 10010);
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--motion-base) var(--ease-spring);
    border-radius: 0;
}

.password-modal.active {
    opacity: 1;
    pointer-events: all;
}

/* Password Card — Tier 2 panel (chrome from .glass-2 utility) */
.password-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    padding: 40px 36px 32px;
    max-width: 420px;
    width: 90%;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
    text-align: center;
    z-index: 1;
}

.password-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.password-modal.active .password-card {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

@keyframes passwordSlideUp {
    from {
        transform: translateY(12px) scale(0.97);
        opacity: 0;
    }
    to {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Icon Wrapper — static halo, no purple glow, no pulse */
.password-icon-wrapper {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.password-icon-glow {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.10), transparent 70%);
    opacity: 0.6;
}

.password-main-icon {
    width: 36px;
    height: 36px;
    color: var(--ink-92);
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.4));
}

/* Title & Description */
.password-card h2 {
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.3px;
}

.password-card p {
    color: var(--text-secondary);
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.5;
}

/* Input Group */
.password-input-group {
    position: relative;
    margin-bottom: 20px;
}

.password-input-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: var(--text-secondary);
    transition: color 0.3s ease;
    z-index: 1;
    pointer-events: none;
}

.password-input-group:focus-within .password-input-icon {
    color: var(--accent-color);
}

.password-card input,
.password-input-group input {
    width: 100%;
    padding: 14px 16px 14px 44px;
    background: var(--bg-tertiary);
    border: 1.5px solid var(--border-color);
    border-radius: 14px;
    color: var(--text-primary);
    font-size: 15px;
    font-family: 'JetBrains Mono', 'Consolas', monospace;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    transition: all var(--motion-base) var(--ease-spring);
    margin-bottom: 0;
}

.password-card input:focus,
.password-input-group input:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.15);
    background: var(--bg-primary);
}

.password-card input::placeholder {
    color: var(--text-secondary);
    opacity: 0.5;
    letter-spacing: 1px;
    font-size: 13px;
}

/* Buttons */
.password-buttons {
    display: flex;
    gap: 12px;
}

.password-buttons button {
    flex: 1;
    padding: 13px 16px;
    border: none;
    border-radius: 14px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.password-buttons button i, .password-buttons button .icon {
    width: 18px;
    height: 18px;
}

.btn-cancel {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border: 1px solid var(--border-color) !important;
}

.btn-cancel:hover {
    background: var(--hover-bg);
    border-color: var(--text-secondary) !important;
    transform: translateY(-1px);
}

/* Primary CTA — Apple inverted: white surface, ink-0 (black) text/icon */
.btn-submit {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20),
        0 0 0 1px rgba(255, 255, 255, 0.10);
}

.btn-submit:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.btn-submit:active {
    transform: scale(0.985);
    filter: brightness(0.92);
}

/* Help Text */
.password-help-text {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    font-size: 12px !important;
    color: var(--text-secondary) !important;
    text-align: center;
    opacity: 0.7;
}

/* Light mode adjustments */
/* Main App */
.main-app {
    display: none;
    height: 100vh;
}

.main-app.active {
    display: flex;
}

/* Sidebar — Tier 2 liquid glass (chrome from .glass-2 utility).
   Local rules own only layout, custom edge stroke (replacing the
   utility's full hairline border with a single right-edge stroke),
   and the collapse transition. */
.sidebar {
    position: fixed;
    top: 12px;
    left: 12px;
    width: 248px;
    height: calc(100vh - 24px);
    z-index: 900;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid var(--stroke-hairline);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 8px 28px rgba(0, 0, 0, 0.32);
    transform: translate3d(0, 0, 0);
    transition: transform 360ms var(--ease-spring);
    will-change: transform;
    contain: layout paint;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.sidebar.collapsed {
    transform: translate3d(calc(-100% - 24px), 0, 0);
    pointer-events: none;
}

/* Toggle Button — Tier 3 liquid glass (compact element) */
.sidebar-toggle-btn {
    position: fixed;
    top: 20px;
    left: 20px;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-sm);
    background: rgba(28, 28, 32, 0.78);
    backdrop-filter: blur(12px) saturate(1.4);
    -webkit-backdrop-filter: blur(12px) saturate(1.4);
    border: 1px solid var(--stroke-subtle);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1001;
    transition: transform var(--motion-base) var(--ease-spring),
                filter var(--motion-base) var(--ease-spring),
                border-color var(--motion-base) var(--ease-spring);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.3);
}

.sidebar-toggle-btn:hover {
    border-color: var(--stroke-strong);
    transform: translateY(-1px) scale(1.02);
    filter: brightness(1.06);
}

.sidebar-toggle-btn:active {
    transform: scale(0.96);
    filter: brightness(0.94);
}

.sidebar-toggle-btn i, .sidebar-toggle-btn .icon {
    width: 22px;
    height: 22px;
    color: var(--text-primary);
    transition: transform 0.3s ease;
}

/* Liquid glass SVG icon (panel-left-close / panel-left-open) */
.sidebar-toggle-btn .sidebar-toggle-svg {
    width: 22px;
    height: 22px;
    color: var(--text-primary);
    transition: transform var(--motion-slow, 360ms) var(--ease-spring, cubic-bezier(0.32, 0.72, 0, 1));
    will-change: transform;
}

.sidebar-toggle-btn.is-collapsed .sidebar-toggle-svg {
    transform: rotate(180deg);
}

.sidebar.collapsed~.sidebar-toggle-btn {
    left: 20px;
}

.sidebar-logo {
    padding: 28px 20px 24px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    touch-action: none;
}

.logo-icon::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 40%, transparent 70%);
    border-radius: 50%;
    filter: blur(8px);
    pointer-events: none;
    z-index: 0;
    animation: logoGlowPulse 4s ease-in-out infinite;
}

.logo-icon model-viewer {
    position: relative;
    z-index: 1;
    cursor: grab;
    outline: none !important;
    border: none;
    -webkit-tap-highlight-color: transparent;
}

.logo-icon model-viewer:focus,
.logo-icon model-viewer:focus-visible,
.logo-icon model-viewer:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

.logo-icon model-viewer:active {
    cursor: grabbing;
}

@keyframes logoGlowPulse {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

@media (prefers-reduced-motion: reduce) {
    .logo-icon::before {
        animation: none;
    }
}

#logo2D {
    display: none;
    position: relative;
    z-index: 1;
    pointer-events: auto;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), filter 0.4s ease;
    filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.15));
}

#logo2D:hover {
    transform: scale(1.08) rotate(3deg);
    filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.35));
}


.logo-text {
    font-size: 18px;
    font-weight: 700;
}

.user-profile {
    margin: 4px 16px 12px 16px;
    padding: 12px;
    background: var(--bg-secondary);
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* User avatar — fallback colour; JS overrides background per-user (HSL hash).
   Border ensures contrast against any sidebar tier. */
.user-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--ink-30);
    color: var(--ink-92);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    border: 1px solid var(--stroke-subtle);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

.user-info {
    flex: 1;
}

.user-info h4 {
    font-size: 13px;
    margin-bottom: 2px;
}

.user-info p {
    font-size: 11px;
    color: var(--text-secondary);
}

.search-box {
    margin: 0 16px 10px;
    position: relative;
}

.search-box input {
    width: 100%;
    padding: 11px 12px 11px 38px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 12px;
    color: #fff;
    font-size: 13px;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.search-box input::placeholder {
    color: rgba(255, 255, 255, 0.40);
}

.search-box input:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.30);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.04);
}

.search-box i, .search-box .icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    --icon-size: 16px;
    color: rgba(255, 255, 255, 0.50);
    pointer-events: none;
}

/* Prompt library search (no horizontal margin — inside section) */
.settings-modal .search-box {
    margin: 0 0 14px;
}

/* New Chat — Liquid Glass pill (refractive surface, white text) */
.btn-new-chat {
    margin: 0 16px 12px;
    padding: 12px 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--radius-sm);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--motion-base) var(--ease-spring);
    font-size: 13px;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
    position: relative;
    overflow: hidden;
}

.btn-new-chat::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.btn-new-chat > * {
    position: relative;
    z-index: 1;
}

.btn-new-chat:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.btn-new-chat:active {
    transform: scale(0.985);
    filter: brightness(0.92);
}

.chat-list {
    flex: 1;
    overflow-y: auto;
    padding: 0 16px;
}

.chat-group h5 {
    font-size: 11px;
    color: var(--text-secondary);
    margin: 8px 0 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.chat-item {
    padding: 10px 12px;
    background: transparent;
    border-radius: 10px;
    margin-bottom: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.2s;
}

.chat-item:hover {
    background: var(--hover-bg);
}

.chat-item.active {
    background: var(--bg-secondary);
}

/* Chat Item Delete Button */
.btn-delete-chat {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    transition: all 0.2s;
    opacity: 0;
    flex-shrink: 0;
}

.chat-item:hover .btn-delete-chat {
    opacity: 1;
}

.btn-delete-chat:hover {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.btn-delete-chat i, .btn-delete-chat .icon {
    width: 16px;
    height: 16px;
}

.chat-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.chat-icon img {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain;
    display: block;
}

.chat-info {
    flex: 1;
    min-width: 0;
}

.chat-info h4 {
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

.chat-info p {
    font-size: 11px;
    color: var(--text-secondary);
}

.sidebar-footer {
    position: relative;
    padding: 16px;
}

.sidebar-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: var(--border-color);
}

.footer-btn {
    width: 100%;
    padding: 10px;
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.2s;
    font-size: 13px;
}

.footer-btn:hover {
    background: var(--hover-bg);
    color: var(--text-primary);
}

/* Chat Area - Dynamic Centering */
.chat-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: var(--bg-primary);
    margin-left: 266px;
    transition: margin-left 360ms var(--ease-spring);
    will-change: margin-left;
}

/* Sidebar kapalıyken chat area tam ekran */
.sidebar.collapsed+.chat-area {
    margin-left: 0;
}

/* ========== DYNAMIC ISLAND HEADER ==========
   Visual chrome from .glass-2 utility (tokens.css). Local rules own
   only positioning, pill geometry, and spring entrance animation. */
.dynamic-island {
    position: fixed;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;

    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;

    border-radius: var(--radius-pill);

    transition: transform var(--motion-base) var(--ease-spring),
                filter var(--motion-base) var(--ease-spring),
                gap var(--motion-base) var(--ease-spring),
                padding var(--motion-base) var(--ease-spring);
    animation: islandFloat 0.6s var(--ease-spring);
}

@keyframes islandFloat {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-12px) scale(0.94);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

.dynamic-island:hover,
.dynamic-island:focus-within {
    transform: translateX(-50%) translateY(-1px) scale(1.01);
    filter: brightness(1.05);
    gap: 10px;
}

.dynamic-island:active {
    transform: translateX(-50%) scale(0.99);
    filter: brightness(0.96);
}

/* Model Info */
.island-model {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-right: 12px;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.island-model-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.island-model-icon img {
    width: 18px !important;
    height: 18px !important;
    object-fit: contain;
}

.island-model-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
}

/* Deep Think Toggle - Liquid Glass & Monochrome Refined */
.island-deepthink {
    height: 36px;
    min-width: 36px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 0;                 /* etiket/nokta aralığı margin ile yönetilir (morph) */
    cursor: pointer;
    padding: 0 10px;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.12),
                0 2px 8px -2px rgba(0, 0, 0, 0.35);
    transition: background var(--motion-base) var(--ease-spring),
                border-color var(--motion-base) var(--ease-spring),
                transform var(--motion-fast) var(--ease-spring),
                padding var(--motion-base) var(--ease-spring),
                box-shadow var(--motion-base) var(--ease-spring),
                color var(--motion-base) var(--ease-spring);
}

.island-deepthink:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%);
    border-color: rgba(255, 255, 255, 0.18);
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.22),
                0 4px 12px -4px rgba(0, 0, 0, 0.5),
                0 0 1px rgba(255, 255, 255, 0.2);
}

.island-deepthink:active {
    transform: scale(0.96);
    filter: brightness(0.94);
}

.island-deepthink.active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.08) 100%);
    border-color: rgba(255, 255, 255, 0.28);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3),
                0 2px 8px -2px rgba(0, 0, 0, 0.35);
}

.island-deepthink-icon {
    width: 16px;
    height: 16px;
    color: var(--text-secondary);
    transition: all var(--motion-base) var(--ease-spring);
}

.island-deepthink.active .island-deepthink-icon {
    color: #ffffff;
}

.island-deepthink-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    margin-left: 8px;       /* etiketten/ikondan sabit boşluk (gap:0 yerine) */
    border-radius: 50%;
    background: var(--text-secondary);
    transition: all var(--motion-base) var(--ease-spring);
}

.island-deepthink.active .island-deepthink-dot {
    background: #ffffff;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.8), 0 0 16px rgba(255, 255, 255, 0.3);
}

/* Theme Toggle Button */
/* Misafir Kullanım Sayacı Badge */
.island-guest-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18));
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2px;
    white-space: nowrap;
    margin-right: 0;
    backdrop-filter: blur(6px);
    transition: all 0.25s ease;
}

.island-guest-badge.low {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.18), rgba(249, 115, 22, 0.18));
    border-color: rgba(239, 68, 68, 0.4);
}

.island-guest-badge.exhausted {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.28), rgba(239, 68, 68, 0.28));
    border-color: rgba(239, 68, 68, 0.6);
    color: #fecaca;
}

.island-guest-badge-icon {
    width: 14px;
    height: 14px;
    opacity: 0.85;
}

.island-guest-badge-sep {
    opacity: 0.5;
    margin: 0 2px;
}
@media (max-width: 640px) {
    .island-guest-badge {
        padding: 4px 8px;
        font-size: 11px;
        gap: 4px;
    }
    .island-guest-badge-icon { width: 12px; height: 12px; }
}

/* Mesaj input'u içindeki misafir sayacı (sendBtn'in solu) */
.guest-usage-inline {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 6px;
    padding: 6px 10px;
    margin-right: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.18));
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2px;
    white-space: nowrap;
    flex-shrink: 0;
    user-select: none;
    transition: all 0.25s ease;
}
.guest-usage-inline.low {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.18), rgba(249, 115, 22, 0.18));
    border-color: rgba(239, 68, 68, 0.4);
}
.guest-usage-inline.exhausted {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.28), rgba(239, 68, 68, 0.28));
    border-color: rgba(239, 68, 68, 0.6);
    color: #fecaca;
}
.guest-usage-inline-icon { width: 14px; height: 14px; opacity: 0.85; }
.guest-usage-inline-sep { opacity: 0.5; margin: 0 2px; }@media (max-width: 640px) {
    .guest-usage-inline {
        padding: 4px 8px;
        font-size: 11px;
        gap: 4px;
        margin-right: 6px;
    }
    .guest-usage-inline-icon { width: 12px; height: 12px; }
    .guest-usage-inline-sep,
    .guest-usage-inline-reset,
    .guest-usage-inline i:last-of-type,     .guest-usage-inline .icon:last-of-type { display: none; }
}
/* Light Mode Styles */
/* Language Selector */
.island-language-selector {
    position: relative;
    margin-left: 0;
}

.island-language-toggle {
    width: 36px;
    height: 36px;
    box-sizing: border-box;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.12),
                0 2px 8px -2px rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background var(--motion-base) var(--ease-spring),
                border-color var(--motion-base) var(--ease-spring),
                transform var(--motion-fast) var(--ease-spring),
                box-shadow var(--motion-base) var(--ease-spring);
    padding: 0;
}

.island-language-toggle:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%);
    border-color: rgba(255, 255, 255, 0.18);
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.22),
                0 4px 12px -4px rgba(0, 0, 0, 0.5),
                0 0 1px rgba(255, 255, 255, 0.2);
}

.island-language-toggle:active {
    transform: scale(0.96);
    filter: brightness(0.94);
}

.language-flag {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 1.5px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.language-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 8px;
    min-width: 160px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: all var(--motion-base) var(--ease-spring);
    z-index: 1002;
}

.language-dropdown.active {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
}

.language-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.language-option:hover {
    background: var(--hover-bg);
}

.language-option span {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

/* Light Mode Language Selector */
/* Mobile Responsive */
@media (max-width: 768px) {
    .island-language-toggle {
        width: 32px;
        height: 32px;
    }

    .language-flag {
        width: 24px;
        height: 24px;
    }

    .language-dropdown {
        right: -8px;
        min-width: 140px;
    }

    .dynamic-island {
        top: 12px;
        padding: 8px 16px;
        gap: 8px;
    }

    .island-model-name {
        font-size: 12px;
    }}

/* Chat Messages - Padding adjustment for Dynamic Island */
.chat-messages {
    padding-top: 80px !important;
    /* Space for Dynamic Island */
}

/* Chat Messages - Dynamic Centering */
.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 24px;
    padding-top: 80px !important;
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
    transition: all var(--motion-base) var(--ease-spring);
}

/* Sidebar kapalıyken messages tam ortada */
.sidebar.collapsed+.chat-area .chat-messages {
    max-width: 1280px;
}

.message {
    display: flex;
    gap: 12px;
    animation: slideIn 0.4s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(6px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.message.user-message {
    flex-direction: row-reverse;
}

.message-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.message-avatar img {
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    object-fit: contain;
    display: block;
}

/* Model Badge */
.model-badge {
    display: flex;
    align-items: center;
    gap: 6px;
}

.model-badge img {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain;
    display: block;
}

.user-message .message-avatar {
    background: var(--ink-30);
    color: var(--ink-92);
    font-weight: 700;
    font-size: 16px;
    border: 1px solid var(--stroke-subtle);
}

.ai-message .message-avatar {
    background: var(--bg-secondary);
}

.message-content {
    flex: 1;
    max-width: 100%;
}

/* User message — Tier 3 liquid glass capsule (Apple iMessage silhouette).
   Refraction filter is added on capable browsers; Safari falls back to
   blur+saturate only. Tüm köşeler 16px (simetrik cam balon).
   overflow:hidden ZORUNLU — içerideki .code-file-block transform+isolation ile
   ayrı compositing katmanı yaratınca Chromium balonun backdrop-blur'unu yuvarlak
   köşelere kırpmayı bırakıyor (köşe kare/kesik görünüyor); clip bunu düzeltir. */
.user-message .message-content {
    padding: 14px 20px;
    border-radius: 16px;
    overflow: hidden;
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03) var(--glass-3-refract);
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03);
    border: 1px solid var(--glass-3-border);
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-top-bloom),
        var(--shadow-contact),
        var(--shadow-lift);
}

/* AI message — minimal silhouette: hairline stroke + very light glass.
   Less opacity, less blur than user bubble — content "flows" rather
   than sits in a box. */
.ai-message .message-content {
    padding: 14px 20px;
    border-radius: 16px;
    overflow: hidden; /* nested .code-file-block compositing katmanı köşe kırpmasını bozar — clip */
    background: rgba(20, 20, 24, 0.35);
    backdrop-filter: blur(8px) saturate(1.3);
    -webkit-backdrop-filter: blur(8px) saturate(1.3);
    border: 1px solid var(--stroke-hairline);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 1px 1px rgba(0, 0, 0, 0.15);
}

.message-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.message-actions {
    display: flex;
    gap: 4px;
    opacity: 0;
    transition: opacity 0.2s;
}

.message:hover .message-actions {
    opacity: 1;
}

.btn-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: var(--bg-secondary);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    color: var(--text-secondary);
}

.btn-icon:hover {
    background: var(--hover-bg);
}

.message-body {
    line-height: 1.6;
    font-size: 14px;
}

.message-body p {
    margin-bottom: 12px;
}

.message-body pre {
    background: #0d1117;
    padding: 16px;
    border-radius: 8px;
    overflow-x: auto;
    margin: 12px 0;
    border: 1px solid var(--border-color);
}

.message-body code {
    background: var(--bg-secondary);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 13px;
    font-family: 'Consolas', monospace;
}

.message-body pre code {
    background: transparent;
    padding: 0;
}

.code-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: transparent;
    border-bottom: none;
    font-family: 'Inter', sans-serif;
    user-select: none;
    position: relative;
}

.code-header span {
    font-size: 12px;
    color: var(--text-secondary);
}

.message-footer {
    margin-top: 8px;
    font-size: 11px;
    color: var(--text-secondary);
}

.thinking {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--text-secondary);
    font-size: 13px;
}

.dots {
    display: flex;
    gap: 4px;
}

.dots span {
    width: 6px;
    height: 6px;
    background: var(--text-secondary);
    border-radius: 50%;
    animation: pulse 1.4s infinite;
}

.dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes pulse {

    0%,
    80%,
    100% {
        opacity: 0.3;
    }

    40% {
        opacity: 1;
    }
}

/* Input Container - Dynamic Centering */
.input-container {
    padding: 16px 24px 24px;
    max-width: 1100px;
    margin: 0 auto;
    width: 100%;
    transition: all var(--motion-base) var(--ease-spring);
}

/* Sidebar kapalıyken input tam ortada */
.sidebar.collapsed+.chat-area .input-container {
    max-width: 1280px;
}

/* Input wrapper — Tier 2 liquid glass (chrome from .glass-2 utility).
   Local rules own only flex layout, padding and the focus-within stroke. */
.input-wrapper {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    border-radius: 24px;
    padding: 8px 8px 8px 16px;
    transition: border-color var(--motion-base) var(--ease-spring),
                box-shadow var(--motion-base) var(--ease-spring);
}

.input-wrapper:focus-within {
    border-color: var(--stroke-strong);
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-top-bloom),
        0 0 0 3px rgba(255, 255, 255, 0.06),
        var(--shadow-lift);
}

.input-wrapper textarea {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--text-primary);
    font-size: 14px;
    font-family: inherit;
    resize: none;
    max-height: 200px;
    padding: 8px 0;
}

.input-wrapper textarea:focus {
    outline: none;
}

.input-wrapper textarea::placeholder {
    color: var(--text-secondary);
}

.btn-attach {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    color: var(--text-secondary);
}

.btn-attach:hover {
    background: var(--hover-bg);
}

/* Send — Liquid Glass circular CTA (refractive disc + large icon) */
.btn-send {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--motion-base) var(--ease-spring);
    color: #fff;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        inset 0 -1px 0 rgba(0, 0, 0, 0.20),
        0 2px 6px rgba(0, 0, 0, 0.30),
        0 8px 24px rgba(0, 0, 0, 0.25);
    position: relative;
    overflow: hidden;
}

.btn-send::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.25), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.btn-send .icon {
    --icon-size: 22px;
    position: relative;
    z-index: 1;
}

.btn-send:hover {
    transform: scale(1.06);
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.28);
}

.btn-send:active {
    transform: scale(0.94);
    filter: brightness(0.92);
}

.btn-send:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    filter: none;
}

/* ============================================================
   AKIŞ + DURDUR + DÜZENLE + DEVAM ET (canlı AI akışı)
   Tümü monokrom (beyaz yoğunluğu) — dekoratif renk yok.
   ============================================================ */

/* Gönder → Durdur butonu (akış sürerken) */
.btn-send.is-stop {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.34);
}
.btn-send.is-stop .icon { --icon-size: 15px; }
.btn-send.is-stop::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    animation: leonaStopPulse 1.4s ease-out infinite;
    pointer-events: none;
}
@keyframes leonaStopPulse {
    0% { transform: scale(0.92); opacity: 0.65; }
    100% { transform: scale(1.4); opacity: 0; }
}

/* Canlı akış caret'i (token-token yazarken) */
.message-body.streaming::after {
    content: '';
    display: inline-block;
    width: 2px;
    height: 1em;
    margin-left: 2px;
    vertical-align: text-bottom;
    background: var(--text-primary, #fff);
    opacity: 0.8;
    animation: leonaCaretBlink 1s step-end infinite;
}
@keyframes leonaCaretBlink {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 0; }
}

/* Kullanıcı mesajında düzenle ikonu (hover'da görünür) */
.user-msg-actions {
    display: flex;
    justify-content: flex-end;
    gap: 4px;
    margin-top: 4px;
    opacity: 0;
    transition: opacity 0.2s;
}
.message.user-message:hover .user-msg-actions { opacity: 1; }
.user-edit-btn { width: 26px; height: 26px; }

/* Dokunmatik (hover yok): düzenle/yeniden üret eylemleri görünür kalsın */
@media (hover: none) {
    .user-msg-actions { opacity: 0.6; }
    .message-actions { opacity: 0.6; }
}

/* Kullanıcı mesajı satır içi düzenleme */
.user-message.editing .message-content { width: 100%; min-width: 0; }
.user-edit-textarea {
    width: 100%;
    min-height: 40px;
    max-height: 240px;
    resize: none;
    padding: 10px 12px;
    border-radius: 12px;
    background: var(--bg-tertiary, rgba(255, 255, 255, 0.06));
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.14));
    color: var(--text-primary, #fff);
    font-size: 14px;
    line-height: 1.5;
    font-family: inherit;
    outline: none;
    box-sizing: border-box;
}
.user-edit-textarea:focus { border-color: rgba(255, 255, 255, 0.30); }
.user-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
}
.user-edit-actions button {
    padding: 7px 14px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.18s;
    font-family: inherit;
}
.user-edit-cancel {
    background: transparent;
    border-color: var(--border-color, rgba(255, 255, 255, 0.16));
    color: var(--text-secondary);
}
.user-edit-cancel:hover { background: var(--hover-bg, rgba(255, 255, 255, 0.06)); }
.user-edit-save {
    background: rgba(255, 255, 255, 0.92);
    color: #111;
}
.user-edit-save:hover { background: #fff; }

/* Devam et (durdurulan mesaj) */
.continue-row { margin-top: 10px; }
.continue-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    background: var(--bg-secondary, rgba(255, 255, 255, 0.06));
    border: 1px solid var(--border-color, rgba(255, 255, 255, 0.16));
    color: var(--text-primary, #fff);
    transition: all 0.18s;
    font-family: inherit;
}
.continue-btn:hover {
    background: var(--hover-bg, rgba(255, 255, 255, 0.10));
    border-color: rgba(255, 255, 255, 0.30);
}

/* Scrollbar */
*, html, body {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
}

::-webkit-scrollbar, *::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track, *::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb, *::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 99px;
    border: 2px solid transparent;
    background-clip: padding-box;
    transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

::-webkit-scrollbar-thumb:hover, *::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.18);
    background-clip: padding-box;
}

::-webkit-scrollbar-thumb:active, *::-webkit-scrollbar-thumb:active {
    background: rgba(255, 255, 255, 0.3);
    background-clip: padding-box;
}

/* ==================== COMPREHENSIVE MOBILE STYLES ==================== */

/* Sidebar Overlay - Always present but hidden by default */
.sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1050;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.sidebar-overlay.active {
    display: block;
    opacity: 1;
}

/* Tablet Breakpoint */
@media (max-width: 1024px) {
    .chat-messages {
        max-width: 100%;
        padding: 20px;
    }

    .settings-card,
    .support-card {
        max-width: 95%;
    }
}

/* Mobile Breakpoint - 768px */
@media (max-width: 768px) {

    /* Sidebar as full overlay */
    .sidebar {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        z-index: 1100;
        height: 100vh;
        width: 280px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        transform: translate3d(-100%, 0, 0);
        opacity: 1;
        transition:
            transform 320ms var(--ease-spring),
            box-shadow 220ms ease-out;
        will-change: transform;
        contain: layout paint;
    }

    .sidebar:not(.collapsed) {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }

    .sidebar.collapsed {
        transform: translate3d(-100%, 0, 0);
        width: 280px !important;
        opacity: 1;
        pointer-events: none;
    }

    /* Toggle Button - Always visible on mobile */
    .sidebar-toggle-btn {
        left: 16px;
        top: 16px;
        width: 48px;
        height: 48px;
        z-index: 1200;
    }

    .sidebar.collapsed~.sidebar-toggle-btn {
        left: 16px;
    }

    /* Dynamic Island - Compact mode */
    .dynamic-island {
        top: 10px;
        padding: 8px 14px;
        gap: 8px;
        max-width: calc(100% - 140px);
    }

    .island-model-icon {
        width: 24px;
        height: 24px;
    }

    .island-model-icon img {
        width: 16px !important;
        height: 16px !important;
    }

    .island-model-name {
        font-size: 12px;
        max-width: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .island-deepthink {
        height: 32px;
        min-width: 32px;
        padding: 0 8px;
    }.island-language-toggle {
        width: 32px;
        height: 32px;
    }.island-language-toggle i, .island-language-toggle .icon {
        width: 16px;
        height: 16px;
    }

    /* Chat Area */
    .chat-area {
        width: 100%;
        margin-left: 0;
    }

    .chat-messages {
        padding: 16px;
        padding-top: 70px !important;
        padding-bottom: 100px !important;
    }

    /* Messages - Touch friendly */
    .message {
        gap: 10px;
    }

    .message-avatar {
        width: 32px;
        height: 32px;
    }

    .message-avatar img {
        width: 20px !important;
        height: 20px !important;
    }

    .message-content {
        max-width: 100%;
    }

    .user-message .message-content {
        padding: 10px 14px;
    }

    /* Chat Input - Optimized for mobile */
    .chat-input-area {
        padding: 12px 16px;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
    }

    .chat-input-wrapper {
        padding: 10px 14px;
        border-radius: 20px;
    }

    .chat-input-wrapper textarea {
        font-size: 16px;
        /* Prevents iOS zoom */
        min-height: 24px;
    }

    .input-actions {
        gap: 6px;
    }

    .input-actions button {
        width: 40px;
        height: 40px;
        min-width: 40px;
        min-height: 40px;
    }

    .btn-send {
        width: 42px;
        height: 42px;
    }

    /* Suggestion chips */
    .suggestion-chips {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .chip {
        padding: 14px 16px;
        text-align: center;
        font-size: 14px;
    }

    /* Modals - Full width */
    .settings-card,
    .support-card,
    .password-card,
    .logout-card {
        width: 95%;
        max-height: 90vh;
        margin: 20px;
    }

    .settings-header,
    .support-header {
        padding: 20px;
    }

    .settings-body,
    .support-body {
        padding: 20px;
    }

    /* File type menu */
    .file-type-menu {
        bottom: calc(100% + 8px);
        min-width: 160px;
    }

    .file-type-option {
        padding: 14px 16px;
    }

    /* Empty state */
    .empty-state {
        padding: 20px;
    }

    .empty-state-icon {
        width: 48px;
        height: 48px;
    }

    .empty-state h3 {
        font-size: 18px;
    }

    .empty-state p {
        font-size: 14px;
    }

    /* Model selection - Grid to columns */
    .model-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 0 16px;
    }

    .model-card {
        padding: 16px;
    }

    .model-icon-wrapper {
        width: 48px;
        height: 48px;
    }

    .model-icon-wrapper img {
        width: 32px !important;
        height: 32px !important;
    }

    .model-card h3 {
        font-size: 16px;
    }

    .model-version {
        font-size: 12px;
    }

    .model-stats span {
        font-size: 10px;
        padding: 3px 8px;
    }

    /* Code blocks - Scrollable */
    .code-wrapper {
        margin: 12px 0;
    }

    .message-body pre code {
        padding: 12px;
        font-size: 13px;
    }

    .code-header {
        padding: 6px 10px;
    }
}

/* Small Mobile Breakpoint - 480px */
@media (max-width: 480px) {

    /* Dynamic Island - Extra compact */
    .dynamic-island {
        padding: 6px 10px;
        gap: 6px;
    }

    /* Misafir badge: küçük ekranda timer gizle, sadece sayı */
    .island-guest-badge-sep,
    .island-guest-badge-reset,
    .island-guest-badge i:last-of-type,     .island-guest-badge .icon:last-of-type {
        display: none;
    }

    .island-model {
        padding-right: 8px;
    }

    .island-model-name {
        display: none;
        /* Hide model name on very small screens */
    }

    .island-deepthink-icon {
        width: 14px;
        height: 14px;
    }

    .island-deepthink-dot {
        width: 6px;
        height: 6px;
    }

    /* Model selection - Single column */
    .model-grid {
        grid-template-columns: 1fr;
    }

    .model-selection h1 {
        font-size: 24px;
    }

    .model-selection p {
        font-size: 14px;
        margin-bottom: 32px;
    }

    /* Sidebar width */
    .sidebar {
        width: 100% !important;
    }

    /* Settings modal - Full height */
    .settings-card {
        max-height: 95vh;
        border-radius: 16px;
    }
}

/* Extra Small Mobile - 320px */
@media (max-width: 360px) {
    .chat-messages {
        padding: 12px;
        padding-top: 65px !important;
    }

    .chat-input-wrapper {
        padding: 8px 12px;
    }

    .password-card {
        padding: 24px 16px;
    }

    .password-card h2 {
        font-size: 18px;
    }

    .password-buttons button {
        padding: 10px;
        font-size: 14px;
    }

    /* Dynamic Island - Minimal */
    .dynamic-island {
        padding: 5px 8px;
    }.island-language-toggle {
        width: 32px;
        height: 32px;
    }
}

/* iOS Safe Area Support */
@supports (padding: max(0px)) {
    .chat-input-area {
        padding-bottom: max(12px, env(safe-area-inset-bottom));
    }

    .sidebar {
        padding-bottom: max(16px, env(safe-area-inset-bottom));
    }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
    .btn-delete-chat {
        opacity: 0.7;
    }

    .chat-item:active {
        background: var(--hover-bg);
    }

    .chip:active {
        transform: scale(0.98);
    }

    /* Larger tap targets */
    .footer-btn {
        padding: 14px 12px;
        min-height: 48px;
    }
}

/* Landscape Mobile */
@media (max-width: 768px) and (orientation: landscape) {
    .model-selection {
        padding: 20px;
    }

    .model-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .chat-messages {
        padding-top: 60px !important;
    }

    .dynamic-island {
        top: 8px;
    }
}

/* Empty State */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-secondary);
    text-align: center;
    padding: 24px;
}

.empty-state-icon {
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.empty-state h3 {
    margin-bottom: 8px;
    color: var(--text-primary);
}

.suggestion-chips {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 24px;
}

.chip {
    padding: 10px 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 13px;
}

.chip:hover {
    border-color: var(--accent-color);
}

.chip:hover {
    border-color: var(--accent-color);
}

/* File Type Selection Menu */
.file-type-menu {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 0;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 8px;
    display: none;
    flex-direction: column;
    gap: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 100;
    animation: slideUpMenu 0.2s ease;
    min-width: 180px;
}

.file-type-menu.active {
    display: flex;
}

@keyframes slideUpMenu {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.file-type-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--text-primary);
    cursor: pointer;
    transition: all 0.2s;
    font-size: 14px;
    white-space: nowrap;
}

.file-type-option:hover {
    background: var(--hover-bg);
}

.file-type-option i, .file-type-option .icon {
    width: 20px;
    height: 20px;
    color: var(--accent-color);
}

/* Global Image Size Protection - Tüm resimleri kontrol altına al */
.sidebar img,
.chat-area img,
.model-card img {
    max-width: 100%;
    height: auto;
}

/* File Upload Preview */
.file-preview {
    display: flex;
    gap: 8px;
    padding: 8px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.file-preview-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 13px;
}

.file-preview-item.pasted-preview-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    width: 150px;
    height: 160px;
    padding: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.2s, border-color 0.2s;
    box-sizing: border-box;
}

.file-preview-item.pasted-preview-item:hover {
    transform: translateY(-2px);
    border-color: var(--accent-color);
}

.file-preview-item.pasted-preview-item .pasted-content-preview {
    font-family: var(--font-code, monospace);
    font-size: 11px;
    line-height: 1.4;
    color: var(--text-secondary);
    white-space: pre-wrap;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    flex: 1;
    margin-bottom: 8px;
    pointer-events: none;
}

.file-preview-item.pasted-preview-item .pasted-badge {
    align-self: flex-start;
    padding: 3px 8px;
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: 10px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    pointer-events: none;
}

.file-preview-item.pasted-preview-item .btn-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 10;
}

#pastedTextModalTextarea.feedback-textarea {
    height: 300px;
    font-family: var(--font-code, monospace);
    font-size: 13px;
    line-height: 1.5;
    resize: vertical;
}

.file-preview-item img {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
}

.file-preview-item .file-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-color);
    border-radius: 6px;
}

.file-preview-item .file-icon i, .file-preview-item .file-icon .icon {
    width: 24px;
    height: 24px;
    color: white;
}

.file-preview-item .file-info {
    flex: 1;
    min-width: 0;
}

.file-preview-item .file-name {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-preview-item .file-size {
    font-size: 11px;
    color: var(--text-secondary);
}

.file-preview-item .btn-remove {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--hover-bg);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    transition: all 0.2s;
}

.file-preview-item .btn-remove:hover {
    background: #ef4444;
    color: white;
}

/* Message Body içindeki görseller için özel kural */
.message-body img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 8px 0;
    border-radius: 8px;
}

/* Empty State ve diğer büyük ikonlar için */
.empty-state i,
.logo-animation i, .logo-animation .icon {
    width: 64px !important;
    height: 64px !important;
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: translateX(0);
        max-height: 100px;
    }

    to {
        opacity: 0;
        transform: translateX(-20px);
        max-height: 0;
        padding: 0;
        margin: 0;
    }
}

.chat-item.deleting {
    animation: fadeOut 0.3s ease forwards;
    pointer-events: none;
}

.btn-danger:hover {
    background: rgba(239, 68, 68, 0.1) !important;
    color: #ef4444 !important;
}

.leona-toast-container {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column-reverse;
    gap: 8px;
    z-index: var(--z-toast, 10060);
    pointer-events: none;
}

.toast {
    position: relative;
    background:
        linear-gradient(180deg, var(--glass-3-tint-top, rgba(36, 36, 42, 0.65)) 0%, var(--glass-3-tint-bot, rgba(28, 28, 32, 0.82)) 100%),
        var(--glass-3-bg, rgba(28, 28, 32, 0.78));
    border: 1px solid var(--glass-3-border, rgba(255, 255, 255, 0.10));
    padding: 12px 20px;
    border-radius: var(--radius-sm, 14px);
    display: flex;
    align-items: center;
    gap: 12px;
    opacity: 0;
    transform: translateY(16px);
    overflow: hidden;
    pointer-events: auto;
    transition: opacity 0.3s var(--ease-spring), transform 0.3s var(--ease-spring);
    -webkit-backdrop-filter: blur(var(--glass-3-blur, 12px)) saturate(var(--glass-3-saturate, 1.4));
    backdrop-filter: blur(var(--glass-3-blur, 12px)) saturate(var(--glass-3-saturate, 1.4)) var(--glass-3-refract, url(#liquid-refraction-3));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -1px 0 rgba(0, 0, 0, 0.25),
        var(--shadow-contact),
        var(--shadow-lift);
}

.toast::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.03) 40%,
        transparent 55%);
    mix-blend-mode: overlay;
    opacity: 0.55;
}

.toast .toast-timeline {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 2px;
    background: var(--accent, #ffffff);
    opacity: 0.45;
    transform-origin: left;
    animation: toastDrain 3s linear forwards;
    z-index: 2;
}

@keyframes toastDrain {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

.toast.show {
    opacity: 1;
    transform: translateY(0);
}

.toast.success {
    border-color: rgba(34, 197, 94, 0.3);
}

.toast.error {
    border-color: rgba(239, 68, 68, 0.3);
}

.toast i, .toast .icon {
    width: 20px;
    height: 20px;
}

.toast.success i, .toast.success .icon {
    color: #10b981;
}

.toast.error i, .toast.error .icon {
    color: #ef4444;
}

/* Mobil Swipe Silme */
.chat-item {
    position: relative;
    transition: transform 0.3s ease;
}

.chat-item.swiping {
    transform: translateX(-80px);
}

.chat-item-actions {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ef4444;
    opacity: 0;
    transition: opacity 0.3s;
}

.chat-item.swiping .chat-item-actions {
    opacity: 1;
}

.chat-item-actions button {
    background: transparent;
    border: none;
    color: white;
    cursor: pointer;
    padding: 12px;
}

@media (min-width: 769px) {
    .chat-item-actions {
        display: none;
    }
}

/* ============================================================
   Settings & Prompt Library — Liquid Glass modal system
   ============================================================ */
.settings-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal, 10010);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.32s var(--ease-spring);
}

.settings-modal.active {
    opacity: 1;
    pointer-events: all;
}

.settings-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    padding: 0;
    max-width: 600px;
    width: 90%;
    max-height: 82vh;
    display: flex;
    flex-direction: column;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
    overflow: hidden;
}

/* Refractive top highlight — picks up motion under blur */
.settings-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.settings-modal.active .settings-card {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

.settings-card > * {
    position: relative;
    z-index: 1;
}

.settings-header {
    padding: 22px 26px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0));
}

.settings-header h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.01em;
}

.settings-header h2 .icon {
    --icon-size: 22px;
    opacity: 0.9;
}

.btn-close-settings {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.75);
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.btn-close-settings:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.22);
    color: #fff;
    transform: rotate(90deg);
}

.settings-body {
    padding: 24px 26px 16px;
    overflow-y: auto;
    flex: 1;
}

/* Custom scrollbar inside glass modal */
.settings-body {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
}
.settings-body::-webkit-scrollbar {
    width: 5px;
}
.settings-body::-webkit-scrollbar-track {
    background: transparent;
}
.settings-body::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 99px;
    border: 1px solid transparent;
    background-clip: padding-box;
    transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.settings-body::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.18);
    background-clip: padding-box;
}
.settings-body::-webkit-scrollbar-thumb:active {
    background: rgba(255, 255, 255, 0.3);
    background-clip: padding-box;
}

.settings-section {
    margin-bottom: 22px;
    padding: 18px 18px 16px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.settings-section:last-child {
    margin-bottom: 0;
}

/* Section that only wraps a danger-zone — let the danger-zone be the box */
.settings-section:has(> .danger-zone) {
    background: transparent;
    border: none;
    padding: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.settings-section h3 {
    font-size: 14px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.settings-section h3 .icon {
    --icon-size: 18px;
    opacity: 0.85;
}

.settings-item {
    margin-bottom: 12px;
}

.settings-item:last-child {
    margin-bottom: 0;
}

.settings-item label {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.65);
    margin-bottom: 8px;
    font-weight: 500;
}

.settings-item input[type="text"],
.settings-item textarea {
    width: 100%;
    padding: 12px 14px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(6px);
}

.settings-item input[type="text"]::placeholder,
.settings-item textarea::placeholder {
    color: rgba(255, 255, 255, 0.32);
}

.settings-item input[type="text"]:focus,
.settings-item textarea:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(0, 0, 0, 0.40);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.05);
}

.settings-item textarea {
    min-height: 110px;
    resize: vertical;
}

.settings-buttons {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

.settings-buttons button {
    flex: 1;
    padding: 12px;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-save-settings,
.btn-reset-storage {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20),
        0 0 0 1px rgba(255, 255, 255, 0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-save-settings:hover,
.btn-reset-storage:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    color: #fff;
}

.btn-reset-storage i, .btn-reset-storage .icon {
    width: 16px !important;
    height: 16px !important;
}

.settings-footer {
    padding: 14px 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.45);
    background: linear-gradient(0deg, rgba(0,0,0,0.18), rgba(0,0,0,0));
    letter-spacing: 0.02em;
}

/* Custom Toggle Switch — glass */
.settings-item input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 44px;
    height: 26px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    position: relative;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    flex-shrink: 0;
    backdrop-filter: blur(6px);
}

.settings-item input[type="checkbox"]::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    top: 3px;
    left: 3px;
    transition: all var(--motion-base) var(--ease-spring);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.30);
}

.settings-item input[type="checkbox"]:checked {
    background: rgba(255, 255, 255, 0.34);
    border-color: rgba(255, 255, 255, 0.45);
    box-shadow: inset 0 0 10px rgba(255, 255, 255, 0.18);
}

.settings-item input[type="checkbox"]:checked::before {
    transform: translateX(18px);
    background: #fff;
}

.settings-item input[type="checkbox"]:hover {
    border-color: rgba(255, 255, 255, 0.28);
}

.danger-zone {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.10) 0%, rgba(185, 28, 28, 0.06) 100%);
    border: 1px solid rgba(239, 68, 68, 0.20);
    border-radius: 16px;
    padding: 18px;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(8px);
}

.danger-zone h4 {
    color: #f87171;
    font-size: 14px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.danger-zone h4 i, .danger-zone h4 .icon {
    width: 18px !important;
    height: 18px !important;
    filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.4));
}

.btn-reset-all {
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.12) 0%, rgba(185, 28, 28, 0.08) 100%);
    border: 1px solid rgba(239, 68, 68, 0.15);
    border-radius: 12px;
    color: #f87171;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    letter-spacing: 0.3px;
}

.btn-reset-all:hover {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.2) 0%, rgba(185, 28, 28, 0.15) 100%);
    border-color: rgba(239, 68, 68, 0.35);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.15);
}

.btn-reset-all:active {
    transform: translateY(0);
    box-shadow: none;
}

/* ============================================================
   AYARLAR — Birleşik Monokrom Liquid Glass Satır Sistemi
   iOS Ayarlar tarzı: her ayar = tek tip cam satır.
   (.push-notif-card / .push-icon-glass / .push-test-link / .push-toggle
    eski adları geriye-uyum için alias edildi.)
   ============================================================ */
.settings-row,
.push-notif-card {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background:
        linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%),
        var(--glass-3-bg);
    border: 1px solid var(--glass-3-border);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03) var(--glass-3-refract);
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03);
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-top-bloom),
        var(--shadow-contact),
        var(--shadow-lift);
    transition: transform var(--motion-base) var(--ease-spring), filter var(--motion-base) var(--ease-spring);
}

.settings-row::before,
.push-notif-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.03) 40%, transparent 55%);
    mix-blend-mode: overlay;
    opacity: 0.55;
}

.settings-row > *,
.push-notif-card > * { position: relative; z-index: 2; }

.settings-row + .settings-row { margin-top: 10px; }

/* Monokrom cam ikon karosu */
.settings-row-icon,
.push-icon-glass {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    background: linear-gradient(135deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.25),
        inset 0 -2px 4px rgba(0,0,0,0.22),
        0 4px 14px rgba(0,0,0,0.25);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.settings-row-icon svg, .push-icon-glass svg { stroke: currentColor; }

.settings-row-body { flex: 1; min-width: 0; }

.settings-row-title {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
}

.settings-row-desc {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.45;
    margin-top: 3px;
}

/* Durum pill'i — monokrom (açık = parlak, kapalı = sönük) */
.settings-row-status {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    padding: 1px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    white-space: nowrap;
}
.settings-row-status:empty { display: none; }

/* Tek tip monokrom cam anahtar (push butonu) */
.settings-toggle,
.push-toggle {
    position: relative;
    width: 48px;
    height: 28px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.12);
    cursor: pointer;
    transition: background .25s var(--ease-spring), border-color .25s var(--ease-spring);
    flex-shrink: 0;
    padding: 0;
}
.settings-toggle.on,
.push-toggle.on {
    background: rgba(255,255,255,0.34);
    border-color: rgba(255,255,255,0.45);
    box-shadow: inset 0 0 10px rgba(255,255,255,0.18);
}
.settings-toggle-knob,
.push-toggle-knob {
    position: absolute;
    height: 22px;
    width: 22px;
    left: 3px;
    top: 2px;
    background: #fff;
    border-radius: 50%;
    transition: transform .25s var(--ease-spring);
    box-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.settings-toggle.on .settings-toggle-knob,
.push-toggle.on .push-toggle-knob { transform: translateX(20px); }

/* Hayalet metin aksiyonu (Test / Etkinleştir / Yükle / Güncelle / Denetle) */
.settings-link-btn,
.push-test-link {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.92);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    padding: 7px 13px;
    border-radius: 10px;
    white-space: nowrap;
    transition: background .2s var(--ease-spring), border-color .2s var(--ease-spring), transform .12s var(--ease-spring);
}
.settings-link-btn:hover,
.push-test-link:hover {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.22);
    transform: translateY(-1px);
}
.settings-link-btn:active, .push-test-link:active { transform: translateY(0) scale(0.97); }
/* Sönük (ghost-only) varyant — sağ-alt küçük linkler */
.settings-link-ghost {
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    padding: 5px 8px;
    border-radius: 8px;
    transition: background .2s ease, color .2s ease;
}
.settings-link-ghost:hover { background: rgba(255,255,255,0.08); color: #fff; }

/* Monokrom primary (Kaydet / İndir) — beyaz dolgu + siyah metin */
.settings-primary-btn {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20),
        0 0 0 1px rgba(255, 255, 255, 0.10);
}
.settings-primary-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

/* PWA güncelleme butonu — "Yeni Sohbet" (.btn-new-chat) stiliyle aynı entegre cam buton */
.pwa-update-btn {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 10px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
    transition: all var(--motion-base) var(--ease-spring);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pwa-update-btn::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.pwa-update-btn > * {
    position: relative;
    z-index: 1;
}

.pwa-update-btn:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.pwa-update-btn:active {
    transform: scale(0.985);
    filter: brightness(0.92);
}

/* PWA güncelleme satırı — monokrom */
.settings-update-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 11px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
}

/* Mobil/erişilebilirlik: yeni satırlarda refraction düşür */
@media (max-width: 768px) {
    .settings-row, .push-notif-card {
        backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate)) brightness(1.03);
    }
}
@media (prefers-reduced-motion: reduce) {
    .settings-row, .push-notif-card {
        backdrop-filter: blur(10px) saturate(1.3);
        -webkit-backdrop-filter: blur(10px) saturate(1.3);
    }
    .settings-row, .push-notif-card { transition: none; }
}

/* ==================== SUPPORT MODAL ==================== */
.support-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal, 10010);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.support-modal.active {
    opacity: 1;
    pointer-events: all;
}

.support-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    padding: 0;
    max-width: 500px;
    width: 90%;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
}

.support-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.support-modal.active .support-card {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

.support-header {
    padding: 24px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.support-header h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 20px;
}

.support-header p {
    margin: 8px 0 0 0;
    font-size: 13px;
    color: var(--text-secondary);
}

.support-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.support-form-group {
    margin-bottom: 20px;
}

.support-form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 8px;
}

.support-form-group input,
.support-form-group textarea {
    width: 100%;
    padding: 12px 16px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-primary);
    font-size: 14px;
    font-family: inherit;
    transition: all 0.2s;
}

.support-form-group input:focus,
.support-form-group textarea:focus {
    outline: none;
    border-color: var(--accent-color);
    background: var(--bg-secondary);
}

.support-form-group textarea {
    min-height: 120px;
    resize: vertical;
}

.support-char-counter {
    text-align: right;
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 4px;
}

/* Screenshot Upload */
.support-screenshot {
    margin-top: 12px;
}

.screenshot-upload-btn {
    width: 100%;
    padding: 12px;
    background: var(--bg-tertiary);
    border: 2px dashed var(--border-color);
    border-radius: 10px;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s;
    font-size: 13px;
}

.screenshot-upload-btn:hover {
    border-color: var(--accent-color);
    background: var(--hover-bg);
}

.screenshot-preview {
    margin-top: 12px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border-color);
}

.screenshot-preview img {
    width: 100%;
    height: auto;
    display: block;
}

.screenshot-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(239, 68, 68, 0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.2s;
}

.screenshot-remove:hover {
    background: #ef4444;
    transform: scale(1.1);
}

.support-footer {
    padding: 20px 24px;
    border-top: 1px solid var(--border-color);
    display: flex;
    gap: 12px;
}

.support-footer button {
    flex: 1;
    padding: 14px;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-support-cancel {
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.btn-support-cancel:hover {
    background: var(--hover-bg);
}

.btn-support-submit {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

.btn-support-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
}

.btn-support-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.btn-support-submit.loading {
    position: relative;
}

.btn-support-submit.loading span {
    opacity: 0;
}

.btn-support-submit.loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    transform: none;
    transition: none;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .support-card {
        width: 95%;
        max-height: 90vh;
    }

    .support-header {
        padding: 20px;
    }

    .support-body {
        padding: 20px;
    }

    .support-footer {
        padding: 16px 20px;
        flex-direction: column;
    }
}

/* Support Button — Apple inverted CTA (white surface, ink-0 text) */
.btn-support-open {
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
}

.btn-support-open:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

/* ==================== EXPORT SECTION — Liquid Glass ==================== */
.export-section {
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 18px;
    margin-bottom: 4px;
    backdrop-filter: blur(6px);
}

.export-format-selector {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.format-option {
    flex: 1;
    padding: 14px 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1.5px solid rgba(255, 255, 255, 0.10);
    border-radius: 14px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: relative;
    backdrop-filter: blur(8px);
    overflow: hidden;
}

.format-option::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0) 60%);
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--motion-base) var(--ease-spring);
}

.format-option:hover {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.10);
    transform: translateY(-2px);
}

.format-option:hover::before {
    opacity: 1;
}

.format-option.selected {
    border-color: rgba(255, 255, 255, 0.50);
    background: rgba(255, 255, 255, 0.14);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.20),
        0 4px 16px rgba(255, 255, 255, 0.08);
}

.format-option.selected::after {
    content: '\2713';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 20px;
    height: 20px;
    background: #fff;
    color: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.30);
}

.format-option i, .format-option .icon {
    --icon-size: 26px;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 2px;
}

.format-option.selected i, .format-option.selected .icon {
    color: #fff;
}

.format-option span {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

.format-option small {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.50);
}

.format-option small {
    font-size: 11px;
    color: var(--text-secondary);
}

.export-chat-list {
    max-height: 280px;
    overflow-y: auto;
    margin-bottom: 14px;
    background: rgba(0, 0, 0, 0.20);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 10px;
    backdrop-filter: blur(6px);
}

.export-chat-list {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
}
.export-chat-list::-webkit-scrollbar {
    width: 5px;
}
.export-chat-list::-webkit-scrollbar-track {
    background: transparent;
}
.export-chat-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 99px;
    border: 1px solid transparent;
    background-clip: padding-box;
    transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.export-chat-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.18);
    background-clip: padding-box;
}
.export-chat-list::-webkit-scrollbar-thumb:active {
    background: rgba(255, 255, 255, 0.3);
    background-clip: padding-box;
}

.export-chat-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    margin-bottom: 6px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
}

.export-chat-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.18);
}

.export-chat-item.selected {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.30);
}

/* Styled custom checkboxes in export system */
.export-select-all input[type="checkbox"],
.export-checkbox {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    border: 1.5px solid rgba(255, 255, 255, 0.20);
    border-radius: 6px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: rgba(255, 255, 255, 0.03);
    position: relative;
    transition: all var(--motion-fast, 160ms) var(--ease-spring);
    backdrop-filter: blur(4px);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

.export-select-all input[type="checkbox"]:hover,
.export-chat-item:hover .export-checkbox {
    border-color: rgba(255, 255, 255, 0.40);
    background: rgba(255, 255, 255, 0.08);
}

.export-select-all input[type="checkbox"]:checked,
.export-checkbox:checked {
    background: var(--accent-color, #fff);
    border-color: var(--accent-color, #fff);
    box-shadow: 0 0 10px var(--accent-glow, rgba(255, 255, 255, 0.18));
}

.export-select-all input[type="checkbox"]:checked::after,
.export-checkbox:checked::after {
    content: '';
    position: absolute;
    top: 44%;
    left: 50%;
    width: 5px;
    height: 10px;
    border: solid #111;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

.export-chat-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.export-chat-icon img {
    width: 20px !important;
    height: 20px !important;
    object-fit: contain;
}

.export-chat-details {
    flex: 1;
    min-width: 0;
}

.export-chat-details h4 {
    font-size: 13px;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 4px;
}

.export-chat-details p {
    font-size: 11px;
    color: var(--text-secondary);
}

.export-select-all {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    margin-bottom: 12px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(6px);
}

.export-select-all:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.16);
}

/* Custom checkbox styles are defined above in the .export-checkbox block */

.export-select-all label {
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    color: rgba(255, 255, 255, 0.92);
}

.export-stats {
    display: flex;
    justify-content: space-around;
    padding: 12px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    margin-bottom: 14px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.70);
    backdrop-filter: blur(6px);
}

.export-stats span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.export-buttons {
    display: flex;
    gap: 12px;
}

.btn-export {
    flex: 1;
    padding: 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    border-radius: 12px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
}

.btn-export:hover:not(:disabled) {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.btn-export:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.btn-export i, .btn-export .icon {
    width: 18px;
    height: 18px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .export-format-selector {
        flex-direction: column;
    }

    .format-option {
        flex-direction: row;
        justify-content: flex-start;
    }

    .export-stats {
        flex-direction: column;
        gap: 8px;
    }
}

/* ==================== MODERN LOGOUT MODAL ==================== */
.logout-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-logout, 10040);
    opacity: 0;
    pointer-events: none;
    transition: all var(--motion-base) var(--ease-spring);
}

.logout-modal.active {
    opacity: 1;
    pointer-events: all;
}

.logout-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    padding: 40px 32px 32px;
    max-width: 380px;
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
}

.logout-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.logout-modal.active .logout-card {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

/* İkon Alanı */
.logout-icon-wrapper {
    position: relative;
    width: 80px;
    height: 80px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logout-icon-glow {
    position: absolute;
    inset: 0;
    background: rgba(239, 68, 68, 0.15);
    border-radius: 50%;
    animation: pulseRed 2s infinite;
}

.logout-main-icon {
    width: 40px;
    height: 40px;
    color: #ef4444;
    position: relative;
    z-index: 1;
}

.logout-main-icon svg {
    width: 100%;
    height: 100%;
}

.logout-main-icon svg path {
    stroke: #ef4444 !important;
    opacity: 1;
}

.logout-main-icon svg g[opacity] {
    opacity: 0.4;
}

@keyframes pulseRed {
    0% {
        transform: scale(1);
        opacity: 0.5;
    }

    50% {
        transform: scale(1.15);
        opacity: 0.2;
    }

    100% {
        transform: scale(1);
        opacity: 0.5;
    }
}

.logout-card h2 {
    color: var(--text-primary);
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 12px;
}

.logout-card p {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 32px;
}

/* Butonlar */
.logout-actions {
    display: flex;
    gap: 12px;
    width: 100%;
}

.btn-logout-cancel {
    flex: 1;
    padding: 14px;
    background: var(--bg-tertiary);
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--text-primary);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-logout-cancel:hover {
    background: var(--hover-bg);
    border-color: var(--border-color);
}

.btn-logout-confirm {
    flex: 1;
    padding: 14px;
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
    border: none;
    border-radius: 12px;
    color: white;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all var(--motion-base) var(--ease-spring);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

.btn-logout-confirm:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.4);
}

.btn-logout-confirm:active {
    transform: translateY(0);
}

.btn-logout-confirm i, .btn-logout-confirm .icon {
    width: 18px;
    height: 18px;
}

/* ==================== KOD BLOĞU VE MODAL CSS (YENİ) ==================== */
.code-wrapper {
    margin: 16px 0;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    overflow: hidden;
    background: #0d1117;
}

.code-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: var(--bg-tertiary);
    border-bottom: 1px solid var(--border-color);
    font-family: 'Inter', sans-serif;
    user-select: none;
}

.code-lang {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.code-actions {
    display: flex;
    gap: 6px;
}

.code-btn {
    background: transparent;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 4px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
}

.code-btn:hover {
    background: var(--hover-bg);
    color: var(--text-primary);
}

/* Marked varsayılan pre stilini eziyoruz */
.message-body pre {
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

.message-body pre code {
    display: block;
    padding: 16px;
    overflow-x: auto;
}

/* Kod Görüntüleme Modalı */
.code-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: var(--z-code, 10030);
    display: none;
    flex-direction: column;
    padding: 20px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.code-modal.active {
    display: flex;
}

.code-modal-content {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    flex: 1;
    padding: 24px;
    overflow: auto;
    font-family: 'Consolas', monospace;
    color: #e8e8e8;
    white-space: pre;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
}

.code-modal-content::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.code-modal.active .code-modal-content {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

.code-modal-header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.code-modal-close {
    color: white;
    background: rgba(255, 255, 255, 0.1);
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.code-modal-close:hover {
    background: rgba(239, 68, 68, 0.8);
}

/* Feedback System */
.feedback-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.message:hover .feedback-actions {
    opacity: 1;
}

.btn-feedback {
    background: transparent;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-secondary);
    transition: all 0.2s;
}

.btn-feedback:hover {
    background: var(--hover-bg);
    color: var(--text-primary);
}

.btn-feedback.active {
    background: rgba(16, 185, 129, 0.1);
    color: #10b981;
    border-color: #10b981;
}

.btn-feedback.active-down {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border-color: #ef4444;
}

/* Feedback Modal */
.feedback-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal, 10010);
    padding: 20px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.feedback-modal.active {
    display: flex;
}

.feedback-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    padding: 24px;
    width: 100%;
    max-width: 400px;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
}

.feedback-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.feedback-modal.active .feedback-card {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

.feedback-textarea {
    width: 100%;
    height: 100px;
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 12px;
    color: var(--text-primary);
    margin: 16px 0;
    resize: none;
    font-family: inherit;
}

.feedback-textarea:focus {
    outline: none;
    border-color: var(--accent-color);
}

/* Session Management */
.session-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 200px;
    overflow-y: auto;
}

.session-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(6px);
}

.session-item.current {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.10);
}

.session-icon {
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.65);
    flex-shrink: 0;
}

.session-item.current .session-icon {
    color: #fff;
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.24);
}

.session-info {
    flex: 1;
    min-width: 0;
}

.session-name {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.session-meta {
    font-size: 11px;
    color: var(--text-secondary);
}

.badge-current {
    font-size: 10px;
    background: var(--ink-100);
    color: var(--ink-0);
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 600;
}

.btn-revoke {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-secondary);
    transition: all 0.2s;
    flex-shrink: 0;
}

.btn-revoke:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border-color: #ef4444;
}

/* Mobile responsive for sessions */
@media (max-width: 480px) {
    .session-item {
        flex-wrap: wrap;
    }

    .session-icon {
        display: none;
    }
}


/* ============================================================
   Dynamic Island — Faz 12 v4 morph sistemi
   Idle: ikonlar dairesel + etiketsiz. Hover/klavye-focus: ada yay
   ile genişler, her ikon dairesel→pill açılır ve etiketi belirir
   (iOS Dynamic Island hissi). Tema saf monokrom; mavi/renkli vurgu yok.
   ============================================================ */

/* Aksiyon zone: Ayarlar / Temizle / Derin Düşün / Davet */
.island-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    transition: gap var(--motion-base) var(--ease-spring);
}

.island-shortcut {
    height: 36px;
    min-width: 36px;          /* collapsed = 36px daire; açılınca pill */
    box-sizing: border-box;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.12),
                0 2px 8px -2px rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
    margin-left: 0;
    color: var(--text-primary);
    padding: 0;
    transition: background var(--motion-base) var(--ease-spring),
                border-color var(--motion-base) var(--ease-spring),
                transform var(--motion-fast) var(--ease-spring),
                padding var(--motion-base) var(--ease-spring),
                box-shadow var(--motion-base) var(--ease-spring),
                color var(--motion-base) var(--ease-spring);
}

.island-shortcut:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%);
    border-color: rgba(255, 255, 255, 0.18);
    transform: translateY(-1px);
    box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.22),
                0 4px 12px -4px rgba(0, 0, 0, 0.5),
                0 0 1px rgba(255, 255, 255, 0.2);
}

.island-shortcut:active {
    transform: scale(0.96);
    filter: brightness(0.94);
}

/* Global ":focus-visible { border-radius: inherit }" ada kontrollerini klavye
   focus'unda kareye düşürüyordu — pill/daire formunu focus'ta da koru.
   Ayrıca global mavi focus outline'ı yerine adaya özel MONOKROM ring (tema
   "no chroma" — davet butonu focus'ta da mavi görünmesin). Global a11y bozulmaz. */
.island-shortcut:focus-visible,
.island-deepthink:focus-visible,
.island-language-toggle:focus-visible {
    border-radius: 999px;
    outline-color: rgba(255, 255, 255, 0.7);
}

.island-shortcut i, .island-shortcut .icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

/* Morph etiketi (shortcut + deepthink ortak) — idle gizli, açılışta belirir */
.island-shortcut-label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    margin-left: 0;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--text-secondary);
    transition: max-width var(--motion-base) var(--ease-spring),
                opacity var(--motion-fast) ease,
                margin-left var(--motion-base) var(--ease-spring);
}

/* Hover / klavye focus → etiketler açılır, ikonlar pill olur, aralık genişler */
.dynamic-island:hover .island-shortcut-label,
.dynamic-island:focus-within .island-shortcut-label {
    max-width: 96px;
    opacity: 1;
    margin-left: 7px;
}

.dynamic-island:hover .island-shortcut,
.dynamic-island:focus-within .island-shortcut {
    padding: 0 13px 0 9px;
}

.dynamic-island:hover .island-deepthink,
.dynamic-island:focus-within .island-deepthink {
    padding: 0 12px;
}

.dynamic-island:hover .island-actions,
.dynamic-island:focus-within .island-actions {
    gap: 8px;
}

@media (max-width: 768px) {
    .island-shortcut {
        height: 32px;
        min-width: 32px;
    }

    .island-shortcut i, .island-shortcut .icon {
        width: 16px;
        height: 16px;
    }

    /* Touch'ta güvenilir hover yok → morph etiketleri kapalı kalsın (kompakt) */
    .island-shortcut-label {
        display: none;
    }
}

/* Erişilebilirlik: hareketi azalt tercihinde morph + giriş animasyonu kapalı */
@media (prefers-reduced-motion: reduce) {
    .dynamic-island {
        animation: none;
    }

    .dynamic-island,
    .island-actions,
    .island-shortcut,
    .island-shortcut-label,
    .island-deepthink,
    .island-deepthink-dot {
        transition: none;
    }
}

/* ==================== KOD DOSYASI GÖRÜNTÜLEME STİLLERİ ==================== */

/* Ana Kod Bloğu Container - Liquid Glass */
.code-file-block {
    background: linear-gradient(180deg, rgba(36, 36, 42, 0.45) 0%, rgba(28, 28, 32, 0.60) 100%), rgba(28, 28, 32, 0.45);
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    margin: 12px 0;
    overflow: hidden;
    transform: translateZ(0);
    isolation: isolate;
    font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -1px 0 rgba(0, 0, 0, 0.20),
        0 4px 16px rgba(0, 0, 0, 0.20);
}

/* Kod Dosyası Header */
.code-file-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    background: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    gap: 12px;
    transition: border-radius 0.2s ease;
}

/* Header roundings to prevent leaking when collapsed */
.code-file-block:not(.expanded) .code-file-header {
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
}

.code-file-block.expanded .code-file-header {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.code-file-info {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

/* Liquid Glass File Icon */
.code-file-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.20),
        0 2px 8px rgba(0, 0, 0, 0.20);
}

.code-file-icon i, .code-file-icon .icon {
    width: 16px;
    height: 16px;
    color: var(--text-1, #e8e8ea);
}

.code-file-name {
    font-weight: 600;
    font-size: 14px;
    color: var(--text-1, #e8e8ea);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.code-file-meta {
    font-size: 12px;
    color: var(--text-2, #a1a1aa);
    white-space: nowrap;
}

/* Header Butonları */
.code-header-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* Liquid Glass Button - Birebir .btn-new-chat yapısı */
.btn-code-action {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    backdrop-filter: blur(10px) saturate(140%);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25);
    position: relative;
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-code-action::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.btn-code-action > * {
    position: relative;
    z-index: 1;
}

.btn-code-action:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    color: #fff;
}

.btn-code-action:active {
    transform: scale(0.975);
    filter: brightness(0.92);
}

.btn-code-action.active {
    background: rgba(255, 255, 255, 0.20);
    border-color: var(--stroke-focus, rgba(255, 255, 255, 0.60));
    color: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.35),
        0 0 8px rgba(255, 255, 255, 0.15);
}

.btn-code-action i, .btn-code-action .icon {
    width: 14px;
    height: 14px;
}

/* btn-toggle-code için ekstra miras tanımlamaları */
.btn-toggle-code.expanded {
    background: rgba(255, 255, 255, 0.20);
    border-color: var(--stroke-focus, rgba(255, 255, 255, 0.60));
    color: #fff;
}

/* Kod İçerik Alanı */
.code-content-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.code-content-wrapper.expanded {
    max-height: 600px;
    overflow: auto;
}

.code-content {
    display: flex;
    font-size: 13px;
    line-height: 1.6;
    background: rgba(10, 10, 12, 0.45);
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
}

/* Satır Numaraları */
.code-line-numbers {
    padding: 12px 0;
    background: rgba(10, 10, 12, 0.25);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom-left-radius: 15px;
    user-select: none;
    text-align: right;
    min-width: 50px;
    flex-shrink: 0;
}

.code-line-number {
    display: block;
    padding: 0 12px;
    color: var(--text-3, #6e6e76);
    cursor: pointer;
    transition: all 0.15s ease;
}

.code-line-number:hover {
    color: var(--text-1, #e8e8ea);
    background: rgba(255, 255, 255, 0.06);
}

.code-line-number.selected {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.15);
}

/* Kod Satırları */
.code-lines {
    flex: 1;
    padding: 12px 0;
    overflow-x: auto;
}

.code-line {
    display: block;
    padding: 0 16px;
    white-space: pre;
    color: var(--text-1, #e8e8ea);
    transition: background 0.15s ease;
}

.code-line.selected {
    background: rgba(255, 255, 255, 0.12);
    border-left: 3px solid var(--stroke-focus, rgba(255, 255, 255, 0.60));
    padding-left: 13px;
}

.code-line.hover-highlight {
    background: rgba(255, 255, 255, 0.03);
}

/* Düzenleme Modu İndikatörü */
.code-file-block.edit-mode .code-line-numbers {
    background: rgba(10, 10, 12, 0.35);
}

.code-file-block.edit-mode .code-line-number:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.code-file-block.edit-mode .code-line:hover {
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
}

/* Annotation Input Box - Liquid Glass */
.annotation-box {
    background: rgba(20, 20, 24, 0.50);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 16px;
    display: none;
}

.annotation-box.active {
    display: block;
    animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.annotation-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.annotation-header i, .annotation-header .icon {
    width: 16px;
    height: 16px;
    color: var(--ink-100, #ffffff);
}

.annotation-selected-info {
    font-size: 13px;
    color: var(--text-2, #a1a1aa);
}

.annotation-selected-info strong {
    color: var(--text-1, #e8e8ea);
}

.annotation-tip {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--text-3, #6e6e76);
    margin-left: auto;
    font-style: italic;
}

.annotation-tip i, .annotation-tip .icon {
    width: 12px;
    height: 12px;
    color: var(--ink-100, #ffffff);
}

.annotation-input-wrapper {
    display: flex;
    gap: 12px;
}

.annotation-input {
    flex: 1;
    padding: 10px 14px;
    background: rgba(10, 10, 12, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: var(--text-1, #e8e8ea);
    font-size: 14px;
    font-family: inherit;
    resize: none;
    min-height: 42px;
    transition: border-color 0.2s ease;
}

.annotation-input::placeholder {
    color: var(--text-3, #6e6e76);
}

.annotation-input:focus {
    outline: none;
    border-color: var(--stroke-focus, rgba(255, 255, 255, 0.60));
}

.annotation-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.btn-annotation-cancel {
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 8px;
    color: var(--text-2, #a1a1aa);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-annotation-cancel:hover {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(255, 255, 255, 0.20);
    color: #fff;
}

.btn-annotation-send {
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    backdrop-filter: blur(10px) saturate(140%);
    -webkit-backdrop-filter: blur(10px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    position: relative;
    overflow: hidden;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-annotation-send::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0) 55%);
    pointer-events: none;
}

.btn-annotation-send > * {
    position: relative;
    z-index: 1;
}

.btn-annotation-send:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
    color: #fff;
}

.btn-annotation-send:active {
    transform: scale(0.975);
    filter: brightness(0.92);
}

.btn-annotation-send i, .btn-annotation-send .icon {
    width: 14px;
    height: 14px;
}

/* Seçili Kod Önizleme */
.annotation-preview {
    margin-top: 12px;
    padding: 10px;
    background: rgba(10, 10, 12, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 3px solid var(--stroke-focus, rgba(255, 255, 255, 0.60));
    border-radius: 6px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    color: var(--text-2, #a1a1aa);
    max-height: 80px;
    overflow: hidden;
    white-space: pre-wrap;
}

/* Responsive */
@media (max-width: 768px) {
    .code-file-header {
        flex-wrap: wrap;
        gap: 10px;
    }

    .code-header-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .btn-code-action span {
        display: none;
    }

    .annotation-input-wrapper {
        flex-direction: column;
    }

    .annotation-actions {
        width: 100%;
    }

    .btn-annotation-cancel,
    .btn-annotation-send {
        flex: 1;
        justify-content: center;
    }
}

/* Syntax Highlighting Renkleri (GitHub Dark) */
.code-line .keyword, .code-line .hljs-keyword, .code-line .hljs-selector-tag, .code-line .hljs-doctag {
    color: #ff7b72;
}

.code-line .string, .code-line .hljs-string, .code-line .hljs-attr, .code-line .hljs-attribute {
    color: #a5d6ff;
}

.code-line .comment, .code-line .hljs-comment, .code-line .hljs-quote {
    color: #8b949e;
    font-style: italic;
}

.code-line .function, .code-line .hljs-function, .code-line .hljs-title.function_, .code-line .hljs-title {
    color: #d2a8ff;
}

.code-line .number, .code-line .hljs-number, .code-line .hljs-literal, .code-line .hljs-symbol, .code-line .hljs-bullet {
    color: #79c0ff;
}

.code-line .class-name, .code-line .hljs-class, .code-line .hljs-title.class_, .code-line .hljs-type, .code-line .hljs-built_in {
    color: #ffa657;
}

.code-line .operator, .code-line .hljs-operator, .code-line .hljs-punctuation, .code-line .hljs-tag, .code-line .hljs-name {
    color: #ff7b72;
}

.code-line .hljs-meta {
    color: #79c0ff;
}

/* ==================== PROMPT LIBRARY — Redesigned Liquid Glass ==================== */

/* Tab section — no extra padding, tabs fill the section */
.prompt-section-tabs {
    padding: 8px !important;
    margin-bottom: 16px;
}

.prompt-tabs {
    display: flex;
    gap: 6px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    backdrop-filter: none;
}

.prompt-tab {
    flex: 1;
    padding: 11px 16px;
    background: transparent;
    border: none;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.prompt-tab .icon {
    --icon-size: 16px;
    opacity: 0.7;
    transition: opacity var(--motion-base) var(--ease-spring);
}

.prompt-tab:hover {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.92);
}

.prompt-tab:hover .icon {
    opacity: 0.9;
}

.prompt-tab.active {
    background: rgba(255, 255, 255, 0.94);
    color: #111;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.7),
        inset 0 -1px 0 rgba(0, 0, 0, 0.10),
        0 4px 12px rgba(0, 0, 0, 0.30);
}

.prompt-tab.active .icon {
    opacity: 1;
}

/* Category filter section */
.prompt-section-filter {
    margin-bottom: 16px;
}

.prompt-category-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    margin: 0;
    overflow-x: visible;
}

.prompt-category-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.60);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--motion-base) var(--ease-spring);
}

.prompt-category-pill .icon {
    --icon-size: 13px;
    opacity: 0.65;
}

.prompt-category-pill:hover {
    border-color: rgba(255, 255, 255, 0.20);
    color: rgba(255, 255, 255, 0.90);
    background: rgba(255, 255, 255, 0.08);
}

.prompt-category-pill.active {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.28);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.prompt-category-pill.active .icon {
    opacity: 1;
}

/* Search wrapper — matches settings input style */
.prompt-search-wrapper {
    position: relative;
    margin-bottom: 16px;
}

.prompt-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    --icon-size: 16px;
    color: rgba(255, 255, 255, 0.35);
    pointer-events: none;
    z-index: 1;
}

.prompt-search-input {
    width: 100%;
    padding: 12px 14px 12px 42px;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(6px);
}

.prompt-search-input::placeholder {
    color: rgba(255, 255, 255, 0.32);
}

.prompt-search-input:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.32);
    background: rgba(0, 0, 0, 0.40);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.05);
}

/* Prompt list section */
.prompt-section-list {
    margin-bottom: 16px;
}

.prompt-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 340px;
    overflow-y: auto;
    padding-right: 4px;
}

.prompt-list {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.08) transparent;
}
.prompt-list::-webkit-scrollbar {
    width: 5px;
}
.prompt-list::-webkit-scrollbar-track {
    background: transparent;
}
.prompt-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 99px;
    border: 1px solid transparent;
    background-clip: padding-box;
    transition: background 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.prompt-list::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.18);
    background-clip: padding-box;
}
.prompt-list::-webkit-scrollbar-thumb:active {
    background: rgba(255, 255, 255, 0.3);
    background-clip: padding-box;
}

/* Prompt card — clean glass style matching session-item */
.prompt-card-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 13px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    cursor: pointer;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    position: relative;
}

.prompt-card-item:hover {
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.20);
}

.prompt-card-item:active {
    transform: scale(0.99);
    box-shadow: none;
}

.prompt-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.prompt-card-title {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
}

.prompt-card-desc {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Category badge inside cards */
.prompt-category-badge {
    display: inline-flex;
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 6px;
    font-weight: 600;
    letter-spacing: 0.02em;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.70);
    margin-left: 6px;
    white-space: nowrap;
}

/* New prompt button */
.btn-new-prompt {
    width: 100%;
    padding: 13px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1.5px dashed rgba(255, 255, 255, 0.18);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(6px);
}

.btn-new-prompt:hover {
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    transform: translateY(-1px);
}

.btn-new-prompt .icon {
    --icon-size: 16px;
}

/* Delete prompt button */
.btn-delete-prompt {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.35);
    cursor: pointer;
    padding: 5px;
    border-radius: 8px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.btn-delete-prompt:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.12);
}

/* Mobile responsive */
@media (max-width: 480px) {
    .prompt-category-pill {
        padding: 6px 10px;
        font-size: 11px;
    }

    .prompt-category-pill .icon {
        --icon-size: 12px;
    }

    .prompt-tab {
        font-size: 12px;
        padding: 9px 12px;
        gap: 6px;
    }

    .prompt-tab .icon {
        --icon-size: 14px;
    }

    .prompt-list {
        max-height: 280px;
    }
}

/* ========== LEOIZ CONFIG MODAL ========== */
.leoiz-config-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal, 10010);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    padding: 20px;
}

.leoiz-config-modal.active {
    opacity: 1;
    pointer-events: all;
}

.leoiz-config-card {
    position: relative;
    isolation: isolate;
    background: linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%), var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.04);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    max-width: 480px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow:
        var(--inset-top-glow),
        var(--inset-bot-shadow),
        var(--inset-left-rim),
        var(--inset-right-rim),
        var(--inset-top-bloom),
        var(--inset-bot-depth),
        var(--shadow-contact),
        var(--shadow-lift),
        var(--shadow-ambient),
        0 0 0 1px rgba(255, 255, 255, 0.03);
    will-change: var(--gpu-will-change);
    transform: var(--gpu-transform);
    opacity: 0;
}

.leoiz-config-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(135deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.05) 40%,
        transparent 60%);
    mix-blend-mode: overlay;
    opacity: 0.72;
}

.leoiz-config-modal.active .leoiz-config-card {
    animation: glassSpringEntrance 0.38s var(--ease-spring) forwards;
}

@keyframes leoizSlideUp {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.leoiz-config-header {
    text-align: center;
    padding: 32px 24px 20px;
    border-bottom: 1px solid var(--border-color);
}

.leoiz-config-logo {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    display: block;
    object-fit: contain;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}

.leoiz-config-header h2 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--text-primary);
}

.leoiz-config-header p {
    font-size: 14px;
    color: var(--text-secondary);
}

.leoiz-config-body {
    padding: 24px;
}

.leoiz-config-section {
    margin-bottom: 24px;
}

.leoiz-config-section:last-child {
    margin-bottom: 0;
}

.leoiz-config-section>label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 12px;
}

.leoiz-config-section>label i, .leoiz-config-section>label .icon {
    width: 16px;
    height: 16px;
}

/* Toggle Group (Question Type) */
.leoiz-toggle-group {
    display: flex;
    gap: 8px;
}

.leoiz-toggle-btn {
    flex: 1;
    padding: 14px 16px;
    background: var(--bg-tertiary);
    border: 2px solid var(--border-color);
    border-radius: 12px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.25s ease;
}

.leoiz-toggle-btn:hover {
    border-color: var(--text-secondary);
}

.leoiz-toggle-btn.active {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
    color: #ffffff;
}

.leoiz-toggle-btn i, .leoiz-toggle-btn .icon {
    width: 18px;
    height: 18px;
}

/* Difficulty Group */
.leoiz-difficulty-group {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.leoiz-diff-btn {
    padding: 12px 8px;
    background: var(--bg-tertiary);
    border: 2px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    transition: all 0.25s ease;
}

.leoiz-diff-btn:hover {
    border-color: var(--text-secondary);
}

.leoiz-diff-btn i, .leoiz-diff-btn .icon {
    width: 20px;
    height: 20px;
}

/* Zorluk — monokrom yoğunluk skalası (easy sönük → expert parlak) */
.leoiz-diff-btn.active[data-value="easy"] {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.25);
    color: rgba(255, 255, 255, 0.70);
}

.leoiz-diff-btn.active[data-value="medium"] {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.38);
    color: rgba(255, 255, 255, 0.82);
}

.leoiz-diff-btn.active[data-value="hard"] {
    background: rgba(255, 255, 255, 0.13);
    border-color: rgba(255, 255, 255, 0.52);
    color: rgba(255, 255, 255, 0.92);
}

.leoiz-diff-btn.active[data-value="expert"] {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.70);
    color: #ffffff;
}

/* Slider Container */
.leoiz-slider-container {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 4px;
}

.leoiz-slider-container span {
    font-size: 12px;
    color: var(--text-secondary);
    min-width: 20px;
    text-align: center;
}

.leoiz-slider-container input[type="range"] {
    flex: 1;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: var(--bg-tertiary);
    border-radius: 3px;
    outline: none;
}

.leoiz-slider-container input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(255, 255, 255, 0.4);
    transition: transform 0.2s;
}

.leoiz-slider-container input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}

.leoiz-slider-container input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
    border: none;
    border-radius: 50%;
    cursor: pointer;
}

/* Timed Toggle */
.leoiz-timed-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    border: 1px solid var(--border-color);
}

.leoiz-timed-toggle label:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0;
}

.leoiz-timed-toggle label:first-child i, .leoiz-timed-toggle label:first-child .icon {
    width: 18px;
    height: 18px;
    color: var(--text-secondary);
}

/* Custom Switch */
.leoiz-switch {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
}

.leoiz-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.leoiz-switch-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: var(--border-color);
    border-radius: 26px;
    transition: 0.3s;
}

.leoiz-switch-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: 0.3s;
}

.leoiz-switch input:checked+.leoiz-switch-slider {
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
}

.leoiz-switch input:checked+.leoiz-switch-slider:before {
    transform: translateX(22px);
}

/* Time Section (hidden by default) */
.leoiz-time-section {
    display: none;
    animation: fadeIn 0.3s ease;
}

.leoiz-time-section.visible {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.leoiz-time-options {
    display: flex;
    gap: 8px;
}

.leoiz-time-btn {
    flex: 1;
    padding: 12px;
    background: var(--bg-tertiary);
    border: 2px solid var(--border-color);
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}

.leoiz-time-btn:hover {
    border-color: var(--text-secondary);
}

.leoiz-time-btn.active {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
    color: #ffffff;
}

/* Footer */
.leoiz-config-footer {
    display: flex;
    gap: 12px;
    padding: 20px 24px 24px;
    border-top: 1px solid var(--border-color);
}

.leoiz-btn-cancel,
.leoiz-btn-start {
    flex: 1;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.25s ease;
}

.leoiz-btn-cancel {
    background: var(--bg-tertiary);
    border: 1px solid var(--border-color);
    color: var(--text-secondary);
}

.leoiz-btn-cancel:hover {
    background: var(--hover-bg);
    color: var(--text-primary);
}

.leoiz-btn-start {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
}

.leoiz-btn-start:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.leoiz-btn-cancel i,
.leoiz-btn-start i, .leoiz-btn-start .icon {
    width: 18px;
    height: 18px;
}

/* Quiz Timer Display */
.leoiz-quiz-timer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    margin-bottom: 20px;
    background: var(--bg-tertiary);
    border-radius: 12px;
    border: 2px solid var(--border-color);
}

.leoiz-quiz-timer.warning {
    border-color: #EF4444;
    background: rgba(239, 68, 68, 0.1);
    animation: timerPulse 0.5s ease infinite;
}

@keyframes timerPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.02);
    }
}

.leoiz-quiz-timer i, .leoiz-quiz-timer .icon {
    width: 20px;
    height: 20px;
    color: #ffffff;
}

.leoiz-quiz-timer.warning i, .leoiz-quiz-timer.warning .icon {
    color: #EF4444;
}

.leoiz-timer-text {
    font-size: 18px;
    font-weight: 700;
    font-family: 'JetBrains Mono', monospace;
    color: var(--text-primary);
}

/* Responsive */
@media (max-width: 480px) {
    .leoiz-config-card {
        border-radius: 20px;
    }

    .leoiz-difficulty-group {
        grid-template-columns: repeat(2, 1fr);
    }

    .leoiz-time-options {
        flex-wrap: wrap;
    }

    .leoiz-time-btn {
        flex: 1 1 calc(50% - 4px);
    }
}

/* Soru tipi 4 butona çıktı — 2x2 sar */
.leoiz-toggle-group {
    flex-wrap: wrap;
}

.leoiz-toggle-group .leoiz-toggle-btn {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
}

/* ========== KAYITLI SINAVLAR (config modal) ========== */
.leoiz-saved-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.leoiz-saved-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: var(--radius-sm);
    background: var(--glass-3-bg);
    border: 1px solid var(--stroke-subtle);
}

.leoiz-saved-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.leoiz-saved-title {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--text-1);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leoiz-saved-count {
    font-size: 11px;
    color: var(--text-3);
}

.leoiz-saved-actions {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.leoiz-saved-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--stroke-subtle);
    color: var(--text-2);
    cursor: pointer;
    transition: all 0.18s ease;
}

.leoiz-saved-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--text-1);
    border-color: var(--stroke-strong);
}

.leoiz-saved-btn.danger:hover {
    color: var(--destructive);
    border-color: var(--destructive);
}

.leoiz-saved-btn .icon {
    width: 16px;
    height: 16px;
}

/* ============================================================
   LEOIZ QUIZ — render edilen test (liquid glass + monokrom)
   ============================================================ */
.leoiz-quiz {
    position: relative;
    margin: 4px 0;
    animation: leoizQuizIn 0.4s var(--ease-spring);
}

@keyframes leoizQuizIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Başlık şeridi — Tier-3 glass, monokrom sol-aksan */
.leoiz-quiz-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    margin-bottom: 16px;
    border-radius: var(--radius-sm);
    background: linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%), var(--glass-3-bg);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    border: 1px solid var(--stroke-subtle);
    border-left: 3px solid var(--ink-100);
    box-shadow: var(--inset-top-glow), var(--shadow-contact);
}

.leoiz-quiz-title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--text-1);
}

.leoiz-quiz-sub {
    margin: 4px 0 0;
    font-size: 12.5px;
    color: var(--text-3);
}

/* İlerleme çubuğu */
.leoiz-progress {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.leoiz-progress-track {
    flex: 1;
    height: 6px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.07);
    overflow: hidden;
}

.leoiz-progress-fill {
    height: 100%;
    width: 0;
    border-radius: var(--radius-pill);
    background: var(--ink-100);
    transition: width 0.35s var(--ease-smooth);
}

.leoiz-progress-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-2);
    font-variant-numeric: tabular-nums;
    min-width: 48px;
    text-align: right;
}

/* Soru navigasyon noktaları */
.leoiz-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
}

.leoiz-nav-dot {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--stroke-subtle);
    color: var(--text-3);
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.18s ease;
    font-variant-numeric: tabular-nums;
}

.leoiz-nav-dot:hover {
    border-color: var(--stroke-strong);
    color: var(--text-1);
}

.leoiz-nav-dot.answered {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.42);
    color: #fff;
}

/* Soru kartı — Tier-3 glass */
.leoiz-q-card {
    position: relative;
    padding: 18px 20px;
    margin-bottom: 14px;
    border-radius: var(--radius-sm);
    background: linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%), var(--glass-3-bg);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    border: 1px solid var(--stroke-subtle);
    box-shadow: var(--inset-top-glow), var(--shadow-contact);
}

.leoiz-q-head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    font-weight: 600;
}

.leoiz-q-num {
    color: var(--ink-100);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.leoiz-q-text {
    flex: 1;
    min-width: 60%;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-1);
}

/* Şıklar */
.leoiz-opts {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.leoiz-opts.tf {
    flex-direction: row;
}

.leoiz-opt {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid var(--stroke-subtle);
    background: rgba(255, 255, 255, 0.02);
    cursor: pointer;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.leoiz-opts.tf .leoiz-opt {
    flex: 1;
    justify-content: center;
}

.leoiz-opt:hover {
    border-color: var(--stroke-strong);
    background: rgba(255, 255, 255, 0.05);
}

.leoiz-opt:focus-within {
    border-color: var(--stroke-focus);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.12);
}

.leoiz-opt input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.leoiz-opt-mark {
    position: relative;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--stroke-strong);
    transition: border-color 0.18s ease;
}

.leoiz-opt-text {
    font-size: 14.5px;
    color: var(--text-1);
}

.leoiz-opt.selected {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 255, 255, 0.10);
}

.leoiz-opt.selected .leoiz-opt-mark {
    border-color: #fff;
}

.leoiz-opt.selected .leoiz-opt-mark::after {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: #fff;
}

/* Boşluk doldurma */
.leoiz-fill-input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid var(--stroke-subtle);
    background: rgba(255, 255, 255, 0.03);
    color: var(--text-1);
    font-size: 14.5px;
    font-family: inherit;
    transition: border-color 0.18s ease;
}

.leoiz-fill-input::placeholder {
    color: var(--text-3);
}

.leoiz-fill-input:focus {
    outline: none;
    border-color: var(--stroke-focus);
    background: rgba(255, 255, 255, 0.05);
}

/* Eşleştirme */
.leoiz-match {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.leoiz-match-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.leoiz-match-left {
    flex: 1;
    font-size: 14px;
    color: var(--text-1);
}

.leoiz-match-arrow {
    width: 16px;
    height: 16px;
    color: var(--text-3);
    flex-shrink: 0;
}

.leoiz-match-select {
    flex: 1;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--stroke-subtle);
    background: var(--glass-3-bg);
    color: var(--text-1);
    font-size: 13.5px;
    font-family: inherit;
    cursor: pointer;
}

.leoiz-match-select:focus {
    outline: none;
    border-color: var(--stroke-focus);
}

/* Bitir butonu — monokrom glass (turuncu gradient YOK) */
.leoiz-submit {
    width: 100%;
    margin-top: 8px;
    padding: 14px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
    transition: all 0.2s ease;
}

.leoiz-submit:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.leoiz-submit.warn {
    background: rgba(239, 68, 68, 0.14);
    border-color: var(--destructive);
}

.leoiz-submit .icon {
    width: 18px;
    height: 18px;
}

/* ===== İnceleme görünümü ===== */
.leoiz-score-wrap {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 20px;
    margin-bottom: 18px;
    border-radius: var(--radius-sm);
    background: linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%), var(--glass-3-bg);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    border: 1px solid var(--stroke-subtle);
}

.leoiz-score {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
    width: 84px;
    height: 84px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.04);
}

.leoiz-score.fail {
    border-color: var(--destructive);
}

.leoiz-score-num {
    font-size: 26px;
    font-weight: 800;
    color: var(--text-1);
    font-variant-numeric: tabular-nums;
}

.leoiz-score-unit {
    font-size: 12px;
    color: var(--text-3);
}

.leoiz-score-title {
    margin: 0 0 4px;
    font-size: 17px;
    font-weight: 700;
    color: var(--text-1);
}

.leoiz-score-sub {
    margin: 0;
    font-size: 13px;
    color: var(--text-2);
}

.leoiz-actions {
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
}

.leoiz-action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    color: var(--text-1);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--stroke-subtle);
    transition: all 0.18s ease;
}

.leoiz-action-btn:hover {
    background: rgba(255, 255, 255, 0.11);
    border-color: var(--stroke-strong);
}

.leoiz-action-btn .icon {
    width: 16px;
    height: 16px;
}

/* İncelemede soru kartı — doğru/yanlış aksan */
.leoiz-q-card.review.correct {
    border-color: rgba(255, 255, 255, 0.45);
}

.leoiz-q-card.review.wrong {
    border-color: var(--destructive);
}

.leoiz-q-card.review.empty {
    border-color: var(--stroke-subtle);
    opacity: 0.85;
}

.leoiz-verdict {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    padding: 4px 10px;
    border-radius: var(--radius-pill);
    font-size: 12px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.06);
}

.leoiz-verdict.ok {
    color: var(--ink-100);
}

.leoiz-verdict.no {
    color: var(--destructive);
}

.leoiz-verdict .icon {
    width: 14px;
    height: 14px;
}

.leoiz-ans {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13.5px;
}

.leoiz-ans-row {
    color: var(--text-2);
}

.leoiz-ans-row.no {
    color: var(--text-2);
}

.leoiz-ans-label {
    font-weight: 600;
    color: var(--text-3);
}

.leoiz-explain {
    margin-top: 12px;
    border-top: 1px solid var(--stroke-hairline);
    padding-top: 10px;
}

.leoiz-explain summary {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-2);
    list-style: none;
}

.leoiz-explain summary::-webkit-details-marker {
    display: none;
}

.leoiz-explain summary .icon {
    width: 15px;
    height: 15px;
}

.leoiz-note {
    margin-top: 8px;
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--text-1);
}

/* Analiz bloğu */
.leoiz-analysis-wrap {
    margin-top: 18px;
    padding: 18px 20px;
    border-radius: var(--radius-sm);
    background: linear-gradient(180deg, var(--glass-3-tint-top) 0%, var(--glass-3-tint-bot) 100%), var(--glass-3-bg);
    backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    -webkit-backdrop-filter: blur(var(--glass-3-blur)) saturate(var(--glass-3-saturate));
    border: 1px solid var(--stroke-subtle);
}

.leoiz-analysis-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--ink-100);
}

.leoiz-analysis-title .icon {
    width: 18px;
    height: 18px;
}

.leoiz-analysis {
    font-size: 14px;
    line-height: 1.65;
    color: var(--text-1);
    max-height: 420px;
    overflow-y: auto;
}

.leoiz-analysis-loading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-2);
    font-size: 13.5px;
}

.leoiz-analysis-fail {
    color: var(--text-2);
    font-size: 13.5px;
}

.leoiz-link-btn {
    background: none;
    border: none;
    padding: 0;
    color: #fff;
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
}

@media (max-width: 480px) {
    .leoiz-opts.tf {
        flex-direction: column;
    }

    .leoiz-score-wrap {
        flex-direction: column;
        text-align: center;
    }

    .leoiz-actions {
        flex-direction: column;
    }
}

/* ============================================================
   FAZ 5: SKELETON LOADING SYSTEM
   ============================================================ */

.skeleton {
    background: linear-gradient(90deg,
        var(--bg-secondary) 25%,
        var(--bg-tertiary) 50%,
        var(--bg-secondary) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s ease-in-out infinite;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

@keyframes shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Chat list skeleton items */
.skeleton-chat-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 4px;
}

.skeleton-chat-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
}

.skeleton-chat-lines {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.skeleton-chat-title {
    height: 14px;
    width: 70%;
    border-radius: 4px;
}

.skeleton-chat-subtitle {
    height: 10px;
    width: 45%;
    border-radius: 4px;
}

/* Model grid skeleton */
.skeleton-model-card {
    height: 160px;
    border-radius: 16px;
}

/* Prompt card skeleton */
.skeleton-prompt-card {
    height: 100px;
    border-radius: 12px;
    margin-bottom: 12px;
}

/* ============================================================
   FAZ 5: MICRO-ANIMATIONS
   ============================================================ */

/* Message appear animation */
.message-bubble {
    animation: msgAppear 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes msgAppear {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* AI typing dots */
.thinking-dots {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 0;
}

.thinking-dots span {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-color);
    animation: dotPulse 1.4s infinite ease-in-out;
}

.thinking-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.thinking-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes dotPulse {
    0%, 80%, 100% {
        transform: scale(0.6);
        opacity: 0.4;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Button micro-interactions */
.btn-new-chat:active,
.btn-send:active,
.footer-btn:active {
    transform: scale(0.95);
    transition: transform 0.1s ease;
}

/* Smooth hover lift for interactive cards */
.model-card:hover {
    transform: translateY(-1px);
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Chat item hover slide */
.chat-item:hover {
    transform: translateX(4px);
    transition: transform 0.15s ease;
}

/* ============================================================
   FAZ 5: THEME REFINEMENT
   ============================================================ */

/* (Tema değiştirme özelliği tamamen kaldırıldı — Nisan 2026.
    Manuel tema sınıfları (.light-mode, .theme-*) ve prefers-color-scheme
    auto-detect dahil tüm tema kuralları silindi. Tek tema: dark glass.) */

/* ============================================================
   FAZ 5: ENHANCED RESPONSIVE
   ============================================================ */

/* Tablet breakpoint */
@media (max-width: 1024px) {
    .model-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Sidebar blur overlay enhancement */
@media (max-width: 768px) {
    .sidebar {
        width: 85vw !important;
        max-width: 320px;
        box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
    }

    .sidebar.collapsed {
        width: 85vw !important;
    }

    .sidebar-overlay.active {
        backdrop-filter: blur(4px);
        -webkit-backdrop-filter: blur(4px);
    }

    /* Dynamic island compact adjustments */
    .dynamic-island {
        padding: 6px 12px;
        gap: 6px;
    }

    .island-model-name {
        max-width: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Small phones (375px and below) */
@media (max-width: 375px) {
    .model-grid {
        grid-template-columns: 1fr;
    }

    .island-language-selector {
        display: none;
    }

    .island-shortcut {
        display: none !important;
    }

    .dynamic-island {
        padding: 4px 8px;
        gap: 4px;
    }

    .island-model-name {
        max-width: 60px;
        font-size: 11px;
    }

    .settings-card,
    .support-card {
        max-width: 100%;
        width: 100%;
        margin: 0;
        border-radius: 12px;
    }

    .prompt-library .prompt-card {
        padding: 12px;
    }
}

/* ============================================================
   FAZ 5: ACCESSIBILITY (a11y)
   ============================================================ */

/* Focus visible outlines for keyboard navigation */
*:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

/* Skip focus ring for mouse clicks */
*:focus:not(:focus-visible) {
    outline: none;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .skeleton {
        animation: none;
        background: var(--bg-secondary);
    }

    .message-bubble {
        animation: none;
    }
}

/* ==========================================================================
   DEEP THINK PREMIUM UI (ACCORDION)
   ========================================================================== */
.deep-think-accordion {
    background: rgba(20, 20, 25, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    margin-bottom: 16px;
    overflow: hidden;
    transition: all var(--motion-base) var(--ease-spring);
    backdrop-filter: blur(10px);
}

.deep-think-accordion:hover {
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.deep-think-accordion summary {
    padding: 12px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    user-select: none;
    transition: all 0.2s ease;
    background: rgba(255, 255, 255, 0.02);
}

.deep-think-accordion summary:hover {
    color: var(--accent-color);
    background: rgba(255, 255, 255, 0.05);
}

.deep-think-accordion summary i, .deep-think-accordion summary .icon {
    color: var(--accent-color);
    font-size: 16px;
}

.deep-think-accordion summary::marker,
.deep-think-accordion summary::-webkit-details-marker {
    display: none;
}

.deep-think-accordion .deep-think-content {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--text-secondary);
    background: rgba(0, 0, 0, 0.15);
    font-style: italic;
    padding: 20px 24px;
    border-top: none;
}

.deep-think-accordion[open] .deep-think-content {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    animation: accordionOpen 0.4s ease-out forwards;
}

@keyframes accordionOpen {
    0% {
        opacity: 0;
        transform: translateY(-2px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.deep-think-accordion[open] summary {
    color: var(--accent-color);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(255, 255, 255, 0.05);
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Summary arrow indicator */
.deep-think-accordion summary::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--text-secondary);
    border-bottom: 2px solid var(--text-secondary);
    transform: rotate(-45deg);
    transition: transform 0.3s ease;
    margin-left: auto;
}

.deep-think-accordion[open] summary::after {
    transform: rotate(45deg);
}

/* ==========================================================================
   DEEP THINK — LOADING ANIMATION (Özel Bekleme Animasyonu)
   ========================================================================== */
.thinking.deep-think-active {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.08) 100%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 16px 20px;
    position: relative;
    overflow: hidden;
}

.thinking.deep-think-active::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.06) 50%,
        transparent 100%);
    animation: deepThinkSweep 2s ease-in-out infinite;
}

@keyframes deepThinkSweep {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(50%); }
}

.thinking.deep-think-active > span {
    color: var(--accent-color);
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.deep-think-brain-icon {
    width: 16px;
    height: 16px;
    color: var(--accent-color);
    flex-shrink: 0;
    animation: deepThinkBrainPulse 1.5s ease-in-out infinite;
}

@keyframes deepThinkBrainPulse {
    0%, 100% { opacity: 0.7; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.1); }
}

.thinking.deep-think-active .thinking-dots span {
    background: var(--accent-color);
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
}

/* Pulse glow ring on the message avatar */
.deep-think-loading .message-avatar {
    animation: deepThinkPulse 2s ease-in-out infinite;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
}

@keyframes deepThinkPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); }
    50% { box-shadow: 0 0 0 8px rgba(255, 255, 255, 0); }
}

/* Inline handler sweep (Aşama 2) — onfocus/onblur/onmouseover/onmouseout
   yerine CSS :focus / :hover kullanılır. */
#topluAiCodeInput:focus { border-color: var(--accent-color, var(--ink-100)) !important; }
.btn-activate-toplu-ai { transition: opacity 0.2s; }
.btn-activate-toplu-ai:hover { opacity: 0.85; }

/* ============================================================
   LEONA DIALOG — Özel Modal (alert/confirm/prompt)
   Liquid Glass tasarım sistemiyle uyumlu.
   ============================================================ */
.leona-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: var(--z-dialog, 10050);
    display: none;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at center, rgba(10, 10, 15, 0.4) 0%, rgba(3, 3, 5, 0.78) 100%);
    backdrop-filter: blur(20px) saturate(190%) brightness(0.7);
    -webkit-backdrop-filter: blur(20px) saturate(190%) brightness(0.7);
    opacity: 0;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 16px;
}

.leona-dialog-overlay.active {
    opacity: 1;
}

.leona-dialog-overlay.closing {
    opacity: 0;
}

.leona-dialog-card {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%),
        var(--glass-1-bg);
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.05) var(--glass-1-refract);
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.05);
    border: 1px solid var(--glass-1-border);
    border-radius: var(--radius-md);
    padding: 32px 28px 24px;
    max-width: 420px;
    width: 100%;
    text-align: center;
    box-shadow: var(--glass-card-shadow);
    will-change: transform, opacity;
    opacity: 0;
}

/* Specular highlight crescent (monochrome) */
.leona-dialog-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: var(--glass-specular);
    mix-blend-mode: overlay;
    opacity: 0.78;
}

/* Mobile Gestural Drag Handle - Hidden by default, styled for mobile */
.leona-dialog-drag-handle {
    display: none;
    width: 36px;
    height: 4px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    margin: -16px auto 16px;
}

.leona-dialog-overlay.active .leona-dialog-card {
    animation: glassSpringEntrance 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.leona-dialog-overlay.closing .leona-dialog-card {
    animation: glassSpringExit 0.24s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes glassSpringEntrance {
    0% { transform: translateY(24px) scale(0.92); opacity: 0; filter: blur(4px); }
    70% { transform: translateY(-2px) scale(1.008); opacity: 0.98; filter: none; }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

@keyframes glassSpringExit {
    0% { transform: translateY(0) scale(1); opacity: 1; filter: none; }
    100% { transform: translateY(12px) scale(0.97); opacity: 0; filter: blur(4px); }
}

.leona-dialog-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.leona-dialog-icon svg {
    width: 32px;
    height: 32px;
    filter: drop-shadow(0 2px 8px currentColor);
}

.leona-dialog-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary, #fff);
    margin-bottom: 8px;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.leona-dialog-message {
    font-size: 14px;
    color: var(--text-secondary, #94a3b8);
    line-height: 1.6;
    margin-bottom: 20px;
    word-break: break-word;
}

.leona-dialog-input-wrap {
    margin-bottom: 20px;
}

.leona-dialog-input {
    width: 100%;
    padding: 12px 16px;
    font-size: 14px;
    color: var(--text-primary, #fff);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
}

.leona-dialog-input:focus {
    border-color: rgba(255, 255, 255, 0.30);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 0 3px rgba(255, 255, 255, 0.12);
}

.leona-dialog-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.leona-dialog-btn {
    flex: 1;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s, box-shadow 0.15s, filter 0.15s;
    font-family: inherit;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.leona-dialog-btn:hover {
    transform: translateY(-1.5px);
}

.leona-dialog-btn:active {
    transform: translateY(0) scale(0.97);
}

/* Monokrom primary — beyaz cam zemin + siyah metin (iOS prominent action) */
.leona-dialog-btn.primary {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px) saturate(140%);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.30),
        inset 0 -1px 0 rgba(0, 0, 0, 0.18),
        0 2px 6px rgba(0, 0, 0, 0.25),
        0 8px 24px rgba(0, 0, 0, 0.20);
}

.leona-dialog-btn.primary:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.26);
}

.leona-dialog-btn.destructive {
    background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.leona-dialog-btn.destructive:hover {
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.42), 0 0 12px rgba(239, 68, 68, 0.2);
    filter: brightness(1.06);
}

.leona-dialog-btn.cancel {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-secondary, #94a3b8);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.leona-dialog-btn.cancel:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-primary, #fff);
    border-color: rgba(255, 255, 255, 0.14);
}

/* Danger/Destructive Confirm Dialog Customization (e.g. Tümünü Temizle) */
.leona-dialog-card.type-danger {
    border-color: rgba(239, 68, 68, 0.25) !important;
    background: 
        radial-gradient(circle at top left, rgba(239, 68, 68, 0.12) 0%, transparent 45%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(255, 255, 255, 0.005) 100%), 
        rgba(10, 8, 8, 0.72) !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 100, 100, 0.22),
        inset 0 0 24px rgba(239, 68, 68, 0.12),
        inset 0 -1px 2px 0 rgba(0, 0, 0, 0.5),
        0 24px 50px -12px rgba(0, 0, 0, 0.8),
        0 0 40px rgba(239, 68, 68, 0.06) !important;
}

.leona-dialog-card.type-danger::before {
    background: linear-gradient(135deg,
        rgba(239, 68, 68, 0.25) 0%,
        rgba(239, 68, 68, 0.05) 45%,
        transparent 65%) !important;
}

.leona-dialog-card.type-danger .leona-dialog-icon svg {
    filter: drop-shadow(0 0 12px rgba(239, 68, 68, 0.65)) !important;
    color: #ef4444 !important;
}

.leona-dialog-card.type-danger .leona-dialog-title {
    color: #fca5a5 !important;
    text-shadow: 0 0 15px rgba(239, 68, 68, 0.2) !important;
}

/* Mobil responsive */
@media (max-width: 480px) {
    .leona-dialog-card {
        padding: 28px 20px 20px;
        border-radius: 16px;
    }
    .leona-dialog-drag-handle {
        display: block;
    }
    .leona-dialog-buttons {
        flex-direction: column-reverse;
    }
}

/* ============================================================
   AI Title Generation — loading shimmer + swap fade transition
   ============================================================ */

/* Loading shimmer (title-generating class while AI generates) */
.chat-item.title-generating .chat-info h4 {
    position: relative;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.55);
}
.chat-item.title-generating .chat-info h4::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.12) 50%,
        transparent 100%
    );
    animation: titleShimmer 1.4s ease-in-out infinite;
    pointer-events: none;
}
@keyframes titleShimmer {
    0%   { left: -100%; }
    100% { left: 100%; }
}

/* Title swap — smooth fade-in (AI generated title set'lenince) */
.chat-item.title-swapped .chat-info h4 {
    animation: titleSwapFade 480ms cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes titleSwapFade {
    0%   { opacity: 0.4; transform: translateY(-2px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce) {
    .chat-item.title-generating .chat-info h4::after,
    .chat-item.title-swapped .chat-info h4 {
        animation: none !important;
    }
}

/* ============================================================
   Faz 12+++ UI Polish — focus accessibility + composer loading
   ============================================================ */

/* Focus-visible: tab navigation görünür outline */
*:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.7);
    outline-offset: 2px;
    border-radius: inherit;
}
button:focus-visible,
.chat-item:focus-visible,
.chip:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.7);
    outline-offset: 2px;
}

/* Composer loading state — send butonu disabled + spinner */
.btn-send:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
#messageInput:disabled,
#messageInput[readonly] {
    opacity: 0.5;
    cursor: wait;
}
#messageInput::placeholder {
    transition: color 200ms ease;
}

/* Suggestion chips polish — icon + hover lift */
.suggestion-chips .chip {
    transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1),
                background 180ms ease, border-color 180ms ease,
                box-shadow 200ms ease;
}
.suggestion-chips .chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.suggestion-chips .chip:active {
    transform: translateY(0) scale(0.97);
}
.suggestion-chips .chip:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.7);
    outline-offset: 3px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .suggestion-chips .chip,
    .chat-item {
        transition: none !important;
    }
}

/* ============================================================
   💎 ULTRA-PREMIUM UNIFIED LIQUID GLASS MODAL SYSTEM 💎
   ============================================================ */

/* 1. Cinematic Backdrop overlays */
.password-modal,
.settings-modal,
.support-modal,
.logout-modal,
.feedback-modal,
.leoiz-config-modal,
.code-modal {
    background: var(--modal-scrim) !important;
    backdrop-filter: var(--modal-scrim-filter) !important;
    -webkit-backdrop-filter: var(--modal-scrim-filter) !important;
    transition: opacity 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* 2. Glassmorphic Card structures — Tier-1 macro glass + true refraction */
.password-card,
.settings-card,
.support-card,
.logout-card,
.feedback-card,
.leoiz-config-card,
.code-modal-content {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(180deg, var(--glass-1-tint-top) 0%, var(--glass-1-tint-bot) 100%),
        var(--glass-1-bg) !important;
    backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.05) var(--glass-1-refract) !important;
    -webkit-backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.05) !important;
    border: 1px solid var(--glass-1-border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--glass-card-shadow) !important;
    opacity: 0;
    will-change: transform, opacity;
}

/* 3. Specular highlight crescent (monochrome) */
.password-card::before,
.settings-card::before,
.support-card::before,
.logout-card::before,
.feedback-card::before,
.leoiz-config-card::before,
.code-modal-content::before {
    content: "" !important;
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
    background: var(--glass-specular) !important;
    mix-blend-mode: overlay;
    opacity: 0.78;
}

/* 3b. Mobil gestural drag-handle — kart üstünde grab tutamağı (yalnız CSS) */
@media (max-width: 480px) {
    .password-card::after,
    .settings-card::after,
    .support-card::after,
    .logout-card::after,
    .feedback-card::after,
    .leoiz-config-card::after,
    .code-modal-content::after {
        content: "";
        position: absolute;
        top: 8px;
        left: 50%;
        transform: translateX(-50%);
        width: 36px;
        height: 4px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.18);
        pointer-events: none;
        z-index: 2;
    }
}

/* 4. Active spring animation */
.password-modal.active .password-card,
.settings-modal.active .settings-card,
.support-modal.active .support-card,
.logout-modal.active .logout-card,
.feedback-modal.active .feedback-card,
.leoiz-config-modal.active .leoiz-config-card,
.code-modal.active .code-modal-content {
    animation: glassSpringEntrance 0.42s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

/* 5. Custom layout adjustments for unified premium feel */
.password-card,
.logout-card,
.feedback-card {
    text-align: center;
}

/* Settings Modal — monokrom macro glass (mavi vurgu kaldırıldı) */
.settings-card {
    border: 1px solid var(--glass-1-border) !important;
    box-shadow: var(--glass-card-shadow) !important;
}
.settings-card::before {
    background: var(--glass-specular) !important;
}

/* Logout Modal specific refinements to warning crimson */
.logout-card {
    border-color: rgba(239, 68, 68, 0.25) !important;
    box-shadow:
        inset 0 1px 0 0 rgba(255, 100, 100, 0.22),
        inset 0 0 24px rgba(239, 68, 68, 0.12),
        inset 0 -1px 2px 0 rgba(0, 0, 0, 0.5),
        0 24px 50px -12px rgba(0, 0, 0, 0.8),
        0 0 40px rgba(239, 68, 68, 0.06) !important;
}
.logout-card::before {
    background: linear-gradient(135deg,
        rgba(239, 68, 68, 0.25) 0%,
        rgba(239, 68, 68, 0.05) 45%,
        transparent 65%) !important;
}

/* ============================================================
   Liquid refraction guard — tüm cam modal/kart/banner yüzeyleri
   Mobil (GPU yükü) + reduced-motion: url() displacement düşürülür,
   yalnız blur+saturate kalır. tokens.css'teki .glass-N deseniyle aynı.
   ============================================================ */
@media (max-width: 768px) {
    .password-card,
    .settings-card,
    .support-card,
    .logout-card,
    .feedback-card,
    .leoiz-config-card,
    .code-modal-content,
    .social-modal,
    .twofa-modal-card,
    .ai-shared-modal-card,
    .leona-dialog-card {
        backdrop-filter: blur(var(--glass-1-blur)) saturate(var(--glass-1-saturate)) brightness(1.05) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .password-card,
    .settings-card,
    .support-card,
    .logout-card,
    .feedback-card,
    .leoiz-config-card,
    .code-modal-content,
    .social-modal,
    .twofa-modal-card,
    .ai-shared-modal-card,
    .leona-dialog-card {
        backdrop-filter: blur(14px) saturate(1.3) !important;
        -webkit-backdrop-filter: blur(14px) saturate(1.3) !important;
    }
}

