@import"https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@400;500;600;700&family=Red+Hat+Mono:wght@400;500;600;700&family=Caveat:wght@400;500;600;700&display=swap";.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.revealed{opacity:1;transform:none}:root{--font-body: "Red Hat Mono";--font-heading: "Red Hat Display";--font-fancy: "Caveat";--bg-primary: #faf9f7;--text-primary: #2b2b2b;--text-secondary: #454544;--accent-primary: #9274fc;--accent-secondary: #a200ff;--border-subtle: rgba(0, 0, 0, .08)}[data-theme=dark]{--bg-primary: #121212;--text-primary: #e6e3df;--text-secondary: #a9a59f;--accent-primary: #a790fc;--border-subtle: #3a342c}html{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);scroll-behavior:smooth;scroll-padding-top:100px;-webkit-overflow-scrolling:touch}body{margin:0;line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch}h1,h2,h3{font-family:var(--font-heading);font-weight:600;letter-spacing:-.02em}p{font-family:var(--font-body)}a{color:inherit;text-decoration-color:var(--accent-primary);text-underline-offset:4px;transition:color .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:0;height:0}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0}html,body{scrollbar-width:none;-ms-overflow-style:none}main{animation:fadeIn .7s cubic-bezier(.4,0,.2,1) forwards}button,a,input,textarea,select{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}button:hover,a:hover{opacity:.8}button:focus,a:focus,input:focus,textarea:focus,select:focus{outline:none}@media(prefers-reduced-motion:prefer-reduced){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes subtleGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.02)}}@keyframes scaleInSoft{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes hoverLift{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.animate-fadeInUp{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) forwards}.animate-fadeInDown{animation:fadeInDown .7s cubic-bezier(.4,0,.2,1) forwards}.animate-fadeIn{animation:fadeIn .7s cubic-bezier(.4,0,.2,1) forwards}.animate-scaleInSoft{animation:scaleInSoft .7s cubic-bezier(.4,0,.2,1) forwards}.animate-slideInLeft{animation:slideInLeft .7s cubic-bezier(.4,0,.2,1) forwards}.animate-slideInRight{animation:slideInRight .7s cubic-bezier(.4,0,.2,1) forwards}.animate-subtleGlow{animation:subtleGlow 2s ease-in-out infinite}.animate-stagger>*{animation:fadeInUp .7s cubic-bezier(.4,0,.2,1) forwards}.animate-stagger>*:nth-child(1){animation-delay:0ms}.animate-stagger>*:nth-child(2){animation-delay:.1s}.animate-stagger>*:nth-child(3){animation-delay:.2s}.animate-stagger>*:nth-child(4){animation-delay:.3s}.animate-stagger>*:nth-child(5){animation-delay:.4s}.animate-stagger>*:nth-child(n+6){animation-delay:.5s}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-smooth-lg{transition:all .7s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}[data-theme=dark] .hover-lift:hover{box-shadow:0 8px 24px #0000004d}@media(prefers-reduced-motion:prefer-reduced){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
