.family-explorer{border:1px solid var(--line);isolation:isolate;background:radial-gradient(at 40% 40%,#25261e,#171611 80%);border-radius:16px;min-width:0;overflow:hidden}.family-toolbar{border-bottom:1px solid var(--line);background:#1d1b15;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.family-toolbar label{flex:1;min-width:0;max-width:320px}.family-toolbar select{width:100%;min-height:44px;color:var(--parch);border:1px solid var(--line);font:inherit;background:#14130f;border-radius:9px;padding:10px 30px 10px 12px;font-size:14px}.family-zoom{flex-shrink:0;align-items:center;gap:4px;display:flex}.family-zoom button{min-width:44px;min-height:44px;color:var(--parch);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:7px;display:flex}.family-zoom button:hover{background:#3b3323;border-color:#786039}.family-zoom output{text-align:center;font-variant-numeric:tabular-nums;color:#d2c3a5;min-width:44px;font-size:12px}.family-canvas-wrap{position:relative;overflow:hidden}.family-canvas{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;width:100%;height:clamp(380px,65svh,680px);display:block}.family-canvas:focus-visible{outline:2px solid var(--gold-bright);outline-offset:-4px}.family-canvas[data-dragging] *{cursor:grabbing!important}.family-help{color:#b5ab94;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin:0;padding:12px 16px;font-size:12px;line-height:1.65;display:flex}@media (max-width:600px){.family-toolbar{flex-wrap:wrap;gap:6px;padding:10px}.family-toolbar label{flex-basis:100%;max-width:none}.family-zoom{justify-content:center;width:100%}.family-canvas{height:clamp(380px,60svh,540px)}.family-help{padding:10px 12px}.family-help span:last-child{display:none}}@media (max-height:500px) and (orientation:landscape){.family-canvas{height:320px}}.family-explorer,.family-canvas-wrap{overflow-anchor:none}.family-house-controls{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.family-house-controls label{flex:1;min-width:180px}.family-house-controls select{background:var(--ink-700);width:100%;min-height:44px;color:var(--parch);border:1px solid var(--line);font:inherit;border-radius:8px;padding:10px}
