:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172b4d;background:#fff;line-height:1.65}*{box-sizing:border-box}body{margin:0}header{max-width:1180px;margin:auto;padding:26px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e6ecf5}header img{width:205px;height:auto}a{color:#004af2;text-decoration:none}a:hover{text-decoration:underline}nav{display:flex;flex-wrap:wrap;gap:24px;font-size:15px;font-weight:600}main{max-width:1080px;margin:60px auto;padding:0 24px;min-height:55vh}h1{font-size:clamp(32px,5vw,52px);line-height:1.2;letter-spacing:-1.4px;margin:16px 0 22px}h2{font-size:23px;line-height:1.35;margin:18px 0}h2 a{color:#172b4d}.eyebrow{font-size:12px;letter-spacing:2px;color:#004af2;font-weight:700}.intro{font-size:20px;color:#61718c;max-width:700px;margin-bottom:38px}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.post-card,.empty{padding:30px;border:1px solid #dce5f5;border-radius:22px;background:#f8faff}.post-card{display:flex;flex-direction:column}.post-card p{color:#61718c}.post-card small{margin-top:auto;color:#61718c}.tag{font-size:12px;font-weight:700;color:#004af2;background:#eaf1ff;padding:6px 12px;border-radius:20px;align-self:flex-start}.read-more{margin-top:20px;font-weight:650}.empty{grid-column:1/-1;padding:45px}.button{display:inline-block;color:white;background:#004af2;padding:13px 24px;border-radius:12px;font-weight:650;margin-top:16px}.button:hover{color:white;background:#003bc2;text-decoration:none}.post{max-width:780px;margin:28px auto 40px;overflow-wrap:anywhere}.post h1{font-size:clamp(30px,4vw,46px)}.post .meta{color:#61718c;font-size:14px}.prose{font-size:18px}.prose p{margin:26px 0}.disclosure{padding:20px;background:#fff6db;border-radius:12px;margin:28px 0;font-size:15px}footer{border-top:1px solid #e6ecf5;text-align:center;color:#61718c;padding:28px 20px;font-size:13px}@media(max-width:600px){header{padding:18px;flex-wrap:wrap;gap:16px}header img{width:155px}nav{font-size:13px;gap:15px}main{margin:32px auto;padding:0 18px}.post-grid{grid-template-columns:1fr}.empty,.post-card{padding:24px}.intro{font-size:17px}.prose{font-size:17px}h1{letter-spacing:-.8px}}

/* Semantic pagination pattern: Bootstrap pagination; styled for NiHaHa. */
.pagination{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:40px;padding-top:24px;border-top:1px solid #e6ecf5;font-size:14px;line-height:1.2;max-width:100%}
.pagination-pages{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:4px;list-style:none;margin:0;padding:0;min-width:0}
.pagination .page-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 12px;border:1px solid #dce5f5;border-radius:10px;background:#fff;color:#004af2;text-decoration:none;white-space:nowrap;font-weight:650}
.pagination a.page-link:hover{background:#eef4ff;border-color:#b7ccff;text-decoration:none}
.pagination a.page-link:focus-visible{outline:3px solid #004af2;outline-offset:3px}
.pagination .page-link.current{background:#004af2;border-color:#004af2;color:#fff}
.pagination .page-link.disabled{background:#f8faff;color:#73819a;border-color:#e6ecf5}
.pagination .page-gap{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:44px;color:#61718c}
.pagination-next{justify-self:end}
@media(max-width:720px){
.pagination{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;margin-top:28px;padding-top:20px;font-size:13px}
.pagination-pages{display:none}
.pagination .page-link{min-width:44px;min-height:44px;padding:10px 12px;gap:6px}
}

.blog-filters{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 24px;padding:0;font-size:15px}
.blog-filters a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #dce5f5;border-radius:999px;background:#fff;color:#004af2;text-decoration:none;font-weight:650}
.blog-filters a:hover{background:#edf3ff;border-color:#004af2}
.blog-filters a[aria-current="page"]{background:#004af2;color:#fff;border-color:#004af2}
.blog-filters a:focus-visible,.pagination-jump input:focus-visible,.pagination-jump button:focus-visible{outline:3px solid #004af2;outline-offset:3px}
.pagination-jump{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0;color:#61718c;font-size:14px}
.pagination-jump input{box-sizing:border-box;width:64px;min-height:44px;padding:8px 4px;border:1px solid #dce5f5;border-radius:10px;text-align:center;font:inherit;color:#172b4d;background:#fff}
.pagination-jump button{min-width:44px;min-height:44px;border:1px solid #dce5f5;border-radius:10px;background:#fff;color:#004af2;font:inherit;font-size:20px;cursor:pointer}
.pagination-jump button:hover{background:#edf3ff;border-color:#004af2}
@media(max-width:720px){
 .pagination{grid-template-columns:1fr 1fr}
 .pagination-jump{grid-row:1;margin:0 0 8px;flex-wrap:wrap}
 .pagination-prev{grid-column:1;grid-row:2;justify-self:start}
 .pagination-next{grid-column:2;grid-row:2}
 .blog-filters{gap:8px;font-size:14px}
 .blog-filters a{padding:10px 14px}
}

.blog-search{margin:28px 0 0;max-width:720px}
.blog-search label{display:block;margin-bottom:10px;font-size:15px;font-weight:650;color:#172b4d}
.blog-search-controls{display:flex;gap:10px}
.blog-search input{box-sizing:border-box;min-width:0;flex:1;width:100%;min-height:48px;padding:12px 16px;border:1px solid #dce5f5;border-radius:12px;background:#fff;color:#172b4d;font:inherit;font-size:16px}
.blog-search button{min-height:48px;padding:12px 22px;border:1px solid #004af2;border-radius:12px;background:#004af2;color:#fff;font:inherit;font-weight:650;cursor:pointer}
.blog-search button:hover{background:#003dca}
.blog-search input:focus-visible,.blog-search button:focus-visible,.search-summary a:focus-visible{outline:3px solid #004af2;outline-offset:3px}
.search-summary{margin:0 0 24px;color:#61718c;font-size:15px;overflow-wrap:anywhere}
.search-summary a{white-space:nowrap}
@media(max-width:420px){.blog-search-controls{gap:8px}.blog-search button{padding:12px 16px}.blog-search input{padding:12px}}

/* Keep direct page entry without the browser's numeric spinner buttons. */
#blog-page{appearance:textfield;-moz-appearance:textfield}
#blog-page::-webkit-inner-spin-button,#blog-page::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
