body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{-webkit-tap-highlight-color:transparent}.tactile-btn-primary{border-bottom:3px solid #00000026;border-radius:12px;cursor:pointer;transition:transform .08s ease,border-bottom-width .08s ease,filter .08s ease}.tactile-btn-primary:active{border-bottom-width:0;filter:brightness(.95);transform:translateY(3px)}.tactile-card{cursor:pointer;transition:transform .12s cubic-bezier(.25,.46,.45,.94),box-shadow .12s ease}.tactile-card:active{box-shadow:0 1px 4px #8c6e3c14!important;transform:scale(.97)!important}.tactile-hero{cursor:pointer;transition:transform .14s cubic-bezier(.25,.46,.45,.94)}.tactile-hero:active{transform:scale(.95)!important}.tactile-pill{cursor:pointer;transition:transform .1s ease,background-color .1s ease,opacity .1s ease}.tactile-pill:active{opacity:.85!important;transform:scale(.95)!important}.tactile-link{cursor:pointer;transition:opacity .1s ease,transform .1s ease}.tactile-link:active{opacity:.7!important;transform:scale(.97)!important}.tactile-nav{cursor:pointer;transition:transform .1s ease}.tactile-nav:active{transform:scale(.92)!important}@keyframes fadeRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeRise .35s cubic-bezier(.25,.46,.45,.94) both}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn .4s cubic-bezier(.34,1.2,.64,1) both}.stagger-0{animation-delay:0ms}.stagger-1{animation-delay:60ms}.stagger-2{animation-delay:.12s}.stagger-3{animation-delay:.18s}.stagger-4{animation-delay:.24s}.stagger-5{animation-delay:.3s}.stagger-6{animation-delay:.36s}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-message-enter{animation:messageSlideIn .25s cubic-bezier(.25,.46,.45,.94) both}.typing-dot{animation:typingBounce 1.2s ease-in-out infinite;background:#8c6e3c59;border-radius:50%;display:inline-block;height:8px;width:8px}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.animate-in,.animate-scale-in,.chat-message-enter{animation:none;opacity:1;transform:none}.typing-dot{animation:none}}
/*# sourceMappingURL=main.3af7d47d.css.map*/