:root{--bg:#090c12;--panel:#11151e;--panel2:#161b25;--line:#232a36;--text:#eef0f6;--muted:#8a93a5;--accent:#4b99ff;--bright:#83beff;--radius:15px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}svg{width:20px;height:20px}img{max-width:100%}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.masthead{height:68px;border-bottom:1px solid #1c222c;position:sticky;top:0;z-index:50;background:rgba(9,12,18,.95);backdrop-filter:blur(18px)}.mast-inner{max-width:1510px;margin:auto;height:100%;display:flex;align-items:center;gap:70px;padding:0 32px}.brand{font:800 27px 'Manrope',sans-serif;letter-spacing:-1.5px;white-space:nowrap}.brand span,.footer-brand span{color:var(--accent)}.brand img{max-height:40px;max-width:170px;display:block}.top-nav{display:flex;gap:7px;align-items:center}.top-nav a{font-weight:600;color:#929baa;padding:11px 14px;border-radius:3px;font-size:13px}.top-nav a:hover,.top-nav a.current{background:var(--panel2);color:white}.mast-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#aab3c1;padding:8px}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;padding:12px 19px;font-weight:700;font-size:12px}.pill-light{background:#f4f5f8;color:#101217}.pill-secondary{background:#202630;color:#fff}.mobile-menu-toggle{display:none}.three-column-wrap{max-width:1510px;margin:auto;padding:24px 32px;display:grid;grid-template-columns:211px minmax(0,702px) 290px;justify-content:center;gap:26px}.left-rail,.right-rail{min-width:0}.sticky-panel{position:sticky;top:93px}.left-rail .sticky-panel{min-height:70vh;display:flex;flex-direction:column}.rail-heading{font:700 10px 'Manrope',sans-serif;letter-spacing:1.6px;color:#626e7d;margin:19px 12px 16px}.rail-link{background:none;border:0;color:#a6aebc;display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:13px 14px;border-radius:3px;font-weight:600}.rail-link.active,.rail-link:hover{background:#1c222c;color:white}.rail-icon{font-size:20px;min-width:20px;text-align:center;color:#9aa6b6}.rail-rule{border-top:1px solid var(--line);margin:25px 12px 11px}.topic-link{display:flex;align-items:center;gap:8px;font-size:13px;color:#959faf;padding:9px 14px}.topic-link:hover{color:white}.topic-link>span{color:#6b7688}.topic-link small{margin-left:auto;color:#687383}.rail-bottom{margin-top:auto;color:#646f80;padding:40px 15px;font-size:12px}.tiny-dot,.live-dot,.eyebrow-dot{display:inline-block;border-radius:50%;background:var(--accent);width:7px;height:7px;margin-right:8px;box-shadow:0 0 12px #4b99ff44}.timeline{min-width:0}.feed-intro{padding:16px 8px 28px}.eyebrow{display:block;letter-spacing:2.1px;color:#7ea9cd;font-size:10px;font-weight:800;margin-bottom:14px}.feed-intro h1{font:800 clamp(25px,3vw,34px)/1.18 'Manrope',sans-serif;letter-spacing:-1.2px;margin:0 0 10px}.feed-intro p{color:var(--muted);margin:0;line-height:1.7}.composer{background:linear-gradient(135deg,#1a202b,#121821 65%);border:1px solid #2a3342;border-radius:3px;padding:21px;box-shadow:0 11px 45px #0002;position:relative;overflow:hidden}.composer:before{content:'';position:absolute;width:240px;height:160px;background:radial-gradient(ellipse,#4b99ff17,transparent 70%);right:-85px;top:-90px;pointer-events:none}.composer-top{display:flex;align-items:center;gap:12px}.composer-avatar{background:linear-gradient(140deg,var(--accent),#6751bb);border-radius:3px;font-weight:700;display:grid;place-items:center;width:43px;height:43px;font-size:23px}.composer-header{display:flex;flex-direction:column;gap:4px}.composer-header span{font-weight:700}.composer-header small{color:var(--muted)}.composer-badge{margin-left:auto;color:#8fc1ff;font-size:9px;letter-spacing:1px;font-weight:800}.composer textarea#quick-post-text{width:100%;resize:vertical;min-height:85px;margin-top:18px;color:white;border:1px solid #2a3240;background:#0d121a;border-radius:3px;padding:17px;line-height:1.6}.composer textarea::placeholder,.composer input::placeholder{color:#778293}.composer-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.composer-expand{background:transparent;border:0;color:#b0c7e3;font-size:12px;padding:11px 0;text-align:left}.composer-expand span{font-size:18px}.post-submit{border:0;background:#e4f2ff;color:#1c1729;padding:12px 20px;border-radius:3px;font-weight:800;white-space:nowrap}.post-submit:disabled{opacity:.55;cursor:wait}.post-submit span{padding-left:7px}.composer-note{font-size:11px;color:#788293;margin-top:13px}.composer-note a{text-decoration:underline;text-underline-offset:3px}.form-label{display:block;margin:14px 0 5px;color:#bec7d5;font-size:12px;font-weight:700}.composer input:not([type=file]),.composer select,.composer #quick-post-code{background:#0e131b;color:white;border:1px solid #30394a;border-radius:3px;width:100%;padding:10px}.composer input[type=file]{max-width:100%;padding:10px 0;color:#abb3c1}.composer-hint{font-size:12px;color:#9ba5b4;line-height:1.6;margin:12px 0}.feed-bar{display:flex;align-items:center;justify-content:space-between;padding:26px 6px 14px;border-bottom:1px solid var(--line)}.feed-bar-title{font:800 13px 'Manrope',sans-serif}.sort-label{font-size:11px;color:#7f8a9a}.live-dot{width:6px;height:6px;background:#72d8ad;box-shadow:0 0 8px #72d8ad66}.feed-post{border-bottom:1px solid #222a35;padding:25px 7px 25px 4px;display:grid;grid-template-columns:43px minmax(0,1fr);gap:14px;scroll-margin-top:80px}.post-avatar,.reading-avatar{height:41px;width:41px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#34354a;color:#eee;font-weight:700}.post-avatar img,.reading-avatar img{width:100%;height:100%;object-fit:cover}.post-avatar span{font-size:10px;padding:3px;text-align:center}.post-main{min-width:0}.post-byline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:1px 0 8px}.byline-names{min-width:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.author-name{font-weight:700;font-size:13px}.muted{color:#7d8898}.byline-date{font-size:12px}.more-link{color:#778294;letter-spacing:3px;font-size:19px;line-height:13px}.post-title{font:700 16px/1.4 'Manrope',sans-serif;margin:3px 0 8px;letter-spacing:-.2px}.post-title:hover{color:var(--bright)}.post-body{font-size:14px;line-height:1.72;color:#dbe0e9;overflow-wrap:anywhere}.post-body>:first-child,.reading-content>:first-child{margin-top:0}.post-body>:last-child,.reading-content>:last-child{margin-bottom:0}.gh-content p{margin:0 0 13px}.gh-content a:not(.kg-btn){color:#8fc1ff;text-decoration:underline;text-underline-offset:3px}.gh-content blockquote{border-left:3px solid var(--accent);margin:17px 0;padding:8px 0 8px 20px;background:linear-gradient(90deg,#4b99ff0f,transparent);font-family:Georgia,serif;font-size:19px;color:#f1eff7}.gh-content h2,.gh-content h3{font-family:Manrope,sans-serif;line-height:1.35;margin:23px 0 12px}.gh-content figure{margin:15px 0}.gh-content figcaption{font-size:12px;color:#858f9f;text-align:center;margin:8px 0}.gh-content img{display:block;border-radius:3px;width:auto;height:auto}.gh-content .kg-image-card img,.gh-content .kg-width-wide img,.gh-content .kg-width-full img{width:100%}.gh-content .kg-gallery-container{display:flex;flex-direction:column;gap:6px}.gh-content .kg-gallery-row{display:flex;gap:6px}.gh-content .kg-gallery-image{flex:1;min-width:0;overflow:hidden;border-radius:3px}.gh-content .kg-gallery-image img{width:100%;height:100%;object-fit:cover;border-radius:3px;cursor:zoom-in}.gh-content .kg-image-card img{cursor:zoom-in}.gh-content .kg-file-card,.gh-content .kg-bookmark-card{background:#171d28;border:1px solid #293142;border-radius:3px;padding:15px}.gh-content pre{position:relative;overflow-x:auto;background:#151a23!important;border:1px solid #29303d;border-radius:3px;padding:46px 17px 18px;margin:15px 0;color:#a5d2ff;font:12px/1.8 'SFMono-Regular',Consolas,monospace}.gh-content pre code{white-space:pre;tab-size:2}.copy-code{position:absolute;right:10px;top:9px;background:#252b38;color:#e3e7ed;border:1px solid #3a4150;padding:5px 10px;border-radius:3px;font-size:11px}.code-lang{position:absolute;top:14px;left:15px;color:#8590a0;font-size:10px;text-transform:uppercase;letter-spacing:1px}.gh-content :not(pre)>code{background:#252b37;color:#a5d2ff;padding:3px 5px;border-radius:4px}.gh-content .kg-toggle-card{background:#171d26;border:1px solid #2b3342;padding:14px;border-radius:3px}.gh-content .kg-callout-card{border-radius:3px}.gh-content ul,.gh-content ol{padding-left:22px}.gh-content li{margin:6px 0}.gh-content input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin-right:8px}.gh-content .kg-audio-card,.gh-content .kg-video-card{background:#1a202c;border:1px solid #2b3544;color:#fff;border-radius:3px}.gh-content .kg-audio-card *{color:inherit}.gh-content .kg-card-hascaption{max-width:100%}.gh-content iframe{max-width:100%}.feature-tile{display:block;margin:14px 0}.feature-tile img{width:100%;max-height:430px;object-fit:cover;border-radius:3px}.post-toolbar{display:flex;align-items:center;gap:22px;margin-top:17px}.tool-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#8b96a7;padding:3px 0;font-size:11px}.tool-link svg{height:17px;width:17px}.tool-link:hover,.tool-link[aria-pressed=true]{color:var(--bright)}.post-date-link{font-size:11px;color:#747e8e;margin-left:auto}.side-card{background:#131820;border:1px solid #202936;border-radius:3px;padding:19px;margin-bottom:16px;position:relative;overflow:hidden}.intro-card{padding:24px 20px}.side-card-glow{pointer-events:none;position:absolute;right:-75px;top:-110px;width:240px;height:240px;background:radial-gradient(circle,#926cf321,transparent 67%)}.intro-mark{width:59px;height:59px;background:linear-gradient(135deg,#6959a0,#312751);display:grid;place-items:center;border-radius:3px;font:800 34px 'Manrope';margin-bottom:19px;overflow:hidden}.intro-mark span{color:#97cbff}.intro-mark img{width:100%;height:100%;object-fit:cover}.intro-card h2{font:800 19px 'Manrope';margin:0 0 9px}.intro-card p{color:#a2acba;line-height:1.8;margin:0 0 19px}.side-cta{display:flex;justify-content:space-between;background:#e7e2f5;color:#1e192b;border-radius:3px;padding:13px;font-weight:800;font-size:12px}.side-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:15px}.side-heading h3{margin:0;font:800 13px Manrope}.side-heading span{font-size:9px;letter-spacing:1px;color:#6f7b8d}.side-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.side-gallery a{aspect-ratio:1}.side-gallery img{height:100%;width:100%;object-fit:cover;border-radius:7px}.tag-cloud{display:flex;flex-wrap:wrap;gap:7px}.tag-cloud a{background:#212733;border:1px solid #293343;padding:8px 11px;border-radius:20px;color:#adb7c5;font-size:11px}.tag-cloud a:hover{background:#303247;color:white}.side-quote{padding:9px 19px;color:#8995a7;line-height:1.7}.side-quote span{color:var(--accent);font-size:24px}.side-quote p{font-family:Georgia,serif;font-style:italic;font-size:15px}.site-footer{max-width:1510px;margin:35px auto 0;padding:27px 32px 34px;border-top:1px solid #1f2731;display:flex;align-items:center;justify-content:space-between;color:#6f7c8d;font-size:12px;gap:24px}.site-footer>div{display:flex;gap:15px;align-items:center}.footer-brand{font-weight:800;color:#f1f2f6;font-size:16px}.footer-links a:hover{color:var(--bright)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 8px;color:#8d98a8;font-size:12px}.pagination a{padding:10px 13px;border:1px solid #343c4a;border-radius:3px;color:#d7d8df}.reading-layout{max-width:770px;margin:45px auto 90px;padding:0 24px}.reading-back{color:#a7a0bd;margin-bottom:28px}.reading-post{background:#11161e;border:1px solid #252d3c;padding:clamp(20px,4vw,50px);border-radius:19px}.reading-author{display:flex;align-items:center;gap:12px;margin-bottom:25px}.reading-author>div{display:flex;flex-direction:column;gap:5px}.reading-author a{font-weight:700}.reading-author time{font-size:12px;color:#8692a4}.reading-post h1{font:800 clamp(28px,4vw,42px)/1.2 Manrope;letter-spacing:-1.3px;margin:0 0 24px}.reading-content{font-size:16px;line-height:1.9;color:#d8dfeb}.reading-content p{margin:0 0 19px}.reading-feature{margin:28px 0}.reading-feature img{border-radius:14px;width:100%}.reading-tags{margin-top:25px;display:flex;gap:8px;flex-wrap:wrap}.reading-tags a{background:#252c3a;color:#b9c2d0;border-radius:3px;padding:8px 12px;font-size:11px}.reading-share{margin-top:25px;border-top:1px solid var(--line);padding-top:20px}.comments-wrap{margin-top:28px;padding:28px 35px;border:1px solid #293140;background:#11161e;border-radius:3px}.comments-wrap h2{font:800 19px Manrope;margin:0 0 8px}.comments-wrap>p{margin:0 0 20px;color:#8f9baa}.comments-wrap #ghost-comments-root{background:transparent}.archive-layout{max-width:800px;margin:40px auto;padding:0 23px}.archive-heading{padding:24px 10px 35px;border-bottom:1px solid var(--line)}.archive-heading>a{display:block;margin-bottom:35px;color:#8d9ab0}.archive-heading h1{font:800 43px Manrope;margin:0 0 10px}.archive-heading p{color:#929eaf;line-height:1.7}.archive-count{color:#87bbfa;font-size:12px}.author-hero-img{width:72px;height:72px;object-fit:cover;border-radius:50%;display:block;margin-bottom:18px}.error-view{text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.error-view>span{color:var(--accent);font-weight:800;letter-spacing:2px}.error-view h1{font:800 32px Manrope}.lightbox[hidden],.search-overlay[hidden]{display:none}.lightbox{position:fixed;inset:0;background:#020407f5;z-index:150;display:flex;align-items:center;justify-content:center;padding:55px}.lightbox img{max-height:calc(100vh - 100px);max-width:100%;object-fit:contain}.lightbox button{position:absolute;border:0;background:#222936;color:white;border-radius:50%;width:40px;height:40px;font-size:26px}.lightbox-close{right:25px;top:21px}.lightbox-prev{left:18px;top:50%}.lightbox-next{right:18px;top:50%}.lightbox-counter{position:absolute;bottom:18px;color:#bdc5cf}.toast{position:fixed;z-index:200;right:22px;bottom:24px;background:#282d3b;border:1px solid #4d5570;border-radius:3px;color:#fff;padding:12px 17px;box-shadow:0 10px 45px #0007;transition:opacity .3s;opacity:0;pointer-events:none}.toast.show{opacity:1}.search-overlay{position:fixed;inset:0;background:#030509da;z-index:120;display:grid;place-items:start center;padding:15vh 18px 0}.search-dialog{width:min(540px,100%);border:1px solid #354052;background:#141a24;border-radius:3px;padding:24px;box-shadow:0 30px 90px #0008}.search-dialog-top{display:flex;justify-content:space-between;align-items:center;font:800 20px Manrope}.close-search{border:0;background:none;color:#aeb5c2;font-size:24px}.search-dialog input{width:100%;margin:20px 0 9px;padding:15px;color:white;background:#0c1018;border:1px solid #394354;border-radius:3px}.search-dialog p{font-size:12px;color:#8996aa}.search-ghost-button{background:#eee5ff;border:0;border-radius:3px;padding:12px;font-weight:800}.empty-posts{padding:28px;color:#98a4b5}.bookmark-hidden{display:none!important}body.bookmark-mode .feed-post:not(.saved){display:none}@media(max-width:1200px){.three-column-wrap{grid-template-columns:175px minmax(0,720px);gap:19px}.right-rail{display:none}.mast-inner{gap:38px}.left-rail .sticky-panel{min-height:60vh}}@media(max-width:790px){.three-column-wrap{display:block;max-width:710px;padding:18px 15px}.left-rail{display:none}.masthead{height:61px}.mast-inner{padding:0 17px;gap:14px}.mast-actions{gap:7px}.mobile-menu-toggle{display:inline-flex}.top-nav{position:absolute;display:none;top:61px;left:0;right:0;background:#111720;padding:14px;box-shadow:0 18px 33px #0008;flex-direction:column;align-items:stretch}.top-nav.open{display:flex}.top-nav a{padding:13px}.feed-intro{padding:22px 5px 25px}.composer{padding:16px}.post-toolbar{gap:15px}.site-footer{padding:24px 18px;flex-wrap:wrap}.site-footer>div{flex-wrap:wrap}.reading-layout{margin:30px auto 70px;padding:0 14px}}@media(max-width:420px){.brand{font-size:23px}.pill{padding:10px 12px}.mast-actions{gap:4px}.post-toolbar{gap:11px}.post-date-link{display:none}.composer-badge{display:none}.feed-post{grid-template-columns:34px minmax(0,1fr);gap:10px}.post-avatar{height:34px;width:34px}.post-body{font-size:13px}.post-toolbar .tool-link{font-size:10px}.post-toolbar .tool-link svg{width:15px;height:15px}.reading-post{padding:21px}.comments-wrap{padding:20px 15px}}

/* Aside v1.0.3 — feed readability and comfortable density */
body{font-size:15px;line-height:1.55}
.mast-inner{gap:32px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:20px;letter-spacing:-.7px;color:#f7f7fc;min-width:max-content}
.brand-symbol{display:grid;place-items:center;flex:none;width:35px;height:35px;border:1px solid #32618d;background:linear-gradient(135deg,#163e66,#10243c);color:#e2f2ff;font:800 19px 'Manrope',sans-serif;border-radius:3px;letter-spacing:-1.5px}
.brand-name{max-width:185px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.three-column-wrap{padding-top:22px;gap:25px;grid-template-columns:205px minmax(0,720px) 285px}
.feed-post{padding:19px 7px 18px 4px;gap:12px;transition:background .2s,border-color .2s;border-color:#252b36}
.feed-post:hover{background:rgba(255,255,255,.017);border-color:#26415c}
.post-body{font-size:15px;line-height:1.65;color:#e2e5ed}
.post-body p{margin:0 0 11px}
.post-byline{margin-bottom:6px}
.post-toolbar{margin-top:12px;gap:19px}
.tool-link{font-size:12px;color:#a6afbe}
.post-date-link{font-size:11px;color:#8996a9}
.post-title{margin-bottom:9px}
.gh-content figure{margin:12px 0}
.gh-content .kg-image-card img,.feature-tile img{max-height:520px;object-fit:cover;border-radius:3px;width:100%}
.gh-content .kg-gallery-card{display:block;width:100%;max-width:100%;overflow:hidden}
.gh-content .kg-gallery-container{width:100%;display:flex;flex-direction:column;gap:6px}
.gh-content .kg-gallery-row{display:flex;width:100%;gap:6px;align-items:stretch}
.gh-content .kg-gallery-image{flex:1 1 0;min-width:0;min-height:135px;position:relative}
.gh-content .kg-gallery-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gh-content .kg-gallery-card img{cursor:zoom-in}
.feed-post:has(.kg-image-card img,.kg-gallery-card img) .feed-feature{display:none}
.feed-feature img{cursor:zoom-in}
.side-card{padding:17px;margin-bottom:12px;border-color:#2a303d}
.intro-card{padding:20px}
.intro-card p{font-size:13px;line-height:1.65}
.photos-empty{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.rail-link,.topic-link{font-size:13px}
.composer{padding:18px 20px;border-color:#343b4e}
.composer-header span{font-size:14px}
.composer-header small{font-size:12px}
.composer textarea#quick-post-text{min-height:75px;font-size:14px;margin-top:13px}
.compose-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.composer-expand{padding:7px 9px;border:1px solid transparent;border-radius:3px;font-size:12px;color:#a1bedf;white-space:nowrap}
.composer-expand:hover,.composer-expand:focus-visible{background:#242538;border-color:#284460;color:#fff}
.composer-expand span{font-size:12px}
.composer-footer{gap:12px;flex-wrap:wrap}
.composer #quick-post-list{background:#0e131b;color:white;border:1px solid #30394a;border-radius:3px;width:100%;padding:10px}
.gh-content .aside-checklist{padding-left:0;list-style:none}
.gh-content .aside-checklist li{margin:8px 0}
.gh-content .aside-checklist label{display:flex;align-items:baseline;gap:8px}
.gh-content .aside-checklist input:checked{accent-color:#4b99ff}
.gh-content .kg-audio-card audio{width:100%;display:block;color-scheme:dark}
@media(max-width:1200px){.three-column-wrap{grid-template-columns:175px minmax(0,720px)}}
@media(max-width:790px){.three-column-wrap{display:block;padding:18px 15px}.brand{font-size:18px}.mast-inner{gap:12px}.feed-post{padding:17px 0}.post-body{font-size:15px}.composer{padding:15px}}
@media(max-width:420px){.post-body{font-size:14px}.compose-actions{width:100%;justify-content:space-between}.composer-expand{font-size:11px;padding:6px}.composer-expand span{font-size:11px}.brand-name{max-width:130px}.post-toolbar{gap:12px}.tool-link{font-size:11px}}

/* Aside 1.0.4: consistent vector icons and purple publish action */
.post-submit{background:#277de9;color:#fff;border:1px solid #56a4ff;border-radius:3px;min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 3px 13px rgba(106,68,197,.24);transition:background .2s ease,transform .2s ease}
.post-submit:hover:not(:disabled){background:#4297ff;transform:translateY(-1px)}
.post-submit:focus-visible{outline:2px solid #b8dcff;outline-offset:3px}
.post-submit .submit-icon{display:inline-flex;align-items:center;padding-left:0}
.post-submit svg{width:17px;height:17px;flex:none}
.compose-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.composer-expand{display:inline-flex;align-items:center;gap:7px;line-height:1.35;white-space:nowrap}
.composer-expand svg{width:16px;height:16px;flex:none;stroke-width:1.75}
.composer-expand span{font-size:12px}
.rail-icon{display:inline-flex;align-items:center;justify-content:center}
.rail-icon svg{width:17px;height:17px}
.sort-label{display:inline-flex;align-items:center;gap:5px}
.sort-label svg{width:13px;height:13px}
.side-cta{display:flex;align-items:center;justify-content:space-between;gap:8px}
.side-cta svg{width:15px;height:15px;flex:none}
.pagination a svg,.archive-heading a svg,.reading-back a svg,.reading-share svg{width:15px;height:15px;vertical-align:middle}
.lightbox button svg{width:23px;height:23px}
@media(max-width:700px){.composer-footer{align-items:stretch;flex-direction:column;gap:11px}.compose-actions{justify-content:space-between;gap:7px}.composer-expand{padding:8px 2px;gap:5px}.composer-expand span{font-size:12px}.post-submit{border-radius:3px;align-self:flex-start;width:auto;min-height:43px;padding:11px 19px}}

/* Aside v1.0.6: independently scrollable desktop sidebars. */
@media (min-width:1201px) {
  .left-rail .sticky-panel,.right-rail .sticky-panel {
    position:sticky;top:88px;max-height:calc(100dvh - 104px);
    min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;
    scrollbar-width:thin;scrollbar-color:#395a78 transparent;
    scrollbar-gutter:stable;
  }
  .left-rail .sticky-panel::-webkit-scrollbar,.right-rail .sticky-panel::-webkit-scrollbar{width:5px}
  .left-rail .sticky-panel::-webkit-scrollbar-thumb,.right-rail .sticky-panel::-webkit-scrollbar-thumb{background:#395a78;border-radius:3px}
  .left-rail .rail-bottom{margin-top:20px}
}
@media (min-width:791px) and (max-width:1200px) {
  .left-rail .sticky-panel{position:sticky;top:88px;max-height:calc(100dvh - 104px);
    min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;
    scrollbar-width:thin;scrollbar-color:#395a78 transparent;scrollbar-gutter:stable}
  .left-rail .rail-bottom{margin-top:20px}
}

/* Logo configured under Ghost Admin > Design & branding */
.brand-logo{display:block;width:auto;height:auto;max-height:42px;max-width:min(235px,45vw);object-fit:contain}
@media(max-width:420px){.brand-logo{max-height:36px;max-width:38vw}}


/* Aside v1.0.11: crisp blue editorial design across the entire site */
:root{--bg:#080e19;--panel:#101a2a;--panel2:#162439;--line:#26394f;--text:#eef5ff;--muted:#91a4bc;--accent:#4b99ff;--bright:#8fc7ff;--radius:3px}
body{background:radial-gradient(ellipse 65% 38% at 87% -9%,rgba(33,99,169,.13),transparent 85%),var(--bg);color:var(--text)}
.masthead{background:rgba(8,14,25,.96);border-bottom-color:#27415c;box-shadow:none}
.mast-inner{gap:32px}.top-nav a,.rail-link,.composer-expand{border-radius:2px}
.top-nav a:hover,.top-nav a.current,.rail-link.active,.rail-link:hover{background:#172c46;color:#eaf5ff}
.brand-symbol{border-radius:2px!important;border:1px solid #396894;background:#15365c;color:#cfe7ff}
.pill,.pill-light,.pill-secondary{border-radius:2px;background:#193553;color:#d8eaff;border:1px solid #315d8d}
.pill-light:hover,.pill-secondary:hover{background:#234b77;color:#fff}
.rail-heading,.eyebrow{color:#86baff}.topic-link:hover,.tool-link:hover{color:#86bdff}
.composer{background:linear-gradient(128deg,#13243a,#101a29 70%);border:1px solid #31516e;border-left:3px solid var(--accent);border-radius:3px;box-shadow:none}
.composer:before{background:radial-gradient(ellipse,#328af017,transparent 70%)}
.composer-avatar{background:linear-gradient(135deg,#174975,#286fae);border-radius:2px}
.composer-badge{color:#8dc4ff}
.composer textarea#quick-post-text,.composer input:not([type=file]),.composer select,.composer #quick-post-code,.composer #quick-post-list{background:#0b1523;border-color:#29445f;border-radius:2px}
.composer-expand{border-radius:2px;color:#a9c8e5}.composer-expand:hover,.composer-expand:focus-visible{background:#193451;border-color:#32608c}
.post-submit,.post-submit:hover:not(:disabled){background:#277deb;color:#fff;border:1px solid #4b99ff;border-radius:2px;box-shadow:none}
.post-submit:hover:not(:disabled){background:#3d91ff}
.post-submit:focus-visible{outline-color:#a8d4ff}
.feed-bar{border-bottom-color:#2b4964}.feed-post{border-color:#23384d}.feed-post:hover{background:#10203766;border-color:#36648d}
.post-title:hover,.tool-link[aria-pressed=true],.gh-content a:not(.kg-btn){color:#8fc7ff}
.gh-content blockquote{background:linear-gradient(90deg,#25588830,transparent);border-left-color:var(--accent)}
.gh-content img,.gh-content .kg-gallery-image,.gh-content .kg-gallery-image img,.feature-tile img{border-radius:2px}
.gh-content .kg-bookmark-card,.gh-content .kg-file-card,.gh-content .kg-audio-card,.gh-content .kg-video-card,.gh-content .kg-toggle-card,.gh-content .kg-callout-card,.gh-content pre{background:#111f30!important;border-color:#2d4a66;border-radius:2px}
.copy-code,.gh-content :not(pre)>code{background:#1a344f;border-color:#36618a;color:#cfe9ff;border-radius:2px}
.side-card,.intro-card{background:#101c2d;border-color:#294158;border-radius:2px;box-shadow:none}
.side-card-glow{background:radial-gradient(ellipse,#246aa01b,transparent 70%)}
.intro-mark{background:#1a3653!important;border-color:#366a99!important;border-radius:2px!important}
.intro-mark span{color:#9acaef}
.pagination a,.reading-post,.comments-wrap,.reading-back a,.archive-heading a,.search-overlay input,.search-overlay button{border-radius:2px}
.comments-wrap{background:#101c2b;border-color:#2a4561}
.lightbox button{background:#163452;border:1px solid #3c6084;border-radius:2px}
.toast{background:#14304b;border-color:#39668d;border-radius:2px}
.site-footer{border-top-color:#253c55}
.left-rail .sticky-panel,.right-rail .sticky-panel{scrollbar-color:#356186 transparent}
.left-rail .sticky-panel::-webkit-scrollbar-thumb,.right-rail .sticky-panel::-webkit-scrollbar-thumb{background:#356186;border-radius:0}
@media(max-width:790px){.composer,.side-card{border-radius:2px}.post-submit{border-radius:2px!important}}


/* Aside v1.0.12 — complete native-comments exterior and dark Ghost comments mode.
   Ghost renders the actual discussion controls within its isolated comments iframe.
   This stylesheet intentionally does not claim to alter iframe-internal controls. */
.comments-wrap{margin-top:30px;padding:0;overflow:hidden;background:#0e1928;border:1px solid #2b4a68;border-left:3px solid #4b99ff;border-radius:2px;box-shadow:0 15px 48px rgba(0,0,0,.12);color:#edf5ff}
.comments-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:27px 30px 24px;border-bottom:1px solid #273f58;background:linear-gradient(113deg,#152a43 0%,#101d2d 64%,#101b2a 100%)}
.comments-eyebrow{display:inline-flex;align-items:center;gap:9px;font:700 10px/1.5 'Manrope',sans-serif;letter-spacing:1.8px;color:#8cbeed}
.comments-live-mark{width:7px;height:7px;background:#4b99ff;box-shadow:0 0 0 4px rgba(75,153,255,.12)}
.comments-heading h2{margin:10px 0 8px;font:800 clamp(22px,3vw,29px)/1.2 'Manrope',sans-serif;letter-spacing:-.8px;color:#f4f8ff}
.comments-heading-dot{color:#5aa9ff}
.comments-heading p{margin:0;color:#adbed1;font-size:13px;line-height:1.7}
.comments-heading-icon{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;background:#1a3653;border:1px solid #385d80;color:#a4d1ff;border-radius:2px}
.comments-heading-icon svg{width:23px;height:23px}
.comments-identity{display:flex;align-items:center;gap:11px;padding:14px 30px;border-bottom:1px solid #253d55;background:#122238;color:#b3c7df;font-size:12px;line-height:1.45}
.comments-identity strong{color:#edf5ff;font-weight:700}
.comments-identity-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:29px;height:29px;border:1px solid #335978;background:#172e47;color:#9ac8f8}
.comments-identity-icon svg{width:16px;height:16px}
.comments-account-link{margin-left:auto;text-align:right;font-weight:700;color:#a5d2ff;text-decoration:none}
.comments-account-link:hover{color:white;text-decoration:underline;text-underline-offset:3px}
.comments-account-link span{font-size:13px}
.comments-account-link:focus-visible{outline:2px solid #8ccaff;outline-offset:4px}
.comments-embed{padding:12px 26px 26px;min-width:0;background:#0e1928;isolation:isolate}
.comments-embed #ghost-comments-root{width:100%;min-width:0}
.comments-embed iframe{display:block;width:100%;max-width:100%;border:0}
.comments-footer{display:flex;align-items:center;gap:12px;padding:13px 30px;border-top:1px solid #263e56;color:#849fb9;background:#101d2e;font-size:11px;line-height:1.5}
.comments-footer-rule{display:block;flex:0 0 18px;height:1px;background:#4b99ff}
@media(max-width:790px){.comments-wrap{margin-top:25px}.comments-heading{padding:21px 19px;gap:12px}.comments-heading-icon{flex-basis:38px;width:38px;height:38px}.comments-identity{padding:13px 19px}.comments-embed{padding:10px 12px 20px}.comments-footer{padding:13px 19px}}
@media(max-width:420px){.comments-wrap{padding:0}.comments-heading h2{font-size:23px}.comments-heading p{font-size:12px}.comments-identity{flex-wrap:wrap;column-gap:9px;row-gap:6px}.comments-account-link{margin-left:auto}.comments-embed{padding:8px 8px 18px}.comments-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.comments-wrap *{scroll-behavior:auto}}

/* v1.0.13: Ghost comments determines its own iframe palette via mode="dark".
   Never force CSS color-scheme on the embed/root/iframe: some Ghost builds
   turn the unauthenticated signup view bright white with those overrides. */

/* Aside v1.0.14: custom image chooser */
.photo-upload-control{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:9px 0 15px}
.photo-upload-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 15px;min-height:42px;background:#163957;border:1px solid #398cce;color:#eaf6ff;border-radius:2px;font-weight:700;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s}
.photo-upload-button svg{width:17px;height:17px;flex:none}
.photo-upload-button:hover{background:#20517d;border-color:#77baff}
.photo-file-input:focus-visible + .photo-upload-button{outline:2px solid #93caff;outline-offset:3px}
.photo-file-summary{color:#9faec1;font-size:12px;overflow-wrap:anywhere;min-width:0}
@media(max-width:490px){.photo-upload-control{align-items:flex-start;flex-direction:column;gap:9px}.photo-upload-button{width:100%}}

/* Aside v1.0.15: gently softened blue editorial design. */
:root{--radius:5px}
/* Small rounding throughout without the former pill/card treatment. */
.top-nav a,.rail-link,.composer-expand,.brand-symbol,.pill,.pill-light,.pill-secondary,
.composer,.composer-avatar,.composer textarea#quick-post-text,.composer input:not([type=file]),
.composer select,.composer #quick-post-code,.composer #quick-post-list,.post-submit,
.gh-content img,.gh-content .kg-gallery-image,.gh-content .kg-gallery-image img,.feature-tile img,
.gh-content .kg-bookmark-card,.gh-content .kg-file-card,.gh-content .kg-audio-card,
.gh-content .kg-video-card,.gh-content .kg-toggle-card,.gh-content .kg-callout-card,
.gh-content pre,.copy-code,.gh-content :not(pre)>code,.side-card,.intro-card,
.intro-mark,.pagination a,.reading-post,.comments-wrap,.reading-back a,
.archive-heading a,.search-overlay input,.search-overlay button,.lightbox button,
.toast,.comments-heading-icon,.comments-identity-icon,.photo-upload-button,
.comments-embed iframe{border-radius:5px!important}
/* Smaller utility elements retain especially subtle shaping. */
.copy-code,.composer-expand,.top-nav a,.rail-link,.comments-heading-icon,
.comments-identity-icon,.photo-upload-button{border-radius:4px!important}
/* The site logo may be round or square depending on its artwork; do not clip it. */
.brand-logo{border-radius:0!important}
@media(max-width:790px){.composer,.side-card,.post-submit{border-radius:5px!important}}

/* Aside 1.0.16 – custom Code Library page */
.library-shell{width:min(100% - 48px,1060px);margin:52px auto 90px;color:var(--text)}
.library-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.library-back{display:inline-flex;align-items:center;gap:8px;color:#9ab7d7;font-size:12px;text-decoration:none}.library-back svg{width:15px;height:15px}.library-back:hover{color:#fff}
.library-hero{display:flex;align-items:flex-start;gap:23px;padding:29px 0 35px;border-bottom:1px solid var(--line)}.library-symbol{width:60px;height:60px;display:grid;place-items:center;flex:0 0 60px;background:#152d49;border:1px solid #315f91;color:#8bc2ff;border-radius:5px}.library-symbol svg{width:29px;height:29px}.library-kicker{color:#86baff;letter-spacing:1.6px;font:700 10px/1.5 Manrope,sans-serif;margin:0 0 9px}.library-hero h1{font:800 clamp(30px,4vw,52px)/1.13 Manrope,sans-serif;letter-spacing:-1.8px;margin:0 0 12px}.library-description{color:#a7bad1;max-width:690px;font-size:15px;line-height:1.7;margin:0}
.library-controls{padding:24px 0 20px;border-bottom:1px solid var(--line)}.library-search-label{display:block;color:#98badf;font:700 10px Manrope,sans-serif;letter-spacing:1.2px;margin-bottom:9px;text-transform:uppercase}.library-search-wrap{display:flex;align-items:center;gap:12px;background:#101b2d;border:1px solid #304b68;padding:0 16px;border-radius:5px}.library-search-wrap:focus-within{border-color:#69aafe;box-shadow:0 0 0 3px #4b99ff22}.library-search-wrap svg{height:18px;width:18px;color:#80a9cc;flex:none}.library-search-wrap input{display:block;width:100%;min-height:48px;border:0;background:transparent;color:#f4f8ff;font:500 14px DM Sans,sans-serif;outline:0}.library-search-wrap input::placeholder{color:#7890a9}.library-filter-row{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.library-filter-label{color:#809ab5;font:700 10px Manrope,sans-serif;letter-spacing:1px}.library-languages{display:flex;gap:7px;flex-wrap:wrap}.library-chip{cursor:pointer;padding:7px 11px;background:#142239;color:#b7cce3;border:1px solid #2a4562;border-radius:4px;font:600 12px DM Sans,sans-serif}.library-chip:hover{background:#1b3553}.library-chip.is-active{background:#225fa7;border-color:#4b99ff;color:#fff}.library-count{margin-left:auto;color:#9eafc3;font-size:12px}
.library-results{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:25px 0}.library-entry{min-width:0;background:#101b2a;border:1px solid #28425d;border-radius:5px;padding:24px}.library-entry:hover{border-color:#3a6691}.library-entry-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.library-entry-label{font:700 10px Manrope,sans-serif;letter-spacing:1.1px;color:#86baff}.library-entry-label time{color:#8da3b9}.library-entry-separator{color:#49627a;margin:0 5px}.library-entry h2{font:750 clamp(19px,2.2vw,25px)/1.3 Manrope,sans-serif;letter-spacing:-.5px;margin:10px 0}.library-entry h2 a{color:#f3f7ff;text-decoration:none}.library-entry h2 a:hover{color:#8fc7ff}.library-entry-excerpt{margin:0 0 17px;font-size:13px;line-height:1.65;color:#a6b8cd}.library-entry-link{border:1px solid #2f4c69;color:#91bff2;padding:9px;border-radius:4px;display:flex}.library-entry-link svg{width:16px;height:16px}.library-entry-link:hover{background:#18395a}.library-snippet{margin-top:14px;position:relative;border:1px solid #2b4665;background:#0b1422;border-radius:5px;overflow:hidden}.library-snippet-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #223953;background:#14233a;padding:8px 12px;gap:12px}.library-snippet-language{font:700 10px Manrope,sans-serif;letter-spacing:1px;color:#9ac9fa;text-transform:uppercase}.library-copy{border:1px solid #355a7d;background:#1b3653;color:#e4f2ff;border-radius:4px;cursor:pointer;font:700 12px DM Sans,sans-serif;padding:6px 12px}.library-copy:hover{background:#28537b}.library-copy:focus-visible,.library-chip:focus-visible{outline:2px solid #a6d3ff;outline-offset:2px}.library-snippet pre{margin:0!important;padding:18px!important;max-height:350px;overflow:auto;background:transparent!important;border:0!important;border-radius:0!important;font-size:12px;line-height:1.7;tab-size:2;white-space:pre}.library-snippet pre code{background:transparent!important;padding:0!important;color:#dcecff}.library-entry-bottom{margin-top:17px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:#91a9c2}.library-entry-bottom a{color:#9bcafe;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.library-entry-bottom a svg{width:14px;height:14px}.library-entry-languages{color:#769bbf}.library-empty,.library-no-match{padding:30px;border:1px solid #2b4563;background:#111e30;color:#b4c7df;border-radius:5px}.library-bottom-note{font-size:12px;color:#90a4ba;line-height:1.7}
@media(max-width:640px){.library-shell{width:calc(100% - 30px);margin:28px auto 60px}.library-hero{gap:14px;padding-top:16px}.library-symbol{height:44px;width:44px;flex-basis:44px}.library-symbol svg{height:23px;width:23px}.library-entry{padding:17px}.library-entry-excerpt{font-size:12px}.library-count{margin-left:0}.library-hero h1{letter-spacing:-1px}.library-entry-link{padding:6px}}

/* Aside v1.0.18: Code Library responsive three-column card grid */
.library-shell{width:min(calc(100% - 48px),1320px)}
.library-results{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px}
.library-entry{padding:18px;min-width:0;overflow:hidden}
.library-entry-head{gap:8px}
.library-entry h2{font-size:18px;line-height:1.35;overflow-wrap:anywhere}
.library-entry-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.library-snippet{min-width:0}
.library-snippet pre{font-size:11px;line-height:1.55;max-height:240px;overflow:auto;padding:13px!important}
.library-snippet-top{padding:8px 10px}
.library-entry-bottom{gap:8px}
.library-results>.library-empty{grid-column:1/-1}
@media(max-width:1050px){.library-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.library-shell{width:calc(100% - 30px)}.library-results{grid-template-columns:minmax(0,1fr);gap:13px}.library-entry{padding:17px}.library-snippet pre{max-height:340px}}

/* Aside syntax highlighting: Prism (MIT), tuned to the navy / blue palette. */
pre[class*="language-"],code[class*="language-"]{background:transparent;text-shadow:none;color:#d5e7ff;}
pre code[class*="language-"]{font-variant-ligatures:none;}
.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#8294ac;font-style:italic;}
.token.punctuation{color:#adc1d7;}
.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol{color:#ffb978;}
.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#9fdbb3;}
.token.operator,.token.entity,.token.url{color:#87c6f9;}
.token.atrule,.token.attr-value,.token.keyword{color:#bba5ff;}
.token.function,.token.class-name{color:#88c7ff;}
.token.regex,.token.important,.token.variable{color:#f1ca8a;}
.token.deleted{color:#ff879c;}
.token.italic{font-style:italic}.token.bold{font-weight:700}

/* Code Library: compact header and filters (v1.0.21) */
.library-shell{margin-top:22px}
.library-hero{padding:10px 0 17px;gap:16px}
.library-symbol{width:46px;height:46px;flex-basis:46px}
.library-symbol svg{width:23px;height:23px}
.library-kicker{margin-bottom:4px}
.library-hero h1{font-size:clamp(27px,3vw,38px);margin:0 0 6px;letter-spacing:-1.2px}
.library-description{line-height:1.45;font-size:14px}
.library-controls{padding:15px 0 13px}
.library-search-wrap input{min-height:42px}
.library-filter-row{margin-top:11px}
.library-results{padding-top:18px}
@media(max-width:640px){.library-shell{margin-top:14px}.library-hero{padding:7px 0 14px;gap:12px}.library-symbol{width:40px;height:40px;flex-basis:40px}.library-hero h1{font-size:29px}.library-controls{padding:13px 0}}

/* Aside 1.0.22 — year/month archive */
.archive-shell{width:min(1040px,calc(100% - 48px));margin:23px auto 80px;color:#eaf3ff}
.archive-hero{display:flex;gap:17px;align-items:center;padding:16px 0 23px;border-bottom:1px solid #2b435b}
.archive-hero-mark{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;background:#183856;color:#9fcfff;border:1px solid #36618d;border-radius:5px}
.archive-hero-mark svg{width:24px;height:24px}
.archive-hero h1{font:800 clamp(29px,3vw,39px)/1.22 'Manrope',sans-serif;letter-spacing:-1.1px;margin:0 0 6px}
.archive-hero p{margin:0;color:#a6b8ce;font-size:14px;line-height:1.6}
.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 12px}
.archive-search{display:flex;align-items:center;gap:11px;min-width:0;width:min(440px,100%);border:1px solid #31506d;border-radius:5px;background:#111e2f;color:#9ab9d9;padding:0 12px}
.archive-search svg{width:17px;height:17px;flex-shrink:0}
.archive-search input{background:transparent;color:#ecf5ff;border:0;outline:0;min-width:0;min-height:43px;flex:1;font:inherit;font-size:13px}
.archive-search:focus-within{border-color:#5da8ff;box-shadow:0 0 0 2px #4b99ff20}
.archive-key{color:#708da9;border:1px solid #31445c;border-radius:3px;padding:1px 6px;font-size:12px}
.archive-total{font-size:12px;color:#8ca9c5;white-space:nowrap}
.archive-years{display:flex;flex-wrap:wrap;gap:8px;padding:7px 0 20px;border-bottom:1px solid #2b435b}
.archive-year-button{appearance:none;background:#132238;color:#b0c4d9;border:1px solid #2c4764;border-radius:5px;padding:9px 12px;font:600 12px 'DM Sans',sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:9px}
.archive-year-button:hover{color:#fff;border-color:#5093d3}
.archive-year-button[aria-pressed="true"]{background:#204c7e;color:#fff;border-color:#4b99ff}
.archive-year-button:focus-visible{outline:2px solid #80baff;outline-offset:2px}
.archive-year-count{color:#8db0d3;font-size:11px}
.archive-content{padding:9px 0 0}
.archive-year-heading{font:800 25px/1.2 'Manrope',sans-serif;letter-spacing:-.6px;color:#f4f9ff;margin:28px 0 20px;padding-bottom:10px;border-bottom:1px solid #2d4965}
.archive-year-heading:not(:first-child){margin-top:45px}
.archive-month{display:grid;grid-template-columns:155px minmax(0,1fr);gap:20px;margin:0 0 26px}
.archive-month-heading{padding:8px 0}
.archive-month-heading h3{margin:0 0 7px;color:#a7ceff;font-size:15px;font-weight:700}
.archive-month-heading span{color:#7f9ab6;font-size:11px}
.archive-month-list{min-width:0;border:1px solid #29445e;border-radius:5px;overflow:hidden;background:#101c2c}
.archive-post{display:grid;grid-template-columns:63px minmax(0,1fr) 20px;align-items:start;gap:18px;padding:15px 17px;color:inherit;text-decoration:none;border-bottom:1px solid #243c55;transition:background .17s ease}
.archive-post:last-child{border-bottom:0}
.archive-post:hover{background:#172c44}
.archive-post:focus-visible{outline:2px solid #79b9ff;outline-offset:-2px}
.archive-post-day{color:#7f9fbe;font-size:12px;white-space:nowrap;padding-top:3px}
.archive-post-copy{display:flex;flex-direction:column;min-width:0;gap:5px}
.archive-post-title{color:#edf5ff;font-size:14px;font-weight:700;line-height:1.5}
.archive-post-excerpt{color:#93a9bf;font-size:12px;line-height:1.55;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.archive-post-arrow{color:#7caee5;font-size:18px;line-height:1.3}
.archive-empty,.archive-no-match{padding:25px 20px;border:1px solid #2d4864;background:#111f30;border-radius:5px;color:#b7cde4}
.archive-footnote{color:#809dbb;font-size:12px;margin-top:25px}
.archive-post-source .archive-source-item{padding:12px 0;border-bottom:1px solid #263c52;display:flex;gap:16px}.archive-source-item time{color:#92a9c4}
@media(max-width:700px){.archive-shell{width:calc(100% - 30px);margin:17px auto 50px}.archive-hero{gap:12px;padding:11px 0 18px}.archive-hero-mark{width:40px;height:40px;flex-basis:40px}.archive-hero h1{font-size:29px}.archive-toolbar{padding:16px 0 10px}.archive-month{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:22px}.archive-month-heading{display:flex;align-items:baseline;gap:12px}.archive-month-heading h3{margin:0}.archive-post{gap:10px;grid-template-columns:47px minmax(0,1fr) 15px;padding:14px 11px}.archive-post-title{font-size:13px}}

/* Archive: refined chronological index with a quieter editorial treatment */
.archive-shell{width:min(1160px,calc(100% - 56px));margin:28px auto 100px}
.archive-hero{border:0;padding:22px 0 24px;gap:24px;align-items:flex-start}
.archive-hero-mark{width:55px;height:55px;flex-basis:55px;border-radius:5px;background:linear-gradient(145deg,#183b67,#0e223e);border:1px solid #335d86}
.archive-kicker{display:block;color:#77b7f6;font:800 10px 'Manrope',sans-serif;letter-spacing:2px;margin-bottom:9px}
.archive-hero h1{font-size:clamp(38px,4vw,54px);letter-spacing:-1.8px;line-height:1.1}
.archive-hero p{max-width:610px;color:#96aec9;font-size:14px}
.archive-intro-rule{display:flex;align-items:center;gap:10px;font:700 11px 'Manrope',sans-serif;color:#84a0be;border-top:1px solid #273b54;padding:15px 0 0}
.archive-rule-dot{width:6px;height:6px;background:#53a1ff;border-radius:50%}
.archive-toolbar{padding:22px 0 26px}
.archive-search{width:min(580px,100%);background:#0f1b2d}
.archive-layout{display:grid;grid-template-columns:175px minmax(0,1fr);gap:38px;align-items:start;border-top:1px solid #273b54;padding-top:28px}
.archive-index{position:sticky;top:95px;padding:9px 18px 15px 0;border-right:1px solid #273b54}
.archive-index-caption{color:#819ab7;font-size:10px;letter-spacing:1.5px;font-weight:800;margin-bottom:14px}
.archive-years{display:flex;flex-direction:column;gap:4px;padding:0;border:0}
.archive-year-button{display:flex;justify-content:space-between;width:100%;background:transparent;border:0;border-left:2px solid transparent;text-align:left;padding:10px 12px;color:#9bb2cc;border-radius:0}
.archive-year-button:hover{background:#15263d;border-color:#386995}
.archive-year-button[aria-pressed="true"]{background:#152d4b;border-color:#55a5ff;color:#f7faff}
.archive-content{padding:0;min-width:0}
.archive-year-heading{font-size:clamp(32px,3.5vw,44px);letter-spacing:-1.5px;margin:6px 0 22px;padding:0 0 14px;color:#eef6ff;border-bottom:1px solid #31506f}
.archive-year-heading:not(:first-child){margin-top:45px}
.archive-month{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;margin-bottom:28px}
.archive-month-heading{padding:12px 0}
.archive-month-heading h3{font-size:17px;color:#a0ceff;margin-bottom:5px}
.archive-month-list{border:0;border-left:1px solid #2b4b6c;background:transparent;border-radius:0;overflow:visible}
.archive-post{grid-template-columns:62px minmax(0,1fr) 18px;gap:13px;padding:14px 17px;border-bottom:1px solid #1c3049;position:relative;background:transparent}
.archive-post:before{content:'';position:absolute;left:-4px;top:21px;width:7px;height:7px;border:1px solid #4e91ca;background:#101a2b;border-radius:50%}
.archive-post:hover{background:#14253a}
.archive-post-title{font-size:15px;letter-spacing:-.1px}
.archive-post-excerpt{font-size:12px;line-height:1.5;color:#89a3be;-webkit-line-clamp:1;line-clamp:1}
.archive-post-day{font-size:11px;color:#83a8cb;padding-top:4px}
.archive-post-arrow{font-size:16px;color:#6eadee}
.archive-footnote{padding-top:18px;border-top:1px solid #253b56;margin-top:35px}
@media(max-width:800px){.archive-layout{grid-template-columns:1fr;gap:18px}.archive-index{position:static;border:0;border-bottom:1px solid #273b54;padding:0 0 15px}.archive-years{flex-direction:row;flex-wrap:wrap}.archive-year-button{width:auto;border:1px solid #294560;border-radius:4px;padding:8px 11px}.archive-year-button[aria-pressed="true"]{border-color:#55a5ff}.archive-index-caption{margin-bottom:9px}}
@media(max-width:600px){.archive-shell{width:calc(100% - 28px);margin:18px auto 50px}.archive-hero{gap:12px;padding:12px 0 22px}.archive-hero-mark{width:42px;height:42px;flex-basis:42px}.archive-hero h1{font-size:33px}.archive-hero p{font-size:13px}.archive-month{grid-template-columns:1fr;gap:4px}.archive-month-heading{display:flex;align-items:center;gap:12px}.archive-month-heading h3{margin:0}.archive-post{padding:12px 9px;grid-template-columns:52px minmax(0,1fr) 15px}.archive-post-title{font-size:13px}}
/* Consistent, native-theme search in place of Ghost's white iframe dialog */
.search-overlay[hidden]{display:none!important}
.search-overlay{position:fixed;inset:0;z-index:500;background:rgba(3,8,17,.78);backdrop-filter:blur(9px);display:flex;align-items:flex-start;justify-content:center;padding:clamp(50px,12vh,140px) 16px 24px;overflow-y:auto}
.search-dialog{width:min(650px,100%);border:1px solid #3b5d83;background:#101b2e;color:#f1f6ff;box-shadow:0 35px 85px #000b;border-radius:6px;padding:0;overflow:hidden}
.search-dialog-top{padding:22px 24px 16px;display:flex;align-items:center;justify-content:space-between;border:0}
.search-heading{display:flex;flex-direction:column;gap:5px}
.search-heading strong{font:800 23px Manrope,sans-serif;letter-spacing:-.5px;color:#f1f6ff}
.search-kicker{color:#77b9ff;letter-spacing:1.8px;font-size:10px;font-weight:800}
.search-dialog .close-search{border:1px solid #365777;border-radius:4px;background:#152640;color:#b9d5f4;display:grid;place-items:center;width:36px;height:36px;padding:7px}
.search-dialog .close-search svg{width:17px;height:17px}
.search-input-row{display:flex;align-items:center;gap:12px;margin:0 24px 12px;background:#0a1525;border:1px solid #426487;border-radius:4px;padding:0 14px;color:#8dbef3}
.search-input-row svg{width:19px;height:19px;flex-shrink:0}
.search-input-row #site-search-input{flex:1;min-width:0;width:100%;border:0;background:transparent;color:#f5f8ff;outline:none;border-radius:0;font:500 15px 'DM Sans',sans-serif;padding:15px 0}
.search-input-row:focus-within{border-color:#69b0ff;box-shadow:0 0 0 2px #438deb25}
.aside-search-results{max-height:min(55vh,500px);overflow-y:auto;padding:5px 15px 15px}
.aside-search-results a{display:flex;flex-direction:column;gap:4px;padding:13px 11px;border-bottom:1px solid #253851;border-radius:3px}
.aside-search-results a:hover,.aside-search-results a:focus-visible{background:#1b3551}
.aside-search-results a strong{font-size:14px;color:#f1f7ff}
.aside-search-results a span{font-size:12px;color:#9fb2ca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aside-search-help{padding:18px 11px;color:#9db2ca;font-size:13px}
.search-bottom{border-top:1px solid #283e58;color:#7f9dba;font-size:11px;display:flex;justify-content:space-between;padding:13px 24px}
body.aside-search-open{overflow:hidden}
@media(max-width:600px){.search-overlay{padding:70px 10px 20px}.search-dialog-top{padding:17px}.search-input-row{margin:0 15px 8px}.search-bottom{padding:12px 15px}}

/* Aside 1.0.24 — immersive Archive timeline. Scoped to Archive page only. */
.archive-shell{width:min(1480px,calc(100% - 64px));max-width:none;margin:30px auto 100px}
.archive-hero{display:flex;align-items:center;gap:25px;max-width:100%;padding:28px 0 30px;border-bottom:1px solid #254667}
.archive-hero-mark{width:68px;height:68px;flex:0 0 68px;background:linear-gradient(145deg,#163c64,#0a203b);border:1px solid #4b99ff55;border-radius:5px}
.archive-hero h1{font-size:clamp(46px,5vw,76px);letter-spacing:-3.5px;line-height:1.06;margin:0 0 12px}
.archive-hero p{max-width:760px;font-size:15px;line-height:1.7}
.archive-intro-rule{border:0;padding:24px 0 0;letter-spacing:1.7px;color:#87b5e0;font-size:10px;display:flex;gap:15px}
.archive-intro-line{height:1px;flex:1;background:linear-gradient(90deg,#35628e,transparent)}
.archive-toolbar{padding:22px 0 25px;display:flex;gap:16px;align-items:center}
.archive-search{width:min(660px,100%);background:#0c1a2b;border:1px solid #31577d;border-radius:5px}
.archive-layout{display:flex;flex-direction:column;gap:0;border-top:1px solid #294664;padding:0}
.archive-index{position:static;display:flex;align-items:center;gap:25px;border:0;border-bottom:1px solid #294664;padding:16px 0 18px;min-width:0}
.archive-index-caption{margin:0;white-space:nowrap;flex:none;color:#8eb9df}
.archive-years{display:flex;gap:7px;flex-direction:row;flex-wrap:wrap;padding:0}
.archive-year-button{width:auto;border:1px solid #294967;border-radius:4px;padding:10px 16px;font-weight:700;font-size:13px;background:#101c2d}
.archive-year-button[aria-pressed="true"]{background:#194b7d;border-color:#4b99ff;color:#fff}
.archive-year-count{margin-left:9px;color:#9ebfe1}
.archive-content{width:100%;padding:14px 0 0}
.archive-era{display:flex;justify-content:center;align-items:center;gap:25px;margin:46px 0 34px}
.archive-era:first-child{margin-top:25px}
.archive-era-line{height:1px;flex:1;background:linear-gradient(90deg,transparent,#315b86)}
.archive-era-line:last-child{background:linear-gradient(90deg,#315b86,transparent)}
.archive-year-heading{margin:0!important;padding:0!important;border:0!important;font:800 clamp(64px,10vw,144px)/1 'Manrope',sans-serif!important;letter-spacing:-9px!important;color:#e9f5ff!important;text-shadow:0 0 70px #2e8cf92b}
.archive-era-count{color:#7eacd7;font:700 11px 'Manrope',sans-serif;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;align-self:center}
.archive-month{display:block;margin:0 0 52px;width:100%}
.archive-month-heading{padding:15px 0 28px;display:flex;align-items:baseline;gap:15px;border-top:1px solid #294967}
.archive-month-number{font:800 13px 'Manrope',sans-serif;color:#4b99ff;letter-spacing:2px}
.archive-month-heading h3{font:800 clamp(23px,3vw,36px) 'Manrope',sans-serif;color:#e8f4ff;margin:0;letter-spacing:-1.1px}
.archive-month-count{margin-left:auto;color:#80a4c7;font-size:12px}
.archive-month-list{position:relative;width:100%;display:flex;flex-direction:column;gap:24px;background:transparent;border:0;border-radius:0;overflow:visible;padding:0 0 2px}
.archive-month-list:before{content:'';position:absolute;left:50%;top:5px;bottom:5px;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,#4b99ff,#284d73 45%,#4b99ff)}
.archive-timeline-row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:76px;min-width:0}
.archive-timeline-marker{z-index:2;position:absolute;left:50%;top:33px;transform:translateX(-50%);width:13px;height:13px;border:3px solid #75b9ff;border-radius:50%;background:#0a1524;box-shadow:0 0 0 7px #4b99ff18,0 0 25px #4b99ff33}
.archive-post{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;background:#111e30;border:1px solid #2b4a6b;border-radius:5px;padding:0;overflow:hidden;box-shadow:0 15px 40px #0003;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.archive-post:before{display:none}
.archive-post:hover{transform:translateY(-3px);border-color:#4d92d6;background:#142740}
.archive-on-left .archive-post{grid-column:1}
.archive-on-right .archive-post{grid-column:2}
.archive-post-index{display:block;color:#6c9dcd;font:800 10px 'Manrope',sans-serif;letter-spacing:2px;padding:20px 24px 12px}
.archive-post-cover{display:block;margin:0 24px 0;aspect-ratio:16/7;overflow:hidden;border-radius:3px;background:#07111e}
.archive-post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;display:block}
.archive-post:hover .archive-post-cover img{transform:scale(1.035)}
.archive-post-copy{display:flex;flex-direction:column;gap:12px;padding:19px 24px 21px}
.archive-post-day{font:800 10px 'Manrope',sans-serif;letter-spacing:1.4px;color:#7cb9f1;padding:0}
.archive-post-title{font:800 clamp(18px,1.8vw,25px)/1.3 'Manrope',sans-serif;color:#f0f6ff;letter-spacing:-.65px}
.archive-post-excerpt{font-size:13px;line-height:1.7;color:#a4b6cc;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.archive-post-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding-top:16px;border-top:1px solid #274362;color:#8cc4ff;font:800 10px 'Manrope',sans-serif;letter-spacing:1.5px}
.archive-post-arrow{font-size:22px;color:#81baff;line-height:1}
.archive-footnote{max-width:none}
@media(max-width:950px){.archive-shell{width:calc(100% - 40px)}.archive-year-heading{letter-spacing:-5px!important}.archive-timeline-row{gap:45px}.archive-post-copy{padding:16px}.archive-post-cover{margin:0 16px}.archive-post-index{padding:15px 16px 10px}}
@media(max-width:670px){.archive-shell{width:calc(100% - 28px);margin:16px auto 50px}.archive-hero{gap:12px;padding:20px 0}.archive-hero-mark{width:44px;height:44px;flex-basis:44px}.archive-hero h1{font-size:42px;letter-spacing:-2px}.archive-intro-rule{gap:8px;letter-spacing:.6px;flex-wrap:wrap}.archive-index{display:block}.archive-index-caption{display:block;margin-bottom:10px}.archive-year-button{padding:8px 12px}.archive-era{gap:10px;margin:35px 0 27px}.archive-year-heading{font-size:62px!important;letter-spacing:-5px!important}.archive-era-count{font-size:9px}.archive-month-heading{padding-bottom:20px}.archive-month-list{padding-left:27px;gap:15px}.archive-month-list:before{left:7px;transform:none}.archive-timeline-row{display:block}.archive-timeline-marker{left:-20px;top:25px;transform:none;width:12px;height:12px}.archive-post{width:100%;min-width:0}.archive-post-title{font-size:18px}.archive-post-cover{aspect-ratio:16/8}.archive-post-copy{gap:10px}.archive-post-excerpt{-webkit-line-clamp:2;line-clamp:2}}
@media(prefers-reduced-motion:reduce){.archive-post,.archive-post-cover img{transition:none}}

/* Aside 1.0.25: denser Archive timeline cards (preserves alternating layout). */
.archive-month{margin-bottom:34px}
.archive-month-heading{padding:11px 0 17px}
.archive-month-heading h3{font-size:clamp(21px,2.5vw,30px)}
.archive-month-list{gap:14px}
.archive-timeline-row{gap:54px}
.archive-timeline-marker{top:23px;width:11px;height:11px;border-width:2px;box-shadow:0 0 0 5px #4b99ff18}
.archive-post-index{padding:12px 17px 7px;font-size:9px}
.archive-post-cover{margin:0 17px;aspect-ratio:16/5.5}
.archive-post-copy{padding:12px 17px 14px;gap:7px}
.archive-post-title{font-size:clamp(16px,1.5vw,21px);line-height:1.26}
.archive-post-excerpt{font-size:12px;line-height:1.5;-webkit-line-clamp:2;line-clamp:2}
.archive-post-footer{padding-top:10px;margin-top:3px}
.archive-era{margin:32px 0 23px}
.archive-era:first-child{margin-top:18px}
@media(max-width:950px){.archive-timeline-row{gap:36px}.archive-post-index{padding:11px 13px 6px}.archive-post-cover{margin:0 13px}.archive-post-copy{padding:11px 13px 13px}}
@media(max-width:670px){.archive-month{margin-bottom:28px}.archive-month-heading{padding:10px 0 13px}.archive-month-list{gap:11px}.archive-timeline-row{gap:0}.archive-timeline-marker{left:-19px;top:22px}.archive-post-cover{aspect-ratio:16/6}.archive-post-title{font-size:17px}.archive-post-copy{gap:7px}.archive-era{margin:27px 0 18px}}

/* Photos: full-width visual journal, understated blue theme */
.photos-page{width:min(1480px,calc(100% - 48px));margin:0 auto;padding:35px 0 90px;min-height:65vh}
.photos-hero{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #274160;padding:12px 0 35px;gap:35px}
.photos-eyebrow,.photos-label{font-size:11px;letter-spacing:.16em;font-weight:750;color:#73b4ff}
.photos-eyebrow span{color:#566d89;padding:0 8px}
.photos-hero h1{font-size:clamp(58px,8vw,108px);letter-spacing:-.075em;line-height:1.05;margin:12px 0 14px;font-weight:800;color:#eef5ff}
.photos-dot{color:#4b99ff}
.photos-hero p{max-width:630px;font-size:16px;line-height:1.65;color:#9eb2cb;margin:0}
.photos-hero-art{width:155px;height:100px;display:flex;align-items:end;gap:7px;transform:skewX(-13deg);opacity:.78}
.photos-hero-art span{background:linear-gradient(0deg,#284972,#4b99ff);width:33%;height:58%;border-radius:2px}.photos-hero-art span:nth-child(2){height:100%}.photos-hero-art span:nth-child(3){height:76%}
.photos-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:26px 0 22px}.photos-toolbar>div{display:flex;align-items:center;gap:14px}.photos-toolbar strong{font-size:13px;color:#d5e6fd;font-weight:600}.photos-toolbar-hint{color:#849cb9;font-size:12px}
.photos-grid{columns:4 235px;column-gap:14px}.photos-item{display:inline-block;width:100%;margin:0 0 14px;break-inside:avoid;overflow:hidden;border-radius:5px;background:#121d2d;border:1px solid #263b56;vertical-align:top}
.photos-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;text-align:left}.photos-open img{width:100%;height:auto;display:block;transition:transform .35s ease,filter .35s ease}.photos-open:hover img,.photos-open:focus-visible img{transform:scale(1.035);filter:brightness(.78)}.photos-open:focus-visible{outline:2px solid #77baff;outline-offset:-3px}
.photos-item-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(3,12,28,.94));color:#eff6ff;padding:36px 15px 13px;display:flex;flex-direction:column;gap:3px;opacity:0;transform:translateY(7px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.photos-open:hover .photos-item-caption,.photos-open:focus-visible .photos-item-caption{opacity:1;transform:none}.photos-item-caption strong{font-size:13px;font-weight:650}.photos-item-caption small{font-size:11px;color:#a9bdd9}
.photos-empty{border:1px dashed #395779;padding:55px 25px;text-align:center;border-radius:5px;color:#adbed3}.photos-empty h2{color:#eff6ff;margin:12px 0}.photos-empty-glyph{font-size:38px;color:#5e9fe9}
@media(max-width:850px){.photos-grid{columns:3 195px}.photos-page{width:calc(100% - 32px)}.photos-hero-art{display:none}}
@media(max-width:580px){.photos-page{padding-top:15px;width:calc(100% - 24px)}.photos-hero{padding-bottom:22px}.photos-hero h1{font-size:60px}.photos-grid{columns:2 140px;column-gap:9px}.photos-item{margin-bottom:9px}.photos-toolbar-hint{display:none}.photos-toolbar{margin:18px 0}.photos-item-caption{opacity:1;transform:none;padding:28px 9px 8px}.photos-item-caption strong{font-size:11px}.photos-item-caption small{font-size:10px}}

/* Aside 1.0.27: quieter publication profile. No top label. */
.right-rail .publication-card{padding:0!important;background:#101e30!important;border:1px solid #2d4562!important;border-radius:5px!important;overflow:hidden;box-shadow:none}
.publication-card .publication-cover{height:57px;background:linear-gradient(112deg,#183b60 0%,#162c48 62%,#142338 100%);border-bottom:1px solid #294667}
.publication-card .publication-content{padding:0 18px 18px}
.publication-card .intro-mark{position:relative;margin:-27px 0 14px;width:56px;height:56px;border:3px solid #101e30;border-radius:5px!important;background:#21476d;font-size:29px;box-shadow:none}
.publication-card .intro-mark img{object-fit:cover}
.publication-card h2{font:800 19px/1.3 'Manrope',sans-serif;color:#f3f7ff;margin:0 0 8px}
.publication-card p{color:#a9b9ce;line-height:1.65;font-size:12px;margin:0 0 17px}
.publication-follow{display:flex;align-items:center;justify-content:space-between;gap:9px;border-top:1px solid #2d4562;padding-top:14px}
.publication-follow-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.publication-follow-copy>span{font-size:9px;font-weight:800;letter-spacing:1px;color:#7792af}
.publication-follow-copy>strong{font-size:11px;font-weight:700;color:#edf5ff;white-space:nowrap}
.publication-card .side-cta{display:inline-flex;justify-content:center;align-items:center;gap:5px;padding:9px 10px;background:#267fdf;color:white;border-radius:4px!important;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700;transition:background .2s ease}
.publication-card .side-cta:hover{background:#3696fa}
.publication-card .side-cta svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:1200px){.publication-follow{gap:8px}}

/* Aside v1.0.28 — Refined right rail: quiet tags, editorial closing note */
.right-rail .tag-cloud{display:flex;flex-wrap:wrap;gap:7px 6px;align-items:flex-start}
.right-rail .tag-cloud a{border-radius:4px!important;padding:7px 10px;background:#162337;color:#b9cce3;border:1px solid #2b415c;font-size:11px;line-height:1.35;transition:background .18s ease,border-color .18s ease,color .18s ease}
.right-rail .tag-cloud a:hover,.right-rail .tag-cloud a:focus-visible{background:#1a395a;border-color:#478bd1;color:#f4f9ff}
.right-rail .side-quote{position:relative;padding:22px 20px 20px;margin:15px 0 8px;background:linear-gradient(145deg,#152a42 0%,#101c2d 65%,#101824 100%);border:1px solid #2c4664;border-left:3px solid #4b99ff;border-radius:5px!important;box-shadow:0 12px 25px rgba(0,0,0,.12);color:#dce9fa;line-height:1.6;overflow:hidden}
.right-rail .aside-quote-top{display:flex;align-items:center;gap:9px}
.right-rail .aside-quote-rule{display:block;flex-shrink:0;width:18px;height:2px;background:#69adff}
.right-rail .aside-quote-label{font:800 9px/1.5 'Manrope',sans-serif;letter-spacing:1.15px;color:#8ebaea}
.right-rail .aside-quote-mark{font:700 68px/.75 Georgia,serif;color:#63a9fc;opacity:.85;margin:20px 0 3px;height:38px}
.right-rail .side-quote p{font:600 16px/1.58 'Manrope',sans-serif;letter-spacing:-.35px;color:#edf5ff;margin:11px 0 21px;font-style:normal}
.right-rail .aside-quote-footer{border-top:1px solid #2d4460;padding-top:15px;display:flex;align-items:center;gap:8px;font:700 9px/1.5 'Manrope',sans-serif;letter-spacing:.75px;color:#93a9c3}
.right-rail .aside-quote-dash{width:7px;height:7px;border:1px solid #6daeff;transform:rotate(45deg);flex-shrink:0}
@media(max-width:960px){.right-rail .side-quote{margin-top:12px}}

/* Aside 1.0.29 — breathable left rail navigation */
.left-rail .rail-link {
  width:calc(100% - 16px);
  margin:3px 8px;
  min-height:41px;
  padding:10px 12px;
  gap:12px;
  border:1px solid transparent;
  border-left:2px solid transparent;
  border-radius:4px;
  background:transparent;
  color:#9faec2;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.left-rail .rail-link:hover:not(.active),
.left-rail .rail-link:focus-visible:not(.active) {
  background:#122034;
  border-left-color:#407cb8;
  color:#e7f3ff;
}
.left-rail .rail-link.active {
  background:#182c44;
  border-left-color:#5baaff;
  color:#f2f7ff;
}
.left-rail .rail-link.active:hover {background:#203750;}
.left-rail .rail-link .rail-icon {display:inline-flex;align-items:center;justify-content:center;flex:none;width:19px;min-width:19px;color:#96b0ce;}
.left-rail .rail-link:hover .rail-icon,.left-rail .rail-link.active .rail-icon {color:#9fceff;}
@media(hover:none) {
 .left-rail .rail-link:hover:not(.active) {background:transparent;border-left-color:transparent;color:#9faec2;}
}

/* Aside To-Do page */
.todo-page{max-width:1380px;margin:0 auto;padding:36px 28px 75px;color:#e8f2ff}.todo-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 0 31px;border-bottom:1px solid #29405e}.todo-eyebrow{display:block;color:#86baff;font-size:11px;letter-spacing:.19em;font-weight:750}.todo-eyebrow span{padding:0 8px;color:#546b86}.todo-hero h1{font-size:clamp(42px,5vw,69px);line-height:1.06;letter-spacing:-.05em;margin:12px 0 10px}.todo-dot{color:#4b99ff}.todo-hero p{color:#99acc5;line-height:1.6;margin:0;max-width:620px}.todo-hero-aside{display:flex;align-items:center;gap:15px;color:#769bbf;font-size:10px;letter-spacing:.16em;font-weight:750}.todo-hero-check{width:62px;height:62px;display:grid;place-items:center;font-size:31px;color:#91ceff;border:1px solid #376ba3;background:#152d4a;border-radius:5px}.todo-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(230px,1.5fr);gap:0;border:1px solid #29405e;border-radius:5px;background:#101c2b;margin:23px 0}.todo-stat,.todo-overview-progress{padding:20px 24px;border-right:1px solid #29405e;display:flex;flex-direction:column;gap:5px}.todo-overview-progress{border-right:0}.todo-stat>span,.todo-overview-progress>span{font-size:10px;font-weight:750;letter-spacing:.16em;color:#88aed6}.todo-stat strong{font-size:32px;line-height:1.2;color:#f0f6ff}.todo-stat small,.todo-overview-progress small{font-size:11px;color:#7f94b0}.todo-overview-progress strong{font-size:23px;color:#eaf4ff}.todo-progress-track{height:5px;width:100%;background:#263d59;border-radius:3px;overflow:hidden}.todo-progress-track>span{display:block;background:linear-gradient(90deg,#3686f7,#7bc6ff);height:100%;width:0;transition:width .2s ease}.todo-overview-progress .todo-progress-track{margin:3px 0}.todo-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:27px 0 12px}.todo-search{display:flex;align-items:center;gap:10px;background:#101c2b;border:1px solid #31445e;padding:11px 14px;border-radius:4px;min-width:240px;width:min(100%,410px);color:#85b5e8}.todo-search svg{width:17px;height:17px}.todo-search input{background:transparent;border:0;outline:0;color:#eff7ff;width:100%;min-width:0;font:inherit}.todo-tabs{display:flex;gap:5px;flex-wrap:wrap}.todo-tabs button{cursor:pointer;background:transparent;border:1px solid transparent;border-radius:4px;padding:9px 14px;font:inherit;font-size:12px;color:#a2b6cc}.todo-tabs button:hover,.todo-tabs button:focus-visible{background:#172e49;border-color:#355e87;color:#ddebff}.todo-tabs button.is-active{background:#1c436d;border-color:#3978ae;color:white}.todo-result-count{color:#7799bc;letter-spacing:.08em;text-transform:uppercase;font-size:11px;margin:16px 0}.todo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px}.todo-card{border:1px solid #2b425d;background:#101b2b;padding:20px;border-radius:5px;min-width:0}.todo-card-top,.todo-card-progress-label,.todo-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.todo-card-eyebrow{font-size:10px;letter-spacing:.08em;color:#82b6f0;font-weight:700}.todo-status{font-size:10px;padding:5px 7px;color:#acd1fd;border:1px solid #345a86;border-radius:3px;white-space:nowrap}.todo-status.is-done{color:#92ddc1;border-color:#346d61}.todo-card-title{font-size:19px;letter-spacing:-.025em;line-height:1.3;margin:17px 0 8px}.todo-card-title a{color:#f4f8ff;text-decoration:none}.todo-card-title a:hover{color:#86bbff}.todo-card-description{color:#97abc4;font-size:13px;line-height:1.6;margin:0 0 14px}.todo-card-progress{padding:11px 0 14px;border-bottom:1px solid #283d58}.todo-card-progress-label{font-size:11px;color:#98b1cb;margin-bottom:9px}.todo-card-progress-label strong{color:#b0d6ff}.todo-items{list-style:none;padding:0;margin:12px 0;max-height:320px;overflow:auto}.todo-items li{margin:0;border-bottom:1px solid #1b2b40}.todo-items li:last-child{border:0}.todo-items label{display:flex;align-items:flex-start;gap:11px;cursor:pointer;padding:9px 0;color:#d9e5f4;font-size:13px;line-height:1.5}.todo-items input{accent-color:#4b99ff;width:16px;height:16px;margin:2px 0 0;flex-shrink:0}.todo-items .is-checked label>span{color:#849bb2;text-decoration:line-through}.todo-card-bottom{margin-top:14px;padding-top:12px;border-top:1px solid #283d58}.todo-card-bottom a{font-size:12px;text-decoration:none;color:#8ac2ff}.todo-card-bottom a:hover{text-decoration:underline}.todo-card-noitems{font-size:12px;color:#90a6c3}.todo-footnote{color:#7189a5;font-size:12px;margin:24px 0 0}.todo-empty{padding:44px 20px;border:1px dashed #345472;text-align:center;border-radius:5px;color:#9fb3ca}.todo-empty h2{color:#e4efff;margin:0 0 8px}.todo-empty p{margin:0}.todo-source[hidden]{display:none!important}
@media(max-width:1000px){.todo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-overview{grid-template-columns:repeat(3,1fr)}.todo-overview-progress{grid-column:1/-1;border-top:1px solid #29405e}.todo-stat:nth-child(3){border-right:0}}@media(max-width:650px){.todo-page{padding:22px 15px 50px}.todo-hero{padding-bottom:22px}.todo-hero-aside{display:none}.todo-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.todo-stat{padding:15px 12px}.todo-stat strong{font-size:25px}.todo-stat small{font-size:10px}.todo-overview-progress{padding:15px}.todo-controls{align-items:stretch;flex-direction:column}.todo-search{width:100%;max-width:none}.todo-grid{grid-template-columns:1fr}.todo-card{padding:17px}}

/* Sidebar calendar: compact navy panel, clear blue date markers. */
.aside-calendar-card{border-radius:5px!important}
.aside-cal-toolbar{display:flex;align-items:center;justify-content:space-between;margin:6px 0 15px;gap:8px}
.aside-cal-month{font:750 13px/1.4 'Manrope',sans-serif;color:#eaf3ff;text-align:center;white-space:nowrap}
.aside-cal-arrow{width:29px;height:29px;display:grid;place-items:center;border:1px solid #304964;border-radius:4px;background:#14263a;color:#a7c7ea;transition:background .18s,border-color .18s}
.aside-cal-arrow:hover,.aside-cal-arrow:focus-visible{background:#203d5f;border-color:#5ba4ff;color:#fff}
.aside-cal-arrow svg{height:15px;width:15px}
.aside-cal-weekdays,.aside-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.aside-cal-weekdays{margin-bottom:7px}
.aside-cal-weekdays span{font-size:10px;color:#8da7c3;font-weight:700;line-height:25px}
.aside-cal-day,.aside-cal-empty{height:32px;min-width:0;display:grid;place-items:center}
.aside-cal-day{position:relative;border:1px solid transparent;border-radius:4px;color:#9cb0c9;background:transparent;font-size:12px;padding:0;transition:background .15s,border-color .15s,color .15s}
.aside-cal-day:hover{background:#1b3652;color:#fff}
.aside-cal-day.has-posts{color:#e1f0ff;font-weight:800;background:#172f49}
.aside-cal-day.has-posts:after{content:'';width:4px;height:4px;border-radius:50%;background:#5daaff;position:absolute;bottom:2px;left:calc(50% - 2px)}
.aside-cal-day.is-today{border-color:#42688f}
.aside-cal-day.is-selected,.aside-cal-day.is-selected.has-posts{background:#3287e5;border-color:#69b1ff;color:#fff}
.aside-cal-day.is-selected:after{background:#fff}
.aside-cal-detail{margin-top:14px;border-top:1px solid #2c4560;padding-top:12px;min-width:0;font-size:11px;color:#94a9c2;line-height:1.6}
.aside-cal-selected{font:750 11px/1.5 'Manrope',sans-serif;color:#e4f0ff;display:block;margin-bottom:7px}
.aside-cal-detail p{margin:0;color:#93a8c0}
.aside-cal-posts{list-style:none;padding:0;margin:0;display:grid;gap:2px;max-height:195px;overflow:auto;scrollbar-color:#356186 transparent}
.aside-cal-posts li a{display:block;padding:7px 5px 7px 9px;border-left:2px solid #376b9f;color:#bed7f3;line-height:1.35;overflow-wrap:anywhere}
.aside-cal-posts li a:hover{border-color:#70b5ff;background:#192e45;color:#fff}
