:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#666;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#4b4bb5;text-decoration:inherit}a:hover{color:#c4e135}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#fff}h1{font-size:3.2em;line-height:1.1;color:#4b4bb5}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#4b4bb5;cursor:pointer;transition:all .25s ease;color:#fff}button:hover{border-color:#c4e135;box-shadow:0 4px 12px #4b4bb533}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#666;background-color:#fff}a:hover{color:#c4e135}button{background-color:#4b4bb5}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.form-container{max-width:800px;margin:0 auto;padding:2rem 2rem 1rem;display:flex;flex-direction:column;gap:1rem;min-height:100vh}:root{--primary-purple: #4B4BB5;--primary-lime: #C4E135;--text-gray: #666666;--bg-light: #FFFFFF;--bg-question: #F8F8F8;--shadow-color: rgba(75, 75, 181, .1)}h1{font-size:2rem;text-align:center;color:var(--primary-purple);margin-bottom:2rem}h2{font-size:1.5rem;color:var(--primary-purple);margin-bottom:2rem;text-align:center}.question-slide{opacity:0;transform:translateY(20px);transition:all .5s ease-out}.slide-enter{opacity:1;transform:translateY(0)}.slide-exit{opacity:0;transform:translateY(-20px)}.question-container{display:flex;flex-direction:column;gap:1.5rem;min-height:200px}.question{background:var(--bg-question);padding:2rem;border-radius:12px;box-shadow:0 4px 12px var(--shadow-color);margin-bottom:1.5rem;border:1px solid rgba(75,75,181,.1)}.question p{font-size:1.2rem;color:var(--text-gray);margin-bottom:1.5rem;line-height:1.5}.buttons{display:flex;gap:1rem;justify-content:center}button{padding:1rem 3rem;border:2px solid var(--primary-purple);border-radius:8px;background:var(--bg-light);color:var(--primary-purple);font-size:1.1rem;cursor:pointer;transition:all .3s ease;font-weight:500}button:hover{background:var(--primary-purple);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #4b4bb533}button.selected{background:var(--primary-purple);color:#fff;box-shadow:0 4px 12px #4b4bb533}.next-button{margin-top:2rem;padding:1rem 3rem;background:var(--primary-purple);color:#fff;font-size:1.1rem;align-self:center;box-shadow:0 4px 12px #4b4bb533}.next-button:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.input-group{margin-bottom:1rem;width:100%;max-width:300px;margin-left:auto;margin-right:auto}input,textarea,select{box-sizing:border-box;width:100%;padding:1rem;border:2px solid #ddd;border-radius:8px;font-size:1.1rem;transition:all .3s ease;background-color:var(--bg-light);color:var(--text-gray)}input:focus{border-color:var(--primary-purple);outline:none;box-shadow:0 0 0 3px #3f3f9f33}.gender-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.progress-bar{width:100%;height:4px;background:#eee;border-radius:2px;overflow:hidden;margin-bottom:2rem;position:sticky;top:0}.progress-fill{height:100%;background:var(--primary-lime);transition:width .5s ease-out}@media (max-width: 768px){.form-container{padding:1rem}.question{padding:1.25rem}.date-inputs{gap:1rem}.date-field{min-width:100px}}@media (max-width: 480px){.form-container{padding:.75rem}.question{padding:1rem}}.intro{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.form-field{margin-bottom:1.5rem;text-align:left;width:100%;box-sizing:border-box}.form-field label{display:block;margin-bottom:.5rem;font-size:1.1rem;color:var(--text-gray)}.field-description{font-size:.9rem;color:var(--text-gray);margin-bottom:1rem;font-style:italic}.form-field input[type=date],.form-field input[type=tel],.form-field input[type=number],.form-field input[type=text]{width:100%;padding:.8rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:var(--bg-light);color:var(--text-gray)}textarea{width:100%;min-height:100px;padding:1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:all .3s ease;background-color:var(--bg-light);color:var(--text-gray);line-height:1.5}textarea:focus{border-color:var(--primary-purple);outline:none;box-shadow:0 0 0 3px #4b4bb533}.date-inputs{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:1.5rem;width:100%;box-sizing:border-box}.date-field{flex:1;min-width:120px;box-sizing:border-box}.date-field input,.date-field select{box-sizing:border-box;width:100%;padding:.8rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;background-color:var(--bg-light);color:var(--text-gray);transition:all .3s ease}.date-field select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em;padding-right:2.5rem}.date-field input:focus,.date-field select:focus{border-color:var(--primary-purple);outline:none;box-shadow:0 0 0 3px #4b4bb533}.calculated-age{width:100%;margin-top:.5rem;color:var(--primary-purple);font-size:.9rem;font-weight:500}.processing-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;min-height:200px}.spinner{width:48px;height:48px;border:4px solid var(--bg-question);border-top:4px solid var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-result p{color:var(--primary-purple);font-size:1.2rem;font-weight:500;margin:0}.logo-link{display:block;margin:0 auto 2rem;width:fit-content}.site-logo{height:80px;width:auto;transition:transform .3s ease}.site-logo:hover{transform:scale(1.05)}
