
:root{
  --slbseo-bg: #ffffff;
  --slbseo-text: #0f172a;
  --slbseo-muted: #64748b;
  --slbseo-border: rgba(15, 23, 42, .08);
  --slbseo-shadow: 0 18px 50px rgba(15,23,42,.08);
  --slbseo-radius: 22px;
}
.slbseo-widget{
  color: var(--slbseo-text);
  margin: 24px 0;
  font-family: inherit;
}
.slbseo-shell{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.98));
  border: 1px solid var(--slbseo-border);
  box-shadow: var(--slbseo-shadow);
  border-radius: 28px;
  padding: 22px;
  overflow: hidden;
  position: relative;
}
.slbseo-shell::before{
  content:"";
  position:absolute;
  inset:-1px auto auto -1px;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle at top left, color-mix(in srgb, var(--slbseo-accent) 18%, transparent), transparent 70%);
  pointer-events:none;
}
.slbseo-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom: 18px;
}
.slbseo-icon{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  background: color-mix(in srgb, var(--slbseo-accent) 14%, white);
  color: var(--slbseo-accent);
  font-weight: 800;
  letter-spacing: .5px;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--slbseo-accent) 20%, white);
}
.slbseo-title{
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.2;
}
.slbseo-subtitle{
  margin: 4px 0 0;
  color: var(--slbseo-muted);
  font-size: .95rem;
}
.slbseo-form{
  display:block;
}
.slbseo-grid-2,
.slbseo-grid-3,
.slbseo-result-grid{
  display:grid;
  gap: 14px;
}
.slbseo-grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.slbseo-grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.slbseo-result-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 14px; }
@media (max-width: 880px){
  .slbseo-grid-2, .slbseo-grid-3, .slbseo-result-grid{ grid-template-columns: 1fr; }
}
.slbseo-field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}
.slbseo-field label{
  font-size: .88rem;
  color: #334155;
  font-weight: 700;
}
.slbseo-field input,
.slbseo-field textarea,
.slbseo-field select{
  width:100%;
  border: 1px solid rgba(15,23,42,.10);
  background: #fff;
  border-radius: 16px;
  padding: 14px 15px;
  font: inherit;
  color: var(--slbseo-text);
  outline: none;
  box-shadow: 0 1px 0 rgba(15,23,42,.02);
}
.slbseo-field textarea{ resize: vertical; min-height: 110px; }
.slbseo-field input:focus,
.slbseo-field textarea:focus,
.slbseo-field select:focus{
  border-color: color-mix(in srgb, var(--slbseo-accent) 55%, white);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--slbseo-accent) 10%, transparent);
}
.slbseo-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 4px 0 12px;
}
.slbseo-btn{
  appearance:none;
  border:none;
  background: var(--slbseo-accent);
  color:#fff;
  border-radius: 999px;
  padding: 11px 16px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 10px 25px color-mix(in srgb, var(--slbseo-accent) 20%, transparent);
}
.slbseo-btn--ghost{
  background: #fff;
  color: #0f172a;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow:none;
}
.slbseo-output-wrap{
  margin-top: 10px;
  background: #0f172a;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.08);
}
.slbseo-output-meta{
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.78);
  padding: 10px 14px;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .2px;
}
.slbseo-output{
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
  padding: 14px;
  color: #e2e8f0;
  min-height: 80px;
  font-size: .92rem;
}
.slbseo-card,
.slbseo-serp-box,
.slbseo-single-result{
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 20px;
  padding: 16px;
}
.slbseo-card h4{
  margin: 0 0 10px;
  font-size: .95rem;
}
.slbseo-serp-box{
  margin-top: 14px;
  border-left: 4px solid var(--slbseo-accent);
}
.slbseo-serp-url{
  font-size: .82rem;
  color: #1a0dab;
  margin-bottom: 4px;
  word-break: break-all;
}
.slbseo-serp-title{
  font-size: 1.06rem;
  color: #1a0dab;
  font-weight: 700;
  margin-bottom: 4px;
}
.slbseo-serp-desc{
  color: #475569;
  font-size: .92rem;
}
.slbseo-faq-pair{
  background: rgba(255,255,255,.7);
  border: 1px dashed rgba(15,23,42,.10);
  border-radius: 20px;
  padding: 14px;
  margin-bottom: 14px;
}
.slbseo-toolbar-note{
  background: color-mix(in srgb, var(--slbseo-accent) 8%, white);
  border: 1px solid color-mix(in srgb, var(--slbseo-accent) 18%, white);
  color: #334155;
  padding: 14px;
  border-radius: 18px;
  margin-bottom: 14px;
  font-size: .94rem;
}
.slbseo-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .82rem;
  background: color-mix(in srgb, var(--slbseo-accent) 10%, white);
  color: #0f172a;
  margin: 0 8px 8px 0;
  border: 1px solid color-mix(in srgb, var(--slbseo-accent) 18%, white);
}
.slbseo-muted{
  color: var(--slbseo-muted);
}
