/* ================================================================
   UltraSpeed Pro v3 — usp.css
   یک فایل CSS برای shortcode + widget
   ================================================================ */

/* ── RESET ── */
.usp-app *, .usp-app *::before, .usp-app *::after,
.usp-widget *, .usp-widget *::before, .usp-widget *::after {
  box-sizing: border-box; margin: 0; padding: 0;
}

/* ================================================================
   SHORTCODE — .usp-app
   ================================================================ */
.usp-app {
  position: relative;
  width: 100%; max-width: 880px;
  margin: 0 auto;
  border-radius: 24px;
  overflow: hidden;
  font-family: 'Segoe UI', Tahoma, sans-serif;
  direction: rtl;
  color: #fff;
  background: #06090f;
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow:
    0 0 80px rgba(45,212,191,0.07),
    0 0 200px rgba(124,58,237,0.05),
    inset 0 1px 0 rgba(255,255,255,0.05);
}

/* BG */
.usp-bg { position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden; }
.usp-bg-grid {
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(45,212,191,0.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(45,212,191,0.025) 1px,transparent 1px);
  background-size:44px 44px;
  animation:usp-grid 25s linear infinite;
}
@keyframes usp-grid { to { transform:translateY(44px); } }

.usp-bg-glow {
  position:absolute;border-radius:50%;filter:blur(90px);
  animation:usp-orb 8s ease-in-out infinite alternate;
}
.usp-g1 { width:420px;height:420px;top:-160px;left:-100px;background:radial-gradient(circle,rgba(45,212,191,0.12) 0%,transparent 70%);animation-delay:0s; }
.usp-g2 { width:360px;height:360px;bottom:-120px;right:-80px;background:radial-gradient(circle,rgba(124,58,237,0.14) 0%,transparent 70%);animation-delay:3s; }
.usp-g3 { width:260px;height:260px;top:40%;right:25%;background:radial-gradient(circle,rgba(244,114,182,0.09) 0%,transparent 70%);animation-delay:6s; }
@keyframes usp-orb { from{opacity:.4;transform:scale(1)} to{opacity:1;transform:scale(1.18)} }

.usp-ptc,.usp-w-ptc { position:absolute;inset:0;width:100%;height:100%; }

/* Content above BG */
.usp-app > *:not(.usp-bg),
.usp-widget > *:not(.usp-w-bg) { position:relative;z-index:1; }

/* HEADER */
.usp-header {
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;
  border-bottom:1px solid rgba(255,255,255,0.05);
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,0.015);
}
.usp-logo { display:flex;align-items:center;gap:11px; }
.usp-logo-text { font-size:20px;color:rgba(255,255,255,0.8);letter-spacing:.5px; }
.usp-logo-text strong {
  background:linear-gradient(135deg,#2dd4bf,#7c3aed);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.usp-isp-box { font-size:12px;color:rgba(255,255,255,0.45);text-align:left;direction:ltr;max-width:220px; }
.usp-isp-loading { display:flex;align-items:center;gap:6px; }
.usp-dot-spin {
  display:inline-block;width:12px;height:12px;
  border:2px solid rgba(255,255,255,0.15);border-top-color:#2dd4bf;
  border-radius:50%;animation:usp-spin .8s linear infinite;
}
@keyframes usp-spin { to{transform:rotate(360deg)} }

/* BODY */
.usp-body {
  display:flex;flex-direction:column;align-items:center;
  padding:24px 28px 16px;gap:20px;
}
@media(min-width:640px) { .usp-body{flex-direction:row;align-items:flex-start;} }

/* Gauge */
.usp-gauge-col { display:flex;flex-direction:column;align-items:center;flex:1; }
.usp-gauge-svg {
  width:100%;max-width:320px;
  filter:drop-shadow(0 0 24px rgba(45,212,191,0.15));
}
.usp-arc { transition:stroke-dashoffset .12s linear; }
.usp-needle { transition:transform .2s ease-out; }
.usp-wave { width:100%;max-width:320px;height:64px;border-radius:12px;display:block;margin-top:10px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.05); }

/* Stat cards */
.usp-stats-col { display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1;width:100%;max-width:340px; }
.usp-stat-card {
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:16px;padding:14px 14px 10px;text-align:center;
  backdrop-filter:blur(8px);
  transition:border-color .3s,transform .3s;
}
.usp-stat-card.usp-active { border-color:rgba(45,212,191,0.4);transform:translateY(-2px); }
.usp-sc-ico { font-size:20px;margin-bottom:5px; }
.usp-sc-val { font-size:24px;font-weight:700;color:#fff;line-height:1;margin-bottom:3px; }
.usp-sc-val small { font-size:10px;font-weight:400;color:rgba(255,255,255,0.35);margin-right:3px; }
.usp-sc-lbl { font-size:10px;color:rgba(255,255,255,0.35);margin-bottom:8px;letter-spacing:.3px; }
.usp-sc-bar { height:3px;background:rgba(255,255,255,0.07);border-radius:99px;overflow:hidden; }
.usp-sc-fill { height:100%;width:0%;border-radius:99px;transition:width .4s ease; }

/* STEPS */
.usp-steps-row {
  display:flex;align-items:center;justify-content:center;gap:0;
  padding:8px 24px;flex-wrap:wrap;
}
.usp-step {
  font-size:11px;padding:5px 12px;border-radius:99px;
  border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.3);
  transition:all .35s;white-space:nowrap;
}
.usp-step.usp-s-active {
  border-color:#2dd4bf;color:#2dd4bf;
  background:rgba(45,212,191,0.08);
  box-shadow:0 0 14px rgba(45,212,191,0.25);
  animation:usp-step-pulse 1s ease-in-out infinite alternate;
}
.usp-step.usp-s-done { border-color:rgba(34,197,94,.5);color:#22c55e;background:rgba(34,197,94,.07); }
.usp-step-line { flex:1;min-width:16px;height:1px;background:rgba(255,255,255,0.07); }
@keyframes usp-step-pulse { from{box-shadow:0 0 8px rgba(45,212,191,.15)} to{box-shadow:0 0 20px rgba(45,212,191,.45)} }

/* QUALITY */
.usp-quality {
  display:flex;align-items:center;justify-content:center;
  gap:24px;padding:10px 28px;flex-wrap:wrap;
  animation:usp-fadein .5s ease both;
}
.usp-q-svg { width:120px;height:120px;filter:drop-shadow(0 0 14px rgba(45,212,191,.28)); }
.usp-q-arc { transition:stroke-dashoffset 1.4s ease; }
.usp-q-info { display:flex;flex-direction:column;gap:10px;max-width:260px; }
.usp-q-label {
  font-size:15px;font-weight:700;
  background:linear-gradient(135deg,#2dd4bf,#7c3aed);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.usp-q-tips { display:flex;flex-direction:column;gap:7px; }
.usp-tip {
  display:flex;align-items:flex-start;gap:8px;
  background:rgba(255,255,255,0.035);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:10px;padding:9px 11px;
  font-size:12px;color:rgba(255,255,255,0.65);
  animation:usp-fadein .4s ease both;
}
.usp-tip-ico { font-size:15px;flex-shrink:0; }
.usp-tip strong { display:block;color:#fff;font-size:12.5px;margin-bottom:1px; }

/* CTA BUTTON */
.usp-cta { display:flex;justify-content:center;padding:14px 28px 10px; }
.usp-btn-main {
  position:relative;display:flex;align-items:center;justify-content:center;
  gap:10px;width:100%;max-width:320px;padding:15px 0;
  border-radius:14px;border:none;cursor:pointer;overflow:hidden;
  background:linear-gradient(135deg,#0d9488 0%,#7c3aed 60%,#f472b6 100%);
  color:#fff;font-size:16px;font-weight:700;font-family:inherit;
  letter-spacing:.3px;
  box-shadow:0 4px 28px rgba(13,148,136,.35),0 0 60px rgba(124,58,237,.15);
  transition:transform .2s,box-shadow .2s;
}
.usp-btn-main:hover { transform:translateY(-2px);box-shadow:0 6px 36px rgba(13,148,136,.45),0 0 80px rgba(124,58,237,.22); }
.usp-btn-main:active { transform:translateY(0); }
.usp-btn-main:disabled,.usp-btn-main.usp-running {
  background:linear-gradient(135deg,#1a2e2e,#1e1a30);
  box-shadow:none;cursor:not-allowed;transform:none;
}
.usp-btn-shine {
  position:absolute;top:-50%;left:-60%;width:55%;height:200%;
  background:rgba(255,255,255,.12);transform:skewX(-18deg);
  animation:usp-shine 3.5s ease-in-out infinite;
}
@keyframes usp-shine { 0%{left:-60%} 30%{left:130%} 100%{left:130%} }

/* POST-TEST ACTIONS */
.usp-actions {
  display:flex;gap:10px;justify-content:center;
  padding:0 28px 12px;flex-wrap:wrap;
  animation:usp-fadein .4s ease both;
}
.usp-act-btn {
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  color:rgba(255,255,255,.75);padding:9px 18px;border-radius:10px;
  font-size:13px;cursor:pointer;transition:all .2s;font-family:inherit;
}
.usp-act-btn:hover { background:rgba(255,255,255,.09);transform:translateY(-1px); }
.usp-act-retry { border-color:rgba(45,212,191,.3);color:#2dd4bf; }

/* HISTORY */
.usp-history { margin:0 28px 14px;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden; }
.usp-hist-toggle {
  width:100%;background:rgba(255,255,255,.025);border:none;color:rgba(255,255,255,.6);
  padding:12px 16px;font-size:13px;font-weight:600;cursor:pointer;text-align:right;
  font-family:inherit;transition:background .2s;
}
.usp-hist-toggle:hover { background:rgba(255,255,255,.04); }
.usp-hist-body { padding:0 14px 12px; }
.usp-hist-table { width:100%;border-collapse:collapse;font-size:12px;color:rgba(255,255,255,.6); }
.usp-hist-table th { padding:6px;color:rgba(255,255,255,.3);font-weight:500;border-bottom:1px solid rgba(255,255,255,.05);text-align:center;font-size:11px; }
.usp-hist-table td { padding:7px 6px;border-bottom:1px solid rgba(255,255,255,.03);text-align:center; }
.usp-hist-empty { padding:12px;text-align:center;color:rgba(255,255,255,.3);font-size:12px; }

/* AD / FOOTER */
.usp-ad:empty { display:none; }
.usp-footer {
  display:flex;justify-content:space-between;
  padding:10px 28px;border-top:1px solid rgba(255,255,255,.04);
  font-size:10px;color:rgba(255,255,255,.2);
}

/* TOAST */
.usp-toast {
  position:absolute;bottom:72px;left:50%;
  transform:translateX(-50%) translateY(8px);
  background:rgba(0,0,0,.85);border:1px solid rgba(45,212,191,.4);
  color:#2dd4bf;padding:7px 18px;border-radius:99px;font-size:12px;
  opacity:0;pointer-events:none;transition:all .25s;white-space:nowrap;z-index:99;
  backdrop-filter:blur(8px);
}
.usp-toast.usp-show { opacity:1;transform:translateX(-50%) translateY(0); }

/* ================================================================
   WIDGET — .usp-widget
   ================================================================ */
.usp-widget {
  position:relative;
  width:100%;max-width:290px;
  margin:0 auto;
  border-radius:20px;
  overflow:hidden;
  font-family:'Segoe UI',Tahoma,sans-serif;
  direction:rtl;color:#fff;
  background:#04090e;
  border:1px solid rgba(45,212,191,0.14);
  box-shadow:
    0 0 40px rgba(45,212,191,0.07),
    0 0 100px rgba(14,165,233,0.04),
    inset 0 1px 0 rgba(45,212,191,0.07);
}

/* Widget BG */
.usp-w-bg { position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden; }
.usp-w-grid {
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(45,212,191,0.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(45,212,191,0.025) 1px,transparent 1px);
  background-size:36px 36px;
  animation:usp-grid 25s linear infinite;
}
.usp-w-orb { position:absolute;border-radius:50%;filter:blur(55px);animation:usp-orb 7s ease-in-out infinite alternate; }
.usp-orb-a { width:200px;height:200px;top:-90px;right:-60px;background:radial-gradient(circle,rgba(45,212,191,0.13) 0%,transparent 70%); }
.usp-orb-b { width:180px;height:180px;bottom:-70px;left:-50px;background:radial-gradient(circle,rgba(99,102,241,0.12) 0%,transparent 70%);animation-delay:3s; }

/* Widget Header */
.usp-w-head {
  padding:14px 14px 10px;
  border-bottom:1px solid rgba(45,212,191,0.07);
}
.usp-w-logo-row { display:flex;align-items:center;gap:9px; }
/* reuse .usp-w-head for widget header */
.usp-w-head { display:flex;align-items:center;gap:9px; }
.usp-w-logo { flex-shrink:0; }
.usp-w-title-wrap { display:flex;flex-direction:column;gap:2px; }
.usp-w-title { font-size:13px;font-weight:700;color:rgba(255,255,255,.9); }
.usp-w-isp { display:flex;align-items:center;gap:5px;font-size:10px;color:rgba(255,255,255,.35); }
.usp-w-dot {
  width:6px;height:6px;border-radius:50%;background:#2dd4bf;flex-shrink:0;
  animation:usp-dot-pulse 1.4s ease-in-out infinite;
}
@keyframes usp-dot-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.7)} }

/* Widget Gauge */
.usp-w-gauge-wrap { padding:10px 12px 4px;display:flex;flex-direction:column;align-items:center;gap:6px; }
.usp-w-gauge {
  width:100%;max-width:210px;
  filter:drop-shadow(0 0 12px rgba(45,212,191,.15));
}
.usp-w-arc   { transition:stroke-dashoffset .12s linear; }
.usp-w-needle{ transition:transform .2s ease-out; }
.usp-w-wave  { width:100%;height:36px;border-radius:8px;display:block;background:rgba(45,212,191,.025);border:1px solid rgba(45,212,191,.06); }

/* Widget Stats */
.usp-w-stats { display:flex;gap:6px;padding:6px 12px 10px; }
.usp-w-stat {
  flex:1;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  border-radius:12px;padding:9px 5px 8px;text-align:center;
  transition:border-color .3s;
}
.usp-w-stat.usp-w-active { border-color:rgba(45,212,191,.35);background:rgba(45,212,191,.05); }
.usp-w-stat-top { display:flex;align-items:baseline;justify-content:center;gap:2px;margin-bottom:2px; }
.usp-w-stat-ico { font-size:11px; }
.usp-w-stat-val { font-size:16px;font-weight:700;color:#fff;line-height:1; }
.usp-w-stat-u   { font-size:8px;color:rgba(255,255,255,.3); }
.usp-w-stat-name{ font-size:9px;color:rgba(255,255,255,.3);margin-bottom:5px; }
.usp-w-bar { height:2.5px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden; }
.usp-w-bar-fill { height:100%;width:0%;border-radius:99px;transition:width .4s ease; }

/* Widget Steps */
.usp-w-steps { display:flex;align-items:center;justify-content:center;padding:5px 18px 3px; }
.usp-w-step {
  width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;font-size:11px;
  transition:all .3s;
}
.usp-w-step.usp-w-s-active { background:rgba(45,212,191,.12);border-color:#2dd4bf;box-shadow:0 0 12px rgba(45,212,191,.3);animation:usp-step-pulse 1s ease-in-out infinite alternate; }
.usp-w-step.usp-w-s-done   { background:rgba(34,197,94,.1);border-color:rgba(34,197,94,.5); }
.usp-w-sep { flex:1;height:1px;background:rgba(255,255,255,.07);min-width:8px; }

/* Widget Quality */
.usp-w-quality {
  display:flex;align-items:center;gap:10px;
  padding:6px 14px 8px;
  background:rgba(45,212,191,.025);
  border-top:1px solid rgba(45,212,191,.06);
  border-bottom:1px solid rgba(45,212,191,.06);
  animation:usp-fadein .5s ease both;
}
.usp-w-qsvg { width:56px;height:56px;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(45,212,191,.28)); }
.usp-w-qarc { transition:stroke-dashoffset 1.2s ease; }
.usp-w-qinfo { display:flex;flex-direction:column;gap:4px;flex:1; }
.usp-w-qlabel { font-size:11px;font-weight:700;color:#2dd4bf; }
.usp-w-qtips { display:flex;flex-direction:column;gap:3px; }
.usp-w-qtip { display:flex;align-items:center;gap:5px;font-size:10px;color:rgba(255,255,255,.6);animation:usp-fadein .4s ease both; }
.usp-w-qtip strong { color:#2dd4bf;font-size:10px; }

/* Widget Button */
.usp-w-cta { padding:10px 14px 8px; }
.usp-w-btn {
  position:relative;display:flex;align-items:center;justify-content:center;
  gap:7px;width:100%;padding:12px 0;
  border-radius:12px;border:none;cursor:pointer;overflow:hidden;
  background:linear-gradient(135deg,#0d9488 0%,#0ea5e9 55%,#6366f1 100%);
  color:#fff;font-size:14px;font-weight:700;font-family:inherit;
  box-shadow:0 4px 22px rgba(13,148,136,.35);
  transition:transform .15s,box-shadow .15s;
}
.usp-w-btn:hover { transform:translateY(-1px);box-shadow:0 6px 30px rgba(13,148,136,.45); }
.usp-w-btn:disabled,.usp-w-btn.usp-running {
  background:linear-gradient(135deg,#112828,#141828);
  box-shadow:none;cursor:not-allowed;transform:none;
}
.usp-w-btn-shine {
  position:absolute;top:-50%;left:-60%;width:55%;height:200%;
  background:rgba(255,255,255,.11);transform:skewX(-18deg);
  animation:usp-shine 3s ease-in-out infinite;
}
.usp-w-btn-ico { width:13px;height:13px;flex-shrink:0; }

/* Widget Actions */
.usp-w-actions { display:flex;gap:5px;padding:0 14px 10px;animation:usp-fadein .4s ease both; }
.usp-w-act {
  flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.65);padding:7px 2px;border-radius:8px;
  font-size:10px;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center;
}
.usp-w-act:hover { background:rgba(255,255,255,.08); }
.usp-act-retry { border-color:rgba(45,212,191,.25);color:#2dd4bf; }

/* Widget Toast */
.usp-w-toast {
  position:absolute;bottom:52px;left:50%;
  transform:translateX(-50%) translateY(8px);
  background:rgba(0,0,0,.88);border:1px solid rgba(45,212,191,.4);
  color:#2dd4bf;padding:6px 14px;border-radius:99px;font-size:11px;
  opacity:0;pointer-events:none;transition:all .25s;white-space:nowrap;z-index:99;
  backdrop-filter:blur(8px);
}
.usp-w-toast.usp-show { opacity:1;transform:translateX(-50%) translateY(0); }

/* Widget Footer */
.usp-w-foot { padding:5px 14px 10px;font-size:9px;color:rgba(255,255,255,.18);text-align:center; }

/* Compact mode */
.usp-compact .usp-w-quality { display:none !important; }
.usp-compact .usp-w-gauge-wrap { padding:6px 10px 2px; }
.usp-compact .usp-w-gauge { max-width:180px; }
.usp-compact .usp-w-steps { display:none; }

/* ── SHARED ANIMATIONS ── */
@keyframes usp-fadein { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
@keyframes usp-spin   { to{transform:rotate(360deg)} }

/* Responsive shortcode */
@media(max-width:560px) {
  .usp-header,.usp-cta,.usp-actions { padding-left:16px;padding-right:16px; }
  .usp-body { padding:16px; }
  .usp-steps-row { padding:6px 16px; }
  .usp-quality { padding:8px 16px; }
  .usp-history { margin:0 16px 12px; }
}
