
:root{--dark:#1a1815;--mid:#5a5248;--warm-gray:#d1cbc1}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{background:#ede8e0;padding:clamp(1rem,4vw,3rem);color:#5a5248;-webkit-font-smoothing:antialiased}.blog-container{max-width:620px;margin:0 auto}a{color:inherit;text-decoration:none}.back-link{display:inline-flex;min-height:44px;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;color:#8a8278}.back-link:hover{color:#1a1815}.article-body{font-family:'Source Serif 4',serif;font-size:16px;line-height:1.65;color:#5a5248}.article-body h1{font-size:30px;font-weight:500;line-height:1.2;color:#1a1815;margin-bottom:8px}.article-body h2{font-size:24px;font-weight:500;line-height:1.65;color:#1a1815;margin:32px 0 16px;letter-spacing:.02em}.article-body h3{font-size:20px;font-weight:500;line-height:1.65;color:#1a1815;margin:24px 0 12px;letter-spacing:.02em}.article-body p{margin-bottom:16px}.article-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8a8278;letter-spacing:.03em;margin-bottom:24px}.static-feature{height:400px;width:100%;margin:24px 0 8px;border-radius:4px;display:flex;align-items:center;justify-content:center}.security-map{width:85%;display:grid;grid-template-columns:1fr 1fr;gap:32px;position:relative}.map-cell{min-height:105px;border:1px solid #b5ad9f;padding:20px;background:rgba(247,244,238,.4);position:relative}.map-cell span{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#8a8278;display:block;margin-bottom:10px;letter-spacing:.1em}.map-cell strong{font-weight:400;font-size:22px;color:#1a1815}.figure-caption{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#8a8278;letter-spacing:.03em;text-align:center;margin:8px 0 24px}.tldr{border-left:3px solid #1a1815;padding-left:20px;font-style:italic;margin:32px 0}.contents{padding:24px;margin:32px 0;background:rgba(200,192,180,.08);border:1px solid rgba(200,192,180,.3);border-radius:6px}.contents h2{font-size:18.4px;margin:0 0 12px;line-height:1.4}.contents a{display:block;padding:10.4px;border-radius:3px;font-size:15px}.contents a:hover{background:rgba(200,192,180,.15)}.contents a span{display:block;font-size:13px;color:#8a8278}.article-body ul{margin:0 0 16px;padding-left:24px}.article-body li{margin-bottom:8px}.article-body p a{border-bottom:1px solid #c8c0b4;color:#1a1815}.chapter-nav{position:sticky;top:0;z-index:3;margin:0 -8px 24px;padding:12px 8px;display:flex;justify-content:center;gap:24px;background:rgba(237,232,224,.92);backdrop-filter:blur(8px);font-family:'IBM Plex Mono',monospace;font-size:10px;text-transform:uppercase;color:#8a8278}.chapter-nav a{min-height:44px;display:flex;align-items:center;white-space:nowrap;border-bottom:2px solid transparent}.chapter-nav a.active{color:#1a1815;border-color:#1a1815}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:8;background:transparent}.reading-progress span{display:block;height:100%;background:#1a1815;transform:scaleX(0);transform-origin:left}.blog-footer{margin-top:48px;padding-top:24px;border-top:1px solid #d1cbc1;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.05em}.blog-footer .brand{display:inline-flex;align-items:center;gap:8px;margin:12px 0 20px}.blog-footer img{width:22px;height:22px}.article-contact{margin-top:32px;border-top:1px solid #d1cbc1;padding-top:24px}:focus-visible{outline:1px solid #1a1815;outline-offset:4px}@media(max-width:640px){.chapter-nav{overflow-x:auto;justify-content:flex-start;font-size:9px;gap:16px}.map-cell{padding:12px}.map-cell strong{font-size:20px}.security-map{gap:18px;width:95%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(forced-colors:active){}
.blog-container{max-width:1120px}.article-intro{max-width:620px;margin:0 auto}.chapter-layout{display:grid;grid-template-columns:240px minmax(0,620px);gap:60px;border-top:1px solid #d1cbc1;padding-top:48px;justify-content:center;align-items:start}.chapter-panels{min-width:0;border-left:1px solid #d1cbc1;padding-left:40px}.chapter-panels>section{padding:0 0 48px;margin-bottom:32px;border-bottom:1px solid #d1cbc1;scroll-margin-top:48px}.chapter-panels>section h2{margin-top:0}.blog-rail{position:sticky;top:64px;display:flex;flex-direction:column;gap:0;padding:16px 0;font-family:'Source Serif 4',serif}.blog-rail a{display:flex;align-items:baseline;gap:16px;padding:16px 20px;border-left:2px solid transparent;color:#8a8278;font-size:17px;line-height:1.4;min-height:56px}.blog-rail a.active{border-color:#1a1815;color:#1a1815}.rail-index{font-family:'IBM Plex Mono',monospace;font-size:10px}.article-contact{border-top:0;padding-top:0}.blog-footer{max-width:620px;margin:48px auto 0}.blog-container>.back-link:last-of-type{margin:0 auto;display:flex;max-width:620px}@media(max-width:900px){.chapter-layout{grid-template-columns:200px minmax(0,620px);gap:24px}.chapter-panels{padding-left:24px}}@media(max-width:640px){.chapter-layout{display:block;padding-top:0}.blog-rail{position:sticky;top:0;z-index:4;flex-direction:row;overflow-x:auto;padding:8px 0;background:rgba(237,232,224,.96);border-bottom:1px solid #d1cbc1;margin-bottom:32px}.blog-rail a{flex-shrink:0;white-space:nowrap;font-size:14px;padding:12px 16px;border-left:0;border-bottom:2px solid transparent;min-height:44px}.chapter-panels{border-left:0;padding-left:0}.chapter-panels>section{scroll-margin-top:90px}}

body{padding-top:8rem}header nav{font-family:"IBM Plex Mono",monospace}.service-dropdown a{font-family:"IBM Plex Mono",monospace}.chapter-layout .blog-rail{top:7rem}.chapter-panels>section{scroll-margin-top:8rem}@media(max-width:640px){body{padding-top:10rem}.chapter-layout .blog-rail{top:7.5rem}.chapter-panels>section{scroll-margin-top:13rem}}
::selection{background:#d8b99a;color:#34291f;text-shadow:none;-webkit-text-fill-color:#34291f}
