/* The interaction follows the existing window in the northwest wall. */
.hotspot.family-mirror{left:12%;top:8%;width:16%;height:9%}.family-mirror b{position:absolute;top:100%;white-space:nowrap;padding:3px 8px;border-radius:20px;background:#fff7e2;color:#59416d;font:700 9px sans-serif}
.family-dialog{width:min(900px,96vw);max-height:96dvh;overflow:auto;border:1px solid #ffffff65;border-radius:24px;padding:0;color:#f6f0ff;background:#211d32;font-family:inherit;box-shadow:0 24px 80px #18152670}.family-dialog::backdrop{background:#1b233bb8;backdrop-filter:blur(5px)}.family-shell{padding:16px}.family-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 14px}.family-header small{font-size:9px;color:#bfb0d5;letter-spacing:2px}.family-header h2{margin:4px 0 0;font-size:23px}.family-shell button{font:inherit;cursor:pointer}.family-close{width:40px;height:40px;border:1px solid #ffffff35;border-radius:50%;font-size:25px;background:#ffffff10;color:white}.family-preview{position:relative;aspect-ratio:4/3;max-height:72dvh;margin:auto;overflow:hidden;border:1px solid #bda6e45c;border-radius:18px;background:radial-gradient(ellipse at 50% 40%,#675481,#30283f 70%)}.family-preview canvas{width:100%;height:100%;display:block;object-fit:contain}.family-preview video{display:none}.family-live{position:absolute;top:16px;left:16px;font-size:10px;letter-spacing:1px;padding:7px 10px;border-radius:20px;background:#30253e99;pointer-events:none}.family-gate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:22px;background:radial-gradient(ellipse at center,#645175,#30283f)}.family-camera-icon{display:grid;place-items:center;width:90px;height:90px;border:1px solid #ddc8ff55;background:#ffffff0c;border-radius:28px;font-size:42px;margin-bottom:12px}.family-gate h3{font-size:22px;margin:12px 0 0}.family-gate p{font-size:14px;color:#e1d7eb;margin:12px 0 22px;max-width:320px;line-height:1.5}.family-gate button{border:0;background:#eee1ff;color:#3b2754;border-radius:30px;font-weight:800;padding:15px 25px}.family-pose{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid #ffffff60;border-radius:30px;background:#fff6e9ed;color:#47344f;width:max-content;max-width:90%;font-size:14px}.family-pose>span{font-size:26px}.family-progress{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.family-progress i{display:block;width:35px;height:5px;border-radius:6px;background:#ffffff65}.family-progress i.done{background:#ffe5a8}.family-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px 0}.family-toolbar p{font-size:12px;color:#d5c9e0;line-height:1.4;margin:0}.family-actions{display:flex;gap:8px;flex-shrink:0}.family-actions button{border:1px solid #ffffff35;background:#ffffff12;color:#f4e9ff;border-radius:24px;padding:10px 14px;font-size:12px}.family-capture:disabled{opacity:.35;cursor:default}.family-note{text-align:center;margin:12px 0 0;font-size:10px;color:#b5a5c4}.family-result{position:absolute;top:16px;right:16px;display:flex;align-items:center;flex-direction:column;padding:12px 18px;background:#fff2d8ed;color:#59412e;border-radius:18px}.family-result strong{font-size:45px;line-height:1.1}.family-result span{font-size:11px;margin:5px 0}.family-result button{border:0;background:#695082;color:white;border-radius:20px;padding:7px 12px;margin-top:5px;font-size:11px}.family-shell [hidden]{display:none!important}.family-shell button:focus-visible{outline:3px solid #ffe2a4;outline-offset:3px}@media(max-width:600px){.family-dialog{border-radius:18px}.family-shell{padding:10px}.family-header{padding-bottom:10px}.family-header h2{font-size:20px}.family-preview{max-height:none}.family-toolbar{flex-wrap:wrap}.family-toolbar p{flex:1;min-width:140px}.family-actions button{font-size:11px;padding:9px 12px}.family-pose{font-size:12px;padding:8px 12px}.family-live{top:10px;left:10px;font-size:8px}.family-result{top:10px;right:10px;padding:10px}.family-result strong{font-size:34px}.family-gate h3{font-size:18px}.family-gate p{font-size:12px}.family-camera-icon{width:65px;height:65px;font-size:30px}}
.family-filter-picker{position:absolute;top:15px;right:15px;display:flex;gap:4px;padding:4px;background:#241a34b3;border:1px solid #ffffff35;border-radius:24px}.family-filter-picker button{border:0;border-radius:20px;padding:7px 12px;color:#f1e4ff;background:transparent;font-size:11px}.family-filter-picker button[aria-pressed=true]{color:#493158;background:#f2e3ff}.family-result{top:68px}@media(max-width:600px){.family-filter-picker{top:9px;right:9px}.family-filter-picker button{font-size:10px;padding:6px 9px}.family-result{top:58px}}
