:root{--color-sage:#6f9e5a;--radius-xs:8px;--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--shadow-1:0 1px 2px #1d23210a, 0 4px 12px -6px #1d23211a;--shadow-2:0 2px 6px #1d23210d, 0 18px 40px -20px #1d23212e;--shadow-3:0 6px 16px #1d232112, 0 36px 64px -28px #1d23213d;--ease-out-soft:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}html,body,#root{box-sizing:border-box;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;width:100%;height:100%;min-height:100dvh;margin:0;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}*,:before,:after{box-sizing:border-box}::selection{background:color-mix(in oklab, var(--accent) 26%, transparent);color:var(--fg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--outline-strong) 80%, transparent);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--outline-strong)}.blob{filter:blur(72px);opacity:.55;pointer-events:none;z-index:0;border-radius:9999px;position:absolute}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(160%);border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-bg);-webkit-backdrop-filter:blur(28px)saturate(170%);border:1px solid var(--glass-border)}.glass-nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(48px)saturate(180%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.glass-strong,.glass-nav{background:var(--surface)}}.skeleton{background-color:var(--surface-2);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--surface) 80%, transparent), transparent);animation:1.6s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-sweep{to{transform:translate(100%)}}.fade-in{animation:fadeIn .2s var(--ease-out-soft) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.blob{opacity:.35}}
