*{box-sizing:border-box}
html,body,#app,#canvasWrap{width:100%;height:100%;margin:0}
body{overflow:hidden;background:#121212;color:#d3d3d3;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
#canvasWrap{position:relative;overflow:hidden;background:#121212;cursor:grab;touch-action:none}
#canvasWrap.dragging{cursor:grabbing}
#scene{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
#scene svg{display:block;overflow:visible;user-select:none;-webkit-user-select:none}
#ui{position:fixed;inset:0;pointer-events:none}
.brand{position:absolute;top:18px;left:20px;font-weight:700;letter-spacing:.02em;font-size:14px;opacity:.78}
.hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  padding:8px 12px;border:1px solid #2b2b2b;border-radius:10px;
  background:rgba(18,18,18,.78);backdrop-filter:blur(8px);font-size:12px;opacity:.8;white-space:nowrap}
.controls{position:absolute;right:18px;top:18px;display:flex;gap:8px;pointer-events:auto}
button{border:1px solid #333;background:#1b1b1b;color:#ddd;border-radius:8px;padding:7px 11px;cursor:pointer}
button:hover{background:#252525}
@media(max-width:600px){.hint{font-size:11px;bottom:10px}.brand{top:12px;left:12px}.controls{top:12px;right:12px}}
