.safe-area-inset-top{padding-top:env(safe-area-inset-top)}.safe-area-inset-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-inset-left{padding-left:env(safe-area-inset-left)}.safe-area-inset-right,.safe-area-inset-x{padding-right:env(safe-area-inset-right)}.safe-area-inset-x{padding-left:env(safe-area-inset-left)}.safe-area-inset-y{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.touch-manipulation{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-device{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.mobile-device input,.mobile-device select,.mobile-device textarea{font-size:16px!important;min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-device button{min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none}.tablet-device input,.tablet-device select,.tablet-device textarea{min-height:40px}.tablet-device button{min-height:40px;min-width:40px}.touch-device{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.touch-device .scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.orientation-landscape .mobile-form-builder{flex-direction:row}.orientation-landscape .mobile-form-builder .question-palette{width:300px;height:100%}.keyboard-visible .mobile-action-bar{transform:translateY(100%);transition:transform .3s ease-in-out}.keyboard-visible .mobile-form-header{padding:.5rem 1rem}.keyboard-visible .mobile-form-header .progress-indicator{display:none}.compact-mode .mobile-form-header{padding:.75rem 1rem}.compact-mode .mobile-question-card{padding:.75rem}.compact-mode .mobile-action-bar{padding:.75rem 1rem}.mobile-form-builder{display:flex;flex-direction:column;height:100vh;height:100dvh}.mobile-form-builder .question-palette{position:fixed;bottom:0;left:0;right:0;z-index:50;background:white;border-top:1px solid #e5e7eb;border-radius:1rem 1rem 0 0;max-height:80vh;transform:translateY(100%);transition:transform .3s ease-in-out}.mobile-form-builder .question-palette.open{transform:translateY(0)}.mobile-form-renderer{display:flex;flex-direction:column;height:100vh;height:100dvh}.mobile-form-renderer .question-container{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-form-renderer .navigation-bar{position:sticky;bottom:0;background:white;border-top:1px solid #e5e7eb;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}.mobile-question-renderer{width:100%;max-width:none}.mobile-question-renderer .question-header{margin-bottom:1.5rem}.mobile-question-renderer .question-input{margin-bottom:1rem}.mobile-question-renderer input,.mobile-question-renderer select,.mobile-question-renderer textarea{font-size:16px;padding:.75rem;border-radius:.5rem}.mobile-question-renderer .checkbox-option,.mobile-question-renderer .multiple-choice-option{padding:1rem;margin-bottom:.5rem;border-radius:.75rem;border:2px solid #e5e7eb;transition:all .2s ease-in-out;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}.mobile-question-renderer .checkbox-option:active,.mobile-question-renderer .multiple-choice-option:active{transform:scale(.98)}.mobile-question-renderer .checkbox-option.selected,.mobile-question-renderer .multiple-choice-option.selected{border-color:#3b82f6;background-color:#eff6ff}.mobile-question-renderer .rating-scale{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:.5rem;margin:1rem 0}.mobile-question-renderer .rating-button{aspect-ratio:1;min-height:44px;border-radius:.5rem;border:2px solid #e5e7eb;background:white;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .2s ease-in-out;cursor:pointer;touch-action:manipulation}.mobile-question-renderer .rating-button:active{transform:scale(.95)}.mobile-question-renderer .rating-button.selected{border-color:#3b82f6;background-color:#3b82f6;color:white}.mobile-question-renderer .yes-no-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.mobile-question-renderer .yes-no-button{padding:1.5rem 1rem;border-radius:.75rem;border:2px solid #e5e7eb;background:white;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-weight:600;transition:all .2s ease-in-out;cursor:pointer;touch-action:manipulation}.mobile-question-renderer .yes-no-button:active{transform:scale(.98)}.mobile-question-renderer .yes-no-button.yes.selected{border-color:#10b981;background-color:#10b981;color:white}.mobile-question-renderer .yes-no-button.no.selected{border-color:#ef4444;background-color:#ef4444;color:white}.swipe-indicator{position:absolute;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .3s ease-in-out;pointer-events:none;z-index:10}.swipe-indicator.left{left:1rem}.swipe-indicator.right{right:1rem}.swipe-indicator.visible{opacity:1}.mobile-progress-dots{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem 0}.mobile-progress-dot{width:8px;height:8px;border-radius:50%;background-color:#d1d5db;transition:all .3s ease-in-out;cursor:pointer;touch-action:manipulation}.mobile-progress-dot.current{background-color:#3b82f6;transform:scale(1.5)}.mobile-progress-dot.completed{background-color:#10b981}.slide-enter{transform:translateX(100%);opacity:0}.slide-enter-active{transition:transform .3s ease-out,opacity .3s ease-out}.slide-enter-active,.slide-exit{transform:translateX(0);opacity:1}.slide-exit-active{transition:transform .3s ease-out,opacity .3s ease-out}.slide-enter-reverse,.slide-exit-active{transform:translateX(-100%);opacity:0}.slide-enter-reverse-active{transition:transform .3s ease-out,opacity .3s ease-out}.slide-enter-reverse-active,.slide-exit-reverse{transform:translateX(0);opacity:1}.slide-exit-reverse-active{transform:translateX(100%);opacity:0;transition:transform .3s ease-out,opacity .3s ease-out}.fade-enter{opacity:0;transform:scale(.95)}.fade-enter-active{transition:opacity .2s ease-out,transform .2s ease-out}.fade-enter-active,.fade-exit{opacity:1;transform:scale(1)}.fade-exit-active{opacity:0;transform:scale(.95);transition:opacity .2s ease-out,transform .2s ease-out}.mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.mobile-loading .spinner{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mobile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#ef4444}.mobile-error .error-icon{width:3rem;height:3rem;margin-bottom:1rem}@media (prefers-reduced-motion:reduce){.fade-enter-active,.fade-exit-active,.mobile-question-renderer .checkbox-option,.mobile-question-renderer .multiple-choice-option,.mobile-question-renderer .rating-button,.mobile-question-renderer .yes-no-button,.slide-enter-active,.slide-enter-reverse-active,.slide-exit-active,.slide-exit-reverse-active{transition:none}}@media (prefers-contrast:high){.mobile-question-renderer .checkbox-option,.mobile-question-renderer .multiple-choice-option,.mobile-question-renderer .rating-button,.mobile-question-renderer .yes-no-button{border-width:3px}.mobile-question-renderer .checkbox-option.selected,.mobile-question-renderer .multiple-choice-option.selected,.mobile-question-renderer .rating-button.selected,.mobile-question-renderer .yes-no-button.selected{border-width:4px}}@media (prefers-color-scheme:dark){.mobile-form-builder,.mobile-form-renderer{background-color:#111827;color:#f9fafb}.mobile-form-builder .question-palette,.mobile-form-renderer .navigation-bar{background-color:#1f2937;border-color:#374151}.mobile-question-renderer .checkbox-option,.mobile-question-renderer .multiple-choice-option,.mobile-question-renderer .rating-button,.mobile-question-renderer .yes-no-button{background-color:#1f2937;border-color:#374151;color:#f9fafb}.mobile-question-renderer .checkbox-option.selected,.mobile-question-renderer .multiple-choice-option.selected{background-color:#1e40af;border-color:#3b82f6}}@media print{.mobile-action-bar,.mobile-form-builder .question-palette,.mobile-form-renderer .navigation-bar{display:none}.mobile-form-renderer .question-container{padding:0}}.high-contrast{--color-bg-primary:#000000;--color-bg-secondary:#ffffff;--color-text-primary:#ffffff;--color-text-secondary:#000000;--color-border:#ffffff;--color-focus:#ffff00;--color-error:#ff0000;--color-success:#00ff00;--color-warning:#ffff00;--color-info:#00ffff}.high-contrast *{background-color:var(--color-bg-primary)!important;color:var(--color-text-primary)!important;border-color:var(--color-border)!important}.high-contrast button,.high-contrast input,.high-contrast select,.high-contrast textarea{background-color:var(--color-bg-secondary)!important;color:var(--color-text-secondary)!important;border:2px solid var(--color-border)!important}.high-contrast button:focus,.high-contrast button:hover{background-color:var(--color-focus)!important;color:var(--color-bg-primary)!important}.high-contrast :focus{outline:3px solid var(--color-focus)!important;outline-offset:2px!important}.high-contrast .text-red-500,.high-contrast .text-red-600,.high-contrast [role=alert]{color:var(--color-error)!important}.high-contrast .text-green-500,.high-contrast .text-green-600{color:var(--color-success)!important}.high-contrast .text-yellow-500,.high-contrast .text-yellow-600{color:var(--color-warning)!important}.reduced-motion *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reduced-motion .transition-all,.reduced-motion .transition-colors,.reduced-motion .transition-opacity,.reduced-motion .transition-transform{transition:none!important}.focus-visible{outline:3px solid #2563eb!important;outline-offset:2px!important;border-radius:4px!important}.high-contrast .focus-visible{outline:3px solid var(--color-focus)!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sr-only:active,.sr-only:focus{position:static!important;width:auto!important;height:auto!important;padding:inherit!important;margin:inherit!important;overflow:visible!important;clip:auto!important;white-space:inherit!important}.accessible-button{min-height:44px;min-width:44px;padding:12px 16px;font-size:16px;font-weight:500;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .2s ease-in-out}.accessible-button:focus{outline:3px solid #2563eb;outline-offset:2px}.accessible-button:disabled{opacity:.6;cursor:not-allowed}.accessible-button:disabled:focus{outline-color:#6b7280}.accessible-input{min-height:44px;padding:12px 16px;font-size:16px;border:2px solid #d1d5db;border-radius:6px;transition:border-color .2s ease-in-out}.accessible-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.accessible-input[aria-invalid=true]{border-color:#dc2626}.accessible-input[aria-invalid=true]:focus{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.accessible-select{min-height:44px;padding:12px 40px 12px 16px;font-size:16px;border:2px solid #d1d5db;border-radius:6px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.accessible-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.accessible-checkbox,.accessible-radio{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;position:relative;cursor:pointer}.accessible-radio{border-radius:50%}.accessible-checkbox:focus,.accessible-radio:focus{outline:3px solid #2563eb;outline-offset:2px}.accessible-checkbox:checked,.accessible-radio:checked{background-color:#2563eb;border-color:#2563eb}.accessible-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:white;font-size:14px;font-weight:700}.accessible-radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:white;border-radius:50%}.accessible-progress{width:100%;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden}.accessible-progress-bar{height:100%;background-color:#2563eb;transition:width .3s ease-in-out;border-radius:4px}.reduced-motion .accessible-progress-bar{transition:none}.field-error{color:#dc2626}.field-error,.field-success{font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.field-success{color:#059669}.skip-link{position:absolute;top:-40px;left:6px;background:#2563eb;color:white;padding:8px 16px;text-decoration:none;border-radius:4px;z-index:1000;font-size:14px;font-weight:500}.skip-link:focus{top:6px}.accessible-tooltip{position:relative;display:inline-block}.accessible-tooltip[aria-describedby]{cursor:help}.accessible-tooltip-content{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1f2937;color:white;padding:8px 12px;border-radius:4px;font-size:14px;white-space:nowrap;z-index:1000;margin-bottom:8px}.accessible-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.accessible-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.accessible-modal{background:white;border-radius:8px;padding:24px;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 20px 25px -5px rgba(0,0,0,.1)}.accessible-modal:focus{outline:3px solid #2563eb;outline-offset:-3px}.accessible-table{width:100%;border-collapse:collapse;border:1px solid #d1d5db}.accessible-table td,.accessible-table th{padding:12px;text-align:left;border-bottom:1px solid #d1d5db}.accessible-table th{background-color:#f9fafb;font-weight:600}.accessible-table th[aria-sort]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.accessible-table th[aria-sort]:hover{background-color:#f3f4f6}.accessible-table th[aria-sort]:focus{outline:3px solid #2563eb;outline-offset:-3px}.accessible-fieldset{border:2px solid #d1d5db;border-radius:6px;padding:16px;margin:16px 0}.accessible-legend{font-weight:600;font-size:18px;padding:0 8px;color:#374151}@media print{.accessible-tooltip-content,.skip-link,.sr-only{display:none!important}.accessible-form-wrapper{color:black!important;background:white!important}.accessible-button,.accessible-input,.accessible-select{border:1px solid black!important;background:white!important;color:black!important}}@media (prefers-color-scheme:dark){.accessible-form-wrapper:not(.high-contrast){--color-bg-primary:#1f2937;--color-bg-secondary:#374151;--color-text-primary:#f9fafb;--color-text-secondary:#d1d5db;--color-border:#4b5563}}@media (min-resolution:192dpi){.accessible-button,.accessible-input,.accessible-select{font-size:18px}}@media (prefers-reduced-motion:reduce){.accessible-button,.accessible-input,.accessible-progress-bar,.accessible-select{transition:none!important}}