:root { color-scheme: light dark; --bg:#f6f8ff; --surface:rgba(255,255,255,.82); --surface-solid:#fff; --surface-2:#edf1ff; --text:#14213d; --muted:#66718d; --line:rgba(70,86,135,.17); --brand:#335cff; --brand-strong:#183ee5; --accent:#8758ff; --shadow:0 30px 80px rgba(47,66,135,.15); --radius:1.55rem; --content:1220px; --header-height:82px; }
html[data-theme="dark"] { --bg:#0a1020; --surface:rgba(18,27,49,.82); --surface-solid:#121b31; --surface-2:#1a2540; --text:#f4f7ff; --muted:#aab5ce; --line:rgba(170,190,230,.17); --brand:#85a0ff; --brand-strong:#b0c0ff; --accent:#bd91ff; --shadow:0 30px 90px rgba(0,0,0,.38); }
@media(prefers-color-scheme:dark){html:not([data-theme="light"]){--bg:#0a1020;--surface:rgba(18,27,49,.82);--surface-solid:#121b31;--surface-2:#1a2540;--text:#f4f7ff;--muted:#aab5ce;--line:rgba(170,190,230,.17);--brand:#85a0ff;--brand-strong:#b0c0ff;--accent:#bd91ff;--shadow:0 30px 90px rgba(0,0,0,.38)}}
body { overflow-x:hidden; background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.65; }
.aurora-glow { position:fixed; z-index:-1; width:34rem; aspect-ratio:1; border-radius:50%; filter:blur(80px); opacity:.28; }
.aurora-glow-one { top:-12rem; right:-8rem; background:var(--accent); }
.aurora-glow-two { bottom:8rem; left:-14rem; background:var(--brand); opacity:.18; }
.site-header { position:sticky; z-index:100; top:0; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg) 74%,transparent); backdrop-filter:blur(24px) saturate(145%); }
.header-inner { width:min(calc(100% - 2rem),var(--content)); min-height:var(--header-height); margin:auto; 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:46px; height:46px; flex:0 0 46px; border-radius:1rem; object-fit:contain; }
.brand-mark { display:grid; place-items:center; color:#fff; font-weight:900; background:linear-gradient(135deg,var(--brand),var(--accent)); box-shadow:0 14px 30px color-mix(in srgb,var(--brand) 30%,transparent); }
.brand-copy { display:grid; line-height:1.1; }
.brand-copy strong { font-size:1.05rem; letter-spacing:-.02em; }
.brand-copy span { margin-top:.25rem; color:var(--muted); font-size:.76rem; }
.header-actions { display:flex; align-items:center; gap:.75rem; }
.main-nav ul { display:flex; align-items:center; gap:.25rem; margin:0; padding:0; list-style:none; }
.main-nav a { display:block; padding:.68rem .86rem; border-radius:999px; color:var(--muted); font-size:.9rem; font-weight:750; text-decoration:none; }
.main-nav a:hover,.main-nav a[aria-current="page"] { color:var(--text); background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); }
.menu-toggle,.theme-toggle { border:1px solid var(--line); border-radius:999px; padding:.65rem .82rem; background:var(--surface); color:var(--text); box-shadow:0 8px 25px rgba(30,45,90,.08); }
.aurora-stage { position:relative; }
.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,310px); gap:clamp(1.5rem,3vw,3.25rem); align-items:start; }
.hero,.content-card,.post-card,.sidebar-card,.faq-item { border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow); backdrop-filter:blur(18px); }
.hero { position:relative; overflow:hidden; min-height:440px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr); border-radius:2rem; }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 9%,transparent),transparent 50%,color-mix(in srgb,var(--accent) 10%,transparent)); pointer-events:none; }
.hero:not(.has-image){grid-template-columns:1fr;}
.hero-copy { position:relative; z-index:1; align-self:center; padding:clamp(2.2rem,6vw,5.5rem); }
.hero-copy h1,.article-header h1,.blog-header h1 { margin:0; max-width:13ch; font-size:clamp(2.6rem,7vw,5.7rem); line-height:.98; letter-spacing:-.06em; text-wrap:balance; }
.hero-media { min-height:360px; padding:1.1rem; }
.hero-media img { width:100%; height:100%; object-fit:cover; border-radius:1.35rem; clip-path:polygon(7% 0,100% 0,100% 100%,0 100%,0 9%); }
.eyebrow { margin:0 0 .8rem; color:var(--brand); font-size:.76rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.content-card { overflow:hidden; border-radius:var(--radius); }
.home-content-card { margin-top:1.5rem; }
.content-inner,.article-header,.blog-header { padding:clamp(1.5rem,4vw,3.4rem); }
.article-header,.blog-header { border-bottom:1px solid var(--line); }
.article-header h1,.blog-header h1 { max-width:18ch; font-size:clamp(2.2rem,5vw,4.25rem); }
.article-meta { display:flex; flex-wrap:wrap; gap:.6rem 1rem; margin-top:1rem; color:var(--muted); font-size:.86rem; }
.featured-image { max-height:650px; border-bottom:1px solid var(--line); }
.prose h2 { margin:1.8em 0 .6em; font-size:clamp(1.55rem,3vw,2.25rem); letter-spacing:-.035em; }
.prose h3 { margin:1.6em 0 .55em; font-size:1.35rem; }
.prose blockquote { margin-inline:0; padding:1rem 1.2rem; border:1px solid var(--line); border-left:.35rem solid var(--brand); border-radius:.7rem; background:var(--surface-2); color:var(--muted); }
.prose code { padding:.15em .35em; border-radius:.35rem; background:var(--surface-2); }
.prose pre { padding:1.2rem; border-radius:1rem; background:#0b1020; color:#eff5ff; }
.sidebar { position:sticky; top:calc(var(--header-height) + 1.4rem); display:grid; gap:1.1rem; }
.sidebar-card { padding:1.3rem; border-radius:1.2rem; box-shadow:0 20px 50px rgba(35,53,100,.09); }
.sidebar-card h2 { margin:0 0 .8rem; font-size:.98rem; }
.sidebar-list li+li,.link-list li+li { border-top:1px solid var(--line); }
.sidebar-list a,.link-list a { display:block; padding:.78rem 0; color:var(--text); font-weight:720; text-decoration:none; line-height:1.35; }
.sidebar-list time { margin-top:.2rem; color:var(--muted); font-size:.74rem; font-weight:500; }
.link-group+ .link-group { margin-top:1rem; }
.link-group h3 { margin:0; color:var(--muted); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:clamp(3rem,7vw,6rem) 0 1.3rem; }
.section-heading h2 { margin:0; font-size:clamp(1.75rem,4vw,2.65rem); letter-spacing:-.04em; }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.post-card { overflow:hidden; border-radius:1.25rem; transition:transform .22s ease,box-shadow .22s ease; }
.post-card:hover { transform:translateY(-5px); box-shadow:0 35px 90px rgba(45,62,125,.2); }
.post-card img { aspect-ratio:16/9; border-bottom:1px solid var(--line); }
.post-card-body { padding:1.3rem; }
.post-card time { color:var(--muted); font-size:.76rem; }
.post-card h2,.post-card h3 { margin:.5rem 0; line-height:1.2; letter-spacing:-.025em; }
.post-card p { margin:.55rem 0 0; color:var(--muted); }
.faq-section { margin-top:clamp(3rem,7vw,6rem); }
.faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.faq-item { border-radius:1rem; box-shadow:none; }
.faq-item summary { padding:1.1rem 1.2rem; font-weight:800; }
.faq-item div { padding:0 1.2rem 1.2rem; color:var(--muted); }
.pagination { margin-top:2rem; }
.pagination a,.pagination span { min-width:2.7rem; padding:.6rem .78rem; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--text); }
.pagination [aria-current="page"] { border-color:var(--brand); background:var(--brand); color:#fff; }
.empty-state { padding:3rem; border:1px dashed var(--line); border-radius:1.2rem; text-align:center; color:var(--muted); }
.site-footer { margin-top:clamp(4rem,10vw,8rem); border-top:1px solid var(--line); background:color-mix(in srgb,var(--surface-solid) 78%,transparent); }
.footer-inner { width:min(calc(100% - 2rem),var(--content)); min-height:200px; margin:auto; display:grid; grid-template-columns:1fr auto; align-items:center; gap:1.5rem; }
.footer-brand strong { font-size:1.2rem; }
.footer-inner p { margin:.3rem 0 0; color:var(--muted); }
.copyright { grid-column:1/-1; margin-top:-2rem!important; font-size:.8rem; }
.social-icons a { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; color:var(--text); background:var(--surface); }
.social-icons a:hover { color:var(--brand); border-color:var(--brand); }
.back-to-top { width:48px; height:48px; border:1px solid var(--line); border-radius:50%; background:var(--surface-solid); color:var(--text); box-shadow:var(--shadow); }
@media(max-width:900px){.brand-copy span{display:none}.menu-toggle{display:block}.main-nav ul{position:absolute;top:calc(100% + 1px);right:1rem;left:1rem;display:none;padding:.7rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-solid);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{max-height:430px}.faq-list{grid-template-columns:1fr}}
@media(max-width:640px){:root{--header-height:70px}.header-inner,.site-shell,.footer-inner{width:min(calc(100% - 1.2rem),var(--content))}.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.35rem}.hero-copy h1{font-size:clamp(2.35rem,15vw,3.6rem)}.post-grid,.sidebar{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; }
}
