:root{color-scheme:light dark;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:6px;--radius-xl:8px;--radius-pill:6px;--bg:#0a110d;--surface:#12201a;--surface-2:#172a22;--surface-hover:#1e352b;--line:#233d30;--fg:#f2f7f4;--muted:#9fb0a6;--accent:#5fd67f;--accent-soft:#143322;--accent-fg:#07120c;--ok:#5ad19a;--ok-soft:#12301f;--bad:#ff8a80;--bad-soft:#3a1917;--warn:#f2c35f;--warn-soft:#3a2d10;--bg-app:var(--bg);--bg-header:rgba(14,24,19,0.86);--bg-surface:var(--surface);--bg-surface-elevated:var(--surface-2);--bg-surface-hover:var(--surface-hover);--bg-drawer:#070c09;--border-subtle:rgba(95,214,127,0.1);--border-default:var(--line);--border-glow:rgba(95,214,127,0.45);--border-active:var(--accent);--text-heading:var(--fg);--text-main:#d5e6dc;--text-secondary:var(--muted);--text-muted:#6c8577;--accent-emerald:var(--accent);--accent-emerald-hover:#3ddc84;--accent-emerald-dark:#268a44;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.35);--shadow-md:0 6px 18px -2px rgba(0,0,0,0.48);--shadow-lg:0 12px 28px -6px rgba(0,0,0,0.55);--shadow-glow:0 0 26px -4px rgba(95,214,127,0.2);--font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--max-w:1080px}html[data-theme=light]{color-scheme:light;--bg:#f4f8f5;--surface:#ffffff;--surface-2:#eaf2ed;--surface-hover:#e1ede5;--line:#d5e3da;--fg:#111c16;--muted:#52695c;--accent:#268a44;--accent-soft:#e1f4e7;--accent-fg:#ffffff;--ok:#138a52;--ok-soft:#e1f5ea;--bg-app:var(--bg);--bg-header:rgba(255,255,255,0.9);--bg-surface:var(--surface);--bg-surface-elevated:var(--surface-2);--bg-surface-hover:var(--surface-hover);--bg-drawer:#0a120e;--border-subtle:rgba(18,32,26,0.08);--border-default:var(--line);--border-glow:rgba(38,138,68,0.45);--border-active:var(--accent);--text-heading:var(--fg);--text-main:#22352b;--text-secondary:var(--muted);--text-muted:#6c8577;--accent-emerald:var(--accent);--accent-emerald-hover:#1e7036;--accent-emerald-dark:#155729;--shadow-sm:0 1px 2px 0 rgba(18,32,26,0.05);--shadow-md:0 4px 14px -2px rgba(18,32,26,0.08);--shadow-lg:0 12px 28px -6px rgba(18,32,26,0.14);--shadow-glow:0 0 22px -4px rgba(38,138,68,0.14)}html[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body,html{background-color:var(--bg);color:var(--fg);font-family:var(--font-sans);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-md)}body:before{content:"";position:fixed;top:-180px;right:-120px;width:520px;height:520px;background:radial-gradient(circle,rgba(95,214,127,.1) 0,rgba(95,214,127,0) 70%);pointer-events:none;z-index:0}.font-mono,code,kbd,pre,samp{font-family:var(--font-mono)!important}::selection{background:var(--accent-soft);color:var(--fg)}.rounded{border-radius:var(--radius-md)}.container{max-width:var(--max-w)}.container,.container-narrow{width:100%;margin:0 auto;padding:0 1.25rem;position:relative;z-index:1}.container-narrow{max-width:780px}.top-navbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--bg-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px;gap:1rem}.brand-link{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--fg);font-weight:800;font-size:1.18rem;letter-spacing:-.02em}.badge-pill,.brand-lux{color:var(--accent)}.badge-pill{font-family:var(--font-mono);font-size:.72rem;font-weight:600;padding:.18rem .52rem;border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid var(--line)}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-item{color:var(--muted);text-decoration:none;font-size:.86rem;font-weight:600;padding:.42rem .8rem;border-radius:var(--radius-md);transition:all .15s ease}.nav-item.active,.nav-item:hover{color:var(--fg);background-color:var(--surface-2)}.nav-actions{display:flex;align-items:center;gap:.5rem}.theme-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background-color:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:var(--radius-md);padding:.48rem .9rem;font-size:.84rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .15s ease}.theme-btn:hover{background-color:var(--surface-2);border-color:var(--accent)}.btn-emerald{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:var(--accent-fg);border:1px solid var(--accent);border-radius:var(--radius-md);padding:.48rem 1rem;font-size:.84rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .15s ease}.btn-emerald:hover{filter:brightness(1.08)}.surface-card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.2rem;transition:border-color .15s ease,background-color .15s ease;display:flex;flex-direction:column;justify-content:space-between}.surface-card:hover{border-color:var(--accent)}.gradient-text-emerald{background:linear-gradient(90deg,#5fd67f,#a7f3d0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}html[data-theme=light] .gradient-text-emerald{background:linear-gradient(90deg,#155729,#268a44);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.code-block-wrapper,.dark-surface{color-scheme:dark;background-color:var(--bg-drawer);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;color:#d1fae5}.code-header{display:flex;align-items:center;justify-content:space-between;padding:.45rem .9rem;background:#101c16;border-bottom:1px solid var(--line);font-size:.75rem;color:#9fb0a6;font-family:var(--font-mono)}.code-block-wrapper pre{margin:0;padding:.9rem 1.05rem;overflow-x:auto;font-family:var(--font-mono);font-size:.82rem;line-height:1.55;color:#e2f8ec}.mg-md,.prose-custom{font-size:.94rem;line-height:1.7;overflow-wrap:anywhere;color:var(--text-main)}.mg-md>:first-child,.prose-custom>:first-child{margin-top:0}.mg-md>:last-child,.prose-custom>:last-child{margin-bottom:0}.mg-md p,.prose-custom p{margin:.75em 0}.mg-md h1,.mg-md h2,.mg-md h3,.mg-md h4,.prose-custom h1,.prose-custom h2,.prose-custom h3,.prose-custom h4{color:var(--fg);font-weight:700;line-height:1.3;margin:1.3em 0 .5em}.mg-md h2,.prose-custom h2{font-size:1.22rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}.mg-md h3,.prose-custom h3{font-size:1.05rem}.mg-md ol,.mg-md ul,.prose-custom ol,.prose-custom ul{margin:.65em 0;padding-left:1.4em}.mg-md li,.prose-custom li{margin:.28em 0}.mg-md a,.prose-custom a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.mg-md blockquote,.prose-custom blockquote{margin:.85em 0;padding:.5em 1em;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--muted)}.mg-md code:not(pre code),.prose-custom code:not(pre code){font-family:var(--font-mono);font-size:.84em;background:var(--surface-2);border:1px solid var(--line);color:var(--accent);padding:.15em .4em;border-radius:var(--radius-md)}.grid-3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:1rem}.grid-2,.grid-3{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:1rem}.mobile-bottom-nav{display:none}@media (max-width:767px){.nav-links{display:none}.hide-mobile{display:none!important}body{padding-bottom:70px}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--bg-header);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);z-index:60;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.mob-tab,.mobile-bottom-nav{display:flex;align-items:center}.mob-tab{flex-direction:column;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:.68rem;font-weight:600;min-width:64px;min-height:46px;border-radius:var(--radius-md)}.mob-tab.active,.mob-tab:hover{color:var(--accent)}}