*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;font-family:system-ui,sans-serif;font-size:14px}#app{display:grid;grid-template:"topbar topbar" 48px "sidebar viewport" 1fr / 300px 1fr}#topbar{grid-area:topbar;display:flex;align-items:center;gap:12px;padding:0 12px;background:#263238;color:#fff}#sidebar{grid-area:sidebar;overflow-y:auto;padding:12px;background:#eceff1}#viewport{grid-area:viewport;position:relative;overflow:hidden}#viewport canvas{display:block}button{cursor:pointer}#sidebar section{margin-bottom:18px}#sidebar h2{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#546e7a;margin-bottom:8px}.field{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.field span{flex:1}.field input,.field select{width:110px;padding:4px 6px;border:1px solid #b0bec5;border-radius:4px}.walls{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}#insert-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.insert-btn{padding:8px 6px;border:1px solid #90a4ae;border-radius:6px;background:#fff}.insert-btn:hover{background:#cfd8dc}.props-title{font-weight:600;margin-bottom:8px}.hint{color:#78909c;font-style:italic}button.danger{margin-top:10px;width:100%;padding:8px;background:#c62828;color:#fff;border:none;border-radius:6px}#topbar button{padding:6px 10px;border:1px solid #546e7a;border-radius:6px;background:#37474f;color:#fff}#topbar button.active{background:#ff9800;border-color:#ff9800;color:#212121}#topbar .spacer{flex:1}#topbar .sep{width:1px;height:24px;background:#546e7a}#topbar .grid-toggle{display:flex;align-items:center;gap:6px}
