:root{color-scheme:light;--background: #f1eddf;--surface: rgba(250, 248, 240, .96);--surface-strong: #faf8f0;--viewport: #071a38;--viewport-surface: rgba(250, 248, 240, .94);--accent: #0b4db8;--accent-strong: #073b91;--text: #25282d;--muted: #5f6368;--line: rgba(37, 40, 45, .18);--viewport-line: rgba(181, 205, 236, .12);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#app{min-height:100svh}body{margin:0;min-width:320px;color:var(--text);background-color:var(--background);background-image:linear-gradient(rgba(37,40,45,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(37,40,45,.035) 1px,transparent 1px);background-size:24px 24px}html.sheet-open,html.sheet-open body{overflow:hidden}button,input,select{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:5px;padding:8px 12px;color:var(--text);background:#ffffff7a;cursor:pointer;touch-action:manipulation;transition:transform .16s var(--ease-out),background-color .16s var(--ease-out),border-color .16s var(--ease-out),opacity .16s var(--ease-out)}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{display:flex;align-items:center;gap:8px;min-height:46px;padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--surface);box-shadow:0 2px 10px #25282d0f}.topbar h1{margin:0;font-size:16px;line-height:1.2;letter-spacing:-.02em}.topbar #show-help{width:auto;min-height:44px;margin-left:auto;padding:0 4px;border:0;border-radius:0;color:var(--muted);background:transparent;font-size:13px}.brand-mark{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--accent-strong);border-radius:3px;color:#fff;background:var(--accent)}.brand-mark svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}#app{display:grid;height:100svh;grid-template-rows:auto minmax(0,1fr)}.workspace-shell{display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:0}#viewport{position:relative;min-height:0;overflow:hidden;background-color:var(--viewport);background-image:radial-gradient(circle at 65% 35%,rgba(25,102,202,.2),transparent 38%),linear-gradient(var(--viewport-line) 1px,transparent 1px),linear-gradient(90deg,var(--viewport-line) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px}#viewer-host,#gaussian-view,#gaussian-preview-host,#brush-host{position:absolute;inset:0;min-width:0}#viewer-host[hidden],#gaussian-view[hidden]{display:none}#gaussian-preview-host{color:#f5f1e6;background:var(--viewport)}#brush-host{z-index:2;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out)}#brush-host[aria-hidden=false]{opacity:1;pointer-events:auto}#brush-host iframe,canvas{display:block;width:100%;height:100%;border:0}.empty{position:absolute;inset:0;display:grid;place-content:center;gap:6px;text-align:center;color:#b7c7df}.empty span{color:#7eb4ff;font-size:11px;letter-spacing:.16em}.empty strong{font-size:16px}.reconstruction-modes{position:absolute;z-index:4;top:10px;left:10px;display:grid;width:80px;height:40px;grid-template-columns:1fr 1fr;padding:0;margin:0;border:0;background:transparent}.reconstruction-modes:before,.reconstruction-modes:after{content:"";position:absolute;top:6px;height:28px;border-radius:6px}.reconstruction-modes:before{right:0;left:0;border:1px solid rgba(255,255,255,.38);background:#faf8f0c7}.reconstruction-modes:after{left:0;width:40px;background:var(--accent);transition:transform .16s var(--ease-out)}.workspace-shell[data-result-mode=gaussian] .reconstruction-modes:after{transform:translate(40px)}.reconstruction-modes button{z-index:1;width:40px;height:40px;min-height:40px;padding:0;border:0;color:var(--muted);background:transparent}.reconstruction-modes button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.reconstruction-modes button.active{color:#fff;background:transparent}#reset-sparse-view,#reset-gaussian-view,#preview-gaussian{position:absolute;z-index:4;border:0;border-radius:6px;color:#b7c7df;background:#071a386b;box-shadow:none}#reset-sparse-view,#reset-gaussian-view{width:40px;height:40px;min-height:40px;padding:6px}#preview-gaussian{width:44px;height:44px;min-height:44px;padding:8px}#reset-sparse-view,#reset-gaussian-view{top:10px;right:10px}#preview-gaussian{bottom:10px;left:10px}#reset-sparse-view svg,#reset-gaussian-view svg,#preview-gaussian svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.workspace-inspector{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--line);background:var(--surface-strong)}#task-panel{display:grid;gap:9px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface)}#phase-label{margin:0;font-size:14px;font-weight:700}#progress-value{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}#workspace-status{display:flex;align-items:center;gap:8px;min-height:28px;color:var(--muted);font-size:13px;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}#workspace-status>i{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px #0b4db81f}.workspace-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.workspace-actions button{min-width:0;padding:8px 4px;white-space:nowrap;font-size:12px}.workspace-actions button:first-child{color:#fff;border-color:var(--accent-strong);background:var(--accent)}#reconstruction-details{min-height:0;overflow-y:auto;padding:0 16px}#reconstruction-details>summary{display:flex;align-items:center;min-height:48px;cursor:pointer;font-size:14px;font-weight:700;list-style:none}#reconstruction-details>summary::-webkit-details-marker{display:none}#reconstruction-details>summary:after{content:"+";margin-left:auto;color:var(--accent);font-size:18px}#reconstruction-details[open]>summary:after{content:"−"}#sfm-controls,#gaussian-controls,#server-panel{display:grid;gap:10px;padding:2px 0 16px}#gaussian-controls,#server-panel{border-top:1px solid var(--line);padding-top:14px}#sfm-controls>*,#gaussian-controls>*,#server-panel>*{margin:0}#gaussian-controls h2,#server-panel h2{font-size:14px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px}.settings-grid label,.model{display:grid;gap:4px;color:var(--muted);font-size:12px}.model{grid-template-columns:1fr 130px;align-items:center}input,select{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:4px;padding:7px 9px;color:var(--text);background:#ffffff9e}dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;margin:0;font-variant-numeric:tabular-nums}dt{color:var(--muted)}dd{margin:0;text-align:right}.telemetry-columns{display:grid;gap:12px;padding-top:8px}.export-list,.gaussian-actions{display:grid;gap:8px}#gaussian-progress,#upload-progress,#progress{position:relative;height:4px;overflow:hidden;border-radius:99px;background:#25282d1f}#gaussian-progress i,#upload-progress i,#progress i{display:block;width:0;height:100%;background:var(--accent);transition:width .22s var(--ease-out)}#progress i:after{content:"";display:block;width:45%;height:100%;margin-left:auto;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:none}#task-panel[data-phase=sfm] #progress i:after,#task-panel[data-phase=gaussian] #progress i:after{animation:progress-shimmer 1.2s linear infinite}.source-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}.pick{display:grid;min-height:88px;place-items:center;border:1px dashed rgba(11,77,184,.58);border-radius:6px;padding:10px;color:var(--accent-strong);background:#0b4db80f;text-align:center;cursor:pointer}.pick.secondary{border-color:var(--line);color:var(--text);background:#fff6}.pick input{display:none}#input-sheet,#help-sheet{position:fixed;z-index:10;right:0;bottom:0;left:0;display:grid;align-items:end;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#071a3894;opacity:1;transition:opacity .26s var(--ease-drawer)}#input-sheet[aria-hidden=true],#help-sheet[aria-hidden=true]{pointer-events:none;opacity:0}.sheet-content{width:min(640px,100%);margin:auto;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);box-shadow:0 -18px 48px #071a3838;transform:translateY(0);transition:transform .26s var(--ease-drawer),opacity .26s var(--ease-drawer)}#input-sheet[aria-hidden=true] .sheet-content,#help-sheet[aria-hidden=true] .sheet-content{transform:translateY(100%);opacity:.5}.sheet-content h2{margin:0 0 14px;font-size:16px}.sheet-content p{color:var(--muted);line-height:1.55}.sheet-close{float:right;width:auto;min-height:44px;padding:8px 10px}@keyframes progress-shimmer{0%{transform:translate(-220%)}to{transform:translate(220%)}}@media(hover:hover)and (pointer:fine){button:not(:disabled):hover{border-color:#0b4db8b3;background-color:#0b4db814;transform:translateY(-1px)}.topbar #show-help:hover{border-color:transparent;color:var(--text);background:transparent}.workspace-actions button:first-child:hover{color:#fff;background-color:var(--accent-strong)}.reconstruction-modes button:not(:disabled):hover{background:transparent;transform:none}}button:not(:disabled):active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){#input-sheet,#help-sheet,#input-sheet .sheet-content,#help-sheet .sheet-content,#brush-host,#workspace-status{transition:opacity .16s var(--ease-out)}#input-sheet[aria-hidden=true] .sheet-content,#help-sheet[aria-hidden=true] .sheet-content,#workspace-status,button:not(:disabled):hover,button:not(:disabled):active{transform:none}button{transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),opacity .16s var(--ease-out)}.reconstruction-modes:after{transition:none}#progress i:after{animation:none}}@media(max-width:800px){#app{display:block;height:auto}body{overflow-y:auto}.workspace-shell{display:flex;flex-direction:column;min-height:auto}#viewport{flex:none;height:clamp(420px,58svh,620px)}.workspace-inspector{display:flex;flex-direction:column;overflow:visible;border-top:1px solid var(--line);border-left:0}#task-panel{padding:12px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left))}#reconstruction-details{overflow:visible;padding:0 max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.reconstruction-modes{top:8px;left:8px}#reset-sparse-view,#reset-gaussian-view{top:8px;right:8px}#preview-gaussian{bottom:8px;left:8px}}
