@import url('/code.css');
nav a[aria-current="page"]{color:var(--blue)}
.journal-hero{background:radial-gradient(ellipse at 95% 10%,#e0ebff,transparent 60%),linear-gradient(120deg,#fff,#f2f7ff);color:var(--ink);padding:78px 0 82px;border-bottom:1px solid #d8eaf5}
.journal-hero .eyebrow{color:var(--blue)}
.journal-hero h1{font-size:clamp(2.6rem,4.8vw,4.2rem);margin-bottom:24px;letter-spacing:-2.5px}
.journal-hero p:last-child{max-width:560px;font-size:1.125rem;color:#5f7488;margin:0}
.journal-list{padding-block:64px 100px}
.journal-list-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}
.journal-list-heading h2{font-size:1.75rem;letter-spacing:-.8px}
.journal-list-heading>span{font-size:.875rem;color:var(--muted)}
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.post-card{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 4px 16px #102a4c06;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s}
.post-card:hover{transform:translateY(-4px);border-color:#9bbcf0;box-shadow:0 16px 40px #173c7014}
.post-card-link{display:flex;flex-direction:column;height:100%}
.post-card-link:focus-visible{outline-offset:-4px}
.post-cover{aspect-ratio:1200/630;overflow:hidden;background:var(--navy)}
.post-cover img{width:100%;height:100%;object-fit:cover;display:block}
.text-cover{padding:38px;color:#50718b;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at top right,#d6e5ff,transparent),#edf4ff}
.text-cover>span{font-size:.875rem}
.text-cover strong{font:650 clamp(2rem,4vw,3.4rem)/1.15 var(--heading);letter-spacing:-1.5px;color:var(--blue)}
.text-cover strong span{float:right}
.post-card-body{padding:30px;display:flex;flex-direction:column;flex:1}
.topic{font-size:.75rem;font-weight:650;letter-spacing:1.4px;text-transform:uppercase;color:var(--blue)}
.post-card h2{font-size:1.65rem;letter-spacing:-.7px;line-height:1.35;margin:14px 0}
.post-card p{color:var(--muted);margin:0 0 24px;font-size:1rem}
.post-meta{display:flex;flex-wrap:wrap;gap:7px 18px;color:var(--muted);font-size:.875rem}
.post-meta strong{font-weight:500;color:var(--ink)}
.post-card .post-meta{margin-top:auto}
.post-card .post-meta>span:first-child{flex-basis:100%}
.read-link{color:var(--blue);display:flex;justify-content:space-between;padding-top:21px;margin-top:22px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600}
.article-breadcrumb{display:flex;justify-content:space-between;gap:20px;padding-block:30px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}
.article-header{max-width:860px;width:calc(100% - 40px);margin:35px auto 44px}
.article-header h1{font-size:clamp(2.3rem,4.3vw,3.6rem);line-height:1.18;letter-spacing:-2px;margin:18px 0 22px}
.article-deck{font-size:1.2rem;color:var(--muted);line-height:1.7;margin:0 0 28px}
.article-header .post-meta{padding-top:22px;border-top:1px solid var(--line)}
.article-cover{max-width:1000px;width:calc(100% - 40px);margin:0 auto 55px}
.article-cover img{display:block;width:100%;height:auto;border-radius:12px}
.article-layout{display:grid;grid-template-columns:210px minmax(0,760px);justify-content:space-between;gap:65px;margin-top:45px}
.article-toc{align-self:start;position:sticky;top:35px;border-left:1px solid var(--line);padding-left:22px}
.article-toc>p{font-size:.75rem;letter-spacing:1.4px;color:var(--blue);margin:0 0 20px}
.article-toc nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:.875rem}
.toc-back{display:inline-block;font-size:.875rem;color:var(--muted);margin-top:32px}
.prose{min-width:0;font-size:1.0625rem;line-height:1.85;color:#344b65;overflow-wrap:anywhere}
.prose>:first-child{margin-top:0}
.prose h2{font-size:1.8rem;letter-spacing:-.7px;margin:45px 0 18px;color:var(--ink)}
.prose h3{font-size:1.3rem;margin:32px 0 12px;color:var(--ink)}
.prose p,.prose ul,.prose ol{margin:0 0 23px}
.prose li{margin-bottom:8px}
.prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.prose img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:9px;display:block;margin:30px auto}
.prose pre{max-width:100%;overflow:auto;white-space:pre;border-radius:10px;background:#f5f8fd;border:1px solid var(--line);color:var(--ink);padding:24px;margin:27px 0;font-size:.875rem;line-height:1.75}
.prose pre code.hljs{padding:0;background:none;overflow:visible}
.prose :not(pre)>code{background:#eaf5fc;padding:3px 6px;border-radius:4px;font-size:.9em;color:#205d8d;overflow-wrap:anywhere}
.prose blockquote{border-left:3px solid var(--blue);background:#f1f9fe;margin:28px 0;padding:20px 24px;color:#42637c}
.prose blockquote p:last-child{margin:0}
.prose table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:26px 0;font-size:.9375rem}
.prose th,.prose td{border:1px solid var(--line);padding:12px 16px;text-align:left;min-width:120px}
.prose th{background:var(--surface);color:var(--ink)}
.prose hr{border:0;border-top:1px solid var(--line);margin:35px 0}
.author-note{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:28px;margin-top:45px}
.author-avatar{display:grid;place-items:center;width:48px;height:48px;background:#e3f3fc;border-radius:50%;color:var(--blue);font-weight:600}
.author-note div{display:flex;flex-direction:column;line-height:1.6}
.author-note div>span{font-size:.75rem;color:var(--muted)}
.author-note strong{font-size:1rem;font-weight:500}
.article-end{padding-block:55px 80px;text-align:right}
@media(max-width:900px){.article-layout{grid-template-columns:1fr;gap:30px}.article-toc{position:static;border-left:0;border-bottom:1px solid var(--line);padding:0 0 25px}.article-toc nav{flex-direction:row;flex-wrap:wrap;gap:12px 22px}.toc-back{display:none}}
@media(max-width:650px){.post-grid{grid-template-columns:1fr}.journal-hero{padding-block:48px}.journal-list{padding-block:40px 60px}.post-card-body{padding:24px}.article-header{margin-top:20px}.article-header h1{letter-spacing:-1.3px}.article-deck{font-size:1.0625rem}.article-breadcrumb>span{display:none}.article-end{text-align:left}.prose pre{padding:18px}.text-cover{padding:28px}}
@media(max-width:560px){.header nav{flex-wrap:wrap;gap:12px 18px;justify-content:flex-start}.header .nav-cta{margin-left:auto}}
