:root{font-family:system-ui,-apple-system,sans-serif;color:#142b3d;background:#fff}
*{box-sizing:border-box}
body{margin:0}
a{color:#0c527f;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #cf8d0a;outline-offset:3px}
.blog-shell{max-width:800px;min-height:100vh;margin:auto;padding:0 22px 48px}
.blog-header,.blog-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}
.blog-header{position:sticky;top:0;z-index:2;min-height:76px;border-bottom:1px solid #e2eaee;background:#fff}
.blog-brand{color:#142b3d;font-size:1.22rem;font-weight:800;text-decoration:none}
.blog-app-link{display:inline-flex;align-items:center;min-height:48px;padding:9px 13px;border:1px solid #b8d2e0;border-radius:11px;background:#e7f2f9;font-weight:750;text-decoration:none;white-space:nowrap}
.blog-footer{flex-wrap:wrap;justify-content:flex-start;gap:8px 22px;margin-top:72px;padding-top:24px;border-top:1px solid #e2eaee}
.blog-footer a{display:inline-flex;align-items:center;min-height:44px}
.blog-heading{padding:60px 0 26px}
.blog-eyebrow{margin:0 0 8px;color:#0c527f;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
h1{margin:0;font-size:clamp(2.4rem,7vw,3.8rem);line-height:1.1;letter-spacing:-.04em}
h2{margin:38px 0 12px;font-size:1.55rem}
.blog-empty{padding:22px 0;color:#526776}
.blog-list{margin:0;padding:0;list-style:none}
.blog-list li{border-top:1px solid #e2eaee}
.blog-list li:last-child{border-bottom:1px solid #e2eaee}
.blog-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;min-height:94px;padding:18px 0;text-decoration:none;color:#142b3d}
.blog-list time{grid-column:1/-1;color:#526776;font-size:.95rem}
.blog-list strong{font-size:1.25rem;line-height:1.25;overflow-wrap:anywhere}
.blog-list span{align-self:center;color:#0c527f;font-size:1.5rem}
.blog-article{padding-top:40px}
.blog-all{display:inline-flex;align-items:center;min-height:48px;margin-bottom:34px;font-weight:750}
.blog-article time{display:block;margin-bottom:12px;color:#526776}
.blog-article h1{max-width:680px;overflow-wrap:anywhere}
.blog-text{margin-top:36px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1.12rem;line-height:1.65}
.blog-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;padding-top:24px;border-top:1px solid #e2eaee}
.blog-post-nav a{display:grid;gap:7px;align-content:center;min-height:88px;padding:14px;border:1px solid #c8dae4;border-radius:12px;text-decoration:none}
.blog-post-nav a:last-child{text-align:right}
.blog-post-nav span{font-size:.92rem;font-weight:750}
.blog-post-nav strong{color:#142b3d;line-height:1.3;overflow-wrap:anywhere}
.blog-admin{padding-top:44px}
.blog-admin p{line-height:1.5}
.blog-form{display:grid;gap:10px;margin-top:25px}
.blog-form label{font-weight:750}
.blog-form input,.blog-form textarea{width:100%;min-height:52px;padding:11px 12px;border:2px solid #7c98aa;border-radius:10px;background:#fff;color:#142b3d;font:inherit;font-size:1.05rem}
.blog-form textarea{min-height:260px;resize:vertical;line-height:1.5}
.blog-form button,.blog-danger{min-height:56px;margin-top:12px;padding:12px 18px;border:0;border-radius:11px;background:#0c527f;color:#fff;font:inherit;font-size:1.08rem;font-weight:750;cursor:pointer}
.blog-danger{background:#922f27}
.blog-error,.blog-success{padding:12px 16px;border-radius:10px;font-weight:700}
.blog-error{background:#fae7e4;color:#922f27}
.blog-success{background:#dff3e5;color:#185b32}
.blog-admin-list{padding:0;list-style:none}
.blog-admin-list li{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #e2eaee}
.blog-admin-list li>a:first-child{flex:1 1 220px;font-weight:750}
.blog-admin-list li>span{color:#526776}
@media(max-width:480px){.blog-shell{padding:0 17px 40px}.blog-header{min-height:68px}.blog-heading{padding-top:44px}.blog-post-nav{gap:10px}.blog-post-nav a{padding:10px;font-size:.9rem}}
