:root{color-scheme:dark;font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;--bg: #05070b;--bg-soft: #090c12;--surface: rgba(19, 22, 29, .76);--surface-strong: #11141b;--line: rgba(255, 255, 255, .11);--line-strong: rgba(255, 255, 255, .18);--text: #f5f5f7;--muted: #9a9aa5;--yellow: #ffc43d;--yellow-strong: #ffb525;--purple: #b879ff;--danger: #ff4d4f;--radius: 16px;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg)}body{min-width:320px;min-height:100%;margin:0;color:var(--text);background:radial-gradient(circle at 50% -20%,rgba(62,67,83,.18),transparent 38rem),var(--bg)}button,input,select{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:#ffffff09;cursor:pointer;transition:border-color .18s var(--ease),background-color .18s var(--ease),color .18s var(--ease),opacity .18s var(--ease),transform .18s var(--ease)}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}input,select{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:0 14px;color:var(--text);background:#ffffff06}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}#app{min-height:100svh}.topbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:88px;padding:max(16px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#05070bdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:14px}.brand h1{margin:0;font-size:clamp(22px,4vw,30px);line-height:1;letter-spacing:-.035em}.brand-mark{display:grid;width:50px;height:50px;place-items:center;border:1px solid var(--line);border-radius:13px;color:var(--yellow);background:linear-gradient(145deg,#ffffff12,#ffffff05);box-shadow:0 10px 30px #0000003d}.brand-mark svg{width:32px;height:32px}.brand-mark path:nth-child(n+2){stroke:var(--purple)}#show-help{display:inline-flex;align-items:center;gap:9px;width:auto;padding:0 4px;border-color:transparent;color:var(--yellow);background:transparent;font-weight:650}#show-help svg{width:27px;height:27px}.privacy-bar{display:flex;align-items:center;gap:17px;min-height:54px;padding-inline:max(20px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.045);color:var(--muted);background:#080a0fbd;font-size:14px}.privacy-bar span{display:inline-flex;align-items:center;gap:8px}.privacy-bar i{width:9px;height:9px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 6px #b879ff1f}.privacy-bar b{width:1px;height:20px;background:var(--line-strong)}.privacy-bar svg{width:19px;height:19px;color:var(--purple)}.app-frame{width:min(100%,1500px);margin:0 auto;padding:28px max(20px,env(safe-area-inset-right)) max(56px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.prepare-intro{width:min(100%,900px);margin:0 auto;animation:page-enter .38s var(--ease) both}.workflow-steps{display:flex;align-items:center;width:min(100%,500px);margin-bottom:34px}.workflow-steps span{display:flex;align-items:center;gap:13px;color:#565666;white-space:nowrap}.workflow-steps span.active{color:var(--text)}.workflow-steps b{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#aaa0c3;background:#242431;font-size:19px}.workflow-steps .active b{color:#090b0f;background:linear-gradient(135deg,#ffd66d,var(--yellow));box-shadow:0 8px 26px #ffc43d3d}.workflow-steps i{width:180px;margin-inline:16px;border-top:2px dashed rgba(255,255,255,.18)}.prepare-intro h2,.reconstruction-heading h2{margin:0;font-size:clamp(38px,7vw,56px);line-height:1.06;letter-spacing:-.045em}.prepare-intro p,.reconstruction-heading p{margin:14px 0 28px;color:var(--muted);font-size:clamp(16px,3vw,22px)}#input-sheet{z-index:50}.app-frame[data-screen=prepare] #input-sheet{position:static;display:block;width:min(100%,900px);margin:0 auto;opacity:1;animation:page-enter .42s 60ms var(--ease) both}.app-frame[data-screen=prepare] #input-sheet .sheet-content{width:100%;padding:0;border:0;background:transparent;box-shadow:none;transform:none}.app-frame[data-screen=prepare] #input-sheet .sheet-close{display:none}.preparation-form>h2{margin:0 0 16px;font-size:19px}.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pick{position:relative;display:grid;min-height:158px;place-items:center;align-content:center;gap:12px;border:1px solid var(--purple);border-radius:var(--radius);color:var(--purple);background:radial-gradient(circle at 70% 25%,rgba(184,121,255,.12),transparent 55%),#ffffff06;cursor:pointer}.pick.secondary{border-color:var(--line-strong);color:var(--muted);background:#ffffff05}.pick>svg{width:54px;height:54px}.pick>span{font-size:18px}.pick input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.selection-check{position:absolute;top:16px;right:16px;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#090b0f;background:var(--purple);font-style:normal;font-weight:800}.source-summary{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:120px;margin-top:16px;padding:14px;border-radius:var(--radius);background:linear-gradient(90deg,#ffffff09,#ffffff05)}.source-preview{display:grid;height:92px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;color:var(--purple);background:#0d1017}.source-preview svg{width:42px;height:42px}.source-preview img,.source-preview video{width:100%;height:100%;object-fit:cover}.source-summary strong{display:block;overflow:hidden;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.source-summary p{margin:8px 0 0;color:var(--muted);font-size:14px}#change-source{padding-inline:20px;color:var(--purple)}.video-settings,.advanced-input{margin-top:24px}.video-settings>summary,.advanced-input>summary{min-height:48px;color:var(--text);cursor:pointer;font-size:18px;font-weight:650;list-style:none}.video-settings>summary::-webkit-details-marker,.advanced-input>summary::-webkit-details-marker{display:none}.settings-grid{display:grid;gap:12px}.primary-settings label,.model{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,44%);align-items:center;min-height:66px;padding:8px 14px 8px 18px;border:1px solid var(--line-strong);border-radius:12px}.primary-settings input,.primary-settings select,.model input,.model select{border:0;text-align:right;background:transparent}.advanced-video-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.advanced-video-fields label,.advanced-input .model{color:var(--muted);font-size:13px}.selected-count{color:var(--muted)}.selected-count strong{color:var(--yellow);font-weight:500}.reconstruction-workspace,.workspace-inspector{display:none}.app-frame[data-screen=reconstruct]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr);gap:22px}.app-frame[data-screen=reconstruct] .prepare-intro{display:none}.app-frame[data-screen=reconstruct] .reconstruction-workspace{grid-column:1;display:grid;align-content:start;gap:18px;min-width:0;animation:page-enter .36s var(--ease) both}.app-frame[data-screen=reconstruct] .workspace-inspector{grid-column:2;display:grid;align-content:start;gap:18px;min-width:0;animation:page-enter .36s 50ms var(--ease) both}.reconstruction-heading p{margin-bottom:4px}.reconstruction-heading #back-to-prepare{display:inline-flex;align-items:center;gap:7px;width:auto;margin:0 0 18px;padding:0 10px 0 6px;border-color:transparent;color:var(--muted);background:transparent}.reconstruction-heading #back-to-prepare svg{width:24px;height:24px}.reconstruction-heading #back-to-prepare:hover{color:var(--text)}.stage-pipeline{display:flex;align-items:center;justify-content:center;gap:24px;min-height:84px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.stage-pipeline span{display:flex;align-items:center;gap:12px;color:var(--muted)}.stage-pipeline span.complete{color:var(--text)}.stage-pipeline span.active{color:var(--yellow)}.stage-pipeline[data-phase=sfm] span.complete{color:var(--purple)}.stage-pipeline[data-phase=sfm] span.active{color:var(--muted)}.stage-pipeline i{display:grid;width:42px;height:42px;place-items:center;border:2px solid currentColor;border-radius:50%;font-style:normal}.stage-pipeline b{width:72px;height:2px;background:var(--line-strong)}#viewport{position:relative;min-height:620px;overflow:hidden;border:1px solid var(--line-strong);border-radius:24px;background:radial-gradient(circle at 44% 35%,rgba(101,44,25,.2),transparent 42%),#030405}#viewer-host,#gaussian-view,#gaussian-preview-host,#brush-host{position:absolute;inset:0;min-width:0}#viewer-host[hidden],#gaussian-view[hidden]{display:none}#brush-host{z-index:2;opacity:0;pointer-events:none;transition:opacity .22s var(--ease)}#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:8px;text-align:center;color:var(--muted)}.empty span{color:var(--purple);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.empty strong{color:var(--text);font-size:18px}.reconstruction-modes{position:absolute;z-index:5;top:18px;left:18px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--line-strong);border-radius:12px;background:#080a0fc2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.reconstruction-modes button{width:58px;min-height:58px;border:0;border-radius:0;color:var(--muted);background:transparent;font-size:0}.reconstruction-modes button svg{width:30px;height:30px}.reconstruction-modes button.active{color:var(--yellow);background:#ffc43d17}#reset-sparse-view,#reset-gaussian-view,#preview-gaussian,#fullscreen-view{position:absolute;z-index:5;width:54px;height:54px;padding:12px;border-color:var(--line-strong);color:var(--text);background:#080a0fc2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}#reset-sparse-view,#reset-gaussian-view{bottom:18px;left:82px}#preview-gaussian{bottom:18px;left:18px}#fullscreen-view{right:18px;bottom:18px}#fullscreen-view svg{width:26px;height:26px}#task-panel,.results-panel,#reconstruction-details{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}#task-panel{display:grid;gap:17px;padding:24px}.task-heading,.task-progress{display:flex;align-items:center;gap:18px}.task-heading{justify-content:space-between}#phase-label{margin:0;font-size:19px;font-weight:650}#gaussian-iteration-summary{color:var(--muted);font-variant-numeric:tabular-nums}.task-progress #progress{flex:1}#progress,#gaussian-progress,#upload-progress{height:9px;overflow:hidden;border-radius:99px;background:#ffffff17}#progress i,#gaussian-progress i,#upload-progress i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--yellow),#ffd66b);transition:width .22s var(--ease)}#progress i{position:relative;overflow:hidden}#progress i:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent)}#task-panel[data-phase=sfm] #progress i:after,#task-panel[data-phase=gaussian] #progress i:after{animation:progress-shimmer 1.25s linear infinite}#progress-value{min-width:48px;color:var(--yellow);text-align:right;font-size:26px;font-variant-numeric:tabular-nums}#workspace-status{display:flex;align-items:center;gap:9px;min-height:28px;color:var(--muted);font-size:14px}#workspace-status>i{width:8px;height:8px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px #ffc43d1a}.workspace-actions{display:grid;gap:10px}.workspace-actions button{width:100%}.workspace-actions .primary-action{min-height:60px;border:0;color:#090b0f;background:linear-gradient(100deg,#ffd15d,var(--yellow));font-size:18px;font-weight:750}.danger-action{border-color:transparent;color:var(--danger);background:transparent}#cancel:disabled,.app-frame[data-screen=prepare] #open-input{display:none}.app-frame[data-screen=reconstruct] #task-panel[data-phase=failed] #run:disabled{display:none}.app-frame[data-screen=prepare]{display:block}.app-frame[data-screen=prepare] .workspace-inspector{display:block;width:min(100%,900px);margin:28px auto 0}.app-frame[data-screen=prepare] #task-panel{border:0;padding:0;background:transparent}.app-frame[data-screen=prepare] #task-panel>:not(.workspace-actions){display:none}.app-frame[data-screen=prepare] .workspace-actions>:not(#run){display:none}.app-frame[data-screen=prepare] .results-panel,.app-frame[data-screen=prepare] #reconstruction-details{display:none}.results-panel{padding:22px}.results-panel h2{margin:0 0 16px;font-size:18px}.result-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-card{min-height:94px;border:1px solid var(--line);border-radius:12px;background:#ffffff05}.result-card summary,.gaussian-result{display:flex;align-items:center;gap:12px;padding:16px;list-style:none}.result-card summary::-webkit-details-marker{display:none}.result-card>i,.result-card summary>i{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle,var(--purple) 2px,transparent 3px);background-size:8px 8px}.gaussian-result>i{background:radial-gradient(circle,var(--yellow) 2px,transparent 3px);background-size:8px 8px}.result-card summary span{margin-left:auto;color:var(--purple)}.gaussian-result div{display:grid;gap:5px;color:var(--muted)}.gaussian-result span{font-size:12px}.result-lock{width:22px;height:22px;margin-left:auto;color:var(--muted)}.gaussian-result{width:100%;text-align:left}.gaussian-result:disabled{opacity:.72}.gaussian-result .result-download{margin-left:auto;color:var(--yellow);font-size:14px}.export-list{display:grid;gap:8px;padding:0 12px 12px}#reconstruction-details{overflow:hidden}#reconstruction-details>summary{display:flex;align-items:center;min-height:64px;padding:0 22px;cursor:pointer;font-size:18px;list-style:none}#reconstruction-details>summary:after{content:"⌄";margin-left:auto}#reconstruction-details[open]>summary:after{transform:rotate(180deg)}.details-content{display:grid;gap:20px;max-height:52svh;overflow-y:auto;padding:0 22px 22px}#sfm-controls,#gaussian-controls,#server-panel{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}#sfm-controls>*,#gaussian-controls>*,#server-panel>*{margin:0}#gaussian-controls h2,#server-panel h2{font-size:16px}dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;margin:0;font-variant-numeric:tabular-nums}dt{color:var(--muted)}dd{margin:0;text-align:right}.telemetry-columns{display:grid;gap:14px;padding-top:12px}#input-sheet,#help-sheet{transition:opacity .18s var(--ease)}#input-sheet:not([aria-hidden=true]),#help-sheet:not([aria-hidden=true]){position:fixed;inset:0;display:grid;align-items:end;padding:20px;background:#000000ad;opacity:1}#input-sheet[aria-hidden=true],#help-sheet[aria-hidden=true]{position:fixed;inset:0;visibility:hidden;pointer-events:none;opacity:0}.app-frame[data-screen=reconstruct] #input-sheet .sheet-content,#help-sheet .sheet-content{width:min(680px,100%);max-height:88svh;overflow-y:auto;margin:auto;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-strong);box-shadow:0 24px 80px #00000073}.sheet-close{float:right;width:auto;padding-inline:14px}@keyframes page-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes progress-shimmer{to{transform:translate(100%)}}@media(hover:hover)and (pointer:fine){button:not(:disabled):hover,.pick:hover{border-color:var(--yellow);background-color:#ffc43d14}button:not(:disabled):active{transform:scale(.98)}}@media(max-width:860px){.topbar{min-height:72px}.brand-mark{width:42px;height:42px}.brand-mark svg{width:27px;height:27px}.privacy-bar{overflow-x:auto;white-space:nowrap}.app-frame{padding-top:26px}.app-frame[data-screen=reconstruct]{display:block}.app-frame[data-screen=reconstruct] .reconstruction-workspace,.app-frame[data-screen=reconstruct] .workspace-inspector{grid-column:auto}.app-frame[data-screen=reconstruct] .workspace-inspector{margin-top:18px}.reconstruction-heading h2{font-size:38px}#viewport{min-height:clamp(430px,68svh,620px)}}@media(max-width:520px){.topbar{padding-inline:16px}.brand{gap:10px}.brand h1{font-size:21px}#show-help{font-size:14px}#show-help svg{width:23px;height:23px}.privacy-bar{min-height:48px;padding-inline:18px;font-size:12px}.app-frame{padding-inline:18px}.workflow-steps i{width:86px;margin-inline:11px}.workflow-steps b{width:40px;height:40px}.prepare-intro h2{font-size:40px}.prepare-intro p{max-width:330px;font-size:16px;line-height:1.5}.source-grid{gap:10px}.pick{min-height:136px}.pick>svg{width:46px;height:46px}.source-summary{grid-template-columns:72px minmax(0,1fr) auto;gap:12px;padding:10px}.source-preview{height:72px}.source-summary strong{font-size:15px}#change-source{padding-inline:12px}.primary-settings label,.model{min-height:62px}.advanced-video-fields{grid-template-columns:1fr}.stage-pipeline{gap:12px;justify-content:space-between;padding-inline:14px}.stage-pipeline b{width:38px}.stage-pipeline span{gap:8px;font-size:14px}.stage-pipeline i{width:38px;height:38px}#viewport{min-height:510px;border-radius:18px}#task-panel,.results-panel{padding:18px}.result-cards{grid-template-columns:1fr 1fr;gap:8px}.result-card{min-height:88px}.result-card summary,.gaussian-result{padding:12px;font-size:14px}.result-card summary span,.gaussian-result span{font-size:12px}#reconstruction-details>summary{min-height:58px;padding-inline:18px}.details-content{padding-inline:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#input-sheet,#help-sheet,#brush-host{transition-property:opacity}button{transition-property:border-color,background-color,color,opacity}#progress i:after{animation-name:none!important}}
