.masthead{text-align:center;border-bottom:3px double var(--ink-black);flex-direction:column;align-items:center;margin-bottom:5px;padding-bottom:20px;display:flex;position:relative}.masthead h1 a{display:inline-block}.masthead h1 a:hover{opacity:.6}.masthead .date{color:var(--accent-gray);text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.masthead h1{letter-spacing:2px;text-transform:uppercase;word-break:break-word;margin-bottom:5px;font-size:clamp(2rem,5vw,3.5rem);font-weight:700}.masthead .tagline{color:var(--subtle-gray);margin-bottom:10px;font-size:clamp(1rem,2.5vw,1.1rem);font-style:italic}@media (width<=767px){.masthead{gap:10px}}@media (width<=480px){.masthead h1{font-size:1.6rem}.masthead .tagline{font-size:.9rem}}@media (height<=500px) and (orientation:landscape){.masthead{margin-bottom:20px;padding-bottom:10px}.masthead h1{font-size:2rem}}.theme-toggle{border:2px solid var(--ink-black);color:var(--ink-black);cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px 12px;font-family:inherit;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;position:absolute;top:19px;right:15px}.theme-toggle:focus{background:var(--ink-black);color:var(--paper-white);outline:none}.lightbulb{filter:brightness(.4)contrast(1.2);color:var(--ink-black);transition:all .3s}[data-theme=dark] .lightbulb{filter:brightness(1.8)contrast(1.1);color:#ffeb3b}@media (width<=767px){.theme-toggle{order:1;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;margin:15px auto 0;display:flex;position:static}}.nav-bar{text-align:center;border-bottom:1px solid var(--border-gray);margin-bottom:30px;padding:15px 0}.nav-bar a{text-transform:uppercase;letter-spacing:1px;margin:0 25px;font-size:.9rem;font-weight:700;display:inline-block;position:relative;color:var(--ink-black)!important;box-shadow:none!important;background:0 0!important;border:none!important;text-decoration:none!important;transition:none!important;animation:none!important}.nav-bar a:hover{opacity:.6}.nav-bar a:focus,.nav-bar a:active,.nav-bar a:visited,.nav-bar a:link{color:var(--ink-black)!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;text-decoration:none!important;transition:none!important;animation:none!important}.nav-bar .nav-link.active{color:var(--ink-black)!important;font-weight:700!important}.nav-bar .nav-link.active:after{content:"";background:var(--ink-black);height:2px;position:absolute;bottom:-17px;left:0;right:0}@media (width<=767px){.nav-bar{padding:10px 0}.nav-bar a{margin:0 8px;font-size:.8rem}}@media (width<=480px){.nav-bar{padding:10px 0}.nav-bar a{margin:0 5px;padding:6px 3px;font-size:.7rem}}@media (height<=500px) and (orientation:landscape){.nav-bar{margin-bottom:20px;padding:8px 0}}.featured-article{border-bottom:2px solid var(--ink-black);margin-bottom:30px;padding-bottom:30px}.featured-article h2 a:hover{opacity:.6}.featured-article .lead{color:var(--subtle-gray);margin-bottom:20px;font-size:1.3rem;font-style:italic;line-height:1.4}.featured-article .byline{color:var(--accent-gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;font-size:.9rem}.featured-article .content{text-align:left;font-size:1rem;line-height:1.7}.featured-article .content p{margin-bottom:15px}.featured-article h2{word-break:break-word;margin-bottom:15px;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;line-height:1.2}.article-detail .content img,.featured-article .content img{border-radius:4px;min-width:0;max-width:100%;height:auto;margin:20px auto;display:block}@media (width<=767px){.featured-article .lead,.article-detail .article-lead{font-size:clamp(1rem,3vw,1.2rem)}.featured-article h2{font-size:1.8rem}.article-grid{grid-template-columns:1fr 120px;gap:15px}.article-image{width:120px}.article-image img,.article-image div{height:80px}.article-content h3{font-size:clamp(1.1rem,3vw,1.25rem);line-height:1.3}.article-detail .article-title{font-size:1.8rem}.article-detail .article-lead{font-size:1.1rem}.article-detail .content{font-size:1rem}.article-detail .content h1{font-size:1.6rem}.article-detail .content h2{font-size:1.4rem}.article-detail .content h3{font-size:1.2rem}.article-detail .content pre{margin:15px -15px;padding:15px;font-size:.85rem}.code-block,.article-detail .content pre{margin:15px calc(-1 * var(--container-padding));border-radius:0;padding:15px;font-size:.85rem}}@media (width<=480px){.featured-article h2{font-size:1.5rem}.article-grid{grid-template-columns:1fr 100px;gap:10px}.article-image{width:100px}.article-image img,.article-image div{height:60px}.article-detail .article-title{font-size:1.5rem}.code-block,.article-detail .content pre{padding:10px;font-size:.8rem}}.article-grid{gap:var(--content-gap);grid-template-columns:1fr auto;align-items:start;min-width:0;display:grid}.article-image{flex-shrink:0;width:200px}.article-image img,.article-image div{object-fit:cover;border-radius:4px;width:100%;height:120px;display:block}.article-image div{background:var(--card-bg);border:1px solid var(--border-gray);color:var(--accent-gray);justify-content:center;align-items:center;font-size:.75rem;display:flex}.article-content h3{margin-bottom:12px;font-size:1.25rem;font-weight:600;line-height:1.3}.article-content h3 a:hover{opacity:.6}.content-preview{color:var(--subtle-gray);margin-bottom:12px;font-size:1rem;line-height:1.5}.byline{color:var(--accent-gray);margin-bottom:8px;font-size:.85rem}.article-content .read-more,.article-content-full .read-more{color:var(--subtle-gray);font-size:.85rem;font-weight:500}.article-content .read-more:hover,.article-content-full .read-more:hover{opacity:.6}.article-detail{max-width:800px}.article-detail .article-header{border-bottom:2px solid var(--ink-black);margin-bottom:30px;padding-bottom:20px}.article-detail .article-title{margin-bottom:15px;font-size:2.5rem;font-weight:700;line-height:1.2}.article-detail .article-lead{color:var(--subtle-gray);margin-bottom:20px;font-size:1.2rem;font-style:italic;line-height:1.4}.article-detail .article-meta{color:var(--accent-gray);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.article-detail .content{font-size:1rem;line-height:1.7}.article-detail .content h1,.article-detail .content h2,.article-detail .content h3{color:var(--ink-black);margin:30px 0 15px;line-height:1.3}.article-detail .content h1{font-size:1.8rem}.article-detail .content h2{font-size:1.5rem}.article-detail .content h3{font-size:1.3rem}.article-detail .content p{margin-bottom:20px}.article-detail .content pre{background:var(--code-bg);break-inside:avoid;color:var(--ink-black);border:1px solid var(--border-gray);border-radius:5px;margin:20px 0;padding:20px;font-size:.9rem;overflow-x:auto}[data-theme=dark] .article-detail .content pre{color:#e6e6e6;background:#161b22;border:1px solid #30363d}.article-detail .content blockquote{border-left:4px solid var(--ink-black);color:var(--subtle-gray);margin:20px 0;padding-left:20px;font-size:.95rem;font-style:italic}.article-detail .content ul,.article-detail .content ol{margin:20px 0;padding-left:30px}.article-detail .content li{margin-bottom:10px}.related-articles{border-top:1px solid var(--border-gray);margin-top:40px;padding-top:20px}.related-articles h3{margin-bottom:20px;font-size:1.5rem}.related-article{border-bottom:1px dotted var(--border-gray);padding:15px 0}.related-article:last-child{border-bottom:none}.related-article h4{margin-bottom:8px;font-size:1.1rem}.related-article h4 a:hover{opacity:.6}.related-article .meta{color:var(--accent-gray);font-size:.8rem}.article-detail .content table{border-collapse:collapse;white-space:nowrap;width:100%;margin:20px 0;font-size:.9rem;display:block;overflow-x:auto}.article-detail .content table thead,.article-detail .content table tbody,.article-detail .content table tr{table-layout:fixed;width:100%;display:table}.article-detail .content table th,.article-detail .content table td{border:1px solid var(--border-gray);text-align:left;padding:8px 12px}.series-context a:hover{color:var(--ink-black)!important;border-bottom-color:var(--ink-black)!important}@media (width<=767px){.series-header [style*=grid-template-columns]{grid-template-columns:1fr!important;gap:20px!important}.series-header h1{font-size:1.8rem!important}.series-header img{height:120px!important}}.sidebar{border-left:1px solid var(--border-gray);flex:1;align-self:flex-start;min-width:250px;padding-left:30px;padding-right:10px;position:sticky;overflow:visible}.sidebar-section{margin-bottom:40px}.sidebar-section h3{text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--ink-black);color:var(--ink-black);margin-bottom:15px;padding-bottom:5px;font-size:1.3rem}.sidebar .article-list{margin:0;padding:0;list-style:none}.sidebar .article-list li{border-bottom:1px dotted var(--border-gray);margin-bottom:15px;padding-bottom:15px}.sidebar .article-list li:last-child{border-bottom:none}.sidebar .article-list .title{margin-bottom:5px;font-size:1rem;font-weight:700}.sidebar .article-list .title a{font-weight:700;display:inline}.sidebar .article-list .title a:hover{opacity:.6}.sidebar .article-list .meta{color:var(--accent-gray);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.sidebar-section div[style*=padding]{background:var(--card-bg);border:1px solid var(--border-gray);border-radius:4px}.sidebar-section div[style*=padding] p{color:var(--subtle-gray);margin-bottom:15px;line-height:1.5}.sidebar-section div[style*=padding] p:last-child{color:var(--accent-gray);margin-bottom:0}@media (width<=767px){.sidebar{border-left:none;border-top:1px solid var(--border-gray);min-width:auto;max-height:none;padding-top:20px;padding-left:0;position:static}}@media (width>=1200px){.sidebar{min-width:300px}}*{box-sizing:border-box;margin:0;padding:0}html{max-width:100%}body{max-width:100%;overflow-x:hidden}:root{--paper-white:#f2ede6;--ink-black:#1a1a1a;--subtle-gray:#666;--accent-gray:#888;--border-gray:#c9c0b5;--hover-bg:#8b745f0f;--card-bg:#8b745f1f;--code-bg:#ebe4da;--code-bg-hover:#e4ddd2;--container-padding:20px;--section-gap:40px;--content-gap:20px}[data-theme=dark]{--paper-white:#0d1117;--ink-black:#e6e6e6;--subtle-gray:#b3b3b3;--accent-gray:#8d8d8d;--border-gray:#30363d;--hover-bg:#ffffff0d;--card-bg:#ffffff05}body{background:var(--paper-white);color:var(--ink-black);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 1px 1px,#8b745f14 1px,#0000 0);background-size:20px 20px;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}[data-theme=dark] body{background-image:radial-gradient(circle at 1px 1px,#ffffff08 1px,#0000 0)}.container{max-width:1200px;padding:var(--container-padding);width:100%;margin:0 auto}.featured-article .content,.article-detail .content,.content-preview{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.featured-article .content a,.article-detail .content a{word-break:break-all;overflow-wrap:break-word}.main-content{gap:var(--section-gap);align-items:start;min-width:0;margin-bottom:40px;display:flex}#content-area{overflow-wrap:break-word;flex:2;min-width:0}.code-block,.article-detail .content pre{background:var(--code-bg);border:1px solid var(--border-gray);cursor:pointer;break-inside:avoid;color:var(--ink-black);white-space:pre;word-wrap:normal;-webkit-overflow-scrolling:touch;margin:20px 0;padding:20px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace;font-size:clamp(.8rem,2vw,.9rem);line-height:1.4;transition:background-color .2s;overflow-x:auto}.code-block:hover{background:var(--code-bg-hover)}[data-theme=dark] .code-block{color:#e6e6e6;background:#161b22;border:1px solid #30363d}[data-theme=dark] .code-block:hover{background:#1c2128}.code-block .code-header{color:var(--subtle-gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:.8rem;font-weight:700}.expandable{cursor:pointer;transition:background-color .2s}.expandable:hover{background:var(--hover-bg)}.expanded-content{border-left:3px solid var(--ink-black);background:var(--card-bg);margin-top:15px;padding:15px}.article-divider{border-bottom:1px dotted var(--border-gray);padding:var(--content-gap) 0;margin-bottom:var(--content-gap)}@media (width<=767px){:root{--container-padding:15px;--section-gap:20px;--content-gap:15px}.main-content{gap:var(--content-gap);flex-direction:column}}@media (width<=480px){:root{--container-padding:10px;--section-gap:15px;--content-gap:10px}.container{padding:10px}}@media (width>=1200px){.container{padding:30px}.main-content{gap:50px}}@media (height<=500px) and (orientation:landscape){.main-content{margin-bottom:20px}}@media (-webkit-device-pixel-ratio>=2),(resolution>=192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.theme-toggle,.nav-bar,.sidebar,.footer{display:none!important}.main-content{flex-direction:column}.article-detail{max-width:none}.container{max-width:none;padding:0}body{font-size:12pt;line-height:1.4}.article-detail .content{font-size:11pt}.featured-article h2,.article-detail .article-title{margin-bottom:10pt;font-size:18pt}}a{color:inherit;text-decoration:none;transition:opacity .2s}a:hover{opacity:.6}a:focus,button:focus,[tabindex]:focus{outline:2px solid var(--ink-black);outline-offset:2px;background:#ffffff1a}.skip-link{background:var(--ink-black)!important;color:var(--paper-white)!important;z-index:10000!important;opacity:0!important;pointer-events:none!important;border-radius:4px!important;padding:8px 12px!important;font-size:.9rem!important;font-weight:700!important;text-decoration:none!important;transition:top .2s!important;position:absolute!important;top:-100px!important;left:6px!important}.skip-link:focus{opacity:1!important;pointer-events:auto!important;top:6px!important}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}*{transition:background-color .2s,color .2s,border-color .2s}.footer{border-top:2px double var(--ink-black);text-align:center;color:var(--accent-gray);margin-top:40px;padding-top:20px;font-size:clamp(.8rem,2vw,.9rem)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
