.cst-files { margin: 24px 0; padding: 16px 20px; background: #f6f7f8; border-left: 4px solid #2271b1; border-radius: 4px; }
.cst-files-title { margin: 0 0 12px 0; font-size: 1.1em; }
.cst-files-list { list-style: none; margin: 0; padding: 0; }
.cst-file { padding: 6px 0; border-bottom: 1px solid #e2e4e7; }
.cst-file:last-child { border-bottom: 0; }
.cst-file a { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.cst-file a:hover { text-decoration: underline; }
.cst-file-icon { font-size: 1.2em; }
.cst-file-name { flex: 1; }
.cst-file-size { color: #666; font-size: 0.85em; }

.cst-by-year { margin: 16px 0; }
.cst-year { margin: 6px 0; border: 1px solid #e2e4e7; border-radius: 4px; background: #fff; }
.cst-year > summary { cursor: pointer; padding: 10px 14px; font-weight: 600; display: flex; align-items: center; justify-content: space-between; user-select: none; }
.cst-year > summary:hover { background: #f6f7f8; }
.cst-year-label { font-size: 1.1em; }
.cst-year-count { background: #2271b1; color: #fff; padding: 2px 10px; border-radius: 12px; font-size: 0.85em; font-weight: 500; }
.cst-year-list { list-style: none; margin: 0; padding: 0 14px 12px 14px; }
.cst-year-item { padding: 6px 0; border-bottom: 1px dashed #e2e4e7; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cst-year-item:last-child { border-bottom: 0; }
.cst-year-item a { flex: 1; min-width: 200px; }
.cst-year-date { color: #666; font-size: 0.9em; }
.cst-year-files { color: #999; font-size: 0.85em; }
.cst-empty { font-style: italic; color: #777; }

.cst-trans-menu { max-width: 720px; margin: 16px 0; }
.cst-trans-group { margin: 8px 0; border: 1px solid #d2d6db; border-radius: 6px; background: #fff; overflow: hidden; }
.cst-trans-group > .cst-trans-group-title { cursor: pointer; padding: 12px 16px; font-weight: 700; text-transform: uppercase; font-size: 0.95em; letter-spacing: 0.5px; color: #1d3557; background: #f1f4f8; user-select: none; }
.cst-trans-group > .cst-trans-group-title:hover { background: #e7ecf1; }
.cst-trans-group[open] > .cst-trans-group-title { border-bottom: 1px solid #d2d6db; }
.cst-trans-items { list-style: none; margin: 0; padding: 8px 0; }
.cst-trans-item { padding: 6px 16px; display: flex; align-items: center; gap: 10px; }
.cst-trans-item:hover { background: #f6f7f8; }
.cst-trans-item a { flex: 1; color: #1f4068; text-decoration: none; }
.cst-trans-item a:hover { text-decoration: underline; }
.cst-trans-count { background: #e2e8f0; color: #475569; padding: 2px 9px; border-radius: 12px; font-size: 0.78em; font-weight: 600; }
.cst-trans-missing span { color: #aaa; font-style: italic; cursor: help; }

.cst-tax-archive { padding: 24px 0; }
.cst-tax-container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.cst-breadcrumb { font-size: 0.9em; color: #5b6470; margin-bottom: 12px; }
.cst-breadcrumb a { color: #1f4068; text-decoration: none; }
.cst-breadcrumb a:hover { text-decoration: underline; }
.cst-breadcrumb span { margin: 0 4px; color: #aaa; }
.cst-breadcrumb .cst-current { color: #1d3557; font-weight: 600; }
.cst-tax-header { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 2px solid #e2e8f0; }
.cst-tax-title { margin: 0; font-size: 1.8em; color: #1d3557; }
.cst-tax-desc { margin-top: 8px; color: #475569; }
.cst-tax-children { margin: 16px 0 24px; }
.cst-tax-children h2 { font-size: 1.05em; margin: 0 0 10px; color: #475569; text-transform: uppercase; letter-spacing: 0.5px; }
.cst-tax-children-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cst-tax-children-list li { background: #f1f4f8; border: 1px solid #d2d6db; border-radius: 16px; padding: 4px 4px 4px 14px; display: inline-flex; align-items: center; gap: 8px; }
.cst-tax-children-list li:hover { background: #e7ecf1; }
.cst-tax-children-list a { color: #1f4068; text-decoration: none; font-size: 0.95em; }
.cst-tax-child-count { background: #2271b1; color: #fff; padding: 1px 10px; border-radius: 12px; font-size: 0.78em; font-weight: 600; }
.cst-tax-downloads h2 { font-size: 1.05em; margin: 16px 0 10px; color: #475569; text-transform: uppercase; letter-spacing: 0.5px; }

