/* Equalza GIF Maker Tool v1.0.0 */
/* Core layout handled by equalza-core */

:root{
  --bg:#f5f6f8;--surface:#fff;--border:#e2e5ea;--border2:#c8cdd6;
  --accent:#2563eb;--accent-h:#1d4ed8;--accent-light:#eff6ff;--accent-mid:#bfdbfe;
  --text:#111827;--text2:#4b5563;--text3:#9ca3af;
  --green:#059669;--green-bg:#ecfdf5;
  --red:#dc2626;--red-bg:#fef2f2;
  --orange:#d97706;--orange-bg:#fffbeb;
  --purple:#9333ea;--purple-bg:#fdf4ff;--purple-mid:#e9d5ff;
  --sh:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --r:8px;--rl:12px;--rxl:16px;
}

/* ── Tool Card ── */
.gm-tool{background:var(--surface);border:1px solid var(--border);border-radius:var(--rxl);box-shadow:var(--sh);overflow:hidden}

/* ── Tabs ── */
.gm-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg)}
.gm-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;color:var(--text2);transition:all .2s;border-bottom:2px solid transparent}
.gm-tab:hover{color:var(--purple);background:var(--purple-bg)}
.gm-tab.active{color:var(--purple);border-bottom-color:var(--purple);background:var(--surface)}
.gm-tab svg{width:18px;height:18px;stroke:currentColor;fill:none}
.gm-tab svg polygon,.gm-tab svg circle{fill:currentColor;opacity:.5}

/* ── Drop Zone ── */
.gm-tool .drop-zone{border:2px dashed var(--border2);border-radius:var(--rl);margin:20px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg)}
.gm-tool .drop-zone:hover,.gm-tool .drop-zone.drag-over{border-color:var(--purple);background:var(--purple-bg)}
.gm-tool .dz-icon{width:52px;height:52px;background:var(--purple-bg);border:1px solid var(--purple-mid);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.gm-tool .dz-icon svg{width:24px;height:24px;stroke:var(--purple);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gm-tool .dz-icon svg polygon,.gm-tool .dz-icon svg circle{fill:var(--purple);opacity:.5}
.gm-tool .dz-title{font-size:16px;font-weight:700;margin-bottom:6px}
.gm-tool .dz-sub{font-size:13px;color:var(--text2);margin-bottom:14px}
.gm-tool .btn-dz{display:inline-flex;align-items:center;gap:7px;background:var(--purple);color:#fff;font-weight:600;font-size:13px;font-family:inherit;padding:9px 20px;border-radius:var(--r);border:none;cursor:pointer;transition:opacity .15s}
.gm-tool .btn-dz:hover{opacity:.88}
.gm-tool .fmt-pills{display:flex;gap:5px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.gm-tool .fmt-pill{padding:2px 9px;border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.05em;text-transform:uppercase;background:var(--surface)}

/* ── Notes Panel ── */
.gm-notes{margin:0 20px 20px;padding:16px 20px;background:var(--orange-bg);border:1px solid #fde68a;border-radius:var(--rl)}
.gm-notes-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--orange);margin-bottom:10px}
.gm-notes-title svg{width:18px;height:18px;flex-shrink:0}
.gm-notes-list{margin:0;padding:0 0 0 20px;list-style:disc;font-size:12.5px;color:var(--text2);line-height:1.7}
[dir=rtl] .gm-notes-list{padding:0 20px 0 0}
.gm-notes-list li{margin-bottom:2px}

/* ── Editor Panels ── */
.gm-editor{padding:20px}
.gm-preview-wrap{text-align:center;margin-bottom:16px}
.gm-video-el{max-width:100%;max-height:320px;border-radius:var(--rl);background:#000}

/* ── Controls ── */
.gm-controls{margin-bottom:16px}
.gm-control-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}
.gm-control-row label{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.gm-input-sm{width:80px;padding:7px 10px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;font-family:inherit;background:var(--surface);color:var(--text)}
.gm-input-sm:focus{outline:none;border-color:var(--purple)}
.gm-select{padding:7px 10px;border:1.5px solid var(--border);border-radius:var(--r);font-size:13px;font-family:inherit;background:var(--surface);color:var(--text);cursor:pointer}
.gm-select:focus{outline:none;border-color:var(--purple)}
.gm-hint{font-size:12px;color:var(--text3)}

/* ── Quality Bar ── */
.gm-quality-bar{margin-bottom:16px}
.gm-q-label{display:block;font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.gm-q-options{display:flex;gap:8px;flex-wrap:wrap}
.gm-q-btn{flex:1;min-width:100px;padding:10px 14px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--r);cursor:pointer;font-size:12px;font-weight:600;color:var(--text2);font-family:inherit;transition:all .15s;text-align:center}
.gm-q-btn:hover{border-color:var(--purple);color:var(--purple)}
.gm-q-btn.active{background:var(--purple-bg);border-color:var(--purple);color:var(--purple)}

/* ── Action Row ── */
.gm-action-row{text-align:center;margin-top:16px}
.gm-create-btn{display:inline-flex;align-items:center;gap:8px;background:var(--purple);color:#fff;font-weight:700;font-size:15px;font-family:inherit;padding:12px 32px;border-radius:var(--r);border:none;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(147,51,234,.3)}
.gm-create-btn:hover{opacity:.88}
.gm-create-btn svg{width:18px;height:18px}

/* ── Progress ── */
.gm-progress{text-align:center;margin:16px 20px;padding:20px}
.gm-progress-label{font-size:14px;font-weight:600;color:var(--text2);margin-bottom:10px}
.gm-progress-bar{width:100%;height:8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;overflow:hidden}
.gm-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--purple),var(--green));border-radius:4px;transition:width .3s}
.gm-progress-pct{font-size:13px;font-weight:700;color:var(--purple);margin-top:6px}

/* ── Result ── */
.gm-result{text-align:center;margin:20px;padding:20px;background:var(--green-bg);border:1px solid #a7f3d0;border-radius:var(--rl)}
.gm-result-badge{display:inline-block;background:var(--green);color:#fff;font-size:18px;font-weight:800;padding:6px 20px;border-radius:8px;margin-bottom:12px}
.gm-result-preview{margin-bottom:16px}
.gm-result-preview img{max-width:100%;max-height:400px;border-radius:var(--rl);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.gm-result-stats{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;font-size:13px;color:var(--text2);margin-bottom:16px}
.gm-stat{background:var(--surface);padding:6px 14px;border-radius:var(--r);border:1px solid var(--border)}
.gm-stat strong{color:var(--text)}
.gm-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.gm-dl-btn{display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;font-weight:700;font-size:14px;font-family:inherit;padding:10px 24px;border-radius:var(--r);border:none;cursor:pointer;text-decoration:none;transition:all .15s}
.gm-dl-btn:hover{opacity:.88}
.gm-dl-btn svg{width:16px;height:16px}

/* ── Error ── */
.gm-error{text-align:center;margin:16px 20px;padding:16px;background:var(--red-bg);border:1px solid #fecaca;border-radius:var(--rl);color:var(--red);font-size:13px;font-weight:600}
.gm-error .btn-ghost{margin-top:10px}

/* ── Buttons (shared) ── */
.gm-tool .btn-primary{display:inline-flex;align-items:center;gap:7px;background:var(--green);color:#fff;font-weight:600;font-size:13px;font-family:inherit;padding:8px 18px;border-radius:var(--r);border:none;cursor:pointer;transition:all .15s}
.gm-tool .btn-ghost{display:inline-flex;align-items:center;gap:7px;background:var(--bg);color:var(--text2);font-weight:600;font-size:13px;font-family:inherit;padding:8px 18px;border-radius:var(--r);border:1px solid var(--border2);cursor:pointer;transition:all .15s}
.gm-tool .btn-ghost:hover{border-color:var(--purple);color:var(--purple);background:var(--surface)}
.gm-tool .btn-ghost svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── Thumbnails Grid ── */
.gm-thumbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;margin-bottom:12px}
.gm-thumb{position:relative;border-radius:var(--r);overflow:hidden;border:2px solid var(--border);cursor:grab;aspect-ratio:1;background:var(--bg)}
.gm-thumb.dragging{opacity:.4;border-color:var(--purple)}
.gm-thumb img{width:100%;height:100%;object-fit:cover}
.gm-thumb-num{position:absolute;top:4px;left:4px;background:rgba(0,0,0,.6);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}
[dir=rtl] .gm-thumb-num{left:auto;right:4px}
.gm-thumb-del{position:absolute;top:4px;right:4px;background:rgba(220,38,38,.85);color:#fff;border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}
[dir=rtl] .gm-thumb-del{right:auto;left:4px}
.gm-thumb:hover .gm-thumb-del{opacity:1}
.gm-img-hint{text-align:center;font-size:11px;color:var(--text3);margin-bottom:12px}

/* ── Hidden ── */
.hidden{display:none!important}

/* ── Responsive ── */
@media(max-width:640px){
  .gm-q-options{flex-direction:column}
  .gm-q-btn{min-width:auto}
  .gm-result-actions{flex-direction:column;align-items:center}
  .gm-control-row{flex-direction:column;align-items:stretch}
  .gm-input-sm{width:100%}
  .gm-select{width:100%}
  .gm-thumbs-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}
}
