/* ==========================================================
   DROPBG — PREMIUM BLACK & GREY / iOS LIQUID GLASS UI
   ========================================================== */
:root{
    --bg-primary:#07070a;
    --bg-secondary:#101014;
    --bg-card:rgba(255,255,255,.045);
    --bg-glass:rgba(255,255,255,.055);
    --border-glass:rgba(255,255,255,.10);
    --border-glass-strong:rgba(255,255,255,.22);
    --text-primary:#f2f2f4;
    --text-secondary:#9a9aa2;
    --accent-1:#c9c9d2;
    --accent-2:#6f6f78;
    --accent-gradient:linear-gradient(135deg,#e4e4ea,#8a8a92);
    --shadow-glow:0 8px 32px rgba(0,0,0,.55);
    --lg-sheen:rgba(255,255,255,.18);
    --lg-edge:rgba(255,255,255,.35);
    --radius-lg:26px;
    --radius-md:18px;
    --transition:all .4s cubic-bezier(.25,.46,.45,.94)
}
[data-theme=light]{
    --bg-primary:#eef0f2;
    --bg-secondary:#ffffff;
    --bg-card:rgba(0,0,0,.03);
    --bg-glass:rgba(255,255,255,.55);
    --border-glass:rgba(0,0,0,.08);
    --border-glass-strong:rgba(0,0,0,.16);
    --text-primary:#15151a;
    --text-secondary:#5a5a63;
    --accent-1:#3a3a40;
    --accent-2:#8d8d95;
    --accent-gradient:linear-gradient(135deg,#3a3a40,#6c6c74);
    --shadow-glow:0 8px 32px rgba(0,0,0,.12);
    --lg-sheen:rgba(255,255,255,.6);
    --lg-edge:rgba(255,255,255,.7)
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;overflow-x:hidden}
body{
    font-family:Inter,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;
    display:flex;flex-direction:column;align-items:center;
    padding:20px clamp(12px,4vw,20px);
    transition:var(--transition);
    background-image:
        radial-gradient(ellipse at 15% 20%,rgba(255,255,255,.05) 0%,transparent 55%),
        radial-gradient(ellipse at 85% 80%,rgba(255,255,255,.04) 0%,transparent 55%);
}
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--accent-2);border-radius:10px}

/* ---------- HEADER (liquid glass pill) ---------- */
.header{
    width:100%;max-width:1200px;display:flex;justify-content:space-between;align-items:center;
    padding:16px 28px;
    background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.01) 60%),var(--bg-glass);
    backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
    border:1px solid var(--border-glass);border-radius:60px;margin-bottom:30px;transition:var(--transition);
    box-shadow:inset 0 1px 0 var(--lg-sheen),0 8px 30px rgba(0,0,0,.35);
}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.3rem;letter-spacing:-.5px}
.logo i{font-size:1.6rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.logo span{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.logo-thin{font-weight:300;-webkit-text-fill-color:var(--text-secondary) !important;background:none !important}
.theme-toggle{
    background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-primary);
    width:44px;height:44px;border-radius:50%;font-size:1.1rem;cursor:pointer;transition:var(--transition);
    display:flex;align-items:center;justify-content:center;
    box-shadow:inset 0 1px 0 var(--lg-sheen);
}
.theme-toggle:hover{background:var(--accent-gradient);color:#0a0a0c;border-color:transparent;transform:translateY(-1px)}

/* ---------- MAIN LAYOUT ---------- */
.container{
    width:100%;max-width:1200px;display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:start;
}
.control-panel,.preview-panel{
    background:linear-gradient(165deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 60%),var(--bg-glass);
    backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
    border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:28px;transition:var(--transition);
    box-shadow:inset 0 1px 0 var(--lg-sheen),var(--shadow-glow);
    width:100%;min-width:0;
}
.panel-title{font-size:1.05rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.panel-title i{color:var(--accent-1)}

/* ---------- UPLOAD ZONE ---------- */
.upload-zone{
    border:2px dashed var(--border-glass-strong);border-radius:var(--radius-md);padding:40px 20px;text-align:center;
    cursor:pointer;transition:var(--transition);background:var(--bg-card);position:relative;
}
.upload-zone:hover,.upload-zone.dragover{
    border-color:var(--accent-1);background:rgba(255,255,255,.06);box-shadow:var(--shadow-glow);
}
.upload-zone i{font-size:3rem;color:var(--text-secondary);margin-bottom:12px}
.upload-zone h3{font-weight:600;margin-bottom:6px}
.upload-zone p{font-size:.85rem;color:var(--text-secondary)}
.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* ---------- BACKGROUND OPTIONS ---------- */
.bg-options{margin-top:24px;display:flex;flex-direction:column;gap:16px}
.bg-options label{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px}
.bg-options label i{color:var(--accent-1)}
.bg-buttons{display:flex;flex-wrap:wrap;gap:10px}
.bg-btn{
    padding:8px 18px;border-radius:60px;border:1px solid var(--border-glass);background:var(--bg-card);
    color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:var(--transition);
    display:flex;align-items:center;gap:6px;
}
.bg-btn.active,.bg-btn:hover{
    background:var(--accent-gradient);color:#0a0a0c;border-color:transparent;box-shadow:0 4px 16px rgba(0,0,0,.35);
}
.color-picker-row{display:flex;align-items:center;gap:14px;margin-top:4px}
.color-picker-row input[type=color]{
    width:40px;height:40px;border:2px solid var(--border-glass);border-radius:12px;background:transparent;cursor:pointer;padding:2px;
}
.color-picker-row input[type=text]{
    flex:1;background:var(--bg-card);border:1px solid var(--border-glass);padding:10px 14px;border-radius:12px;
    color:var(--text-primary);font-size:.85rem;outline:none;min-width:0;
}
.color-picker-row input[type=text]:focus{border-color:var(--accent-1)}

/* ---------- ACTION BUTTONS ---------- */
.action-buttons{display:flex;gap:12px;margin-top:28px}
.btn-primary,.btn-secondary{
    flex:1;padding:14px;border-radius:60px;font-weight:700;font-size:.9rem;border:none;cursor:pointer;
    transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:8px;
}
.btn-primary{
    background:var(--accent-gradient);color:#0a0a0c;box-shadow:var(--shadow-glow);
    border:1px solid var(--border-glass-strong);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-glass)}
.btn-secondary:hover{background:var(--border-glass);color:var(--text-primary)}
.privacy-note{font-size:.7rem;text-align:center;color:var(--text-secondary);margin-top:12px}

/* ---------- PREVIEW PANEL ---------- */
.preview-panel{min-height:500px;display:flex;flex-direction:column}
.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.preview-header span{font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:8px}
.badge{font-size:.65rem;background:rgba(255,255,255,.1);color:var(--text-primary);padding:4px 12px;border-radius:60px;font-weight:700}
.image-viewer{
    flex:1;position:relative;border-radius:var(--radius-md);overflow:hidden;
    background:repeating-conic-gradient(var(--bg-card) 0% 25%,transparent 0% 50%) 0 0/20px 20px;
    min-height:350px;border:1px solid var(--border-glass);
}
.image-viewer img{width:100%;height:100%;object-fit:contain;display:block;position:absolute;top:0;left:0}
.after-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;clip-path:inset(0 50% 0 0);transition:clip-path .05s linear}
.after-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}
.slider-handle{
    position:absolute;top:0;left:50%;width:3px;height:100%;background:#fff;transform:translateX(-50%);
    cursor:ew-resize;z-index:10;box-shadow:0 0 20px rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;
}
.slider-handle::after{
    content:'\f0ec';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;top:50%;left:50%;
    transform:translate(-50%,-50%);background:var(--accent-gradient);color:#0a0a0c;padding:8px 10px;border-radius:60px;
    font-size:1rem;box-shadow:0 4px 20px rgba(0,0,0,.45);
}
.slider-handle.active{display:flex}
.placeholder-text{
    position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
    color:var(--text-secondary);gap:10px;font-size:.95rem;
}
.placeholder-text i{font-size:3rem;color:var(--text-secondary);opacity:.3}
.loader{
    display:none;position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);z-index:20;
    align-items:center;justify-content:center;flex-direction:column;gap:14px;border-radius:var(--radius-md);
}
.loader.active{display:flex}
.spinner{width:50px;height:50px;border:4px solid transparent;border-top:4px solid var(--accent-1);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loader p{color:#fff;font-weight:600}

/* ---------- TOASTS ---------- */
.toast{
    position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:12px 28px;border-radius:60px;
    font-weight:600;font-size:.9rem;z-index:999;animation:slideUp .4s ease;box-shadow:0 10px 40px rgba(0,0,0,.5);
    max-width:90vw;text-align:center;
}
.toast.success{background:#2f7d4f;color:#fff}
.toast.error{background:#a13d3d;color:#fff}
.toast.info{background:var(--accent-gradient);color:#0a0a0c}
@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(30px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ---------- AD SLOT ---------- */
.ad-slot{
    width:100%;max-width:1200px;display:flex;align-items:center;justify-content:center;
    margin:30px 0 6px;min-height:60px;overflow:hidden;
}
.ad-slot#banner-ad-container,.ad-slot > div{max-width:100%;overflow:hidden}

/* ---------- FOOTER ---------- */
.site-footer{
    width:100%;max-width:1200px;margin-top:24px;
    background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.01) 60%),var(--bg-glass);
    backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
    border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:2.4rem 2rem 1.8rem;
    display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;
}
.fe-wrap{width:100%;max-width:900px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;text-align:left}
.fe-heading{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:1rem}
.fe-links{display:flex;flex-direction:column;gap:.65rem}
.fe-links a{color:var(--text-secondary);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .25s ease}
.fe-links a:hover{color:var(--text-primary)}
.fe-social{display:flex;flex-direction:column;align-items:flex-start}
.fe-icons{display:flex;flex-wrap:wrap;gap:.8rem}
.fe-icons a{
    width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.05);border:1px solid var(--border-glass);color:var(--text-primary);
    transition:all .25s ease;
}
.fe-icons a svg{width:18px;height:18px}
.fe-icons a:hover{background:var(--accent-gradient);color:#0a0a0c;border-color:transparent;transform:translateY(-2px)}
.f-rule{width:100%;max-width:900px;height:1px;background:linear-gradient(90deg,transparent,var(--border-glass-strong),transparent)}
.f-name{font-weight:800;font-size:1.05rem;letter-spacing:-.3px}
.f-copy{font-size:.78rem;color:var(--text-secondary);line-height:1.6}
.f-copy a{color:var(--text-secondary);font-weight:700;text-decoration:underline}
.f-copy a:hover{color:var(--text-primary)}

@media(max-width:900px){
    .container{grid-template-columns:1fr}
    .header{padding:12px 20px}
    .fe-wrap{flex-direction:column;text-align:center;align-items:center}
    .fe-social{align-items:center}
}
@media(max-width:480px){
    .control-panel,.preview-panel,.site-footer{padding:18px}
    .action-buttons{flex-direction:column}
    .bg-buttons{gap:6px}
}
