@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_d361c29d-module__5PBLiG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_d361c29d-module__5PBLiG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_efc253b3-module__w1i8Da__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_efc253b3-module__w1i8Da__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_6104e6b7-module__s6uLTa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_6104e6b7-module__s6uLTa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--moss:#2d4a2b;--moss-2:#3a5e38;--moss-3:#1e3220;--ochre:#d4a94a;--ochre-2:#e8bf6a;--bark:#3a2e1f;--cream:#f7f4ed;--subtle:#f0ebe0;--div:#ede8dc;--white:#fff;--panel:#fff;--surface:#f7f4ed;--text:#2a2a2a;--text-2:#4a4a4a;--meta:#6b6b6b;--disabled:#ababab;--success:#4a7c3b;--error:#b85c3c;--warning:#d4a94a;--good:#4a7c3b;--danger:#b85c3c;--font-brand:var(--font-fraunces), Georgia, serif;--font-ui:var(--font-dm-sans), system-ui, sans-serif;--font-code:var(--font-mono), "Courier New", monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--shadow-ochre:0 2px 8px #d4a94a40;--moss2:#3a5e38;--ochre-dark:#c9933a;--text-faint:#9c9589;--sidebar-meta:#6b6560;--border:#ddd7cc;--code-bg:#1e2a1c;--code-bg-dark:#1e3a1c;--code-fg:#8aaa85;--code-root:#141a12;--code-root-2:#0f1410;--goblin-moss:#2d4a2b;--goblin-ochre:#d4a94a;--goblin-cream:#f7f4ed;--goblin-cream2:#f0ebe0;--goblin-bark:#3a2e1f;--goblin-slate:#2a2a2a;--goblin-gray:#6b6b6b;--goblin-light:#f0ebe0;--goblin-border:#ede8dc;--goblin-meta:#6b6b6b;--goblin-text:#2a2a2a;--goblin-good:#4a7c3b;--goblin-warn:#b85c3c;--goblin-moss2:#3a5e38;--goblin-ochre2:#e8bf6a}[data-theme=dark]{--moss:#3a5e38;--moss-2:#4a7848;--moss-3:#2a4a28;--ochre:#e8bf6a;--ochre-2:#f0cf8a;--bark:#e8d5b0;--cream:#1a1e18;--subtle:#1e2420;--div:#2d3d2b;--white:#1e2420;--panel:#1e2420;--surface:#1a1e18;--text:#e8f0e6;--text-2:#c8d8c6;--meta:#8aaa85;--disabled:#4a5a49;--success:#5aac4b;--error:#e87060;--warning:#e8bf6a;--good:#5aac4b;--danger:#e87060;--border:#3d5a3b;--text-faint:#6a8a67;--sidebar-meta:#8aaa85;--shadow-sm:0 1px 3px #0003, 0 1px 2px #00000026;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--moss2:#4a7848;--ochre-dark:#f0cf8a;--code-bg:#111a0f;--code-bg-dark:#0d140b;--code-fg:#a8d5a2;--code-root:#0a0f09;--code-root-2:#080c07;--goblin-moss:#3a5e38;--goblin-ochre:#e8bf6a;--goblin-cream:#1a1e18;--goblin-cream2:#1e2420;--goblin-bark:#e8d5b0;--goblin-slate:#e8f0e6;--goblin-gray:#8aaa85;--goblin-light:#2d3d2b;--goblin-border:#3d5a3b;--goblin-meta:#8aaa85;--goblin-text:#e8f0e6;--goblin-good:#5aac4b;--goblin-warn:#e87060;--goblin-moss2:#4a7848;--goblin-ochre2:#f0cf8a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--cream);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,sans-serif;line-height:1.5;overflow-x:hidden}.font-fraunces{font-family:Fraunces,serif}.font-mono{font-family:JetBrains Mono,monospace}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--meta)}:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pw{0%{width:55%}to{width:78%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modalOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes cardStagger{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes successPop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes progressFill{0%{width:0%}to{width:var(--target-width,100%)}}.animate-slide-in-left{animation:.22s ease-out slideInLeft}.fade-in{animation:.2s fadeIn}.animate-modal-in{animation:.15s ease-out modalIn}.animate-overlay-in{animation:.15s ease-out overlayIn}.animate-message-slide{animation:.2s ease-out messageSlide}.card-stagger>*{opacity:0;animation:.25s ease-out forwards cardStagger}.card-stagger>:first-child{animation-delay:0s}.card-stagger>:nth-child(2){animation-delay:50ms}.card-stagger>:nth-child(3){animation-delay:.1s}.card-stagger>:nth-child(4){animation-delay:.15s}.card-stagger>:nth-child(5){animation-delay:.2s}.card-stagger>:nth-child(6){animation-delay:.25s}.btn-press:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skeleton{background:linear-gradient(90deg, var(--subtle) 25%, var(--div) 50%, var(--subtle) 75%);background-size:200% 100%;animation:1.5s infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-top{padding-top:env(safe-area-inset-top,0px)}@media (max-width:768px){button,[role=button],a{min-width:44px;min-height:44px}button.touch-compact,[role=button].touch-compact{min-height:unset;min-width:unset}}.mobile-only{display:none}.desktop-only{display:initial}@media (max-width:768px){.mobile-only{display:initial}.desktop-only{display:none!important}}.scroll-x-mobile{flex-direction:column;gap:10px;display:flex}@media (max-width:768px){.scroll-x-mobile{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:12px;padding-bottom:4px;overflow-x:auto}.scroll-x-mobile::-webkit-scrollbar{display:none}.scroll-x-mobile>*{flex-shrink:0;width:260px}}
