/*!
 * Website Files — what the four tools need beyond Public Tools' shared
 * styles (tools.css, loaded first). Plain CSS, wf- prefix.
 */
.wf-mt { margin-top: .75rem; }
.wf-muted { color: var(--pt-muted, #64748b); font-weight: 400; }
.wf-small { font-size: .8125rem; }
.wf-content { margin-top: .5rem; }
.wf-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wf-fieldset > legend { padding: 0; margin-bottom: .35rem; font-size: .875rem; font-weight: 600; color: var(--pt-ink, #0f172a); }
.wf-subtitle { margin: 0; font-size: .9375rem; font-weight: 700; color: var(--pt-ink, #0f172a); }

/* Option lists. */
.wf-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 0 1rem; }
.wf-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: .75rem 1rem; align-items: start; }

/* Code. */
.pt-ui .wf-code { min-height: 10rem; font-size: .8125rem; line-height: 1.55; white-space: pre; overflow: auto; tab-size: 4; }
.pt-ui .wf-code--short { min-height: 4.5rem; font-size: .8125rem; line-height: 1.5; }

/* An input with a button beside it. */
.wf-join { display: flex; gap: .4rem; align-items: stretch; }
.wf-join .pt-input { flex: 1 1 auto; min-width: 0; }
.wf-join .pt-btn { flex: 0 0 auto; }

/* Notes and disclosures. */
.wf-notes { display: flex; flex-direction: column; gap: .5rem; }
.wf-notes:empty { display: none; }
.pt-ui .wf-notes .pt-note { display: block; margin: 0; white-space: pre-line; }
.wf-notes .pt-link { display: inline; }
.wf-more > summary { cursor: pointer; font-size: .875rem; font-weight: 600; color: var(--pt-accent-strong, #1d4ed8); }
.wf-more > summary:focus-visible { outline: none; box-shadow: var(--pt-focus); border-radius: .25rem; }

/* robots.txt: AI crawler rows and the tester's verdict. */
.wf-ai { display: flex; flex-direction: column; gap: .85rem; }
.wf-ai__row > legend { margin-bottom: .4rem; }
.wf-ai__row > legend .wf-small { display: block; margin-top: .1rem; font-family: var(--pt-mono); font-weight: 400; overflow-wrap: anywhere; }
.wf-verdict { margin-bottom: 0; padding: .65rem .9rem; border-radius: var(--pt-radius-sm, .5rem); border: 1px solid var(--pt-line, #e2e8f0); font-size: .9375rem; overflow-wrap: anywhere; }
.wf-verdict--ok { background: var(--pt-ok-soft, #f0fdf4); border-color: #bbf7d0; color: #14532d; }
.wf-verdict--bad { background: var(--pt-error-soft, #fef2f2); border-color: #fecaca; color: #7f1d1d; }

/* Crawl form (sitemap, llms.txt). */
.wf-crawl { display: grid; grid-template-columns: minmax(0, 1fr) 11rem auto; gap: .75rem 1rem; align-items: end; }
.wf-crawl__actions { display: flex; gap: .5rem; }
.wf-crawl__wide { grid-column: 1 / -1; }
.wf-crawl .pt-alert:empty { display: none; }
.wf-progress { margin-bottom: 0; font-size: .875rem; color: var(--pt-text, #334155); }
.wf-report__sum { margin: 0 0 .5rem; font-weight: 600; color: var(--pt-ink, #0f172a); }
.wf-excluded { list-style: none; margin: .5rem 0 0; padding: 0; max-height: 18rem; overflow: auto; border: 1px solid var(--pt-line, #e2e8f0); border-radius: var(--pt-radius-sm, .5rem); }
.wf-excluded li { display: flex; flex-wrap: wrap; gap: .1rem .6rem; padding: .4rem .7rem; border-top: 1px solid var(--pt-line, #e2e8f0); font-size: .8125rem; }
.wf-excluded li:first-child { border-top: 0; }
.wf-excluded code { font-family: var(--pt-mono); overflow-wrap: anywhere; color: var(--pt-ink, #0f172a); }
@media (max-width: 640px) {
    .wf-crawl { grid-template-columns: 1fr; }
    .wf-crawl__actions .pt-btn { flex: 1 1 auto; }
}

/* llms.txt sections. */
.wf-sections { display: flex; flex-direction: column; gap: .9rem; }
.wf-section { padding: .75rem; border: 1px solid var(--pt-line, #e2e8f0); border-radius: var(--pt-radius-sm, .5rem); background: var(--pt-soft, #f8fafc); }
.wf-section__head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; margin-bottom: .5rem; }
.wf-section__head .pt-input { flex: 1 1 12rem; min-width: 0; font-weight: 600; }

/* Favicon: source, colours, previews. */
.wf-drop { padding: .9rem 1rem; border: 2px dashed var(--pt-line, #cbd5e1); border-radius: var(--pt-radius-sm, .5rem); }
.wf-drop.is-over { border-color: var(--pt-accent, #2563eb); background: var(--pt-accent-soft, #eff6ff); }
.wf-file { display: block; max-width: 100%; margin-top: .35rem; font-size: .875rem; }
.wf-color { display: block; width: 3.25rem; height: 2.4rem; padding: .15rem; border: 1px solid var(--pt-line, #cbd5e1); border-radius: var(--pt-radius-sm, .5rem); background: #fff; cursor: pointer; }
.wf-previews { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.25rem 1.75rem; }
.wf-prev { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .4rem; text-align: center; }
.wf-prev figcaption { font-size: .75rem; color: var(--pt-muted, #64748b); max-width: 9rem; }
.wf-prev__box { display: grid; place-items: center; padding: .5rem; border-radius: .5rem; background-color: #fff; background-image: linear-gradient(45deg, #e2e8f0 25%, transparent 25%, transparent 75%, #e2e8f0 75%), linear-gradient(45deg, #e2e8f0 25%, transparent 25%, transparent 75%, #e2e8f0 75%); background-size: 12px 12px; background-position: 0 0, 6px 6px; }
.wf-prev__box canvas { display: block; }
.wf-prev__box--apple canvas { border-radius: 22%; box-shadow: 0 1px 3px rgba(15, 23, 42, .25); }
.wf-prev__box--android canvas { border-radius: 50%; box-shadow: 0 1px 3px rgba(15, 23, 42, .25); }
.wf-tab { display: flex; align-items: center; gap: .45rem; width: 11rem; padding: .45rem .7rem; border-radius: .6rem .6rem 0 0; background: #e2e8f0; }
.wf-tab__icon { display: block; width: 16px; height: 16px; flex: 0 0 auto; }
.wf-tab__icon canvas { display: block; width: 16px; height: 16px; }
.wf-tab__title { font-size: .8125rem; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
