:root { color-scheme:light dark; --bg:#f5f8ff; --surface:#ffffff; --surface-2:#dfeaff; --text:#0a2d73; --muted:#526b9b; --line:#0c46b8; --soft-line:rgba(12,70,184,.24); --brand:#0c46b8; --brand-strong:#082e7e; --accent:#ff9b42; --shadow:8px 8px 0 rgba(12,70,184,.16); --content:1240px; --header-height:84px; }
html[data-theme="dark"] { --bg:#08245c; --surface:#0a2d73; --surface-2:#123d87; --text:#f5f8ff; --muted:#b8cbef; --line:#6fa8ff; --soft-line:rgba(111,168,255,.3); --brand:#8bb8ff; --brand-strong:#c3d8ff; --accent:#ffad62; --shadow:8px 8px 0 rgba(0,0,0,.2); }
@media(prefers-color-scheme:dark){html:not([data-theme="light"]){--bg:#08245c;--surface:#0a2d73;--surface-2:#123d87;--text:#f5f8ff;--muted:#b8cbef;--line:#6fa8ff;--soft-line:rgba(111,168,255,.3);--brand:#8bb8ff;--brand-strong:#c3d8ff;--accent:#ffad62;--shadow:8px 8px 0 rgba(0,0,0,.2)}}
body { background:var(--bg); color:var(--text); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; line-height:1.62; }
.blueprint-shell { min-height:100vh; background-image:linear-gradient(var(--soft-line) 1px,transparent 1px),linear-gradient(90deg,var(--soft-line) 1px,transparent 1px); background-size:32px 32px; }
.site-header { position:sticky; z-index:100; top:0; border-bottom:2px solid var(--line); background:var(--surface); }
.system-bar { min-height:28px; padding-inline:max(1rem,calc((100% - var(--content))/2)); display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--line); background:var(--brand); color:#fff; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; }
.header-inner { min-height:var(--header-height); padding-inline:max(1rem,calc((100% - var(--content))/2)); display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { min-width:0; display:flex; align-items:center; gap:.8rem; color:var(--text); text-decoration:none; }
.brand-logo,.brand-mark { width:48px; height:48px; flex:0 0 48px; border:2px solid var(--line); object-fit:contain; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); }
.brand-mark { display:grid; place-items:center; background:var(--surface-2); color:var(--brand); font-weight:900; }
.brand-copy { display:grid; line-height:1.05; }
.brand-copy strong { font-size:1.05rem; letter-spacing:.03em; text-transform:uppercase; }
.brand-copy span { margin-top:.3rem; color:var(--muted); font-size:.65rem; }
.header-actions { display:flex; align-items:center; gap:.65rem; }
.main-nav ul { display:flex; align-items:center; gap:.2rem; margin:0; padding:0; list-style:none; }
.main-nav a { display:block; padding:.65rem .78rem; border:1px solid transparent; color:var(--muted); font-size:.72rem; font-weight:800; text-decoration:none; text-transform:uppercase; }
.main-nav a:hover,.main-nav a[aria-current="page"] { border-color:var(--line); background:var(--surface-2); color:var(--text); }
.menu-toggle,.theme-toggle { border:2px solid var(--line); border-radius:0; padding:.58rem .7rem; background:var(--surface); color:var(--text); box-shadow:3px 3px 0 var(--soft-line); font-size:.72rem; text-transform:uppercase; }
.site-shell { width:min(calc(100% - 2rem),var(--content)); margin:clamp(2rem,5vw,5rem) auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,300px); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.hero { min-height:500px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); border:2px solid var(--line); background:var(--surface); box-shadow:var(--shadow); clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px)); }
.hero:not(.has-image){grid-template-columns:1fr;}
.hero-copy { align-self:center; padding:clamp(2rem,6vw,5.5rem); }
.hero-copy h1,.article-header h1,.blog-header h1 { margin:0; max-width:15ch; font-family:Arial Black,Impact,ui-sans-serif,sans-serif; font-size:clamp(2.8rem,8vw,6.5rem); line-height:.88; letter-spacing:-.055em; text-transform:uppercase; text-wrap:balance; }
.hero-media { min-height:430px; border-left:2px solid var(--line); padding:12px; background:var(--surface-2); }
.hero-media img { width:100%; height:100%; object-fit:cover; clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%); filter:grayscale(.15) contrast(1.05); }
.eyebrow { display:inline-flex; margin:0 0 1rem; padding:.3rem .45rem; background:var(--accent); color:#0a2d73; font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.content-card,.home-content-card,.post-card,.sidebar-card,.faq-item { border:2px solid var(--line); background:var(--surface); box-shadow:var(--shadow); }
.content-card { overflow:hidden; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%); }
.home-content-card { margin-top:1.5rem; }
.content-inner,.article-header,.blog-header { padding:clamp(1.4rem,4vw,3.2rem); }
.article-header,.blog-header { border-bottom:2px solid var(--line); background:var(--surface-2); }
.article-header h1,.blog-header h1 { font-size:clamp(2.3rem,6vw,4.8rem); }
.article-meta { margin-top:1rem; display:flex; flex-wrap:wrap; gap:.6rem 1rem; color:var(--muted); font-size:.66rem; text-transform:uppercase; }
.featured-image { max-height:680px; padding:10px; border-bottom:2px solid var(--line); }
.prose { font-family:ui-sans-serif,system-ui,sans-serif; }
.prose h2 { margin:1.8em 0 .55em; font-family:Arial Black,Impact,sans-serif; font-size:clamp(1.7rem,4vw,2.7rem); text-transform:uppercase; }
.prose h3 { margin:1.6em 0 .5em; font-family:Arial Black,Impact,sans-serif; font-size:1.4rem; text-transform:uppercase; }
.prose blockquote { margin-inline:0; padding:1rem 1.2rem; border:2px solid var(--line); border-left:8px solid var(--accent); background:var(--surface-2); color:var(--muted); }
.prose code { padding:.12em .3em; border:1px solid var(--line); background:var(--surface-2); color:var(--brand); }
.prose pre { padding:1.2rem; border:2px solid var(--line); background:#061a43; color:#f5f8ff; }
.sidebar { position:sticky; top:calc(var(--header-height) + 2.3rem); display:grid; gap:1rem; }
.sidebar-card { padding:1.15rem; box-shadow:4px 4px 0 var(--soft-line); }
.sidebar-card h2 { margin:0 0 .75rem; color:var(--brand); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.sidebar-list li+li,.link-list li+li { border-top:1px dashed var(--line); }
.sidebar-list a,.link-list a { display:block; padding:.75rem 0; color:var(--text); font-family:ui-sans-serif,system-ui,sans-serif; font-weight:760; line-height:1.3; text-decoration:none; }
.sidebar-list a:hover,.link-list a:hover { color:var(--brand); }
.sidebar-list time { margin-top:.25rem; color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.64rem; font-weight:400; }
.link-group+ .link-group { margin-top:1rem; }
.link-group h3 { color:var(--muted); font-size:.64rem; text-transform:uppercase; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:clamp(3rem,7vw,6rem) 0 1.2rem; padding:.8rem 1rem; border:2px solid var(--line); background:var(--brand); color:#fff; box-shadow:var(--shadow); }
.section-heading .eyebrow { background:var(--accent); }
.section-heading h2 { margin:0; font-family:Arial Black,Impact,sans-serif; font-size:clamp(1.8rem,5vw,3.2rem); line-height:.9; text-transform:uppercase; }
.section-heading a { color:#fff; font-size:.68rem; text-transform:uppercase; }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.post-card { overflow:hidden; clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%); box-shadow:5px 5px 0 var(--soft-line); }
.post-card img { aspect-ratio:16/9; padding:8px; border-bottom:2px solid var(--line); }
.post-card-body { padding:1.15rem; }
.post-card time { color:var(--brand); font-size:.64rem; text-transform:uppercase; }
.post-card h2,.post-card h3 { margin:.5rem 0; font-family:Arial Black,Impact,sans-serif; font-size:clamp(1.25rem,3vw,1.8rem); line-height:1; text-transform:uppercase; }
.post-card p { margin:.6rem 0 0; color:var(--muted); font-family:ui-sans-serif,system-ui,sans-serif; }
.faq-section { margin-top:clamp(3rem,7vw,6rem); }
.faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.faq-item { box-shadow:4px 4px 0 var(--soft-line); }
.faq-item summary { padding:1rem 1.1rem; font-family:ui-sans-serif,system-ui,sans-serif; font-weight:850; }
.faq-item div { padding:0 1.1rem 1.1rem; color:var(--muted); font-family:ui-sans-serif,system-ui,sans-serif; }
.pagination { margin-top:2rem; }
.pagination a,.pagination span { min-width:2.7rem; padding:.55rem .72rem; border:2px solid var(--line); background:var(--surface); color:var(--text); box-shadow:3px 3px 0 var(--soft-line); }
.pagination [aria-current="page"] { background:var(--accent); color:#0a2d73; }
.empty-state { padding:3rem; border:2px dashed var(--line); background:var(--surface); text-align:center; color:var(--muted); }
.site-footer { margin-top:clamp(4rem,9vw,8rem); border-top:2px solid var(--line); background:var(--brand); color:#fff; }
.footer-inner { width:min(calc(100% - 2rem),var(--content)); min-height:230px; margin:auto; display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; }
.footer-code>span { display:block; margin-bottom:.4rem; color:var(--accent); font-size:.64rem; text-transform:uppercase; }
.footer-inner strong { font-family:Arial Black,Impact,sans-serif; font-size:1.7rem; text-transform:uppercase; }
.footer-inner p { margin:.3rem 0 0; color:#d8e4ff; }
.copyright { grid-column:1/-1; margin-top:-2rem!important; font-size:.64rem; }
.social-icons a { width:40px; height:40px; border:2px solid #fff; color:#fff; }
.back-to-top { width:auto; height:42px; padding:0 .8rem; border:2px solid var(--line); border-radius:0; background:var(--accent); color:#0a2d73; box-shadow:4px 4px 0 var(--soft-line); font-size:.65rem; font-weight:900; }
@media(max-width:920px){.brand-copy span{display:none}.menu-toggle{display:block}.header-inner{position:relative}.main-nav ul{position:absolute;top:100%;right:0;left:0;display:none;padding:.7rem;background:var(--surface);border-top:2px solid var(--line);box-shadow:var(--shadow)}.main-nav.is-open ul{display:grid}.site-shell{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-media{border-left:0;border-top:2px solid var(--line)}}
@media(max-width:640px){.system-bar span:nth-child(2){display:none}.header-inner,.site-shell,.footer-inner{width:min(calc(100% - 1rem),var(--content));padding-inline:0}.header-inner{min-height:72px}.brand-logo,.brand-mark{width:40px;height:40px;flex-basis:40px}.theme-toggle-label{display:none}.hero-copy,.content-inner,.article-header,.blog-header{padding:1.25rem}.hero-copy h1{font-size:clamp(2.5rem,16vw,4rem)}.post-grid,.sidebar,.faq-list{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;padding-block:2.5rem}.copyright{grid-column:auto;margin-top:0!important}}

/* Shared content and interaction rules */
a { color: var(--brand); text-underline-offset: .18em; }
a:hover { color: var(--brand-strong); }
.menu-toggle, .theme-toggle { font: inherit; cursor: pointer; }
.menu-toggle { display: none; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.content-area { min-width: 0; }
.prose { font-size: 1.04rem; }
.prose > *:first-child { margin-top: 0; }
.prose > *:last-child { margin-bottom: 0; }
.prose h2, .prose h3, .prose h4 { text-wrap: balance; line-height: 1.15; }
.prose p, .prose ul, .prose ol, .prose blockquote, .prose pre { margin-block: 1.05rem; }
.prose img { width: auto; height: auto; }
.prose pre { overflow-x: auto; }
.prose code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.sidebar-list, .link-list { margin: 0; padding: 0; list-style: none; }
.sidebar-list time { display: block; }
.social-icons { display: flex; flex-wrap: wrap; gap: .6rem; }
.social-icons:empty { display: none; }
.social-icons a { display: grid; place-items: center; text-decoration: none; }
.social-icons svg { width: 19px; height: 19px; fill: currentColor; stroke: currentColor; stroke-width: 1.7; }
.featured-image { width: 100%; object-fit: cover; }
.post-card img { width: 100%; object-fit: cover; }
.post-card h2 a, .post-card h3 a { color: inherit; text-decoration: none; }
.faq-item summary { cursor: pointer; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.pagination a, .pagination span { text-decoration: none; text-align: center; }
.back-to-top { position: fixed; z-index: 90; right: 1rem; bottom: 1rem; opacity: 0; pointer-events: none; transform: translateY(.75rem); transition: opacity .2s ease, transform .2s ease; cursor: pointer; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
