:root{color-scheme:dark;--bg:#071111;--panel:rgba(7,17,17,0.72);--panel-border:rgba(219,240,232,0.18);--text:#edf7f3;--muted:#a9c1b8;--accent:#78d7c2;--accent-strong:#e3c567;--danger:#ffb0a0}*{box-sizing:border-box}body,html{width:100%;min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif}button{font:inherit}.scene-page{width:100vw;height:100svh;min-height:520px;overflow:hidden;background:#071111}.xr-root{position:relative;width:100%;height:100%;overflow:hidden}.xr-canvas-host{position:absolute;inset:0;width:100%;height:100%}.xr-canvas-host canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.xr-hud{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));z-index:10;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;pointer-events:none}.xr-status{display:flex;flex-wrap:wrap;gap:8px;max-width:min(620px,100%)}.xr-chip{min-height:34px;display:inline-flex;align-items:center;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);color:var(--muted);padding:7px 10px;font-size:13px;line-height:1.2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.xr-chip[data-tone=ready]{color:var(--accent)}.xr-chip[data-tone=warn]{color:var(--accent-strong)}.xr-chip[data-tone=error]{color:var(--danger)}.xr-controls{display:flex;gap:8px;pointer-events:auto}.splat-effects{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;border:1px solid var(--panel-border);border-radius:8px;background:rgba(7,17,17,.72);color:var(--muted);padding:6px 8px 6px 10px;pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:12px;line-height:1.15}.splat-effect-select{min-height:32px;min-width:168px;border:1px solid rgba(219,240,232,.16);border-radius:6px;background:rgba(3,13,13,.78);color:var(--text);padding:6px 10px;font-size:12px;line-height:1.15;cursor:pointer;color-scheme:dark}.splat-effect-select:hover{background:rgba(219,240,232,.08)}.splat-effect-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.xr-button{width:42px;height:42px;border:1px solid rgba(219,240,232,.22);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);background:rgba(9,24,24,.78);box-shadow:0 12px 30px rgba(0,0,0,.22);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.xr-button:hover{border-color:rgba(120,215,194,.62);background:rgba(13,36,35,.86);transform:translateY(-1px)}.xr-button:active{transform:translateY(0)}.xr-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.xr-button[disabled]{color:rgba(237,247,243,.42);cursor:not-allowed;transform:none}.xr-button svg{width:19px;height:19px}.xr-bottom{position:absolute;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:10;display:flex;justify-content:center;pointer-events:none}.splat-loader{position:absolute;left:50%;bottom:max(88px,calc(env(safe-area-inset-bottom) + 80px));z-index:12;width:min(460px,calc(100vw - 32px));transform:translateX(-50%);border:1px solid var(--panel-border);border-radius:8px;background:rgba(7,17,17,.82);padding:12px;color:var(--text);box-shadow:0 18px 44px rgba(0,0,0,.32);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.splat-loader-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:9px;color:var(--muted);font-size:13px;line-height:1.2}.splat-loader-header span:first-child{min-width:0;overflow-wrap:anywhere}.splat-loader-header span:last-child{color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.splat-progress{position:relative;height:8px;overflow:hidden;border-radius:999px;background:rgba(219,240,232,.12)}.splat-progress span{position:absolute;inset:0 auto 0 0;min-width:8px;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width .18s ease}.splat-progress[data-indeterminate=true] span{width:38%;animation:splat-progress-sweep 1.15s ease-in-out infinite}.xr-note{max-width:min(640px,100%);border:1px solid var(--panel-border);border-radius:8px;background:rgba(7,17,17,.72);padding:9px 12px;color:var(--muted);font-size:13px;line-height:1.35;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}@keyframes splat-progress-sweep{0%{transform:translateX(-110%)}to{transform:translateX(265%)}}@media (max-width:640px){.scene-page{min-height:460px}.xr-hud{align-items:stretch;flex-direction:column}.xr-controls{align-self:flex-end}.splat-effects{align-self:flex-start;justify-content:flex-start;max-width:100%}.xr-chip,.xr-note{font-size:12px}.splat-loader{bottom:max(78px,calc(env(safe-area-inset-bottom) + 70px))}.splat-loader-header{font-size:12px}}