:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e5e7eb;background:#05070b}*{box-sizing:border-box}html,body,#app,#runtime{width:100%;height:100%;margin:0;overflow:hidden}#runtime{position:relative}#runtime canvas{display:block;width:100%;height:100%}.viewer-status{position:fixed;left:16px;bottom:16px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px;border:1px solid #334155;border-radius:8px;background:#0f172ae0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 32px #0000004d}.viewer-status strong{color:#f8fafc;font-size:13px}.viewer-status span{color:#94a3b8;font-size:12px;overflow-wrap:anywhere}.viewer-status span[data-error=true]{color:#fca5a5}.viewer-status button{border:1px solid #475569;border-radius:6px;padding:6px 9px;color:#e2e8f0;background:#1e293b;cursor:pointer}#camera-controls,#hotspot-controls{display:inline-flex;align-items:center;gap:6px}#camera-controls[hidden],#hotspot-controls[hidden]{display:none}#camera-controls select,#hotspot-controls select{max-width:180px;padding:5px;color:#e2e8f0;background:#1e293b;border:1px solid #475569;border-radius:5px}@media(max-width:620px){.viewer-status{grid-template-columns:1fr auto}.viewer-status span{grid-column:1 / -1;grid-row:2}}[data-viewer-mode=public] .viewer-status strong,[data-viewer-mode=public] #reload,[data-viewer-mode=public] #active-camera,[data-viewer-mode=public][data-viewer-state=ready] #status,[data-viewer-mode=public] .viewer-status[data-empty=true]{display:none}[data-viewer-mode=public] .viewer-status{grid-template-columns:1fr}.measure-tools{position:fixed;right:16px;bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;max-width:calc(100vw - 32px);padding:8px 10px;border:1px solid #334155;border-radius:8px;background:#0f172ae0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 32px #0000004d}.measure-tools[hidden]{display:none}.measure-tools button{min-height:40px;padding:6px 14px;border:1px solid #475569;border-radius:6px;color:#e2e8f0;background:#1e293b;font:inherit;cursor:pointer}.measure-tools button[aria-pressed=true]{border-color:#35d0ba;color:#052e2a;background:#35d0ba}.measure-tools button:focus-visible{outline:2px solid #35d0ba;outline-offset:2px}#measure-hint{color:#cbd5e1;font-size:12px;overflow-wrap:anywhere}#measure-hint:empty{display:none}.layer-tools{position:fixed;top:16px;left:16px;display:grid;gap:6px;max-width:min(280px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:10px 12px;overflow-y:auto;border:1px solid #334155;border-radius:8px;background:#0f172ae0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 32px #0000004d}.layer-tools[hidden]{display:none}.layer-title{color:#94a3b8;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.layer-list{display:grid;gap:2px}.layer-list label{display:flex;align-items:center;gap:10px;min-height:40px;color:#e2e8f0;font-size:14px;cursor:pointer}.layer-list input{width:18px;height:18px;margin:0;accent-color:#35d0ba;cursor:pointer}.layer-list label:has(input:focus-visible){outline:2px solid #35d0ba;outline-offset:2px;border-radius:4px}
