.visitor-figure{width:100%;height:auto;stroke:none}
.visitor-editor{width:min(700px,calc(100% - 24px));max-height:calc(100dvh - 26px);padding:0;border:1px solid #c9bfad;background:#faf7ee;color:var(--ink);box-shadow:0 20px 70px #302e2463}
.visitor-editor::backdrop{background:#2d2b236b;backdrop-filter:blur(3px)}
.visitor-editor form{padding:24px clamp(16px,4vw,33px);margin:0}
.visitor-editor-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:19px}
.visitor-editor-header .kicker{margin-bottom:7px}
.visitor-editor h2{font:600 clamp(27px,5vw,41px)/1.12 var(--serif);margin:0}
.visitor-close{display:grid;place-items:center;border:1px solid var(--line);background:transparent;width:39px;height:39px;font:400 27px/1 var(--sans);padding:0}
.visitor-close:hover{background:#eee8db}
.visitor-editor-layout{display:grid;grid-template-columns:minmax(116px,.62fr) minmax(0,1.38fr);gap:22px;align-items:start}
.visitor-preview-panel{min-height:240px;display:grid;align-content:center;justify-items:center;gap:4px;background:radial-gradient(ellipse at 50% 45%,#f2efe5,#dce1d2);border:1px solid #d3d7c8;padding:10px 8px;color:#525e49;font-size:11px;letter-spacing:.08em}
.visitor-preview-panel svg{max-width:145px}
.visitor-fields{display:grid;gap:12px;min-width:0}
.visitor-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.visitor-names label:not(.visitor-swatch){font-size:13px;font-weight:600}
.visitor-names small{font-size:10px;color:var(--muted);font-weight:400;margin-inline-start:3px}
.visitor-names input:not([type=radio]){display:block;width:100%;height:36px;margin-top:5px;padding-inline:8px;border:1px solid #cfc5b3;background:#fffdf6;color:var(--ink);font-size:13px}
.visitor-fields fieldset{min-inline-size:0;border:0;margin:0;padding:0}
.visitor-fields legend{font-size:12px;font-weight:600;margin:0 0 5px;padding:0}
.visitor-options{display:flex;flex-wrap:wrap;gap:6px}
.visitor-option,.visitor-swatch{cursor:pointer;position:relative;display:grid;place-items:center}
.visitor-option input,.visitor-swatch input{position:absolute;inset:0;inline-size:100%;block-size:100%;margin:0;opacity:0;cursor:pointer}
.visitor-option span{border:1px solid #d3c9b9;min-width:58px;text-align:center;font-size:12px;padding:7px 11px}
.visitor-attire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.visitor-attire .visitor-option{align-items:stretch}
.visitor-attire .visitor-option span{display:flex;flex-direction:column;justify-content:center;gap:3px;width:100%;min-width:0;min-height:52px;text-align:start;padding:7px 9px;background:#f8f4e9}
.visitor-attire .visitor-option strong{font-size:12px;font-weight:650}
.visitor-attire .visitor-option small{font-size:10px;line-height:1.35;color:var(--muted)}
.visitor-option input:checked+span{border-color:#687559;background:#e1e7d6;color:#303d2a}
.visitor-option input:focus-visible+span,.visitor-swatch input:focus-visible+span{outline:2px solid #9a503e;outline-offset:3px}
.visitor-swatch{width:33px;height:33px}
.visitor-swatch span{display:block;width:25px;height:25px;border-radius:50%;background:var(--swatch);border:1px solid #3a302646}
.visitor-swatch input:checked+span{box-shadow:0 0 0 2px #faf7ee,0 0 0 3px #687559}
.visitor-privacy{font-size:11px;color:var(--muted);margin:15px 0}
.visitor-editor-actions{display:flex;justify-content:flex-end;gap:9px;background:transparent}
@media(max-width:575px){.visitor-editor form{padding-top:16px;padding-bottom:18px}.visitor-editor-header{margin-bottom:12px;padding-bottom:10px}.visitor-editor-layout{grid-template-columns:1fr;gap:12px}.visitor-preview-panel{min-height:0;padding-block:2px 5px}.visitor-preview-panel svg{max-width:87px}.visitor-fields{gap:9px}.visitor-names input:not([type=radio]){height:34px}.visitor-privacy{margin:12px 0}}
