:root {
  --ink: #172421;
  --ink-2: #24322f;
  --paper: #f5f2e9;
  --white: #fffefa;
  --line: #d9d8ce;
  --muted: #68716d;
  --lime: #bdf778;
  --lime-dark: #6da82e;
  --coral: #ff765e;
  --blue: #8ed7ed;
  --yellow: #f4ca64;
  --red: #d94e43;
  --shadow: 0 20px 60px rgba(23, 36, 33, .1);
  --radius: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font-size: 23px; font-weight: 850; letter-spacing: -.8px; }
.brand-mark { width: 31px; height: 31px; border-radius: 10px 10px 10px 3px; display: grid; place-items: center; background: var(--lime); color: var(--ink); font-size: 21px; line-height: 1; font-weight: 900; }
.brand-light { color: #fff; }
.brand-dark { color: var(--ink); }
.button { min-height: 48px; padding: 0 20px; border: 1px solid transparent; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; text-decoration: none; font-weight: 750; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23,36,33,.14); }
.button-small { min-height: 40px; padding: 0 16px; font-size: 14px; border-radius: 10px; }
.button-dark { background: var(--ink); color: #fff; }
.button-accent { background: var(--lime); color: var(--ink); }
.button-ghost { border-color: var(--line); background: transparent; color: var(--ink); }
.button-danger { border-color: #edb9b4; color: #a62f27; background: #fff4f2; }
.button-block { width: 100%; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.eyebrow { margin: 0 0 14px; color: #477023; font-size: 12px; font-weight: 850; letter-spacing: 1.6px; text-transform: uppercase; }
.eyebrow-light { color: var(--lime); }
.muted { color: var(--muted); }

/* Marketing */
.marketing { overflow-x: hidden; }
.marketing-nav { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.marketing-nav nav { display: flex; gap: 30px; }
.marketing-nav nav a, .text-link { color: #384440; font-size: 14px; font-weight: 680; text-decoration: none; }
.marketing-nav nav a:hover, .text-link:hover { color: var(--lime-dark); }
.nav-actions { display: flex; align-items: center; gap: 22px; }
.hero { min-height: 710px; padding: 80px 0 95px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 70px; }
.hero-copy { position: relative; z-index: 2; }
.pulse-dot { width: 8px; height: 8px; display: inline-block; margin-right: 8px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(255,118,94,.16); }
.hero h1 { margin: 0; font-size: clamp(62px, 7vw, 102px); line-height: .91; letter-spacing: -6px; font-weight: 870; }
.hero h1 em, .dark-section h2 em, .auth-story h1 em { color: var(--coral); font-family: Georgia, serif; font-weight: 500; }
.hero-lede { max-width: 610px; margin: 30px 0; color: #46514d; font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.product-stage { position: relative; min-height: 540px; display: grid; place-items: center; }
.stage-orbit { position: absolute; border: 1px solid #d7d6c9; border-radius: 50%; }
.orbit-one { width: 560px; height: 560px; }
.orbit-two { width: 430px; height: 430px; border-style: dashed; }
.preview-window { position: relative; z-index: 2; width: min(510px, 100%); overflow: hidden; background: var(--white); border: 1px solid #dad9ce; border-radius: 22px; box-shadow: 0 35px 90px rgba(23,36,33,.18); transform: rotate(1.4deg); }
.preview-window > header { height: 58px; padding: 0 18px; display: flex; align-items: center; gap: 10px; background: var(--ink); color: #fff; }
.preview-logo { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: var(--lime); color: var(--ink); font-weight: 900; }
.preview-title { font-size: 12px; font-weight: 700; }
.preview-pill { margin-left: auto; padding: 5px 9px; border: 1px solid #51635f; border-radius: 999px; color: var(--lime); font-size: 9px; text-transform: uppercase; letter-spacing: .8px; }
.preview-body { padding: 25px; display: grid; grid-template-columns: 120px 1fr; gap: 22px; }
.preview-score { height: 120px; padding: 13px; display: flex; flex-direction: column; justify-content: center; border: 1px solid #e4e2d9; border-radius: 18px; background: #fbfaf5; }
.preview-score span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.preview-score strong { font-size: 47px; line-height: 1; letter-spacing: -3px; }
.preview-score small { color: var(--lime-dark); font-size: 9px; }
.preview-chart { height: 120px; display: flex; align-items: end; gap: 8px; padding: 15px; border-radius: 18px; background: #eff8f5; }
.preview-chart i { flex: 1; border-radius: 5px 5px 1px 1px; background: var(--ink); opacity: .82; }
.preview-chart i:nth-child(1) { height: 38%; }.preview-chart i:nth-child(2) { height: 51%; }.preview-chart i:nth-child(3) { height: 46%; }.preview-chart i:nth-child(4) { height: 63%; }.preview-chart i:nth-child(5) { height: 70%; background: var(--coral); }.preview-chart i:nth-child(6) { height: 76%; }.preview-chart i:nth-child(7) { height: 88%; background: var(--lime-dark); }
.preview-findings { grid-column: 1 / -1; display: grid; gap: 8px; }
.preview-findings > div { min-height: 58px; padding: 9px 12px; display: flex; align-items: center; gap: 11px; border: 1px solid #e5e3da; border-radius: 12px; }
.severity { width: 8px; height: 28px; border-radius: 5px; }.severity-critical { background: var(--coral); }.severity-warning { background: var(--yellow); }.severity-good { background: var(--lime-dark); }
.preview-findings p { flex: 1; margin: 0; display: flex; flex-direction: column; font-size: 11px; }.preview-findings small { color: var(--muted); }.preview-findings b { font-size: 14px; }
.floating-card { position: absolute; z-index: 3; padding: 14px 16px; display: flex; flex-direction: column; background: var(--white); border: 1px solid #d6d6ca; border-radius: 14px; box-shadow: var(--shadow); }
.floating-card span, .floating-card small { color: var(--muted); font-size: 9px; }.floating-card strong { font-size: 12px; }
.float-calendar { left: -5px; bottom: 70px; width: 190px; transform: rotate(-4deg); }.float-change { right: -12px; top: 72px; width: 115px; transform: rotate(4deg); }.float-change .mini-spark { width: 28px; height: 28px; margin-bottom: 7px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: 15px; }
.signal-strip { overflow: hidden; padding: 17px 0; color: #fff; background: var(--ink); transform: rotate(-1deg) scale(1.02); }
.strip-items { display: flex; justify-content: center; align-items: center; gap: 27px; white-space: nowrap; font-weight: 770; }.strip-items i { color: var(--lime); font-style: normal; }
.section { padding-top: 125px; padding-bottom: 125px; }
.section-heading h2 { margin: 0; font-size: clamp(42px, 5vw, 68px); line-height: 1; letter-spacing: -3.6px; }
.split-heading { margin-bottom: 55px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 80px; }.split-heading > p { margin: 0 0 4px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }.feature-card { min-height: 400px; padding: 32px; position: relative; overflow: hidden; border: 1px solid rgba(23,36,33,.12); border-radius: 25px; }.feature-lime { background: #dcffb5; }.feature-blue { background: #c8ecf7; }.feature-coral { background: #ffd0c7; }
.feature-index { position: absolute; top: 25px; right: 26px; font-size: 12px; font-weight: 850; opacity: .55; }/* The icon sits on the same line as the heading it belongs to, rather than
   stacked above it, so a card reads as one statement instead of three. */
.feature-head { margin: 40px 0 18px; display: flex; align-items: center; gap: 14px; }
.feature-icon { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(23,36,33,.2); border-radius: 50%; font-size: 23px; }
.feature-head h3 { margin: 0; }.feature-card h3 { margin: 0 0 12px; font-size: 25px; line-height: 1.1; letter-spacing: -1px; }.feature-card p { min-height: 100px; color: #42504c; }.feature-card ul { margin: 20px 0 0; padding: 20px 0 0; border-top: 1px solid rgba(23,36,33,.17); list-style: none; }.feature-card li { margin: 7px 0; font-size: 13px; font-weight: 700; }.feature-card li::before { content: "✓"; margin-right: 8px; }
.dark-section { padding: 125px 0; color: #fff; background: var(--ink); }.publishing-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 100px; }.publishing-copy h2 { margin: 0; font-size: clamp(48px, 5.5vw, 72px); line-height: .98; letter-spacing: -4px; }.publishing-copy > p:not(.eyebrow) { color: #b8c3bf; font-size: 17px; line-height: 1.7; }.principle-list { margin-top: 35px; display: grid; gap: 0; }.principle-list > div { padding: 17px 0; display: flex; gap: 18px; border-top: 1px solid #3b4a46; }.principle-list b { color: var(--lime); font-size: 12px; }.principle-list span { display: flex; flex-direction: column; }.principle-list small { color: #9eaaa6; }
.queue-demo { overflow: hidden; color: var(--ink); background: #f8f6ee; border-radius: 24px; box-shadow: 0 35px 80px rgba(0,0,0,.25); }.queue-demo > header { padding: 25px 28px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #dcdbd1; }.overline { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: 1.2px; text-transform: uppercase; }.queue-demo h3 { margin: 3px 0 0; font-size: 20px; }.queue-count, .count-pill { padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.5); font-size: 10px; font-weight: 750; }.timeline-row { min-height: 90px; padding: 14px 25px; display: grid; grid-template-columns: 50px 1fr; align-items: center; border-bottom: 1px solid #e2e0d7; }.timeline-row time { color: var(--muted); font-size: 11px; }.timeline-row article { padding: 13px; display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #dfddd4; border-radius: 13px; }.timeline-row article > div { flex: 1; display: flex; flex-direction: column; font-size: 12px; }.timeline-row article small { color: var(--muted); }.account-badge, .connector-logo { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; font-size: 10px; font-weight: 900; }.badge-wp, .badge-wordpress { color: #fff; background: #21759b; }.badge-ma, .badge-mastodon { color: #fff; background: #6364ff; }.badge-bs, .badge-bluesky { color: #fff; background: #1688f0; }.badge-meta { color: #fff; background: #0668e1; }.badge-linkedin { color: #fff; background: #0a66c2; }.badge-pin, .badge-pinterest { color: #fff; background: #bd081c; }
.badge-x { color: #fff; background: #0f1419; }
.badge-facebook { color: #fff; background: #0668e1; }
.badge-instagram { color: #fff; background: #c13584; }
.badge-tiktok { color: #fff; background: #010101; }
.status-chip { padding: 5px 9px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; }.status-ready, .status-published, .status-active { color: #2d6516; background: #e2f9ca; }.status-review { color: #7c5e13; background: #fff0c3; }.status-queued { color: #1a5d74; background: #d9f2fa; }.status-failed { color: #a62f27; background: #fee0dc; }.status-canceled { color: #646b68; background: #e8eae8; }
.queue-demo > footer { padding: 15px 28px; display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }.live-dot { width: 7px; height: 7px; margin-right: 5px; display: inline-block; border-radius: 50%; background: var(--lime-dark); }
.centered-heading { max-width: 720px; margin: 0 auto 55px; text-align: center; }.centered-heading p:last-child { color: var(--muted); font-size: 17px; }.connector-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.connector-grid article { min-height: 96px; padding: 17px; display: flex; align-items: center; gap: 14px; background: var(--white); border: 1px solid var(--line); border-radius: 17px; }.connector-grid article > div { flex: 1; }.connector-grid h3 { margin: 0; font-size: 15px; }.connector-grid p { margin: 2px 0 0; color: var(--muted); font-size: 11px; }.stage { width: max-content; padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .5px; }.stage-alpha { color: #326d19; background: #ddf8c3; }.stage-wait { color: #735d26; background: #f7edce; }
.cta-section { margin-top: 20px; margin-bottom: 100px; padding: 65px; display: flex; align-items: end; justify-content: space-between; gap: 40px; background: var(--lime); border: 1px solid #9bd54d; border-radius: 28px; }.cta-section h2 { max-width: 750px; margin: 0; font-size: clamp(38px, 5vw, 62px); line-height: 1; letter-spacing: -3px; }.cta-section p:last-child { margin-bottom: 0; }.marketing-footer { min-height: 120px; padding: 30px 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 35px; border-top: 1px solid var(--line); }.marketing-footer p, .marketing-footer small { color: var(--muted); font-size: 12px; }.marketing-footer nav { display: flex; gap: 18px; }.marketing-footer nav a { font-size: 12px; font-weight: 700; text-decoration: none; }.marketing-footer small { grid-column: 1 / -1; }

/* Authentication */
.auth-page { min-height: 100vh; background: var(--white); }.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(390px, .9fr) 1.1fr; }.auth-story { min-height: 100vh; padding: 48px clamp(40px, 6vw, 90px); display: flex; flex-direction: column; justify-content: space-between; color: #fff; background: var(--ink); }.auth-story > div { max-width: 550px; }.auth-story h1 { margin: 0; font-size: clamp(50px, 6vw, 82px); line-height: .94; letter-spacing: -4px; }.auth-story > div > p:last-child { max-width: 480px; color: #bac4c0; font-size: 17px; line-height: 1.7; }.auth-story blockquote { max-width: 480px; margin: 0; padding: 22px 0 0; color: #cbd4d1; border-top: 1px solid #3f4e4a; font-family: Georgia, serif; font-size: 17px; }.auth-story-signup { background: #203c35; }.auth-benefits { margin: 0; padding: 0; display: grid; gap: 12px; list-style: none; }.auth-benefits li { padding-top: 12px; border-top: 1px solid #49625b; color: #d4deda; }.auth-benefits b { margin-right: 15px; color: var(--lime); font-size: 11px; }.auth-form-wrap { display: grid; place-items: center; padding: 55px 30px; }.auth-form { width: min(440px, 100%); }.auth-kicker { margin: 0 0 8px; color: var(--lime-dark); font-size: 11px; font-weight: 850; letter-spacing: 1.3px; text-transform: uppercase; }.auth-form h2 { margin: 0; font-size: 37px; letter-spacing: -1.7px; }.auth-form > .muted { margin: 8px 0 25px; }.stack-form { display: grid; gap: 16px; }.stack-form label, .project-form label, .composer-form label, .connect-form label { display: grid; gap: 7px; color: #3b4542; font-size: 12px; font-weight: 750; }.stack-form label small { color: var(--muted); font-weight: 500; }.stack-form input, .project-form input, .project-form select, .composer-form input, .composer-form textarea, .connect-form input { width: 100%; padding: 13px 14px; color: var(--ink); background: #fff; border: 1px solid #cfd2ca; border-radius: 10px; }.stack-form input:focus, .project-form input:focus, .project-form select:focus, .composer-form input:focus, .composer-form textarea:focus, .connect-form input:focus { border-color: #6caa2e; box-shadow: 0 0 0 3px rgba(189,247,120,.28); outline: none; }.auth-switch { margin: 22px 0 0; text-align: center; color: var(--muted); font-size: 13px; }.auth-switch a { color: var(--ink); font-weight: 800; }.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.flash { margin: 0 0 22px; padding: 12px 15px; border-radius: 10px; font-size: 13px; font-weight: 650; }.flash-error { color: #8d2f28; background: #fff0ee; border: 1px solid #f0c5c0; }.flash-success { color: #356319; background: #e8fad5; border: 1px solid #c9e9a9; }

/* Application shell */
.app-page { min-height: 100vh; background: #f3f1e9; }.app-shell { min-height: 100vh; display: grid; grid-template-columns: 245px minmax(0, 1fr); }.sidebar { height: 100vh; padding: 27px 18px 18px; position: sticky; top: 0; display: flex; flex-direction: column; color: #fff; background: var(--ink); }.sidebar > .brand { margin-left: 10px; }.workspace-switch { margin: 28px 0 23px; padding: 11px; display: flex; align-items: center; gap: 10px; background: #243632; border: 1px solid #3a4a46; border-radius: 12px; }.workspace-avatar { width: 34px; height: 34px; display: grid; place-items: center; color: var(--ink); background: var(--lime); border-radius: 9px; font-weight: 850; }.workspace-switch div, .user-chip div { min-width: 0; display: flex; flex-direction: column; }.workspace-switch strong, .user-chip strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.workspace-switch small, .user-chip small { color: #97a7a2; font-size: 9px; text-transform: capitalize; }.app-nav { display: grid; gap: 3px; }.app-nav p { margin: 19px 11px 6px; color: #758681; font-size: 9px; font-weight: 850; letter-spacing: 1.2px; text-transform: uppercase; }.app-nav a { min-height: 41px; padding: 0 11px; display: flex; align-items: center; gap: 11px; color: #b8c5c1; border-radius: 9px; font-size: 12px; font-weight: 650; text-decoration: none; }.app-nav a:hover { color: #fff; background: #263934; }.app-nav a[aria-current="page"] { color: var(--ink); background: var(--lime); }.nav-icon { width: 18px; text-align: center; font-size: 15px; }.sidebar-foot { margin-top: auto; padding: 13px 8px 0; display: flex; align-items: center; gap: 8px; border-top: 1px solid #384844; }.user-chip { min-width: 0; flex: 1; display: flex; align-items: center; gap: 8px; }.user-chip > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); background: var(--blue); font-size: 11px; font-weight: 850; }.icon-button { width: 32px; height: 32px; display: grid; place-items: center; color: #a9b8b3; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }.icon-button:hover { color: #fff; background: #2b3d38; }.app-main { min-width: 0; }.mobile-header, .mobile-nav { display: none; }.app-content { width: min(1380px, 100%); margin: 0 auto; padding: 42px clamp(24px, 4vw, 58px) 80px; }.page-header { margin-bottom: 30px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }.page-header h1 { margin: 0; font-size: clamp(37px, 4vw, 52px); line-height: 1; letter-spacing: -2.8px; }.page-header p:last-child { margin: 10px 0 0; color: var(--muted); }.page-header form { flex: 0 0 auto; }.back-link { margin-bottom: 24px; display: inline-block; color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: none; }.back-link:hover { color: var(--ink); }
.metric-grid { margin-bottom: 20px; display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); gap: 13px; }.metric-card { min-height: 156px; padding: 21px; display: flex; flex-direction: column; justify-content: space-between; background: var(--white); border: 1px solid var(--line); border-radius: 17px; }.metric-primary { background: var(--ink); color: #fff; border-color: var(--ink); }.metric-card > span, .quota-summary > span { color: var(--muted); font-size: 10px; font-weight: 850; letter-spacing: .8px; text-transform: uppercase; }.metric-primary > span { color: #9fb0aa; }.metric-card > strong { font-size: 40px; line-height: 1; letter-spacing: -2px; }.metric-card > strong small, .quota-summary > strong small { color: var(--muted); font-size: 14px; letter-spacing: 0; }.metric-primary > strong small { color: #8fa29c; }.metric-card p, .quota-summary p { margin: 0; color: var(--muted); font-size: 10px; }.metric-primary p { color: #91a29c; }
meter { width: 100%; height: 8px; border: 0; background: #e2e4de; border-radius: 999px; }.quota-card meter { margin: 6px 0; }meter::-webkit-meter-bar { background: #e2e4de; border: 0; border-radius: 999px; }meter::-webkit-meter-optimum-value { background: var(--lime-dark); border-radius: 999px; }meter::-moz-meter-bar { background: var(--lime-dark); border-radius: 999px; }
.panel { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }.project-panel, .form-panel, .queue-panel, .provider-section, .plan-panel { margin-top: 20px; }.panel-heading { padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e1e0d7; }.panel-heading h2 { margin: 0; font-size: 18px; letter-spacing: -.5px; }.panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }.project-list { display: grid; }.project-row { min-height: 95px; padding: 15px 22px; display: grid; grid-template-columns: 62px minmax(160px, 1.4fr) repeat(3, minmax(110px, .8fr)) 25px; align-items: center; gap: 17px; border-bottom: 1px solid #e6e4dc; text-decoration: none; }.project-row:last-child { border-bottom: 0; }.project-row:hover { background: #faf9f4; }.score-ring { width: 56px; height: 56px; display: grid; place-content: center; text-align: center; background: #f3f5ef; border: 5px solid #a7d378; border-radius: 50%; }.score-ring strong { font-size: 16px; line-height: 1; }.score-ring small { margin-top: 2px; color: var(--muted); font-size: 7px; text-transform: uppercase; }.score-low { border-color: var(--coral); }.score-mid { border-color: var(--yellow); }.score-good { border-color: #92c85b; }.project-identity, .project-stat { min-width: 0; display: flex; flex-direction: column; }.project-identity strong { font-size: 14px; }.project-identity small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.project-stat small { color: var(--muted); font-size: 9px; text-transform: uppercase; }.project-stat strong { font-size: 12px; }.project-stat em { color: var(--muted); font-size: 9px; font-style: normal; }.row-arrow { color: var(--muted); }.empty-state { padding: 55px 25px; text-align: center; }.empty-state.compact { padding: 30px 20px; }.empty-icon { width: 50px; height: 50px; margin: 0 auto 12px; display: grid; place-items: center; border-radius: 50%; background: #e9f8d8; color: #4f7a24; font-size: 22px; }.empty-state h3 { margin: 0; font-size: 17px; }.empty-state p { max-width: 470px; margin: 7px auto 0; color: var(--muted); font-size: 12px; }.form-panel .panel-heading { border-bottom: 0; }.project-form { padding: 0 24px 25px; display: grid; grid-template-columns: 1fr 1.5fr .75fr .6fr auto; align-items: end; gap: 12px; }.project-form .span-two { grid-column: auto; }.project-form input, .project-form select { min-height: 44px; background: #fbfaf6; }.project-form .button { min-height: 44px; }
.project-header { margin-bottom: 25px; }.project-hero-card { margin-bottom: 20px; padding: 24px; display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 0; background: var(--ink); color: #fff; border-radius: var(--radius); }.project-hero-card > div { min-height: 105px; padding: 7px 24px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid #3b4a46; }.project-hero-card > div:first-child { padding-left: 5px; border-left: 0; }.hero-score { flex-direction: row !important; align-items: center; justify-content: flex-start !important; gap: 20px; }.score-ring-large { width: 90px; height: 90px; border-width: 7px; background: #22332f; }.score-ring-large strong { color: #fff; font-size: 27px; }.hero-score > div { display: flex; flex-direction: column; }.hero-score > div > span, .project-hero-card .overline { color: #94a59f; font-size: 9px; text-transform: uppercase; }.hero-score > div > strong { font-size: 18px; }.hero-score > div > small, .project-hero-card > div > small { color: #94a59f; font-size: 9px; }.big-number { font-size: 36px; line-height: 1.2; }.critical-text { color: #e3594f !important; }.warning-text { color: #bc8c19 !important; }.detail-grid { display: grid; grid-template-columns: 1.5fr .8fr; gap: 20px; }.finding-list { display: grid; }.finding-row { padding: 18px 21px; display: grid; grid-template-columns: 35px 1fr 30px; gap: 13px; border-bottom: 1px solid #e5e3dc; }.finding-row:last-child { border-bottom: 0; }.severity-mark { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; font-size: 12px; font-weight: 900; }.severity-critical { color: #a83229; background: #ffe2de; }.severity-warning { color: #8b6817; background: #fff0c6; }.severity-info { color: #25677d; background: #dff5fb; }.finding-row header { display: flex; align-items: center; gap: 8px; }.finding-row header strong { font-size: 13px; }.finding-row p { margin: 5px 0; color: var(--muted); font-size: 11px; }.finding-row > b { font-size: 14px; text-align: right; }.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }.truncate { max-width: 520px; display: block; overflow: hidden; color: #87908c; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.audit-history { margin: 0; padding: 20px 23px; list-style: none; }.audit-history li { min-height: 65px; display: grid; grid-template-columns: 14px 1fr; gap: 12px; }.history-node { width: 10px; height: 10px; margin-top: 5px; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px var(--line); }.node-good { background: var(--lime-dark); }.node-warn { background: var(--yellow); }.audit-history header { display: flex; justify-content: space-between; gap: 10px; }.audit-history strong, .audit-history span { font-size: 11px; }.audit-history p, .audit-history small { margin: 2px 0 0; color: var(--muted); font-size: 9px; }.danger-zone { margin: 5px 20px 20px; padding: 16px; border: 1px solid #edcfca; border-radius: 12px; background: #fff8f6; }.danger-zone h3 { margin: 0; font-size: 12px; }.danger-zone p { color: var(--muted); font-size: 10px; }
.social-layout { display: grid; grid-template-columns: 1fr 240px; align-items: start; gap: 18px; }.composer-form { padding: 0 24px 24px; display: grid; gap: 18px; }.composer-form textarea { resize: vertical; }.composer-form label > small { color: var(--muted); font-weight: 500; }.composer-form fieldset { margin: 0; padding: 0; border: 0; }.composer-form legend { margin-bottom: 8px; color: #3b4542; font-size: 12px; font-weight: 750; }.account-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.account-options label { min-width: 0; padding: 10px; display: flex; align-items: center; gap: 9px; background: #faf9f4; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }.account-options input { width: auto; }.account-options label > span:last-child { min-width: 0; display: flex; flex-direction: column; }.account-options strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.account-options small { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.composer-actions { display: flex; align-items: end; justify-content: space-between; gap: 15px; }.composer-actions label { max-width: 280px; flex: 1; position: relative; }.composer-actions label > span { position: absolute; top: 0; right: 0; color: var(--muted); font-size: 8px; }.quota-summary { padding: 22px; display: flex; flex-direction: column; gap: 12px; }.quota-summary > strong { font-size: 30px; letter-spacing: -1px; }.empty-inline { padding: 12px; color: var(--muted); background: #f5f4ee; border-radius: 10px; font-size: 11px; }.queue-list { display: grid; }.queue-row { min-height: 88px; padding: 15px 22px; display: grid; grid-template-columns: 105px minmax(220px, 1fr) auto auto; align-items: center; gap: 18px; border-bottom: 1px solid #e5e3dc; }.queue-row:last-child { border-bottom: 0; }.queue-row time, .queue-copy { display: flex; flex-direction: column; }.queue-row time strong { font-size: 11px; }.queue-row time small { color: var(--muted); font-size: 9px; }.queue-copy > strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.queue-copy > span { display: flex; gap: 5px; margin-top: 5px; }.provider-chip { padding: 3px 6px; color: var(--muted); background: #eeeee8; border-radius: 6px; font-size: 8px; text-transform: capitalize; }.queue-copy p { margin: 3px 0 0; font-size: 9px; }.text-button { padding: 5px; background: transparent; border: 0; font-size: 10px; font-weight: 700; cursor: pointer; }.danger-text { color: #ae3930; }
.connection-list { display: grid; }.connection-list article { min-height: 76px; padding: 13px 22px; display: grid; grid-template-columns: 40px minmax(180px, 1fr) auto 150px auto; align-items: center; gap: 15px; border-bottom: 1px solid #e5e3dc; }.connection-list article:last-child { border-bottom: 0; }.connection-list article > div { display: flex; flex-direction: column; }.connection-list strong { font-size: 12px; }.connection-list small { color: var(--muted); font-size: 9px; }.provider-section { background: transparent; border: 0; }.provider-section > .panel-heading { padding-inline: 0; }.provider-grid { padding-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.provider-card { min-height: 245px; padding: 22px; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: 17px; }.provider-card header, .provider-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.provider-card h3 { margin: 28px 0 6px; font-size: 20px; }.provider-card > p { margin: 0; color: var(--muted); font-size: 11px; }.provider-card footer { margin-top: auto; }.provider-card footer small { color: var(--muted); font-size: 9px; }
.provider-footer-stacked { flex-direction: column; align-items: stretch; gap: 10px; }
.connect-form { display: grid; gap: 10px; width: 100%; }
.connect-form label { font-size: 11px; }
.connect-form input { padding: 10px 12px; font-size: 13px; }
.connect-hint { color: var(--muted); font-size: 9px; line-height: 1.45; }
.provider-note { margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; font-style: italic; }
.media-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; }
.media-option { display: grid; gap: 5px; justify-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; font-size: 10px; color: var(--muted); }
.media-option:has(input:checked) { border-color: #6caa2e; box-shadow: 0 0 0 2px rgba(189,247,120,.35); }
.media-option img { width: 100%; height: 62px; object-fit: cover; border-radius: 7px; }
.media-video { display: grid; place-items: center; width: 100%; height: 62px; border-radius: 7px; background: #eef1ec; font-weight: 750; color: #3b4542; }
.upload-form { display: grid; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.upload-form label { display: grid; gap: 7px; color: #3b4542; font-size: 12px; font-weight: 750; }
.upload-form label small { color: var(--muted); font-weight: 500; }
.upload-form input[type=text] { width: 100%; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid #cfd2ca; border-radius: 10px; }
.upload-form button { justify-self: start; }
.variant-hint { margin: 0 0 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.variant-fields { display: grid; gap: 12px; }
.variant-fields label { display: grid; gap: 6px; color: #3b4542; font-size: 12px; font-weight: 750; }
.variant-fields label small { color: var(--muted); font-weight: 500; }
.variant-fields textarea { width: 100%; padding: 10px 12px; color: var(--ink); background: #fff; border: 1px solid #cfd2ca; border-radius: 10px; resize: vertical; }
.variant-fields textarea:focus { border-color: #6caa2e; box-shadow: 0 0 0 3px rgba(189,247,120,.28); outline: none; }
.queue-actions { display: flex; align-items: center; gap: 14px; }
.preview-panel { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); }
.preview-panel h3 { margin: 0 0 12px; font-size: 14px; }
.preview-list { display: grid; gap: 12px; }
.preview-card { padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfa; }
.preview-card header, .preview-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.preview-card footer { margin-top: 8px; gap: 12px; justify-content: flex-start; }
.preview-card footer small { font-size: 10px; color: var(--muted); }
.preview-blocked { border-color: #f0c5c0; background: #fff8f7; }
.preview-count { font-size: 11px; font-weight: 750; color: var(--muted); }
.preview-text { margin: 10px 0 0; padding: 0; font: inherit; font-size: 13px; line-height: 1.5; color: var(--ink); white-space: pre-wrap; word-break: break-word; }
.ready-text { color: #356319; font-weight: 700; }
.window-switch { display: flex; gap: 6px; }
.window-switch a { padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 750; text-decoration: none; }
.window-switch a[aria-current] { color: var(--ink); background: #eef4e6; border-color: #c9e9a9; }
.metric-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin-bottom: 22px; }
.metric-card { padding: 16px 18px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; display: grid; gap: 4px; }
.metric-card span { color: var(--muted); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.metric-card strong { font-size: 26px; }
.metric-card small { color: var(--muted); font-size: 10px; }
.volume-chart { display: flex; align-items: flex-end; gap: 5px; height: 150px; padding: 8px 0; overflow-x: auto; }
.volume-day { display: grid; gap: 5px; justify-items: center; min-width: 26px; }
.volume-stack { display: flex; flex-direction: column-reverse; justify-content: flex-start; width: 20px; height: 110px; }
.volume-published { height: var(--fill, 0%); background: #86c53d; border-radius: 3px 3px 0 0; }
.volume-failed { height: var(--fill, 0%); background: #d98a80; border-radius: 3px 3px 0 0; }
.volume-day small { color: var(--muted); font-size: 8px; white-space: nowrap; }
.chart-legend { display: flex; align-items: center; gap: 8px; margin: 6px 0 0; color: var(--muted); font-size: 10px; }
.swatch { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.swatch-published { background: #86c53d; }
.swatch-failed { background: #d98a80; margin-left: 10px; }
.table-scroll { overflow-x: auto; }
.report-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.report-table th { text-align: left; padding: 8px 10px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--line); }
.report-table td { padding: 10px; border-bottom: 1px solid #f0f2ee; }
.failure-list { display: grid; gap: 10px; }
.failure-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; }
.failure-row div { display: grid; gap: 3px; min-width: 0; }
.failure-row small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.choice-options { display: grid; gap: 10px; }
.choice-option { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.choice-option:has(input:checked) { border-color: #6caa2e; box-shadow: 0 0 0 2px rgba(189,247,120,.35); }
.choice-option span { display: grid; gap: 3px; }
.choice-option small { color: var(--muted); font-size: 11px; }
.keyword-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.keyword-form label { display: grid; gap: 6px; color: #3b4542; font-size: 12px; font-weight: 750; }
.keyword-form input, .keyword-form select { padding: 9px 11px; color: var(--ink); background: #fff; border: 1px solid #cfd2ca; border-radius: 9px; }
.keyword-form input { min-width: 220px; }
.rank-url { display: block; color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.ai-flag { display: inline-block; margin-top: 3px; padding: 1px 6px; border-radius: 999px; background: #eef4e6; color: #4a6b2a; font-size: 9px; font-weight: 700; }
.rank-up { color: #356319; font-weight: 750; }
.rank-down { color: #8d2f28; font-weight: 750; }
.muted-cell { color: var(--muted); }
.cannibal { margin-top: 5px; }
.cannibal summary { color: #8d2f28; font-size: 9px; font-weight: 750; cursor: pointer; }
.cannibal ul { margin: 6px 0 4px; padding-left: 14px; }
.cannibal li { color: var(--muted); font-size: 9px; overflow-wrap: anywhere; line-height: 1.6; }
.cannibal li span { font-weight: 750; color: #3b4542; }
.cannibal small { color: var(--muted); font-size: 9px; font-style: italic; }
.trend-block { margin-bottom: 20px; }
.trend-block h3 { margin: 0 0 10px; font-size: 13px; }
.trend-chart { display: flex; align-items: flex-end; gap: 5px; height: 120px; overflow-x: auto; padding-bottom: 2px; }
.trend-point { display: grid; gap: 5px; justify-items: center; min-width: 26px; }
.trend-bars { display: flex; align-items: flex-end; gap: 2px; height: 90px; }
.trend-score { width: 9px; height: var(--fill, 0%); background: #86c53d; border-radius: 3px 3px 0 0; }
.trend-issues { width: 9px; height: var(--fill, 0%); background: #e0b062; border-radius: 3px 3px 0 0; }
.trend-point small { color: var(--muted); font-size: 8px; white-space: nowrap; }
.swatch-score { background: #86c53d; }
.swatch-issues { background: #e0b062; margin-left: 10px; }
.section-footnote { max-width: 760px; margin: 22px auto 0; color: var(--muted); font-size: 12px; line-height: 1.65; text-align: center; }
/* The tilted signal strip is scaled past full width on purpose, which pushes
   the document 13px wider than the viewport and makes the whole marketing page
   scroll sideways — most visible on a phone. Clipping the overflow keeps the
   bleed without the scrollbar; clip rather than hidden so no scroll container
   is created. The app shell is untouched: it relies on sticky positioning. */
body.marketing { overflow-x: hidden; overflow-x: clip; }
.page-hero { padding: 70px 0 20px; max-width: 860px; }
.page-hero h1 { margin: 14px 0 20px; font-size: clamp(44px, 6vw, 74px); line-height: .96; letter-spacing: -3px; }
.page-lede { max-width: 640px; color: #55605c; font-size: 17px; line-height: 1.6; }
.page-hero .hero-actions { margin-top: 26px; }
.page-note { max-width: 760px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.section-more { margin: 14px 0 0; }
.section-more a, .section-footnote a { color: var(--ink); font-size: 13px; font-weight: 750; text-decoration: none; border-bottom: 2px solid var(--lime); }
.section-more a:hover, .section-footnote a:hover { border-color: var(--ink); }
.marketing-nav a[aria-current="page"] { color: var(--ink); border-bottom: 2px solid var(--lime); }

/* Landing hero -------------------------------------------------------------
   The entrance animation is pure CSS because the marketing pages are served
   under script-src 'none'. It also respects reduced-motion: an animation
   nobody asked for should never be the reason a page is unusable. */
.announce { background: var(--ink); color: #fff; font-size: 12px; }
.announce .wrap { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; text-align: center; }
.announce strong { color: var(--lime); font-weight: 800; }
.announce span { color: #c6d2ce; }
.announce a { color: #fff; font-weight: 750; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.45); }
.announce a:hover { border-color: var(--lime); color: var(--lime); }

.lead-hero { position: relative; padding: 60px 0 0; overflow: hidden; background:
  radial-gradient(1200px 520px at 50% -8%, #e9f7d4 0%, rgba(233,247,212,0) 62%), var(--paper, #f6f4ee); }
.lead-hero-inner { max-width: 880px; margin: 0 auto; text-align: center; }
.lead-hero .eyebrow { justify-content: center; display: inline-flex; align-items: center; gap: 8px; }
.lead-hero h1 { margin: 16px 0 18px; font-size: clamp(44px, 6.4vw, 84px); line-height: .95; letter-spacing: -3.4px; }
.lead-sub { max-width: 620px; margin: 0 auto; color: #55605c; font-size: 18px; line-height: 1.55; }

.lead-search { max-width: 620px; margin: 30px auto 0; padding: 7px 7px 7px 20px; display: flex; align-items: center; gap: 10px;
  background: var(--white); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 16px 40px rgba(30,44,40,.10); }
.lead-search input { flex: 1; min-width: 0; padding: 12px 0; border: 0; background: transparent; font-size: 16px; color: var(--ink); outline: none; }
.lead-search input::placeholder { color: #9aa5a1; }
.lead-search button { flex: 0 0 auto; border-radius: 999px; white-space: nowrap; }
.lead-note { margin: 14px auto 0; max-width: 560px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.lead-stage { position: relative; width: min(1080px, 92%); margin: 52px auto 0; padding-bottom: 70px; }
.stage-window { border-radius: 18px 18px 0 0; overflow: hidden; background: var(--white); border: 1px solid var(--line);
  box-shadow: 0 -2px 0 rgba(255,255,255,.6) inset, 0 40px 90px rgba(30,44,40,.16); animation: stage-rise .9s cubic-bezier(.22,.9,.3,1) both; }
.stage-chrome { padding: 12px 16px; display: flex; align-items: center; gap: 7px; background: #f2f4f0; border-bottom: 1px solid var(--line); }
.stage-chrome span { width: 9px; height: 9px; border-radius: 50%; background: #d6dcd6; }
.stage-chrome em { margin-left: 12px; color: var(--muted); font-size: 11px; font-style: normal; }
.stage-body { padding: 22px; display: grid; gap: 18px; }
.stage-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.stage-metric { padding: 14px 16px; background: #fbfcfa; border: 1px solid var(--line); border-radius: 12px; display: grid; gap: 3px; }
.stage-metric small { color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.stage-metric strong { font-size: 26px; letter-spacing: -1px; }
.stage-metric i { font-style: normal; font-size: 11px; font-weight: 750; }
.stage-metric i.up { color: #4a7d22; }
.stage-chart { height: 104px; display: flex; align-items: flex-end; gap: 8px; }
.stage-chart span { flex: 1; background: linear-gradient(180deg, #a6d867, #86c53d); border-radius: 5px 5px 0 0; transform-origin: bottom;
  animation: bar-grow .8s cubic-bezier(.22,.9,.3,1) both; }
.stage-chart span:nth-child(1){animation-delay:.28s}.stage-chart span:nth-child(2){animation-delay:.34s}.stage-chart span:nth-child(3){animation-delay:.4s}
.stage-chart span:nth-child(4){animation-delay:.46s}.stage-chart span:nth-child(5){animation-delay:.52s}.stage-chart span:nth-child(6){animation-delay:.58s}
.stage-chart span:nth-child(7){animation-delay:.64s}.stage-chart span:nth-child(8){animation-delay:.7s}.stage-chart span:nth-child(9){animation-delay:.76s}
.stage-rows { display: grid; gap: 8px; }
.stage-row { padding: 10px 12px; display: flex; align-items: center; gap: 11px; background: #fbfcfa; border: 1px solid var(--line); border-radius: 10px;
  animation: row-in .6s ease both; }
.stage-row:nth-child(1){animation-delay:.5s}.stage-row:nth-child(2){animation-delay:.62s}.stage-row:nth-child(3){animation-delay:.74s}
.stage-row b { flex: 1; font-size: 12px; }
.stage-row small { color: var(--muted); font-size: 10px; }
.chip { min-width: 34px; padding: 3px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; text-align: center; }
.chip-good { color: #2f5d13; background: #dff3c3; }
.chip-warn { color: #7a5a00; background: #fff2cd; }
.chip-bad { color: #8d2f28; background: #ffe2de; }
.stage-float { position: absolute; padding: 12px 15px; background: var(--white); border: 1px solid var(--line); border-radius: 13px;
  box-shadow: 0 18px 40px rgba(30,44,40,.14); display: grid; gap: 2px; animation: float-in .7s ease both; }
.stage-float small { color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.stage-float strong { font-size: 12px; }
.stage-float-a { left: -14px; top: 34%; animation-delay: .8s; }
.stage-float-b { right: -14px; top: 18%; animation-delay: .95s; }

@keyframes stage-rise { from { opacity: 0; transform: translateY(46px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes bar-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes row-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes float-in { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .stage-window, .stage-chart span, .stage-row, .stage-float { animation: none; opacity: 1; transform: none; }
}

/* Instant check ----------------------------------------------------------- */
.check-hero { padding-bottom: 30px; }
.check-result { max-width: 780px; margin: 0 auto 20px; padding: 26px 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.check-result h2 { margin: 8px 0 12px; font-size: clamp(24px, 3vw, 34px); letter-spacing: -1.2px; }
.check-result p { margin: 0; color: #55605c; line-height: 1.65; }
.check-good { border-color: #c9e9a9; background: #f6fced; }
.check-bad { border-color: #f0c5c0; background: #fff8f7; }
.check-error { border-color: #f0dfa2; background: #fffbf0; }
.check-findings { margin: 0 0 14px; padding-left: 18px; }
.check-findings li { color: #55605c; line-height: 1.6; margin-bottom: 6px; }
.prompt-list { display: grid; gap: 10px; }
.prompt-row { display: flex; align-items: flex-start; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; }
.prompt-absent { background: #fdfbf7; }
.prompt-copy { flex: 1; display: grid; gap: 4px; min-width: 0; }
.prompt-copy small { color: var(--muted); font-size: 10px; }
.prompt-excerpt { color: #55605c !important; font-style: italic; line-height: 1.5; }
.prompt-cites span { display: inline-block; margin-right: 6px; padding: 1px 6px; border-radius: 999px; background: #eef1ec; font-size: 9px; }
.prompt-rate { font-size: 13px; font-weight: 750; color: #3b4542; }
.competitor-block { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.competitor-block h3 { margin: 0 0 4px; font-size: 13px; }
.competitor-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.competitor-chip { padding: 5px 11px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #3b4542; font-size: 11px; font-weight: 700; cursor: pointer; }
.competitor-chip:hover { border-color: #f0c5c0; color: #8d2f28; }
.status-review { color: #7a5a00; background: #fff6d8; border: 1px solid #f0dfa2; }
.billing-current { min-height: 160px; margin-bottom: 18px; padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: #fff; background: var(--ink); border-radius: var(--radius); }.billing-current h2 { margin: 12px 0 0; font-size: 34px; letter-spacing: -1.5px; text-transform: capitalize; }.billing-current p { margin: 4px 0 0; color: #9cadA7; font-size: 11px; }.billing-amount { display: flex; flex-direction: column; text-align: right; }.billing-amount strong { font-size: 37px; }.billing-amount span { color: #9cada7; font-size: 10px; }.usage-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.plan-grid { padding: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.plan-grid article { min-height: 260px; padding: 22px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; }.plan-grid article > span { color: var(--lime-dark); font-size: 10px; font-weight: 850; text-transform: uppercase; }.plan-grid h3 { margin: 10px 0; font-size: 18px; }.plan-grid ul { margin: 5px 0 25px; padding-left: 18px; color: var(--muted); font-size: 11px; }.plan-grid li { margin: 7px 0; }.plan-grid form, .plan-grid .button, .plan-grid article > small { margin-top: auto; }.featured-plan { background: #efffdc; border-color: #aacf7f !important; }.billing-note { color: var(--muted); font-size: 10px; text-align: center; }

@media (max-width: 1050px) {
  .hero { grid-template-columns: 1fr; padding-top: 55px; }.hero-copy { max-width: 780px; }.product-stage { min-height: 560px; }.feature-grid { grid-template-columns: 1fr 1fr; }.feature-card:last-child { grid-column: 1 / -1; min-height: 390px; }.publishing-grid { grid-template-columns: 1fr; gap: 65px; }.connector-grid { grid-template-columns: 1fr 1fr; }.metric-grid { grid-template-columns: 1fr 1fr; }.project-row { grid-template-columns: 62px 1.5fr 1fr 1fr 25px; }.project-row .project-stat:nth-of-type(4) { display: none; }.project-form { grid-template-columns: 1fr 1fr; }.project-form .span-two { grid-column: auto; }.project-form .button { align-self: end; }.project-hero-card { grid-template-columns: 1.5fr 1fr 1fr; }.project-hero-card > div:last-child { display: none; }.detail-grid { grid-template-columns: 1fr; }.provider-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .wrap { width: min(100% - 28px, 1180px); }.marketing-nav { min-height: auto; padding: 14px 0 0; flex-wrap: wrap; gap: 12px; }
  /* The navigation used to be anchors on a single page, so hiding it on a
     phone only cost a scroll. Now it is the only route between four separate
     pages, and hiding it strands a visitor who lands on one of them. It wraps
     to its own scrollable row instead. */
  .marketing-nav nav { order: 3; width: 100%; gap: 20px; padding: 4px 0 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .marketing-nav nav a { white-space: nowrap; font-size: 13px; }
  .marketing-nav .text-link { display: none; }
  /* The pill puts the button beside the input, which on a phone leaves the
     input too narrow to read a domain back. It stacks instead: a search box
     you cannot read what you typed into is worse than a taller one. */
  .lead-hero { padding-top: 34px; }
  .lead-hero h1 { letter-spacing: -2px; }
  .lead-sub { font-size: 16px; }
  .lead-search { flex-direction: column; align-items: stretch; gap: 8px; padding: 10px; border-radius: 18px; }
  .lead-search input { padding: 12px 12px; text-align: center; }
  .lead-search button { width: 100%; justify-content: center; }
  .lead-hero .eyebrow { display: flex; flex-wrap: wrap; }
  /* Three metric columns on a 375px screen leave no room for their labels. */
  .stage-metrics { grid-template-columns: 1fr; }
  .stage-chart { height: 78px; }
  .lead-stage { width: calc(100% - 20px); padding-bottom: 40px; }
  .stage-float { display: none; }.hero { min-height: auto; padding: 50px 0 70px; gap: 20px; }.hero h1 { font-size: clamp(56px, 18vw, 78px); letter-spacing: -4px; }.hero-lede { font-size: 16px; }.product-stage { min-height: 470px; margin: 20px -10px 0; }.orbit-one { width: 430px; height: 430px; }.orbit-two { width: 330px; height: 330px; }.preview-window { width: 90%; }.preview-body { padding: 18px; }.float-calendar { left: 0; bottom: 26px; }.float-change { right: 0; top: 28px; }.signal-strip { font-size: 12px; }.strip-items { justify-content: flex-start; overflow: hidden; }.section { padding-top: 85px; padding-bottom: 85px; }.split-heading { grid-template-columns: 1fr; gap: 25px; }.split-heading > p { font-size: 15px; }.feature-grid { grid-template-columns: 1fr; }.feature-card, .feature-card:last-child { min-height: 420px; grid-column: auto; }.dark-section { padding: 85px 0; }.publishing-copy h2 { font-size: 50px; }.queue-demo > header { padding: 20px; }.timeline-row { padding-inline: 15px; grid-template-columns: 45px 1fr; }.timeline-row article .status-chip { display: none; }.connector-grid { grid-template-columns: 1fr; }.cta-section { margin-bottom: 70px; padding: 35px 25px; align-items: flex-start; flex-direction: column; }.marketing-footer { grid-template-columns: 1fr; gap: 15px; }.marketing-footer small { grid-column: auto; }.auth-shell { grid-template-columns: 1fr; }.auth-story { display: none; }.auth-form-wrap { min-height: 100vh; padding: 40px 22px; }.app-shell { display: block; }.sidebar { display: none; }.mobile-header { min-height: 65px; padding: 0 17px; display: flex; align-items: center; justify-content: space-between; background: var(--white); border-bottom: 1px solid var(--line); }.mobile-workspace { color: var(--muted); font-size: 10px; }.mobile-nav { height: 47px; padding: 0 12px; position: sticky; top: 0; z-index: 10; display: flex; align-items: stretch; gap: 5px; overflow-x: auto; background: var(--white); border-bottom: 1px solid var(--line); }.mobile-nav a { padding: 0 9px; display: grid; place-items: center; color: var(--muted); border-bottom: 2px solid transparent; font-size: 10px; font-weight: 750; text-decoration: none; white-space: nowrap; }.mobile-nav a[aria-current="page"] { color: var(--ink); border-color: var(--lime-dark); }.app-content { padding: 30px 16px 60px; }.page-header { align-items: flex-start; flex-direction: column; }.page-header h1 { font-size: 39px; }.metric-grid { grid-template-columns: 1fr 1fr; }.metric-card { min-height: 135px; padding: 16px; }.metric-card > strong { font-size: 32px; }.project-row { padding: 14px; grid-template-columns: 56px minmax(0, 1fr) 23px; }.project-row .project-stat { display: none; }.project-form { grid-template-columns: 1fr; }.project-hero-card { grid-template-columns: 1fr 1fr; padding: 17px; }.project-hero-card > div { padding: 5px 15px; }.project-hero-card > div:nth-child(n+3) { display: none; }.score-ring-large { width: 74px; height: 74px; }.social-layout { grid-template-columns: 1fr; }.quota-summary { order: -1; }.account-options { grid-template-columns: 1fr; }.composer-actions { align-items: stretch; flex-direction: column; }.composer-actions label { max-width: none; }.queue-row { padding: 14px; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 10px; }.queue-row form { grid-column: 2; }.connection-list article { grid-template-columns: 38px 1fr auto; }.connection-list article > small, .connection-list article > .status-chip { display: none; }.provider-grid, .usage-grid, .plan-grid { grid-template-columns: 1fr; }.billing-current { align-items: flex-start; flex-direction: column; }.billing-amount { text-align: left; }
}

@media (max-width: 420px) {
  .hero-actions .button { width: 100%; }.preview-body { grid-template-columns: 1fr; }.preview-chart { display: none; }.preview-findings { grid-column: 1; }.float-change { display: none; }.metric-grid { grid-template-columns: 1fr; }.project-hero-card { grid-template-columns: 1fr; }.project-hero-card > div:nth-child(n+2) { display: none; }.queue-row { grid-template-columns: 1fr auto; }.queue-row time { grid-column: 1 / -1; flex-direction: row; gap: 8px; }.status-chip { grid-column: 2; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.button { transition: none; }
}

/* Competitive landscape. The bar carries the comparison; the count underneath
   keeps it honest, since a share means nothing without how many were measured. */
.share-cell { display: flex; flex-direction: column; gap: 5px; min-width: 130px; }
.share-bar { height: 7px; background: rgba(0,0,0,.07); border-radius: 999px; overflow: hidden; }
.share-bar > span { display: block; width: var(--fill, 0%); height: 100%; background: var(--ink); border-radius: 999px; }
.share-cell small { color: var(--muted); font-size: 11px; }
.panel-note { display: block; margin-top: 12px; color: var(--muted); font-size: 12px; }

/* Operator console. It reads across every workspace, so it is deliberately
   not the tenant shell: mistaking one workspace's data for your own is the
   failure mode worth designing against. */
.ops-sidebar { background: #1b1a17; }
.ops-badge { margin: 0 0 18px; padding: 6px 11px; display: inline-block; align-self: flex-start; color: #1b1a17; background: var(--lime, #d8f36b); border-radius: 999px; font-size: 10px; font-weight: 850; letter-spacing: 1px; text-transform: uppercase; }
.ops-page .metric-card > strong.stat-small { font-size: 22px; letter-spacing: -.5px; }
.warning-text { color: #a8730f; }

/* What else occupied the result page. A keyword whose page is mostly features
   is worth less at any rank than one that is ten plain links, so the chips sit
   with the position rather than behind a click. */
.serp-features { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 5px; }
.serp-feature { padding: 2px 7px; color: var(--muted); background: rgba(0,0,0,.05); border-radius: 999px; font-size: 10px; font-weight: 700; }


/* Chart proportions.
   Every bar on a signed-in page is sized from data, and the page's own
   Content-Security-Policy allows no inline styles — a style attribute is
   dropped by the browser without a word, which is how four charts came to
   render as full-height blocks. A class per percentage carries the value
   instead, so the sizes live in a stylesheet the policy already allows. */
.fill-0{--fill:0%}
.fill-1{--fill:1%}
.fill-2{--fill:2%}
.fill-3{--fill:3%}
.fill-4{--fill:4%}
.fill-5{--fill:5%}
.fill-6{--fill:6%}
.fill-7{--fill:7%}
.fill-8{--fill:8%}
.fill-9{--fill:9%}
.fill-10{--fill:10%}
.fill-11{--fill:11%}
.fill-12{--fill:12%}
.fill-13{--fill:13%}
.fill-14{--fill:14%}
.fill-15{--fill:15%}
.fill-16{--fill:16%}
.fill-17{--fill:17%}
.fill-18{--fill:18%}
.fill-19{--fill:19%}
.fill-20{--fill:20%}
.fill-21{--fill:21%}
.fill-22{--fill:22%}
.fill-23{--fill:23%}
.fill-24{--fill:24%}
.fill-25{--fill:25%}
.fill-26{--fill:26%}
.fill-27{--fill:27%}
.fill-28{--fill:28%}
.fill-29{--fill:29%}
.fill-30{--fill:30%}
.fill-31{--fill:31%}
.fill-32{--fill:32%}
.fill-33{--fill:33%}
.fill-34{--fill:34%}
.fill-35{--fill:35%}
.fill-36{--fill:36%}
.fill-37{--fill:37%}
.fill-38{--fill:38%}
.fill-39{--fill:39%}
.fill-40{--fill:40%}
.fill-41{--fill:41%}
.fill-42{--fill:42%}
.fill-43{--fill:43%}
.fill-44{--fill:44%}
.fill-45{--fill:45%}
.fill-46{--fill:46%}
.fill-47{--fill:47%}
.fill-48{--fill:48%}
.fill-49{--fill:49%}
.fill-50{--fill:50%}
.fill-51{--fill:51%}
.fill-52{--fill:52%}
.fill-53{--fill:53%}
.fill-54{--fill:54%}
.fill-55{--fill:55%}
.fill-56{--fill:56%}
.fill-57{--fill:57%}
.fill-58{--fill:58%}
.fill-59{--fill:59%}
.fill-60{--fill:60%}
.fill-61{--fill:61%}
.fill-62{--fill:62%}
.fill-63{--fill:63%}
.fill-64{--fill:64%}
.fill-65{--fill:65%}
.fill-66{--fill:66%}
.fill-67{--fill:67%}
.fill-68{--fill:68%}
.fill-69{--fill:69%}
.fill-70{--fill:70%}
.fill-71{--fill:71%}
.fill-72{--fill:72%}
.fill-73{--fill:73%}
.fill-74{--fill:74%}
.fill-75{--fill:75%}
.fill-76{--fill:76%}
.fill-77{--fill:77%}
.fill-78{--fill:78%}
.fill-79{--fill:79%}
.fill-80{--fill:80%}
.fill-81{--fill:81%}
.fill-82{--fill:82%}
.fill-83{--fill:83%}
.fill-84{--fill:84%}
.fill-85{--fill:85%}
.fill-86{--fill:86%}
.fill-87{--fill:87%}
.fill-88{--fill:88%}
.fill-89{--fill:89%}
.fill-90{--fill:90%}
.fill-91{--fill:91%}
.fill-92{--fill:92%}
.fill-93{--fill:93%}
.fill-94{--fill:94%}
.fill-95{--fill:95%}
.fill-96{--fill:96%}
.fill-97{--fill:97%}
.fill-98{--fill:98%}
.fill-99{--fill:99%}
.fill-100{--fill:100%}
