:root{--bg:#f7f7f5;--surface:#fff;--border:#ddd;--border-light:#eee;--text:#1a1a1a;--text-strong:#111;--text-secondary:#666;--text-muted:#888;--text-dim:#555;--text-body:#333;--accent:#4f72c9;--accent-dark:#3d5db5;--accent-bg:#eef2ff;--accent-text:#2a4fa0;--callout-bg:#f0f4ff;--widget-bg:#fafafa;--progress-track:#e8e8e8;--attention-bg:#fffbea;--attention-border:#e8d96a;--error:#c0392b;--btn-disabled:#aac;--radius-card:10px;--radius-widget:6px;--radius-btn:6px;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-heading:inherit;--card-shadow:0 1px 4px #00000014;--card-border:none;--spacing-card-v:2.5rem;--spacing-card-h:2rem;--spacing-question:2rem;--line-height:1.6}[data-theme=open]{--bg:#ebebea;--surface:#ebebea;--border:#ccccca;--border-light:#dededd;--text:#1a1a1a;--text-strong:#111;--text-secondary:#666;--text-muted:#888;--text-dim:#555;--text-body:#333;--accent:#4f72c9;--accent-dark:#3d5db5;--accent-bg:#e8eeff;--accent-text:#2a4fa0;--callout-bg:#e2e4ee;--widget-bg:#e2e2e0;--progress-track:#d8d8d6;--attention-bg:#fdfae0;--attention-border:#d8c860;--error:#c0392b;--btn-disabled:#aac;--card-shadow:none;--card-border:none;--radius-card:0;--spacing-card-h:0;--spacing-question:2.5rem;--line-height:1.75}[data-theme=warm]{--bg:#faf7f2;--surface:#fffdf9;--border:#ddd5c8;--border-light:#ece8e0;--text:#2a1f14;--text-strong:#1a120a;--text-secondary:#7a6555;--text-muted:#9a8878;--text-dim:#6a5848;--text-body:#3d2e22;--accent:#b85c38;--accent-dark:#9a4828;--accent-bg:#fdf0ea;--accent-text:#8a3520;--callout-bg:#fdf2e8;--widget-bg:#fdf9f4;--progress-track:#e8ddd0;--attention-bg:#fdf8e8;--attention-border:#d4b860;--error:#c0392b;--btn-disabled:#c8b8a8;--radius-card:16px;--radius-widget:12px;--radius-btn:10px;--font-heading:Georgia, "Times New Roman", serif;--card-shadow:0 2px 12px #3c1e0a1a;--spacing-question:2.25rem;--line-height:1.75}[data-theme=compact]{--bg:#eef0f2;--surface:#fff;--border:#c4cbd3;--border-light:#d8dde3;--text:#1a2030;--text-strong:#0e1520;--text-secondary:#506070;--text-muted:#7080a0;--text-dim:#405060;--text-body:#2a3545;--accent:#2952a0;--accent-dark:#1e3e80;--accent-bg:#e8eef8;--accent-text:#1a3878;--callout-bg:#e8ecf3;--widget-bg:#f4f6f9;--progress-track:#d0d8e4;--attention-bg:#fefae8;--attention-border:#c8b848;--error:#b02828;--btn-disabled:#8898b0;--radius-card:4px;--radius-widget:3px;--radius-btn:4px;--card-shadow:none;--card-border:1px solid #c4cbd3;--spacing-card-v:1.5rem;--spacing-card-h:1.5rem;--spacing-question:1.25rem;--line-height:1.5}[data-theme=app]{--bg:#13111a;--surface:#1e1b2e;--border:#2e2a44;--border-light:#252238;--text:#e8e4f8;--text-strong:#f5f2ff;--text-secondary:#9088b8;--text-muted:#6860a0;--text-dim:#a098c8;--text-body:#c8c0e8;--accent:#7c3aed;--accent-dark:#6d28d9;--accent-bg:#2a1f4a;--accent-text:#a78bfa;--callout-bg:#1e1a30;--widget-bg:#18152a;--progress-track:#2e2a44;--attention-bg:#2a2510;--attention-border:#6e5820;--error:#f87171;--btn-disabled:#3a3060;--radius-card:16px;--radius-widget:8px;--radius-btn:999px;--card-shadow:0 8px 32px #0006;--spacing-question:2rem;--line-height:1.6}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:16px;line-height:var(--line-height);color:var(--text);background:var(--bg);min-height:100vh}#root{flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.survey-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--card-shadow);border:var(--card-border);padding:var(--spacing-card-v) var(--spacing-card-h);width:100%;max-width:680px}.survey-header{margin-bottom:2rem}.survey-title{color:var(--text-strong);font-size:1.5rem;font-weight:700;font-family:var(--font-heading);margin-bottom:.25rem}.survey-subtitle{color:var(--text-secondary);font-size:.9rem;font-weight:400}.section-intro{background:var(--callout-bg);border-left:3px solid var(--accent);border-radius:0 var(--radius-widget) var(--radius-widget) 0;color:var(--text-body);margin-bottom:2rem;padding:1rem 1.25rem;font-size:.95rem}.section-intro p+p{margin-top:.75rem}.question-block{margin-bottom:var(--spacing-question);padding-bottom:var(--spacing-question);border-bottom:1px solid var(--border-light)}.question-block:last-of-type{border-bottom:none}.question-label{color:var(--text-strong);margin-bottom:1rem;font-size:1rem;font-weight:500}.question-id{color:var(--text-muted);margin-right:.4rem;font-size:.8rem;font-weight:400}.likert-row{flex-direction:column;gap:.5rem;display:flex}.likert-anchors{color:var(--text-secondary);justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;display:flex}.likert-options{gap:.4rem;display:flex}.likert-option{flex-direction:column;flex:1;align-items:center;gap:.3rem;max-width:72px;display:flex}.likert-option input[type=radio]{display:none}.likert-option label{aspect-ratio:1;border:2px solid var(--border);border-radius:var(--radius-widget);width:100%;color:var(--text-dim);cursor:pointer;background:var(--widget-bg);justify-content:center;align-items:center;font-size:.8rem;font-weight:600;transition:all .12s;display:flex}.likert-option input:checked+label{background:var(--accent);border-color:var(--accent);color:#fff}.likert-option label:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.likert-option input:checked+label:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.scale-row{flex-direction:column;gap:.5rem;display:flex}.scale-anchors{color:var(--text-secondary);justify-content:space-between;font-size:.75rem;display:flex}.scale-options{gap:.3rem;display:flex}.scale-option{text-align:center;flex:1;max-width:56px}.scale-option input[type=radio]{display:none}.scale-option label{aspect-ratio:1;border:2px solid var(--border);border-radius:var(--radius-widget);width:100%;color:var(--text-dim);cursor:pointer;background:var(--widget-bg);justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:all .12s;display:flex}.scale-option input:checked+label{background:var(--accent);border-color:var(--accent);color:#fff}.scale-option label:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.scale-option input:checked+label:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.yesno-options{gap:.75rem;display:flex}.yesno-option input[type=radio]{display:none}.yesno-option label{border:2px solid var(--border);border-radius:var(--radius-widget);cursor:pointer;background:var(--widget-bg);color:var(--text-dim);padding:.6rem 2rem;font-size:.95rem;font-weight:500;transition:all .12s;display:inline-block}.yesno-option input:checked+label{background:var(--accent);border-color:var(--accent);color:#fff}.yesno-option label:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.yesno-option input:checked+label:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.numeric-input{align-items:center;gap:.75rem;display:flex}.numeric-input input[type=number]{border:2px solid var(--border);border-radius:var(--radius-widget);width:100px;color:var(--text-strong);background:var(--surface);padding:.6rem .75rem;font-size:1rem;transition:border-color .12s}.numeric-input input[type=number]:focus{border-color:var(--accent);outline:none}.input-hint{color:var(--text-muted);font-size:.85rem}.nav-row{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius-btn);cursor:pointer;border:none;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background .12s}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:disabled{background:var(--btn-disabled);cursor:not-allowed}.btn-secondary{color:var(--text-secondary);border:2px solid var(--border);border-radius:var(--radius-btn);cursor:pointer;background:0 0;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .12s}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-body)}.progress-bar-wrap{width:100%;max-width:680px;margin-bottom:1rem}.progress-label{color:var(--text-muted);justify-content:space-between;margin-bottom:.35rem;font-size:.8rem;display:flex}.progress-bar{background:var(--progress-track);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.attention-check-block{background:var(--attention-bg);border:1px solid var(--attention-border);border-radius:var(--radius-widget);margin-bottom:2rem;padding:1rem 1.25rem}.error-msg{color:var(--error);margin-top:.4rem;font-size:.85rem}.thankyou-page{text-align:center;padding:2rem 1rem}.thankyou-page h2{font-size:1.4rem;font-family:var(--font-heading);margin-bottom:1rem}.thankyou-page p{color:var(--text-dim);margin-bottom:.75rem}.welcome-bullets{margin:1.25rem 0;padding:0;list-style:none}.welcome-bullets li{color:var(--text-body);padding:.5rem 0 .5rem 1.5rem;position:relative}.welcome-bullets li:before{content:"→";color:var(--accent);font-weight:700;position:absolute;left:0}.radio-group{flex-direction:column;gap:.4rem;display:flex}.radio-option{flex-direction:column;gap:.3rem;display:flex}.radio-label{border:2px solid var(--border);border-radius:var(--radius-widget);cursor:pointer;color:var(--text-body);background:var(--widget-bg);align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.95rem;transition:all .1s;display:flex}.radio-label input{accent-color:var(--accent)}.radio-label:hover{border-color:var(--accent);background:var(--accent-bg)}.radio-label.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);font-weight:500}.other-text-input{border:2px solid var(--accent);border-radius:var(--radius-widget);background:var(--surface);width:calc(100% - 1rem);color:var(--text);margin-left:1rem;padding:.4rem .75rem;font-size:.9rem}.other-text-input:focus{outline:none}.text-input,.select-input{border:2px solid var(--border);border-radius:var(--radius-widget);width:100%;color:var(--text-strong);background:var(--surface);padding:.6rem .75rem;font-size:1rem;transition:border-color .12s}.text-input:focus,.select-input:focus{border-color:var(--accent);outline:none}.email-group{flex-direction:column;gap:.5rem;display:flex}.textarea-input{border:2px solid var(--border);border-radius:var(--radius-widget);width:100%;color:var(--text-strong);background:var(--surface);resize:vertical;padding:.75rem;font-family:inherit;font-size:.95rem;transition:border-color .12s}.textarea-input:focus{border-color:var(--accent);outline:none}.theme-picker{z-index:100;opacity:.45;gap:.35rem;transition:opacity .15s;display:flex;position:fixed;bottom:1rem;left:1rem}.theme-picker:hover{opacity:1}.theme-picker--dev{opacity:1;position:static}.theme-picker--dev .theme-btn{color:#6e6e9e;cursor:pointer;background:0 0;border:1px solid #3e3e5e;border-radius:4px;padding:.2rem .55rem;font-family:monospace;font-size:.72rem;transition:color .1s,border-color .1s}.theme-picker--dev .theme-btn:hover{color:#abb2bf;border-color:#6e6e9e}.theme-picker--dev .theme-btn--active{color:#e8e8f8;background:#2e2a44;border-color:#abb2bf}.theme-picker:not(.theme-picker--dev) .theme-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:.2rem .55rem;font-family:monospace;font-size:.72rem;transition:color .1s,border-color .1s}.theme-picker:not(.theme-picker--dev) .theme-btn:hover{color:var(--text);border-color:var(--text-muted)}.theme-picker:not(.theme-picker--dev) .theme-btn--active{color:var(--accent);border-color:var(--accent)}.dev-toggle{color:#6e6e8e;cursor:pointer;opacity:.5;z-index:100;background:#1e1e2e;border:1px solid #3e3e5e;border-radius:5px;padding:.35rem .75rem;font-family:monospace;font-size:.75rem;transition:opacity .15s;position:fixed;bottom:1rem;right:1rem}.dev-toggle:hover{opacity:1}.dev-view{z-index:200;background:#1e1e2e;display:flex;position:fixed;inset:0;overflow:hidden}.dev-source-panel{background:#1e1e2e;border-right:1px solid #3e3e5e;flex-direction:column;width:50%;min-height:0;display:flex}.dev-rendered-panel{background:var(--bg);flex-direction:column;width:50%;min-height:0;display:flex}.dev-panel-header{background:#16161e;border-bottom:1px solid #3e3e5e;flex-shrink:0;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.dev-panel-label{text-transform:uppercase;letter-spacing:.08em;color:#6e6e9e;font-family:monospace;font-size:.7rem}.dev-section-name{color:#a0a0c0;flex:1;font-family:monospace;font-size:.8rem}.dev-exit-btn{color:#6e6e9e;cursor:pointer;background:0 0;border:1px solid #3e3e5e;border-radius:4px;margin-left:auto;padding:.2rem .6rem;font-size:.75rem}.dev-exit-btn:hover{color:#e06c75;border-color:#e06c75}.dev-theme-btn{color:#6e6e9e;cursor:pointer;background:0 0;border:1px solid #3e3e5e;border-radius:4px;padding:.2rem .6rem;font-family:monospace;font-size:.75rem}.dev-theme-btn:hover{color:#abb2bf;border-color:#6e6e9e}.dev-source-pre{color:#abb2bf;white-space:pre;tab-size:2;background:#1e1e2e;flex:1;margin:0;padding:1rem 1.25rem;font-family:JetBrains Mono,Fira Code,Cascadia Code,Menlo,monospace;font-size:.78rem;line-height:1.65;overflow:auto}.dev-nav{background:#16161e;border-top:1px solid #3e3e5e;flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.dev-nav-btn{color:#abb2bf;cursor:pointer;background:#2e2e4e;border:1px solid #3e3e5e;border-radius:4px;padding:.3rem .9rem;font-size:.9rem;transition:background .1s}.dev-nav-btn:hover:not(:disabled){color:#fff;background:#3e3e6e}.dev-nav-btn:disabled{opacity:.3;cursor:not-allowed}.dev-nav-counter{color:#6e6e9e;font-family:monospace;font-size:.8rem}.dev-rendered-scroll{flex-direction:column;flex:1;align-items:center;padding:1.5rem 1rem;display:flex;overflow-y:auto}.dev-rendered-scroll>*{width:100%;max-width:640px}.dev-flash{color:#98c379;background:#1a2e1a;border:1px solid #2e4e2e;border-radius:4px;padding:.15rem .5rem;font-family:monospace;font-size:.75rem;animation:.15s flash-in}@keyframes flash-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.hl-delim{color:#56b6c2}.hl-key{color:#c678dd}.hl-val{color:#98c379}.hl-punct{color:#5c6370}.hl-heading{color:#e5c07b;font-weight:700}.hl-quote{color:#56b6c2}.hl-id{color:#e06c75;font-weight:700}.hl-brace{color:#5c6370}.hl-attr-key{color:#d19a66}.hl-attr-val{color:#98c379}.hl-flag{color:#c678dd}.hl-sub-tag{color:#61afef}
