:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r-card:14px;--r-card-lg:16px;--r-btn:10px;--r-input:10px;--r-chip:999px;--r-sm:6px;--btn-h:40px;--btn-h-lg:48px;--nav-h:64px;--container:1120px;--container-narrow:720px;--cover-sm:88px;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-xs:12px;--fs-sm:13.5px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:26px;--fs-3xl:34px;--fs-4xl:44px;--lh-tight:1.15;--lh-snug:1.3;--lh-body:1.55;--tracking-tight:-0.02em;--ease:cubic-bezier(0.16,1,0.3,1);--dur:180ms;--z-nav:40;--z-menu:50;--z-toast:60;--accent:#d24d2e;--accent-hover:#bf4327;--accent-soft:rgba(210,77,46,0.12);--accent-fg:#ffffff;--ok:#2f8f5b;--ok-soft:rgba(47,143,91,0.14);--warn:#b8860b;--warn-soft:rgba(184,134,11,0.16);--danger:#c93b3b;--danger-soft:rgba(201,59,59,0.13);--info:#3b6fc9;--info-soft:rgba(59,111,201,0.13)}:root,[data-theme=light]{color-scheme:light;--bg:#f6f5f2;--bg-elev:#ffffff;--bg-sunken:#efedea;--surface:rgba(20,18,16,0.035);--surface-hover:rgba(20,18,16,0.06);--surface-strong:rgba(20,18,16,0.09);--border:rgba(20,18,16,0.10);--border-strong:rgba(20,18,16,0.18);--fg:#171512;--fg-2:rgba(23,21,18,0.72);--fg-3:rgba(23,21,18,0.50);--fg-4:rgba(23,21,18,0.34);--fg-inverse:#ffffff;--btn-primary-bg:#171512;--btn-primary-fg:#ffffff;--btn-primary-hover:#2a2723;--shadow-card:0 1px 2px rgba(23,21,18,0.05),0 8px 24px -12px rgba(23,21,18,0.18);--shadow-menu:0 12px 32px -8px rgba(23,21,18,0.28),0 0 0 1px rgba(23,21,18,0.06);--skeleton-a:rgba(20,18,16,0.06);--skeleton-b:rgba(20,18,16,0.11);--overlay:rgba(23,21,18,0.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#141312;--bg-elev:#1c1b19;--bg-sunken:#0f0e0d;--surface:rgba(255,255,255,0.05);--surface-hover:rgba(255,255,255,0.08);--surface-strong:rgba(255,255,255,0.12);--border:rgba(255,255,255,0.10);--border-strong:rgba(255,255,255,0.20);--fg:#f2efe9;--fg-2:rgba(242,239,233,0.74);--fg-3:rgba(242,239,233,0.52);--fg-4:rgba(242,239,233,0.34);--fg-inverse:#171512;--btn-primary-bg:#f2efe9;--btn-primary-fg:#171512;--btn-primary-hover:#ffffff;--shadow-card:0 1px 2px rgba(0,0,0,0.3),0 8px 24px -12px rgba(0,0,0,0.6);--shadow-menu:0 12px 32px -8px rgba(0,0,0,0.7),0 0 0 1px rgba(255,255,255,0.08);--skeleton-a:rgba(255,255,255,0.06);--skeleton-b:rgba(255,255,255,0.11);--overlay:rgba(0,0,0,0.6);--accent:#e0664a;--accent-hover:#ea7a60;--accent-soft:rgba(224,102,74,0.16);--ok:#4fae78;--warn:#d5a12b;--danger:#e05656;--info:#6b95e0}}[data-theme=dark]{color-scheme:dark;--bg:#141312;--bg-elev:#1c1b19;--bg-sunken:#0f0e0d;--surface:rgba(255,255,255,0.05);--surface-hover:rgba(255,255,255,0.08);--surface-strong:rgba(255,255,255,0.12);--border:rgba(255,255,255,0.10);--border-strong:rgba(255,255,255,0.20);--fg:#f2efe9;--fg-2:rgba(242,239,233,0.74);--fg-3:rgba(242,239,233,0.52);--fg-4:rgba(242,239,233,0.34);--fg-inverse:#171512;--btn-primary-bg:#f2efe9;--btn-primary-fg:#171512;--btn-primary-hover:#ffffff;--shadow-card:0 1px 2px rgba(0,0,0,0.3),0 8px 24px -12px rgba(0,0,0,0.6);--shadow-menu:0 12px 32px -8px rgba(0,0,0,0.7),0 0 0 1px rgba(255,255,255,0.08);--skeleton-a:rgba(255,255,255,0.06);--skeleton-b:rgba(255,255,255,0.11);--overlay:rgba(0,0,0,0.6);--accent:#e0664a;--accent-hover:#ea7a60;--accent-soft:rgba(224,102,74,0.16);--ok:#4fae78;--warn:#d5a12b;--danger:#e05656;--info:#6b95e0}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);scroll-behavior:smooth}body,html{background:var(--bg);color:var(--fg)}body{margin:0;min-height:100dvh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:var(--tracking-tight);line-height:var(--lh-tight)}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}img{display:block;max-width:100%}ol,ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 max(var(--sp-4),env(safe-area-inset-left),env(safe-area-inset-right))}.container--narrow{max-width:var(--container-narrow)}@media (min-width:768px){.container{padding:0 var(--sp-5)}}.page{padding-top:var(--sp-5);padding-bottom:calc(var(--sp-8) + 56px)}@media (min-width:768px){.page{padding-top:var(--sp-6);padding-bottom:var(--sp-8)}}.muted{color:var(--fg-3)}.muted2{color:var(--fg-2)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.mono{font-family:var(--font-mono)}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.row{gap:var(--sp-2)}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:var(--sp-3)}.section{margin-top:var(--sp-6)}.section-title{font-size:var(--fs-xl);font-weight:650;letter-spacing:var(--tracking-tight);margin-bottom:var(--sp-4)}.grid-cards{display:grid;grid-template-columns:1fr;grid-gap:var(--sp-3);gap:var(--sp-3)}@media (min-width:640px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:var(--sp-4)}}@media (min-width:1024px){.grid-cards{grid-template-columns:repeat(3,1fr)}}.hscroll{display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px;-webkit-overflow-scrolling:touch}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{flex:0 0 auto}.hr{border:0;border-top:1px solid var(--border);margin:var(--sp-5) 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.prose{color:var(--fg-2);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.prose a{color:var(--accent);text-decoration:underline}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:block;border-radius:var(--r-sm);background:linear-gradient(90deg,var(--skeleton-a) 25%,var(--skeleton-b) 50%,var(--skeleton-a) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--skeleton-a)}html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:767px){.page{padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px))}}