/* /check and /check/{token}: Terms Check. Builds on shop.css; uses the app.css tokens. */

.tc-page .shop-head { max-width: 680px; }
.tc-source {
    margin: 10px 0 0; font-family: var(--font-mono); font-size: 12px; line-height: 1.55;
    color: var(--ink-4); overflow-wrap: anywhere;
}
.tc-source a { color: var(--ink-2); text-decoration: none; border-bottom: 1px solid var(--rule-2); }
.tc-source a:hover { color: var(--red); border-color: var(--red); }

.tc-match-list { margin: 10px 0; padding-left: 20px; }
.tc-match-list li + li { margin-top: 6px; }
.tc-match-list .tc-note { display: block; }
.tc-refusal p { margin: 0; line-height: 1.55; }

.tc-steps, .tc-plain-list { margin: 14px 0 0; padding-left: 20px; font-size: 15px; line-height: 1.6; color: var(--ink-2); max-width: 64ch; }
.tc-steps li + li, .tc-plain-list li + li { margin-top: 8px; }
.tc-plain-list a { text-decoration: none; border-bottom: 1px solid var(--rule-2); }

.tc-sample {
    position: relative; margin-top: 22px; padding: 22px 22px 8px;
    border: 1px dashed var(--rule-2); border-radius: var(--card-radius-sm);
}
.tc-sample-tag {
    position: absolute; top: -9px; left: 16px; margin: 0; padding: 0 8px; background: var(--wall);
    font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-3);
}
.tc-sample .tc-source { margin-top: 0; }

.tc-flags, .tc-items { margin-top: 36px; }
.tc-sample .tc-flags { margin-top: 18px; }
.tc-h2 { margin: 0 0 12px; font-size: 19px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.tc-flag-count { margin: 0 0 10px; font-family: var(--font-mono); font-size: 12px; color: var(--red-dim); }
.tc-flag-list { list-style: none; margin: 0; padding: 0; }
.tc-flag-list li {
    margin: 0 0 12px; padding: 12px 14px; border-radius: var(--card-radius-sm);
    background: var(--red-wash); border: 1px solid var(--red-line);
}
.tc-flag-labels { margin: 0 0 8px; display: flex; flex-wrap: wrap; gap: 6px 8px; }
.tc-flag {
    display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--wall);
    border: 1px solid var(--red-line); font-size: 12.5px; font-weight: 600; color: var(--red-dim);
}
.tc-fine { margin: 10px 0 0; font-size: 13px; line-height: 1.55; color: var(--ink-4); }

.tc-list { margin: 0; }
.tc-row {
    display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 6px 24px;
    padding: 16px 0; border-top: 1px solid var(--rule);
}
.tc-row dt { font-size: 13.5px; font-weight: 600; color: var(--ink); line-height: 1.5; }
.tc-row dd { margin: 0; min-width: 0; }
.tc-label { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--ink); }
.tc-label + .tc-label, .tc-quote + .tc-label, .tc-same + .tc-label { margin-top: 14px; }
.tc-note { margin: 2px 0 0; font-family: var(--font-mono); font-size: 12px; line-height: 1.5; color: var(--ink-3); }
.tc-missing { margin: 0; font-size: 14.5px; font-style: italic; color: var(--ink-4); }
.tc-same { margin: 6px 0 0; font-size: 13px; color: var(--ink-4); }

.tc-quote { margin: 8px 0 0; padding: 2px 0 2px 14px; border-left: 2px solid var(--rule-2); }
.tc-flag-list .tc-quote { border-left-color: var(--red-line); }
.tc-quote p {
    margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ink-2);
    overflow-wrap: anywhere; text-wrap: pretty;
}

.tc-page .ai-output-tag { margin-top: 32px; padding-left: 0; padding-right: 0; }
.tc-caveat { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); max-width: 64ch; }

@media (max-width: 640px) {
    .tc-row { grid-template-columns: 1fr; gap: 6px; }
    .tc-sample { padding: 20px 14px 6px; }
}
