:root{--sepia-primary:#8B4513;--sepia-primary-dark:#6B3410;--sepia-secondary:#DEB887;--sepia-accent:#D2691E;--sepia-background:#F5F5DC;--sepia-text:#4A4A4A}.family-map-modal .zoom-controls{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:10px;align-items:center;background:var(--sepia-secondary);padding:8px;border-radius:8px;box-shadow:0 2px 4px rgb(139 69 19 / .1)}.family-map-modal .zoom-controls button{background:var(--sepia-primary);color:var(--sepia-background);border:none;width:30px;height:30px;border-radius:4px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s}.family-map-modal .zoom-controls button:hover{background:var(--sepia-accent)}.family-map-modal .edit-mode{display:flex;align-items:center;gap:8px;margin-left:8px}.family-map-modal .edit-mode input[type="checkbox"]{width:16px;height:16px;cursor:pointer}.family-map-modal .edit-mode label{color:var(--sepia-primary);font-weight:700;cursor:pointer}.family-map-modal #zoom-level{min-width:60px;text-align:center;color:var(--sepia-primary);font-weight:700}.family-map-modal .zoom-container{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;cursor:grab;touch-action:none}.family-map-modal .zoom-container:active{cursor:grabbing}.family-map-modal .container{position:relative;max-width:1200px;margin:0 auto;padding:2rem;transform-origin:center center;transition:transform 0.1s ease-out;will-change:transform}.family-map-modal .family-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2rem;position:relative;min-height:600px;max-width:1600px;margin:0 auto;grid-auto-flow:row;grid-auto-rows:minmax(200px,auto);grid-auto-columns:1fr}.family-map-modal .person-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:1rem}.family-map-modal .person-card[style*="grid-column: -1"]{grid-column:1;order:-1}.family-map-modal .person-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--sepia-secondary);margin-bottom:1rem;box-shadow:0 2px 4px rgb(139 69 19 / .1);pointer-events:none}.family-map-modal .person-info{text-align:center}.family-map-modal .person-name{font-size:1.2rem;font-weight:700;color:var(--sepia-primary);margin:0}.family-map-modal .person-dates{font-size:.9rem;color:var(--sepia-text);margin:.5rem 0}