:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#1a1a1c;background:#fff;line-height:1.7;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:#0017c1;text-underline-offset:3px}a:hover{color:#00118a}a:focus-visible{outline:3px solid #ffdd00;outline-offset:3px}.site-header{border-bottom:1px solid #b4b4b8;background:#fff}.header-inner,main,.footer-inner{max-width:960px;margin-inline:auto;padding-inline:1.5rem}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;gap:.65rem;align-items:center;color:#1a1a1c;font-weight:700;font-size:1.12rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:30px;height:30px;background:#0017c1;color:#fff;font-weight:800}.site-header nav{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;font-size:.9rem}.site-header nav a{padding:.5rem .15rem;font-weight:700}main{min-height:calc(100vh - 164px);padding-block:3.5rem 5rem}footer{background:#f1f1f4;border-top:1px solid #b4b4b8;color:#3b3b40;font-size:.82rem}.footer-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-inner a{font-weight:700}.license-note{display:block;margin-top:.3rem}h1,h2,h3{color:#1a1a1c;line-height:1.35}h1{font-size:clamp(2rem,5vw,3.25rem);margin:0;letter-spacing:.02em}h2{font-size:1.45rem}p{margin-block:0 1.2rem}.eyebrow{color:#3b3b40;font-size:.85rem;font-weight:700;margin:0 0 .65rem}.page-heading{max-width:760px;margin-bottom:2.5rem;padding-left:1.25rem;border-left:6px solid #0017c1}.page-heading h1{font-size:clamp(1.85rem,4vw,2.65rem)}.page-heading p{margin:.55rem 0 0}.page-heading .eyebrow{margin-top:.1rem}.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;margin:0}.post-card{display:flex;flex-direction:column;min-height:250px;padding:1.5rem;background:#fff;border:1px solid #8f8f95;border-radius:0;box-shadow:0 2px 5px #0000001f}.post-card:hover{border:2px solid #0017c1;padding:calc(1.5rem - 1px);box-shadow:0 4px 10px #0017c12e}.post-card h2{margin:.6rem 0;font-size:1.4rem}.post-card h2 a{text-decoration-thickness:1px}.post-card .summary{color:#3b3b40;font-size:.95rem}.meta{color:#56565c;font-size:.84rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.85rem 0 0}.post-card .tags{margin-top:auto;padding-top:1rem}.tag{display:inline-flex;align-items:center;min-height:28px;padding:.12rem .65rem;border:1px solid #56565c;background:#fff;color:#1a1a1c;font-size:.8rem;line-height:1.2;text-decoration:none}.tag:hover{color:#fff;background:#0017c1;border-color:#0017c1}.article-header{max-width:760px;margin:0 auto 3rem}.article-header h1{margin:.35rem 0 1rem}.article-header .meta{margin-bottom:1.4rem}.article-image{display:block;width:100%;max-height:460px;margin-top:2rem;object-fit:cover;border:1px solid #8f8f95}.prose{max-width:700px;margin:auto;font-size:1.03rem}.prose>:first-child{margin-top:0}.prose a{font-weight:700}.prose h2{margin-top:3rem;padding-bottom:.45rem;border-bottom:2px solid #1a1a1c;font-size:1.75rem}.prose h3{margin-top:2.2rem;border-left:4px solid #0017c1;padding-left:.7rem}.prose blockquote{margin:1.7rem 0;padding:.9rem 1.2rem;border-left:5px solid #0017c1;background:#f1f1f4}.prose img{max-width:100%;height:auto}.prose pre{padding:1.2rem 1.35rem;border:1px solid #56565c;border-radius:0;overflow:auto}.prose :not(pre)>code{padding:.12em .35em;background:#f1f1f4;font-size:.88em}.article-header+.prose+.tags{max-width:700px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid #b4b4b8}.notice{max-width:760px;padding:1.25rem 1.5rem;border-left:6px solid #0017c1;background:#eef0ff}.notice h2{margin-top:0;font-size:1.2rem}.notice p:last-child{margin-bottom:0}.content-list{max-width:760px;padding-left:1.3rem}.content-list li{margin:.6rem 0}@media(max-width:720px){.header-inner,main,.footer-inner{padding-inline:1rem}.header-inner{min-height:68px;align-items:flex-start;padding-block:1rem;flex-direction:column;gap:.4rem}.site-header nav{font-size:.82rem}.footer-inner{padding-block:1.2rem;align-items:flex-start;flex-direction:column}.post-list{grid-template-columns:1fr;gap:1rem}main{padding-block:2.5rem 3.5rem}.article-header{margin-bottom:2rem}}
