@import "https://fonts.googleapis.com/css2?family=Sofia+Sans:wght@300;400;450;500;600;700;800;900&display=swap";
:root{--vxf-primary:#1f5f3f;--vxf-primary-dark:#174d31;--vxf-primary-light:#14a8a8;--vxf-accent:#ff6b6b;--vxf-accent-dark:#e85a5a;--vxf-canvas:#f8fafa;--vxf-ink:#1a2e2e;--vxf-muted:#5a8080;--vxf-whisper:#8aabab;--vxf-hair:#0d6e6e14;--vxf-hair-2:#0d6e6e1f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--vxf-canvas);color:var(--vxf-ink);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Sofia Sans,Arial,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--vxf-canvas)}::-webkit-scrollbar-thumb{background:#0d6e6e40;border-radius:99px}input,textarea,button{font-family:Sofia Sans,Arial,sans-serif}@keyframes vxfFadeIn{0%{opacity:0}to{opacity:1}}@keyframes vxfModalIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes vxfMenuIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes vxfDrawerIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes vxfCaret{0%,to{opacity:1}50%{opacity:0}}@keyframes vxfShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.vxf-skel{background:linear-gradient(90deg,#0d6e6e0f 25%,#0d6e6e1f 37%,#0d6e6e0f 63%) 0 0/200% 100%;border-radius:8px;animation:1.4s ease-in-out infinite vxfShimmer}@media (prefers-reduced-motion:reduce){.vxf-skel{animation:none}}@keyframes vxfSpin{to{transform:rotate(360deg)}}.vxf-spinner{border-style:solid;border-color:currentColor #0000 currentColor currentColor;border-radius:50%;flex-shrink:0;animation:.6s linear infinite vxfSpin;display:inline-block}@keyframes vxfToastIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.vxf-toast{animation:.24s cubic-bezier(.22,1,.36,1) both vxfToastIn}@media (prefers-reduced-motion:reduce){.vxf-spinner{animation-duration:1.2s}.vxf-toast{animation:.16s both vxfFadeIn}}@keyframes vxfPageEnter{0%{opacity:0}to{opacity:1}}.vxf-page-enter{animation:.24s ease-out backwards vxfPageEnter}button,a,[role=button],input[type=button],input[type=submit],input[type=reset],[style*="cursor: pointer"],[style*=cursor\:pointer]{-webkit-tap-highlight-color:transparent;transition:transform .15s cubic-bezier(.22,1,.36,1),filter .15s,box-shadow .15s,background-color .16s,border-color .16s,color .16s,opacity .16s}@media (hover:hover){button:hover,[role=button]:hover,input[type=button]:hover,input[type=submit]:hover,input[type=reset]:hover,[style*="cursor: pointer"]:hover,[style*=cursor\:pointer]:hover{transform:translateY(-1px);box-shadow:0 6px 18px -6px #0d6e6e59}button:disabled:hover,button[aria-disabled=true]:hover,[role=button][aria-disabled=true]:hover,[aria-busy=true]:hover{box-shadow:none;transform:none}}button:active,a:active,[role=button]:active,input[type=button]:active,input[type=submit]:active,input[type=reset]:active,[style*="cursor: pointer"]:active,[style*=cursor\:pointer]:active{filter:brightness(.94);transform:scale(.96)}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[style*="cursor: pointer"]:focus-visible,[style*=cursor\:pointer]:focus-visible{outline:2px solid var(--vxf-primary-light);outline-offset:2px;border-radius:6px}button:disabled,button[aria-disabled=true],[role=button][aria-disabled=true]{filter:none!important;transform:none!important}.vxf-reveal{opacity:0;transition:opacity .65s cubic-bezier(.22, 1, .36, 1) var(--vxf-reveal-delay,0s), transform .65s cubic-bezier(.22, 1, .36, 1) var(--vxf-reveal-delay,0s);transform:translateY(22px)}.vxf-reveal.vxf-reveal-in{opacity:1;transform:none}@keyframes vxfFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.vxf-float{animation:7s ease-in-out infinite vxfFloat}@media (prefers-reduced-motion:reduce){.vxf-page-enter{animation:none}.vxf-reveal{opacity:1;transition:none;transform:none}.vxf-float{animation:none!important}button,a,[role=button],[style*="cursor: pointer"],[style*=cursor\:pointer]{transition:background-color .12s,color .12s}button:active,a:active,[role=button]:active,[style*="cursor: pointer"]:active,[style*=cursor\:pointer]:active,button:hover,[role=button]:hover,[style*="cursor: pointer"]:hover,[style*=cursor\:pointer]:hover{box-shadow:none;transform:none}}
