:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#f5f6f8;--elevated:#fff;--ink:#1c1f24;--ink-muted:#5c6370;--ink-faint:#8b919c;--line:#1c1f2414;--line-strong:#1c1f2424;--accent:#3d6b8a;--accent-hover:#345c76;--accent-soft:#3d6b8a1f;--danger:#b42318;--danger-soft:#b423181a;--ok:#2f6f4e;--radius-ctrl:10px;--radius-sheet:16px;--radius-pill:999px;--press-scale:.97;--blur:blur(18px) saturate(160%);--shadow:0 18px 48px #1c1f2414;--shadow-soft:0 8px 24px #1c1f240f;--font:system-ui, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--rail:84px;--header:64px}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.visually-hidden{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-btn{border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--elevated);cursor:pointer;letter-spacing:-.01em;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-weight:600;transition:transform .1s ease-out,background .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex}.app-btn:hover:not(:disabled){box-shadow:var(--shadow-soft);border-color:#3d6b8a59}.app-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-btn:disabled{opacity:.5;cursor:not-allowed}.app-btn:active:not(:disabled){transform:scale(var(--press-scale))}.app-btn--primary{background:var(--accent);color:#f7fafc;border-color:#0000;box-shadow:0 8px 18px #3d6b8a38}.app-btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.app-btn--ghost{background:0 0}.app-btn--destructive{border-color:var(--danger-soft);color:var(--danger);background:var(--danger-soft)}.app-btn--compact{min-height:32px;padding:0 10px;font-size:13px}.locale-toggle{border:1px solid var(--line-strong);background:var(--elevated);width:56px;height:56px;color:var(--ink-faint);letter-spacing:-.02em;cursor:pointer;box-shadow:var(--shadow-soft);border-radius:50%;grid-auto-flow:column;justify-content:center;align-items:center;padding:0;font-size:12px;font-weight:650;line-height:1;transition:transform .1s ease-out,background .16s,border-color .16s;display:inline-grid}.locale-toggle:hover{border-color:#3d6b8a66}.locale-toggle:active{transform:scale(var(--press-scale))}.locale-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.locale-toggle__part.is-on{color:var(--ink)}.locale-toggle__slash{color:var(--ink-faint);margin:0 1px}.app-toast{z-index:80;border-radius:var(--radius-ctrl);color:#f5f6f8;box-shadow:var(--shadow);background:#1c1f24e0;margin:0;padding:10px 16px;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.app-sheet-backdrop{z-index:60;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#1c1f2447;place-items:center;display:grid;position:fixed;inset:0}.wait-backdrop{z-index:70;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:#1c1f2447;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.wait-panel{text-align:center;border-radius:var(--radius-sheet);background:var(--elevated);width:min(360px,100vw - 32px);box-shadow:var(--shadow);overflow:hidden}.wait-panel__title{letter-spacing:-.02em;margin:0;font-size:16px}.wait-panel__body{justify-items:stretch;gap:12px;padding:20px 22px 8px;display:grid}.wait-mark,.wait-panel__title{justify-self:center}.wait-panel__body .cloud-progress-block{width:100%;min-width:0}.wait-panel__body .cloud-progress{width:100%}.wait-panel__footer{justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.wait-mark{width:64px;height:64px;margin:0;position:relative}.wait-mark i{background:radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--accent) 95%, transparent) 0%, color-mix(in srgb, var(--accent) 42%, transparent) 48%, transparent 72%);will-change:transform, opacity;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;animation-duration:5.6s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite;display:block;position:absolute;top:50%;left:50%}.wait-mark i:first-child{--x:-17px;--y:-17px;animation-name:wait-splat-corner}.wait-mark i:nth-child(2){--r:0deg;animation-name:wait-splat-arm}.wait-mark i:nth-child(3){--x:17px;--y:-17px;animation-name:wait-splat-corner}.wait-mark i:nth-child(4){--r:270deg;animation-name:wait-splat-arm}.wait-mark i:nth-child(5){animation-name:wait-splat-core}.wait-mark i:nth-child(6){--r:90deg;animation-name:wait-splat-arm}.wait-mark i:nth-child(7){--x:-17px;--y:17px;animation-name:wait-splat-corner}.wait-mark i:nth-child(8){--r:180deg;animation-name:wait-splat-arm}.wait-mark i:nth-child(9){--x:17px;--y:17px;animation-name:wait-splat-corner}@keyframes wait-splat-arm{0%,16%,32%{transform:rotate(var(--r)) translateY(-17px) scale(.78);opacity:.72}8%,24%{transform:rotate(var(--r)) translateY(-21px) scale(1.08);opacity:.96}50%,66%,82%{transform:rotate(var(--r)) translateY(-17px) scale(.7, 1.05);opacity:.78}58%,74%{transform:rotate(var(--r)) translateY(-23px) scale(.62, 1.14);opacity:.96}to{transform:rotate(var(--r)) translateY(-17px) scale(.78);opacity:.72}}@keyframes wait-splat-corner{0%,16%,32%{transform:translate(var(--x), var(--y)) scale(.78);opacity:.7}8%,24%{transform:translate(calc(var(--x) * 1.16), calc(var(--y) * 1.16)) scale(1.08);opacity:.94}50%,82%{transform:translate(calc(var(--x) * .28), calc(var(--y) * .28)) scale(.16);opacity:0}to{transform:translate(var(--x), var(--y)) scale(.78);opacity:.7}}@keyframes wait-splat-core{0%,16%,32%{opacity:.72;transform:scale(.78)}8%,24%{opacity:.95;transform:scale(1.16)}50%,66%,82%{opacity:.88;transform:scale(.58)}58%,74%{opacity:1;transform:scale(.82)}to{opacity:.72;transform:scale(.78)}}@media (prefers-reduced-motion:reduce){.wait-mark i{opacity:.82;animation:none}.wait-mark i:first-child{transform:translate(-17px,-17px)}.wait-mark i:nth-child(2){transform:rotate(0)translateY(-17px)}.wait-mark i:nth-child(3){transform:translate(17px,-17px)}.wait-mark i:nth-child(4){transform:rotate(270deg)translateY(-17px)}.wait-mark i:nth-child(5){transform:none}.wait-mark i:nth-child(6){transform:rotate(90deg)translateY(-17px)}.wait-mark i:nth-child(7){transform:translate(-17px,17px)}.wait-mark i:nth-child(8){transform:rotate(180deg)translateY(-17px)}.wait-mark i:nth-child(9){transform:translate(17px,17px)}}@media (prefers-reduced-transparency:reduce){.wait-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f5f6f8eb}}.app-sheet-backdrop--popover{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;place-items:start}.app-sheet-backdrop--sheet{align-items:end}.app-sheet__panel{border-radius:var(--radius-sheet);background:var(--elevated);width:min(440px,100vw - 32px);box-shadow:var(--shadow);overflow:hidden}.app-sheet__panel--popover{width:min(280px,100vw - 24px);position:absolute}.app-sheet__panel--sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;width:100%}.app-sheet__header,.app-sheet__footer{padding:16px 18px 0}.app-sheet__footer{justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.app-sheet__title{margin:0;font-size:16px}.app-sheet__body{padding:14px 18px 16px}.app-sheet-enter-active,.app-sheet-leave-active,.app-popover-enter-active,.app-popover-leave-active,.app-fade-enter-active,.app-fade-leave-active,.app-page-enter-active,.app-page-leave-active{transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1)}.app-sheet-enter-from,.app-sheet-leave-to{opacity:0;transform:translateY(12px)scale(.98)}.app-popover-enter-from,.app-popover-leave-to{opacity:0;transform:scale(.96)}.app-fade-enter-from,.app-fade-leave-to,.app-page-enter-from,.app-page-leave-to{opacity:0}@media (prefers-reduced-motion:reduce){.app-btn:active:not(:disabled),.locale-toggle:active,.header-modal-option:active{transform:none}.app-sheet-enter-active,.app-sheet-leave-active,.app-popover-enter-active,.app-popover-leave-active,.app-fade-enter-active,.app-fade-leave-active,.app-page-enter-active,.app-page-leave-active{transition:opacity .16s}.cloud-tool-rail{animation:none}}@media (prefers-reduced-transparency:reduce){.app-sheet-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f5f6f8eb}.supersplat-chrome{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--elevated)}}.cloud-shell{grid-template-rows:var(--header) minmax(0, 1fr);background:radial-gradient(ellipse 70% 50% at 8% 0%, #3d6b8a14, transparent 55%), var(--surface);height:100%;display:grid}.cloud-shell--immersive{background:var(--surface)}.cloud-shell--immersive .cloud-body{grid-template-columns:minmax(0,1fr)}.cloud-shell--immersive .cloud-tool-rail{display:none}.cloud-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--elevated) 78%, transparent);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:12px;padding:0 16px;display:grid}.cloud-brand-button{cursor:pointer;text-align:left;color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.cloud-brand-logo{object-fit:cover;background:#1c1f240f;border-radius:8px;width:28px;height:28px}.cloud-brand-title{letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:15px;font-weight:600;line-height:1.2}.cloud-top-nav{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface) 88%, var(--elevated));border:1px solid var(--line);gap:2px;padding:4px;display:flex}.cloud-nav-link,.cloud-header-tool-button,.cloud-user-chip,.cloud-tool-button{cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:0;transition:transform .1s ease-out,background .16s,color .16s,box-shadow .16s}.cloud-nav-link{min-height:34px;color:var(--ink-muted);letter-spacing:-.01em;padding:0 14px;font-size:13px;font-weight:600}.cloud-nav-link:hover:not(.is-active),.cloud-header-tool-button:hover,.cloud-tool-button:hover:not(.is-active){color:var(--ink);background:#3d6b8a14}.cloud-nav-link.is-active,.cloud-tool-button.is-active,.cloud-header-tool-button.is-active{color:var(--ink);background:var(--elevated);box-shadow:var(--shadow-soft)}.cloud-nav-link:focus-visible,.cloud-header-tool-button:focus-visible,.cloud-user-chip:focus-visible,.cloud-tool-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cloud-nav-link:active,.cloud-header-tool-button:active,.cloud-user-chip:active,.cloud-tool-button:active{transform:scale(var(--press-scale))}.cloud-header-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.cloud-header-tool-button,.cloud-user-chip{min-height:36px;color:var(--ink-muted);align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.cloud-user-chip{background:var(--accent-soft);color:var(--accent)}.cloud-body{grid-template-columns:var(--rail) minmax(0, 1fr);min-height:0;display:grid}.cloud-tool-rail{border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 8px;animation:.32s cubic-bezier(.22,1,.36,1) rail-enter;display:flex}@keyframes rail-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}.cloud-tool-button{min-height:68px;color:var(--ink-muted);border-radius:16px;place-items:center;gap:6px;padding:10px 6px;display:grid}.cloud-tool-button.is-active{background:var(--accent-soft);box-shadow:none}.cloud-tool-label{text-align:center;font-size:11px}.cloud-main{min-width:0;min-height:0;overflow:auto}.cloud-main--fill{overflow:hidden}.cloud-user-menu{gap:14px;display:grid}.cloud-user-menu-info{gap:4px;display:grid}.cloud-user-menu-actions{gap:6px;display:grid}.cloud-user-menu-close{white-space:nowrap}.header-modal-options{gap:6px;display:grid}.header-modal-option{border:1px solid var(--line);border-radius:var(--radius-ctrl);background:var(--elevated);text-align:left;cursor:pointer;min-height:42px;padding:0 12px;transition:transform .1s ease-out,background .16s,border-color .16s,color .16s}.header-modal-option:hover{border-color:var(--line-strong);background:var(--surface)}.header-modal-option:active{transform:scale(var(--press-scale))}.header-modal-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-modal-option.is-active{border-color:var(--accent);background:var(--accent-soft)}.header-modal-option--danger{color:var(--danger)}.header-modal-option--danger:hover{background:var(--danger-soft);border-color:#b4231859}.login-fields{gap:12px;display:grid}.cloud-field{color:var(--ink-muted);gap:6px;font-size:13px;display:grid}.cloud-input,.text-control{border:1px solid var(--line-strong);border-radius:var(--radius-ctrl);background:var(--elevated);min-height:42px;padding:0 12px}.login-error,.home-error,.projects-error,.upload-error{color:var(--danger);margin:0}.captcha-row{align-items:center;gap:10px;display:flex}.captcha-image{cursor:pointer;border-radius:8px;height:42px}.cloud-page-inner{max-width:1120px;margin:0 auto;padding:clamp(20px,4vw,40px)}.home-page{min-height:100%;position:relative;overflow:hidden}.home-grid{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);align-items:start;gap:clamp(28px,5vw,64px);padding:clamp(28px,4.5vw,48px) clamp(28px,5vw,56px) 120px;display:grid;position:relative}.home-hero{padding-top:8px}.home-display-title{letter-spacing:-.02em;max-width:12em;margin:0 0 14px;font-size:clamp(2rem,2.4vw + 1rem,3rem);font-weight:650;line-height:1.12}.home-hero-subtitle{max-width:28ch;color:var(--ink-muted);margin:0;font-size:16px;line-height:1.55}.home-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.home-actions .app-btn{border-radius:var(--radius-pill);min-height:44px;padding:0 20px}.home-recent-rail{padding:4px 0 0}.home-recent-rail .section-title{border-bottom:1px solid var(--line);color:var(--ink-muted);margin:0 0 8px;padding-bottom:10px;font-size:13px;font-weight:600}.home-recent-list{margin:0;padding:0;list-style:none}.home-recent-card{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-radius:0;width:100%;padding:14px 0}.home-recent-list li:last-child .home-recent-card{border-bottom:0}.home-recent-card:active{transform:scale(var(--press-scale))}.home-recent-card__name{margin:0;font-weight:600}.home-recent-card__desc,.home-recent-card__meta,.home-recent-empty{color:var(--ink-muted);margin:4px 0 0;font-size:13px}.home-recent-card__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-mark{z-index:0;opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;mix-blend-mode:multiply;width:min(42vw,380px);height:auto;position:absolute;bottom:clamp(56px,9vh,96px);left:50%;transform:translate(-50%)}@media (prefers-reduced-transparency:reduce){.home-mark{mix-blend-mode:normal;opacity:.06}}.section-card,.cloud-card{border:1px solid var(--line);border-radius:var(--radius-sheet);background:var(--elevated);box-shadow:var(--shadow-soft);padding:20px}.section-title{margin:0 0 12px;font-size:18px}.projects-create-grid{grid-template-columns:1fr 1fr auto;gap:10px;display:grid}.project-list-row{border:1px solid var(--line);border-radius:var(--radius-ctrl);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.project-list-row.is-active{border-color:var(--accent);background:var(--accent-soft)}.project-list-row__select{text-align:left;cursor:pointer;background:0 0;border:0;flex:1}.project-list-row__actions{gap:8px;display:flex}.projects-current-header{justify-content:space-between;gap:12px;display:flex}.projects-create-card,.projects-list,.projects-current-card{margin-bottom:16px}.upload-tabs{border:1px solid var(--line);border-radius:var(--radius-ctrl);margin:16px 0;display:inline-flex;overflow:hidden}.upload-tab{cursor:pointer;background:0 0;border:0;min-height:36px;padding:0 14px}.upload-tab--active{background:var(--accent-soft)}.upload-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.cloud-badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;display:inline-flex}.cloud-badge--success{color:var(--ok);background:#2f6f4e1f}.cloud-badge--danger{background:var(--danger-soft);color:var(--danger)}.cloud-badge--warning{color:#8a5a12;background:#b478181f}.cloud-badge--info{background:var(--accent-soft);color:var(--accent)}.cloud-progress-block{margin-top:12px}.cloud-progress{align-items:center;gap:10px;margin-top:12px;display:flex}.cloud-progress>span{font-variant-numeric:tabular-nums;flex:none}.cloud-progress-block>.cloud-progress{margin-top:0}.cloud-progress-speed{color:var(--muted);text-align:right;margin:6px 0 0;font-size:12px;line-height:1.3}.cloud-progress-bar{background:var(--line);border-radius:999px;flex:auto;min-width:0;height:6px;overflow:hidden}.cloud-progress-bar__fill{background:var(--accent);border-radius:inherit;height:100%;transition:width .18s ease-out}@media (prefers-reduced-motion:reduce){.cloud-progress-bar__fill{transition:none}}.dataset-upload-header,.training-job-header,.training-job-item__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dataset-upload-actions,.training-job-actions,.supersplat-empty-actions,.project-list-edit__actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.training-job-item{border-top:1px solid var(--line);padding:14px 0}.training-job-item__header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.model-upload-list{margin-top:20px}.upload-page-footer{margin-top:16px}.training-job-meta,.training-job-message,.upload-empty-text,.upload-status,.upload-tab-hint{color:var(--ink-muted);font-size:13px}.help-page{padding:clamp(20px,4vw,48px)}.help-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:20px;display:grid}.help-accent{background:linear-gradient(180deg, #3d6b8a1a, var(--elevated))}.help-list{color:var(--ink-muted);gap:8px;margin:0;padding-left:18px;display:grid}.help-shortcuts{padding:0;list-style:none}.help-shortcuts kbd{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;min-width:22px;margin-right:6px;padding:2px 6px;font-family:inherit;font-size:12px;display:inline-block}.export-sheet-fields{gap:12px;display:grid}.export-sheet-options{flex-wrap:wrap;gap:12px 20px;display:flex}.export-sheet-option{align-items:center;gap:8px;font-size:14px;display:flex}.export-sheet-option.is-disabled{opacity:.5}.export-sheet-name{color:var(--ink-muted);gap:6px;font-size:13px;display:grid}.settings-cache-row{align-items:flex-start;gap:10px;display:flex}.supersplat-page{background:#111318;flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.supersplat-chrome{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--elevated) 88%, transparent);-webkit-backdrop-filter:var(--blur);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.supersplat-chrome__copy{min-width:0}.supersplat-chrome__title{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:14px;font-weight:600}.supersplat-chrome__hint,.supersplat-picker-hint{color:var(--ink-muted);margin:4px 0 0;font-size:12px;line-height:1.4}.supersplat-chrome__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.supersplat-chrome__actions .app-btn{border-radius:var(--radius-pill);gap:6px}.supersplat-chrome__error{color:var(--danger);background:var(--danger-soft);flex:none;margin:0;padding:8px 12px;font-size:13px}.supersplat-stage,.supersplat-iframe{border:0;width:100%;height:100%}.supersplat-stage{flex:auto;min-height:0;position:relative}.supersplat-loading{color:#c9ced6;background:#111318b8;place-items:center;margin:0;display:grid;position:absolute;inset:0}.supersplat-empty{border-radius:var(--radius-sheet);background:var(--elevated);max-width:640px;margin:48px auto;padding:28px}.layer-viewer-root.app-shell{width:100%;height:100%;min-height:0;overflow:hidden}@media (width<=960px){.home-grid,.help-layout,.projects-create-grid{grid-template-columns:1fr}}@media (width<=720px){.cloud-header{grid-template-columns:1fr;height:auto;padding:10px 12px}.cloud-shell{grid-template-rows:auto minmax(0,1fr)}.supersplat-chrome{flex-direction:column;align-items:stretch}.supersplat-chrome__actions{justify-content:flex-start}}.layer-viewer-root.app-shell{background:#111318;width:100%;height:100%;position:relative;overflow:hidden}.viewer-stage,.viewport-frame,.native-splat-frame,.spark-canvas{position:absolute;inset:0}.viewport-frame{background:#111318}.spark-canvas{touch-action:none;width:100%;height:100%;display:block}.viewer-inspector{z-index:20;border:1px solid var(--line);border-radius:var(--radius-sheet);background:color-mix(in srgb, var(--elevated) 88%, transparent);width:min(320px,100% - 24px);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow);color:var(--ink);transform-origin:100% 0;flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:12px;right:12px}.viewer-inspector__top{align-items:flex-start;gap:8px;display:flex}.viewer-inspector__top .model-title{flex:1}.viewer-inspector__collapse,.viewer-menu-fab{border:1px solid var(--line);background:color-mix(in srgb, var(--elevated) 88%, transparent);color:var(--ink);cursor:pointer;flex-shrink:0;place-items:center;margin:0;padding:0;display:grid}.viewer-inspector__collapse{border-radius:var(--radius-ctrl);width:32px;height:32px}.viewer-menu-fab{z-index:20;width:44px;height:44px;box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);border-radius:999px;position:absolute;top:12px;right:12px}.viewer-inspector__collapse:active,.viewer-menu-fab:active{transform:scale(.97)}.viewer-orient-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.viewer-orient-row .app-btn{width:100%}.model-title{word-break:break-word;margin:0;font-size:16px;font-weight:600;line-height:1.3}.info-project-context,.viewer-meta,.viewer-hint,.viewer-status,.model-picker-subtitle,.model-choice-meta,.model-choice-updated{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.45}.viewer-status.error{color:var(--danger)}.viewer-actions{flex-direction:column;gap:8px;display:flex}.viewer-actions .app-btn{justify-content:center;gap:8px;width:100%}.model-choice-list{flex-direction:column;gap:8px;max-height:min(52vh,420px);display:flex;overflow:auto}.model-choice-row{align-items:stretch;gap:8px;display:flex}.model-choice-row .model-choice-card{flex:1}.model-choice-card{border:1px solid var(--line);border-radius:var(--radius-ctrl);background:var(--elevated);width:100%;color:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;display:flex}.model-choice-card:hover,.model-choice-card.is-current{border-color:var(--accent);background:var(--accent-soft)}.model-choice-name{font-size:14px;font-weight:600}.model-choice-badge{color:var(--accent);font-size:12px}.model-choice-card .cloud-progress-block{width:100%;margin-top:6px}@media (prefers-reduced-transparency:reduce){.viewer-inspector,.viewer-menu-fab,.viewer-inspector__collapse{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--elevated)}}@media (width<=720px){.viewer-inspector{width:auto;inset:auto 12px 12px}}.native-viewer{width:100%;height:100%;min-height:0;color:var(--ink);background:#111318;flex-direction:column;display:flex}.native-viewer__toolbar{background:var(--elevated);border-bottom:1px solid var(--line);z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.native-viewer__files,.native-viewer__navigation,.native-viewer__zoom{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.native-viewer__toolbar .app-btn{gap:7px}.native-viewer__mode{border:1px solid var(--line);border-radius:var(--radius-ctrl);background:var(--surface);padding:3px;display:flex}.native-viewer__mode button{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:6px 12px;font-size:13px}.native-viewer__mode button[aria-pressed=true]{background:var(--accent);color:#fff}.native-viewer button:disabled{opacity:.45;cursor:not-allowed}.native-viewer button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.native-viewer__navigation .app-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.native-viewer__stage{flex:1;min-height:200px;position:relative;overflow:hidden}.native-viewer__stage.is-dragging{outline:2px solid var(--accent);outline-offset:-4px}.native-viewer__host{position:absolute;inset:0}.native-viewer__host canvas{touch-action:none;width:100%;height:100%;display:block}.native-viewer__empty{text-align:center;color:#e0e4ec;background:#111318;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.native-viewer__empty h1{margin:0;font-size:22px;font-weight:500}.native-viewer__empty p{color:#9ea8b8;max-width:48ch;margin:0;font-size:14px}.native-viewer__empty>svg{color:#7f8b9f}.native-viewer__empty--error p{max-width:58ch;line-height:1.7}.native-viewer__drop{z-index:3;color:#e0e4ec;pointer-events:none;background:#111318e8;border:2px dashed #7da6c0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:12px}.native-viewer__loading{color:var(--ink);background:var(--elevated);border:1px solid var(--line);border-radius:var(--radius-ctrl);z-index:1;align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;top:16px;left:16px;right:16px}.native-viewer__loading>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.native-viewer__loading progress{width:clamp(60px,16vw,200px);height:6px;accent-color:var(--accent)}.native-viewer__hint{text-align:center;color:#c5cbd6;pointer-events:none;text-shadow:0 1px 4px #000;font-size:12px;position:absolute;bottom:16px;left:16px;right:16px}.native-viewer__footer{background:var(--elevated);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:42px;padding:10px 16px;font-size:12px;display:flex}.native-viewer__footer strong{text-overflow:ellipsis;white-space:nowrap;max-width:35%;font-weight:500;overflow:hidden}.native-viewer__footer>span{color:var(--ink-muted);flex:1;min-width:0}.native-viewer__footer>span.is-error{color:var(--danger)}@media (width<=720px){.native-viewer__toolbar{gap:8px;padding:10px}.native-viewer__navigation{gap:4px;width:100%}.native-viewer__footer strong{max-width:100%}.native-viewer__footer>span{flex-basis:100%}.native-viewer__loading{flex-wrap:wrap;left:10px;right:10px}}
