/* Transparency centre + corrections box on articles. Prefix: tp- */
.tp-layout { display: grid; gap: var(--s6); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .tp-layout { grid-template-columns: 250px minmax(0, 1fr); align-items: start; } }

.tp-index { border: 1px solid var(--line); border-radius: var(--r2); background: var(--surface); padding: var(--s4); }
@media (min-width: 960px) { .tp-index { position: sticky; top: var(--s4); } }
.tp-index-h { font-size: var(--fs-label); text-transform: none; color: var(--text-2); margin: 0 0 var(--s2); font-weight: 700; }
.tp-index ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.tp-index a { display: flex; align-items: center; min-height: var(--tap); padding-inline: var(--s2); color: var(--text); text-decoration: none; border-radius: var(--r1); font-size: var(--fs-small); }
.tp-index a:hover { background: var(--bg); text-decoration: underline; }
.tp-index a:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }

.tp-body { min-width: 0; max-width: 760px; }
.tp-sec { padding-block: var(--s5); border-top: 1px solid var(--line); scroll-margin-top: var(--s5); }
.tp-sec:first-child { border-top: 0; padding-top: 0; }
.tp-sec h2 { font-size: var(--fs-h2); margin: 0 0 var(--s3); color: var(--text); }
.tp-sec p { color: var(--text); line-height: 1.75; margin: 0 0 var(--s3); overflow-wrap: anywhere; }
.tp-h3 { font-size: var(--fs-h3); margin: var(--s5) 0 var(--s3); }
.tp-more { font-weight: 500; }
.tp-upd { margin-top: var(--s5); color: var(--text-3); }

/* label legend */
.tp-legend { margin: 0; display: grid; gap: var(--s3); }
.tp-leg { display: grid; gap: var(--s2); grid-template-columns: minmax(0, 1fr); padding: var(--s3); border: 1px solid var(--line); border-radius: var(--r2); background: var(--surface); }
@media (min-width: 640px) { .tp-leg { grid-template-columns: 190px minmax(0, 1fr); align-items: start; } }
.tp-leg dt, .tp-leg dd { margin: 0; }
.tp-leg dd { color: var(--text-2); line-height: 1.6; }
.tp-lab { display: inline-block; padding: 2px var(--s2); border: 1px solid var(--line-strong); border-radius: var(--r1); font-size: var(--fs-caption); font-weight: 700; color: var(--text); background: var(--bg); }
.tp-lab-ai { border-style: dashed; }
.tp-lab-sp { border-color: var(--gold); background: var(--gold-soft); color: var(--navy-deep); }

/* filters */
.tp-filters { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: end; margin-bottom: var(--s3); }
.tp-f { display: grid; gap: var(--s1); font-size: var(--fs-small); font-weight: 500; color: var(--text-2); min-width: 0; flex: 1 1 150px; }
.tp-f-q { flex: 2 1 220px; }
.tp-f select, .tp-f input { min-height: var(--tap); width: 100%; box-sizing: border-box; padding-inline: var(--s3); border: 1px solid var(--line-strong); border-radius: var(--r1); background: var(--surface); color: var(--text); font: inherit; font-size: var(--fs-body); }
.tp-f select:focus-visible, .tp-f input:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.tp-reset { min-height: var(--tap); }
.tp-count { min-height: 1.2em; margin: 0 0 var(--s2); }

/* log entries */
.tp-log { display: grid; gap: var(--s3); }
.tp-entry { border: 1px solid var(--line); border-inline-start: 4px solid var(--line-strong); border-radius: var(--r2); background: var(--surface); padding: var(--s4); }
.tp-k-correction { border-inline-start-color: var(--alert); }
.tp-k-update { border-inline-start-color: var(--blue); }
.tp-k-clarification { border-inline-start-color: var(--gold); }
.tp-entry-meta { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: center; margin: 0 0 var(--s2); font-size: var(--fs-small); color: var(--text-2); }
.tp-kind { font-weight: 800; color: var(--text); }
.tp-type { padding: 0 var(--s2); border: 1px solid var(--line); border-radius: var(--pill); font-size: var(--fs-caption); }
.tp-entry-h { font-size: var(--fs-h3); margin: 0 0 var(--s2); line-height: 1.4; overflow-wrap: anywhere; }
.tp-entry-h a { color: var(--text); }
.tp-dl { margin: 0; display: grid; gap: var(--s2); }
.tp-dl dt { font-size: var(--fs-caption); font-weight: 700; color: var(--text-2); }
.tp-dl dd { margin: 0; line-height: 1.65; overflow-wrap: anywhere; }
.tp-empty { margin: 0; }

/* numbers */
.tp-nums { list-style: none; margin: 0 0 var(--s3); padding: 0; display: grid; gap: var(--s3); grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.tp-nums li { border: 1px solid var(--line); border-radius: var(--r2); background: var(--surface); padding: var(--s3) var(--s4); display: grid; gap: var(--s1); }
.tp-nums b { font-size: var(--fs-h2); font-weight: 800; color: var(--navy); line-height: 1.1; }
html[data-theme="classic"] .tp-nums b { color: var(--text); }
.tp-nums span { font-size: var(--fs-small); color: var(--text-2); }

.tp-form { margin-top: var(--s4); }

/* box on article pages */
.tp-hook { margin: var(--s4) 0; padding: var(--s4); border: 1px solid var(--line-strong); border-inline-start: 4px solid var(--alert); border-radius: var(--r2); background: var(--surface); }
.tp-hook-h { font-size: var(--fs-h3); margin: 0 0 var(--s3); }
.tp-hook ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); }
.tp-hook li { padding-inline-start: var(--s3); border-inline-start: 3px solid var(--line); }
.tp-hook li.tp-k-correction { border-inline-start-color: var(--alert); }
.tp-hook li.tp-k-update { border-inline-start-color: var(--blue); }
.tp-hook li.tp-k-clarification { border-inline-start-color: var(--gold); }
.tp-hook li p { margin: 0 0 var(--s1); line-height: 1.6; overflow-wrap: anywhere; }
.tp-hook-all { margin: var(--s3) 0 0; font-size: var(--fs-small); }
.tp-fix { margin: var(--s5) 0 0; padding-top: var(--s3); border-top: 1px solid var(--line); font-size: var(--fs-small); color: var(--text-2); }

@media (prefers-reduced-motion: no-preference) { .tp-body { scroll-behavior: smooth; } }
