*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.min-h-screen{min-height:100vh}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-6{margin-top:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.w-16{width:4rem}.w-5{width:1.25rem}.h-16{height:4rem}.h-5{height:1.25rem}.max-w-md{max-width:28rem}.max-w-4xl{max-width:56rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-700{background-color:#374151}.bg-gray-800{background-color:#1f2937}.bg-gray-900{background-color:#111827}.bg-purple-100{background-color:#f3e8ff}.bg-purple-600{background-color:#9333ea}.bg-red-50{background-color:#fef2f2}.bg-green-900\/30{background-color:#14532d4d}.text-white{color:#fff}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-purple-600{color:#9333ea}.text-purple-700{color:#7e22ce}.text-red-600{color:#dc2626}.text-green-300{color:#86efac}.text-green-400{color:#4ade80}.text-green-600{color:#16a34a}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:monospace}.text-center{text-align:center}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-green-500{border-color:#22c55e}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.cursor-not-allowed{cursor:not-allowed}.whitespace-pre-wrap{white-space:pre-wrap}.leading-relaxed{line-height:1.625}.block{display:block}.inline-block{display:inline-block}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-1{flex:1}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.from-purple-600{--tw-gradient-from:#9333ea;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,#9333ea00)}.to-blue-600{--tw-gradient-to:#2563eb}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.to-blue-700{--tw-gradient-to:#1d4ed8}.from-purple-700{--tw-gradient-from:#7e22ce;--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to,#7e22ce00)}button{cursor:pointer;border:none;outline:none}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.1)}input,select{border:1px solid #d1d5db;outline:none}input:focus,select:focus{border-color:#9333ea;box-shadow:0 0 0 3px #9333ea1a}.transition-colors{transition:background-color .2s,color .2s}.transition-all{transition:all .2s}.hover\:underline:hover{text-decoration:underline}.hover\:bg-purple-700:hover{background-color:#7e22ce}.hover\:bg-gray-200:hover{background-color:#e5e7eb}.hover\:text-gray-800:hover{color:#1f2937}.focus\:ring-2:focus{box-shadow:0 0 0 3px #9333ea80}.focus\:border-transparent:focus{border-color:#0000}.disabled\:opacity-50:disabled{opacity:.5}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.border-2{border-width:2px}.border-white{border-color:#fff}.border-t-transparent{border-top-color:#0000}.w-8{width:2rem}.h-8{height:2rem}.w-4{width:1rem}.h-4{height:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:.3s ease-out fadeIn}
