/* "Is this band AI?" — the checker and the per-band pages.
 *
 * The pages use tools.css's `.tl-page` shell for the wrapper, header font and
 * the crumb-aware top margin, and add `.aic-page` on top for the one thing
 * that differs: a narrower column, because these pages are mostly prose and
 * 1080px is too wide to read comfortably.
 *
 * Do not reintroduce margin/padding here. `.tl-crumbs + .tl-page` in tools.css
 * collapses the top margin when breadcrumbs are present, and a margin set in
 * this file would win on specificity and leave a gap under the crumbs.
 */

.aic-page { max-width: 820px; }

/* Visually hidden, still announced. There is no global .sr-only on this site,
   so without this the form's label renders as stray text above the input. */
.aic-page .sr-only {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* --- Search form -------------------------------------------------------- */

.aic-form {
    display: flex;
    gap: .5rem;
    margin: 1.5rem 0 2rem;
    flex-wrap: wrap;
}
.aic-input {
    flex: 1 1 260px;
    min-width: 0;
    padding: .8rem 1rem;
    font-size: 1rem;
    color: #fff;
    background: #0d0d0d;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 6px;
}
.aic-input:focus { outline: none; border-color: #ff0000; }
.aic-input::placeholder { color: #666; }

.aic-submit {
    padding: .8rem 1.6rem;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    background: #ff0000;
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    transition: background .2s ease;
}
.aic-submit:hover { background: #d51007; }

/* --- The answer --------------------------------------------------------- */

.aic-result {
    padding: 1.5rem;
    margin: 0 0 2rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, .15);
    /* Colour carries the tone, but never alone — the headline text says the
       same thing in words, so the page works in greyscale and to a screen
       reader. */
    border-left-width: 4px;
    background: #0d0d0d;
}
.aic-result--real,
.aic-result--likely-real { border-left-color: #4ade80; }
.aic-result--suspect { border-left-color: #ffbb33; }
.aic-result--mixed { border-left-color: #888; }
.aic-result--unknown { border-left-color: #555; }
/* Reported statements (the registry, a source's own AI label): red, the
   site's accent, because the headline is someone else's "this is AI". */
.aic-result--declared,
.aic-result--flagged,
.aic-result--labelled { border-left-color: #ff4444; }
.aic-result--denied { border-left-color: #888; }
.aic-result--pending { border-left-color: #555; }
.aic-result--pending .aic-headline { color: #aaa; }

.aic-source-link {
    display: inline-block;
    margin-top: .75rem;
    color: #ff4444;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}
.aic-source-link:hover { text-decoration: underline; }

.aic-result-for { margin: 0 0 .35rem; font-size: .8rem; color: #888; }
.aic-headline {
    margin: 0 0 .5rem;
    font-family: 'Inter', system-ui, sans-serif; font-weight: 800; letter-spacing: -0.02em;
    font-size: clamp(1.4rem, 4vw, 2.1rem);
    line-height: 1.15;
    color: #fff;
}
.aic-detail { margin: 0; color: #bbb; line-height: 1.6; }

.aic-permalink {
    display: inline-block;
    margin-top: 1rem;
    color: #ff4444;
    font-weight: 700;
    text-decoration: none;
}
.aic-permalink:hover { text-decoration: underline; }

/* --- Findings ----------------------------------------------------------- */

.aic-findings-title {
    margin: 2rem 0 .75rem;
    font-size: .8rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #888;
}

.aic-findings { list-style: none; margin: 0 0 1.5rem; padding: 0; }

.aic-finding {
    display: flex;
    gap: .85rem;
    padding: .9rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.aic-finding:last-child { border-bottom: 0; }

.aic-finding-icon {
    flex-shrink: 0;
    width: 24px; height: 24px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    font-size: .7rem;
}
.aic-finding--real .aic-finding-icon { background: rgba(74, 222, 128, .15); color: #4ade80; }
.aic-finding--suspect .aic-finding-icon { background: rgba(255, 187, 51, .15); color: #ffbb33; }
.aic-finding--neutral .aic-finding-icon,
.aic-finding--unknown .aic-finding-icon { background: rgba(255, 255, 255, .07); color: #777; }

.aic-finding-body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.aic-finding-label { font-weight: 700; color: #fff; font-size: .92rem; }
.aic-finding-detail { color: #aaa; font-size: .88rem; line-height: 1.55; }
.aic-finding-link { color: #ff4444; font-size: .8rem; text-decoration: none; }
.aic-finding-link:hover { text-decoration: underline; }

/* --- Gig list on the per-band page -------------------------------------- */

.aic-shows { list-style: none; margin: 0 0 1rem; padding: 0; }
.aic-show {
    display: flex;
    gap: 1rem;
    padding: .7rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.aic-show-date {
    flex-shrink: 0;
    width: 6.5rem;
    color: #888;
    font-size: .85rem;
    font-variant-numeric: tabular-nums;
}
.aic-show-where { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.aic-show-where a { color: #fff; text-decoration: none; font-weight: 600; }
.aic-show-where a:hover { color: #ff4444; }
.aic-show-venue { color: #888; font-size: .82rem; }

/* --- What could not be checked ----------------------------------------- */

.aic-checked-title {
    margin: 0 0 .5rem;
    font-size: .75rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #777;
}
.aic-not-checked { margin: 0 0 1.5rem; padding-left: 1.1rem; color: #888; font-size: .85rem; line-height: 1.6; }
.aic-not-checked strong { color: #bbb; font-weight: 600; }

/* --- Most checked and the known AI acts --------------------------------- */

.aic-most-checked,
.aic-known,
.aic-faq { margin-top: 2.5rem; }
.aic-most-checked h2,
.aic-known h2,
.aic-faq h2 {
    font-family: 'Inter', system-ui, sans-serif; font-weight: 800; letter-spacing: -0.02em;
    font-size: clamp(1.2rem, 3.2vw, 1.6rem);
    margin: 0 0 .85rem;
    color: #fff;
}
.aic-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.aic-chips li {
    display: inline-flex; align-items: baseline; gap: .4rem;
    padding: .35rem .7rem; border-radius: 999px;
    background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1);
}
.aic-chips a { color: #fff; text-decoration: none; font-weight: 600; font-size: .9rem; }
.aic-chips a:hover { color: #ff4444; }
.aic-chip-why { color: #888; font-size: .75rem; }

.aic-known-lede { color: #aaa; line-height: 1.7; margin: 0 0 1rem; }
.aic-denied-title { margin: 2rem 0 .5rem; font-size: 1.05rem; color: #fff; }
.aic-known-list { list-style: none; margin: 0; padding: 0; }
.aic-known-row {
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.aic-known-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem .75rem; }
.aic-known-name { color: #fff; font-weight: 800; font-size: 1.05rem; text-decoration: none; }
.aic-known-name:hover { color: #ff4444; }
.aic-known-status {
    font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
    color: #ff4444; font-weight: 700;
}
.aic-known-row--denied .aic-known-status { color: #999; }
.aic-known-genre { color: #777; font-size: .8rem; }
.aic-known-statement { color: #bbb; line-height: 1.6; margin: .4rem 0 .25rem; overflow-wrap: anywhere; }
.aic-known-source { color: #888; font-size: .82rem; margin: 0; }
.aic-known-source a { color: #ff4444; }
.aic-known-namesake { color: #888; font-size: .82rem; font-style: italic; margin: .25rem 0 0; }

.aic-steps { color: #aaa; line-height: 1.7; padding-left: 1.2rem; margin: 0 0 1rem; }
.aic-steps li { margin-bottom: .45rem; }
.aic-steps strong { color: #fff; }
.aic-steps a, .aic-explainer p a { color: #ff4444; }

.aic-faq h3 { margin: 1.4rem 0 .4rem; font-size: 1rem; color: #fff; }
.aic-faq p { color: #aaa; line-height: 1.7; margin: 0; }

/* --- Notes and the disclaimer ------------------------------------------- */

.aic-note { color: #999; font-size: .87rem; line-height: 1.6; margin: 1rem 0; }
.aic-note a { color: #ff4444; }

.aic-disclaimer {
    margin: 2rem 0;
    padding: 1rem 1.15rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .1);
    color: #999;
    font-size: .87rem;
    line-height: 1.65;
}
.aic-disclaimer strong { color: #ddd; }

/* --- Explainer ---------------------------------------------------------- */

.aic-explainer { margin-top: 3rem; }
.aic-explainer h2 {
    font-family: 'Inter', system-ui, sans-serif; font-weight: 800; letter-spacing: -0.02em;
    font-size: clamp(1.3rem, 3.5vw, 1.8rem);
    margin: 0 0 1rem;
    color: #fff;
}
.aic-explainer h3 {
    margin: 1.75rem 0 .5rem;
    font-size: 1.02rem;
    color: #fff;
}
.aic-explainer p { color: #aaa; line-height: 1.75; margin: 0 0 .85rem; }
.aic-explainer em { color: #ddd; font-style: normal; }

/* --- CTA ---------------------------------------------------------------- */

.aic-cta {
    display: flex; align-items: center; gap: 1.25rem;
    flex-wrap: wrap; margin: 2.5rem 0 1rem;
}
.aic-cta-btn {
    background: #ff0000; color: #fff; font-weight: 700;
    padding: .75rem 1.4rem; border-radius: 6px; text-decoration: none;
}
.aic-cta-btn:hover { background: #d51007; }
.aic-cta-link { color: #999; text-decoration: none; font-size: .9rem; }
.aic-cta-link:hover { color: #fff; }

@media (max-width: 560px) {
    .aic-show { flex-direction: column; gap: .2rem; }
    .aic-show-date { width: auto; }
}

/* --- "Is This Song AI?" (is_this_song_ai.html) ---------------------------- */

/* An upload a real band says is not theirs: someone else's statement, so
   the same red as the other reported statements. */
.aic-result--disowned { border-left-color: #ff4444; }
.aic-result-link { margin-left: .4rem; color: #888; font-size: .8rem; }
.aic-act-summary { margin: 0 0 .75rem; color: #bbb; line-height: 1.6; }
.aic-act-summary strong { color: #fff; }

.sac-tabs {
    display: flex;
    gap: .25rem;
    margin: 1.5rem 0 0;
    border-bottom: 1px solid rgba(255, 255, 255, .15);
}
.sac-tab {
    padding: .7rem 1rem;
    font-size: .95rem;
    font-weight: 700;
    color: #aaa;
    background: none;
    border: 0;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
}
.sac-tab[aria-selected="true"] { color: #fff; border-bottom-color: #ff0000; }
.sac-tab:focus-visible { outline: 2px solid #ff4444; outline-offset: 2px; }
.sac-panel { margin: 0 0 2rem; }
.sac-panel .aic-form { margin-bottom: .5rem; }
.sac-hint { margin: 0; font-size: .85rem; color: #888; }
.sac-frame {
    display: block;
    width: 100%;
    height: 220px;
    margin-top: 1.25rem;
    border: 0;
    background: transparent;
}
.sac-detectors { margin: 0 0 1.5rem; padding-left: 1.2rem; color: #bbb; line-height: 1.6; }
.sac-detectors li { margin-bottom: .5rem; }
.sac-detectors a { color: #fff; }
.sac-detector-limits { color: #888; }
