:root{--color-bg:#fbfaf8;--color-bg-app:#f6f5f1;--color-surface:#fff;--color-surface-muted:#f8f7f4;--color-surface-sunken:#efede8;--color-surface-inverse:#111714;--color-ink:#111714;--color-ink-2:#3f4a45;--color-ink-3:#5f6b66;--color-ink-4:#7a847f;--color-line:#e6e3dd;--color-line-soft:#f0ede8;--color-line-strong:#dcd8d0;--color-line-hover:#b9b4aa;--color-brand:#0f5b45;--color-brand-strong:#0b4636;--color-brand-soft:#e8f1ec;--color-brand-mid:#7fb89c;--color-brand-tint:color-mix(in srgb, var(--color-brand) 8%, #f3f1ec);--color-on-brand:#fff;--color-on-inverse-2:#ffffffb8;--color-star:#e0a21b;--color-success:#15803d;--color-live:#16a34a;--color-warning:#92400e;--color-warning-soft:#fef3c7;--color-info:#1e40af;--color-info-soft:#dbeafe;--color-danger:#b91c1c;--color-danger-soft:#fee2e2;--color-top-pro:#7a4a00;--color-top-pro-soft:#fdf3dc;--tone-blue-bg:#dde7f0;--tone-blue-fg:#1e3a5f;--tone-clay-bg:#f2e2d6;--tone-clay-fg:#7a3e14;--tone-green-bg:#e3ece4;--tone-green-fg:#1f4d2c;--tone-violet-bg:#ede4f3;--tone-violet-fg:#4b2a66;--tone-amber-bg:#fdebd2;--tone-amber-fg:#7a4a00;--font-sans:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:2.75rem;--text-5xl:3.25rem;--text-6xl:4rem;--tracking-tight:-.03em;--tracking-display:-.035em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-28:112px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:24px;--radius-3xl:28px;--radius-full:999px;--shadow-card:0 18px 40px -20px #11171447;--shadow-float:0 32px 64px -24px #11171447;--shadow-dialog:0 40px 80px -32px #00000080;--ring-focus:0 0 0 4px #0f5b451f;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.3, 1.5, .5, 1);--duration-fast:.15s;--duration-base:.2s;--duration-slow:.4s;--container:1200px;--container-wide:1360px;--header-offset:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-offset) + var(--space-4))}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}h1,h2,h3,h4,p,figure,blockquote,ol,ul{margin:0}ol,ul{padding:0;list-style:none}a{color:var(--color-brand);text-decoration:none}a:hover{color:var(--color-brand-strong)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px;border-radius:var(--radius-sm)}input::placeholder,textarea::placeholder{color:var(--color-ink-4)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.num{font-variant-numeric:tabular-nums}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translateY(-6px)scale(.985)}to{opacity:1;transform:none}}@keyframes scale-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes live-pulse{0%{box-shadow:0 0 #16a34a73}70%{box-shadow:0 0 0 8px #16a34a00}to{box-shadow:0 0 #16a34a00}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.anim-rise{animation:rise .8s var(--ease-out) both}.anim-rise-2{animation:rise .8s .12s var(--ease-out) both}.anim-rise-3{animation:rise .9s .24s var(--ease-out) both}.anim-fade{animation:.4s both fade}.anim-pop{animation:pop .22s var(--ease-out) both;transform-origin:top}.anim-scale-in{animation:scale-in .45s var(--ease-spring) both}.anim-float{animation:6s ease-in-out infinite float}.anim-float-slow{animation:7s ease-in-out 1.2s infinite float}@supports (animation-timeline:view()){.reveal{animation:linear both reveal;animation-timeline:view();animation-range:entry cover 20%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{animation:none!important}}
