*{box-sizing:border-box;margin:0;padding:0}#root,body,html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(26,86,219,.1);-webkit-touch-callout:none;tap-highlight-color:#1a56db1a;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f4f8;color:#1a202c;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;line-height:1.6;overscroll-behavior-y:contain}:root{--primary:#1a56db;--primary-dark:#1e40af;--primary-light:#dbeafe;--secondary:#059669;--secondary-light:#d1fae5;--accent:#7c3aed;--accent-light:#ede9fe;--warning:#d97706;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--radius:12px;--radius-sm:8px;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px)}a{color:inherit;text-decoration:none}button{border:none;cursor:pointer;outline:none}button,input,select,textarea{appearance:none;touch-action:manipulation}input,select,textarea{border-radius:8px;font-family:inherit;font-size:max(15px,1rem)}.scroll-container,.smooth-scroll{-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f3f4f6;background:var(--gray-100)}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300);border-radius:3px}*{scrollbar-color:#d1d5db #f3f4f6;scrollbar-color:var(--gray-300) var(--gray-100);scrollbar-width:thin}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-slide-up{animation:slideUp .25s ease}.animate-slide-down{animation:slideDown .25s ease}@media (max-width:768px){.desktop-only{display:none!important}.mobile-show{display:block!important}}@media (min-width:769px){.mobile-only{display:none!important}.desktop-show{display:block!important}}@media (max-width:768px){.pad-mobile{padding:12px!important}.pad-x-mobile{padding-left:12px!important;padding-right:12px!important}.pad-y-mobile{padding-bottom:12px!important;padding-top:12px!important}.text-mobile-sm{font-size:13px!important}.text-mobile-base{font-size:14px!important}.text-mobile-lg{font-size:16px!important}.gap-mobile-sm{gap:8px!important}.gap-mobile-md{gap:12px!important}[style*="grid-template-columns: 1fr 1fr 1fr"],[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns: repeat(3,1fr)"],[style*="grid-template-columns: repeat(4,1fr)"]{grid-template-columns:1fr!important}[style*="grid-template-columns: repeat(auto-fill,minmax(180px,1fr))"],[style*="grid-template-columns: repeat(auto-fill,minmax(200px,1fr))"],[style*="grid-template-columns: repeat(auto-fill,minmax(280px,1fr))"]{grid-template-columns:1fr 1fr!important}}.safe-area-top{padding-top:env(safe-area-inset-top,0);padding-top:var(--sat)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:var(--sab)}.safe-area-x{padding-left:env(safe-area-inset-left,0);padding-left:var(--sal);padding-right:env(safe-area-inset-right,0);padding-right:var(--sar)}.h-screen-mobile{height:100vh;height:calc(var(--vh, 1vh)*100)}.min-h-screen-mobile{min-height:100vh;min-height:calc(var(--vh, 1vh)*100)}.keyboard-open-bottom{transition:padding-bottom .2s ease}@media (hover:none) and (pointer:coarse){.hover-touch-disable:active{transform:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-contrast:more){body{background:#fff;color:#000}a{color:#00e}button{border:2px solid}}