:root{--bg: #eef3fb;--surface: #ffffff;--text: #14243a;--muted: #5a6880;--line: #d4deeb;--accent: #0f3f7a;--accent-soft: #e8f1ff;--accent-strong: #082a53;--radius-lg: 18px;--radius-md: 12px;--shadow: 0 12px 28px rgba(10, 25, 45, .08)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:rgba(15,63,122,.42) transparent}html::-webkit-scrollbar,body::-webkit-scrollbar{width:9px;height:9px}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track{background:transparent}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb{background:#0f3f7a6b;border-radius:999px;border:2px solid transparent;background-clip:padding-box}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover{background:#0f3f7a9e;border:2px solid transparent;background-clip:padding-box}body{overflow-y:auto;font-family:Atkinson,Trebuchet MS,sans-serif;color:var(--text);line-height:1.6;background:radial-gradient(circle at top right,#dceafe,#dceafe00 48%),linear-gradient(180deg,#f7faff 0%,var(--bg) 100%);min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent-strong);text-underline-offset:.14em;text-decoration-thickness:.08em}a:hover{color:var(--accent)}img,video{display:block;max-width:100%;height:auto}.site-frame{width:min(1080px,calc(100% - 2rem));margin:0 auto}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);backdrop-filter:blur(10px);background:#f7faffe0}.header-frame{display:flex;align-items:center;gap:1rem;min-height:92px;padding:.75rem 0}.brand{display:inline-flex;align-items:center;color:var(--text);text-decoration:none}.brand-logo{height:clamp(31px,3.2vw,42px);width:auto;display:block;flex-shrink:0}.header-frame nav{margin-left:auto;min-width:0}.nav-list{display:flex;list-style:none;gap:.45rem;margin:0;padding:0;flex-wrap:nowrap;width:max-content}.nav-list li{flex:0 0 auto}.nav-rail{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}.nav-rail::-webkit-scrollbar{display:none}.nav-rail.is-dragging{cursor:grabbing}.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.56rem .9rem;border-radius:999px;color:var(--text);text-decoration:none;font-weight:700;font-size:.98rem}.nav-link:hover{background:#eaf1fc;color:var(--accent-strong)}.nav-link.active{background:var(--accent-soft);color:var(--accent-strong)}.site-main{flex:1 0 auto;padding:2.5rem 0 4rem}.site-main>*{width:min(1080px,calc(100% - 2rem));margin:0 auto}.hero-panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(140deg,#fff,#f3f8ff 62%,#e3efff);padding:clamp(1.25rem,3vw,2rem)}.hero-panel h1{margin:.2rem 0 .7rem;font-size:clamp(1.7rem,2.9vw,2.6rem);line-height:1.15}.hero-panel p{margin:0;max-width:64ch;color:var(--muted)}.kicker{margin:0;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);font-weight:700}.section-block{margin-top:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1rem,2.2vw,1.5rem)}.section-head{margin-bottom:1rem}.section-head h2,.section-head h1{margin:.2rem 0 .35rem;line-height:1.2}.section-head p{margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.category-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fbfdff;padding:1rem}.category-card p{margin:.3rem 0}.category-count{color:var(--muted);font-size:.92rem}.latest-link{display:inline-block;margin-top:.6rem;text-decoration:none;font-weight:700}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.post-card{display:flex;flex-direction:column;gap:.65rem;border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem;background:#fff}.post-card h3{margin:0;font-size:1.15rem;line-height:1.25}.post-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:var(--muted);font-size:.88rem}.chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid #c2d4ef;background:#eef4ff;padding:.18rem .58rem;font-size:.75rem;font-weight:700;color:#19447a}.post-card p{margin:0;color:var(--muted)}.post-link{margin-top:auto;text-decoration:none;font-weight:700}.post-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1rem,2.6vw,2rem)}.post-header h1{margin:.15rem 0 .45rem;line-height:1.2}.post-description{margin:0;color:var(--muted)}.post-meta-line{margin:.75rem 0 0;color:var(--muted);font-size:.9rem;display:flex;flex-wrap:wrap;gap:.35rem}.tag-list{margin:.8rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}.tag{border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.78rem;color:var(--muted)}.hero-image{width:100%;margin-top:1.2rem;border-radius:var(--radius-md);border:1px solid var(--line)}.post-body{margin-top:1.3rem;font-size:1.05rem}.post-body h2,.post-body h3,.post-body h4{margin:1.35em 0 .5em;line-height:1.25}.post-body p,.post-body ul,.post-body ol{margin:0 0 1rem}.post-body blockquote{border-left:4px solid #a7c2ea;margin:0 0 1rem;padding:.35rem 0 .35rem .9rem;color:#2f3f57;background:#f5f8fe;border-radius:0 8px 8px 0}.post-body pre{padding:.9rem;border-radius:10px;background:#0f2139;color:#e7eefb;overflow-x:auto}.post-body code{padding:.1rem .35rem;border-radius:5px;background:#ecf2fc}.post-body pre code{padding:0;background:transparent}.post-body img,.post-body video{border:1px solid var(--line);border-radius:12px}.post-body iframe{width:100%;aspect-ratio:16 / 9;border:0;border-radius:12px;margin:0 0 1rem}.prose-panel h1{margin:0 0 .5rem}.prose-panel h2{margin:1.25rem 0 .45rem}.prose-panel p,.prose-panel ul{margin:0 0 .85rem}.plain-list{margin:0;padding-left:1.1rem}.site-footer{margin-top:auto;border-top:1px solid #28456f;background:linear-gradient(180deg,#122642,#0d1d33);color:#dce6f7}.footer-frame{display:grid;grid-template-columns:1fr;grid-template-areas:"brand" "nav" "social";align-items:center;justify-items:center;text-align:center;gap:.75rem;padding:2rem 0 1.1rem}.footer-brand{grid-area:brand;display:grid;justify-items:center}.footer-title{margin:0;font-weight:700;font-size:1.02rem}.footer-logo{height:clamp(31px,3.2vw,42px);width:auto;display:block}.footer-copy{margin:.3rem 0 0;color:#b6c7e0;max-width:44ch}.footer-nav{grid-area:nav}.footer-nav-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem 1rem}.footer-nav-links a{color:#dce6f7;text-decoration:none;font-weight:700}.footer-nav-links a:hover{color:#fff;text-decoration:underline}.social-links{grid-area:social;justify-self:center;display:flex;align-items:center;gap:.45rem}.social-links a{width:38px;height:38px;border-radius:999px;border:1px solid rgba(214,227,246,.45);background:#ffffff14;display:grid;place-items:center}.social-links a:hover{background:#ffffff2e}.social-links img{width:18px;height:18px;object-fit:contain;filter:brightness(0) invert(1)}.footer-legal{margin:0 auto;padding:.75rem 0 1.2rem;text-align:center;color:#9fb3d3;font-size:.84rem;border-top:1px solid rgba(214,227,246,.2)}@media(min-width:920px){.footer-frame{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand social" "nav nav";align-items:start;justify-items:stretch;text-align:left;gap:.95rem 1.2rem}.footer-brand{justify-items:start}.footer-nav-links{justify-content:center}.social-links{justify-self:end}}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@media(max-width:920px){.header-frame{flex-wrap:wrap;row-gap:.65rem}.header-frame nav{order:3;margin-left:0;width:100%}.nav-list{padding-bottom:.15rem}.category-grid,.post-grid{grid-template-columns:1fr}}@media(max-width:620px){body{font-size:18px}.site-main{padding-top:1.4rem}.footer-nav-links{gap:.45rem .7rem}}
