:root{--blue:#087db5;--blue-deep:#075b82;--ink:#13212b;--muted:#61717c;--line:#d7e1e7;--soft:#eef7fb;--paper:#fff;--bg:#f3f6f7;--shadow:0 18px 55px rgba(22,55,72,.10);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f7fafb 0,#eef3f5 100%);font-size:16px;line-height:1.5}button,input,textarea{font:inherit}button{cursor:pointer}.app-header{height:82px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand-mark{width:40px;height:48px;position:relative}.brand-mark:before,.brand-mark:after,.brand-mark span:before,.brand-mark span:after{content:"";position:absolute;background:var(--blue);border-radius:50%}.brand-mark:before{width:9px;height:9px;left:16px;top:1px}.brand-mark:after{width:8px;height:38px;left:16px;top:11px;transform:rotate(39deg);border-radius:6px}.brand-mark span:before{width:8px;height:38px;left:16px;top:11px;transform:rotate(-39deg);border-radius:6px}.brand-copy{display:flex;align-items:baseline;gap:12px}.brand-copy strong{font:600 30px Georgia,serif;letter-spacing:.15em;color:#667078}.brand-copy small{color:var(--muted);max-width:220px;line-height:1.15}.privacy-pill{margin-left:auto;color:#397084;background:#eff9f9;border:1px solid #cbe7e7;padding:8px 13px;border-radius:99px;font-size:.82rem;display:flex;align-items:center;gap:8px}.privacy-pill span{width:8px;height:8px;border-radius:50%;background:#29a58e}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto 60px}.intro{display:grid;grid-template-columns:1fr 290px;gap:30px;align-items:end;padding:48px 8px 34px}.eyebrow{font-weight:800;letter-spacing:.14em;color:var(--blue);font-size:.76rem;margin:0 0 10px}.intro h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;margin:0;max-width:790px}.intro>div>p:last-child{font-size:1.05rem;color:var(--muted);max-width:720px;margin:16px 0 0}.privacy-card{background:#eaf6f8;border-left:4px solid #4eb4bc;border-radius:10px;padding:18px 20px;display:flex;flex-direction:column}.privacy-card span{font-size:.88rem;color:#4b6871;margin-top:2px}.steps{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:14px 14px 0 0;overflow:hidden}.step{border:0;border-right:1px solid var(--line);background:#fff;padding:16px 12px;display:flex;align-items:center;justify-content:center;gap:10px;color:#71808a}.step:last-child{border-right:0}.step span{width:28px;height:28px;border-radius:50%;border:1px solid #bccbd2;display:grid;place-items:center;font-size:.8rem;font-weight:700}.step em{font-style:normal;font-weight:650;font-size:.82rem}.step.active{color:var(--blue-deep);background:var(--soft)}.step.active span{background:var(--blue);border-color:var(--blue);color:#fff}.step.done span{background:#daf2ed;border-color:#6ebfab;color:#196c5a}.panel{display:none;background:#fff;border:1px solid var(--line);border-top:0;box-shadow:var(--shadow);padding:38px clamp(20px,4vw,54px);min-height:470px}.panel.active{display:block}.panel-heading{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px}.panel-heading>span{font:italic 700 1rem Georgia,serif;color:var(--blue);background:var(--soft);width:42px;height:42px;border-radius:50%;display:grid;place-items:center}.panel-heading h2{font:500 1.8rem Georgia,serif;margin:0}.panel-heading p{margin:3px 0 0;color:var(--muted)}.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.compact{margin:26px 0}.wide{display:block;margin:0 0 25px}label{font-weight:680;color:#30414c;font-size:.92rem}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea{display:block;width:100%;border:1px solid #bdccd4;border-radius:8px;background:#fff;color:var(--ink);padding:12px 13px;margin-top:7px;outline:none;transition:.15s border,.15s box-shadow}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,125,181,.12)}textarea{resize:vertical;min-height:84px}fieldset{border:0;padding:0;margin:28px 0}legend{font-weight:800;margin-bottom:13px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.choice-grid.one{grid-template-columns:1fr}.choice-grid label,.inline-radio label{border:1px solid var(--line);border-radius:8px;padding:11px 13px;display:flex;align-items:center;gap:10px;background:#fff;font-weight:520}.choice-grid input,.inline-radio input{accent-color:var(--blue);width:18px;height:18px}.other{display:flex;align-items:center;gap:10px;margin-top:12px}.other input{flex:1;margin:0!important}.with-unit{display:flex;align-items:center;gap:10px}.with-unit input{flex:1}.with-unit span{font-weight:500;color:var(--muted);margin-top:7px}.inline-radio{display:grid;grid-template-columns:auto auto minmax(180px,1fr);gap:10px}.inline-radio>input{margin:0!important}.draw-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f7fafb;border:1px solid var(--line);padding:10px;border-radius:12px 12px 0 0;position:sticky;top:92px;z-index:5}.tool,.icon-btn{border:1px solid transparent;background:transparent;border-radius:8px;padding:9px 11px;display:flex;align-items:center;gap:7px;color:#40525e}.tool.active{border-color:#9ecbdd;background:#fff;color:var(--blue-deep);box-shadow:0 2px 7px rgba(0,0,0,.06)}.sample{width:26px;height:12px;display:block;border-bottom:3px solid}.sample.pain{border-color:#d64a4a}.sample.numb{border-color:#2589c9;opacity:.45;border-bottom-width:7px}.sample.tingle{border-color:#754fb8;border-bottom-style:dotted}.sample.burn{border-color:#ed8d25;border-bottom-style:dashed}.sample.stab{border-color:#263640;transform:skew(-25deg)}.toolbar-spacer{flex:1}.body-stage{position:relative;max-width:780px;margin:0 auto;background:#fff;touch-action:none;user-select:none}.body-stage img{display:block;width:100%;height:auto;pointer-events:none}.body-stage canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.pain-scales{max-width:780px;margin:24px auto 0}.pain-scales label{display:grid;grid-template-columns:1fr auto;gap:5px}.pain-scales output{font-size:1.5rem;color:var(--blue);font-weight:800}.pain-scales input{grid-column:1/-1;width:100%;accent-color:var(--blue)}.signature-block{margin-top:30px;background:#f7fafb;border:1px solid var(--line);border-radius:12px;padding:18px}.signature-block>div{display:flex;justify-content:space-between}.signature-block small{color:var(--muted)}.signature-block canvas{width:100%;height:150px;background:#fff;border:1px dashed #9cafb9;border-radius:8px;margin-top:12px;touch-action:none}.text-btn{border:0;background:transparent;color:var(--blue-deep);font-weight:700;margin-top:8px;padding:4px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-item{padding:14px 16px;background:#f7fafb;border:1px solid var(--line);border-radius:9px}.review-item.wide{grid-column:1/-1;margin:0}.review-item small{display:block;color:var(--muted);font-weight:700}.review-item p{margin:4px 0 0;white-space:pre-wrap}.privacy-confirm{display:flex;align-items:center;gap:14px;background:#eaf7f2;border:1px solid #bfe3d5;border-radius:11px;padding:17px;margin:26px 0}.privacy-confirm>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#36a783;color:#fff;font-weight:900}.privacy-confirm p{margin:2px 0 0;color:#4d6960}.download-btn{width:100%;border:0;border-radius:11px;background:var(--blue);color:#fff;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 18px rgba(8,125,181,.22)}.download-btn span{font-weight:800}.download-btn small{opacity:.8}.download-btn:disabled{opacity:.6;cursor:wait}.download-status{text-align:center;color:var(--muted);min-height:24px}.form-actions{display:flex;justify-content:space-between;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;padding:20px clamp(20px,4vw,54px)}.form-actions button{border-radius:8px;padding:12px 24px;font-weight:800}.secondary{background:#fff;border:1px solid #aebec6;color:#435560}.primary{background:var(--blue);border:1px solid var(--blue);color:#fff}.form-actions button:disabled{opacity:.4;cursor:not-allowed}footer{width:min(1180px,calc(100% - 32px));margin:0 auto 28px;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.82rem}footer span{font:600 1.1rem Georgia,serif;letter-spacing:.12em}footer p{margin:0}footer button{margin-left:auto;border:0;background:transparent;color:var(--blue-deep);font-weight:700}
@media(max-width:800px){.app-header{height:auto;min-height:72px;padding:11px 16px}.brand-copy small{display:none}.brand-copy strong{font-size:25px}.privacy-pill{font-size:0;padding:10px}.privacy-pill span{width:10px;height:10px}.shell{width:min(100% - 20px,700px)}.intro{grid-template-columns:1fr;padding:30px 4px 24px}.privacy-card{display:none}.steps{overflow-x:auto;grid-template-columns:repeat(5,minmax(68px,1fr))}.step{padding:12px 8px;flex-direction:column;gap:5px}.step em{font-size:.67rem;text-align:center;line-height:1.15}.panel{padding:26px 18px}.grid.two,.choice-grid,.review-grid{grid-template-columns:1fr}.inline-radio{grid-template-columns:1fr 1fr}.inline-radio>input{grid-column:1/-1}.draw-toolbar{top:82px}.tool{padding:9px}.tool span,.icon-btn span{display:none}.toolbar-spacer{display:none}.body-stage{margin:0 -8px}.pain-scales{grid-template-columns:1fr!important}.signature-block>div{display:block}.signature-block small{display:block}.review-item.wide{grid-column:auto}.form-actions{padding:16px 18px}.intro h1{font-size:2.15rem}}
@media print{.app-header,.intro,.steps,.form-actions,footer{display:none}.shell{width:100%;margin:0}.panel{box-shadow:none;border:0}}
.sample.stab{border-bottom-style:dashed}
.reset-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px!important;border:1px solid #aebec6!important;border-radius:8px;background:#fff!important;color:#435560!important;font-weight:800;line-height:1.25;box-shadow:0 2px 6px rgba(20,35,45,.06)}
.reset-btn:hover{border-color:var(--blue)!important;color:var(--blue-deep)!important;background:var(--soft)!important}
.form-step[data-panel="0"] .grid.two>label,.form-step[data-panel="1"]>label.wide,.form-step[data-panel="1"]>.grid.two>label,.form-step[data-panel="1"]>fieldset>legend,.form-step[data-panel="2"] .pain-scales>label>span,.form-step[data-panel="3"]>label.wide,.form-step[data-panel="3"]>fieldset>legend{font-family:inherit;font-size:1rem;font-weight:800;line-height:1.4;color:#30414c}
