.analyzer-shell {
    --tool-ink: var(--marketing-text, #0c2348);
    --tool-muted: #4b5e75;
    --tool-border: #c7d2df;
    --tool-soft: var(--marketing-soft, #f5f8fc);
    --tool-action: #127447;
    max-width: 1200px; margin: 0 auto; padding: 24px 24px 64px;
    color: var(--tool-ink); font-size: 16px; line-height: 1.6; overflow-wrap: anywhere;
}
.analyzer-shell *, .analyzer-shell *::before, .analyzer-shell *::after { box-sizing: border-box; }
.analyzer-shell h1 { font-size: 40px; line-height: 1.18; letter-spacing: -.03em; color: var(--tool-ink); margin: 0 0 12px; }
.analyzer-shell h2 { font-size: 26px; line-height: 1.3; color: var(--tool-ink); margin: 0 0 16px; }
.analyzer-shell h3 { font-size: 20px; line-height: 1.4; color: var(--tool-ink); margin: 0 0 8px; }
.analyzer-shell h4 { font-size: 18px; line-height: 1.4; }
.analyzer-shell p { margin: 0 0 16px; line-height: 1.6; }
.analyzer-shell a { color: #174ea6; text-decoration: underline; text-underline-offset: 3px; }
.analyzer-shell #result-heading[tabindex="-1"]:focus { outline: none; }
.analyzer-shell :is(h2,h3,[id]) { scroll-margin-top: 100px; }
.analyzer-shell .btn, .analyzer-text-button { min-height: 44px; margin-bottom: 0; padding: 12px 20px; font-size: 14px; border-radius: 8px; white-space: normal; box-shadow: none; text-transform: none; }
.analyzer-shell .btn-primary { background: var(--tool-action); border-color: var(--tool-action); color: #fff; }
.analyzer-shell .btn-primary:hover { background: #0b5b36; border-color: #0b5b36; }
.analyzer-shell .btn-outline-primary { color: #174ea6; border: 1px solid #174ea6; background: #fff; }
.analyzer-shell .btn:disabled { opacity: .65; cursor: wait; }
.analyzer-breadcrumb { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font-size: 14px; }
.analyzer-breadcrumb a { display: inline-flex; min-height: 44px; align-items: center; }
.analyzer-hero { padding: 16px 0 24px; }
.analyzer-lead { font-size: 16px; max-width: 72ch; }
.analyzer-hero p:last-child { margin-bottom: 0; }
.analyzer-eyebrow, .analyzer-note { font-size: 14px; color: var(--tool-muted); }
.analyzer-shell .analyzer-note { margin-top: 8px; }
.analyzer-panel { background: #fff; border: 1px solid var(--tool-border); border-radius: 12px; padding: 24px; margin-bottom: 24px; }
.analyzer-input { border-top: 3px solid var(--tool-action); }
.analyzer-form-grid { display: grid; grid-template-columns: minmax(0,1fr) 240px auto; gap: 16px; align-items: end; }
.analyzer-form-grid--url { grid-template-columns: minmax(0,1fr) auto; }
.analyzer-shell label { display: block; font-size: 14px; font-weight: 600; margin: 0; color: var(--tool-ink); }
.analyzer-shell .form-control { width: 100%; min-height: 48px; border: 1px solid #7d8fa4; border-radius: 8px; background: #fff; color: var(--tool-ink); font: inherit; font-size: 16px; padding: 10px 12px; margin-top: 4px; }
.analyzer-shell .form-control::placeholder { color: #69788a; opacity: 1; }
.analyzer-shell .form-control[aria-invalid="true"] { border-color: #a52c2c; }
.analyzer-field-error { display: block; font-size: 14px; color: #a52c2c; margin-top: 4px; }
.analyzer-context-grid, .feed-context-grid { display: grid; gap: 16px; margin: 16px 0; }
.analyzer-context-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.feed-context-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.feed-source { border: 0; padding: 0; margin: 0; min-width: 0; }
.feed-source legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.feed-source-switch { display: flex; gap: 8px; margin-bottom: 12px; }
.feed-source-switch label { border: 1px solid #7d8fa4; border-radius: 8px; padding: 10px 16px; min-height: 44px; cursor: pointer; }
.feed-source-switch label:has(:checked) { background: #e8f8f0; border-color: var(--tool-action); }
.feed-source-switch input { accent-color: var(--tool-action); margin-right: 8px; }
.analyzer-text-button { color: #174ea6; background: transparent; border: 0; text-decoration: underline; cursor: pointer; }
.analyzer-shell [role="status"]:empty { margin: 0; min-height: 0; }
.analyzer-jump, .analyzer-report-nav { display: flex; gap: 8px 24px; flex-wrap: wrap; border-bottom: 1px solid var(--tool-border); padding: 8px 0; margin-bottom: 24px; }
.analyzer-jump a, .analyzer-report-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.analyzer-section { padding: 28px 0; border-bottom: 1px solid var(--tool-border); }
.analyzer-section > p, .analyzer-section > ol { max-width: 75ch; }
.analyzer-explain-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 32px; margin: 16px 0; }
.analyzer-explain-grid article { min-width: 0; padding: 12px 0; }
.analyzer-explain-grid h3 { font-size: 18px; }
.analyzer-sample, #sample { border-left: 3px solid #8195ac; padding-left: 20px; }
.analyzer-shell pre { max-width: 100%; overflow: auto; background: #f0f4f8; border: 1px solid var(--tool-border); border-radius: 8px; padding: 16px; color: #243d59; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; }
.analyzer-shell code { color: #314c6c; overflow-wrap: anywhere; }
.analyzer-shell details { border-bottom: 1px solid var(--tool-border); padding: 8px 0; }
.analyzer-shell summary { min-height: 44px; padding: 10px 4px; cursor: pointer; font-size: 16px; font-weight: 600; }
.analyzer-shell details > p { margin: 12px 4px; }
.analyzer-counts { display: flex; gap: 12px 24px; flex-wrap: wrap; padding: 16px 0; margin: 0 0 16px; border-block: 1px solid var(--tool-border); }
.analyzer-counts > div { display: flex; gap: 8px; align-items: baseline; }
.analyzer-counts strong { font-size: 22px; }
.analyzer-counts .analyzer-counts-label { align-self: center; color: var(--tool-muted); }
.analyzer-counts span { font-size: 14px; }
.analyzer-status { display: inline-block; font-size: 14px; line-height: 1.5; padding: 2px 8px; border: 1px solid #7d8fa4; border-radius: 4px; color: #31445b; background: #f0f4f8; }
.analyzer-finding[data-state="FAIL"] .analyzer-status { color: #8e2323; border-color: #ba7575; background: #fff1f1; }
.analyzer-finding[data-state="PASS"] .analyzer-status { color: #145d41; border-color: #77a58f; background: #ecf8f1; }
.analyzer-finding[data-state="REVIEW"] .analyzer-status { color: #775007; border-color: #aa8846; background: #fff8e3; }
.analyzer-finding summary strong { font-size: 18px; }
.analyzer-finding summary .analyzer-note { display: block; margin: 4px 0 0 24px; font-weight: 400; }
.analyzer-finding-body { padding: 16px 4px; }
.analyzer-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.analyzer-evidence { border-left: 3px solid #8195ac; padding: 12px 16px; min-width: 0; background: var(--tool-soft); margin-bottom: 16px; }
.analyzer-evidence h4 { font-size: 16px; }
.analyzer-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 16px; background: var(--tool-soft); border: 1px solid var(--tool-border); border-radius: 8px; margin: 16px 0; }
.analyzer-filters label { flex: 1 1 130px; min-width: 0; }
.analyzer-next { margin-top: 24px; padding: 24px; border-left: 3px solid var(--tool-action); background: #edf6f1; }
.analyzer-run-heading { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.analyzer-run-heading :is(h1,h2) { margin: 0; font-size: 30px; }
.analyzer-run-heading .analyzer-status { text-transform: capitalize; }
.analyzer-definitions { display: grid; grid-template-columns: 110px 1fr; gap: 8px 20px; }
.analyzer-steps li { padding: 6px 0; }
.tool-group { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 32px; margin-bottom: 24px; }
.tool-group > h2 { font-size: 18px; padding-top: 16px; }
.tool-list { border-top: 1px solid var(--tool-border); }
.analyzer-shell .tool-row { display: flex; align-items: center; gap: 24px; justify-content: space-between; padding: 12px; border-bottom: 1px solid var(--tool-border); text-decoration: none; color: var(--tool-ink); }
.tool-row:hover { background: #fff; }
.tool-row h3 { font-size: 18px; margin: 0 0 4px; }
.tool-row p { margin: 0; font-size: 16px; }
.tool-action { color: #174ea6; flex-shrink: 0; font-size: 14px; }
.social-workbench { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; align-items: start; margin: 24px 0; }
.social-editor-fields { display: grid; gap: 12px; }
.social-preview { min-width: 0; }
.social-preview details { border: 0; }
.social-preview details > summary { font-size: 18px; }
.social-preview[data-enhanced] > [data-platform] > summary { display: none; }
.social-card { border: 1px solid var(--tool-border); border-radius: 8px; overflow: hidden; margin: 16px 0; background: #f8fafc; }
.social-card > img { display: block; width: 100%; height: auto; aspect-ratio: 1.91; object-fit: cover; }
.social-card > p, .social-card > h4 { padding: 0 16px; margin: 12px 0; }
.social-card [data-card-title] { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.social-card [data-card-description] { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.social-image-empty { padding: 48px 16px; text-align: center; color: #4b5e75; background: #e8edf3; }
.social-safe-image { max-width: 100%; height: auto; object-fit: contain; }
[data-platform="Discord"] .social-card { border-left: 4px solid #5865f2; }
[data-platform="Slack"] .social-card { border-radius: 0; border-left: 4px solid #64748b; }
[data-platform="WhatsApp"] .social-card { border-color: #8ab79c; background: #f1fbf4; }
.analyzer-image-evidence { padding: 16px 0; border-bottom: 1px solid var(--tool-border); }
.ads-network { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 24px 0; }
.ads-network caption { caption-side: top; color: var(--tool-ink); font-weight: 600; }
.ads-network th, .ads-network td { padding: 12px; border-bottom: 1px solid var(--tool-border); text-align: left; vertical-align: top; }
.ads-network thead { background: var(--tool-soft); font-size: 14px; }
.ads-network th:first-child { width: 20%; }
.ads-network th:last-child { width: 50%; }
.analyzer-shell [hidden] { display: none !important; }
.analyzer-copy-feedback { display: inline-block; margin: 8px 12px; font-size: 14px; color: var(--tool-muted); }
.analyzer-field-error:empty { display: none; }
.analyzer-related p { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.analyzer-related a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 800px) {
    .analyzer-shell { padding: 12px 16px 48px; }
    .analyzer-shell h1 { font-size: 30px; }
    .analyzer-shell h2 { font-size: 24px; }
    .analyzer-hero { padding: 12px 0 20px; }
    .analyzer-panel { padding: 16px; }
    .analyzer-form-grid, .social-workbench, .analyzer-evidence-grid { grid-template-columns: 1fr; }
    .analyzer-form-grid { gap: 12px; }
    .analyzer-form-grid .btn { width: 100%; }
    .feed-context-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    [data-feed-form] > .btn { width: 100%; }
    .tool-group { grid-template-columns: 1fr; gap: 0; margin-bottom: 20px; }
    .tool-group > h2 { padding: 0; font-size: 18px; margin-bottom: 12px; }
    .tool-row { align-items: flex-start; }
    .analyzer-shell .tool-row { padding: 12px 0; gap: 12px; }
    .tool-action { max-width: 48px; }
    .social-preview { order: -1; }
    .analyzer-run-heading :is(h1,h2) { font-size: 26px; }
    .analyzer-next { padding: 16px; }
    .ads-network, .ads-network tbody, .ads-network tr, .ads-network th, .ads-network td { display: block; width: 100%; }
    .ads-network thead { display: none; }
    .ads-network th:first-child { width: 100%; }
    .ads-network td[data-label]::before { content: attr(data-label) ": "; font-weight: 600; }
    .ads-network tr { margin-bottom: 16px; }
}
@media (max-width: 600px) {
    .analyzer-explain-grid { grid-template-columns: 1fr; gap: 0; }
    .analyzer-section { padding: 24px 0; }
    .analyzer-definitions { grid-template-columns: 1fr; gap: 4px; }
    .analyzer-breadcrumb { line-height: 1.4; }
    .analyzer-shell .tool-row { display: block; }
    .tool-action { display: block; max-width: none; margin-top: 8px; }
}
@media (max-width: 359px) {
    .feed-context-grid, .analyzer-context-grid { grid-template-columns: 1fr; }
    .feed-source-switch label { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    .analyzer-shell *, .analyzer-shell *::before, .analyzer-shell *::after { scroll-behavior: auto; transition: none; animation: none; }
}
