* { box-sizing: border-box; }
body { margin: 0; background: #101419; color: #f7f2e8; font: 1rem/1.55 Inter, system-ui, sans-serif; }
a { color: inherit; text-underline-offset: .24em; }
a:hover, [aria-current="page"] { color: #ffab82; }
a:focus-visible { outline: 2px solid #ffab82; outline-offset: 4px; }
.wrap { width: min(74rem, calc(100% - 2rem)); margin-inline: auto; }
.bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 2rem; padding-block: 1rem; border-bottom: 1px solid #393d41; }
.bar nav, .pagination { min-width: 0; max-width: 100%; overflow-wrap: anywhere; display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.bar a, .pagination a { display: inline-flex; align-items: center; min-height: 44px; }
.brand { font-size: 1.4rem; font-weight: 800; text-decoration: none; gap: .3em; }
.brand strong, .category { color: #ffab82; }
h1 { font-size: clamp(1.95rem, 1.2rem + 3.4vw, 5.2rem); line-height: 1.08; overflow-wrap: anywhere; letter-spacing: -.055em; margin-block: 1.2em .65em; }
.articles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1.25rem; }
.article-link { display: block; height: 100%; background: #1b2229; border: 1px solid #393d41; text-decoration: none; transition: transform .2s; overflow-wrap: anywhere; }
.article-link:hover { transform: translateY(-2px); }
.articles > article { min-width: 0; }
.article-link img { max-width: 100%; display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.article-text { padding: 1.25rem; }
.article-text h2 { font-size: 1.4rem; line-height: 1.2; margin: 0; }
.category { margin: 0 0 .5rem; font-size: .88rem; font-weight: 650; }
.pagination { margin-top: 1.5rem; }
footer.bar { margin-top: 4rem; border-top: 1px solid #393d41; border-bottom: 0; }
.skip { position: absolute; top: 0; left: 1rem; background: #101419; padding: .7rem; transform: translateY(-150%); }
.skip:focus { transform: none; }
@media (prefers-reduced-motion: reduce) { .article-link { transition: none; } .article-link:hover { transform: none; } }

.reading { padding-block: clamp(2rem, 6vw, 5rem); }
.reading-article { max-width: 64rem; margin-inline: auto; }
.reading-header { max-width: 52rem; }
.reading-header h1 { margin-block: .25em .45em; font-family: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif; overflow-wrap: anywhere; }
.reading-summary { font-size: clamp(1.1rem, 2vw, 1.35rem); color: #c5cbd1; }
.reading-cover { display: block; width: 100%; max-width: 100%; height: auto; margin-block: 2rem; }
.reading-copy { max-width: 72ch; margin: 2rem auto; font-size: clamp(1rem, .94rem + .3vw, 1.125rem); line-height: 1.75; overflow-wrap: anywhere; overflow-x: auto; }
.reading-copy h2, .reading-copy h3 { line-height: 1.2; margin-block: 1.6em .55em; }
.reading-copy p { text-align: justify; hyphens: auto; }
.reading-copy a { color: #ffab82; }
.reading-copy li + li { margin-top: .4em; }
.reading-copy blockquote { border-inline-start: 3px solid #ffab82; background: #1b2229; margin-inline: 0; padding: .25rem 1rem; }
.reading-copy table { width: 100%; border-collapse: collapse; }
.reading-copy pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.reading-copy ul, .reading-copy ol { padding-inline-start: 1.5em; }
.reading-copy th, .reading-copy td { text-align: start; border-bottom: 1px solid #393d41; padding: .6rem; }
.reading-copy img { max-width: 100%; height: auto; }
.reading-video { display: block; width: min(100%, 48rem); aspect-ratio: 16 / 9; border: 0; margin: 2rem auto 0; }
@media (prefers-reduced-motion: no-preference) {
    .reading-header[data-enter] { animation: reading-enter .4s ease-out both; }
}
@keyframes reading-enter { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

@media (max-width: 38rem) {
    .bar { align-items: flex-start; gap: .25rem 1rem; }
    .bar nav { flex-basis: 100%; }
    .articles { grid-template-columns: minmax(0, 1fr); }
    .article-text { padding: 1rem; }
    .reading-cover, .reading-copy { margin-block: 1.25rem; }
    .reading-copy th, .reading-copy td { padding: .45rem; }
}
