:root { --jpscs-feature-navy: #002b70; --jpscs-feature-blue: #0054a8; --jpscs-feature-teal: #008fa8; --jpscs-feature-pale: #f1f7fb; --jpscs-feature-line: #dbe4ee; }
.jpscs-dynamic-list { border-top: 1px solid var(--jpscs-feature-line); }
.jpscs-news-row { min-height: 68px; padding: 10px 12px; display: grid; grid-template-columns: 110px 1fr 20px; align-items: center; gap: 12px; color: inherit; border-bottom: 1px solid var(--jpscs-feature-line); text-decoration: none; }
.jpscs-news-row time { color: var(--jpscs-feature-teal); font-size: 12px; font-weight: 700; }
.jpscs-news-row strong { font-size: 14px; line-height: 1.5; }
.jpscs-news-row > span { color: var(--jpscs-feature-navy); font-size: 20px; }
.jpscs-news-row:hover strong { color: var(--jpscs-feature-blue); }
.jpscs-post-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.jpscs-post-card { overflow: hidden; border: 1px solid var(--jpscs-feature-line); border-radius: 8px; background: #fff; box-shadow: 0 7px 22px rgba(0,35,88,.06); }
.jpscs-post-card__image { display: block; aspect-ratio: 16 / 9; }
.jpscs-post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.jpscs-post-card > div { padding: 22px; }
.jpscs-post-card time { color: var(--jpscs-feature-teal); font-size: 12px; font-weight: 800; }
.jpscs-post-card h2 { margin: 6px 0 12px; padding: 0; color: var(--jpscs-feature-navy); background: none; font-size: 20px; }
.jpscs-post-card h2 a { color: inherit; text-decoration: none; }
.jpscs-post-card p { margin-bottom: 0; font-size: 14px; }
.jpscs-glossary-filter { margin: 0 0 36px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px; }
.jpscs-glossary-filter a { padding: 12px 8px; color: var(--jpscs-feature-navy); background: var(--jpscs-feature-pale); border: 1px solid var(--jpscs-feature-line); border-radius: 5px; font-size: 13px; font-weight: 800; text-align: center; text-decoration: none; }
.jpscs-glossary-filter a.is-current, .jpscs-glossary-filter a:hover { color: #fff; background: var(--jpscs-feature-navy); }
.jpscs-glossary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.jpscs-glossary-card { min-height: 92px; padding: 16px 18px; display: grid; grid-template-columns: 1fr auto; align-items: center; color: var(--jpscs-feature-navy); border: 1px solid var(--jpscs-feature-line); border-radius: 6px; text-decoration: none; }
.jpscs-glossary-card span:first-child { grid-column: 1 / -1; color: var(--jpscs-feature-teal); font-size: 11px; }
.jpscs-glossary-card:hover { background: var(--jpscs-feature-pale); border-color: #aac0dc; }
.jpscs-empty-message { padding: 20px 0; color: #647286; font-size: 13px; }
@media (max-width: 840px) { .jpscs-post-card-grid { grid-template-columns: 1fr; } .jpscs-glossary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .jpscs-news-row { grid-template-columns: 88px 1fr 18px; } .jpscs-news-row strong { grid-column: 1 / 3; grid-row: 2; } .jpscs-news-row > span { grid-column: 3; grid-row: 1 / 3; } .jpscs-glossary-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); } .jpscs-glossary-grid { grid-template-columns: 1fr; } }

