*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
    :root{
        --primary:#075E54;--primary-dark:#054C44;--primary-light:#128C7E;
        --accent:#25D366;--accent-dark:#1DA851;--accent-glow:rgba(37,211,102,.3);
        --bg:#0B141A;--bg2:#111B21;--bg3:#182229;
        --surface:#1F2C34;--surface2:#233138;--surface3:#2A3942;
        --text:#E9EDEF;--text2:#8696A0;--text3:#667781;
        --out:#005C4B;--out2:#025144;--in:#202C33;--in2:#1D2A30;
        --border:rgba(134,150,160,.15);
        --danger:#EA4335;--warning:#FBBC04;
        --safe-top:env(safe-area-inset-top);
        --safe-bottom:env(safe-area-inset-bottom);
        --chat-bg:var(--bg);
    }
    /* Gece Mavisi */
    :root[data-theme="blue"]{
        --primary:#1565C0;--primary-dark:#0D47A1;--primary-light:#1976D2;
        --accent:#42A5F5;--accent-dark:#1E88E5;--accent-glow:rgba(66,165,245,.3);
        --bg:#0A0E1A;--bg2:#0D1321;--bg3:#111827;
        --surface:#151D2E;--surface2:#1A2438;--surface3:#202C42;
        --out:#0D2E5C;--out2:#0A2550;--in:#131C30;--in2:#111828;
        --chat-bg:var(--bg);
    }
    /* Mor */
    :root[data-theme="purple"]{
        --primary:#4A148C;--primary-dark:#380D6C;--primary-light:#6A1B9A;
        --accent:#CE93D8;--accent-dark:#AB47BC;--accent-glow:rgba(206,147,216,.3);
        --bg:#0D0A14;--bg2:#120F1A;--bg3:#171320;
        --surface:#1E1528;--surface2:#241B30;--surface3:#2B2038;
        --out:#2D1054;--out2:#240D46;--in:#1A1228;--in2:#160F22;
        --chat-bg:var(--bg);
    }
    /* Kırmızı */
    :root[data-theme="red"]{
        --primary:#B71C1C;--primary-dark:#8B0000;--primary-light:#C62828;
        --accent:#EF5350;--accent-dark:#E53935;--accent-glow:rgba(239,83,80,.3);
        --bg:#110A0A;--bg2:#180E0E;--bg3:#1E1212;
        --surface:#271515;--surface2:#2E1919;--surface3:#351E1E;
        --out:#4A0E0E;--out2:#3D0A0A;--in:#1F1212;--in2:#1A0F0F;
        --chat-bg:var(--bg);
    }
    /* Koyu Gri */
    :root[data-theme="gray"]{
        --primary:#212121;--primary-dark:#141414;--primary-light:#2C2C2C;
        --accent:#757575;--accent-dark:#616161;--accent-glow:rgba(117,117,117,.3);
        --bg:#0A0A0A;--bg2:#111111;--bg3:#171717;
        --surface:#1C1C1C;--surface2:#222222;--surface3:#282828;
        --out:#2A2A2A;--out2:#222222;--in:#1A1A1A;--in2:#161616;
        --chat-bg:var(--bg);
    }
    /* Sohbet arka planları */
    :root[data-bg="solid"] .chat-body{background-image:none !important}
    :root[data-bg="dots"] .chat-body{
        background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px) !important;
        background-size:20px 20px !important;
    }
    :root[data-bg="pattern"] .chat-body{
        background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") !important;
    }
    body{
        font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
        background:var(--bg);color:var(--text);
        height:100vh;height:100dvh;overflow:hidden;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        /* Ekran görüntüsü zorlaştırma */
        -webkit-user-select:none;user-select:none;
    }

    /* ===== IAB (IN-APP BROWSER) KİLİT EKRANI ===== */
#iabLock{
    display:none;
    position:fixed;inset:0;z-index:99999;
    background:#0B141A;
    flex-direction:column;align-items:center;justify-content:center;
    gap:20px;padding:32px 24px;text-align:center;
}
#iabLock.active{display:flex;}
#iabLock .iab-icon{
    width:72px;height:72px;border-radius:50%;
    background:rgba(37,211,102,.12);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
}
#iabLock .iab-title{
    font-size:19px;font-weight:700;color:#E9EDEF;line-height:1.3;
}
#iabLock .iab-desc{
    font-size:14px;color:#8696A0;line-height:1.6;max-width:320px;
}
#iabLock .iab-steps{
    background:#1F2C34;border-radius:14px;
    padding:16px 20px;width:100%;max-width:340px;
    display:flex;flex-direction:column;gap:12px;
    border:1px solid rgba(134,150,160,.15);
}
#iabLock .iab-step{
    display:flex;align-items:flex-start;gap:12px;
    font-size:13px;color:#E9EDEF;line-height:1.4;text-align:left;
}
#iabLock .iab-step-num{
    width:22px;height:22px;border-radius:50%;
    background:rgba(37,211,102,.2);
    color:#25D366;font-size:12px;font-weight:700;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;margin-top:1px;
}
    /* ===== EKRAN KORUMA (GÜÇLENDİRİLMİŞ) ===== */
    .secure-content{
        -webkit-user-select:none!important;user-select:none!important;
        -webkit-touch-callout:none!important;
        pointer-events:auto;
    }

    /* Ekran görüntüsü / kayıt algılandığında veya uygulama arka plana geçince gösterilir */
    .screen-protect{
        position:fixed;inset:0;z-index:99999;pointer-events:none;
        background:var(--bg);
        display:flex;flex-direction:column;align-items:center;justify-content:center;
        gap:14px;opacity:0;transition:opacity .15s;
    }
    .screen-protect.active{opacity:1;pointer-events:all}
    .screen-protect .sp-icon{font-size:52px}
    .screen-protect .sp-text{
        font-size:15px;color:var(--text2);font-weight:500;text-align:center;
        max-width:240px;line-height:1.5;
    }
    .screen-protect .sp-sub{font-size:12px;color:var(--text3);text-align:center}

    /* Uygulama arka planda — bulanık kapak */
    .bg-shield{
        position:fixed;inset:0;z-index:99998;pointer-events:none;
        backdrop-filter:blur(40px) brightness(0.3);
        -webkit-backdrop-filter:blur(40px) brightness(0.3);
        background:rgba(11,20,26,.92);
        opacity:0;transition:opacity .2s;
        display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
    }
    .bg-shield.active{opacity:1;pointer-events:all}
    .bg-shield .bs-icon{font-size:44px;opacity:.6}
    .bg-shield .bs-text{font-size:14px;color:var(--text3)}

    .app{
        max-width:500px;margin:0 auto;height:100vh;height:100dvh;
        display:flex;flex-direction:column;background:var(--bg);
        position:relative;overflow:hidden;
        box-shadow:0 0 80px rgba(0,0,0,.5);
    }

    /* ===== SCREENS ===== */
    .screen{
        position:absolute;inset:0;display:flex;flex-direction:column;
        transition:opacity .2s ease,visibility .2s;
        background:var(--bg);will-change:transform;
    }
    .screen.hidden{transform:none;pointer-events:none;opacity:0;visibility:hidden}
    .screen.left{transform:none;pointer-events:none;opacity:0;visibility:hidden}

    /* ===== AUTH ===== */
    .auth{
        justify-content:flex-start;align-items:center;padding:30px;
        padding-top:max(30px, env(safe-area-inset-top));
        background:var(--bg);overflow-y:auto;
    }
    .auth-logo-wrap{
        width:100px;height:100px;border-radius:28px;
        background:linear-gradient(135deg,var(--accent),var(--primary-light));
        display:flex;align-items:center;justify-content:center;
        margin-bottom:20px;margin-top:20px;box-shadow:0 8px 32px var(--accent-glow);
        flex-shrink:0;
    }
    .auth-logo-wrap span{font-size:48px}
    .auth-title{font-size:32px;font-weight:800;margin-bottom:4px;letter-spacing:-.5px}
    .auth-title span{color:var(--accent)}
    .auth-sub{color:var(--text2);margin-bottom:32px;font-size:14px}
    .auth-form{width:100%;max-width:340px}
    .field{margin-bottom:14px;position:relative}
    .field label{
        display:block;font-size:11px;color:var(--text3);margin-bottom:5px;
        font-weight:600;text-transform:uppercase;letter-spacing:.8px;
    }
    .field input{
        width:100%;padding:14px 16px 14px 44px;border:2px solid var(--border);
        border-radius:14px;background:var(--surface);color:var(--text);
        font-size:15px;font-family:inherit;outline:none;
        transition:border-color .2s,box-shadow .2s;
    }
    .field input:focus{
        border-color:var(--accent);
        box-shadow:0 0 0 3px rgba(37,211,102,.15);
    }
    .field .icon{
        position:absolute;left:14px;bottom:14px;font-size:18px;
        color:var(--text3);pointer-events:none;
    }
    .btn{
        width:100%;padding:15px;border:none;border-radius:14px;
        font-size:15px;font-weight:700;cursor:pointer;
        transition:all .2s;font-family:inherit;position:relative;overflow:hidden;
    }
    .btn:active{transform:scale(.98)}
    .btn-primary{
        background:linear-gradient(135deg,var(--accent),var(--accent-dark));
        color:#fff;box-shadow:0 4px 16px var(--accent-glow);
    }
    .btn-primary:hover{box-shadow:0 6px 24px var(--accent-glow)}
    .btn-ghost{background:transparent;color:var(--accent);margin-top:8px;font-weight:600}
    .btn-cancel{background:var(--surface2);color:var(--text)}
    .auth-error{
        background:rgba(234,67,53,.12);color:var(--danger);border:1px solid rgba(234,67,53,.2);
        padding:10px 14px;border-radius:12px;margin-bottom:14px;font-size:13px;
        display:none;text-align:center;
    }
    .auth-badge{
        display:flex;align-items:center;gap:6px;justify-content:center;
        margin-top:20px;padding:8px 16px;background:var(--surface);
        border-radius:20px;font-size:12px;color:var(--text2);
    }

    /* ===== HEADER ===== */
    .hdr{
        background:var(--primary);padding:10px 6px 10px 4px;padding-top:calc(10px + var(--safe-top));
        display:flex;align-items:center;gap:4px;position:relative;z-index:10;
    }
    .hdr h1{font-size:20px;font-weight:700;flex:1;letter-spacing:-.3px;padding-left:4px}
    .hdr-btn{
        background:none;border:none;color:rgba(255,255,255,.95);
        cursor:pointer;width:44px;height:44px;display:flex;
        align-items:center;justify-content:center;border-radius:50%;
        transition:background .15s;flex-shrink:0;
    }
    .hdr-btn svg{width:26px;height:26px}
    .hdr-btn:hover{background:rgba(255,255,255,.12)}

    /* ===== CONTACTS ===== */
    .tabs{
        display:flex;background:var(--primary-dark);
    }
    .tab{
        flex:1;padding:12px;text-align:center;font-size:13px;font-weight:600;
        color:rgba(255,255,255,.6);cursor:pointer;position:relative;
        transition:color .2s;text-transform:uppercase;letter-spacing:.5px;
    }
    .tab.active{color:#fff}
    .tab.active::after{
        content:'';position:absolute;bottom:0;left:20%;right:20%;
        height:3px;background:var(--accent);border-radius:3px 3px 0 0;
        box-shadow:0 0 8px var(--accent-glow);
    }
    .contact-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
    .c-item{
        display:flex;align-items:center;padding:14px 18px;gap:14px;
        cursor:pointer;transition:background .12s;position:relative;
    }
    .c-item:active{background:var(--surface2)}
    .c-item::after{
        content:'';position:absolute;bottom:0;left:80px;right:18px;
        height:1px;background:var(--border);
    }
    .avatar{
        width:52px;height:52px;border-radius:50%;display:flex;
        align-items:center;justify-content:center;font-size:20px;
        font-weight:700;color:#fff;position:relative;flex-shrink:0;
        box-shadow:0 2px 8px rgba(0,0,0,.2);
    }
    .avatar-sm{width:38px;height:38px;font-size:15px;box-shadow:none}
    .online-dot{
        width:13px;height:13px;background:var(--accent);border-radius:50%;
        position:absolute;bottom:0;right:0;border:2.5px solid var(--bg);
    }
    .c-info{flex:1;min-width:0}
    .c-name{font-weight:600;font-size:16.5px;margin-bottom:2px}
    .c-preview{
        font-size:13.5px;color:var(--text2);white-space:nowrap;
        overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;
    }
    .c-meta{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
    .c-time{font-size:11.5px;color:var(--text3)}
    .c-time.unread-time{color:var(--accent)}
    .badge{
        background:var(--accent);color:#fff;font-size:11px;font-weight:700;
        min-width:22px;height:22px;border-radius:11px;display:flex;
        align-items:center;justify-content:center;padding:0 6px;
    }
    .empty{
        display:flex;flex-direction:column;align-items:center;
        justify-content:center;flex:1;color:var(--text2);
        padding:40px;text-align:center;
    }
    .empty .big{font-size:72px;margin-bottom:16px;filter:grayscale(.2)}
    .empty h3{margin-bottom:6px;color:var(--text);font-size:18px}
    .empty p{font-size:14px;line-height:1.5}

    /* ===== FAB ===== */
    .fab{
        position:absolute;bottom:20px;right:16px;
        width:56px;height:56px;border-radius:50%;
        background:var(--accent);
        border:none;color:#fff;cursor:pointer;
        box-shadow:0 4px 12px var(--accent-glow);
        display:flex;align-items:center;justify-content:center;
        transition:all .2s;z-index:5;
    }
    .fab svg{width:28px;height:28px}
    .fab:active{transform:scale(.92);box-shadow:0 2px 6px rgba(0,0,0,.3)}

    /* ===== SEARCH ===== */
    .search-box{padding:10px 16px;background:var(--bg2)}
    .search-wrap{
        display:flex;align-items:center;background:var(--surface);
        border-radius:12px;padding:0 14px;
    }
    .search-wrap .si{color:var(--text3);margin-right:10px;font-size:16px}
    .search-inp{
        flex:1;background:none;border:none;color:var(--text);
        font-size:15px;padding:12px 0;outline:none;font-family:inherit;
    }
    .search-results{flex:1;overflow-y:auto}

    /* ===== CHAT HEADER ===== */
    .chat-hdr{
        background:var(--primary);padding:6px 4px 6px 2px;padding-top:calc(6px + var(--safe-top));
        display:flex;align-items:center;gap:4px;
        position:sticky;top:0;z-index:460;
        flex-shrink:0;
    }
    .chat-hdr-info{flex:1;cursor:pointer;padding:4px 0}
    .chat-hdr-name{font-weight:700;font-size:16px;line-height:1.2;display:flex;align-items:center;gap:4px}
    .chat-hdr-status{font-size:12px;color:rgba(255,255,255,.65);margin-top:1px}
    .chat-hdr-status.online-status{color:var(--accent)}
    .chat-hdr-normal{display:flex;align-items:center;gap:4px;flex:1;width:100%}
    .chat-hdr-sel{display:flex;align-items:center;gap:4px;flex:1;width:100%}
    .chat-hdr-sel.hidden{display:none}
    .chat-hdr-search{display:flex;align-items:center;gap:4px;flex:1;width:100%}
    .chat-hdr-search.hidden{display:none}
    .msg-search-inp{
        flex:1;background:rgba(255,255,255,.12);border:none;border-radius:20px;
        color:#fff;font-size:15px;font-family:inherit;
        padding:7px 14px;outline:none;
    }
    .msg-search-inp::placeholder{color:rgba(255,255,255,.5)}
    .msg-search-count{font-size:13px;color:rgba(255,255,255,.7);white-space:nowrap;min-width:36px;text-align:center}
    .msg-highlight .msg-text{background:rgba(255,214,0,.25);border-radius:4px;}
    .msg-highlight-active .msg-text{background:rgba(255,214,0,.55);border-radius:4px;}
    .chat-hdr-normal.hidden{display:none}
    .sel-count{flex:1;font-size:16px;font-weight:600;color:#fff;padding-left:4px}
    .sel-action-btn{opacity:.9}
    .msg-selected{background:rgba(255,255,255,.08)!important;border-radius:8px}
    .del-popup-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
    .del-popup{background:var(--surface);border-radius:16px;padding:24px;min-width:260px;max-width:320px;box-shadow:0 8px 32px rgba(0,0,0,.5);border:1px solid var(--border);animation:waCtxIn .2s cubic-bezier(.34,1.56,.64,1)}
    .del-popup-title{font-size:16px;font-weight:600;margin-bottom:20px;color:var(--text)}
    .del-popup-btn{width:100%;padding:14px;text-align:center;font-size:15px;cursor:pointer;border-radius:10px;transition:background .15s;color:var(--danger);font-weight:500}
    .del-popup-btn:hover{background:var(--surface2)}
    .del-popup-btn.cancel{color:var(--text2);margin-top:4px}
    .del-popup-sep{height:1px;background:var(--border);margin:4px 0}
    
    /* ===== EMOJI PICKER ===== */
    .ep-overlay{position:fixed;inset:0;z-index:500}
    .ep-picker{
        position:fixed;z-index:501;
        background:var(--surface);
        border-radius:16px;
        box-shadow:0 8px 32px rgba(0,0,0,.55);
        border:1px solid var(--border);
        width:min(320px,92vw);
        display:flex;flex-direction:column;
        overflow:hidden;
        animation:waCtxIn .15s ease-out;
    }
    .ep-search{
        padding:8px 10px;
        border-bottom:1px solid var(--border);
        flex-shrink:0;
    }
    .ep-search input{
        width:100%;background:var(--surface2);
        border:none;border-radius:8px;
        padding:7px 10px;font-size:14px;
        color:var(--text);outline:none;
    }
    .ep-cats{
        display:flex;align-items:center;
        border-bottom:1px solid var(--border);
        overflow-x:auto;flex-shrink:0;
        scrollbar-width:none;
    }
    .ep-cats::-webkit-scrollbar{display:none}
    .ep-cat-btn{
        flex-shrink:0;padding:6px 10px;
        font-size:18px;cursor:pointer;
        border-bottom:2px solid transparent;
        transition:border-color .15s;
        line-height:1;
    }
    .ep-cat-btn.active{border-bottom-color:var(--accent)}
    .ep-grid{
        display:flex;flex-wrap:wrap;
        padding:6px;gap:0;
        overflow-y:auto;
        max-height:240px;
        scrollbar-width:thin;
    }
    .ep-emoji{
        width:40px;height:40px;
        display:flex;align-items:center;justify-content:center;
        cursor:pointer;border-radius:8px;
        transition:background .1s;
        font-size:24px;line-height:1;
    }
    .ep-emoji:hover{background:var(--surface2)}
    .ep-emoji img{width:28px;height:28px;pointer-events:none}

    /* ===== ENCRYPTION BANNER ===== */
    .enc-bar{
        text-align:center;padding:8px 20px;font-size:11.5px;
        color:var(--text3);background:rgba(255,255,255,.02);
        display:flex;align-items:center;justify-content:center;gap:6px;
        border-bottom:1px solid var(--border);
    }
    .enc-bar .lock{
        background:var(--warning);color:#000;font-size:9px;padding:2px 6px;
        border-radius:4px;font-weight:700;letter-spacing:.3px;
    }

    /* ===== CHAT MESSAGES ===== */
    .chat-body{
        flex:1;overflow-y:auto;padding:6px 10px;display:flex;
        flex-direction:column;gap:2px;
        background:var(--bg);
        content-visibility:auto;
        transition:filter .2s ease;
        background-image:
            radial-gradient(circle at 20% 50%, rgba(37,211,102,.015) 0%, transparent 50%),
            radial-gradient(circle at 80% 20%, rgba(7,94,84,.02) 0%, transparent 50%),
            url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='.008'%3E%3Cpath d='M40 10L50 30H30zM10 50L20 70H0zM60 50L70 70H50z'/%3E%3C/g%3E%3C/svg%3E");
    }

    /* ===== MESSAGE BUBBLES - WHATSAPP STYLE ===== */
    .msg{
        max-width:82%;padding:7px 9px 6px;border-radius:10px;
        position:relative;word-wrap:break-word;overflow-wrap:break-word;
        animation:msgPop .25s cubic-bezier(.175,.885,.32,1.1);
        margin:1px 0;
    }
    @keyframes msgPop{
        from{opacity:0;transform:scale(.9) translateY(8px)}
        to{opacity:1;transform:scale(1) translateY(0)}
    }

    /* Giden mesaj */
    .msg-out{
        align-self:flex-end;
        background:linear-gradient(135deg,var(--out),var(--out2));
        border-radius:10px 10px 3px 10px;
        margin-right:2px;
    }
    /* Kuyruk - giden */
    .msg-out.tail::after{
        content:'';position:absolute;right:-6px;top:0;
        border-width:0 0 10px 8px;border-style:solid;
        border-color:transparent transparent transparent var(--out);
    }

    /* Gelen mesaj */
    .msg-in{
        align-self:flex-start;
        background:var(--in);
        border-radius:10px 10px 10px 3px;
        margin-left:2px;
    }
    /* Kuyruk - gelen */
    .msg-in.tail::after{
        content:'';position:absolute;left:-6px;top:0;
        border-width:0 8px 10px 0;border-style:solid;
        border-color:transparent var(--in) transparent transparent;
    }

    .msg-text{
    font-size:var(--msg-font-size,15px);line-height:1.5;
    min-height:20px;
    display:inline;}
    .msg-text img.emoji{
    width:1.2em;height:1.2em;
    vertical-align:-0.2em;
    display:inline;
    margin:0 1px;}
    
    .file-thumb-wrap{
    width:100%;max-width:280px;height:180px;border-radius:10px;
    overflow:hidden;cursor:pointer;margin-bottom:4px;
    background:var(--surface3);display:flex;align-items:center;justify-content:center;
    position:relative;transition:opacity .15s;
    background-size:cover;background-position:center;}
    .file-thumb-wrap:hover{opacity:.88}
    .file-thumb-wrap:active{opacity:.75}
    .file-thumb-placeholder{
    font-size:40px;opacity:.4;
    display:flex;align-items:center;justify-content:center;
    width:100%;height:100%;
    position:absolute;inset:0;}
    .file-bubble{display:flex;align-items:center;gap:10px;padding:2px 0;min-width:180px;max-width:280px}
    .file-icon{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
    .file-info{flex:1;min-width:0}
    .file-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .file-size{font-size:11px;opacity:.7;margin-top:2px}
    .file-dl{background:rgba(255,255,255,0.2);border:none;border-radius:20px;padding:4px 12px;font-size:12px;color:inherit;cursor:pointer;margin-top:6px;width:100%}
    .file-dl:hover{background:rgba(255,255,255,0.35)}
    
    .msg-text.encrypted{
        font-style:italic;opacity:.7;
    }
    .msg-footer{
    float:right;display:inline-flex;align-items:center;gap:3px;
    margin:0 0 -6px 10px;position:relative;
    padding-left:4px;
    height:18px;}
    
    .msg-edited {font-size: 11px;color: var(--text3);margin-right: 4px;font-style: italic;}
    .msg-time{font-size:10.5px;color:rgba(255,255,255,.5);white-space:nowrap;line-height:1;}

    .msg-tick{
    font-size:13px;
    color:rgba(255,255,255,.45);
    margin-left:1px;
    line-height:1;}

    .msg-tick.seen{color:#53BDEB}

    .msg-star-icon{
        position:absolute;
        bottom:2px;
        left:5px;
        width:8px;height:8px;
        opacity:.85;pointer-events:none;
        user-select:none;
        display:flex;align-items:center;justify-content:center;
    }

    /* Tarih ayırıcı */
    .date-sep{
        text-align:center;margin:8px 0;
    }
    .date-sep span{
        display:inline-block;
        background:var(--surface2);padding:5px 16px;border-radius:8px;
        font-size:12px;color:var(--text2);font-weight:500;
        box-shadow:0 1px 4px rgba(0,0,0,.15);
    }

    /* Silme uyarısı */
    .delete-notice{
        text-align:center;margin:6px 0;
        animation:noticeFade 1s ease 4s forwards;
    }
    @keyframes noticeFade{
        from{opacity:1}
        to{opacity:0;visibility:hidden;height:0;margin:0;}
    }
    .delete-notice span{
        display:inline-flex;align-items:center;gap:4px;
        background:rgba(251,188,4,.08);padding:4px 12px;border-radius:6px;
        font-size:11px;color:var(--warning);
    }

    /* Yazıyor */
    .typing-wrap{
        align-self:flex-start;background:var(--in);
        padding:12px 18px;border-radius:10px 10px 10px 3px;
        display:none;margin-left:2px;
    }
    .typing-wrap.show{display:flex}
    .t-dots{display:flex;gap:4px;align-items:center}
    .t-dots span{
        width:8px;height:8px;background:var(--text2);border-radius:50%;
        animation:bounce 1.4s infinite;
    }
    .t-dots span:nth-child(2){animation-delay:.15s}
    .t-dots span:nth-child(3){animation-delay:.3s}
    @keyframes bounce{
        0%,60%,100%{transform:translateY(0);opacity:.3}
        30%{transform:translateY(-8px);opacity:1}
    }

    /* ===== INPUT AREA ===== */
    .input-area{
        padding:4px 6px;padding-bottom:calc(4px + var(--safe-bottom));
        display:flex;align-items:flex-end;gap:4px;background:var(--bg2);
        box-sizing:border-box;width:100%;
    }
    .input-wrap{
        flex:1;min-width:0;background:var(--surface);border-radius:24px;
        display:flex;align-items:flex-end;padding:4px 4px 4px 8px;
        min-height:46px;transition:box-shadow .2s;overflow:hidden;
    }
    .input-wrap:focus-within{
        box-shadow:0 0 0 2px var(--accent-glow);
    }
    .msg-inp{
        flex:1;background:none;border:none;color:var(--text);
        font-size:var(--inp-font-size,15px);font-family:inherit;resize:none;
        max-height:120px;min-height:30px;line-height:28px;
        padding:7px 4px;outline:none;
    }
    .emoji-btn{
        background:none;border:none;cursor:pointer;
        padding:8px;color:var(--text3);
        display:flex;align-items:center;justify-content:center;
        flex-shrink:0;
    }
    .emoji-btn svg{width:28px;height:28px;fill:currentColor}
    .attach-btn{
        background:none;border:none;cursor:pointer;
        padding:8px;color:var(--text3);
        display:flex;align-items:center;justify-content:center;
        flex-shrink:0;
    }
    .attach-btn svg{width:24px;height:24px;fill:currentColor}
    .attach-btn:hover{color:var(--text2)}
    .emoji-picker{
        position:absolute;bottom:64px;left:8px;right:8px;
        background:var(--surface);border-radius:16px;
        padding:8px 8px 8px;
        box-shadow:0 -4px 32px rgba(0,0,0,.4);
        border:1px solid var(--border);
        z-index:410;
        display:none;
        animation:ddIn .2s ease-out;
        flex-direction:column;
        max-height:320px;
    }
    .emoji-picker.show{display:flex}
    .emoji-search{
        margin-bottom:6px;flex-shrink:0;
    }
    .emoji-search input{
        width:100%;background:var(--surface2);
        border:none;border-radius:8px;
        padding:7px 10px;font-size:14px;
        color:var(--text);outline:none;
        box-sizing:border-box;
    }
    .emoji-cats{
        display:flex;gap:2px;margin-bottom:6px;
        border-bottom:1px solid var(--border);padding-bottom:6px;
        overflow-x:auto;flex-shrink:0;
        scrollbar-width:none;
    }
    .emoji-cats::-webkit-scrollbar{display:none}
    .emoji-cat{
        flex-shrink:0;text-align:center;font-size:20px;cursor:pointer;
        padding:4px 6px;border-radius:8px;transition:background .15s;
        border-bottom:2px solid transparent;
    }
    .emoji-cat.active{border-bottom-color:var(--accent);background:var(--surface2)}
    .emoji-cat:hover{background:var(--surface2)}
    .emoji-grid{
        display:grid;grid-template-columns:repeat(8,1fr);
        gap:2px;overflow-y:auto;flex:1;
        scrollbar-width:thin;
    }
    .emoji-grid .eg{
        width:100%;aspect-ratio:1;
        display:flex;align-items:center;justify-content:center;
        cursor:pointer;border-radius:8px;transition:background .1s;
        font-size:22px;
    }
    .emoji-grid .eg:hover{background:var(--surface2)}
    .emoji-grid .eg img{width:26px;height:26px;pointer-events:none}
    .send{
        width:50px;height:50px;border-radius:50%;
        background:var(--accent);
        border:none;color:#fff;cursor:pointer;
        display:flex;align-items:center;justify-content:center;
        transition:all .15s;flex-shrink:0;
        box-shadow:0 2px 8px var(--accent-glow);
    }
    .send svg{width:24px;height:24px}
    .send:active{transform:scale(.88)}

    /* ===== MODAL ===== */
    .overlay{
        position:fixed;inset:0;background:rgba(0,0,0,.75);
        display:flex;align-items:center;justify-content:center;
        z-index:100;padding:20px;backdrop-filter:blur(6px);
        opacity:0;pointer-events:none;transition:opacity .25s;
    }
    .overlay.show{opacity:1;pointer-events:all}
    .modal{
        background:var(--surface);border-radius:20px;padding:28px 24px;
        width:100%;max-width:340px;transform:scale(.9) translateY(20px);
        transition:transform .3s cubic-bezier(.175,.885,.32,1.1);
        box-shadow:0 24px 48px rgba(0,0,0,.4);
    }
    .overlay.show .modal{transform:scale(1) translateY(0)}
    .modal h3{margin-bottom:6px;font-size:18px;font-weight:700}
    .modal p{font-size:13px;color:var(--text2);margin-bottom:20px;line-height:1.6}
    .modal .field{margin-bottom:18px}
    .modal-btns{display:flex;gap:10px}
    .modal-btns .btn{flex:1}

    /* ===== DROPDOWN ===== */
    .dd{
        position:absolute;top:calc(100% - 4px);right:8px;
        background:var(--surface);border-radius:12px;padding:6px 0;
        min-width:200px;box-shadow:0 8px 32px rgba(0,0,0,.5);
        z-index:50;display:none;
    }
    .dd.show{display:block;animation:ddIn .15s ease-out}
    @keyframes ddIn{from{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1)}}
    @keyframes attachIn{from{opacity:0;transform:translateX(-50%) scale(.85) translateY(10px)}to{opacity:1;transform:translateX(-50%) scale(1) translateY(0)}}
    .dd-item{
        padding:13px 20px;font-size:14px;cursor:pointer;
        transition:background .1s;display:flex;align-items:center;gap:12px;
    }
    .dd-item:first-child{border-radius:12px 12px 0 0}
    .dd-item:last-child{border-radius:0 0 12px 12px}
    .dd-item:hover{background:var(--surface3)}
    .dd-item.danger{color:var(--danger)}

    /* ===== TOAST ===== */
    .toast{
        position:fixed;top:80px;left:50%;
        transform:translateX(-50%) translateY(-80px);
        background:var(--surface);color:var(--text);padding:12px 18px;
        border-radius:12px;font-size:13px;z-index:9999;
        box-shadow:0 8px 24px rgba(0,0,0,.5);
        transition:transform .3s cubic-bezier(.175,.885,.32,1.1),opacity .3s;
        white-space:normal;font-weight:500;
        border:1px solid var(--border);
        opacity:0;
        max-width:min(420px, 90vw);
        width:max-content;
        text-align:center;
        word-break:break-word;
        display:flex;align-items:center;
    }
    .toast.show{transform:translateX(-50%) translateY(0);opacity:1}

    /* ===== MESAJ CONTEXT MENÜ (WhatsApp tarzı) ===== */
    .wa-ctx-overlay{
        position:fixed;left:0;right:0;bottom:0;z-index:400;
        background:rgba(0,0,0,.45);
        backdrop-filter:blur(4px);
        -webkit-backdrop-filter:blur(4px);
        animation:fadeIn .18s ease-out;
    }
    @keyframes fadeIn{from{opacity:0}to{opacity:1}}

    .wa-ctx-wrap{
        position:fixed;z-index:401;
        display:flex;flex-direction:column;gap:8px;
        animation:waCtxIn .2s cubic-bezier(.34,1.56,.64,1);
        transform-origin:bottom center;
    }
    @keyframes waCtxIn{
        from{opacity:0;transform:scale(.85)}
        to{opacity:1;transform:scale(1)}
    }

    /* Üst aksiyon butonları */
    .wa-ctx-actions{
        display:flex;gap:10px;
        background:var(--surface);
        border-radius:20px;
        padding:8px 12px;
        box-shadow:0 4px 20px rgba(0,0,0,.5);
        border:1px solid var(--border);
    }
    .wa-ctx-btn{
        display:flex;flex-direction:column;align-items:center;gap:4px;
        cursor:pointer;
        padding:6px 10px;
        border-radius:12px;
        transition:background .15s;
        color:var(--text2);
        font-size:11px;
        min-width:52px;
    }
    .wa-ctx-btn:hover{background:var(--surface2)}
    .wa-ctx-btn svg{opacity:.85}
    .wa-ctx-btn.danger{color:var(--danger)}
    .wa-ctx-btn.danger svg{opacity:1}

    /* Alt emoji bar */
    .wa-ctx-emoji-bar{
        display:inline-flex;align-items:center;gap:2px;
        background:var(--surface);
        border-radius:32px;
        padding:6px 10px;
        box-shadow:0 4px 20px rgba(0,0,0,.5);
        border:1px solid var(--border);
        white-space:nowrap;
    }
    .wa-ctx-emoji{
        width:42px;height:42px;
        font-size:26px;
        cursor:pointer;
        border-radius:50%;
        transition:transform .15s, background .1s;
        line-height:1;
        display:flex;align-items:center;justify-content:center;
        flex-shrink:0;
    }
    .wa-ctx-emoji:hover{transform:scale(1.2);background:var(--surface2)}
    .wa-ctx-emoji.reacted{
        background:rgba(0,0,0,.5);
        border-radius:50%;
        transform:scale(1.05);
        outline:2px solid rgba(255,255,255,.4);
    }
    .wa-ctx-more-btn{
        width:34px;height:34px;border-radius:50%;
        background:var(--surface2);border:1px solid var(--border);
        display:flex;align-items:center;justify-content:center;
        cursor:pointer;transition:background .15s;flex-shrink:0;
    }
    .wa-ctx-more-btn:hover{background:var(--surface3,var(--border))}

    /* Eski stiller (sohbet ctx için hala lazım) */
    .msg-ctx{
        position:fixed;z-index:402;
        background:var(--surface);border-radius:14px;
        padding:6px 0;min-width:200px;
        box-shadow:0 8px 32px rgba(0,0,0,.55);
        animation:ddIn .15s ease-out;
        border:1px solid var(--border);
    }
    .msg-ctx-item{
        padding:13px 18px;font-size:14px;cursor:pointer;
        display:flex;align-items:center;gap:12px;
        transition:background .1s;color:var(--text);
    }
    .msg-ctx-item:hover{background:var(--surface2)}
    .msg-ctx-item svg{flex-shrink:0;opacity:.8}
    .msg-ctx-item.danger{color:var(--danger)}
    .msg-ctx-overlay{position:fixed;inset:0;z-index:299}

    /* ===== PROFİL EKRANI ===== */
    .profile-scroll{flex:1;overflow-y:auto;padding:24px 20px}
    .profile-photo-wrap{
        display:flex;flex-direction:column;align-items:center;
        margin-bottom:28px;
    }
    .profile-photo-ring{
        width:96px;height:96px;border-radius:50%;
        background:var(--surface2);position:relative;
        cursor:pointer;overflow:hidden;
        border:3px solid var(--accent);
        box-shadow:0 4px 16px rgba(37,211,102,.25);
    }
    .profile-photo-ring img{width:100%;height:100%;object-fit:cover;display:block}
    .profile-photo-ring .pp-placeholder{
        width:100%;height:100%;display:flex;align-items:center;justify-content:center;
        font-size:36px;font-weight:700;color:#fff;
    }
    .profile-photo-ring .pp-overlay{
        position:absolute;inset:0;background:rgba(0,0,0,.45);
        display:flex;flex-direction:column;align-items:center;justify-content:center;
        gap:2px;opacity:0;transition:opacity .2s;
    }
    .profile-photo-ring:hover .pp-overlay,
    .profile-photo-ring:active .pp-overlay{opacity:1}
    .pp-overlay svg{stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .pp-overlay span{font-size:11px;color:#fff;font-weight:600}
    .profile-edit-lbl{
        margin-top:10px;font-size:13px;color:var(--accent);
        font-weight:600;cursor:pointer;
    }
    .profile-section{margin-bottom:20px}
    .profile-section-title{
        font-size:11px;color:var(--accent);font-weight:700;
        text-transform:uppercase;letter-spacing:.8px;
        margin-bottom:8px;display:flex;align-items:center;gap:6px;
    }
    .profile-field{
        background:var(--surface);border-radius:14px;
        padding:14px 16px;
    }
    .profile-field input,
    .profile-field textarea{
        width:100%;background:none;border:none;color:var(--text);
        font-size:15px;font-family:inherit;outline:none;resize:none;
    }
    .profile-field textarea{min-height:60px;line-height:1.5}
    .profile-username-box{
        background:var(--surface);border-radius:14px;
        padding:14px 16px;display:flex;align-items:center;gap:10px;
    }
    .profile-username-box svg{stroke:var(--text3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
    .profile-username-box span{color:var(--text2);font-size:15px}
    .profile-save-btn{
        width:100%;padding:14px;border:none;border-radius:14px;
        background:linear-gradient(135deg,var(--accent),var(--accent-dark));
        color:#fff;font-size:15px;font-weight:700;cursor:pointer;
        font-family:inherit;margin-top:8px;
        box-shadow:0 4px 16px var(--accent-glow);
    }

    /* Avatar fotoğraf desteği */
    .avatar img,.avatar-sm img{
        width:100%;height:100%;object-fit:cover;
        border-radius:50%;display:block;
    }

    /* Scrollbar */
    ::-webkit-scrollbar{width:3px}
    ::-webkit-scrollbar-track{background:transparent}
    ::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:3px}

    @media(min-width:501px){
        .app{border-left:1px solid var(--border);border-right:1px solid var(--border)}
    }

    /* ===== TEMA SWATCHES ===== */
    .theme-swatch{
        width:48px;height:48px;border-radius:50%;cursor:pointer;
        display:flex;align-items:center;justify-content:center;
        transition:transform .15s,box-shadow .15s;
        box-shadow:0 2px 8px rgba(0,0,0,.3);
        position:relative;
    }
    .theme-swatch:active{transform:scale(.9)}
    .theme-swatch.active::after{
        content:'✓';position:absolute;
        color:#fff;font-size:20px;font-weight:700;
        text-shadow:0 1px 3px rgba(0,0,0,.5);
    }
    .bg-swatch{border-radius:12px;border:2px solid var(--border) !important}
    .bg-swatch.active{border-color:var(--accent) !important}

    /* ===== YEDEKLEME ===== */
    .backup-section{margin-bottom:20px}
    .backup-section-title{
        font-size:11px;color:var(--text3);font-weight:700;
        text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;
    }
    .backup-options{display:flex;flex-direction:column;gap:8px}
    .backup-btn{
        display:flex;align-items:center;gap:14px;
        background:var(--surface2);border:1px solid var(--border);
        border-radius:14px;padding:14px 16px;cursor:pointer;
        color:var(--text);font-family:inherit;text-align:left;
        transition:background .15s;width:100%;
    }
    .backup-btn:hover{background:var(--surface3)}
    .backup-btn:active{transform:scale(.98)}
    .backup-btn svg{flex-shrink:0;color:var(--accent)}
    .backup-btn-title{font-size:14px;font-weight:600;margin-bottom:2px}
    .backup-btn-sub{font-size:12px;color:var(--text3)}

    /* ===== RESTORE BANNER ===== */
    .restore-banner{
        display:flex;flex-direction:column;align-items:center;
        background:var(--surface2);border:1px solid var(--accent);
        border-radius:14px;padding:14px 16px;margin:8px 4px 12px;
        position:relative;
    }
    .restore-banner-title{
        font-size:13px;font-weight:700;color:var(--accent);margin-bottom:4px;
    }
    .restore-banner-sub{font-size:12px;color:var(--text3);text-align:center}
    .restore-close-btn{
        margin-top:10px;background:var(--surface3);border:none;
        color:var(--text2);font-size:12px;font-family:inherit;
        padding:6px 16px;border-radius:20px;cursor:pointer;
    }
    .restore-close-btn:hover{background:var(--danger);color:#fff}

    /* ===== KİŞİ PROFİL MODAL ===== */
    .contact-profile-modal{
        background:var(--surface);border-radius:20px;
        width:100%;max-width:320px;
        display:flex;flex-direction:column;align-items:center;
        padding:40px 24px 32px;position:relative;
        box-shadow:0 24px 48px rgba(0,0,0,.5);
        animation:modalPop .3s cubic-bezier(.175,.885,.32,1.1);
    }
    @keyframes modalPop{
        from{opacity:0;transform:scale(.85) translateY(20px)}
        to{opacity:1;transform:scale(1) translateY(0)}
    }
    .contact-profile-close{
        position:absolute;top:12px;right:12px;
        background:var(--surface2);border:none;border-radius:50%;
        width:32px;height:32px;display:flex;align-items:center;justify-content:center;
        cursor:pointer;color:var(--text2);transition:background .15s;
    }
    .contact-profile-close:hover{background:var(--surface3)}
    .contact-profile-photo{
        width:100px;height:100px;border-radius:50%;
        background:var(--surface2);margin-bottom:16px;
        display:flex;align-items:center;justify-content:center;
        font-size:40px;font-weight:700;color:#fff;
        border:3px solid var(--accent);
        box-shadow:0 4px 20px rgba(0,0,0,.3);
        overflow:hidden;flex-shrink:0;
    }
    .contact-profile-photo img{width:100%;height:100%;object-fit:cover;display:block}
    .contact-profile-name{
        font-size:20px;font-weight:700;margin-bottom:4px;text-align:center;
    }
    .contact-profile-username{
        font-size:13px;color:var(--accent);margin-bottom:10px;
    }
    .contact-profile-bio{
        font-size:13px;color:var(--text2);text-align:center;
        line-height:1.5;max-width:260px;
        min-height:0;
    }

    /* ===== OFFLINE BANNER ===== */
    .offline-banner{
        position:fixed;top:calc(60px + var(--safe-top));left:50%;
        transform:translateX(-50%) translateY(-80px);
        max-width:320px;width:auto;z-index:9999;
        display:none;align-items:center;justify-content:center;gap:8px;
        padding:10px 20px;border-radius:24px;
        font-size:13px;font-weight:500;
        transition:transform .35s cubic-bezier(.175,.885,.32,1.1),opacity .35s;
        pointer-events:none;backdrop-filter:blur(12px);
        box-shadow:0 4px 16px rgba(0,0,0,.3);
    }
    .offline-banner.hidden{transform:translateX(-50%) translateY(-80px);opacity:0}
    .offline-banner.offline{
        background:rgba(30,20,20,.92);
        border-top:1px solid rgba(239,83,80,.3);
        color:#EF9A9A;
    }
    .offline-banner.online{
        background:rgba(20,30,20,.92);
        border-top:1px solid rgba(102,187,106,.3);
        color:#A5D6A7;
    }
    .offline-banner svg{flex-shrink:0;opacity:.8}

    /* Mesaj kuyruğu göstergesi */
    .queue-badge{
        position:fixed;bottom:80px;left:50%;transform:translateX(-50%);
        background:var(--surface2);border:1px solid var(--warning);
        color:var(--warning);font-size:12px;font-weight:600;
        padding:6px 16px;border-radius:20px;z-index:500;
        display:none;align-items:center;gap:6px;
    }
    .queue-badge.show{display:flex}

    /* Chrome otomatik doldurma beyaz arka planı kaldır */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus {
        -webkit-box-shadow: 0 0 0 1000px var(--surface) inset !important;
        -webkit-text-fill-color: var(--text) !important;
        caret-color: var(--text);
        border-color: var(--border) !important;
    }

    /* ===== SESLİ MESAJI ===== */
    .voice-bubble{display:flex;align-items:center;gap:8px;min-width:180px;max-width:280px;padding:4px 0}
    .vb-play{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit;align-self:center}
    .vb-play:hover{background:rgba(255,255,255,.3)}
    .vb-bar{flex:1;min-width:0;display:flex;flex-direction:row;align-items:center;gap:6px}
    .vb-progress{flex:1;height:3px;background:rgba(255,255,255,.2);border-radius:2px;cursor:pointer}
    .vb-fill{height:100%;background:currentColor;border-radius:2px;transition:width .1s}
    .vb-time{font-size:11px;opacity:.7;white-space:nowrap;flex-shrink:0}
    .vb-speed{background:none;border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:2px 7px;font-size:11px;font-weight:700;color:rgba(255,255,255,.6);cursor:pointer;font-family:inherit;flex-shrink:0;min-width:28px;transition:color .15s,border-color .15s;}
    @keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
    
/* ── Inline Video Player ── */
.vid-inline-wrap {
    width: 100%; max-width: 280px;
    border-radius: 10px; overflow: hidden;
    background: #000; margin-bottom: 4px;
}
.vid-thumb {
    position: relative; width: 100%; aspect-ratio: 16/9;
    background: linear-gradient(135deg,#1a1a2e,#16213e);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}
.vid-thumb:hover .vid-play-btn { transform: scale(1.1); }
.vid-play-btn {
    width: 54px; height: 54px; border-radius: 50%;
    background: rgba(0,0,0,.55); backdrop-filter: blur(6px);
    display: flex; align-items: center; justify-content: center;
    transition: transform .18s;
    box-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.vid-thumb-dur {
    position: absolute; bottom: 7px; right: 9px;
    background: rgba(0,0,0,.65); color: #fff;
    font-size: 11px; font-weight: 600;
    padding: 2px 6px; border-radius: 4px;
}
.vid-player-wrap { position: relative; width: 100%; }
.vid-inline-video {
    width: 100%; max-height: 360px;
    display: block; object-fit: contain;
    background: #000;
}
.vid-inline-ctrl {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 10px;
    background: rgba(0,0,0,.75);
}
.vic-btn {
    background: none; border: none; cursor: pointer;
    padding: 2px; display: flex; align-items: center; flex-shrink: 0;
}
.vic-seek {
    flex: 1; height: 3px; accent-color: #25D366; cursor: pointer;
}
.vic-time {
    font-size: 11px; color: rgba(255,255,255,.8);
    min-width: 36px; text-align: right; flex-shrink: 0;
}

/* ── PDF Thumbnail ── */
.pdf-thumb-wrap {
    position: relative;
    width: 100%; max-width: 280px;
    min-height: 160px;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
    margin-bottom: 4px;
}
.pdf-thumb-canvas {
    width: 100%; display: block;
    border-radius: 10px 10px 0 0;
}
.pdf-thumb-overlay {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #fff5f5, #ffe0e0);
}
.pdf-thumb-overlay span {
    font-size: 13px; font-weight: 700;
    color: #EA4335; letter-spacing: 1px;
}
.pdf-thumb-pages {
    position: absolute; bottom: 6px; right: 8px;
    background: rgba(0,0,0,.55);
    color: #fff; font-size: 10px;
    padding: 2px 6px; border-radius: 4px;
}
.pdf-thumb-wrap:hover { opacity: .92; }

/* ── Tepki Emojisi Animasyon ── */
@keyframes epSlideUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}