@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary: #6366f1;--primary-glow: rgba(99, 102, 241, .4);--secondary: #64748b;--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--card-bg: rgba(255, 255, 255, .85);--text-main: #0f172a;--text-muted: #64748b;--shadow-deep: 0 10px 40px -10px rgba(0, 0, 0, .1);--shadow-lifted: 0 20px 50px -15px rgba(0, 0, 0, .15);--border-subtle: rgba(255, 255, 255, .5)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;background:var(--bg-gradient);color:var(--text-main);min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");z-index:1000}.app-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem}.onboarding-card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:2rem;padding:3rem;width:100%;max-width:500px;box-shadow:var(--shadow-lifted);transition:transform .3s ease,box-shadow .3s ease;animation:fadeInDown .8s cubic-bezier(.16,1,.3,1) forwards}.onboarding-header{text-align:center;margin-bottom:2.5rem}.onboarding-header h1{font-size:2.5rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.5rem;background:linear-gradient(to right,#4f46e5,#9333ea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.onboarding-header p{color:var(--text-muted);font-size:1rem;font-weight:500}.form-group{margin-bottom:2rem}.label{display:block;font-size:.875rem;font-weight:600;color:var(--text-main);margin-bottom:.75rem;margin-left:.25rem}.photo-upload-container{position:relative;width:100%;aspect-ratio:4/3;border-radius:1.5rem;overflow:hidden;border:2px dashed #e2e8f0;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;transition:all .3s ease}.photo-upload-container:hover{border-color:var(--primary);background:#f1f5f9}.photo-upload-container.has-preview{border-style:solid;border-color:transparent}.photo-preview{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:var(--text-muted);gap:.75rem}.upload-placeholder svg{color:var(--primary);opacity:.8}.upload-placeholder span{font-weight:500;font-size:.9375rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-wrapper{position:relative}.input-field{width:100%;background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem 3rem 1rem 1.25rem;font-size:1rem;font-weight:600;color:var(--text-main);transition:all .2s ease;font-family:inherit}.input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow);background:#fff}.input-unit{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:600;font-size:.875rem;pointer-events:none}.submit-button,.reset-button{width:100%;background:var(--primary);color:#fff;border:none;border-radius:1.25rem;padding:1.125rem;font-size:1.125rem;font-weight:700;cursor:pointer;box-shadow:0 4px 20px -5px var(--primary-glow);transition:all .3s cubic-bezier(.175,.885,.32,1.275);margin-top:1rem;display:flex;justify-content:center;align-items:center}.submit-button:hover,.reset-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px -5px var(--primary-glow);background:#4f46e5}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.report-container{animation:fadeIn .5s ease-out}.report-header{text-align:center;margin-bottom:2.5rem}.sparkle-icon{color:#fbbf24;margin-bottom:1rem;animation:bounce 2s infinite}.report-header h2{font-size:1.75rem;font-weight:800;margin-bottom:.5rem;color:var(--text-main)}.report-section{background:#f8fafc80;border-radius:1.25rem;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e2e8f0}.report-section h3{font-size:.9375rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);margin-bottom:.75rem}.report-section p{font-size:1rem;line-height:1.6;color:var(--text-main)}.concept-tag{display:inline-block;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;padding:.5rem 1.25rem;border-radius:9999px;font-weight:700;font-size:1.125rem;box-shadow:0 4px 15px #6366f14d}.recommendation-list{list-style:none}.recommendation-list li{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;font-weight:500;color:var(--text-main)}.check-icon{color:#10b981;flex-shrink:0;margin-top:.125rem}.reset-button{background:transparent;border:2px solid #e2e8f0;color:var(--text-muted);box-shadow:none;margin-top:2rem}.reset-button:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--text-main);box-shadow:none}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.onboarding-card{padding:2rem 1.5rem}.onboarding-header h1{font-size:2rem}}
