/* DO SEO Audit Tool — Styles */
#do-seo-tool,
#do-seo-tool * {
  box-sizing: border-box !important;
  font-family: -apple-system,"SF Pro Display","Helvetica Neue",Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
#do-seo-tool { display:block; width:100%; }

/* HERO */
#do-seo-tool #do-seo-form {
  background:#000; padding:80px 24px 70px;
  text-align:center; position:relative; overflow:hidden;
}
#do-seo-tool .dso-hero-glow {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 60% at 20% 30%,rgba(0,122,255,0.22) 0%,transparent 70%),
    radial-gradient(ellipse 50% 50% at 80% 20%,rgba(48,209,88,0.14) 0%,transparent 70%),
    radial-gradient(ellipse 40% 50% at 50% 90%,rgba(255,159,10,0.10) 0%,transparent 70%);
}
#do-seo-tool .dso-hero-inner {
  position:relative; z-index:2; max-width:680px; margin:0 auto;
}
#do-seo-tool .dso-badge {
  display:inline-block;
  font-size:11px !important; font-weight:700 !important;
  letter-spacing:0.12em; text-transform:uppercase;
  color:#30d158 !important; background:rgba(48,209,88,0.12);
  border:1px solid rgba(48,209,88,0.25);
  padding:6px 16px; border-radius:100px; margin-bottom:24px;
}
#do-seo-tool .dso-h1 {
  font-size:clamp(36px,6vw,68px) !important; font-weight:800 !important;
  letter-spacing:-0.048em; line-height:0.94;
  color:#f5f5f7 !important; margin:0 0 20px 0 !important;
}
#do-seo-tool .dso-h1 span {
  background:linear-gradient(135deg,#30d158,#5ac8fa,#007aff);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
#do-seo-tool .dso-sub {
  font-size:17px !important; color:rgba(255,255,255,0.45) !important;
  line-height:1.6; margin:0 0 48px 0 !important;
}
#do-seo-tool .dso-form-box {
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  border-radius:24px; padding:36px 32px; max-width:580px; margin:0 auto;
}
#do-seo-tool .dso-form-ttl {
  font-size:15px !important; font-weight:600 !important;
  color:rgba(255,255,255,0.7) !important; margin:0 0 20px 0 !important; text-align:left;
}
#do-seo-tool .dso-field { margin-bottom:14px; }
#do-seo-tool .dso-field label {
  display:block; font-size:11px !important; font-weight:600 !important;
  letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(255,255,255,0.4) !important; margin-bottom:7px;
}
#do-seo-tool .dso-input {
  display:block; width:100%; padding:14px 16px;
  background:rgba(255,255,255,0.07) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  border-radius:12px; font-size:15px !important; color:#f5f5f7 !important;
  outline:none !important; transition:border-color 0.2s;
}
#do-seo-tool .dso-input::placeholder { color:rgba(255,255,255,0.25) !important; }
#do-seo-tool .dso-input:focus { border-color:rgba(0,122,255,0.6) !important; }
#do-seo-tool .dso-row2 { display:flex; gap:12px; }
#do-seo-tool .dso-row2 .dso-field { flex:1; margin-bottom:0; }
#do-seo-tool .dso-btn-primary {
  display:block; width:100%; margin-top:20px; padding:16px 24px;
  background:linear-gradient(135deg,#007aff,#30d158) !important;
  border:none !important; border-radius:12px; cursor:pointer;
  font-size:16px !important; font-weight:700 !important; color:#fff !important;
  box-shadow:0 8px 28px rgba(0,122,255,0.35);
  transition:transform 0.2s,box-shadow 0.2s; text-align:center;
}
#do-seo-tool .dso-btn-primary:hover:not(:disabled) { transform:translateY(-2px); }
#do-seo-tool .dso-btn-primary:disabled { opacity:0.6; cursor:not-allowed; }
#do-seo-tool .dso-privacy {
  font-size:11px !important; color:rgba(255,255,255,0.28) !important;
  margin:12px 0 0 0 !important; text-align:center;
}
#do-seo-tool .dso-error {
  background:rgba(255,45,85,0.08); border:1px solid rgba(255,45,85,0.2);
  border-radius:12px; padding:14px 18px; margin-bottom:16px;
  font-size:14px !important; color:#d41a3c !important;
}

/* LOADING */
#do-seo-tool #dso-loading {
  background:#000; padding:60px 24px; text-align:center;
}
#do-seo-tool .dso-spinner {
  width:52px; height:52px; margin:0 auto 24px;
  border:3px solid rgba(255,255,255,0.08); border-top-color:#007aff;
  border-radius:50%; animation:dso-spin 0.8s linear infinite;
}
@keyframes dso-spin { to { transform:rotate(360deg); } }
#do-seo-tool .dso-loading-h {
  font-size:20px !important; font-weight:700 !important;
  color:#f5f5f7 !important; margin:0 0 8px 0 !important;
}
#do-seo-tool .dso-loading-p {
  font-size:14px !important; color:rgba(255,255,255,0.38) !important; margin:0 !important;
}
#do-seo-tool .dso-steps {
  list-style:none !important; padding:0 !important; margin:24px auto 0 !important;
  max-width:300px; text-align:left;
}
#do-seo-tool .dso-steps li {
  font-size:13px !important; color:rgba(255,255,255,0.35) !important;
  padding:7px 0 !important; display:flex; align-items:center; gap:10px;
  border-bottom:1px solid rgba(255,255,255,0.05); margin:0 !important;
}
#do-seo-tool .dso-steps li.dso-step-done   { color:#30d158 !important; }
#do-seo-tool .dso-steps li.dso-step-active { color:#fff !important; }
#do-seo-tool .dso-dot-s {
  width:8px; height:8px; border-radius:50%; flex-shrink:0;
  background:rgba(255,255,255,0.15); display:inline-block;
}
#do-seo-tool .dso-steps li.dso-step-done   .dso-dot-s { background:#30d158; }
#do-seo-tool .dso-steps li.dso-step-active .dso-dot-s {
  background:#007aff; animation:dso-pulse 1s ease-in-out infinite;
}
@keyframes dso-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.6)} }

/* REPORT */
#do-seo-tool #dso-report { background:#f5f5f7; padding:48px 24px 80px; }
#do-seo-tool .dso-report-inner { max-width:960px; margin:0 auto; }

/* Score banner */
#do-seo-tool .dso-score-banner {
  background:#000; border-radius:24px; padding:36px;
  margin-bottom:28px; display:flex; align-items:center; gap:32px;
  flex-wrap:wrap; position:relative; overflow:hidden;
}
#do-seo-tool .dso-score-banner::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 50% 80% at 0% 50%,rgba(0,122,255,0.14),transparent),
    radial-gradient(ellipse 40% 60% at 100% 50%,rgba(48,209,88,0.09),transparent);
}
#do-seo-tool .dso-ring-wrap {
  position:relative; z-index:2; flex-shrink:0;
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
#do-seo-tool .dso-ring-svg { width:110px; height:110px; }
#do-seo-tool .dso-ring-bg { fill:none; stroke:rgba(255,255,255,0.08); stroke-width:8; }
#do-seo-tool .dso-ring-arc {
  fill:none; stroke-width:8; stroke-linecap:round;
  stroke-dasharray:283; stroke-dashoffset:283;
  transform:rotate(-90deg); transform-origin:50% 50%;
  transition:stroke-dashoffset 1.4s cubic-bezier(0.22,1,0.36,1);
}
#do-seo-tool .dso-ring-num {
  font-size:28px !important; font-weight:800 !important;
  fill:#fff; text-anchor:middle; dominant-baseline:central;
}
#do-seo-tool .dso-ring-lbl {
  font-size:11px !important; font-weight:600 !important;
  color:rgba(255,255,255,0.38) !important;
  letter-spacing:0.08em; text-transform:uppercase;
}
#do-seo-tool .dso-score-info { flex:1; min-width:0; position:relative; z-index:2; }
#do-seo-tool .dso-score-url {
  font-size:12px !important; color:rgba(255,255,255,0.35) !important;
  margin:0 0 6px 0 !important; word-break:break-all;
}
#do-seo-tool .dso-score-title {
  font-size:clamp(18px,2.5vw,26px) !important; font-weight:800 !important;
  color:#f5f5f7 !important; margin:0 0 14px 0 !important; letter-spacing:-0.025em;
}
#do-seo-tool .dso-pills { display:flex; flex-wrap:wrap; gap:8px; }
#do-seo-tool .dso-pill {
  padding:5px 12px; border-radius:100px;
  font-size:12px !important; font-weight:600 !important;
}
#do-seo-tool .dso-pill-err  { background:rgba(255,45,85,0.15);  color:#ff2d55 !important; border:1px solid rgba(255,45,85,0.2); }
#do-seo-tool .dso-pill-warn { background:rgba(255,159,10,0.15); color:#ff9f0a !important; border:1px solid rgba(255,159,10,0.2); }
#do-seo-tool .dso-pill-ok   { background:rgba(48,209,88,0.15);  color:#30d158 !important; border:1px solid rgba(48,209,88,0.2); }
#do-seo-tool .dso-reset-btn {
  display:inline-block; margin-top:16px; padding:9px 18px;
  background:rgba(255,255,255,0.10) !important;
  border:1px solid rgba(255,255,255,0.15) !important;
  border-radius:100px; cursor:pointer;
  font-size:13px !important; font-weight:600 !important; color:#fff !important;
}
#do-seo-tool .dso-reset-btn:hover { background:rgba(255,255,255,0.18) !important; }

/* Section cards */
#do-seo-tool .dso-cards { display:flex; flex-direction:column; gap:14px; }
#do-seo-tool .dso-card {
  background:#fff; border-radius:18px;
  border:1px solid rgba(0,0,0,0.07); overflow:hidden;
}
#do-seo-tool .dso-card-hdr {
  padding:18px 22px; display:flex; align-items:center; gap:14px;
  cursor:pointer; border-bottom:1px solid transparent;
  transition:background 0.18s; user-select:none;
}
#do-seo-tool .dso-card-hdr:hover { background:rgba(0,0,0,0.02); }
#do-seo-tool .dso-card.dso-open .dso-card-hdr { border-bottom-color:rgba(0,0,0,0.07); }
#do-seo-tool .dso-card-ico {
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
#do-seo-tool .dso-card-tt { flex:1; min-width:0; }
#do-seo-tool .dso-card-name {
  font-size:15px !important; font-weight:700 !important;
  color:#1d1d1f !important; margin:0 !important;
}
#do-seo-tool .dso-card-sub {
  font-size:12px !important; color:#86868b !important; margin:2px 0 0 0 !important;
}
#do-seo-tool .dso-badge2 {
  padding:4px 11px; border-radius:100px; flex-shrink:0;
  font-size:11px !important; font-weight:700 !important;
}
#do-seo-tool .dso-badge2-good { background:rgba(48,209,88,0.12);  color:#1a8a40 !important; }
#do-seo-tool .dso-badge2-warn { background:rgba(255,159,10,0.12); color:#c47b00 !important; }
#do-seo-tool .dso-badge2-bad  { background:rgba(255,45,85,0.12);  color:#d41a3c !important; }
#do-seo-tool .dso-badge2-info { background:rgba(0,122,255,0.10);  color:#005ecb !important; }
#do-seo-tool .dso-chev { font-size:11px; color:#aeaeb2; transition:transform 0.22s; flex-shrink:0; }
#do-seo-tool .dso-card.dso-open .dso-chev { transform:rotate(180deg); }
#do-seo-tool .dso-card-body { display:none; }
#do-seo-tool .dso-card.dso-open .dso-card-body { display:block; }
#do-seo-tool .dso-card-ct { padding:18px 22px; }

/* Bar */
#do-seo-tool .dso-bar-row {
  display:flex; justify-content:space-between;
  font-size:12px !important; color:#6e6e73 !important; margin-bottom:5px;
}
#do-seo-tool .dso-bar-row strong { color:#1d1d1f !important; }
#do-seo-tool .dso-bar-bg {
  height:5px; background:#ebebeb; border-radius:3px;
  overflow:hidden; margin-bottom:16px;
}
#do-seo-tool .dso-bar-fill {
  height:100%; border-radius:3px;
  transition:width 1.1s cubic-bezier(0.22,1,0.36,1);
}

/* Items */
#do-seo-tool .dso-item {
  padding:11px 0; border-bottom:1px solid rgba(0,0,0,0.05);
  display:flex; gap:12px; align-items:flex-start;
}
#do-seo-tool .dso-item:last-child { border-bottom:none; }
#do-seo-tool .dso-item-dot {
  width:7px; height:7px; border-radius:50%;
  margin-top:5px; flex-shrink:0;
}
#do-seo-tool .dso-dot-err  { background:#ff2d55; }
#do-seo-tool .dso-dot-warn { background:#ff9f0a; }
#do-seo-tool .dso-dot-ok   { background:#30d158; }
#do-seo-tool .dso-dot-info { background:#007aff; }
#do-seo-tool .dso-item-body { flex:1; min-width:0; }
#do-seo-tool .dso-item-title {
  font-size:14px !important; font-weight:600 !important;
  color:#1d1d1f !important; margin:0 0 3px 0 !important;
}
#do-seo-tool .dso-item-detail {
  font-size:13px !important; color:#6e6e73 !important; margin:0 !important; line-height:1.5;
}
#do-seo-tool .dso-code {
  display:block; font-size:11px !important;
  font-family:"SF Mono","Fira Code","Courier New",monospace !important;
  background:#f5f5f7 !important; color:#1d1d1f !important;
  padding:7px 10px; border-radius:7px; margin-top:6px;
  word-break:break-all; border:1px solid rgba(0,0,0,0.07);
}

/* Recs */
#do-seo-tool .dso-recs { list-style:none !important; padding:0 !important; margin:0 !important; }
#do-seo-tool .dso-recs li {
  padding:10px 0 !important; border-bottom:1px solid rgba(0,0,0,0.05);
  font-size:14px !important; color:#1d1d1f !important;
  display:flex; gap:10px; align-items:flex-start; margin:0 !important;
}
#do-seo-tool .dso-recs li:last-child { border-bottom:none !important; }
#do-seo-tool .dso-rec-n {
  width:22px; height:22px; min-width:22px; border-radius:50%;
  background:#007aff; color:#fff !important;
  font-size:11px !important; font-weight:700 !important;
  display:flex; align-items:center; justify-content:center;
}
#do-seo-tool .dso-cta-box {
  margin-top:22px; padding:20px;
  background:rgba(0,122,255,0.06); border-radius:14px;
  border:1px solid rgba(0,122,255,0.14);
}
#do-seo-tool .dso-cta-box-h {
  font-size:14px !important; font-weight:700 !important;
  color:#005ecb !important; margin:0 0 6px 0 !important;
}
#do-seo-tool .dso-cta-box-p {
  font-size:13px !important; color:#6e6e73 !important; margin:0 0 14px 0 !important;
}
#do-seo-tool .dso-cta-link {
  display:inline-flex !important; align-items:center; gap:8px;
  padding:10px 22px; border-radius:100px;
  background:linear-gradient(135deg,#007aff,#5ac8fa) !important;
  color:#fff !important; text-decoration:none !important;
  font-size:13px !important; font-weight:700 !important;
}

@media screen and (max-width: 640px) {
  #do-seo-tool #do-seo-form { padding:60px 20px 56px; }
  #do-seo-tool .dso-form-box { padding:24px 18px; }
  #do-seo-tool .dso-row2 { flex-direction:column; }
  #do-seo-tool .dso-score-banner { flex-direction:column; gap:20px; }
  #do-seo-tool #dso-report { padding:32px 16px 60px; }
}
