*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Arial,sans-serif;overflow:hidden}.app{background-position:top;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay{z-index:0;background:#00000073;position:absolute;inset:0}.content{z-index:1;-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;width:100%;height:100%;display:flex;position:relative;overflow:hidden auto}.progress-bar-container{z-index:100;background:#fff3;height:4px;position:fixed;top:0;left:0;right:0}.progress-bar{background:#2ec4b6;border-radius:0 2px 2px 0;height:100%;transition:width .4s}.progress-text{color:#fff9;font-size:12px;font-weight:500;position:absolute;top:12px;right:16px}.welcome-screen{justify-content:center;align-items:center;width:100%;min-height:100%;padding:24px;display:flex}.welcome-content{text-align:center;max-width:880px;padding:48px 80px 56px;animation:.6s both fadeInUp}.welcome-title{color:#fff;text-align:center;margin:0 0 10px;font-size:36px;font-weight:400;line-height:1.3}.welcome-footer{justify-content:center;align-items:center;display:flex}.welcome-footer-inner{align-items:center;display:inline-flex;position:relative}.welcome-description{color:#d3d7d7;letter-spacing:-.25px;margin-bottom:35px;font-size:20px;line-height:30px}.start-button{color:#fff;letter-spacing:normal;cursor:pointer;background:#5cd6c8;border:none;border-radius:32px;justify-content:center;align-items:center;padding:14px 28px;font-family:Arial,sans-serif;font-size:24px;font-weight:700;line-height:1;transition:background .2s,transform .15s;display:inline-flex}.start-button:hover{background:#4ac4b6;transform:translateY(-1px)}.start-button:active{transform:translateY(0)}.thankyou-screen{justify-content:center;align-items:center;width:100%;min-height:100%;padding:24px;display:flex}.thankyou-content{text-align:center;max-width:880px;padding:48px 80px 56px;animation:.6s both fadeInUp}.thankyou-title{color:#fff;letter-spacing:-.5px;margin-bottom:8px;font-size:26px;font-weight:700;line-height:34px}.thankyou-description{color:#d3d7d7;letter-spacing:-.25px;font-size:22px;line-height:30px}.question-screen{width:100%;max-width:820px;margin:auto;padding:60px 32px 100px;animation:.5s both fadeInUp}.question-header{align-items:flex-start;gap:8px;margin-bottom:24px;display:flex}.question-number{color:#243537;background:#fff;border-radius:5px 3px;flex-shrink:0;justify-content:center;align-items:center;min-width:16px;height:19px;margin-top:9px;padding:0 4px;font-size:12px;font-weight:700;display:flex}.question-title-wrap{flex:1}.question-title{color:#fff;margin:0;font-size:36px;font-weight:700;line-height:40px}.required{color:#fff;margin-left:4px;font-size:32px;font-weight:400}.question-description{color:#fffc;margin-top:8px;font-size:14px;line-height:1.5}.question-body{flex-direction:column;align-items:flex-start;margin-bottom:24px;padding-left:24px;display:flex}.question-footer{align-items:center;gap:12px;padding-left:24px;display:flex}.ok-button{color:#fff;letter-spacing:-.25px;cursor:pointer;background:#2ec4b6;border:none;border-radius:32px;align-items:center;gap:6px;min-height:46px;padding:12px 20px;font-family:Arial,sans-serif;font-size:22px;font-weight:600;line-height:30px;transition:background .2s,opacity .2s;display:inline-flex}.ok-button:hover:not(:disabled){background:#28b0a3}.ok-button:disabled{opacity:.45;cursor:not-allowed}.ok-hint{color:#fff;white-space:nowrap;font-size:12px}.ok-hint strong{color:#fff}.welcome-footer-inner .ok-hint{position:absolute;top:50%;left:calc(100% + 14px);transform:translateY(-50%)}@media (pointer:coarse){.ok-hint{display:none}}.choices-list{flex-direction:column;align-items:stretch;gap:8px;min-width:256px;display:flex}.choice-item{color:#fff;letter-spacing:-.25px;cursor:pointer;text-align:left;background:#ffffff26;border:1px solid #fff9;border-radius:24px;align-items:center;gap:4px;padding:6px 10px;font-family:Arial,sans-serif;font-size:22px;line-height:30px;transition:box-shadow .2s,background .2s,border-color .2s;display:flex}.choice-item:hover{background:#ffffff40;border-color:#ffffffe6}.choice-item.selected{background:#ffffff40;border-color:#fff;box-shadow:0 0 0 1px #fff}.choice-key{background:#ffffff26;border:1px solid #ffffff3d;border-radius:32px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.choice-item.selected .choice-key{color:#243537;background:#fff;border-color:#fff}.choice-label{letter-spacing:-.25px;flex:1;padding:4px;font-weight:400;line-height:30px}.choice-check{flex-shrink:0;font-size:14px}.picture-choices-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.picture-choice-item{cursor:pointer;text-align:left;color:#fff;background:0 0;border:2px solid #ffffff40;border-radius:8px;padding:0;font-family:Arial,sans-serif;transition:border-color .2s,transform .15s;overflow:hidden}.picture-choice-item:hover{border-color:#ffffff80;transform:translateY(-2px)}.picture-choice-item.selected{border-color:#fff;box-shadow:0 0 0 1px #fff}.picture-choice-image{aspect-ratio:4/3;background:#ffffff0d;width:100%;overflow:hidden}.picture-choice-image img{object-fit:cover;width:100%;height:100%;display:block}.picture-choice-none{background:#24353799;justify-content:center;align-items:center;display:flex}.picture-choice-none svg{width:45%;height:45%}.picture-choice-footer{align-items:center;gap:10px;padding:10px 12px;display:flex}.picture-choice-label{flex:1;font-size:14px}.text-field{width:100%}.text-input{color:#fff;background:0 0;border:none;border-bottom:2px solid #fff6;outline:none;width:100%;padding:8px 0;font-family:Arial,sans-serif;font-size:18px;transition:border-color .2s}.text-input::placeholder{color:#ffffff59}.text-input:focus{border-bottom-color:#2ec4b6}.text-input.textarea{resize:vertical;border:none;border-bottom:2px solid #fff6;min-height:100px}.text-input.textarea:focus{border-bottom-color:#2ec4b6}.text-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.text-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.text-input[type=number]{-moz-appearance:textfield}.date-field{width:100%}.date-input-group{align-items:flex-end;gap:8px;display:flex}.date-input-wrap{flex-direction:column;gap:4px;display:flex}.date-label{color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.date-input{color:#fff;text-align:center;background:0 0;border:none;border-bottom:2px solid #fff6;outline:none;width:80px;padding:6px 0;font-family:Arial,sans-serif;font-size:24px;font-weight:600;transition:border-color .2s}.date-input::placeholder{color:#ffffff40;font-weight:400}.date-input:focus{border-bottom-color:#2ec4b6}.date-separator{color:#fff6;padding-bottom:8px;font-size:24px}.contact-info-fields{flex-direction:column;gap:20px;display:flex}.contact-field{flex-direction:column;gap:6px;display:flex}.contact-label{color:#ffffffb3;font-size:13px;font-weight:500}.nav-buttons{z-index:50;gap:4px;display:flex;position:fixed;bottom:24px;right:24px}.nav-btn{color:#fff;cursor:pointer;background:#2435374d;border:none;border-radius:32px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:inline-flex}.nav-btn:hover:not(:disabled){background:#ffffff40}.nav-btn:disabled{opacity:.3;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@media (width<=640px){.welcome-title,.thankyou-title{font-size:30px;line-height:38px}.welcome-description,.thankyou-description{font-size:18px;line-height:24px}.welcome-content{padding-left:0;padding-right:0}.start-button{width:100%;padding:12px 32px;font-size:18px}.question-screen{padding:16px 20px}.question-title{font-size:24px;line-height:32px}.picture-choices-grid{grid-template-columns:repeat(2,1fr)}.date-input{width:64px;font-size:20px}.date-separator{font-size:20px}.text-input{font-size:16px}.nav-buttons{bottom:16px;right:16px}.progress-text{font-size:11px;top:10px;right:12px}}@media (width<=380px){.welcome-title,.thankyou-title{font-size:30px}.question-title{font-size:18px}.choice-item{padding:6px 10px;font-size:18px}.choice-key{width:22px;height:22px;font-size:12px}}
