:root{--form-base-color: rgb(226, 241, 240);--form-bg: var(--form-base-color);--form-bg-hover: rgba(0, 0, 0, .04);--form-bg-active: rgba(0, 0, 0, .08);--form-bg-selected: rgba(0, 0, 0, .06);--form-option-bg: rgba(0, 0, 0, .06);--form-option-bg-hover: rgba(0, 0, 0, .1);--form-option-bg-active: rgba(0, 0, 0, .14);--form-option-bg-selected: rgba(0, 0, 0, .12);--form-text-primary: rgba(0, 0, 0, .87);--form-text-secondary: rgba(0, 0, 0, .6);--form-text-hint: rgba(0, 0, 0, .38);--form-text-disabled: rgba(0, 0, 0, .26);--form-border: rgba(0, 0, 0, .12);--form-border-hover: rgba(0, 0, 0, .24);--form-border-focus: rgba(0, 0, 0, .42);--form-badge-bg: rgba(0, 0, 0, .12);--form-badge-text: rgba(0, 0, 0, .6);--form-spacing-xs: 4px;--form-spacing-sm: 8px;--form-spacing-ms: 12px;--form-spacing-md: 16px;--form-spacing-lg: 24px;--form-spacing-xl: 32px;--form-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--form-font-size-sm: 14px;--form-font-size-md: 16px;--form-font-size-lg: 20px;--form-font-size-xl: 28px;--form-font-size-xxl: 36px;--form-font-size-question: 24px;--form-radius-sm: 4px;--form-radius-md: 8px;--form-radius-lg: 12px;--form-transition: .15s ease;--form-mobile-breakpoint: 480px;--form-option-mini-width: 200px;--form-content-left-padding: 64px;--form-content-web-floating-breakpoint: 1000px}.form-container{display:flex;flex-direction:column;width:100%;height:100%;background-color:var(--form-bg);font-family:var(--form-font-family);color:var(--form-text-primary)}.form-question-row{display:flex;flex-direction:row;margin-bottom:var(--form-spacing-md)}.form-question-icon{flex-shrink:0;width:var(--form-content-left-padding);text-align:right;padding-right:var(--form-spacing-md);font-size:var(--form-font-size-question);line-height:1.3;color:var(--form-text-primary)}.form-question{flex:1;font-size:var(--form-font-size-question);font-weight:500;line-height:1.3;color:var(--form-text-primary);margin:0;padding-right:var(--form-spacing-xl)}.form-description{font-size:var(--form-font-size-lg);color:var(--form-text-secondary);margin-bottom:var(--form-spacing-lg);line-height:1.5}.form-options{display:inline-flex;flex-direction:column;gap:var(--form-spacing-sm)}.form-option{display:flex;align-items:center;gap:var(--form-spacing-md);padding:var(--form-spacing-ms);padding-right:calc(var(--form-spacing-ms) + 24px + var(--form-spacing-xs));background:var(--form-option-bg);border:1px solid var(--form-border);border-radius:var(--form-radius-md);cursor:pointer;transition:all var(--form-transition);text-align:left;font-size:var(--form-font-size-md);color:var(--form-text-primary);font-family:inherit;min-width:var(--form-option-mini-width)}.form-option:hover{background-color:var(--form-option-bg-hover);border-color:var(--form-border-hover)}.form-option:focus{outline:none;border-color:var(--form-border-focus);box-shadow:0 0 0 2px #0000001a}.form-option:active{background-color:var(--form-option-bg-active)}.form-option.selected{background-color:var(--form-option-bg-selected);border-color:var(--form-border-hover)}.form-badge{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--form-spacing-xs);background-color:var(--form-badge-bg);border-radius:var(--form-radius-sm);font-size:var(--form-font-size-sm);font-weight:500;font-family:monospace;color:var(--form-badge-text)}.form-option-text{flex:1}.form-checkbox{width:20px;height:20px;accent-color:var(--form-text-primary)}.form-input{width:100%;padding:var(--form-spacing-md);font-size:var(--form-font-size-md);font-family:inherit;color:var(--form-text-primary);background:transparent;border:none;border-bottom:2px solid var(--form-border);border-radius:0;transition:border-color var(--form-transition)}.form-input:focus{outline:none;border-bottom-color:var(--form-border-focus)}.form-input::placeholder{color:var(--form-text-hint)}.form-submit{display:inline-flex;align-items:center;justify-content:center;padding:var(--form-spacing-sm) var(--form-spacing-lg);margin-top:var(--form-spacing-lg);font-size:var(--form-font-size-lg);font-weight:500;font-family:inherit;color:var(--form-bg);background-color:var(--form-text-primary);border:none;border-radius:var(--form-radius-md);cursor:pointer;transition:all var(--form-transition)}.form-submit:hover{opacity:.9}.form-submit:focus{outline:none;box-shadow:0 0 0 2px #0003}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-container.mobile{position:relative}.form-container.mobile .form-submit{position:absolute;bottom:var(--form-spacing-md);left:var(--form-spacing-md);right:var(--form-spacing-md);width:calc(100% - (var(--form-spacing-md) * 2));border-radius:var(--form-radius-sm);padding:var(--form-spacing-md)}.form-container.mobile .form-content{padding-bottom:120px}.form-container.mobile .form-question-icon{display:none}.form-container.web .form-submit{align-self:flex-start}.form-content{display:flex;flex-direction:column;align-items:flex-start;padding:var(--form-spacing-lg);flex:1;overflow-y:auto}.form-container.web .form-content{margin:0;justify-content:center;width:min(100%,var(--form-content-web-floating-breakpoint));margin-left:max(0px,calc((100% - var(--form-content-web-floating-breakpoint)) * .4));margin-right:max(0px,calc((100% - var(--form-content-web-floating-breakpoint)) * .6))}.form-container.web .form-content:before{content:"";flex:.45}.form-container.web .form-content:after{content:"";flex:.55}.form-container.web .form-content .form-options,.form-container.web .form-content .form-description,.form-container.web .form-content .form-submit{margin-left:var(--form-content-left-padding)}.form-container.web .form-content .form-input{margin-left:var(--form-content-left-padding);width:calc(100% - var(--form-content-left-padding))}.opinion-scale-container{display:flex;flex-direction:column;gap:var(--form-spacing-sm);margin-left:var(--form-content-left-padding)}.opinion-scale-options{display:flex;flex-direction:row;gap:4px;flex-wrap:nowrap}.opinion-scale-options.mobile{flex-wrap:wrap;max-width:280px}.opinion-scale-option{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--form-option-bg);border:1px solid var(--form-border);border-radius:var(--form-radius-sm);cursor:pointer;transition:all var(--form-transition);font-size:var(--form-font-size-md);font-family:inherit;color:var(--form-text-primary)}.opinion-scale-option:hover{background-color:var(--form-option-bg-hover);border-color:var(--form-border-hover)}.opinion-scale-option:focus{outline:none;border-color:var(--form-border-focus);box-shadow:0 0 0 2px #0000001a}.opinion-scale-option.selected{background-color:var(--form-option-bg-selected);border-color:var(--form-border-hover)}.opinion-scale-labels{display:flex;justify-content:space-between;width:100%;max-width:fit-content;min-width:100%}.opinion-scale-label{font-size:var(--form-font-size-sm);color:var(--form-text-secondary)}.opinion-scale-label.lower{text-align:left}.opinion-scale-label.middle{text-align:center;flex:1}.opinion-scale-label.upper{text-align:right}.opinion-scale-labels-mobile{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--form-spacing-md)}.opinion-scale-label-mobile{display:flex;align-items:center;gap:6px;font-size:var(--form-font-size-sm);color:var(--form-text-secondary)}.opinion-scale-label-number{font-weight:600;color:var(--form-text-primary)}.opinion-scale-label-arrow{color:var(--form-text-secondary);opacity:.5}.opinion-scale-container.mobile{margin-left:0}.picture-choice-container{display:flex;flex-direction:column;gap:var(--form-spacing-md);margin-left:var(--form-content-left-padding)}.picture-choice-options{display:flex;flex-direction:row;gap:12px;flex-wrap:wrap}.picture-choice-option{display:flex;flex-direction:column;width:160px;background:var(--form-option-bg);border:1px solid var(--form-border);border-radius:var(--form-radius-md);cursor:pointer;transition:all var(--form-transition);overflow:hidden;padding:0}.picture-choice-option:hover{border-color:var(--form-border-hover);box-shadow:0 2px 8px #00000014}.picture-choice-option:focus{outline:none;border-color:var(--form-border-focus);box-shadow:0 0 0 2px #0000001a}.picture-choice-option.selected{border-color:var(--form-text-primary);border-width:2px}.picture-choice-image-container{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background:#d4d4d4;overflow:hidden}.picture-choice-image{width:100%;height:100%;object-fit:cover}.picture-choice-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#888}.picture-choice-placeholder svg{width:48px;height:48px;opacity:.5}.picture-choice-label-row{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:44px}.picture-choice-badge{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--form-badge-bg);border-radius:4px;font-size:12px;font-weight:600;color:var(--form-text-primary);flex-shrink:0}.picture-choice-text{font-size:var(--form-font-size-sm);color:var(--form-text-primary);line-height:1.3;word-break:break-word}.picture-choice-checkbox{width:16px;height:16px;flex-shrink:0}.picture-choice-container.mobile{margin-left:0}.picture-choice-options.mobile{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.picture-choice-options.mobile .picture-choice-option{width:100%}.picture-choice-options.mobile .picture-choice-image-container{height:100px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh;display:flex;align-items:center;justify-content:center}.container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:450px;text-align:center}h1{color:#333;margin-bottom:8px;font-size:28px}.subtitle{color:#666;margin-bottom:24px;font-size:14px}.btn{display:inline-block;padding:14px 28px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;margin:8px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:12px;border-radius:8px;margin-bottom:16px}.loading{color:#666;font-size:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#333;font-size:14px}.form-group input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.ref-input{font-family:Courier New,monospace;font-size:24px!important;text-align:center;letter-spacing:4px;text-transform:uppercase}.logo{font-size:48px;margin-bottom:16px}.session-runner-container{width:100%;max-width:500px;min-height:600px}.completed-container{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0003;text-align:center}.completed-icon{width:64px;height:64px;background:#28a745;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:32px;color:#fff}.already-completed{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:20px;border-radius:8px;margin-bottom:16px}.progress-bar{height:4px;background:#e0e0e0;border-radius:2px;margin-bottom:24px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .3s ease}.input-renderer{background:#fff;padding:32px;border-radius:12px;box-shadow:0 10px 40px #0003}.question-container{margin-bottom:24px}.question-text{font-size:20px;font-weight:600;color:var(--form-text-primary);margin-bottom:8px}.help-text{font-size:14px;color:var(--form-text-secondary)}.input-container{margin-bottom:24px}.text-input,.number-input{width:100%;padding:14px 16px;border:2px solid var(--form-border);border-radius:8px;font-size:16px;transition:border-color .2s}.text-input:focus,.number-input:focus{outline:none;border-color:var(--form-accent)}.select-options,.boolean-options{display:flex;flex-direction:column;gap:8px}.option-button{padding:14px 16px;border:2px solid var(--form-border);border-radius:8px;background:#fff;font-size:16px;text-align:left;cursor:pointer;transition:all .2s}.option-button:hover{border-color:var(--form-accent)}.option-button.selected{border-color:var(--form-accent);background:#667eea1a}.opinion-scale{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.scale-options{display:flex;gap:4px}.scale-option{width:40px;height:40px;border:2px solid var(--form-border);border-radius:8px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.scale-option:hover{border-color:var(--form-accent)}.scale-option.selected{border-color:var(--form-accent);background:var(--form-accent);color:#fff}.scale-label{font-size:12px;color:var(--form-text-secondary)}.submit-button{width:100%;padding:14px;border:none;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-button:disabled{opacity:.5;cursor:not-allowed}
