/* Catalog reference: 1304 px canvas, 1216 px content, four 286 px cards. */
.catalog-width { width: calc(100% - 88px); max-width: 1216px; margin-inline: auto; }
.catalog-page { background: var(--page); padding-top: 36px; padding-bottom: 60px; }
.catalog-page .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.catalog-intro h1 { font-family: var(--heading-font); font-size: 56px; font-weight: 800; line-height: 64px; letter-spacing: -.02em; }
.catalog-intro h1 > span { color: #009cb6; background: linear-gradient(100deg, #00a7db, #008c91); background-clip: text; -webkit-text-fill-color: transparent; }
.catalog-intro > p { font-size: 16px; line-height: 26px; margin-top: 12px; }
.catalog-discovery { display: grid; grid-template-columns: minmax(0, 1fr) 570px; align-items: center; gap: 24px; height: 76px; padding: 16px; border-radius: 16px; background: white; margin-top: 36px; }
.catalog-discovery > p { display: flex; gap: 4px; align-items: center; font-size: 14px; line-height: 22px; }
.catalog-discovery > p > .line-icon { color: #00836b; width: 13px; height: 20px; }
.output-shortcuts { display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; border-radius: 16px 0 0 16px; }
.output-shortcuts::-webkit-scrollbar { display: none; }
.output-shortcuts button { flex-shrink: 0; white-space: nowrap; background: #e9edff; padding: 4px 17px; border-radius: 20px; font: 500 12px/16px var(--heading-font); }
.output-shortcuts button[aria-pressed=true] { background: #006e91; color: white; }
.output-shortcuts button:focus-visible { outline-offset: -2px; }
.catalog-filter-wrap { position: relative; margin-top: 64px; padding-bottom: 8px; isolation: isolate; }
.catalog-filter-wrap::before { content: ""; position: absolute; z-index: -1; inset: -16px 12px 0; background: linear-gradient(180deg, #f9f8ff00, #efeff5 34%, #efeff5 90%, #f3f2f900); }
.catalog-filters { display: grid; grid-template-columns: minmax(0, 1fr) 141px 169px 157px 109px 186px; gap: 4px; align-items: center; }
.catalog-search { display: flex; align-items: center; gap: 4px; height: 42px; margin-right: -4px; padding: 0 16px; border-radius: 28px; background: white; }
.catalog-search > .line-icon { width: 16px; height: 16px; color: var(--blue); }
.catalog-search input { width: 100%; border: 0; background: transparent; color: var(--body); font-size: 14px; }
.catalog-search input::placeholder { color: var(--body); opacity: 1; }
.catalog-search kbd { background: #e9edff; border-radius: 3px; padding: 2px 4px; color: var(--body); font: 600 10px/14px var(--font); white-space: nowrap; }
.catalog-select { position: relative; display: flex; align-items: center; gap: 3px; height: 36px; min-width: 0; background: white; border-radius: 24px; padding: 0 16px; font: 600 12px/18px var(--heading-font); }
.catalog-select > span { flex-shrink: 0; pointer-events: none; }
.catalog-select select { appearance: none; border: 0; background: transparent; font: inherit; color: inherit; width: 100%; padding-right: 14px; text-overflow: ellipsis; cursor: pointer; }
.catalog-select > .line-icon { width: 12px; height: 12px; position: absolute; right: 12px; pointer-events: none; color: #65717e; }
.catalog-free { display: flex; align-items: center; gap: 4px; height: 36px; padding: 0 16px; border-radius: 24px; background: white; font: 600 12px/18px var(--heading-font); white-space: nowrap; }
.catalog-free input { width: 16px; height: 16px; margin: 0; accent-color: var(--blue); }
.sort-select { background: #e9edff; color: var(--blue); }
.sort-select > .line-icon { color: var(--blue); }
.catalog-results-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 12px; min-height: 18px; }
.catalog-results-summary { display: flex; align-items: center; gap: 10px; }
#catalog-results-count { font: 600 12px/18px var(--font); }
.catalog-status-dot { width: 6px; height: 6px; background: #65f4b7; border-radius: 50%; flex-shrink: 0; }
#catalog-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-filter-chip, .catalog-reset { color: var(--blue); font: 600 10px/16px var(--heading-font); letter-spacing: .02em; }
.catalog-filter-chip { display: inline-flex; gap: 5px; align-items: center; background: #eaf0ff; border-radius: 4px; padding: 0 3px; }
.catalog-filter-chip > span[aria-hidden] { font-size: 14px; font-weight: 400; }
.catalog-filter-chip.secondary { color: var(--body); }
.catalog-reset { flex-shrink: 0; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 25px; }
.catalog-card { display: flex; flex-direction: column; min-width: 0; height: 508px; border-radius: 16px; padding: 16px; background: white; }
.catalog-card.cyan { --accent: #00afe0; }
.catalog-card-media { position: relative; height: 192px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: #e9edff; }
.catalog-card-media > img { width: 100%; height: 100%; object-fit: cover; }
.catalog-media-badges { position: absolute; inset: 8px auto auto 8px; display: flex; align-items: center; gap: 4px; max-width: calc(100% - 42px); }
.catalog-media-badges > span { font: 600 10px/14px var(--heading-font); white-space: nowrap; letter-spacing: .01em; padding: 2px 8px; border-radius: 20px; }
.catalog-media-badges .access-badge { color: #007456; background: #ffffffed; }
.catalog-media-badges .access-badge.tested { background: #006e91e6; color: white; }
.catalog-media-badges .tool-badge { position: static; background: #484f63ee; color: white; font-size: 10px; padding-block: 2px; }
.catalog-save { position: absolute; top: 8px; right: 8px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #ffffffce; color: var(--body); }
.catalog-save .line-icon { width: 16px; height: 16px; }
.catalog-save[aria-pressed=true] { background: #bdf5df; color: #007455; }
.catalog-save[aria-pressed=true] svg { fill: #00745525; }
.catalog-card-meta { display: flex; align-items: center; gap: 6px; min-width: 0; margin-top: 12px; height: 18px; line-height: 18px; white-space: nowrap; }
.catalog-card-meta > span:first-child { font: 700 10px/18px var(--heading-font); color: var(--accent); text-transform: uppercase; letter-spacing: .02em; }
.catalog-card-meta > i { width: 4px; height: 4px; border-radius: 50%; background: #b8c9d4; flex-shrink: 0; }
.catalog-card-meta > span:last-child { overflow: hidden; text-overflow: ellipsis; font-size: 12px; color: var(--body); }
.catalog-card h2 { font: 700 18px/26px var(--heading-font); letter-spacing: -.01em; margin-top: 4px; }
.catalog-card-description { font-size: 12px; line-height: 18px; margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.catalog-inputs { margin-top: auto; padding-top: 8px; }
.catalog-inputs h3 { font: 500 11px/16px var(--font); letter-spacing: 0; color: var(--body); margin-bottom: 8px; }
.catalog-inputs > div { display: flex; flex-wrap: wrap; align-content: start; gap: 4px 16px; min-height: 56px; }
.catalog-inputs span { font-size: 11px; line-height: 18px; color: #1681ac; background: #e9edff; border-radius: 3px; padding: 4px 8px; }
.catalog-inputs .last-input { margin-right: 50%; }
.catalog-card-actions { display: flex; align-items: center; gap: 4px; height: 36px; margin-top: 18px; flex-shrink: 0; }
.inspect-prompt { display: flex; align-items: center; justify-content: center; gap: 4px; flex: 1; align-self: center; height: 32px; border-radius: 8px; background: #e9edff; font: 600 12px/18px var(--heading-font); }
.inspect-prompt .line-icon { width: 16px; height: 16px; }
.copy-catalog-prompt { display: grid; place-items: center; background: #00a9d8; width: 30px; height: 38px; border-radius: 8px; flex-shrink: 0; }
.copy-catalog-prompt .line-icon { width: 18px; height: 18px; color: #00394e; }
.landing-skeleton { position: absolute; top: 34px; left: 16px; right: 16px; }
.landing-skeleton > i { display: block; border-radius: 4px; width: 160px; height: 12px; background: #6b7286; }
.landing-skeleton > i:nth-child(2) { width: 128px; height: 8px; background: #b6bfd0; margin-top: 8px; }
.landing-skeleton > div { display: flex; gap: 4px; margin-top: 12px; }
.landing-skeleton > div > i { width: 48px; height: 16px; background: #00aad8; border-radius: 4px; }
.landing-skeleton > div > i:nth-child(2) { background: #e2e6ff; }
.landing-preview { position: absolute; bottom: 16px; left: 16px; right: 16px; border-radius: 4px; background: #f3f2ff; padding: 8px; font-size: 11px; line-height: 22px; color: var(--body); }
.preview-youtube .catalog-media-badges, .preview-email .catalog-media-badges { left: auto; right: 8px; }
.hook-preview-title { display: flex; align-items: center; gap: 8px; position: absolute; top: 18px; left: 16px; font: 600 12px/20px var(--heading-font); }
.hook-preview-title .line-icon { width: 24px; height: 18px; color: var(--blue); }
.hook-preview { position: absolute; bottom: 16px; left: 18px; right: 16px; padding: 8px; border-left: 2px solid var(--blue); border-radius: 3px; background: #f3f2ff; }
.hook-preview strong { display: block; font: 700 10px/16px var(--heading-font); color: var(--blue); letter-spacing: .02em; }
.hook-preview p { font-size: 11px; line-height: 22px; }
.email-preview-title { position: absolute; top: 24px; left: 16px; right: 16px; display: flex; justify-content: space-between; gap: 4px; font: 700 10px/16px var(--heading-font); }
.email-preview-title span { padding: 2px 5px; border-radius: 3px; background: #67f7b6; color: #007451; white-space: nowrap; }
.email-preview { position: absolute; top: 54px; left: 16px; right: 16px; padding: 8px; background: #f3f2ff; border-radius: 4px; }
.email-preview p { font-size: 11px; line-height: 26px; white-space: nowrap; }
.catalog-empty { display: flex; flex-direction: column; align-items: center; text-align: center; margin-top: 40px; border-radius: 12px; padding: 40px 24px; background: #f1f1fe; min-height: 298px; }
.catalog-empty-icon { display: grid; place-items: center; width: 64px; height: 64px; background: #e9edff; border-radius: 50%; color: var(--blue); }
.catalog-empty-icon .line-icon { width: 28px; height: 28px; }
.catalog-empty h2 { font: 700 22px/28px var(--heading-font); letter-spacing: -.02em; margin-top: 16px; }
.catalog-empty p { font-size: 14px; line-height: 22px; margin-top: 8px; }
.catalog-empty > div { display: flex; justify-content: center; gap: 16px; margin-top: 22px; }
.catalog-empty .button { min-height: 36px; padding: 8px 24px; font-size: 12px; line-height: 20px; }
.catalog-empty .button-white { min-width: 116px; }
.catalog-empty .catalog-request { min-width: 155px; }
.catalog-request { background: linear-gradient(100deg, #009acc 5%, #00886e 52%, #a4f441); box-shadow: inset 0 2px 5px #c9fa8c90; }
.catalog-guidance { margin-top: 62px; }
.catalog-guidance > h2 { font: 700 28px/36px var(--heading-font); letter-spacing: -.02em; text-align: center; }
.catalog-guidance-list { display: grid; gap: 16px; max-width: 832px; margin: 24px auto 0; }
.catalog-guidance article { display: flex; gap: 16px; padding: 24px; min-height: 100.75px; border-radius: 12px; background: white; }
.catalog-guidance article > span { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border-radius: 50%; background: #e9edff; color: var(--blue); }
.catalog-guidance article:last-child > span { color: var(--green); }
.catalog-guidance article .line-icon { width: 18px; height: 18px; }
.catalog-guidance h3 { font: 700 18px/26px var(--heading-font); letter-spacing: -.01em; margin-bottom: 4px; }
.catalog-guidance p { font-size: 14px; line-height: 22px; }

@media (max-width: 1199px) {
    .catalog-width { width: calc(100% - 48px); }
    .catalog-intro h1 { font-size: 48px; line-height: 58px; }
    .catalog-desktop-break { display: none; }
    .catalog-intro > p { max-width: 790px; }
    .catalog-discovery { grid-template-columns: 1fr; height: auto; gap: 16px; padding: 20px; }
    .catalog-discovery > p { max-width: 720px; gap: 8px; }
    .catalog-filters { grid-template-columns: 1.3fr 1.5fr 1.4fr 110px 1.6fr; gap: 8px; }
    .catalog-search { grid-column: 1/-1; margin: 0; }
    .catalog-select { padding-inline: 12px; }
    .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-card { height: 520px; }
    .catalog-card-meta { gap: 4px; }
    .catalog-results-bar { align-items: flex-start; }
    .catalog-results-summary { flex-wrap: wrap; gap: 8px; }
    .catalog-empty { margin-top: 32px; }
}
@media (max-width: 900px) {
    .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-search { grid-column: span 2; }
    .catalog-free { justify-content: center; }
    .catalog-card { height: 508px; }
    .catalog-intro h1 { font-size: 42px; line-height: 52px; }
    .catalog-guidance { margin-top: 48px; }
    .catalog-guidance > h2 { font-size: 26px; }
}
@media (max-width: 600px) {
    .catalog-page { padding-top: 32px; padding-bottom: 40px; }
    .catalog-width { width: calc(100% - 32px); }
    .catalog-intro h1 { font-size: 36px; line-height: 44px; }
    .catalog-intro > p { font-size: 14px; line-height: 23px; }
    .catalog-discovery { margin-top: 24px; padding: 16px; }
    .catalog-discovery > p { font-size: 13px; line-height: 21px; }
    .output-shortcuts { padding-bottom: 4px; }
    .catalog-filter-wrap { margin-top: 32px; }
    .catalog-filter-wrap::before { inset-inline: 0; }
    .catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .catalog-search { grid-column: 1/-1; }
    .catalog-select { height: 40px; font-size: 11px; }
    .catalog-free { height: 40px; }
    .sort-select { grid-column: 1/-1; }
    .catalog-results-bar { gap: 8px; }
    #catalog-results-count { font-size: 11px; }
    .catalog-status-dot { display: none; }
    .catalog-grid { grid-template-columns: 1fr; gap: 20px; }
    .catalog-card { height: 528px; padding: 18px; }
    .catalog-card-media { height: 212px; }
    .catalog-card-meta { gap: 6px; }
    .catalog-inputs .last-input { margin-right: 55%; }
    .catalog-empty { padding: 32px 20px; }
    .catalog-empty h2 { font-size: 21px; line-height: 28px; }
    .catalog-empty p { font-size: 13px; line-height: 21px; }
    .catalog-empty > div { gap: 10px; flex-wrap: wrap; }
    .catalog-empty .button { padding-inline: 18px; }
    .catalog-guidance > h2 { font-size: 23px; line-height: 31px; }
    .catalog-guidance article { padding: 20px; gap: 12px; }
    .catalog-guidance h3 { font-size: 16px; line-height: 24px; }
    .catalog-guidance p { font-size: 13px; line-height: 21px; }
}

/* Keep database variable names within the original two-column chip preview. */
.catalog-inputs span { max-width: calc(50% - 8px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
