.term-card-link { color: inherit; display: block; text-decoration: none; }
.term-card-link:focus-visible { outline: 3px solid #b22; outline-offset: 4px; }
.term-card-link:hover .term-en { text-decoration: underline; }
.term-detail { max-width: 1100px; padding-block: 3rem 5rem; }
.breadcrumbs { align-items: center; display: flex; gap: .7rem; margin-bottom: 2.5rem; }
.breadcrumbs a, .back-link { color: #8b1f1f; font-weight: 700; }
.term-detail-grid { align-items: start; display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: minmax(0, 1fr) minmax(280px, 430px); }
.term-detail-text { min-width: 0; }
.term-detail-text h1 { align-items: baseline; display: flex; flex-wrap: wrap; font-size: clamp(2.7rem, 7vw, 5.5rem); gap: .35em; line-height: .95; margin: .4rem 0 .8rem; }
.term-detail-image { position: sticky; top: 2rem; }
.term-detail-image img { aspect-ratio: 1; display: block; height: auto; object-fit: cover; width: 100%; }
.term-detail-en { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; margin: 0 0 1.25rem; }
.term-identifiers { align-items: baseline; display: flex; flex-wrap: wrap; gap: 1rem; }
.term-detail-romaji { font-size: 1.5rem; font-weight: 750; }
.term-detail-jp { font-size: .58em; font-weight: 500; }
.literal-meaning { color: #555; margin-top: 1.25rem; }
.term-summary-lead { border-left: 5px solid #a82828; font-size: clamp(1.25rem, 2.4vw, 1.65rem); line-height: 1.55; margin: 2.5rem 0; padding-left: 1.5rem; }
.term-rich-content { font-size: 1.08rem; line-height: 1.75; max-width: 800px; }
.term-rich-content h2 { font-size: 2rem; margin: 2.2rem 0 .7rem; }
.term-rich-content h3 { font-size: 1.45rem; margin: 1.8rem 0 .6rem; }
.term-rich-content a { color: #8b1f1f; text-decoration: underline; }
.term-rich-content blockquote { border-left: 4px solid #bbb; color: #555; margin-left: 0; padding-left: 1.25rem; }
.term-pagination { align-items: stretch; border-top: 1px solid #d7d2ca; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); margin-top: 4rem; padding-top: 1.5rem; }
.term-pagination a { color: #8b1f1f; text-decoration: none; }
.term-pagination-side a { display: flex; flex-direction: column; gap: .3rem; }
.term-pagination-next { text-align: right; }
.term-pagination-label { font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.term-pagination-name { color: #1f1d1a; font-size: 1.15rem; font-weight: 750; }
.term-pagination a:hover .term-pagination-name, .back-link:hover { text-decoration: underline; }
.back-link { align-self: center; font-weight: 700; padding: .65rem 1rem; text-align: center; }
@media (max-width: 760px) { .term-detail-grid { grid-template-columns: 1fr; } .term-detail-image { max-width: 420px; position: static; } .term-pagination { grid-template-columns: 1fr 1fr; } .term-pagination .back-link { grid-column: 1 / -1; grid-row: 2; } }
