:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--radius-btn:.5rem}*{box-sizing:border-box}body{margin:0}#root{width:100%;height:100vh}button,a,[role=button]{transition:background .16s,color .16s,border-color .16s,box-shadow .16s,transform .12s,opacity .16s}.card-hover{transition:box-shadow .2s,transform .18s,border-color .2s}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--brand-bg2)!important}.row-hover{transition:background .14s}.row-hover:hover{background:var(--surface2)!important}.btn-press{transition:transform .1s,box-shadow .16s,filter .16s}.btn-press:hover{filter:brightness(1.05)}.btn-press:active{transform:scale(.97)}.nav-hover{transition:background .14s,color .14s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.28s both fadeInUp}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}
