@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700&display=swap";:root{--bg-0: #0d1420;--bg-1: #101b2a;--bg-2: #1a2c40;--panel: rgba(7, 14, 23, .78);--panel-border: rgba(126, 196, 255, .24);--text: #e9f2ff;--muted: #9db6d4;--accent: #43b3ff;--danger: #ff5d63;--focus: #7ad1ff;--control-bg-top: rgba(20, 47, 79, .92);--control-bg-bottom: rgba(12, 28, 48, .92)}body[data-theme=light]{--bg-0: #f7fbff;--bg-1: #ebf2fa;--bg-2: #dce9f7;--panel: rgba(245, 250, 255, .8);--panel-border: rgba(20, 66, 110, .16);--text: #132335;--muted: #516980;--accent: #0d79d9;--focus: #2389e2;--control-bg-top: rgba(230, 240, 251, .95);--control-bg-bottom: rgba(215, 228, 244, .95)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{font-family:Sora,Avenir Next,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 16% 12%,var(--bg-0) 0%,var(--bg-1) 56%,var(--bg-2) 100%)}#viewer-canvas{width:100%;height:100%;display:block}.overlay{position:fixed;top:12px;left:12px;bottom:12px;width:min(360px,calc(100vw - 24px));z-index:40;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 26px #0003;transition:transform .18s ease,opacity .18s ease,max-height .22s ease;max-height:none;overflow:hidden;display:flex;flex-direction:column}.app-title{font-family:Orbitron,Sora,sans-serif;font-size:18px;font-weight:700;letter-spacing:.08em;color:var(--accent);padding:12px 12px 4px;border-bottom:1px solid rgba(255,255,255,.1)}.overlay.collapsed{transform:translate(calc(-100% - 14px))}.overlay.minimized{width:56px;bottom:auto;height:42px;opacity:.75}.overlay.minimized .topbar,.overlay.minimized .status,.overlay.minimized .brand-slot,.overlay.minimized .app-title{display:none}.overlay.auto-hide.auto-hidden{transform:translate(-26px);opacity:.48}.topbar{display:flex;flex-direction:column;gap:10px;padding:10px;overflow-y:auto}.group{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px;min-height:0}.group-title{font-size:12px;font-family:Orbitron,Sora,sans-serif;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.group-controls{display:flex;flex-wrap:wrap;gap:6px}.group-controls-wrap{margin-bottom:6px}button,select,input[type=range]{font:inherit}button,select{border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,var(--control-bg-top),var(--control-bg-bottom));color:var(--text);border-radius:8px;padding:7px 9px;font-size:12px}button{cursor:pointer;transition:transform .12s ease,filter .14s ease}button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}button.active{border-color:var(--accent);box-shadow:0 0 0 1px #74b7ff47 inset}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.options-row,.orientation-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.options-row label,.orientation-controls label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.options-row span,.orientation-controls span{min-width:40px;text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}input[type=range]{width:92px;accent-color:var(--accent)}.orientation-controls{display:flex;flex-direction:column;align-items:stretch}.orientation-axis-row{display:grid;grid-template-columns:42px 1fr 64px auto;gap:6px;align-items:center}.orientation-axis-row label{font-size:11px;color:var(--muted)}.orientation-axis-row input[type=range]{width:100%}.angle-input{width:64px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,var(--control-bg-top),var(--control-bg-bottom));color:var(--text);border-radius:8px;padding:6px 8px;font-size:12px}.sub-status{margin-top:6px;font-size:11px;color:#d9e9ff}.status{padding:8px 12px;font-size:12px;color:var(--text);border-top:1px solid rgba(255,255,255,.1)}.brand-slot{padding:8px 12px 12px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.brand-name{font-size:13px;color:var(--accent);font-weight:600}.brand-links{display:flex;gap:8px}.brand-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:var(--text);text-decoration:none;font-size:11px;font-weight:700;background:linear-gradient(180deg,var(--control-bg-top),var(--control-bg-bottom));overflow:hidden}.brand-link:hover{filter:brightness(1.12)}.brand-icon{width:16px;height:16px;display:block}.queue-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.model-bubble{position:fixed;z-index:70;min-width:276px;max-width:320px;background:radial-gradient(circle at 14% -24%,#68b7ff4d,#68b7ff00 62%),linear-gradient(168deg,#0e1c2cf7,#08101ef2);border:1px solid rgba(122,192,255,.42);border-radius:16px;padding:12px;box-shadow:0 26px 46px #00000080,0 0 0 1px #ffffff0d inset;-webkit-backdrop-filter:blur(18px) saturate(1.25);backdrop-filter:blur(18px) saturate(1.25);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .18s ease,transform .23s cubic-bezier(.16,1,.3,1);pointer-events:none}.model-bubble.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.model-bubble:before{content:"";position:absolute;top:-8px;left:28px;width:14px;height:14px;transform:rotate(45deg);background:#0e1a28f5;border-left:1px solid rgba(122,192,255,.42);border-top:1px solid rgba(122,192,255,.42)}.model-bubble:after{content:"";position:absolute;top:0;left:14px;right:14px;height:1px;background:linear-gradient(90deg,#fff0,#a8d7ff85,#fff0);opacity:.7}.bubble-header{margin-bottom:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.bubble-header-copy{display:flex;flex-direction:column;min-width:0}.bubble-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);opacity:.94}.bubble-title{font-size:14px;font-weight:700;margin-top:2px;color:var(--text);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bubble-badge{border:1px solid rgba(122,192,255,.48);background:#43b3ff24;color:#cfeaff;border-radius:999px;padding:4px 8px;font-size:10px;line-height:1;letter-spacing:.03em;text-transform:uppercase;font-weight:700}.bubble-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#b0ceecf2;margin-bottom:6px}.bubble-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.bubble-row:last-child{margin-bottom:0}.bubble-row-color{border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#ffffff08;padding:8px}.bubble-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bubble-color-label{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:9px;color:#bdd5ee;font-size:12px;font-weight:600;letter-spacing:.02em}.bubble-color-label input[type=color]{width:36px;height:30px;border:1px solid rgba(255,255,255,.38);border-radius:10px;padding:0;background:transparent;overflow:hidden;cursor:pointer}.model-bubble .bubble-btn{border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700;letter-spacing:.01em;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:0 8px 16px #03081059}.model-bubble .bubble-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.model-bubble .bubble-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.96)}.model-bubble .bubble-btn-primary{background:linear-gradient(180deg,#3a8ddff2,#235e98f2)}.model-bubble .bubble-btn-accent{background:linear-gradient(180deg,#50bafff2,#2476b6f2)}.model-bubble .bubble-btn-danger{background:linear-gradient(180deg,#e85862f2,#a12c34f2)}.model-bubble .bubble-btn-muted{background:linear-gradient(180deg,#455568f2,#2b3746f2)}.model-bubble .bubble-btn-axis-x{background:linear-gradient(180deg,#e25c61f2,#9a3037f2)}.model-bubble .bubble-btn-axis-y{background:linear-gradient(180deg,#4fba73f2,#2a7e46f2)}.model-bubble .bubble-btn-axis-z{background:linear-gradient(180deg,#5490e6f2,#305fa3f2)}.bubble-btn-close{width:100%}.sidebar-peek{position:fixed;left:8px;top:50%;transform:translateY(-50%);z-index:65;width:28px;height:48px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,var(--control-bg-top),var(--control-bg-bottom));color:var(--text);cursor:pointer}.move-bubble{min-width:252px}body[data-theme=light] .model-bubble{background:radial-gradient(circle at 14% -24%,#0d79d933,#0d79d900 62%),linear-gradient(168deg,#f6fbfff7,#e5f0fbf2);border:1px solid rgba(20,85,150,.2);box-shadow:0 20px 34px #13335638,0 0 0 1px #ffffff8c inset}body[data-theme=light] .model-bubble:before{background:#f0f8fff5;border-left:1px solid rgba(20,85,150,.2);border-top:1px solid rgba(20,85,150,.2)}body[data-theme=light] .bubble-kicker{color:#47627e}body[data-theme=light] .bubble-title{color:#132335}body[data-theme=light] .bubble-section-label{color:#35506c}body[data-theme=light] .bubble-color-label{color:#334d66}body[data-theme=light] .bubble-row-color{border:1px solid rgba(17,77,132,.15);background:#ffffff80}.hidden-option{display:none!important}.compact-strip{position:fixed;top:12px;right:14px;z-index:45;display:none;align-items:center;gap:8px;background:#0e141dd1;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.compact-strip.visible{display:flex}.compact-progress{font-size:12px;color:var(--muted);min-width:150px}.record-dot{color:var(--danger);font-size:11px;font-weight:600;letter-spacing:.06em;animation:pulse .9s infinite alternate}@keyframes pulse{0%{opacity:.45}to{opacity:1}}.gizmo-wrap{position:fixed;right:14px;bottom:14px;z-index:35;width:120px;background:var(--panel);border:1px solid rgba(255,255,255,.16);border-radius:10px;overflow:hidden}#gizmo-up-label{font-size:10px;padding:4px 6px;color:#d9e6f5;background:#ffffff0a}.hidden-input{display:none}@media(max-width:860px){.overlay{left:8px;top:8px;bottom:8px;width:min(320px,calc(100vw - 16px))}.compact-strip{left:8px;right:8px;justify-content:space-between}.gizmo-wrap{right:8px;bottom:8px}.orientation-axis-row{grid-template-columns:42px 1fr}.orientation-axis-row .angle-input{width:100%}}
