.house-viewer{scroll-margin-top:calc(var(--space-8) * 3);min-width:0;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-bg-secondary)}.house-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.house-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);height:780px;max-height:85dvh;min-height:580px}.house-controls{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4);overflow-y:auto;border-right:1px solid var(--color-border);min-width:0}.house-controls h2{font-size:var(--type-label);font-weight:600}.house-controls .ui-choice-field{gap:var(--space-control)}.house-controls .ui-choice-label{font-size:var(--type-caption);line-height:1.4}.house-floor-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-control)}.house-floor-buttons .ui-button{padding-inline:var(--space-control)}.house-metrics{display:grid;gap:var(--space-field);font-size:var(--type-caption)}.house-metrics dt{color:var(--color-text-secondary)}.house-metrics dd{font-family:var(--font-mono);margin-top:var(--space-1)}.house-stage{position:relative;min-width:0;overflow:hidden;background:var(--color-bg-tertiary)}.house-stage canvas{display:block;width:100%;height:100%;touch-action:none}.house-scene-label{position:absolute;top:var(--space-4);left:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-badge);font-size:var(--type-caption);pointer-events:none}.house-camera{position:absolute;bottom:var(--space-12);right:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:flex-end}.house-camera .ui-button{padding-inline:var(--space-3)}.house-hint{position:absolute;bottom:var(--space-3);left:var(--space-4);right:var(--space-4);font-size:var(--type-caption);color:var(--color-text-secondary);pointer-events:none;background:var(--color-bg-secondary);padding:var(--space-2);border-radius:var(--radius-badge)}.house-selection{display:none;position:absolute;top:calc(var(--space-8) * 2);left:var(--space-4);right:var(--space-4);max-width:350px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-3);font-size:var(--type-caption);pointer-events:none}.house-selection strong,.house-selection span{display:block}.house-selection span{color:var(--color-text-secondary)}.house-status,.house-error{position:absolute;inset:30%;padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-control);text-align:center;font-size:var(--type-label)}.house-error[hidden]{display:none!important}.house-caption{padding:var(--space-4);border-top:1px solid var(--color-border)}.house-service label>span{padding-left:var(--space-2);border-left:3px solid currentColor}.house-service-electric label>span{border-left-color:#9866ca}.house-service-water label>span{border-left-color:#308abf}.house-service-drain label>span{border-left-color:#52765d}.house-service-gas label>span{border-left-color:#d3a537}.house-service-heating label>span{border-left-color:#d66f54}@media(max-width:760px){.house-workspace{display:flex;flex-direction:column-reverse;height:auto;max-height:none;min-height:0}.house-stage{height:560px;max-height:70dvh;min-height:420px}.house-controls{display:grid;grid-template-columns:1fr 1fr;overflow:visible;border-right:0;border-top:1px solid var(--color-border);gap:var(--space-6)}.house-controls>.ui-disclosure,.house-controls>.ui-field,.house-controls>.house-metrics{grid-column:1/-1}.house-camera{bottom:calc(var(--space-8) * 3);right:var(--space-2);left:var(--space-2)}.house-hint{left:var(--space-2);right:var(--space-2)}.house-toolbar .ui-cluster,.house-toolbar .ui-button{flex:1}.house-toolbar{gap:var(--space-control)}.house-controls .ui-button{font-size:var(--type-caption)}}@media(prefers-reduced-motion:reduce){.house-viewer *{scroll-behavior:auto}}
