:root{--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-code-bg: #f1f5f9;--color-sidebar-hover: #f1f5f9;--color-link: #3b82f6;--sidebar-width: 280px;--content-max-width: 800px;--header-height: 60px}[data-theme=dark]{--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-border: #334155;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-code-bg: #1e293b;--color-sidebar-hover: #334155;--color-link: #60a5fa}*{box-sizing:border-box;margin:0;padding:0}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.6}body{background-color:var(--color-bg);color:var(--color-text);transition:background-color .2s ease,color .2s ease}a{color:var(--color-link);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:100}.header-logo{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none}.header-logo:hover{text-decoration:none}.header-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.theme-toggle:hover{background:var(--color-sidebar-hover)}.theme-toggle svg{width:20px;height:20px}.sidebar{position:fixed;top:var(--header-height);left:0;width:var(--sidebar-width);height:calc(100vh - var(--header-height));background:var(--color-bg-secondary);border-right:1px solid var(--color-border);overflow-y:auto;padding:1.5rem 0}.sidebar-nav{display:flex;flex-direction:column}.sidebar-section{margin-bottom:1.5rem}.sidebar-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:0 1.5rem;margin-bottom:.5rem}.sidebar-link{display:block;padding:.5rem 1.5rem;color:var(--color-text);font-size:.9rem;border-left:3px solid transparent;transition:all .15s ease}.sidebar-link:hover{background:var(--color-sidebar-hover);text-decoration:none}.sidebar-link.active{border-left-color:var(--color-primary);background:var(--color-sidebar-hover);color:var(--color-primary);font-weight:500}.sidebar-link.nested{padding-left:2.5rem;font-size:.85rem}.main{margin-left:var(--sidebar-width);margin-top:var(--header-height);flex:1;min-height:calc(100vh - var(--header-height))}.content{max-width:var(--content-max-width);margin:0 auto;padding:2rem 3rem}.article h1{font-size:2.25rem;font-weight:700;margin-bottom:.5rem;line-height:1.2}.article h2{font-size:1.5rem;font-weight:600;margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.article h3{font-size:1.25rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem}.article h4{font-size:1.1rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.article p{margin-bottom:1rem}.article ul,.article ol{margin-bottom:1rem;padding-left:1.5rem}.article li{margin-bottom:.5rem}.article img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0;border:1px solid var(--color-border)}.article code{background:var(--color-code-bg);padding:.2rem .4rem;border-radius:4px;font-size:.9em;font-family:SF Mono,Monaco,Cascadia Code,Consolas,monospace}.article pre{background:var(--color-code-bg);padding:1rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;border:1px solid var(--color-border)}.article pre code{background:none;padding:0;font-size:.875rem}.article blockquote{border-left:4px solid var(--color-primary);padding-left:1rem;margin:1.5rem 0;color:var(--color-text-muted);font-style:italic}.article table{width:100%;border-collapse:collapse;margin:1.5rem 0}.article th,.article td{border:1px solid var(--color-border);padding:.75rem;text-align:left}.article th{background:var(--color-bg-secondary);font-weight:600}.article hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.feature-shot-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:1.75rem 0}.feature-shot-card{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--color-border);background:radial-gradient(circle at 10% 0%,color-mix(in oklab,var(--color-link) 12%,transparent),transparent 52%),linear-gradient(180deg,color-mix(in oklab,var(--color-bg-secondary) 88%,#ffffff 12%),var(--color-bg-secondary));box-shadow:0 20px 46px -36px #0f172a99,inset 0 1px #ffffff80;padding:.7rem;transition:transform .25s ease,box-shadow .25s ease}.feature-shot-card:hover{transform:translateY(-3px);box-shadow:0 26px 52px -36px #0f172ab8,inset 0 1px #ffffff80}[data-theme=dark] .feature-shot-card{box-shadow:0 22px 44px -36px #000000e6,inset 0 1px #ffffff14}.feature-shot-card img{width:100%;display:block;border-radius:12px;border:1px solid var(--color-border);margin:0;cursor:zoom-in}.feature-shot-card figcaption{margin:.7rem .15rem .05rem;font-size:.93rem;font-weight:500;color:var(--color-text-muted)}.feature-shot-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:2rem;background:#080c14d1;backdrop-filter:blur(6px);z-index:1200}.feature-shot-lightbox.open{display:flex}.feature-shot-lightbox-content{position:relative;width:min(1120px,100%);max-height:calc(100vh - 4rem);border-radius:18px;border:1px solid rgba(255,255,255,.2);background:linear-gradient(180deg,#ffffff2e,#ffffff14);padding:.8rem;box-shadow:0 28px 68px -30px #000000d9}.feature-shot-lightbox-image{display:block;width:100%;max-height:calc(100vh - 8rem);object-fit:contain;border-radius:12px;border:1px solid rgba(255,255,255,.26)}.feature-shot-lightbox-caption{margin:.75rem 0 0;text-align:center;color:#ffffffe6;font-size:.95rem}.feature-shot-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.8rem;height:2.8rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#0a0e18b8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.35rem;cursor:pointer;z-index:1}.feature-shot-lightbox-nav:hover{background:#0a0e18eb}.feature-shot-lightbox-nav-prev{left:.7rem}.feature-shot-lightbox-nav-next{right:.7rem}.feature-shot-lightbox-close{position:absolute;top:.55rem;right:.55rem;width:2.25rem;height:2.25rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#0a0e18b3;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer}.feature-shot-lightbox-close:hover{background:#0a0e18e6}.feature-shot-card img:focus-visible,.feature-shot-lightbox-nav:focus-visible,.feature-shot-lightbox-close:focus-visible{outline:2px solid #ffffff;outline-offset:2px}@media(max-width:640px){.feature-shot-lightbox{padding:1rem}.feature-shot-lightbox-content{max-height:calc(100vh - 2rem);padding:.55rem}.feature-shot-lightbox-image{max-height:calc(100vh - 5.75rem)}.feature-shot-lightbox-nav{width:2.3rem;height:2.3rem;font-size:1.15rem}}@media(min-width:880px){.feature-shot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-shot-card:first-child{grid-column:1 / -1}}.article-description{font-size:1.1rem;color:var(--color-text-muted);margin-bottom:2rem}.menu-toggle{display:none;background:none;border:1px solid var(--color-border);border-radius:6px;padding:.5rem;cursor:pointer;color:var(--color-text)}@media(max-width:1024px){.sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:50}.sidebar.open{transform:translate(0)}.main{margin-left:0}.menu-toggle{display:flex;align-items:center;justify-content:center}.content{padding:1.5rem}}@media(max-width:640px){.article h1{font-size:1.75rem}.article h2{font-size:1.25rem}.header-logo{font-size:1.1rem}}.theme-toggle[data-astro-cid-x3pjskd3] .sun-icon[data-astro-cid-x3pjskd3]{display:none}[data-theme=dark] .theme-toggle[data-astro-cid-x3pjskd3] .sun-icon[data-astro-cid-x3pjskd3]{display:block}[data-theme=dark] .theme-toggle[data-astro-cid-x3pjskd3] .moon-icon[data-astro-cid-x3pjskd3]{display:none}
