.min-h-screen{min-height:100vh}.h-screen{height:100vh}.w-full{width:100%}.w-5{width:1.25rem}.w-4{width:1rem}.w-8{width:2rem}.w-12{width:3rem}.w-32{width:8rem}.h-5{height:1.25rem}.h-4{height:1rem}.h-8{height:2rem}.h-12{height:3rem}.h-2{height:.5rem}.h-full{height:100%}.max-w-7xl{max-width:80rem}.max-w-4xl{max-width:56rem}.max-w-2xl{max-width:42rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-1{flex:1 1 0%}.inline-flex{display:inline-flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0}.left-0{left:0}.right-0{right:0}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pt-24{padding-top:6rem}.pb-8{padding-bottom:2rem}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.ml-2{margin-left:.5rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-6>*+*{margin-top:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-medium{font-weight:500}.font-bold{font-weight:700}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.text-center{text-align:center}.text-left{text-align:left}.text-white{color:#fff}.text-blue-600{color:#1d4ed8}.text-green-600{color:#15803d}.text-green-500{color:#16a34a}.text-red-600{color:#b91c1c}.text-red-500{color:#dc2626}.text-purple-600{color:#7c3aed}.text-yellow-500{color:#ca8a04}.bg-white{background-color:#fff}.bg-white\/50{background-color:#fff9}.bg-indigo-500{background-color:#4f46e5}.bg-green-500{background-color:#16a34a}.bg-red-500{background-color:#dc2626}.bg-blue-100{background-color:#dbeafe}.bg-green-100{background-color:#dcfce7}.bg-red-100{background-color:#fee2e2}.bg-purple-100{background-color:#ede9fe}.bg-gray-200{background-color:#e5e7eb}.bg-gray-700{background-color:#374151}.rounded{border-radius:.25rem}.rounded-sm{border-radius:.125rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px;border-style:solid}.border-green-200{border-color:#86efac}.border-red-200{border-color:#fca5a5}.border-green-700{border-color:#15803d}.border-red-700{border-color:#b91c1c}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.shadow-none{box-shadow:none}.stroke-gray-200{stroke:#e5e7eb}.stroke-gray-700{stroke:#374151}.stroke-green-500{stroke:#16a34a}.stroke-yellow-500{stroke:#ca8a04}.stroke-red-500{stroke:#dc2626}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.transform{transform:var(--tw-transform)}.-rotate-90{transform:rotate(-90deg)}.scale-\[1\.02\]{transform:scale(1.02)}.scale-\[1\.05\]{transform:scale(1.05)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.hidden{display:none}@media (min-width: 640px){.sm\:inline{display:inline}}@media (min-width: 768px){.md\:p-8{padding:2rem}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(59, 130, 246, 0))}.to-blue-600{--tw-gradient-to: #1d4ed8}.from-blue-600{--tw-gradient-from: #2563eb;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0))}.to-blue-700{--tw-gradient-to: #1e40af}.from-green-400{--tw-gradient-from: #4ade80;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(74, 222, 128, 0))}.to-emerald-500{--tw-gradient-to: #059669}.from-yellow-400{--tw-gradient-from: #facc15;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(250, 204, 21, 0))}.to-orange-400{--tw-gradient-to: #ea580c}.from-red-400{--tw-gradient-from: #f87171;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(248, 113, 113, 0))}.to-rose-500{--tw-gradient-to: #e11d48}.hover\:bg-white\/50:hover{background-color:#ffffffb3}.hover\:bg-gray-600:hover{background-color:#4b5563}.hover\:bg-gray-200:hover{background-color:#d1d5db}.hover\:opacity-100:hover{opacity:1}.hover\:scale-\[1\.02\]:hover{transform:scale(1.02)}.hover\:scale-\[1\.05\]:hover,.hover\:scale-105:hover{transform:scale(1.05)}.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #00000014}.hover\:from-blue-600:hover{--tw-gradient-from: #2563eb}.hover\:to-blue-700:hover{--tw-gradient-to: #1e40af}.bg-slate-50{background-color:#f8fafc}.bg-slate-800{background-color:#1e293b}.bg-amber-50{background-color:#fffbeb}.text-slate-700{color:#1e293b}.text-slate-300{color:#94a3b8}.text-slate-200{color:#cbd5e1}.text-amber-800{color:#78350f}.text-amber-700{color:#92400e}.text-gray-500{color:#4b5563}.text-gray-400{color:#6b7280}.text-gray-700{color:#1f2937}.text-gray-600{color:#374151}.text-gray-300{color:#9ca3af}.text-gray-200{color:#d1d5db}.bg-slate-100{background-color:#f1f5f9}.bg-slate-700\/50{background-color:#33415599}.bg-amber-100\/50{background-color:#fef3c799}.border-slate-200{border-color:#cbd5e1}.border-slate-600{border-color:#475569}.border-amber-200{border-color:#fde68a}.glass{background:#ffffffd9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 30px #0000001a}.dark .glass,.bg-slate-800 .glass{background:#1e293bd9;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 30px #0000004d}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.ripple:active:after{width:200px;height:200px}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.animate-bounceIn{animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .4s ease-out}.bg-green-900\/20{background-color:#14532d26}.bg-red-900\/20{background-color:#7f1d1d26}.bg-green-50{background-color:#f0fdf4}.bg-red-50{background-color:#fef2f2}button{cursor:pointer;transition:all .2s ease}button:active{transform:scale(.98)}button:disabled{cursor:not-allowed;opacity:.6}button.bg-gradient-to-r:hover{box-shadow:0 8px 20px #3b82f666}.shadow-lg{box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}.hover\:shadow-xl:hover{box-shadow:0 20px 40px -10px #00000026,0 10px 15px -5px #00000014}button:focus-visible,a:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.fixed.top-0{background:linear-gradient(180deg,#fffffff2,#ffffffd9)}.bg-slate-800 .fixed.top-0{background:linear-gradient(180deg,#1e293bfa,#1e293be6)}.max-w-2xl.mx-auto{animation:fadeIn .5s ease-out}.rounded-full.bg-white\/50{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.font-mono{font-variant-numeric:tabular-nums;letter-spacing:.05em}button[class*=rounded-xl][class*=font-medium]{min-width:44px;min-height:44px}.grid-cols-2>div{transition:all .3s ease}.grid-cols-2>div:hover{transform:translateY(-2px)}.h-2.bg-gray-200{background:linear-gradient(90deg,#e5e7eb,#f3f4f6)}.h-2.bg-gray-200>div{transition:width .5s ease-out}*{-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes checkmark{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes popSelect{0%{transform:scale(1)}30%{transform:scale(1.08)}50%{transform:scale(.95)}70%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes celebrate{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1.15) rotate(5deg)}75%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pointerPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}@keyframes toastSlideIn{0%{transform:translateY(-100%) translate(-50%);opacity:0}to{transform:translateY(20px) translate(-50%);opacity:1}}@keyframes toastSlideOut{0%{transform:translateY(20px) translate(-50%);opacity:1}to{transform:translateY(-100%) translate(-50%);opacity:0}}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse-once{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@theme{ --animate-slideDown: slideDown .4s cubic-bezier(.34, 1.56, .64, 1); --animate-fadeIn: fadeIn .6s cubic-bezier(.16, 1, .3, 1); --animate-pulse-once: pulse-once .6s cubic-bezier(.4, 0, .2, 1); --animate-shake: shake .5s cubic-bezier(.36, .07, .19, .97); --animate-checkmark: checkmark .6s cubic-bezier(.34, 1.56, .64, 1); --animate-pop-select: popSelect .4s cubic-bezier(.34, 1.56, .64, 1); --animate-celebrate: celebrate .6s cubic-bezier(.34, 1.56, .64, 1); --animate-float: float 3s ease-in-out infinite; --animate-glow: glow 2s ease-in-out infinite; --animate-slideInRight: slideInRight .5s cubic-bezier(.16, 1, .3, 1); --animate-bounceIn: bounceIn .6s cubic-bezier(.34, 1.56, .64, 1); --animate-fadeInUp: fadeInUp .3s ease-out; --animate-pointer-pulse: pointerPulse 1.5s ease-in-out infinite; --animate-toastSlideIn: toastSlideIn .3s ease-out; --animate-toastSlideOut: toastSlideOut .3s ease-in; --animate-confettiFall: confettiFall 2s ease-in forwards; --animate-zoomIn: zoomIn .4s ease-out; }.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#9ca3afcc}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #3b82f680}.no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ripple{position:relative;overflow:hidden}.ripple-effect{position:absolute;border-radius:50%;background:#fff9;transform:scale(0);animation:ripple .6s linear;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.glass{background:#ffffffbf;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px #00000014}.dark .glass{background:#111827bf;border:1px solid rgba(255,255,255,.1)}.transition-smooth{transition:all .3s cubic-bezier(.16,1,.3,1)}.transition-bounce{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-2px)}
