*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;color:#35434b;background:#fff;border:1px solid #dce4e8;border-radius:8px;padding:8px 14px}button:disabled{cursor:default;opacity:.65}textarea{resize:vertical}input,textarea{border:1px solid #e5eaef}input:focus-visible,textarea:focus-visible,button:focus-visible{outline-offset:2px;outline:2px solid #149ccf}.consent-box{color:#4e5969;background:#fff;border-radius:6px;padding:12px;font-size:12px;line-height:1.8}.consent-notice{display:block}.consent-choice{align-items:center;gap:6px;margin-top:10px;display:flex}.q-page{background:#f4f9fa;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.questionnaire-scroll{overscroll-behavior:contain;flex:1;height:0;min-height:0;overflow:auto}.questionnaire-content{width:100%;max-width:760px;margin:0 auto;padding:12px}.state{text-align:center;flex-direction:column;align-items:center;padding:120px 0 24px;display:flex}.state-icon{color:#ff5a3c;background:#ffece8;border-radius:50%;width:48px;height:48px;margin-bottom:12px;font-size:28px;line-height:48px}.state-icon.ok{color:#23c4ff;background:#e5f7ff}.state-title{color:#1f2329;font-size:17px;font-weight:600}.state-desc{color:#8a9099;margin-top:8px;padding:0 30px;font-size:13px;line-height:1.6}.paper-head{padding:4px 4px 12px}.paper-title{color:#1f2329;font-size:18px;font-weight:700;line-height:1.5;display:block}.paper-meta{color:#8a9099;margin-top:4px;font-size:12px;display:block}.readonly-banner{background:#fff7e6;border-left:3px solid #faad14;border-radius:6px;margin-bottom:10px;padding:11px 12px}.readonly-title{color:#d46b08;font-size:14px;font-weight:600;display:block}.readonly-text{color:#ad6800;margin-top:4px;font-size:12.5px;line-height:1.6;display:block}.q-block{background:#fff;border-radius:8px;margin-bottom:10px;padding:14px 12px}.section{padding:4px 0}.section-text{color:#23c4ff;font-size:15px;font-weight:700}.divider{background:#eef1f4;height:1px}.unsupported{background:#fff7e6;border-radius:6px;padding:10px}.unsupported-title{color:#d46b08;font-size:14px;font-weight:600;display:block}.unsupported-desc{color:#ad6800;margin-top:4px;font-size:12px;display:block}.q-title-row{align-items:flex-start;margin-bottom:10px;display:flex}.required{color:#ff5a3c;margin-right:3px;font-size:15px;line-height:1.5}.q-title{color:#1f2329;white-space:pre-wrap;flex:1;font-size:15px;font-weight:600;line-height:1.5}.options{flex-direction:column;display:flex}.option{border:1px solid #eef1f4;border-radius:6px;align-items:center;margin-bottom:6px;padding:10px;display:flex}.option.active{background:#f2fbff;border-color:#23c4ff}.radio{border:1px solid #c7ccd4;border-radius:50%;flex-shrink:0;width:17px;height:17px;margin-right:8px}.radio.checked{border-width:5px;border-color:#23c4ff}.checkbox{border:1px solid #c7ccd4;border-radius:4px;flex-shrink:0;width:17px;height:17px;margin-right:8px}.checkbox.checked{background:#23c4ff;border-color:#23c4ff}.option-text{color:#1f2329;flex:1;font-size:14px;line-height:1.5}.option-img{width:60px;margin-left:8px}.field{flex-direction:column;display:flex}.input{color:#1f2329;box-sizing:border-box;background:#f7f9fb;border-radius:6px;width:100%;padding:10px;font-size:14px}.date-input{height:50px}.textarea{min-height:70px}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid #f2f4f7;padding:8px 0}.row:last-child{border-bottom:none}.row-label{color:#4e5969;margin-bottom:6px;font-size:13.5px;line-height:1.6;display:block}.row-input{min-height:40px}.matrix-row{flex-direction:column;display:flex}.chips{flex-wrap:wrap;display:flex}.chip{color:#4e5969;border:1px solid #eef1f4;border-radius:16px;margin:0 6px 6px 0;padding:5px 12px;font-size:13px}.chip.active{color:#23c4ff;background:#f2fbff;border-color:#23c4ff}.upload-row{flex-wrap:wrap;align-items:center;display:flex}.file-chip{background:#f2fbff;border-radius:16px;align-items:center;margin:0 6px 6px 0;padding:5px 9px;display:flex}.file-name{color:#23c4ff;font-size:12px}.file-del{color:#8a9099;margin-left:6px;font-size:15px;line-height:1}.upload-btn{color:#23c4ff;border:1px dashed #23c4ff;border-radius:16px;margin-bottom:6px;padding:6px 14px;font-size:13px}.hint{color:#8a9099;margin-top:4px;font-size:11px}.footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;flex-shrink:0;box-shadow:0 -2px 8px #0000000a}.submit-btn{color:#fff;background:#23c4ff;border:none;border-radius:22px;width:100%;height:44px;font-size:16px;font-weight:600;line-height:44px}.submit-btn[disabled]{color:#fff;background:#b9e9fb}.exit-bar{justify-content:flex-end;padding:12px 16px;display:flex}.attachment-overlay{z-index:1100;background:#fff;flex-direction:column;gap:12px;padding:16px;display:flex;position:fixed;inset:0}.attachment-image-scroll{flex:1;min-height:0}.attachment-image{max-width:none}.signature-mask{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.signature-dialog{box-sizing:border-box;background:#fff;border-radius:12px;width:calc(100% - 48px);max-width:620px;padding:16px}.signature-canvas{touch-action:none;background:#fafafa;border:1px solid #ccc;width:100%;height:220px;margin:16px 0}.signature-actions{gap:12px;display:flex}.option,.chip,.upload-btn,.file-name,.file-del{cursor:pointer}.q-title,.option-text,.row-label,.file-name{overflow-wrap:anywhere}.option-img{height:auto}.input{display:block}.submit-btn{max-width:736px;margin:0 auto;padding:0;display:block}.attachment-image-scroll{overflow:auto}.attachment-image{height:auto;display:block}.consent-choice input{accent-color:#149ccf;flex-shrink:0;width:18px;height:18px}.notice-mask{z-index:2200;background:#0006;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.notice-dialog{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:24px}.notice-dialog h2{margin:0;font-size:18px}.notice-dialog p{color:#4e5969;line-height:1.7}.notice-actions{justify-content:flex-end;gap:12px;display:flex}.toast{z-index:2300;color:#fff;text-align:center;background:#17232de8;border-radius:10px;width:max-content;max-width:calc(100% - 40px);padding:12px 18px;line-height:1.5;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}
