@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;1,9..40,400&family=DM+Mono:wght@400;500&display=swap";:root{--color-navy: #161e42;--color-navy-dark: #0f1530;--color-navy-light: #1e2a5a;--color-navy-border: #2a3460;--color-navy-muted: #3a4470;--color-navy-dim: #8b94b8;--color-amber: #f0a500;--color-amber-light: #fbbf24;--color-amber-dim: #92650a;--color-amber-bg: #fffbeb;--color-white: #ffffff;--color-off-white: #fafaf8;--color-body-text: #1a1a2e;--color-muted: #6b7280;--color-border: #e5e7eb;--color-surface: #f9fafb;--font-display: "Outfit", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--max-width: 1100px;--max-width-prose: 680px;--header-height: 60px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition: .15s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-body-text);background:var(--color-white);line-height:1.7}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--color-body-text)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{line-height:1.75;color:var(--color-muted)}.label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-amber)}.label--dim{color:var(--color-navy-muted)}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-surface);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-body-text)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-8)}.container--prose{max-width:var(--max-width-prose)}.section{padding-block:var(--space-20)}.section--sm{padding-block:var(--space-12)}.surface-dark{background:var(--color-navy);color:var(--color-white)}.surface-dark h1,.surface-dark h2,.surface-dark h3,.surface-dark h4{color:#f0f6fc}.surface-dark p{color:var(--color-navy-dim)}.surface-dark .label{color:var(--color-amber)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;padding:.6rem 1.25rem;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;transition:all var(--transition);white-space:nowrap;text-decoration:none}.btn-primary{background:var(--color-amber);color:var(--color-navy);border-color:var(--color-amber)}.btn-primary:hover{background:var(--color-amber-light);border-color:var(--color-amber-light)}.btn-ghost{background:transparent;color:var(--color-navy-dim);border-color:var(--color-navy-border)}.btn-ghost:hover{color:#f0f6fc;border-color:var(--color-navy-muted)}.btn-outline{background:transparent;color:var(--color-body-text);border-color:var(--color-border)}.btn-outline:hover{border-color:var(--color-amber);color:var(--color-amber-dim)}.card{background:var(--color-white);border:.5px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition)}.card:hover{border-color:var(--color-amber)}.card__icon{width:36px;height:36px;background:var(--color-amber-bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.card__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-body-text);margin-bottom:var(--space-2)}.card__body{font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}.logo-strip{display:flex;align-items:center;gap:var(--space-6);width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.logo-strip::-webkit-scrollbar{display:none}.logo-strip img{height:28px;width:auto;flex-shrink:0;display:block;opacity:.85;transition:opacity var(--transition)}.logo-strip img:hover{opacity:1}@media(min-width:768px){.logo-strip{justify-content:space-between;overflow-x:visible}.logo-strip img{flex-shrink:1}}.post-tag{display:inline-block;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;color:var(--color-amber-dim);background:var(--color-amber-bg);padding:2px 10px;border-radius:var(--radius-sm)}.post-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.04em}.prose{font-size:var(--text-base);line-height:1.8;color:#374151;overflow-x:hidden;min-width:0}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-10);margin-bottom:var(--space-4);color:var(--color-body-text)}.prose h3{font-size:var(--text-xl);margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--color-body-text)}.prose p{margin-bottom:var(--space-5);color:#374151}.prose a{color:var(--color-amber-dim);text-decoration:underline;text-underline-offset:3px}.prose a:hover{color:var(--color-amber)}.prose ul,.prose ol{margin-bottom:var(--space-5);padding-left:var(--space-6)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:var(--space-2);color:#374151}.prose pre{border-radius:var(--radius-md);padding:var(--space-6);overflow-x:auto;max-width:100%;margin-bottom:var(--space-6);white-space:pre;font-size:var(--text-sm);line-height:1.7}.prose pre code{background:none;padding:0;font-size:inherit;white-space:pre;word-break:normal;overflow-wrap:normal;border-radius:0}.prose code:not(pre code){font-family:var(--font-mono);font-size:.875em;background:var(--color-surface);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-body-text);word-break:break-word}.prose blockquote{border-left:3px solid var(--color-amber);padding-left:var(--space-5);margin:var(--space-6) 0;font-style:italic;color:var(--color-muted)}.toc{position:sticky;top:calc(var(--header-height) + var(--space-6));border-left:2px solid var(--color-border);padding-left:var(--space-4)}.toc__label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-3)}.toc__link{display:block;font-size:var(--text-sm);color:var(--color-muted);padding:3px 0;line-height:1.4;transition:color var(--transition);text-decoration:none}.toc__link:hover,.toc__link.active{color:var(--color-amber)}.toc__link.active{font-weight:500}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:var(--space-16);align-items:start;min-width:0}@media(max-width:768px){.article-layout{grid-template-columns:1fr}.toc{display:none}}.site-header{background:var(--color-navy);box-shadow:0 1px 0 0 var(--color-navy-border);height:var(--header-height);position:sticky;top:0;z-index:100}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:100%}.site-header__logo{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:#f0f6fc;letter-spacing:-.02em}.site-header__logo span{color:var(--color-amber)}.site-header__nav{display:flex;align-items:center;gap:var(--space-6)}.site-header__nav a{font-size:var(--text-sm);font-weight:500;color:var(--color-navy-dim);transition:color var(--transition);text-decoration:none}.site-header__nav a:hover,.site-header__nav a[aria-current=page]{color:#f0f6fc}.site-footer{background:var(--color-navy);border-top:1px solid var(--color-navy-border);padding-block:var(--space-10)}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.site-footer__logo{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-navy-muted)}.site-footer__logo span{color:var(--color-amber)}.site-footer__copy{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-navy-muted)}.text-amber{color:var(--color-amber)}.text-muted{color:var(--color-muted)}.text-light{color:#f0f6fc}.mt-auto{margin-top:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}.container{padding-inline:var(--space-5)}.section{padding-block:var(--space-12)}.site-header__nav{gap:var(--space-4)}}.hamburger[data-astro-cid-37fxchfa],.mobile-nav[data-astro-cid-37fxchfa]{display:none}@media(max-width:768px){.desktop-nav[data-astro-cid-37fxchfa]{display:none}.hamburger[data-astro-cid-37fxchfa]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.hamburger[data-astro-cid-37fxchfa] span[data-astro-cid-37fxchfa]{display:block;width:22px;height:2px;background:#f0f6fc;border-radius:2px;transition:all .15s ease;transform-origin:center}.hamburger[data-astro-cid-37fxchfa][aria-expanded=true] span[data-astro-cid-37fxchfa]:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[data-astro-cid-37fxchfa][aria-expanded=true] span[data-astro-cid-37fxchfa]:nth-child(2){opacity:0}.hamburger[data-astro-cid-37fxchfa][aria-expanded=true] span[data-astro-cid-37fxchfa]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav[data-astro-cid-37fxchfa]{flex-direction:column;background:var(--color-navy-dark);border-top:1px solid var(--color-navy-border);padding:var(--space-4) var(--space-5);gap:0}.mobile-nav[data-astro-cid-37fxchfa].is-open{display:flex}.mobile-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:var(--text-sm);font-weight:500;color:var(--color-navy-dim);padding:var(--space-3) 0;border-bottom:1px solid var(--color-navy-border);transition:color .15s ease;text-decoration:none}.mobile-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:last-child{border-bottom:none}.mobile-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover,.mobile-nav[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa][aria-current=page]{color:#f0f6fc}}
