.step-pane{flex-direction:column;min-height:calc(100vh - 3px);padding:80px 72px;display:flex}.unit-toggle{border:1.5px solid var(--sand);margin-bottom:4px;display:inline-flex;overflow:hidden}.unit-toggle button{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;background:var(--warm-white);color:var(--muted);cursor:pointer;border:none;padding:8px 20px;font-size:.75rem;font-weight:500;transition:background .15s,color .15s}.unit-toggle button.active{background:var(--ink);color:var(--cream)}.height-row{align-items:flex-end;gap:8px;display:flex}.height-row .join-field{flex:1}.height-hint{color:var(--faint);white-space:nowrap;padding-bottom:16px;font-size:.78rem}.fitzpatrick-row{flex-wrap:wrap;gap:10px;display:flex}.fitzpatrick-swatch{cursor:pointer;border:2.5px solid #0000;border-radius:50%;width:44px;height:44px;transition:border-color .15s,transform .1s;position:relative}.fitzpatrick-swatch:hover{transform:scale(1.1)}.fitzpatrick-swatch.selected{border-color:var(--clay);outline:2px solid var(--clay);outline-offset:2px}.fitzpatrick-swatch:focus-visible{outline:2px solid var(--clay);outline-offset:3px}.fitzpatrick-none{color:var(--faint);cursor:pointer;border:1px solid #0000;align-self:center;margin-left:4px;padding:4px 8px;font-size:.75rem;transition:color .15s,border-color .15s}.fitzpatrick-none:hover{color:var(--muted);border-color:var(--sand)}.tattoo-toggle-row{gap:10px;display:flex}.tattoo-toggle-btn{border:1.5px solid var(--sand);background:var(--warm-white);color:var(--muted);font-family:var(--font-body);letter-spacing:.05em;cursor:pointer;text-align:center;flex:1;padding:14px;font-size:.82rem;font-weight:500;transition:all .15s}.tattoo-toggle-btn.active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.tattoo-toggle-btn:hover:not(.active){border-color:var(--clay);color:var(--clay)}.body-map-wrap{grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;display:grid}.body-map-figure{flex-direction:column;align-items:center;gap:8px;display:flex}.body-map-label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.body-map-svg{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;max-width:160px}.body-map-tags{background:var(--warm-white);border:1px solid var(--sand);flex-wrap:wrap;gap:6px;margin-top:4px;padding:12px;display:flex}.body-map-tag{background:var(--clay);color:var(--cream);cursor:pointer;border:none;padding:4px 10px;font-size:.72rem;font-weight:500;transition:background .15s}.body-map-tag:hover{background:var(--clay-light)}.upload-required-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.upload-slot{flex-direction:column;gap:6px;display:flex}.upload-slot-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:500}.upload-slot-required{color:var(--clay);margin-left:2px}.upload-slot-hint{color:var(--faint);font-size:.68rem}.upload-drop{border:2px dashed var(--sand);aspect-ratio:3/4;background:var(--warm-white);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.upload-drop:hover{border-color:var(--clay);background:#b5623d0a}.upload-drop.has-image{border-style:solid;border-color:var(--clay)}.upload-drop input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-drop-icon{color:var(--muted);font-size:1.2rem}.upload-drop-text{color:var(--muted);font-size:.75rem}.upload-preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.upload-remove{color:#fff;text-align:center;cursor:pointer;background:#000000a6;border:none;border-radius:50%;width:24px;height:24px;font-size:14px;line-height:24px;transition:background .15s;position:absolute;bottom:6px;right:6px}.upload-remove:hover{background:#c00}.upload-uploading-overlay{background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.upload-spinner{border:2px solid #ffffff4d;border-top-color:var(--clay);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-done-badge{background:var(--clay);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:6px;right:6px}.upload-additional-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.upload-additional-cell{aspect-ratio:1;background:var(--warm-white);border:1px solid var(--sand);position:relative;overflow:hidden}.upload-additional-cell img{object-fit:cover;width:100%;height:100%}.upload-video-drop{border:2px dashed var(--sand);background:var(--warm-white);cursor:pointer;justify-content:center;align-items:center;gap:12px;padding:20px 24px;transition:border-color .2s;display:flex;position:relative}.upload-video-drop:hover{border-color:var(--clay)}.upload-video-drop input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-video-filename{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;overflow:hidden}.upload-video-status{color:var(--muted);font-size:.75rem}.field-error{color:#c00;margin-top:-4px;font-size:.75rem}.friend-pair{background:var(--warm-white);border:1px solid var(--sand);grid-template-columns:1fr 1fr;gap:12px;padding:16px;display:grid}.add-friend-btn{border:1.5px dashed var(--sand);color:var(--muted);font-family:var(--font-body);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:10px 20px;font-size:.8rem;transition:border-color .15s,color .15s;display:inline-flex}.add-friend-btn:hover{border-color:var(--clay);color:var(--clay)}.success-pane{flex-direction:column;align-items:flex-start;min-height:calc(100vh - 3px);padding:80px 72px;display:flex}.compact-form .step-pane{min-height:auto;padding:0}@media (max-width:900px){.step-pane{padding:40px 28px}.upload-required-grid{grid-template-columns:1fr}.upload-additional-grid{grid-template-columns:repeat(3,1fr)}.body-map-wrap{grid-template-columns:1fr 1fr;gap:12px}.success-pane{padding:48px 28px}}@media (max-width:640px){.step-pane{padding:32px 20px}.upload-additional-grid{grid-template-columns:repeat(2,1fr)}.body-map-wrap{gap:8px}}
