*{box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#333;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.font-mono{font-family:Courier New,Consolas,Monaco,Menlo,Source Code Pro,monospace}body{margin:0;padding:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}#root{width:100%;min-height:100vh}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#74b9ff;color:#fff;cursor:pointer;transition:all .25s}button:hover{background-color:#0984e3;transform:translateY(-1px)}button:focus,button:focus-visible{outline:2px solid #74b9ff;outline-offset:2px}.xr-controls{position:absolute;top:20px;right:20px;display:flex;gap:10px;z-index:100}.xr-button{padding:12px 24px;font-size:16px;font-weight:600;border:2px solid rgba(255,255,255,.3);border-radius:8px;background:#0009;color:#ffffff80;cursor:not-allowed;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.xr-button.available{background:#1478ffcc;color:#fff;border-color:#1478ff;cursor:pointer;box-shadow:0 4px 12px #1478ff4d}.xr-button.available:hover{background:#1478ff;box-shadow:0 6px 16px #1478ff80;transform:translateY(-2px)}.xr-button.available:active{transform:translateY(0);box-shadow:0 2px 8px #1478ff4d}.xr-button:disabled{opacity:.5}.xr-button.loading{animation:pulse 1.5s ease-in-out infinite}.ar-button.available{background:#ff6432cc;border-color:#ff6432;box-shadow:0 4px 12px #ff64324d}.ar-button.available:hover{background:#ff6432;box-shadow:0 6px 16px #ff643280}.vr-button.available{background:#6432ffcc;border-color:#6432ff;box-shadow:0 4px 12px #6432ff4d}.vr-button.available:hover{background:#6432ff;box-shadow:0 6px 16px #6432ff80}.navigation-controls{position:absolute;top:20px;left:20px;display:flex;gap:8px;z-index:100}.nav-button{padding:10px 16px;font-size:14px;font-weight:500;border:2px solid rgba(255,255,255,.3);border-radius:6px;background:#0009;color:#fff;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-button:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.nav-button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.nav-button:disabled{opacity:.5;cursor:not-allowed}.nav-button:disabled:hover{background:#0009;border-color:#ffffff4d;transform:none;box-shadow:none}.marker-button{background:#32c86499;border-color:#32c864cc}.marker-button:hover{background:#32c864cc;border-color:#32c864}.marker-button.active{background:#ff6432cc;border-color:#ff6432;box-shadow:0 4px 12px #ff643266}.marker-button.active:hover{background:#ff6432}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:768px){.xr-controls,.navigation-controls{top:10px;gap:6px}.xr-controls{right:10px}.navigation-controls{left:10px}.xr-button{padding:10px 16px;font-size:14px}.nav-button{padding:8px 12px;font-size:12px}}.scene-root{position:relative;width:100%;height:100vh;overflow:hidden}.xr-controls{position:absolute;top:20px;right:20px;display:flex;gap:12px;z-index:1000;pointer-events:auto}.xr-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#000c;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:100px}.xr-button:hover{background:#000000e6;border-color:#fff9;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.xr-button:active{transform:translateY(0)}.ar-button{border-color:#22c55e99}.ar-button:hover{border-color:#22c55ee6;background:#22c55e1a}.vr-button{border-color:#3b82f699}.vr-button:hover{border-color:#3b82f6e6;background:#3b82f61a}@keyframes xr-pulse{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.xr-button:disabled{opacity:.5;cursor:not-allowed;background:#8080804d;border-color:#8080804d}.xr-button.loading{cursor:not-allowed;background:#ffa50033;border-color:#ffa50099;animation:xr-loading 1.5s ease-in-out infinite}@keyframes xr-loading{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.xr-button.available{animation:xr-pulse 2s ease-in-out infinite}.navigation-controls{position:absolute;top:20px;left:20px;display:flex;gap:8px;flex-wrap:wrap;max-width:320px;z-index:1000;pointer-events:auto}.nav-button{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:#4a4a4ae6;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:70px}.nav-button:hover{background:#4a4a4a;border-color:#fff6;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.nav-button:active{transform:translateY(0)}.reset-button{border-color:#ef444466}.reset-button:hover{border-color:#ef4444cc;background:#ef44441a}.frontal-button{border-color:#22c55e66}.frontal-button:hover{border-color:#22c55ecc;background:#22c55e1a}.lateral-button{border-color:#3b82f666}.lateral-button:hover{border-color:#3b82f6cc;background:#3b82f61a}.top-button{border-color:#a855f766}.top-button:hover{border-color:#a855f7cc;background:#a855f71a}.marker-button{border-color:#fbbf2466}.marker-button:hover{border-color:#fbbf24cc;background:#fbbf241a}.marker-button.active{border-color:#fbbf24;background:#fbbf2433;color:#fbbf24}.marker-button.active:hover{background:#ef444433;border-color:#ef4444cc;color:#ef4444}@media(max-width:768px){.xr-controls{top:10px;right:10px;gap:8px}.navigation-controls{top:10px;left:10px;gap:6px;max-width:240px}.xr-button{padding:8px 12px;font-size:12px;min-width:60px}.nav-button{padding:6px 10px;font-size:11px;min-width:55px}}@media(max-width:480px){.xr-controls{top:5px;right:5px;gap:6px}.navigation-controls{top:5px;left:5px;gap:4px;max-width:200px}.xr-button{padding:6px 8px;font-size:11px;min-width:50px}.nav-button{padding:4px 8px;font-size:10px;min-width:50px}}
