/* Scraper picker (shared by the wizard and Profile Studio). See DESIGN.md. */
.sp-root { display: flex; flex-direction: column; gap: 22px; text-align: left; }
.sp-root[hidden], .sp-root [hidden] { display: none !important; }
.sp-heading { margin: 0 0 10px; font: 600 1rem/1.3 'Outfit', 'Inter', sans-serif; color: var(--text-primary, hsl(0 0% 98%)); }
.sp-grid { display: grid; gap: 10px; }
.sp-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sp-grid-3 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) {
  .sp-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sp-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sp-card {
  position: relative; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; text-align: left;
  min-height: 56px; padding: 14px 16px; border-radius: 12px; cursor: pointer;
  border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.025);
  color: var(--text-secondary, hsl(240 5% 75%)); font: 400 0.88rem/1.4 'Inter', sans-serif;
  transition: border-color 0.15s cubic-bezier(0.2,0,0,1), background 0.15s cubic-bezier(0.2,0,0,1), transform 0.15s cubic-bezier(0.2,0,0,1);
}
.sp-card:hover { border-color: rgba(0,245,160,0.25); transform: translateY(-1.5px); }
.sp-card:focus-visible, .sp-mini:focus-visible, .sp-quiet:focus-visible, .sp-input:focus-visible { outline: 2px solid #6dfac4; outline-offset: 2px; }
.sp-card.is-selected { border-color: rgba(0,245,160,0.4); background: rgba(0,245,160,0.06); color: var(--text-primary, hsl(0 0% 98%)); }
.sp-card-title { font: 600 0.95rem/1.3 'Inter', sans-serif; color: var(--text-primary, hsl(0 0% 98%)); padding-right: 22px; }
.sp-card-desc { color: var(--text-muted, hsl(240 5% 65%)); }
.sp-rec { display: inline-block; margin-left: 6px; font: 600 0.75rem/1 'Inter', sans-serif; color: #6dfac4; }
.sp-bundle-icon { width: 24px; height: 24px; color: var(--text-secondary, hsl(240 5% 75%)); }
.sp-bundle-icon svg { width: 24px; height: 24px; display: block; }
.sp-card.is-selected .sp-bundle-icon { color: #6dfac4; }
.sp-tick { position: absolute; top: 12px; right: 12px; width: 18px; height: 18px; color: #6dfac4; opacity: 0; transition: opacity 0.15s; }
.sp-tick svg { width: 18px; height: 18px; display: block; }
.sp-card.is-selected .sp-tick { opacity: 1; }
.sp-key-label { display: block; margin-bottom: 6px; font: 600 0.88rem/1.3 'Inter', sans-serif; color: var(--text-secondary, hsl(240 5% 75%)); }
.sp-key-wrap { display: flex; gap: 8px; align-items: stretch; }
.sp-input {
  flex: 1 1 auto; min-width: 0; min-height: 44px; padding: 0 12px; border-radius: 10px; font: 400 0.95rem 'Inter', sans-serif;
  color: var(--text-primary, hsl(0 0% 98%)); background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.12);
}
.sp-mini {
  flex: none; min-height: 44px; min-width: 56px; padding: 0 12px; border-radius: 8px; cursor: pointer;
  border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); color: var(--text-secondary, hsl(240 5% 75%));
  font: 600 0.88rem 'Inter', sans-serif;
}
.sp-mini:hover { background: rgba(255,255,255,0.07); color: var(--text-primary, hsl(0 0% 98%)); }
.sp-mini:disabled { opacity: 0.6; cursor: default; }
.sp-hint { margin: 8px 0 0; font-size: 0.8rem; line-height: 1.4; color: var(--text-muted, hsl(240 5% 65%)); }
.sp-status { margin: 6px 0 0; min-height: 1.2em; font-size: 0.88rem; line-height: 1.4; }
.sp-status.is-ok { color: hsl(142 70% 55%); }
.sp-status.is-warn { color: hsl(38 90% 58%); }
.sp-status.is-bad { color: hsl(0 75% 68%); }
.sp-links { margin: 6px 0 0; font-size: 0.88rem; color: var(--text-muted, hsl(240 5% 65%)); }
.sp-links a { color: #6dfac4; text-decoration: none; }
.sp-links a:hover { text-decoration: underline; }
.sp-quiet {
  margin-top: 12px; min-height: 44px; padding: 0 4px; background: none; border: 0; cursor: pointer;
  color: var(--text-secondary, hsl(240 5% 75%)); font: 500 0.88rem 'Inter', sans-serif; text-decoration: underline; text-underline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) { .sp-card { transition: none; } .sp-card:hover { transform: none; } }

/* Profile Studio hosts the picker in a centred column. */
.ps-streaming-col { max-width: 920px; margin: 0 auto; padding: 8px 0 32px; display: flex; flex-direction: column; gap: 16px; }

.sp-grid-2 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .sp-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sp-route { position: relative; cursor: pointer; display: flex; flex-direction: column; gap: 6px; padding-left: 44px; text-align: left; }
.sp-route .sp-check { position: absolute; top: 14px; left: 14px; width: 20px; height: 20px; accent-color: #00f5a0; }
.sp-route.is-disabled { opacity: 0.55; cursor: not-allowed; }
.sp-more { margin-top: 14px; }
.sp-more > summary { cursor: pointer; list-style: none; padding: 10px 0; min-height: 44px; display: flex; align-items: center; }
.sp-more-body { display: flex; flex-direction: column; gap: 16px; padding: 6px 0 4px; }
.sp-fieldset { border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 12px 14px; margin: 0; }
.sp-legend { padding: 0 6px; font: 600 0.85rem/1.3 'Inter', sans-serif; color: var(--text-secondary, hsl(240 5% 75%)); }
.sp-inline { display: inline-flex; align-items: center; gap: 8px; margin: 4px 14px 4px 0; min-height: 36px; font-size: 0.92rem; }
.sp-inline input { width: 18px; height: 18px; accent-color: #00f5a0; }
.sp-row { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.sp-field { display: flex; flex-direction: column; gap: 6px; font: 600 0.85rem/1.3 'Inter', sans-serif; color: var(--text-secondary, hsl(240 5% 75%)); }
.sp-custom-row { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr); margin-bottom: 10px; }
@media (min-width: 640px) { .sp-custom-row { grid-template-columns: 140px minmax(0, 1fr) auto; } }

.sp-scraper-panel { border: 1px solid rgba(0,245,160,0.18); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 14px; }
.sp-scraper-panel[hidden] { display: none; }
.sp-panel-title { margin: 0; font: 600 1rem/1.3 'Outfit', 'Inter', sans-serif; color: var(--text-primary, hsl(0 0% 98%)); }
.sp-sub > summary { cursor: pointer; padding: 10px 0; min-height: 44px; display: flex; align-items: center; font: 600 0.9rem/1.3 'Inter', sans-serif; color: var(--text-secondary, hsl(240 5% 75%)); }
.sp-count { margin-left: 8px; font-weight: 400; color: var(--text-muted, hsl(240 5% 65%)); }
.sp-checks { display: flex; flex-wrap: wrap; gap: 2px 6px; padding: 4px 0 8px; }

/* Several debrids: one key block each, plus the "you will get" line */
.sp-key-block { padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.sp-key-block:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.sp-plan { margin-top: 6px; color: var(--text-secondary, hsl(240 5% 75%)); overflow-wrap: anywhere; }

/* Scraper chips: visible toggles under the presets, not buried in Full control */
.sp-scrapers { margin-top: 18px; }
.sp-subheading { margin: 0 0 8px; font: 600 0.9rem/1.3 'Inter', sans-serif; color: var(--text-secondary, hsl(240 5% 75%)); }
.sp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-chip { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.03); color: var(--text-secondary, hsl(240 5% 75%)); font: 600 0.92rem/1 'Inter', sans-serif; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
.sp-chip input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; }
.sp-chip:has(input:checked) { border-color: rgba(0,245,160,0.45); background: rgba(0,245,160,0.1); color: var(--text-primary, hsl(0 0% 98%)); }
.sp-chip:has(input:checked)::before { content: ""; width: 14px; height: 14px; margin-right: 8px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236dfac4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.sp-chip:has(input:focus-visible) { outline: 2px solid #6dfac4; outline-offset: 2px; }
.sp-chip.is-disabled { opacity: 0.5; cursor: not-allowed; }
.sp-chip.is-disabled input { cursor: not-allowed; }
