*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:#333;background-color:#f9fafb}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem}.grid-cols-1{grid-template-columns:1fr}@media (min-width:1280px){.xl\\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}.text-center{text-align:center}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-gray-800{color:#1f2937}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-white{color:#fff}.text-blue-700{color:#1d4ed8}.text-red-700{color:#b91c1c}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mt-4{margin-top:1rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.bg-white{background-color:#fff}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-blue-50{background-color:#eff6ff}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-gray-400{background-color:#9ca3af}.bg-gray-500{background-color:#6b7280}.bg-gray-600{background-color:#4b5563}.bg-orange-500{background-color:#f97316}.bg-orange-600{background-color:#ea580c}.bg-red-100{background-color:#fee2e2}.border{border-width:1px}.border-2{border-width:2px}.border-blue-200{border-color:#bfdbfe}.border-red-400{border-color:#f87171}.border-gray-300{border-color:#d1d5db}.border-dashed{border-style:dashed}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}button{cursor:pointer;transition:all .2s ease-in-out;border:none;outline:none}button:hover{transform:translateY(-1px)}button:disabled{cursor:not-allowed;transform:none}button:focus{outline:2px solid #3b82f6;outline-offset:2px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-x-2>*+*{margin-left:.5rem}.space-x-4>*+*{margin-left:1rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}@media (min-width:640px){.sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\\:mb-6{margin-bottom:1.5rem}.sm\\:mb-8{margin-bottom:2rem}.sm\\:text-4xl{font-size:2.25rem}.sm\\:text-lg{font-size:1.125rem}.sm\\:text-base{font-size:1rem}.sm\\:w-auto{width:auto}.sm\\:flex-row{flex-direction:row}}@media (min-width:1024px){.lg\\:px-8{padding-left:2rem;padding-right:2rem}.lg\\:mb-12{margin-bottom:3rem}.lg\\:text-5xl{font-size:3rem}.lg\\:text-xl{font-size:1.25rem}.lg\\:gap-8{gap:2rem}}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-track{background:#e5e7eb;height:.5rem;border-radius:.25rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;height:1.25rem;width:1.25rem;border-radius:50%;margin-top:-.375rem}input[type=range]::-moz-range-track{background:#e5e7eb;height:.5rem;border-radius:.25rem}input[type=range]::-moz-range-thumb{background:#3b82f6;height:1.25rem;width:1.25rem;border-radius:50%;border:none}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}video{max-width:100%;height:auto}.file-upload-wrapper{position:relative;overflow:hidden;display:inline-block}.file-upload-wrapper input[type=file]{position:absolute;left:-9999px}@media (max-width:768px){.grid-cols-1{grid-template-columns:1fr}.container{padding-left:1rem;padding-right:1rem}}