:root{--bg-deep: #111318;--bg-panel: #16181d;--bg-surface: #1c1f25;--bg-elevated: #22252c;--bg-input: #1a1d23;--bg-hover: #282b33;--bg-active: #2e323b;--border-subtle: #24272e;--border-default:#2e323a;--border-strong: #3a3f49;--accent: #5a8ba0;--accent-hover: #6fa0b4;--accent-muted: rgba(90, 139, 160, .15);--accent-text: #95b5c8;--action: #cc7440;--action-hover: #d98550;--action-muted: rgba(204, 116, 64, .15);--action-text: #e09060;--text-primary: #c8ccd4;--text-secondary:#8a8f9a;--text-muted: #5c6170;--text-faint: #3e4350;--danger: #c45c5c;--warning: #c4a05c;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--radius-sm: 2px;--radius-md: 3px;--space-xs: 4px;--space-sm: 6px;--space-md: 8px;--space-lg: 12px;--space-xl: 16px;--rail-width: 48px;--props-width: 320px;--status-height: 26px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-primary);overflow:hidden;height:100vh;width:100vw;font-size:12px;line-height:1.4;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}#app{display:grid;grid-template-columns:var(--rail-width) 1fr var(--props-width);grid-template-rows:1fr var(--status-height);grid-template-areas:"rail viewport props" "status status status";height:100vh;width:100vw}#viewer-container{grid-area:viewport;position:relative;display:block;overflow:hidden;background:radial-gradient(ellipse at 40% 45%,#1f2330,#141720 55%,#0e1016)}#viewer-container.viewport-flash:after{content:"";position:absolute;inset:0;border:2px solid var(--accent);border-radius:1px;pointer-events:none;z-index:100;animation:flash-fade .5s ease forwards}@keyframes flash-fade{0%{opacity:.9}to{opacity:0}}#btn-clear-camera.revealing{animation:reveal-slide .25s ease forwards}@keyframes reveal-slide{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}#viewer-canvas{width:100%;height:100%;display:block;position:relative;z-index:1}#tool-rail{grid-area:rail;background:var(--bg-panel);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px;z-index:200;overflow:visible}.rail-logo{width:36px;height:36px;margin-bottom:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:none;background:transparent;border-radius:var(--radius-md);cursor:default;padding:0;position:relative;transition:background .1s,color .1s}.rail-logo[data-tool=library] .rail-library-icon~*{pointer-events:auto}.rail-logo.active{background:var(--accent-muted);cursor:pointer}.rail-logo.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:0 1px 1px 0}.rail-logo:hover:not(:disabled){background:var(--bg-hover)}.tool-btn{position:relative;width:36px;height:36px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;flex-shrink:0}.tool-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.tool-btn:active{transform:scale(.93);transition:transform .05s ease}.tool-btn.active{background:var(--accent-muted);color:var(--accent-text)}.tool-btn.active:before{display:none}.rail-indicator{position:absolute;left:0;width:2px;height:20px;background:var(--accent);border-radius:0 1px 1px 0;transition:top .2s cubic-bezier(.25,1,.5,1),opacity .15s;z-index:201;pointer-events:none}.rail-link{text-decoration:none;cursor:pointer}.rail-link:hover{color:var(--text-primary)}.rail-spacer{flex:1}.rail-sep{width:24px;height:1px;background:var(--border-subtle);margin:4px 0;flex-shrink:0}.tool-btn[data-tooltip]:after,.rail-logo[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translate(4px,-50%);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:10.5px;white-space:nowrap;padding:4px 7px;border-radius:var(--radius-md);pointer-events:none;opacity:0;transition:opacity .12s ease-out,transform .12s ease-out;transition-delay:.22s;z-index:1000;font-weight:500;line-height:1;box-shadow:0 6px 14px #00000038}.tool-btn[data-tooltip]:hover:after,.tool-btn[data-tooltip]:focus-visible:after,.rail-logo[data-tooltip]:hover:after,.rail-logo[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.vp-display-row{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;z-index:50}#vp-overlay-pill{display:flex;background:#111318bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(46,50,58,.6);border-radius:var(--radius-sm);overflow:hidden}.vp-pill-btn{border:none;background:transparent;color:var(--text-secondary);font-size:10px;font-weight:500;padding:5px 10px;border-right:1px solid var(--border-default);transition:all .1s;cursor:pointer}.vp-pill-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.vp-pill-btn:last-child{border-right:none;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.vp-pill-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.vp-pill-btn.active{color:var(--accent-text);background:var(--accent-muted);box-shadow:inset 0 -2px 0 var(--accent)}.vp-mesh-pill{display:flex;gap:1px;background:var(--bg-pill, rgba(0,0,0,.5));border-radius:4px;overflow:hidden;margin-top:4px}.vp-mesh-pill.hidden{display:none!important}.vp-vis-pill{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--pill-bg, rgba(20, 20, 22, .82));border-radius:999px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.vp-vis-check{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;cursor:pointer;font-size:12px;color:var(--pill-fg, #e8e8e8);-webkit-user-select:none;user-select:none}.vp-vis-check[hidden]{display:none!important}.vp-vis-check input[type=checkbox]{margin:0;cursor:pointer}.mesh-list-entry{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:11px;color:var(--text-secondary)}.mesh-list-radio{cursor:pointer;font-size:10px;width:12px;flex-shrink:0}.mesh-list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-list-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;padding:0 2px;line-height:1;flex-shrink:0}.mesh-list-remove:hover{color:var(--danger, #e55)}.mesh-list-entry .mesh-list-checkbox{margin-right:6px;cursor:pointer;accent-color:var(--accent, #4a9eff)}.mesh-list-entry.is-primary{background:#4a9eff14;border-left:2px solid var(--accent, #4a9eff);padding-left:4px}.mesh-list-matcap-chip{width:18px;height:18px;border:1px solid var(--border-color, rgba(255, 255, 255, .2));border-radius:3px;padding:0;flex:0 0 auto;cursor:pointer}.matcap-assignment-popover{display:flex;flex-direction:column;gap:6px;min-width:180px;padding:10px;background:var(--panel-bg, #1a1a1a);border:1px solid var(--panel-border, #2a2a2a);border-radius:4px;box-shadow:0 4px 12px #0006;font-size:12px;color:var(--panel-fg, #ccc);z-index:10000}.matcap-assignment-popover select,.matcap-assignment-popover input[type=color]{width:100%;box-sizing:border-box}.matcap-assignment-popover input[type=color]{height:28px;padding:2px;cursor:pointer}.matcap-assignment-popover [data-matcap-popover-tint-status]{color:var(--panel-fg-muted, #888);font-style:italic;min-height:14px}.matcap-assignment-popover button{padding:5px 10px;background:var(--button-bg, #2a2a2a);color:var(--panel-fg, #ccc);border:1px solid var(--panel-border, #3a3a3a);border-radius:3px;cursor:pointer;font-size:12px}.matcap-assignment-popover button:hover{background:var(--button-hover-bg, #333)}#btn-mesh-clear.active{background:#4a9eff2e}.comparison-card{border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px;margin-top:8px;background:var(--bg-elevated)}.comparison-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.comparison-card-title{font-size:11px;font-weight:600;color:var(--text-primary)}.comparison-card-body .metadata-field{margin-bottom:6px}.comparison-group{padding:6px 8px;margin-bottom:8px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-input)}.comparison-group-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.comparison-group-row{display:flex;gap:6px}.comparison-group-row .metadata-field{flex:1;min-width:0;overflow:hidden}.comparison-group-row .metadata-field input[type=date]{min-width:0;max-width:100%}.comparison-card-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default)}.vp-editor-row{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:50}.vp-editor-pill{display:flex;background:#111318bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(46,50,58,.6);border-radius:var(--radius-sm)}.vp-pill-wrap{position:relative}.vp-popover{position:absolute;top:100%;left:0;margin-top:6px;min-width:220px;background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px;box-shadow:0 4px 16px #0000004d;z-index:60}.vp-popover:not(.hidden){animation:popover-in .1s ease}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vp-popover .sl-row,.vp-popover .cb-row{margin-bottom:2px}.vp-popover .prop-btn{font-size:10px}.vp-popover hr.popover-divider{border:none;border-top:1px solid var(--border-default);margin:8px 0}.dome-gizmo-container{display:flex;justify-content:center;padding:8px 0}.lighting-dome-svg{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.dome-ring{fill:none;stroke:#ffffff26;stroke-width:1}.dome-horizon{stroke:#ffffff4d}.dome-guide{stroke-dasharray:3 3}.dome-crosshair{stroke:#ffffff14;stroke-width:1}.dome-label{fill:#ffffff59;font-size:10px;font-family:inherit;pointer-events:none}.dome-proj-line{stroke:#ffc8324d;stroke-width:1;stroke-dasharray:2 2}.dome-dot{fill:#ffc832;stroke:#0006;stroke-width:1.5;cursor:grab;filter:drop-shadow(0 0 3px rgba(255,200,50,.5))}.dome-dot:active{cursor:grabbing}.vp-popover-lighting{width:240px;max-height:70vh;overflow-y:auto}.color-row{display:flex;align-items:center;justify-content:space-between;padding:2px 0;font-size:11px;color:#ffffffb3}.color-row input[type=color]{width:28px;height:20px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:3px;background:none;cursor:pointer}.popover-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:6px 0}#vp-quality-badge{position:absolute;top:42px;right:12px;background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:4px 10px;font-size:9px;font-weight:600;letter-spacing:.5px;color:var(--text-secondary);cursor:pointer;z-index:50}#props-panel{grid-area:props;background:var(--bg-panel);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}#props-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;min-height:34px}#props-header-title{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.props-header-legend{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--text-muted)}.legend-swatch{display:inline-block;width:22px;height:12px;background:color-mix(in srgb,var(--accent-text) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-text) 35%,var(--border-subtle));border-radius:6px}.props-pane{display:none;flex:1;overflow-x:hidden;overflow-y:auto;padding-bottom:16px}.props-pane.active{display:block;animation:pane-fade-in .15s ease}@keyframes pane-fade-in{0%{opacity:0}to{opacity:1}}.prop-section.section-dimmed{opacity:.4;pointer-events:none;transition:opacity .2s ease}.prop-section.section-dimmed .prop-section-hd{pointer-events:auto;cursor:default}.prop-section{border-bottom:1px solid var(--border-subtle)}.prop-section:last-child{border-bottom:none}.prop-section-hd{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.prop-section-hd:hover{background:var(--bg-surface)}.prop-section-checkbox{display:inline-flex;align-items:center;margin:0;padding:0;cursor:pointer}.prop-section-checkbox input[type=checkbox]{margin:0;cursor:pointer}.prop-section-hd>.prop-section-checkbox+.prop-section-title{margin-left:6px}.prop-section-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.prop-section-title.primary{font-size:11px;font-weight:500;text-transform:none;letter-spacing:.2px;color:var(--text-primary)}.prop-section-chevron{font-size:8px;color:var(--text-faint);transition:transform .15s;flex-shrink:0}.prop-section.open>.prop-section-hd .prop-section-chevron{transform:rotate(90deg)}.modified-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-left:auto;margin-right:6px;opacity:0;transition:opacity .2s}.modified-dot.visible{opacity:1}.prop-section-body{padding:0 var(--space-lg);max-height:0;overflow:hidden;transition:max-height .15s ease,padding .15s ease}.prop-section.open>.prop-section-body{padding:var(--space-md) var(--space-lg) var(--space-lg);max-height:2000px;overflow:visible;transition:max-height .25s cubic-bezier(.25,1,.5,1),padding .15s ease}.prop-section-hint{font-size:11px;color:var(--text-muted);margin-bottom:8px;line-height:1.5}.prop-subsection-toggle{font-size:11px;color:var(--text-secondary, #999);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:4px}.prop-subsection-toggle:hover{color:var(--text-primary, #ccc)}.prop-subsection-chevron{font-size:8px;transition:transform .15s;display:inline-block}.prop-subsection-toggle.open .prop-subsection-chevron{transform:rotate(90deg)}.prop-subsection-body{padding:4px 0 0 8px}.progress-bar{height:4px;background:var(--bg-surface, #333);border-radius:2px;overflow:hidden;margin-bottom:4px}.progress-bar-fill{height:100%;background:var(--accent, #4a9eff);width:0%;transition:width .2s;border-radius:2px}#decimation-face-counts{font-variant-numeric:tabular-nums}.seg-ctrl{display:flex;background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden}.seg-btn{flex:1;padding:5px 0;text-align:center;font-size:10px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-right:1px solid var(--border-default);transition:all .1s;cursor:pointer}.seg-btn:last-child{border-right:none}.seg-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.seg-btn:active{transform:scale(.97);transition:transform .05s ease}.seg-btn.active{background:var(--accent-muted);color:var(--accent-text)}.seg-btn[aria-disabled=true],.seg-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.sl-row{margin-bottom:var(--space-md)}.sl-row:last-child{margin-bottom:0}.sl-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.sl-label{font-size:11px;color:var(--text-secondary)}#splat-reveal-row{display:flex;align-items:center;gap:6px}#splat-reveal-row .prop-btn{font-size:10px;padding:2px 8px}#splat-reveal-row.disabled,.splat-reveal-params.disabled{opacity:.4;pointer-events:none}.splat-reveal-params .sl-row{margin-bottom:4px}.sl-val{font-size:10px;color:var(--accent-text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sl-val.modified{color:var(--accent-hover);font-weight:600}.sl-val.at-default{animation:default-pulse .4s ease}@keyframes default-pulse{0%{color:var(--accent-hover)}50%{color:var(--accent);transform:scale(1.15)}to{color:var(--accent-text);transform:scale(1)}}.cb-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);height:20px}.cb-row:last-child{margin-bottom:0}.cb-row.cb-subrow{padding-left:18px}.cb-row input[type=checkbox]{width:12px;height:12px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.cb-row label{font-size:11px;color:var(--text-secondary);cursor:pointer}.debug-channels{margin-top:6px;border-top:1px solid var(--border-subtle);padding-top:6px}.debug-channels summary{font-size:10px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:4px}.debug-channels summary:before{content:"▸";font-size:8px;transition:transform .15s}.debug-channels[open] summary:before{transform:rotate(90deg)}.debug-channels-body{padding-top:4px}.swatch-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.swatch{width:20px;height:20px;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:border-color .1s}.swatch:hover{border-color:var(--border-strong)}.swatch.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.swatch-custom{flex:1;height:20px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--text-faint);letter-spacing:.3px;overflow:hidden;position:relative}.swatch-custom input[type=color]{position:absolute;inset:0;width:100%;height:100%;border:none;padding:0;background:transparent;cursor:pointer;opacity:0}.swatch-custom span{pointer-events:none}.prop-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px;display:block}.prop-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;min-height:22px}.prop-row:last-child{margin-bottom:0}.prop-row-label{font-size:11px;color:var(--text-secondary);flex-shrink:0}.prop-btn{width:100%;padding:5px 10px;margin-bottom:4px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:11px;text-align:center;transition:all .1s;display:block;cursor:pointer}.prop-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.prop-btn:focus-visible,.source-file-remove:focus-visible{outline:2px solid var(--focus-ring, var(--accent-text));outline-offset:1px}.prop-btn:disabled{opacity:.35;cursor:default}.prop-btn:active:not(:disabled){transform:scale(.97);transition:transform .05s ease}.prop-btn:last-child{margin-bottom:0}.prop-btn-row{display:flex;gap:4px}.prop-btn-row .prop-btn{flex:1;margin-bottom:0}.prop-btn.small{padding:3px 8px;font-size:10px}.prop-btn.danger{color:var(--danger);border-color:#c45c5c4d}.prop-btn.danger:hover{background:#c45c5c1a}.prop-btn.accent{color:var(--accent-text);border-color:#5a8ba04d}.prop-btn.accent:hover{background:var(--accent-muted)}.prop-btn.action{color:var(--action-text);border-color:#cc74404d}.prop-btn.action:hover{background:var(--action-muted)}.camera-presets-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:4px}.camera-pill-section{margin-top:6px}#btn-camera-ortho-toggle.active{background:var(--accent);color:var(--accent-fg, #fff)}#camera-fov-row.ortho-active{opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.prop-select{width:100%;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;outline:none;cursor:pointer}.prop-select:focus{border-color:var(--accent)}.prop-color-input{width:32px;height:24px;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:1px;cursor:pointer;background:transparent}.prop-divider{border:none;border-top:1px solid var(--border-default)}.prop-input{width:100%;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;outline:none}.prop-input:focus{border-color:var(--accent)}.prop-textarea{width:100%;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;outline:none;resize:vertical;min-height:52px;line-height:1.4}.prop-textarea:focus{border-color:var(--accent)}.prop-hint{font-size:10px;color:var(--text-faint);margin-top:3px;line-height:1.3}.prop-subsection-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #888);padding:2px 0}.prop-details{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-input)}.prop-details[open]{border-color:var(--border-default)}.prop-details-summary{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:6px 10px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:6px}.prop-details-summary::-webkit-details-marker{display:none}.prop-details-summary:before{content:"▶";font-size:8px;color:var(--text-faint);transition:transform .15s;display:inline-block}.prop-details[open] .prop-details-summary:before{transform:rotate(90deg)}.prop-details-summary:hover{color:var(--text-primary)}.prop-details-body{padding:8px 10px 10px;border-top:1px solid var(--border-subtle)}.tier-grid-section{margin-bottom:16px}.tier-grid-rule{border-top:1px solid var(--border);margin:8px 0}.tier-grid-heading-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.tier-grid-heading{letter-spacing:.08em;font-size:10px;color:var(--text-secondary);text-transform:uppercase}.tier-grid-preview-hint{font-size:10px;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.tier-grid-heading-aux{display:inline-flex;align-items:baseline;gap:10px;font-size:10px}.tier-custom-indicator{color:var(--accent-text);letter-spacing:.04em}.tier-link-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:10px;font-family:inherit;padding:0;letter-spacing:.04em}.tier-link-btn:hover{color:var(--text-primary)}.tier-link-btn.hidden{display:none}.tier-grid{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;font-size:11px;font-variant-numeric:tabular-nums;margin-top:2px;margin-bottom:10px}.tier-grid-row-name,.tier-grid-row-budget,.tier-grid-row-encoding{border-left:2px solid transparent;padding:2px 0 2px 6px}.tier-grid-row-name{font-weight:500;color:var(--text-primary);text-align:right;padding-right:0}.tier-grid-row-budget{color:var(--text-secondary)}.tier-grid-row-budget .tier-grid-size{color:var(--text-primary)}.tier-grid-row-encoding{text-align:right}.tier-grid-row-encoding .tier-grid-codec{color:var(--accent-text)}.tier-grid-row-encoding .tier-grid-format{color:var(--text-secondary)}.tier-state-skipped{opacity:.35;text-decoration:line-through}.tier-state-generating{border-left-color:var(--accent)}.tier-state-previewing{border-left-color:var(--action-text)}.tier-state-error .tier-grid-size{color:var(--danger)}.tier-state-interactive{cursor:pointer}.tier-state-interactive:hover{background:var(--bg-hover)}.tier-state-archive .tier-grid-size{color:var(--text-secondary)}.tier-archive-badge{display:inline-block;padding:0 5px;margin-left:4px;font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border-subtle, var(--border));border-radius:3px;vertical-align:baseline}.tier-size-summary{font-size:10px;color:var(--text-secondary);text-align:right;margin-top:4px;letter-spacing:.04em}.tier-progress-wrap{margin-top:12px}.tier-actions{margin-top:12px;margin-bottom:20px}.tier-secondary-toggles{margin-top:16px;display:flex;flex-direction:column;gap:6px}.tier-toggle-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:11px;font-family:inherit;text-align:left;padding:0}.tier-toggle-link:hover,.tier-toggle-link.active{color:var(--text-primary)}.tier-grid.tier-grid-customize .tier-grid-row-budget,.tier-grid.tier-grid-customize .tier-grid-row-encoding{display:flex;gap:4px;align-items:center}.tier-grid-customize input[type=number],.tier-grid-customize input[type=text],.tier-grid-customize select{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);font-size:10px;padding:2px 4px;font-family:inherit;border-radius:2px}.tier-grid-customize input[type=number]{width:70px;text-align:right;font-variant-numeric:tabular-nums}.tier-grid-customize select{min-width:68px}.tier-grid-customize .tier-grid-row-skip{display:inline-flex;align-items:center;padding:2px 4px;cursor:pointer;color:var(--text-secondary)}.tier-grid-customize .tier-grid-row-skip:hover{color:var(--text-primary)}.tier-grid-customize .tier-grid-row-skip.skipped{color:var(--danger)}.tier-grid-customize .tier-codec-locked{color:var(--text-secondary);font-style:italic;opacity:.7;padding:2px 4px}.tier-state-manual-upload .tier-grid-row-encoding{opacity:.4;pointer-events:none}.tier-state-manual-upload .tier-grid-row-budget:after{content:" (override active)";color:var(--accent-text);font-size:9px;margin-left:6px}.tier-manual-uploads{margin-top:10px;padding:8px;border:1px solid var(--border);border-radius:2px}#tier-manual-upload-rows{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;margin-top:8px;font-size:11px}.mt4{margin-top:4px}.mt6{margin-top:6px}.mt8{margin-top:8px}.mb4{margin-bottom:4px}.mb6{margin-bottom:6px}.radio-row{display:flex;align-items:center;gap:6px;margin-bottom:5px;height:20px}.radio-row input[type=radio]{width:12px;height:12px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.radio-row label{font-size:11px;color:var(--text-secondary);cursor:pointer}.outliner{display:flex;flex-direction:column;gap:1px;margin-bottom:2px}.outliner-item{display:flex;align-items:center;gap:7px;padding:5px 12px;background:var(--bg-surface);transition:background .1s;cursor:default;-webkit-user-select:none;user-select:none}.outliner-item:hover{background:var(--bg-hover)}.outliner-item.dimmed{opacity:.45}.outliner-name{flex:1;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outliner-actions{display:flex;gap:3px;flex-shrink:0}.outliner-icon-btn{width:18px;height:18px;border:none;background:transparent;color:var(--text-faint);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .1s;padding:0}.outliner-icon-btn:hover{background:var(--bg-active);color:var(--text-secondary)}.xyz-block{margin-bottom:8px}.xyz-inputs{display:flex;gap:3px}.xyz-field{flex:1;display:flex;flex-direction:column;gap:2px}.xyz-axis-label{font-size:9px;text-align:center;font-weight:600;text-transform:uppercase}.xyz-axis-label.x{color:#c06060}.xyz-axis-label.y{color:#6aa060}.xyz-axis-label.z{color:#6080c0}.xyz-input{width:100%;padding:3px 4px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:10px;font-family:var(--font-mono);text-align:center;outline:none}.xyz-input:focus{border-color:var(--accent)}.source-file-item{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--border-subtle)}.source-file-item:last-child{border-bottom:none}.source-file-name{flex:1;font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-file-size{font-size:10px;color:var(--text-faint);font-family:var(--font-mono);flex-shrink:0}.source-file-category{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 5px;border:1px solid color-mix(in srgb,var(--accent-text) 30%,var(--border-subtle));border-radius:6px;background:color-mix(in srgb,var(--accent-text) 9%,transparent);color:color-mix(in srgb,var(--accent-text) 82%,var(--text-secondary));font-size:9px;line-height:1.3;flex-shrink:0}.source-file-remove{width:18px;height:18px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-faint);display:inline-flex;align-items:center;justify-content:center;line-height:1;cursor:pointer;flex-shrink:0;padding:0}.source-file-remove:hover{color:var(--danger);background:#c45c5c1a;border-color:#c45c5c4d}#status-bar{grid-area:status;background:var(--bg-panel);border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 calc(var(--rail-width) + 12px);font-size:10px;color:var(--text-muted);overflow:hidden;z-index:100;gap:8px}.status-left,.status-right{display:flex;align-items:center;gap:0;flex-shrink:0}.status-center{flex:1;text-align:center;font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-item{display:flex;align-items:center;gap:5px;padding:0 10px;border-right:1px solid var(--border-subtle);height:var(--status-height);white-space:nowrap}.status-item:last-child{border-right:none}.status-item:first-child{padding-left:0}.status-right .status-item:last-child{padding-right:0}#status-selection-pos{display:flex;gap:6px;align-items:center;font-variant-numeric:tabular-nums;color:var(--text-muted, #aaa)}#status-selection-pos .status-axis{flex:0 0 10ch;text-align:right;font-feature-settings:"tnum" 1;white-space:nowrap}@media(max-width:900px){#status-selection-pos{display:none}}.status-glyph{color:var(--text-faint)}.status-message-active{animation:status-fade-in .2s ease;color:var(--accent-text)}@keyframes status-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.status-badge{padding:1px 5px;border-radius:var(--radius-sm);font-size:9px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.badge-webgpu{background:var(--accent-muted);color:var(--accent-text);border:1px solid rgba(90,139,160,.3)}.badge-webgl,.badge-hd{background:#6a8bce1f;color:#8aabde;border:1px solid rgba(106,139,206,.25)}.status-num{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.rail-badge{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--action);pointer-events:none;opacity:0;transition:opacity .2s}.rail-badge.visible{opacity:1}.rail-badge.badge-success{background:#4caf50}.rail-badge.badge-warning{background:var(--warning)}.status-help-btn{background:none;border:1px solid var(--border-default);color:var(--text-muted);font-size:10px;font-weight:600;width:18px;height:18px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.status-help-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.shortcut-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:overlay-fade-in .15s ease}.shortcut-overlay.hidden{display:none}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.shortcut-overlay-content{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:6px;padding:20px 24px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.shortcut-overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.shortcut-overlay-header h3{font-size:14px;font-weight:500;color:var(--text-primary)}.shortcut-overlay-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px}.shortcut-overlay-close:hover{color:var(--text-primary)}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shortcut-group-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent-text);margin-bottom:8px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:11px;color:var(--text-secondary)}.shortcut-key{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:3px;padding:2px 6px;font-size:10px;font-family:var(--font-mono);color:var(--text-primary);min-width:20px;text-align:center}.shortcut-overlay-footer{margin-top:12px;padding:8px 0 0;border-top:1px solid var(--border-subtle, rgba(255,255,255,.1));color:var(--text-muted, rgba(255,255,255,.6));font-size:.75rem;text-align:center}.context-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:4px 0;min-width:160px;box-shadow:0 4px 16px #0006;z-index:10000;animation:context-menu-in .1s ease}@keyframes context-menu-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:11px;color:var(--text-secondary);cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit}.context-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.context-menu-shortcut{font-size:10px;color:var(--text-muted);margin-left:16px;font-family:var(--font-mono)}.context-menu-sep{height:1px;background:var(--border-default);margin:4px 0}#viewfinder-overlay{position:absolute;inset:0;z-index:200;pointer-events:none}#viewfinder-overlay.hidden{display:none}#viewfinder-dim{position:absolute;inset:0;background:#0009;pointer-events:none}#viewfinder-frame{position:absolute;border:2px solid #00e5ff;box-shadow:0 0 0 9999px #0009;pointer-events:none}#viewfinder-frame{overflow:hidden}.viewfinder-crop-bar{position:absolute;left:0;right:0;background:#00000059;pointer-events:none;border:none;box-sizing:border-box}#viewfinder-crop-top{top:0;border-bottom:1px dashed rgba(255,255,255,.3)}#viewfinder-crop-bottom{bottom:0;border-top:1px dashed rgba(255,255,255,.3)}#viewfinder-crop-label{position:absolute;right:8px;color:#ffffff73;font-size:10px;font-family:monospace;pointer-events:none;z-index:1}#viewfinder-controls{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:201;pointer-events:auto}#viewfinder-controls .action-btn{width:auto;padding:8px 24px;margin-bottom:0;font-size:.85rem}#screenshots-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.screenshot-item{position:relative;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-default);cursor:pointer}.screenshot-item img{width:100%;height:70px;object-fit:cover;display:block}.screenshot-item:hover{border-color:#6a6a9a}.screenshot-delete{position:absolute;top:2px;right:2px;width:18px;height:18px;background:#f44336d9;color:#fff;border:none;border-radius:50%;font-size:11px;line-height:18px;text-align:center;cursor:pointer;opacity:0;transition:opacity .15s;padding:0}.screenshot-item:hover .screenshot-delete{opacity:1}.source-files-list{max-height:150px;overflow-y:auto;margin:6px 0}.source-files-summary{font-size:.8em;opacity:.7;margin:4px 0}.color-preset{width:28px;height:28px;border:2px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.color-preset:hover{transform:scale(1.1);border-color:var(--border-strong)}.color-preset.active{border-color:var(--accent);box-shadow:0 0 0 2px #5a8ba04d}.toggle-btn{padding:8px 12px;border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:.85rem;transition:all .2s}.toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toggle-btn.active{background:var(--accent-muted);color:var(--accent-text);border-color:var(--accent)}input[type=file]{display:none}.file-label{display:block;padding:10px 15px;background:var(--bg-surface);border:1px dashed var(--border-default);border-radius:var(--radius-sm);text-align:center;cursor:pointer;font-size:.85rem;transition:all .2s}.file-label:hover{background:var(--bg-hover);border-color:var(--border-strong)}.filename{display:block;margin-top:8px;font-size:.75rem;color:var(--text-muted);word-break:break-all}.button-row{display:flex;gap:8px}.button-row .file-label,.button-row .action-btn{flex:1;text-align:center}.slider-group{margin-bottom:12px}.slider-group label{display:block;font-size:.8rem;margin-bottom:5px;color:var(--text-secondary)}.slider-group label span{color:var(--accent-text);font-weight:700}input[type=range]{width:100%;height:3px;-webkit-appearance:none;appearance:none;background:var(--bg-deep);border-radius:1px;outline:none;border:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:var(--accent);border-radius:50%;cursor:pointer}input[type=range]::-webkit-slider-thumb:hover{background:var(--accent-hover)}input[type=range]::-webkit-slider-thumb:active{box-shadow:0 0 0 4px var(--accent-muted)}.checkbox-group{display:flex;align-items:center;gap:8px;margin-top:10px}.checkbox-group input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.checkbox-group label{font-size:.85rem;color:var(--text-secondary);cursor:pointer}.action-btn{width:100%;padding:5px 8px;margin-bottom:6px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:11px;transition:all .15s}.action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.action-btn:last-child{margin-bottom:0}.action-btn.secondary{background:var(--bg-input);border:1px solid var(--border-default)}.action-btn.secondary:hover{background:var(--bg-hover)}.xyz-inputs input[type=number]{flex:1;width:100%;padding:4px 6px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:10px;font-family:var(--font-mono);text-align:center}.xyz-inputs input[type=number]:focus{outline:none;border-color:var(--accent)}.xyz-inputs input[type=number]::-webkit-inner-spin-button,.xyz-inputs input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hint-text{font-size:.7rem;color:var(--text-muted);margin-top:8px;text-align:center}#transform-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#111318cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--border-default);padding:6px 14px;border-radius:var(--radius-md);font-size:11px;color:var(--text-secondary)}#transform-hint.hidden{display:none}#fly-mode-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#111318cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--border-default);padding:6px 14px;border-radius:var(--radius-md);font-size:11px;color:var(--accent-text);white-space:nowrap;pointer-events:none;z-index:100}#fly-mode-hint.hidden{display:none}.nav-mode-toggle{display:flex;background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;margin:4px 0}.nav-mode-btn{border:none;background:transparent;color:var(--text-secondary);font-size:10px;font-weight:500;padding:4px 10px;border-right:1px solid var(--border-default);transition:all .1s;cursor:pointer;flex:1;text-align:center}.nav-mode-btn:last-child{border-right:none}.nav-mode-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-mode-btn.active{color:var(--accent-text);background:var(--accent-muted)}.nav-mode-btn:disabled{opacity:.3;cursor:not-allowed}#walk-mode-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#111318cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--border-default);color:var(--text-secondary);padding:6px 14px;border-radius:var(--radius-md);font-size:11px;z-index:100;white-space:nowrap}#walk-mode-hint.hidden{display:none}#info-panel{font-size:.8rem;color:#888}#info-panel p{margin-bottom:5px}#info-panel span{color:#aaa}#loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}#loading-overlay.hidden{display:none}.loading-spinner{width:36px;height:36px;border:2px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bg-loading-indicator{position:absolute;bottom:12px;left:12px;z-index:10;display:flex;align-items:center;gap:8px;padding:6px 12px;background:#16181dcc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:11px;color:var(--text-secondary);transition:opacity .3s ease;pointer-events:auto;cursor:default}.bg-loading-indicator.hidden{display:none}.bg-loading-indicator.fade-out{opacity:0}.bg-loading-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;color:var(--text-secondary, rgba(255, 255, 255, .6))}#bg-loading-label{font-size:11px;color:var(--text-secondary, rgba(255, 255, 255, .6));margin-left:6px;white-space:nowrap}#loading-text{margin-top:12px;color:var(--text-secondary);font-size:11px;letter-spacing:.03em}.loading-detail{color:var(--text-muted);font-size:10px;margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#loading-progress-container{width:200px;height:4px;background:var(--bg-elevated);border-radius:2px;margin-top:12px;overflow:hidden}#loading-progress-container.hidden{display:none}#notification-container{position:fixed;bottom:36px;left:calc(var(--rail-width) + 12px);z-index:10000;display:flex;flex-direction:column-reverse;gap:6px;max-width:360px;pointer-events:none}.notification{position:relative;display:flex;align-items:center;gap:8px;padding:8px 28px 8px 12px;background:var(--bg-elevated);border:1px solid var(--border-default);border-left:3px solid var(--accent);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:11.5px;line-height:1.35;pointer-events:auto;box-shadow:0 6px 20px #00000073,0 1px 3px #00000040;overflow:hidden;animation:notif-in .25s cubic-bezier(.22,1,.36,1) forwards;word-wrap:break-word}.notification.notif-out{animation:notif-out .2s cubic-bezier(.55,0,1,.45) forwards}.notification-error{border-left-color:var(--danger)}.notification-warning{border-left-color:var(--warning)}.notification-success{border-left-color:var(--accent)}.notification-info{border-left-color:var(--text-secondary)}.notification-icon{flex-shrink:0;width:14px;text-align:center;font-size:11px;opacity:.85}.notification-error .notification-icon{color:var(--danger)}.notification-warning .notification-icon{color:var(--warning)}.notification-success .notification-icon{color:var(--accent)}.notification-info .notification-icon{color:var(--text-secondary)}.notification-message{flex:1;min-width:0}.notification-close{position:absolute;top:0;right:0;width:24px;height:100%;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;opacity:0;transition:opacity .15s,color .15s}.notification:hover .notification-close{opacity:1}.notification-close:hover{color:var(--text-primary)}.notification-countdown{position:absolute;bottom:0;left:0;height:2px;background:var(--accent);opacity:.4;border-radius:0 1px 0 0}.notification-error .notification-countdown{background:var(--danger)}.notification-warning .notification-countdown{background:var(--warning)}.notification-info .notification-countdown{background:var(--text-secondary)}.notification:hover .notification-countdown{animation-play-state:paused}@keyframes notif-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes notif-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-4px) scale(.97)}}.load-success-toast{position:absolute;bottom:40px;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border-default);border-left:3px solid var(--accent);color:var(--text-primary);font-size:11px;padding:8px 16px;border-radius:var(--radius-md);z-index:60;pointer-events:none;white-space:nowrap;animation:toast-in-out 3s ease forwards;box-shadow:0 4px 12px #0006}@keyframes toast-in-out{0%{opacity:0;transform:translate(-50%) translateY(8px)}8%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-4px)}}#loading-progress-bar{width:0%;height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}#loading-progress-bar.indeterminate{width:30%;animation:progress-shimmer 1.5s ease-in-out infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}#loading-progress-text{margin-top:6px;color:var(--text-muted);font-size:10px;font-family:var(--font-mono)}#loading-progress-text.hidden{display:none}.hidden{display:none!important}#archive-info-panel{font-size:.8rem;color:#888}#archive-info-panel p{margin-bottom:5px}#archive-info-panel span{color:#aaa}#archive-entries-list{margin-top:10px;padding-top:10px;border-top:1px solid #2a2a3a}#archive-entries-list .entries-header{margin-bottom:8px;color:#888;font-size:.75rem;text-transform:uppercase}.archive-entry{padding:6px 0;border-bottom:1px solid #2a2a3a}.archive-entry:last-child{border-bottom:none}.archive-entry-name{color:#aaa;font-weight:700;font-size:.8rem;word-break:break-all}.archive-entry-details{font-size:.7rem;color:#666;margin-top:2px}.archive-entry-type{display:inline-block;padding:1px 6px;border-radius:3px;font-size:.65rem;text-transform:uppercase;margin-right:6px}.archive-entry-type.scene{background:#2a4a2a;color:#8c8}.archive-entry-type.mesh{background:#2a2a4a;color:#88c}.archive-entry-type.thumbnail{background:#4a4a2a;color:#cc8}.archive-entry-type.other{background:#3a3a3a;color:#888}#annotation-markers{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.annotation-marker{--marker-vis: 1;position:absolute;width:26px;height:26px;background:var(--accent);border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0006;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--bg-deep);cursor:pointer;pointer-events:auto;opacity:var(--marker-vis);transition:transform .15s,box-shadow .15s}.annotation-marker:hover{transform:translate(-50%,-50%) scale(1.15);box-shadow:0 4px 15px #c9a87c80}.annotation-marker.pending{background:#ff6b6b;animation:pulse 1s infinite}.annotation-marker.selected{background:#ffd93d;box-shadow:0 0 0 3px #ffd93d66,0 4px 15px #ffd93d80}.annotation-marker.dragging{cursor:grabbing!important;opacity:.9!important;transform:translate(-50%,-50%) scale(1.2);z-index:100;background:var(--accent);box-shadow:0 0 0 3px #5a8ba080,0 4px 20px #5a8ba099;transition:none}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}.vd-diagnostics-panel{position:fixed;bottom:1rem;right:1rem;z-index:9999;background:var(--panel-bg, rgba(20, 20, 20, .9));color:var(--panel-fg, #fff);padding:.75rem 1rem;border-radius:6px;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,monospace;font-size:.75rem;min-width:280px;max-width:360px;pointer-events:auto}.vd-diagnostics-panel h3{margin:0 0 .5rem;font-size:.85rem;font-weight:600}.vd-diagnostics-panel table{width:100%;border-collapse:collapse}.vd-diagnostics-panel td{padding:.125rem .25rem;font-variant-numeric:tabular-nums}.vd-diagnostics-panel td:first-child{color:var(--text-muted, #aaa)}.vd-diagnostics-panel td:last-child{text-align:right}.vd-diagnostics-lock{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-subtle, #333)}#measurement-markers,#detail-measurement-markers{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:61;--measure-accent-rgb: 255, 107, 53;--measure-bg: rgba(15, 15, 26, .92);--measure-font: monospace;--measure-border-radius: 4px}#detail-measurement-markers{z-index:11}.measure-point{position:absolute;width:22px;height:22px;background:rgb(var(--measure-accent-rgb));border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:10px;font-family:var(--measure-font);pointer-events:none;transform:translate(-50%,-50%);transition:opacity .15s;z-index:62;box-shadow:0 2px 8px rgba(var(--measure-accent-rgb),.5)}.measure-point.measure-point-pending{animation:measure-pulse 1s ease-in-out infinite;opacity:.85}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.rec-indicator{position:absolute;top:44px;right:10px;z-index:100;align-items:center;gap:6px;background:#0009;padding:4px 10px;border-radius:4px}.rec-dot{width:8px;height:8px;border-radius:50%;background:#e53935;animation:rec-pulse 1s infinite;display:inline-block}.rec-label{font-size:11px;color:#fff;font-weight:600}.rec-timer{font-size:11px;color:#ccc;font-family:monospace}.alignment-rmse{font-family:monospace;font-size:12px;color:#0f8;margin-left:8px}.alignment-controls{display:flex;gap:6px;margin-left:12px}.alignment-control-btn{padding:4px 12px}.rec-mode-btn{flex:1;width:auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:9px}.rec-mode-btn.active{background:#5a8ba033;border-color:var(--accent)}.rec-options.hidden{display:none}.rec-preview-card{border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--panel-bg, #1a1a1a)}.rec-preview-thumb{width:100%;aspect-ratio:16 / 9;background:#000}.rec-preview-thumb img,.rec-preview-thumb video{width:100%;height:100%;object-fit:contain;display:block}.rec-preview-actions{display:flex;gap:4px;padding:6px}.rec-preview-actions .prop-btn{flex:1;font-size:9px;padding:3px 6px}.trim-timeline:hover{background:#222}.fp-trim-bar{position:relative;height:16px;background:#1a1a1a;border-radius:3px;margin:4px 0 2px;cursor:pointer;-webkit-user-select:none;user-select:none}.fp-trim-range{position:absolute;top:0;bottom:0;background:#4fc3f740;border-radius:2px}.fp-trim-handle{position:absolute;top:-1px;bottom:-1px;width:6px;background:#4fc3f7;border-radius:2px;cursor:ew-resize;z-index:1}.fp-trim-handle:hover,.fp-trim-handle.dragging{background:#81d4fa}.fp-trim-handle-start{left:0}.fp-trim-handle-end{right:0}.fp-trim-reset{font-size:9px;color:var(--text-muted);cursor:pointer;margin-left:auto}.fp-trim-reset:hover{color:var(--text-secondary)}.fp-path-row{display:flex;flex-direction:column;gap:2px;padding:5px 4px;border-bottom:1px solid var(--border-subtle, rgba(255,255,255,.06));border-radius:3px;transition:background .1s ease}.fp-path-row:last-child{border-bottom:none}.fp-path-row:hover{background:#ffffff08}.fp-path-row-header{display:flex;align-items:center;gap:6px;font-size:11px}.fp-path-color-badge{width:12px;height:12px;border-radius:50%;flex-shrink:0;cursor:pointer;border:1px solid rgba(255,255,255,.2);padding:0;box-sizing:content-box;outline:4px solid transparent;outline-offset:0;transition:border-color .1s ease}.fp-path-color-badge:hover{border-color:#fff9}.fp-timeline-toggle{display:flex;gap:0;border-radius:4px;overflow:hidden;border:1px solid var(--border-subtle, rgba(255,255,255,.1))}.fp-mode-btn{flex:1;padding:5px 8px;font-size:11px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .1s ease}.fp-mode-btn:hover{background:#ffffff0d}.fp-mode-btn.active{background:var(--accent, #4FC3F7);color:var(--text-on-accent, #000)}.fp-path-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);cursor:text;padding:2px 4px;border-radius:2px;min-width:0}.fp-path-name:hover{background:#ffffff0d}.fp-path-name:focus{outline:1px solid var(--accent, #4FC3F7);background:#ffffff14}.fp-path-meta{font-size:10px;color:var(--text-tertiary, rgba(255,255,255,.4));padding-left:24px}.fp-path-play-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 6px;font-size:12px;opacity:.6;border-radius:2px;transition:opacity .1s ease,color .1s ease}.fp-path-play-btn:hover{opacity:1;color:var(--accent, #4FC3F7)}.fp-path-delete{padding:2px 6px;min-width:0;line-height:1.4;font-size:13px;opacity:0;transition:opacity .15s ease}.fp-path-row:hover .fp-path-delete{opacity:1}.fp-path-empty{padding:12px 8px;font-size:11px;color:var(--text-tertiary, rgba(255,255,255,.35));text-align:center;line-height:1.5}@keyframes measure-pulse{0%,to{transform:translate(-50%,-50%) scale(1);box-shadow:0 2px 8px rgba(var(--measure-accent-rgb),.5)}50%{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 2px 16px rgba(var(--measure-accent-rgb),.8)}}.measure-label{position:absolute;display:flex;align-items:center;gap:5px;background:var(--measure-bg);border:1px solid rgb(var(--measure-accent-rgb));border-radius:var(--measure-border-radius);padding:3px 7px 3px 8px;transform:translate(-50%,-50%);pointer-events:all;z-index:63;white-space:nowrap;box-shadow:0 2px 12px #00000080}.measure-label-text{color:rgb(var(--measure-accent-rgb));font-family:var(--measure-font);font-size:12px;font-weight:600;letter-spacing:.03em}.measure-label-delete{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;transition:color .15s}.measure-label-delete:hover{color:#f44}.measure-mode-btns{display:flex;gap:4px;margin-bottom:8px}.measure-mode-btn{min-width:28px;padding:2px 6px;font-size:14px}.measure-mode-btn.active{background:var(--accent, #0088ff);color:#fff}.measure-total-label{font-weight:700;background:#00ccffe6;color:#000}.editorial-measure-mode-row{display:flex;gap:2px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}.editorial-measure-mode-btn{flex:1;padding:4px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;cursor:pointer;font-size:14px;border-radius:3px;transition:all .15s}.editorial-measure-mode-btn:hover{border-color:#fff6;color:#fff}.editorial-measure-mode-btn.active{background:#fec03a33;border-color:#fec03a;color:#fec03a}.measure-scale-label{color:var(--text-secondary);font-size:11px;white-space:nowrap}.measure-unit-btn{background:none;border:1px solid rgba(var(--measure-accent-rgb),.4);border-radius:3px;color:rgb(var(--measure-accent-rgb));font-family:var(--measure-font);font-size:11px;padding:0 4px;cursor:pointer;margin-left:2px;line-height:1.4;transition:background .15s}.measure-unit-btn:hover{background:rgba(var(--measure-accent-rgb),.15)}.measure-unit-dropdown{position:fixed;z-index:10001;background:var(--panel-bg, #1e1e2e);border:1px solid var(--border-color, #333);border-radius:6px;padding:4px;display:flex;flex-direction:column;gap:2px;box-shadow:0 4px 12px #0006}.measure-unit-option{background:none;border:none;color:var(--text-primary, #e0e0e0);font-family:monospace;font-size:12px;padding:4px 12px;cursor:pointer;border-radius:4px;text-align:left}.measure-unit-option:hover{background:rgba(var(--measure-accent-rgb),.15)}.measure-unit-option.active{color:rgb(var(--measure-accent-rgb));font-weight:700}.measure-calibrate-status{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.5}.measure-calibrate-status.calibrated{color:#4caf50}.measure-calibrate-inline{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px;background:#ff6b350d;border:1px solid rgba(255,107,53,.2);border-radius:6px}.measure-calibrate-inline label{font-size:11px;color:var(--text-secondary)}.measure-calibrate-inline .calibrate-row{display:flex;align-items:center;gap:6px}#measure-scale-value{width:60px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);padding:3px 5px;text-align:right}#measure-scale-unit{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:12px;padding:3px 4px}.scale-bar{position:fixed;bottom:24px;left:24px;z-index:100;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .2s ease}body:not(.kiosk-mode) .scale-bar{left:calc(var(--rail-width) + 24px)}.scale-bar.hidden{display:none!important}.scale-bar-line{width:120px;height:2px;background:#ffffffe6;position:relative}.scale-bar-line:before,.scale-bar-line:after{content:"";position:absolute;width:2px;height:8px;background:#ffffffe6;top:-3px}.scale-bar-line:before{left:0}.scale-bar-line:after{right:0}.scale-bar-label{font-family:var(--font-mono, "SF Mono", "Fira Code", monospace);font-size:11px;color:#ffffffd9;margin-top:4px;text-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap}.scale-bar-label.uncalibrated:before{content:"~"}#btn-fullscreen .icon-compress,#btn-fullscreen.is-fullscreen .icon-expand{display:none}#btn-fullscreen.is-fullscreen .icon-compress{display:block}@keyframes vr-ready-pulse{0%,to{box-shadow:0 0 #648cff00}50%{box-shadow:0 0 8px 3px #648cff59}}#btn-enter-vr.vr-ready{animation:vr-ready-pulse 1.5s ease-in-out 3}@keyframes vr-overlay-fade-in{0%{opacity:0}to{opacity:1}}#vr-auto-enter-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;color:#fff;font-size:clamp(16px,4vw,24px);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:vr-overlay-fade-in .3s ease-out}#vr-auto-enter-overlay .vr-prompt-text{margin-bottom:20px;font-weight:500;letter-spacing:.5px}.display-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.tag-chip{display:inline-block;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#ffffffb3;font-size:.75rem;padding:2px 10px;line-height:1.6;letter-spacing:.02em;white-space:nowrap}.field-hint{display:block;font-size:.72rem;color:#fff6;margin-top:3px}#measure-clear-all{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;padding:3px 8px;cursor:pointer;transition:color .15s,border-color .15s}#measure-clear-all:hover{color:#ff6b35;border-color:#ff6b35}#btn-measure.active{color:rgb(var(--measure-accent-rgb));background:rgba(var(--measure-accent-rgb),.12);border-color:rgba(var(--measure-accent-rgb),.35)}#annotation-mode-indicator{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:10px 20px;background:var(--accent-muted);border:1px solid var(--accent);border-radius:var(--radius-md);font-size:13px;color:var(--accent-text);z-index:100}#alignment-mode-indicator{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:6px 14px;background:#ff9f4326;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,159,67,.4);border-radius:var(--radius-md);font-size:11px;color:#ff9f43;z-index:100;display:flex;align-items:center;gap:8px;white-space:nowrap}#alignment-markers{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}.alignment-marker{position:absolute;width:28px;height:28px;border:2px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0006;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;pointer-events:none}.alignment-marker.anchor{border-style:solid}.alignment-marker.mover{border-style:dashed}.alignment-marker.pair-0{background:#e6194b;color:#fff;border-color:#e6194b}.alignment-marker.pair-1{background:#3cb44b;color:#fff;border-color:#3cb44b}.alignment-marker.pair-2{background:#4363d8;color:#fff;border-color:#4363d8}.alignment-marker.pair-3{background:#f58231;color:#fff;border-color:#f58231}.alignment-marker.pair-4{background:#911eb4;color:#fff;border-color:#911eb4}.alignment-marker.pair-5{background:#42d4f4;color:#000;border-color:#42d4f4}.alignment-marker.pair-6{background:#f032e6;color:#fff;border-color:#f032e6}.alignment-marker.pair-7{background:#bfef45;color:#000;border-color:#bfef45}.alignment-marker.pair-8{background:#fabed4;color:#000;border-color:#fabed4}.alignment-marker.pair-9{background:#dcbeff;color:#000;border-color:#dcbeff}#proxy-mesh-indicator{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:8px 16px;background:#ffaa3226;border:1px solid #ffaa32;border-radius:8px;font-size:12px;color:#ffaa32;z-index:100;white-space:nowrap}#proxy-mesh-indicator a{color:#fc6;text-decoration:underline;cursor:pointer}#quality-toggle-container{display:inline-flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-deep);border:1px solid var(--border-default)}#quality-toggle-container.hidden{display:none}.quality-toggle-btn{padding:1px 8px;font-size:10px;font-weight:600;letter-spacing:.5px;background:transparent;color:var(--text-muted);border:none;cursor:pointer;transition:background .15s,color .15s}.quality-toggle-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.quality-toggle-btn.active{background:var(--accent-muted);color:var(--accent-text)}.quality-toggle-btn.loading{opacity:.5;pointer-events:none}#editor-quality-pill-host{display:inline-flex;gap:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-deep);border:1px solid var(--border-default)}.editor-quality-pill-btn{padding:1px 8px;font-size:10px;font-weight:600;letter-spacing:.5px;background:transparent;color:var(--text-muted);border:none;cursor:pointer;transition:background .15s,color .15s}.editor-quality-pill-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.editor-quality-pill-btn.active{background:var(--accent-muted);color:var(--accent-text)}.editor-quality-pill-btn.loading{opacity:.5;pointer-events:none}.editor-quality-pill-btn:disabled{opacity:.5;cursor:default}.quality-menu{position:fixed;bottom:var(--quality-menu-bottom, 20px);right:var(--quality-menu-right, 20px);z-index:50;font-family:inherit;-webkit-user-select:none;user-select:none}.quality-menu.hidden{display:none}.quality-menu-button{background:var(--surface-bg, rgba(0, 0, 0, .7));color:var(--accent-fg, #fff);border:1px solid var(--accent-border, rgba(255, 255, 255, .2));border-radius:4px;padding:6px 12px;font-size:13px;cursor:pointer;min-width:72px}.quality-menu-button:hover{background:var(--surface-bg-hover, rgba(0, 0, 0, .85))}.quality-menu-panel{position:absolute;bottom:calc(100% + 4px);right:0;display:none;flex-direction:column;min-width:100px;background:var(--surface-bg, rgba(0, 0, 0, .85));border:1px solid var(--accent-border, rgba(255, 255, 255, .2));border-radius:4px;padding:4px 0}.quality-menu-panel.open{display:flex}.quality-menu-option{background:transparent;color:var(--accent-fg, #fff);border:none;padding:6px 14px;font-size:13px;text-align:left;cursor:pointer;font-family:inherit}.quality-menu-option:hover{background:var(--accent-hover, rgba(255, 255, 255, .12))}.quality-menu-option.active{font-weight:600}.quality-menu.loading .quality-menu-button{opacity:.5;pointer-events:none}#annotation-bar{display:none}#annotation-chips{display:flex;gap:8px;flex-wrap:nowrap}.annotation-chip{padding:6px 14px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:20px;font-size:12px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .2s}.annotation-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.annotation-chip.active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent-text)}.annotation-chip-number{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--accent);color:var(--bg-deep);border-radius:50%;font-size:10px;font-weight:700;margin-right:6px}#annotation-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-surface);padding:24px;border-radius:12px;border:1px solid var(--border-default);box-shadow:0 20px 60px #00000080;z-index:200;width:360px;max-width:90vw}#annotation-panel h3{margin:0 0 4px;color:var(--text-primary);font-size:1.1rem}#annotation-panel label{display:block;margin-bottom:5px;font-size:12px;color:var(--text-secondary)}#annotation-panel input,#annotation-panel textarea{width:100%;padding:10px;margin-bottom:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:14px;font-family:inherit}#annotation-panel input:focus,#annotation-panel textarea:focus{outline:none;border-color:var(--accent)}#annotation-panel textarea{min-height:60px;resize:vertical}.export-section{padding:12px;margin-bottom:10px;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.export-section .radio-group{margin-bottom:0}.export-section .checkbox-group{margin-top:0}.coords-display{background:var(--bg-input);padding:10px;border-radius:var(--radius-md);margin-bottom:15px;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}.coords-display span{color:var(--accent-text)}.btn-group{display:flex;gap:10px;margin-top:15px}.btn-group .action-btn{flex:1}.radio-group{display:flex;gap:20px;margin-bottom:12px}.radio-group label{display:flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-secondary)}.radio-group input[type=radio]{width:auto;margin:0}#annotations-list{max-height:150px;overflow-y:auto}.no-annotations{color:var(--text-muted);font-size:11px;text-align:center;padding:10px}.annotation-item{display:flex;align-items:center;padding:8px;margin-bottom:4px;background:var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.annotation-item:hover{background:var(--bg-hover)}.annotation-item.selected{background:var(--accent-muted);border:1px solid var(--accent)}.annotation-number{width:20px;height:20px;background:var(--accent);color:var(--bg-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-right:8px;flex-shrink:0}.annotation-title{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--accent);color:var(--bg-deep);border-radius:9px;font-size:10px;font-weight:700;margin-left:8px}.subsection-header{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}#metadata-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:var(--bg-deep);border-left:1px solid var(--border-default);z-index:150;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease-out;overflow:hidden}#metadata-panel:not(.hidden){transform:translate(0)}.metadata-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);flex-shrink:0}.metadata-header h3{color:var(--accent-text);font-size:1.1rem;margin:0}.close-btn{width:30px;height:30px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.metadata-tabs{display:flex;background:var(--bg-surface);border-bottom:1px solid var(--border-default);padding:0 10px;flex-shrink:0;overflow-x:auto}.metadata-tab{flex:1;padding:10px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .2s;white-space:nowrap}.metadata-tab:hover{color:var(--text-primary);background:#ffffff08}.metadata-tab.active{color:var(--accent-text);border-bottom-color:var(--accent)}.metadata-tab-content{display:none;padding:20px;overflow-y:auto;flex:1}.metadata-tab-content.active{display:block}.metadata-field{margin-bottom:10px}.metadata-field label{display:block;margin-bottom:3px;font-size:10px;color:var(--text-secondary)}.field-help-link{display:inline-block;margin-bottom:4px;font-size:10px;color:var(--text-muted);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;transition:color .15s}.field-help-link:hover,.field-help-link:focus-visible{color:var(--accent);text-decoration-style:solid}.insert-image-btn{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:2px 6px;margin-left:8px;vertical-align:middle;line-height:1}.insert-image-btn:hover{color:var(--accent-text);border-color:var(--accent)}.insert-image-btn svg{vertical-align:middle}.metadata-field .required{color:var(--danger)}.metadata-field input[type=text],.metadata-field input[type=number],.metadata-field input[type=date],.metadata-field input[type=color],.metadata-field textarea,.metadata-field select{width:100%;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;font-family:inherit;transition:border-color .2s}.metadata-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity .2s;filter:invert(1)}.metadata-field input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.metadata-field input[type=date]{min-width:140px;font-variant-numeric:tabular-nums}.metadata-field input[type=date]::-webkit-datetime-edit-text,.metadata-field input[type=date]::-webkit-datetime-edit-month-field,.metadata-field input[type=date]::-webkit-datetime-edit-day-field,.metadata-field input[type=date]::-webkit-datetime-edit-year-field{color:var(--text-primary)}.metadata-field input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.metadata-field input:focus,.metadata-field textarea:focus,.metadata-field select:focus{outline:none;border-color:var(--accent)}.metadata-field textarea{resize:vertical;min-height:60px}.metadata-field textarea::-webkit-resizer{background-color:var(--bg-input);background-image:linear-gradient(135deg,transparent 0%,transparent 28%,var(--accent) 28%,var(--accent) 38%,transparent 38%,transparent 53%,var(--accent) 53%,var(--accent) 63%,transparent 63%,transparent 78%,var(--accent) 78%,var(--accent) 88%,transparent 88%);border-bottom-right-radius:var(--radius-sm)}.metadata-field select{cursor:pointer}.field-hint{display:block;margin-top:4px;font-size:.7rem;color:var(--text-muted)}.color-input-row{display:flex;align-items:center;gap:8px}.color-input-row input[type=color]{width:36px;height:28px;padding:2px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.color-hex-label{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.field-error{display:block;margin-top:4px;font-size:.7rem;color:var(--danger)}.metadata-field input.validation-error,.metadata-field select.validation-error{border-color:var(--danger)}.metadata-field input.validation-valid{border-color:var(--accent)}.metadata-field label[data-field-help]{position:relative;cursor:help}.metadata-field label[data-field-help]:after{content:"ⓘ";margin-left:5px;font-size:.7rem;opacity:.35;transition:opacity .15s;vertical-align:middle}.metadata-field label[data-field-help]:hover:after{opacity:.8}.metadata-field label[data-field-help]:before{content:attr(data-field-help);position:absolute;left:0;bottom:calc(100% + 6px);background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);font-size:11px;font-weight:400;white-space:nowrap;padding:5px 8px;border-radius:var(--radius-md);pointer-events:none;opacity:0;transition:opacity .1s;z-index:1000}.metadata-field label[data-field-help]:hover:before{opacity:1}.warning-banner{background:#ffa50026;border:1px solid rgba(255,165,0,.4);border-radius:6px;padding:10px 12px;margin-bottom:15px;font-size:.8rem;color:#fa4;line-height:1.4}.warning-banner .warning-icon{margin-right:6px;font-size:1rem}.version-history-row{display:grid;grid-template-columns:100px 1fr auto;gap:8px;margin-bottom:8px;align-items:start}.version-history-row textarea{min-height:40px;resize:vertical}.metadata-field.inline-fields{display:flex;gap:10px;align-items:flex-end}.metadata-field.inline-fields .field-group{flex:1;min-width:0}.metadata-field.inline-fields .field-group label{font-size:.7rem;margin-bottom:4px}.metadata-field.inline-fields input,.metadata-field.inline-fields select{width:100%;padding:8px 10px;font-size:.85rem}.dimension-inputs,.coordinate-inputs{display:flex;gap:8px}.dimension-inputs input,.coordinate-inputs input{flex:1;min-width:0;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem}.dimension-inputs input:focus,.coordinate-inputs input:focus{outline:none;border-color:var(--accent)}.dimension-inputs input::placeholder,.coordinate-inputs input::placeholder{color:var(--text-muted)}.software-row,.related-object-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.software-row input,.related-object-row input{flex:1;padding:5px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px}.software-row input:first-child,.related-object-row input:first-child{flex:1.5}.software-row input:focus,.related-object-row input:focus{outline:none;border-color:var(--accent)}.software-row .remove-btn,.related-object-row .remove-btn{width:24px;height:24px;padding:0;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.software-row .remove-btn:hover,.related-object-row .remove-btn:hover{background:#c45c5c33;border-color:var(--danger);color:var(--danger)}.asset-section{margin-bottom:20px;padding:15px;background:var(--bg-input);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.asset-section h4{margin:0 0 10px;font-size:.9rem;color:var(--text-secondary)}.asset-status{padding:8px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-muted)}.asset-status.loaded{background:var(--accent-muted);color:var(--accent-text);border:1px solid rgba(90,139,160,.3)}.asset-fields{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-default)}.quality-stats{background:var(--bg-input);border-radius:var(--radius-md);padding:12px 15px;margin-bottom:15px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-subtle)}.stat-row:last-child{border-bottom:none}.stat-label{font-size:.8rem;color:var(--text-secondary)}.stat-value{font-size:.85rem;color:var(--accent-text);font-family:var(--font-mono)}.integrity-info{background:var(--bg-input);border-radius:var(--radius-md);padding:12px 15px;margin-bottom:15px}.hash-list{background:var(--bg-input);border-radius:var(--radius-md);padding:12px 15px}.hash-placeholder{font-size:.8rem;color:var(--text-muted);font-style:italic;text-align:center;padding:10px;margin:0}.hash-preview{font-size:.75rem!important;word-break:break-all}.hash-item{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.hash-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.hash-item-name{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.hash-item-value{font-family:var(--font-mono);font-size:.7rem;color:var(--accent-text);word-break:break-all;background:var(--bg-deep);padding:6px 8px;border-radius:var(--radius-sm)}#custom-fields-list{margin-bottom:10px}.custom-field-row{display:flex;gap:8px;margin-bottom:8px;align-items:flex-start}.custom-field-row input{flex:1;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem}.custom-field-row input:first-child{flex:.4}.custom-field-row input:focus{outline:none;border-color:var(--accent)}.custom-field-remove{width:30px;height:30px;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.custom-field-remove:hover{background:#c45c5c33;border-color:var(--danger);color:var(--danger)}#metadata-panel .subsection-header{margin-top:12px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.measurement-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;margin-top:8px}.measurement-list:empty{display:none}.measurement-item{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:2px;align-items:baseline;padding:8px 10px;background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.measurement-item:hover{background:var(--bg-hover);border-color:var(--border-default)}.measurement-item:focus-visible{outline:2px solid var(--focus-ring, var(--accent-text));outline-offset:-2px}.measurement-kind{grid-column:1;grid-row:1;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.measurement-value{grid-column:2;grid-row:1;font-size:13px;color:var(--text-primary)}.measurement-secondary{grid-column:2;grid-row:2;font-size:11px;color:var(--text-muted)}.measurement-stale{grid-column:3;grid-row:1 / span 2;align-self:center;padding:2px 6px;background:color-mix(in srgb,var(--warning) 18%,transparent);border:1px solid color-mix(in srgb,var(--warning) 50%,transparent);border-radius:9999px;color:var(--warning);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}#annotation-info-popup{position:fixed;z-index:300;background:#111318f2;border:1px solid var(--accent);border-radius:10px;padding:12px 16px;max-width:280px;min-width:180px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transform:translateY(-10px);opacity:0;transition:opacity .2s,transform .2s}#annotation-info-popup:not(.hidden){transform:translateY(0);opacity:1}.annotation-info-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.annotation-info-number{width:20px;height:20px;background:var(--accent);color:var(--bg-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;line-height:1;flex-shrink:0}.annotation-info-title{color:var(--text-primary);font-size:.85rem;font-weight:600;margin:0;line-height:1.3}.annotation-info-body{color:var(--text-secondary);font-size:.75rem;line-height:1.45;margin:0;max-height:200px;overflow-y:auto}.annotation-info-body .md-p{margin:0 0 .4em}.annotation-info-body .md-p:last-child{margin-bottom:0}.annotation-info-body:empty{display:none}.annotation-info-body .md-link{color:var(--accent-text);text-decoration:none;border-bottom:1px dotted var(--accent-text);transition:color .2s,border-color .2s}.annotation-info-body .md-link:hover{color:var(--accent-hover);border-color:var(--accent-hover)}.annotation-info-body .md-image{width:100%;height:auto;object-fit:contain;border-radius:6px;margin:8px 0;display:block;cursor:pointer}#annotation-info-popup.has-image{max-width:340px;padding:0;overflow:hidden}#annotation-info-popup.has-image .annotation-info-header{padding:10px 14px 8px;margin-bottom:0}#annotation-info-popup.has-image .annotation-info-body{padding:0 14px 10px}#detail-annotation-popup{position:fixed;top:80px;right:24px;z-index:10;background:#111318f2;border:1px solid var(--accent);border-radius:10px;padding:12px 16px;max-width:280px;min-width:180px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transform:translateY(-10px);opacity:0;transition:opacity .2s,transform .2s}#detail-annotation-popup:not(.hidden){transform:translateY(0);opacity:1}#detail-annotation-line-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9}#detail-annotation-line-overlay line{stroke:var(--accent);stroke-opacity:.7;stroke-width:2.5;stroke-dasharray:5 5}.annotation-info-hero{position:relative;width:100%;overflow:hidden;cursor:pointer}.annotation-info-hero:empty,.annotation-info-hero[style*="display: none"]{display:none}.annotation-hero-img{width:100%;max-height:220px;object-fit:cover;display:block;transition:filter .2s}.annotation-info-hero:hover .annotation-hero-img{filter:brightness(.85)}.annotation-hero-zoom{position:absolute;bottom:10px;right:10px;width:32px;height:32px;background:#0000008c;border-radius:6px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;pointer-events:auto;cursor:pointer}.annotation-hero-zoom:before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.85);border-radius:50%;position:relative;top:-1px;left:-1px}.annotation-hero-zoom:after{content:"";width:2px;height:7px;background:#ffffffd9;position:absolute;bottom:6px;right:8px;transform:rotate(-45deg);border-radius:1px}.annotation-info-hero:hover .annotation-hero-zoom{opacity:1}#image-lightbox{position:fixed;inset:0;z-index:10000;background:#000000e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;cursor:pointer}#image-lightbox.hidden{display:none!important}#image-lightbox.visible{opacity:1}.lightbox-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px;box-shadow:0 12px 48px #00000080;cursor:default}.lightbox-close{position:absolute;top:16px;right:20px;width:40px;height:40px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.lightbox-close:hover{background:#fff3;color:#fff}.md-video{position:relative;width:100%;padding-bottom:56.25%;margin:8px 0;border-radius:6px;overflow:hidden}.md-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.annotation-info-body .md-code{background:var(--accent-muted);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85em;color:var(--accent-text)}.annotation-info-body strong{color:var(--text-primary);font-weight:600}.annotation-info-body em{font-style:italic}#metadata-display{position:fixed;bottom:30px;right:30px;z-index:200;background:#0a0a12eb;border:1px solid rgba(201,168,124,.3);border-radius:16px;padding:28px 32px;max-width:380px;min-width:300px;box-shadow:0 12px 48px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:Georgia,Times New Roman,serif}.display-close-btn{position:absolute;top:12px;right:12px;width:28px;height:28px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--text-muted);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.display-close-btn:hover{background:#ffffff1a;color:var(--text-primary);border-color:#ffffff4d}.display-content{text-align:left}.display-title{font-size:1.5rem;font-weight:400;color:#fff;margin:0 0 8px;letter-spacing:.02em;line-height:1.3}.display-description{font-size:.95rem;color:#999;margin:0 0 16px;line-height:1.6;font-style:italic}.display-description:empty{display:none}.display-description .md-h1,.display-description .md-h2,.display-description .md-h3,.display-description .md-h4{color:#fff;font-style:normal;margin:16px 0 8px;font-family:inherit}.display-description .md-h1{font-size:1.4rem;font-weight:600}.display-description .md-h2{font-size:1.2rem;font-weight:600}.display-description .md-h3{font-size:1.05rem;font-weight:600}.display-description .md-h4{font-size:.95rem;font-weight:600}.display-description .md-h1:first-child,.display-description .md-h2:first-child,.display-description .md-h3:first-child,.display-description .md-h4:first-child{margin-top:0}.display-description .md-p{margin:0 0 8px;font-style:italic}.display-description .md-ul,.display-description .md-ol{margin:8px 0;padding-left:24px;font-style:normal}.display-description .md-ul li,.display-description .md-ol li{margin:4px 0;color:#bbb}.display-description .md-hr{border:none;border-top:1px solid rgba(90,139,160,.3);margin:16px 0}.display-description .md-link{color:var(--accent-text);text-decoration:none;border-bottom:1px dotted var(--accent-text);font-style:normal}.display-description .md-link:hover{color:var(--accent-hover);border-color:var(--accent-hover)}.display-description .md-image{max-width:100%;height:auto;border-radius:8px;margin:12px 0;display:block;box-shadow:0 2px 8px #0003}.display-description .md-code{background:var(--accent-muted);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em;color:var(--accent-text);font-style:normal}.display-description strong{color:#fff;font-weight:600;font-style:normal}.display-description em{font-style:italic;color:#ccc}.display-divider{height:1px;background:linear-gradient(90deg,rgba(90,139,160,.4),transparent);margin:16px 0}.display-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.display-detail{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.display-detail .display-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.display-detail .display-value{font-size:.9rem;color:#ccc;text-align:right}.display-detail[style*="display: none"],.display-detail.hidden{display:none!important}.display-license{font-family:var(--font-sans);font-size:.75rem;color:var(--accent-text);margin-bottom:20px;padding:8px 12px;background:var(--accent-muted);border-radius:var(--radius-md);text-align:center}.display-license.hidden,.display-license:empty{display:none}.display-stats{display:flex;justify-content:space-around;gap:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.display-stat{text-align:center}.display-stat .stat-number{display:block;font-family:var(--font-sans);font-size:1.3rem;font-weight:600;color:var(--accent-text);line-height:1}.display-stat .stat-label{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.display-stat.hidden{display:none}.display-edit-btn{width:100%;margin-top:16px;padding:10px 16px;background:transparent;border:1px solid rgba(90,139,160,.4);border-radius:var(--radius-md);color:var(--accent-text);font-family:var(--font-sans);font-size:.8rem;cursor:pointer;transition:all .2s}.display-edit-btn:hover{background:var(--accent-muted);border-color:var(--accent)}#metadata-sidebar{display:flex;flex-direction:column;flex:1;overflow:hidden}#metadata-sidebar.hidden{display:none}.sidebar-mode-tabs{display:flex;background:var(--bg-deep);border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;margin:8px 12px;flex-shrink:0}.sidebar-mode-tab{flex:1;padding:5px 0;text-align:center;font-size:10px;font-weight:500;background:transparent;border:none;border-right:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all .1s}.sidebar-mode-tab:last-child{border-right:none}.sidebar-mode-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-mode-tab.active{color:var(--accent-text);background:var(--accent-muted)}.sidebar-mode-content{display:none;flex:1;overflow-y:auto;padding:8px 12px}.sidebar-mode-content.active{display:block}.edit-category-bar{margin-bottom:8px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.edit-category-select{width:100%;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.edit-category-select:focus{border-color:var(--accent)}.edit-category-select option{background:var(--bg-input);color:var(--text-primary)}.metadata-profile-bar{padding:8px 12px;border-bottom:1px solid var(--border-subtle, rgba(255,255,255,.08))}.metadata-profile-selector{display:flex;border:1px solid var(--border-default, rgba(255,255,255,.12));border-radius:6px;overflow:hidden}.profile-btn{flex:1;padding:5px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:none;background:var(--bg-input, #1e1e2e);color:var(--text-secondary, #888);cursor:pointer;transition:background .15s,color .15s}.profile-btn+.profile-btn{border-left:1px solid var(--border-default, rgba(255,255,255,.12))}.profile-btn:hover{background:var(--bg-elevated, #2a2a3e)}.profile-btn.active{background:var(--accent, #6c8cbf);color:#fff}.metadata-completeness{display:flex;align-items:center;gap:8px;margin-top:8px}.completeness-bar{flex:1;height:3px;background:var(--bg-input, #1e1e2e);border-radius:2px;overflow:hidden}.completeness-fill{height:100%;background:var(--accent, #6c8cbf);border-radius:2px;transition:width .3s ease;width:0%}.completeness-text{font-size:10px;color:var(--text-secondary, #888);white-space:nowrap;min-width:36px;text-align:right}.camera-save-controls{display:flex;gap:6px;margin-bottom:4px}.saved-camera-display{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:6px 8px;background:var(--bg-input, #1e1e2e);border:1px solid var(--border-default, rgba(255,255,255,.12));border-radius:var(--radius-sm, 4px);font-family:monospace;font-size:10px}#sidebar-edit[data-active-profile=basic] [data-tier=standard],#sidebar-edit[data-active-profile=basic] [data-tier=archival],#sidebar-edit[data-active-profile=standard] [data-tier=archival]{display:none!important}.metadata-actions{display:flex;align-items:stretch;gap:8px;margin-bottom:12px}.metadata-actions .action-btn{flex:1;font-size:10px;padding:5px 8px;margin-bottom:0;box-sizing:border-box;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .1s}.metadata-actions .action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.edit-tab-content{display:none}.edit-tab-content.active{display:block}.section-header.archived,.subsection-header.archived{position:relative;padding-left:12px}.section-header.archived:before,.subsection-header.archived:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:2px;background:#5a8ba073;border-radius:1px}.archive-tag{display:inline-flex;align-items:center;justify-content:center;height:14px;padding:0 5px;border:1px solid color-mix(in srgb,var(--accent-text) 35%,var(--border-subtle));border-radius:7px;background:color-mix(in srgb,var(--accent-text) 10%,transparent);color:color-mix(in srgb,var(--accent-text) 84%,var(--text-secondary));font-size:8px;font-weight:600;line-height:1;letter-spacing:.05em;text-transform:uppercase;margin-left:auto;margin-right:6px;flex-shrink:0}.prop-section.archived>.prop-section-hd{padding-left:12px}.prop-section.archived>.prop-section-hd .modified-dot{margin-left:0}.assets-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-panel);position:sticky;top:0;z-index:2}.assets-tab{flex:1 1 0;padding:8px 12px;background:transparent;border:none;color:var(--text-secondary);font:inherit;font-size:12px;font-weight:500;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;transition:color .12s ease,background-color .12s ease}.assets-tab:hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent-text) 6%,transparent)}.assets-tab:focus-visible{outline:2px solid var(--focus-ring, var(--accent-text));outline-offset:-2px}.assets-tab.active{color:var(--text-primary)}.assets-tab.active:before{content:"";position:absolute;left:10%;right:10%;bottom:3px;height:2px;background:var(--accent-text);border-radius:1px}.assets-tab-badge{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-text);margin-left:2px}.processing-empty-state{padding:16px;margin:8px 0;border:1px solid var(--border-subtle);border-radius:6px;background:color-mix(in srgb,var(--bg-panel) 50%,transparent);max-width:100%}.processing-empty-state .empty-state-heading{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.processing-empty-state .empty-state-features{list-style:none;padding:0;margin:0 0 12px;font-size:11px;color:var(--text-secondary);line-height:1.5}.processing-empty-state .empty-state-features li{margin:4px 0}.processing-empty-state .empty-state-features strong{color:var(--text-primary);font-weight:600}.processing-empty-state .empty-state-hint{font-size:11px;color:var(--text-secondary);font-style:italic}.sidebar-footer{display:none}#sidebar-annotations-list{max-height:300px;overflow-y:auto;margin-bottom:12px}#sidebar-annotations-list .annotation-item{display:flex;align-items:center;padding:10px 12px;margin-bottom:6px;background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}#sidebar-annotations-list .annotation-item:hover{background:var(--bg-hover);border-color:var(--border-default)}#sidebar-annotations-list .annotation-item.selected{background:var(--accent-muted);border-color:var(--accent)}#sidebar-annotation-editor{margin-top:15px;padding-top:15px;border-top:1px solid var(--border-default)}#sidebar-annotation-editor .button-row{margin-top:12px}#sidebar-annotation-editor .action-btn.small{padding:8px 12px;font-size:.75rem}#sidebar-annotation-editor .action-btn.danger{background:#ff6b6b26;border-color:#ff6b6b;color:#ff6b6b}#sidebar-annotation-editor .action-btn.danger:hover{background:#ff6b6b40}#sidebar-view .display-content{text-align:left}#sidebar-view .display-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 10px;line-height:1.3;letter-spacing:-.01em}#sidebar-view .display-description{font-size:.8rem;color:var(--text-secondary);margin:0 0 12px;line-height:1.6;font-style:italic;font-family:Georgia,Times New Roman,serif}#sidebar-view .display-description:empty{display:none}#sidebar-view .display-divider{height:1px;background:linear-gradient(90deg,rgba(90,139,160,.4),transparent);margin:20px 0}#sidebar-view .display-details{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}#sidebar-view .display-detail{display:flex;justify-content:space-between;align-items:baseline;gap:16px}#sidebar-view .display-label{font-size:.7rem;color:#666;text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}#sidebar-view .display-value{font-size:.9rem;color:#ccc;text-align:right}#sidebar-view .display-license{font-size:.8rem;color:var(--accent-text);margin-bottom:20px;padding:10px 14px;background:var(--accent-muted);border-radius:var(--radius-md);text-align:center}#sidebar-view .display-license:empty,#sidebar-view .display-license-row.hidden{display:none}#sidebar-view .display-stats{display:flex;justify-content:space-around;gap:16px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}#sidebar-view .display-stat{text-align:center}#sidebar-view .display-stat .stat-number{display:block;font-size:1.4rem;font-weight:600;color:var(--accent-text);line-height:1}#sidebar-view .display-stat .stat-label{display:block;font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-top:6px}#sidebar-view .display-stat.hidden{display:none}#sidebar-view .display-detail.hidden{display:none!important}#sidebar-view .display-extended{margin-top:16px}#sidebar-view .display-section{border-top:1px solid rgba(255,255,255,.06)}#sidebar-view .display-section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary, #999);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;transition:color .15s ease}#sidebar-view .display-section-header:hover{color:var(--text-primary, #ddd)}#sidebar-view .display-section-chevron{font-size:.6rem;transition:transform .2s ease;color:inherit}#sidebar-view .display-section.collapsed .display-section-chevron{transform:rotate(-90deg)}#sidebar-view .display-section-content{padding-bottom:12px;overflow:hidden}#sidebar-view .display-section.collapsed .display-section-content{display:none}#sidebar-view .display-section .display-detail{display:flex;justify-content:space-between;align-items:baseline;padding:3px 0;gap:12px}#sidebar-view .display-section .display-label{font-size:.7rem;color:var(--text-secondary, #999);white-space:nowrap;flex-shrink:0}#sidebar-view .display-section .display-value{font-size:.75rem;color:var(--text-primary, #ddd);text-align:right;word-break:break-word}@media(max-width:768px){#app{grid-template-columns:1fr;grid-template-rows:1fr var(--status-height);grid-template-areas:"viewport" "status"}#tool-rail,#props-panel{display:none}#metadata-display{bottom:10px;left:10px;right:10px;max-width:none;min-width:auto}}.share-backdrop{position:fixed;inset:0;z-index:10000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.share-backdrop.show{opacity:1}.share-dialog{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;width:480px;max-width:92vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-subtle)}.share-dialog-title{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;min-width:0}.share-archive-name{font-weight:400;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-dialog-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;line-height:1;transition:color .15s}.share-dialog-close:hover{color:var(--text-primary)}.share-dialog-body{padding:16px 20px}.share-tabs{display:flex;gap:2px;margin-bottom:14px;border-bottom:1px solid var(--border-subtle);padding-bottom:0}.share-tab{font-size:11px;padding:5px 12px 7px;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.share-tab:hover{color:var(--text-secondary)}.share-tab.active{color:var(--accent-text);border-bottom-color:var(--accent)}.share-panel{display:none}.share-panel.active{display:block}.share-presets{display:flex;gap:4px;margin-bottom:12px}.share-preset{font-size:10px;padding:3px 10px;border-radius:var(--radius-sm);color:var(--text-muted);background:var(--bg-surface);border:none;cursor:pointer;transition:color .15s,background .15s}.share-preset:hover{color:var(--text-primary);background:var(--bg-hover)}.share-preset.active{color:var(--accent-text);background:var(--accent-muted)}.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.share-field label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}.share-select{width:100%;font-size:11px;padding:4px 22px 4px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath d='M0 0l4 5 4-5z' fill='%235c6170'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.share-select:focus{border-color:var(--accent)}.share-checks{display:flex;gap:12px;margin-bottom:12px}.share-check{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary);cursor:pointer}.share-check input{accent-color:var(--accent);cursor:pointer}.share-output-row{display:flex;gap:6px;margin-bottom:10px}.share-output{flex:1;font-size:11px;font-family:var(--font-mono);padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--accent-text);outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.share-output-code{flex:1;font-size:10px;font-family:var(--font-mono);padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-all;min-height:56px;max-height:100px;overflow-y:auto;resize:none}.share-copy-btn{font-size:10px;padding:4px 12px;background:var(--accent);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s;align-self:flex-start}.share-copy-btn:hover{background:var(--accent-hover)}.share-qr{display:flex;justify-content:center;margin:8px 0}.share-qr svg{border-radius:var(--radius-md);max-width:140px;height:auto}.embed-dims{display:flex;align-items:center;gap:8px;margin-bottom:10px}.embed-dim-input{width:70px;font-size:11px;padding:4px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);outline:none;text-align:center;font-variant-numeric:tabular-nums}.embed-dim-input:focus{border-color:var(--accent)}.embed-dim-input:disabled{opacity:.4}.embed-dim-label{font-size:10px;color:var(--text-muted)}.embed-dim-x{font-size:10px;color:var(--text-faint, var(--text-muted))}.share-dialog-footer{display:flex;justify-content:flex-end;padding:10px 20px 14px}.share-footer-btn{font-size:11px;padding:5px 16px;background:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.share-footer-btn:hover{color:var(--text-primary);background:var(--bg-surface)}.validation-overlay{position:fixed;inset:0;z-index:10000;background:#0009;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.validation-overlay.hidden{display:none}.validation-dialog{background:var(--bg-surface, #1a1a2e);border:1px solid var(--border-default, rgba(255,255,255,.12));border-radius:12px;max-width:420px;width:90%;box-shadow:0 20px 60px #00000080}.validation-header{padding:16px 20px 0}.validation-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #eee)}.validation-body{padding:12px 20px;max-height:50vh;overflow-y:auto}.validation-message{font-size:12px;color:var(--text-secondary, #888);margin:0 0 10px;line-height:1.5}.validation-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.validation-list li{font-size:11px;padding:3px 10px;background:#ffa5001f;border:1px solid rgba(255,165,0,.25);border-radius:12px;color:#e8a946}.validation-footer{display:flex;gap:8px;padding:12px 20px 16px;justify-content:flex-end}.validation-footer .action-btn{flex:1 1 0%;padding:6px 16px;margin-bottom:0;font-size:12px;border-radius:6px;width:auto}.validation-header-row{display:flex;align-items:center;gap:8px}.validation-status-icon{width:10px;height:10px;border-radius:50%;flex-shrink:0}.validation-status-icon.status-pass{background:#4caf50}.validation-status-icon.status-warning{background:#ff9800}.validation-status-icon.status-error{background:#f44336}.validation-score-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;color:var(--text-secondary, #888)}.validation-score-row strong{color:var(--text-primary, #eee)}.validation-score-track{height:4px;background:#ffffff14;border-radius:2px;margin-top:6px;overflow:hidden}.validation-score-fill{height:100%;border-radius:2px;transition:width .3s ease}.validation-score-fill.score-good{background:#4caf50}.validation-score-fill.score-fair{background:#ff9800}.validation-score-fill.score-low{background:#f44336}.validation-section{margin-bottom:10px}.validation-section.hidden{display:none}.validation-section-title{font-size:11px;font-weight:600;margin:0 0 6px;text-transform:uppercase;letter-spacing:.5px}.validation-section-title.section-error{color:#f44336}.validation-section-title.section-warning{color:#ff9800}.validation-list.error-list li{background:#f443361a;border-color:#f4433640;color:#ef9a9a}.validation-list li{display:flex;justify-content:space-between;align-items:center;gap:8px}.finding-label{font-weight:500}.finding-msg{font-size:10px;opacity:.7;text-align:right;flex-shrink:0}.validation-pass-row{text-align:center;padding:4px 0;font-size:11px;color:#4caf50}.validation-footer .override-btn{background:#f4433626;border-color:#f443364d;color:#ef9a9a}.validation-footer .override-btn:hover{background:#f4433640}.client-link-create{padding:12px 0}.client-link-heading{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary)}.client-link-divider{padding:8px 0;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-top:1px solid var(--border-default);margin-top:8px}.client-link-list{max-height:400px;overflow-y:auto}.client-link-loading{text-align:center;color:var(--text-muted);padding:24px;font-size:13px}.client-link-error{color:#e53e3e;font-size:12px;min-height:18px;margin:4px 0}.client-link-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.token-card{padding:10px 0;border-bottom:1px solid var(--border-default)}.token-card:last-child{border-bottom:none}.token-card.token-dimmed{opacity:.6}.token-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.token-card-label{font-weight:600;font-size:13px;color:var(--text-primary)}.token-card-details{font-size:12px;color:var(--text-muted);margin-bottom:2px}.token-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted)}.token-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;white-space:nowrap}.token-badge-active{background:#38a16933;color:#38a169}.token-badge-expired{background:#d69e2e33;color:#d69e2e}.token-badge-revoked{background:#e53e3e33;color:#e53e3e}.token-url-row{display:flex;gap:4px;margin:6px 0}.token-url-input{flex:1;font-family:var(--font-mono);font-size:11px;background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);padding:4px 8px;border-radius:var(--radius-sm);outline:none;min-width:0}.token-copy-btn{align-self:flex-start}.token-warning{background:#d69e2e26;border:1px solid rgba(214,158,46,.3);border-radius:6px;padding:6px 10px;font-size:11px;color:#d69e2e;margin:4px 0}.token-qr{margin:6px 0}.token-qr svg{max-width:120px;height:auto;border-radius:var(--radius-sm)}.token-revoke-btn{background:none;border:1px solid var(--border-default);color:var(--text-muted);font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s}.token-revoke-btn:hover{border-color:#e53e3e;color:#e53e3e}.token-revoke-confirm{border-color:#e53e3e;color:#e53e3e;animation:pulse-border .5s ease}@keyframes pulse-border{0%,to{border-color:#e53e3e}50%{border-color:#feb2b2}}.token-access-toggle{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:4px 0;margin-top:4px;transition:color .15s}.token-access-toggle:hover{color:var(--text-primary)}.token-access-log{font-size:11px;color:var(--text-muted);padding:8px 0}.token-access-event{padding:3px 0;border-bottom:1px solid var(--border-subtle)}.token-access-counts{font-size:11px;color:var(--text-muted);margin-top:4px}.field-row{display:flex;gap:4px;align-items:center}.share-clear-btn{background:none;border:1px solid var(--border-default);color:var(--text-muted);font-size:11px;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.share-clear-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.share-primary-btn{background:var(--accent)!important;color:var(--bg-deep)!important}.share-primary-btn:disabled{opacity:.5;cursor:not-allowed}.required{color:#e53e3e}.share-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.share-chip{padding:6px 12px;border:1px solid var(--border-default);border-radius:999px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.share-chip:hover{border-color:var(--accent);color:var(--text-primary)}.share-chip.active{background:var(--accent);border-color:var(--accent);color:var(--bg-deep)}.share-expiry-summary{font-size:12px;color:var(--text-muted);margin-top:2px;margin-bottom:8px}.share-calendar-popover{z-index:10000;background:var(--bg-deep, #1a1a1a);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 8px 24px #00000059;padding:10px;width:260px}.share-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.share-calendar-header h3{margin:0;font-size:13px;font-weight:500;color:var(--text-primary)}.share-calendar-header button{background:transparent;border:none;color:var(--text-muted);font-size:18px;width:24px;height:24px;cursor:pointer;border-radius:4px;line-height:1}.share-calendar-header button:hover{background:#ffffff0f;color:var(--text-primary)}.share-calendar-dow,.share-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.share-calendar-dow{margin-bottom:4px}.share-calendar-dow span{text-align:center;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.share-calendar-day{background:transparent;border:none;color:var(--text-primary);height:32px;border-radius:4px;cursor:pointer;font-size:12px}.share-calendar-day:hover:not(.disabled):not(.blank){background:#ffffff14}.share-calendar-day.disabled{color:var(--text-muted);opacity:.35;cursor:not-allowed}.share-calendar-day.blank{cursor:default}@media(max-width:500px){.share-presets{flex-direction:column}}.map-picker-overlay{position:fixed;inset:0;z-index:10000;background:#000000b3;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-picker-overlay.hidden{display:none}.map-picker-modal{width:90vw;height:80vh;max-width:1000px;max-height:700px;background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border, #333);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080}.map-picker-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border, #333);background:var(--bg-primary, #161616)}.map-picker-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary, #e0e0e0);white-space:nowrap}.map-picker-search-wrap{flex:1;position:relative}.map-picker-search-wrap input{width:100%;padding:6px 10px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border, #333);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:13px;outline:none}.map-picker-search-wrap input:focus{border-color:var(--accent, #4fc3f7)}.map-picker-results{position:absolute;top:100%;left:0;right:0;z-index:10001;background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border, #333);border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto}.map-picker-results.hidden{display:none}.map-search-result{padding:8px 10px;font-size:12px;color:var(--text-secondary, #aaa);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:1px solid var(--border, #333)}.map-search-result:last-child{border-bottom:none}.map-search-result:hover{background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #e0e0e0)}.map-picker-btn,.btn-pick-map{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border, #333);border-radius:4px;color:var(--text-secondary, #aaa);cursor:pointer;flex-shrink:0}.map-picker-btn:hover,.btn-pick-map:hover{color:var(--accent, #4fc3f7);border-color:var(--accent, #4fc3f7)}.map-picker-map{flex:1;min-height:0}.map-picker-footer{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--border, #333);background:var(--bg-primary, #161616)}.map-picker-coords{font-size:12px;font-family:monospace;color:var(--text-secondary, #aaa);min-width:180px}.map-picker-location{flex:1;font-size:11px;color:var(--text-muted, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-picker-actions{display:flex;gap:8px;flex-shrink:0}.map-picker-actions .btn-secondary,.map-picker-actions .btn-primary{padding:6px 16px;border-radius:4px;font-size:13px;cursor:pointer;border:1px solid var(--border, #333)}.map-picker-actions .btn-secondary{background:var(--bg-tertiary, #2a2a2a);color:var(--text-primary, #e0e0e0)}.map-picker-actions .btn-secondary:hover{background:var(--bg-hover, #333)}.map-picker-actions .btn-primary{background:var(--accent, #4fc3f7);color:#000;border-color:var(--accent, #4fc3f7);font-weight:600}.map-picker-actions .btn-primary:hover{filter:brightness(1.1)}.map-picker-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}#walkthrough-stop-list{max-height:260px;overflow-y:auto;margin-bottom:8px}.wt-stop-item{display:flex;align-items:center;padding:8px;margin-bottom:4px;background:var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;gap:8px}.wt-stop-item:hover{background:var(--bg-hover)}.wt-stop-item.selected{background:var(--accent-muted);outline:1px solid var(--accent)}.wt-stop-item .drag-handle{cursor:grab;color:var(--text-muted);font-size:11px;flex-shrink:0;-webkit-user-select:none;user-select:none;padding:0 2px}.wt-stop-item .drag-handle:active{cursor:grabbing}.wt-stop-number{width:20px;height:20px;background:var(--accent);color:var(--bg-deep);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.wt-stop-title{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.wt-stop-link-icon{font-size:10px;color:var(--text-muted);flex-shrink:0}.wt-stop-transition-badge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-elevated);padding:1px 5px;border-radius:3px;flex-shrink:0}#walkthrough-stop-editor{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-default)}#walkthrough-stop-editor .metadata-field{margin-bottom:8px}#walkthrough-stop-editor .button-row{display:flex;gap:6px;margin-top:10px}#pane-walkthrough .metadata-field label{font-size:11px;color:var(--text-secondary);margin-bottom:4px;display:block}#pane-walkthrough .checkbox-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}#pane-walkthrough .checkbox-row label{font-size:11px;color:var(--text-secondary);margin:0;cursor:pointer}#pane-walkthrough .stop-buttons{display:flex;gap:6px;margin-top:6px}#pane-walkthrough .wt-preview-section{display:flex;gap:6px}.walkthrough-fade-overlay{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:50;transition:opacity .4s ease}.wt-stop-item.drag-over{border-top:2px solid var(--accent);margin-top:-2px}#library-overlay{position:absolute;inset:0;z-index:40;background:var(--bg-deep);overflow:hidden;display:flex;flex-direction:column}#library-overlay.hidden{display:none!important}#viewport-axis-gizmo{position:absolute;bottom:32px;left:16px;width:128px;height:128px;pointer-events:auto;z-index:30}#viewport-axis-gizmo canvas{width:128px;height:128px;display:block;background:transparent}.library-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 0;flex-shrink:0}.library-header-left{display:flex;align-items:baseline;gap:8px}.library-title{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.library-count{font-size:10px;color:var(--text-muted)}.library-search{flex:1;min-width:120px;max-width:280px;font-size:11px;padding:5px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);outline:none}.library-search:focus{border-color:var(--accent)}.library-search::placeholder{color:var(--text-muted)}.library-header-right{display:flex;align-items:center;gap:14px}.library-storage{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted)}.library-storage-track{width:60px;height:2px;background:var(--border-subtle);border-radius:1px;overflow:hidden}.library-storage-fill{height:100%;background:var(--accent);border-radius:1px;transition:width .3s ease}.library-sort{display:flex;gap:1px}.library-sort-btn{font-size:10px;padding:3px 8px;border-radius:var(--radius-sm);color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .15s,background .15s}.library-sort-btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.library-sort-btn.active{color:var(--accent-text);background:var(--accent-muted)}.library-sort-btn .arrow{font-size:8px;margin-left:2px}.library-upload{margin:10px 20px 0;border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--text-muted);font-size:11px;transition:border-color .15s,background .15s;flex-shrink:0}.library-upload:hover{border-color:var(--accent);background:var(--accent-muted);color:var(--text-secondary)}.library-upload.dragover{border-color:var(--accent-hover);background:#5a8ba01a;color:var(--text-primary)}.library-upload.uploading{cursor:default;pointer-events:none}.library-upload svg{flex-shrink:0;opacity:.5}.library-upload:hover svg{opacity:.8}.library-upload-browse{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px;font-size:11px;padding:0;background:none;border:none;cursor:pointer}.library-upload-browse:hover{color:var(--accent-hover)}.library-upload-content{display:flex;align-items:center;gap:8px}.library-upload-progress{display:none;flex:1;align-items:center;gap:10px;min-width:0}.library-upload.uploading .library-upload-content{display:none}.library-upload.uploading .library-upload-progress{display:flex}.library-progress-track{flex:1;height:2px;background:var(--border-subtle);border-radius:1px;overflow:hidden;min-width:80px}.library-progress-fill{height:100%;width:0%;background:var(--accent);border-radius:1px;transition:width .15s ease}.library-progress-name{font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.library-progress-pct{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;min-width:30px;text-align:right}.library-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;padding:12px 20px 20px;flex:1;align-content:start}.library-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s;cursor:pointer;position:relative}.library-card:hover{border-color:var(--border-default)}.library-card.selected{border-color:var(--accent)}.library-card-thumb{aspect-ratio:16 / 10;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.library-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.library-card-placeholder{color:var(--text-faint)}.library-card-body{padding:6px 8px 8px}.library-card-title{font-size:11px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.library-card-meta{font-size:9px;color:var(--text-muted);display:flex;gap:6px}.library-card-meta span{white-space:nowrap}.library-empty{text-align:center;padding:60px 20px;color:var(--text-muted);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.library-empty p:first-of-type{font-size:12px;color:var(--text-secondary)}.library-empty-hint{font-size:11px}.library-auth{text-align:center;padding:60px 20px;color:var(--text-muted);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.library-auth p:first-of-type{font-size:12px;color:var(--text-secondary)}.library-auth-hint{font-size:11px;margin-bottom:8px}.library-auth-form{display:flex;flex-direction:column;gap:6px;width:200px}.library-auth-form input{font-size:11px;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);outline:none}.library-auth-form input:focus{border-color:var(--accent)}.library-auth-btn{font-size:11px;padding:6px 14px;background:var(--accent);color:var(--bg-deep);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;transition:background .15s}.library-auth-btn:hover{background:var(--accent-hover)}.library-detail-empty{text-align:center;padding:40px 16px;color:var(--text-muted);font-size:11px}.library-detail-thumb{aspect-ratio:16 / 10;background:var(--bg-surface);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center}.library-detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}.library-detail-val{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;font-size:10px}.library-asset-icon{display:inline-block;width:16px;text-align:center;margin-right:4px;font-size:9px;opacity:.7}:root{--asset-rule-splat: oklch(.62 .18 295);--asset-rule-mesh: oklch(.72 .16 75);--asset-rule-pointcloud: oklch(.65 .13 195);--asset-rule-cad: oklch(.55 .04 250);--asset-rule-flightpath: oklch(.65 .18 15);--asset-rule-drawing: oklch(.62 .1 105);--asset-rule-photo: oklch(.68 .14 145)}.library-asset-stats{font-size:10px;color:var(--text-secondary);padding:4px 8px;margin-bottom:6px;border-bottom:1px solid var(--border-default);font-feature-settings:"tnum"}.library-asset-row{border-left:3px solid transparent;padding-left:6px}.library-asset-splat{border-left-color:var(--asset-rule-splat)}.library-asset-mesh{border-left-color:var(--asset-rule-mesh)}.library-asset-pointcloud{border-left-color:var(--asset-rule-pointcloud)}.library-asset-cad{border-left-color:var(--asset-rule-cad)}.library-asset-flightpath{border-left-color:var(--asset-rule-flightpath)}.library-asset-drawing{border-left-color:var(--asset-rule-drawing)}.library-asset-photo{border-left-color:var(--asset-rule-photo)}.library-asset-chevron{display:inline-block;width:10px;text-align:center;margin-right:2px;font-size:9px;color:var(--text-secondary);opacity:.7}.library-asset-num{font-family:var(--font-mono, ui-monospace, "SF Mono", Menlo, monospace);font-size:10px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;text-align:right;font-feature-settings:"tnum"}.library-asset-tier{padding-left:24px;margin-bottom:3px;min-height:18px}.library-asset-tier-label{font-size:10px;opacity:.85}.library-asset-row[data-toggle-key]:hover{background:var(--bg-hover, rgba(255,255,255,.04))}.library-meta-filled{color:var(--accent, #4fc3f7);font-size:10px}.library-media-card{border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-bottom:8px}.library-media-card:last-child{margin-bottom:0}.library-media-thumb{position:relative;aspect-ratio:16 / 9;background:var(--bg-surface);cursor:pointer;overflow:hidden}.library-media-thumb img,.library-media-thumb video{width:100%;height:100%;object-fit:cover;display:block}.library-media-info{padding:6px 8px;display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-secondary)}.library-media-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:11px}.library-media-badge{font-size:9px;padding:1px 5px;border-radius:3px;background:var(--bg-surface);color:var(--text-secondary);white-space:nowrap}.library-media-duration{font-family:monospace;font-size:10px;white-space:nowrap}.library-media-actions{display:flex;gap:4px;padding:0 8px 6px}.library-media-actions button{flex:1;font-size:9px;padding:3px 0;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.library-media-actions button:hover{background:var(--bg-surface);color:var(--text-primary)}.library-media-actions button.danger:hover{background:#dc3c3c26;color:#dc3c3c}.library-media-status{position:absolute;top:4px;right:4px;font-size:9px;padding:2px 6px;border-radius:3px;color:#fff}.library-media-status.processing{background:#5a8ba0cc;animation:media-pulse 1.5s ease-in-out infinite}.library-media-status.error{background:#dc3c3ccc;cursor:help}@keyframes media-pulse{0%,to{opacity:1}50%{opacity:.5}}.library-media-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted);font-size:10px}.version-item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--border);font-size:10px}.version-item:last-child{border-bottom:none}.version-date{color:var(--text-secondary);flex:1}.version-size{color:var(--text-muted);min-width:50px;text-align:right}.version-download{color:var(--accent);text-decoration:none;font-size:14px;line-height:1;padding:0 2px}.version-download:hover{opacity:.7}.version-restore-btn{font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid rgba(90,158,151,.4);background:#5a9e9726;color:var(--text-secondary, #ccc);cursor:pointer}.version-restore-btn:hover:not(:disabled){background:#5a9e974d}.version-restore-btn:disabled{opacity:.5;cursor:default}.rail-library-sep{margin:2px 8px}.rail-mode-btn{position:relative}.rail-mode-btn.active:before{background:var(--accent)}.collection-sidebar{display:flex;flex-direction:column;min-width:180px;max-width:200px;border-right:1px solid var(--border, rgba(255,255,255,.08));padding:8px 0;overflow-y:auto;flex-shrink:0}.collection-sidebar-list{display:flex;flex-direction:column;gap:1px}.collection-sidebar-item{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:none;border:none;color:var(--text-secondary, #aaa);font-size:11px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .1s}.collection-sidebar-item:hover{background:#ffffff0a}.collection-sidebar-item.active{background:#ffffff14;color:var(--text-primary, #e0e0e0);font-weight:500}.collection-sidebar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.collection-sidebar-share{opacity:0;cursor:pointer;transition:opacity .15s;line-height:0}.collection-sidebar-item:hover .collection-sidebar-share{opacity:.5}.collection-sidebar-share:hover{opacity:1!important}.collection-sidebar-count{font-size:10px;opacity:.5;flex-shrink:0}.collection-sidebar-add{margin:8px 12px 0;padding:5px 8px;background:none;border:1px dashed rgba(255,255,255,.15);border-radius:4px;color:var(--text-secondary, #aaa);font-size:10px;cursor:pointer;transition:border-color .15s,color .15s}.collection-sidebar-add:hover{border-color:#ffffff4d;color:var(--text-primary, #e0e0e0)}#library-overlay{display:flex;flex-direction:row}#library-overlay>.collection-sidebar{flex-shrink:0}#library-overlay>.library-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.library-collection-chips{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}#collection-detail-panel{overflow-y:auto;max-height:calc(100vh - 120px)}#collection-detail-panel.hidden{display:none}.collection-field-input,.collection-field-textarea{width:100%;box-sizing:border-box;padding:5px 8px;font-size:11px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);outline:none;font-family:inherit;resize:vertical}.collection-field-input:focus,.collection-field-textarea:focus{border-color:var(--accent)}.collection-thumb-preview{width:100%;aspect-ratio:16 / 9;background:var(--bg-surface);border-radius:var(--radius-sm);overflow:hidden}.collection-thumb-preview img{width:100%;height:100%;object-fit:cover;display:block}.collection-thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-faint);font-size:11px}.collection-thumb-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.collection-thumb-reset{margin-top:6px;font-size:10px}.collection-thumb-reset.hidden{display:none}.collection-thumb-reset a{color:var(--accent-text);text-decoration:none}.collection-thumb-reset a:hover{color:var(--accent-hover)}.collection-archive-thumbs{margin-top:8px}.collection-archive-thumbs.hidden{display:none}.collection-archive-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:4px}.collection-archive-thumb-option{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;transition:border-color .15s}.collection-archive-thumb-option:hover{border-color:var(--accent)}.library-collection-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#ffffff14;border-radius:10px;font-size:10px;color:var(--text-secondary, #aaa)}.library-collection-chip-remove{cursor:pointer;opacity:.5;font-size:12px;line-height:1}.library-collection-chip-remove:hover{opacity:1}.library-add-to-collection{width:100%;padding:4px 6px;background:var(--bg-secondary, #1a1a1a);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:var(--text-secondary, #aaa);font-size:10px}#detail-viewer-overlay{position:fixed;inset:0;z-index:10000;background:var(--bg-deep);display:flex;flex-direction:column;opacity:0;transition:opacity .2s}#detail-viewer-overlay.hidden{display:none!important}#detail-viewer-overlay.detail-viewer-visible{opacity:1}.detail-viewer-header{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);z-index:1;flex-shrink:0}.detail-back-btn{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;transition:all .1s}.detail-back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.detail-viewer-title{color:var(--text-primary);font-size:11px;font-weight:600;flex:1;text-transform:uppercase;letter-spacing:.5px}.detail-viewer-scale{color:var(--text-muted);font-size:10px;font-style:italic}#detail-viewer-canvas{flex:1;width:100%;display:block}.annotation-detail-inspect{display:none;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-subtle)}.detail-thumbnail{width:100%;max-height:100px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:6px;cursor:pointer;border:1px solid var(--border-default)}.detail-inspect-btn{width:100%;padding:5px 10px;background:var(--bg-surface);color:var(--accent-text);border:1px solid rgba(90,139,160,.3);border-radius:var(--radius-sm);cursor:pointer;font-size:11px;transition:all .1s}.detail-inspect-btn:hover{background:var(--accent-muted);border-color:var(--accent)}.annotation-marker.has-detail:after{content:"";position:absolute;bottom:-2px;right:-2px;width:6px;height:6px;background:var(--accent);border-radius:50%;border:1px solid var(--bg-deep)}.detail-viewer-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-panel);border:1px solid var(--border-default);color:var(--danger, #c45c5c);padding:16px 24px;border-radius:var(--radius-sm);text-align:center;font-size:12px}.detail-viewer-error button{margin-top:10px;padding:4px 14px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;font-size:11px;transition:all .1s}.detail-viewer-error button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.detail-model-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle)}.detail-model-section>label{display:block;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-filename{font-size:10px;color:var(--text-muted);margin-left:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;display:inline-block;vertical-align:middle}#detail-view-settings-panel{position:absolute;right:12px;top:44px;width:220px;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-primary);z-index:2}#detail-view-settings-panel.hidden{display:none}#detail-view-settings-panel h4{margin:0 0 8px;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}#detail-view-settings-panel label{display:block;font-size:10px;margin-top:6px;color:var(--text-muted)}#detail-view-settings-panel select,#detail-view-settings-panel input[type=text],#detail-view-settings-panel input[type=number],#detail-view-settings-panel input[type=color]{width:100%;margin-top:3px;background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-sm);padding:3px 6px;font-size:11px}#detail-view-settings-panel select:focus,#detail-view-settings-panel input:focus{border-color:var(--accent);outline:none}#detail-view-settings-panel input[type=color]{padding:1px 3px;height:24px;cursor:pointer}.toggle-row{margin-top:5px;display:flex;align-items:center;gap:5px}.toggle-row label{display:inline;font-size:11px;color:var(--text-secondary);margin-top:0}.detail-place-anno-btn{margin-left:auto;padding:4px 10px;font-size:11px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.detail-place-anno-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.detail-place-anno-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.detail-place-anno-btn.hidden{display:none}#detail-annotation-create-panel{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:300px;background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:12px 14px;z-index:3;pointer-events:all}#detail-annotation-create-panel.hidden{display:none}.detail-anno-instruction{margin:0 0 4px;font-size:11px;color:var(--text-secondary);text-align:center}#detail-anno-fields label{display:block;font-size:10px;color:var(--text-muted);margin-top:8px}#detail-anno-fields input[type=text],#detail-anno-fields textarea{width:100%;box-sizing:border-box;margin-top:3px;background:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-sm);padding:4px 6px;font-size:11px;font-family:inherit;resize:vertical}#detail-anno-fields input[type=text]:focus,#detail-anno-fields textarea:focus{border-color:var(--accent);outline:none}.detail-anno-actions{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.detail-transform-title{margin-top:.75rem}.detail-transform-modes{display:flex;gap:4px;margin-bottom:6px}.detail-transform-modes .detail-transform-mode-btn{flex:1;margin-bottom:0}.detail-transform-mode-btn.active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent-text)}#comparison-viewer-overlay{position:fixed;inset:0;z-index:10000;background:var(--bg-primary, #1a1a2e);display:flex;flex-direction:column}#comparison-viewer-overlay.hidden{display:none!important}.comparison-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#0000004d;z-index:1}.comparison-title{font-size:14px;font-weight:500;color:#ffffffe6}.comparison-mode-switcher{display:flex;gap:4px}.comparison-mode-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:14px}.comparison-mode-btn.active{background:#ffffff40;color:#fff;border-color:#fff6}.comparison-canvas-container{flex:1;position:relative;overflow:hidden}#comparison-viewer-canvas{width:100%;height:100%;display:block}.comparison-slider-divider{position:absolute;top:0;bottom:0;width:4px;background:#fff9;cursor:ew-resize;z-index:2;left:50%;transform:translate(-50%)}.comparison-slider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border-radius:50%;background:#ffffffe6;border:2px solid rgba(0,0,0,.3);cursor:ew-resize;display:flex;align-items:center;justify-content:center}.comparison-slider-handle:before{content:"◀▶";font-size:10px;color:#333}.comparison-labels{position:absolute;top:12px;left:0;right:0;display:flex;justify-content:space-between;padding:0 24px;pointer-events:none;z-index:1}.comparison-label{background:#0000008c;color:#ffffffe6;padding:4px 12px;border-radius:4px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.comparison-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#0000004d}.comparison-toolbar-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:13px}.comparison-crossfade-slider{width:200px;margin:0 12px}.comparison-metadata{padding:8px 16px;font-size:12px;color:#fff9}.comparison-metadata:empty{display:none}@media(max-width:640px){.comparison-labels{flex-direction:column;align-items:center;gap:4px}}.comparison-alignment-warning{position:absolute;top:8px;right:8px;background:#ffc800cc;color:#333;padding:4px 8px;border-radius:4px;font-size:11px;z-index:1}.comparison-picker-popover{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-panel, rgba(20,20,30,.95));border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:6px;padding:4px;min-width:160px;z-index:100;margin-bottom:6px}.comparison-picker-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);padding:6px 10px;font-size:12px;border-radius:4px;cursor:pointer}.comparison-picker-item:hover{background:var(--bg-hover, rgba(255,255,255,.08))}.modal-backdrop{position:fixed;inset:0;z-index:10000;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.modal-backdrop.hidden{display:none}.icp-refine-modal .modal-content{background:var(--bg-secondary, #1e1e1e);border:1px solid var(--border, #333);border-radius:8px;box-shadow:0 20px 60px #00000080;width:480px;max-width:92vw;max-height:90vh;overflow-y:auto;padding:18px 20px;color:var(--text-primary, #e0e0e0);font-size:13px}.icp-refine-modal h2{margin:0 0 14px;font-size:15px;font-weight:600;color:var(--text-primary, #e0e0e0);border-bottom:1px solid var(--border-subtle, #2a2a2a);padding-bottom:10px}.icp-refine-modal h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-primary, #e0e0e0)}.icp-refine-modal h4{margin:10px 0 6px;font-size:12px;font-weight:600;color:var(--text-secondary, #aaa);text-transform:uppercase;letter-spacing:.04em}.icp-refine-modal .icp-options{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.icp-refine-modal .icp-options label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary, #e0e0e0);cursor:pointer}.icp-refine-modal .icp-options input[type=checkbox]{cursor:pointer}.icp-refine-modal .icp-options input[type=number]{width:80px;padding:4px 8px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border, #333);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:13px;outline:none}.icp-refine-modal .icp-options input[type=number]:focus{border-color:var(--accent, #4fc3f7)}.icp-refine-modal .icp-options fieldset{border:1px solid var(--border-subtle, #2a2a2a);border-radius:4px;padding:8px 12px;margin:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.icp-refine-modal .icp-options legend{padding:0 6px;font-size:11px;color:var(--text-secondary, #aaa);text-transform:uppercase;letter-spacing:.04em}.icp-refine-modal .icp-options details{border:1px solid var(--border-subtle, #2a2a2a);border-radius:4px;padding:6px 10px}.icp-refine-modal .icp-options details summary{cursor:pointer;font-size:12px;color:var(--text-secondary, #aaa);-webkit-user-select:none;user-select:none;padding:2px 0}.icp-refine-modal .icp-options details[open] summary{margin-bottom:8px;color:var(--text-primary, #e0e0e0)}.icp-refine-modal .icp-options details>label{display:flex;align-items:center;gap:8px;margin-top:6px}.icp-refine-modal .icp-status{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--bg-tertiary, #2a2a2a);border-radius:4px;margin-bottom:14px}.icp-refine-modal .icp-status #icp-refine-phase{font-size:12px;color:var(--text-secondary, #aaa);font-family:monospace}.icp-refine-modal .icp-status progress{width:100%;height:6px;border:none;border-radius:3px;background:var(--bg-primary, #161616);overflow:hidden}.icp-refine-modal .icp-status progress::-webkit-progress-bar{background:var(--bg-primary, #161616);border-radius:3px}.icp-refine-modal .icp-status progress::-webkit-progress-value{background:var(--accent, #4fc3f7);border-radius:3px}.icp-refine-modal .icp-status progress::-moz-progress-bar{background:var(--accent, #4fc3f7);border-radius:3px}.icp-refine-modal .icp-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.icp-refine-modal .icp-actions button{padding:6px 16px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border, #333);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:13px;cursor:pointer}.icp-refine-modal .icp-actions button:hover{background:var(--bg-hover, #333);border-color:var(--accent, #4fc3f7)}.icp-refine-modal .icp-actions button:disabled{opacity:.4;cursor:not-allowed}.icp-refine-modal .icp-actions #icp-refine-start,.icp-refine-modal .icp-actions #icp-refine-apply{background:var(--accent, #4fc3f7);color:#000;border-color:var(--accent, #4fc3f7);font-weight:600}.icp-refine-modal .icp-actions #icp-refine-start:hover,.icp-refine-modal .icp-actions #icp-refine-apply:hover{filter:brightness(1.1);background:var(--accent, #4fc3f7);color:#000}.icp-refine-modal .icp-result-panel{margin-top:14px;padding:12px 14px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border-subtle, #2a2a2a);border-radius:4px}.icp-refine-modal .icp-result-panel.hidden{display:none}.icp-refine-modal .icp-result-panel ul{list-style:none;margin:0 0 8px;padding:0}.icp-refine-modal .icp-result-panel li{padding:2px 0;font-size:12px;color:var(--text-primary, #e0e0e0);font-family:monospace}.icp-refine-modal .icp-result-panel p{margin:0 0 8px;font-size:12px;color:var(--text-secondary, #aaa)}#pane-audio .empty-state{color:var(--text-muted, #888);font-size:12px;padding:8px 0}#audio-source-list .audio-source-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--border-color, rgba(255,255,255,.1));cursor:pointer}#audio-source-list .audio-source-row:hover{background:#ffffff0d}#audio-source-list .audio-source-row.selected{background:#3b82f626}.audio-source-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-type-badge{font-size:10px;padding:1px 5px;border-radius:3px;background:#ffffff1a;text-transform:uppercase;letter-spacing:.5px}.audio-source-play-btn{background:none;border:none;color:inherit;cursor:pointer;padding:2px;font-size:14px}.audio-source-delete-btn{background:none;border:none;color:var(--danger-color, #ef4444);cursor:pointer;padding:2px;font-size:12px;opacity:.6}.audio-source-delete-btn:hover{opacity:1}#kiosk-audio-panel{position:fixed;bottom:60px;right:16px;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:12px 16px;min-width:200px;z-index:100;color:#fff;font-size:13px}.kiosk-audio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:600}.kiosk-audio-controls{margin-bottom:8px}.kiosk-audio-controls input[type=range]{width:100%}.pass-modal-backdrop{position:fixed;inset:0;background:#0009;z-index:9000;display:flex;align-items:center;justify-content:center}.pass-modal-backdrop.hidden{display:none!important}.pass-modal{background:var(--bg-panel, #1e1e1e);border:1px solid var(--border-color, #444);border-radius:6px;width:420px;max-width:90vw;max-height:85vh;overflow-y:auto;color:var(--text-primary, #e0e0e0);font-size:13px}.pass-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, #444)}.pass-modal-title{font-weight:600;font-size:14px}.pass-settings-close{background:none;border:none;color:var(--text-secondary, #999);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}.pass-settings-close:hover{color:var(--text-primary, #e0e0e0)}.pass-modal-body{padding:16px;display:flex;flex-direction:column;gap:20px}.pass-settings-section{display:flex;flex-direction:column;gap:8px}.pass-settings-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary, #999);padding-bottom:4px;border-bottom:1px solid var(--border-subtle, #333)}.pass-settings-row{display:flex;align-items:center;gap:8px}.pass-settings-row>span:first-child{flex:1;color:var(--text-secondary, #bbb)}.pass-settings-row input[type=number],.pass-settings-row select{width:110px;background:var(--bg-input, #2a2a2a);border:1px solid var(--border-color, #555);border-radius:3px;color:var(--text-primary, #e0e0e0);padding:3px 6px;font-size:12px}.pass-gpu-badge{font-size:11px;color:var(--text-secondary, #888);font-style:italic;padding:2px 0 4px}.pass-setting-hint{font-size:10px;color:var(--text-muted, #666);flex-shrink:0}#btn-record.pass-recording{animation:pass-record-pulse 1s ease-in-out infinite}@keyframes pass-record-pulse{0%,to{opacity:1}50%{opacity:.5}}.pass-record-timer{font-size:11px;margin-left:4px;font-family:monospace}.pass-record-popover{background:var(--bg-panel, #1e1e1e);border:1px solid var(--border-color, #555);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:200px;box-shadow:0 4px 16px #0006;font-size:13px;color:var(--text-primary, #e0e0e0)}.pass-pop-row{display:flex;align-items:center;gap:8px}.pass-pop-btn{background:#c0392b;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:13px;font-weight:600}.pass-pop-btn:hover{background:#e74c3c}.analysis-progress{height:16px;background:var(--bg-tertiary, #333);border-radius:3px;margin-top:6px;overflow:hidden;position:relative}.analysis-progress-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-primary, #eee);pointer-events:none}.analysis-progress-bar{height:100%;width:0%;background:var(--accent, #4a9eff);border-radius:3px;transition:width .15s ease}.analysis-range-row{display:flex;align-items:center;gap:6px}.analysis-range-row .prop-input.narrow{width:60px;text-align:center}.analysis-legend{margin-top:6px}.analysis-histogram-canvas{display:block;width:100%;height:48px;image-rendering:pixelated;cursor:crosshair;border-radius:3px 3px 0 0;background:#00000026}.analysis-legend-canvas{width:100%;height:12px;border-radius:3px;display:block}.analysis-threshold-row{display:flex;align-items:center;gap:6px;margin-top:6px}.analysis-sign-row{margin-top:4px}.analysis-unit{font-size:11px;color:var(--text-secondary, #999);white-space:nowrap}.analysis-range-separator{font-size:11px;color:var(--text-secondary, #999)}.analysis-legend-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary, #999);margin-top:2px}#analysis-mode-btns{display:grid;grid-template-columns:1fr 1fr;gap:2px}#analysis-mode-btns .seg-btn{font-size:12px;padding:5px 10px}.analysis-slider-row{display:flex;align-items:center;gap:6px}.analysis-slider-row .prop-label{font-size:11px;margin:0;white-space:nowrap}.analysis-slider{flex:1;height:4px;cursor:pointer}.analysis-slider-value{font-size:11px;color:var(--text-secondary, #999);min-width:28px;text-align:right}#btn-analysis-smoothing-apply.dirty{background:var(--accent-warm, #d68b3a);color:#fff}.axes-legend{display:flex;gap:10px;margin-top:4px;margin-left:20px}.axes-legend-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary, #999)}.axes-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.analysis-readout{margin-top:14px;padding:10px 0 2px 10px;border-top:1px solid var(--border-subtle);border-left:2px solid var(--accent)}.analysis-readout-kicker{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:10px}.analysis-readout-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.analysis-readout-name{font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:-.005em}.analysis-readout-tag{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.analysis-readout-key{display:flex;gap:4px;margin-bottom:6px}.analysis-readout.is-inverted .analysis-readout-key{flex-direction:row-reverse}.analysis-readout-chip{flex:1;height:10px;border-radius:1px;box-shadow:inset 0 0 0 1px #00000047}.analysis-readout-chip-a{background:#00f}.analysis-readout-chip-b{background:#0ff}.analysis-readout-chip-c{background:#0f0}.analysis-readout-chip-d{background:#ff0}.analysis-readout-chip-e{background:red}.analysis-readout-axis{display:flex;justify-content:space-between;margin-bottom:12px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.analysis-readout-axis-tri>span:nth-child(2){transform:translate(-2px)}.analysis-readout-body{font-size:12px;line-height:1.5;color:var(--text-primary);margin:0 0 10px}.analysis-readout-note{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.45;color:var(--text-secondary)}.analysis-readout-sentinel{flex-shrink:0;width:8px;height:8px;margin-top:4px;border-radius:50%;background:gray;box-shadow:inset 0 0 0 1px #00000040}.markup-pane-section-title{display:block;margin:0 0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.sheets-inline-overflow{margin-left:auto;margin-right:6px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:2px 6px;font-size:15px;line-height:1;border-radius:var(--radius-sm);transition:color .1s,background .1s}.sheets-inline-overflow:hover{color:var(--text-primary);background:var(--bg-hover)}.markup-form-row{margin-bottom:10px;display:flex;flex-direction:column;gap:3px}.markup-form-row:last-child{margin-bottom:0}.markup-form-row label{display:block;font-size:10px;color:var(--text-secondary)}.markup-form-row input[type=text],.markup-form-row textarea,.markup-form-row select{width:100%;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;font-family:inherit;transition:border-color .2s}.markup-form-row input[type=text]:focus,.markup-form-row textarea:focus,.markup-form-row select:focus{outline:none;border-color:var(--accent)}.markup-form-row textarea{resize:vertical;min-height:60px}.markup-form-row>label:has(>input[type=checkbox]){display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);cursor:pointer}.markup-form-readonly{display:block;padding:5px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11px;font-family:inherit;font-variant-numeric:tabular-nums}.markup-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.markup-preset-grid button,.markup-projection-toggle button{padding:5px 8px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:10px;font-weight:500;letter-spacing:.2px;cursor:pointer;transition:all .1s}.markup-preset-grid button:hover,.markup-projection-toggle button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.markup-projection-toggle{display:flex;gap:4px}.markup-projection-toggle button{flex:1}.markup-projection-toggle button.active,.markup-preset-grid button.active{background:var(--accent-muted);color:var(--accent-text);border-color:#5a8ba066}.markup-form-actions{flex-direction:row;gap:6px;margin-top:8px}.markup-form-actions .prop-btn{margin-bottom:0}.markup-pane-placeholder{font-size:11px;color:var(--text-muted);font-style:italic;margin:4px 0 0;text-align:center;padding:8px 0}.markup-drawing-title{font-size:14px;font-weight:600}.markup-drawing-tool-rail{width:56px;background:var(--panel-bg, #1a1a1a);border-right:1px solid var(--panel-border, #2a2a2a);display:flex;flex-direction:column;padding:8px 4px;gap:4px}.markup-tool-btn{width:48px;height:40px;background:var(--input-bg, #2a2a2a);color:inherit;border:1px solid var(--input-border, #3a3a3a);border-radius:3px;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center}.markup-tool-btn:hover{background:var(--button-hover-bg, #333)}.markup-tool-btn.active{background:var(--accent, #4a7fb5);color:#fff;border-color:var(--accent, #4a7fb5)}.markup-tree-list{list-style:none;margin:0;padding:0}.markup-tree-row{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:11px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background .1s,color .1s}.markup-tree-row:hover{background:var(--bg-hover);color:var(--text-primary)}.markup-tree-row.selected{background:var(--accent-muted);color:var(--accent-text);box-shadow:inset 2px 0 0 var(--accent)}.markup-tree-row.drop-target{outline:1px dashed var(--accent);outline-offset:-1px}.markup-tree-row.dragging{opacity:.4}.markup-tree-caret{display:inline-block;width:12px;text-align:center;font-size:8px;color:var(--text-faint)}.markup-tree-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markup-tree-badge{background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:8px;padding:0 6px;font-size:9px;font-weight:600;letter-spacing:.3px}.markup-tree-empty{font-size:11px;color:var(--text-muted);font-style:italic;text-align:center;padding:12px 0}.sheet-tree-thumb{width:60px;height:45px;background-color:var(--bg-input, #222);background-size:cover;background-position:center;border-radius:2px;border:1px solid var(--border-subtle, #2a2a2a);flex-shrink:0}.sheet-tree-thumb.placeholder{background-image:linear-gradient(135deg,var(--bg-input, #222) 25%,var(--bg-hover, #2a2a2a) 50%,var(--bg-input, #222) 75%)}.sheet-tree-label{flex:1;min-width:0}.sheet-tree-title{font-size:12px;color:var(--text-primary, #e4e4e4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.markup-pane-overflow-btn{float:right;background:transparent;border:none;color:var(--panel-fg, #ccc);font-size:18px;cursor:pointer;padding:2px 8px;line-height:1;border-radius:3px}.markup-pane-overflow-btn:hover{background:var(--button-hover-bg, #333)}.markup-pane-menu{background:var(--panel-bg, #1a1a1a);border:1px solid var(--panel-border, #2a2a2a);border-radius:4px;box-shadow:0 4px 12px #0006;min-width:180px;padding:4px 0;font-size:12px}.markup-pane-menu-item{padding:6px 14px;cursor:pointer;color:var(--panel-fg, #ccc);white-space:nowrap}.markup-pane-menu-item:hover:not(.disabled){background:var(--button-hover-bg, #333)}.markup-pane-menu-item.disabled{color:var(--panel-fg-muted, #666);cursor:not-allowed;font-style:italic}.markup-pane-menu-separator{height:1px;background:var(--panel-border, #2a2a2a);margin:4px 0}.markup-categories-dialog-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10000}.markup-categories-dialog-panel{background:var(--panel-bg, #1a1a1a);border:1px solid var(--panel-border, #2a2a2a);border-radius:6px;width:560px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080}.markup-categories-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--panel-border, #2a2a2a)}.markup-categories-dialog-header h2{margin:0;font-size:14px}.markup-categories-dialog-close{background:transparent;border:none;color:var(--panel-fg, #ccc);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.markup-categories-dialog-body{flex:1;overflow-y:auto;padding:12px 16px}.markup-categories-dialog-row{display:grid;grid-template-columns:40px 1fr 100px 1fr 32px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--panel-border-faint, #252525)}.markup-categories-dialog-row input[type=text]{min-width:0}.markup-categories-dialog-delete{background:transparent;border:none;cursor:pointer;color:var(--panel-fg-muted, #888);font-size:14px;padding:2px 6px}.markup-categories-dialog-delete:hover{color:var(--danger, #d44)}.markup-categories-dialog-footer{padding:12px 16px;border-top:1px solid var(--panel-border, #2a2a2a);text-align:right}.markup-categories-dialog-empty{font-size:11px;color:var(--panel-fg-muted, #888);font-style:italic;text-align:center;margin:12px 0}.markup-drawing-shape-properties{width:240px;padding:16px;background:var(--panel-bg, #1a1a1a);border-left:1px solid var(--panel-border, #2a2a2a);font-size:11px;color:var(--panel-fg, #ccc);overflow-y:auto}.markup-drawing-shape-properties .markup-form-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.markup-drawing-shape-properties .markup-form-row label{flex:0 0 70px;font-size:11px;color:var(--panel-fg-muted, #888)}.markup-drawing-shape-properties .markup-form-row input,.markup-drawing-shape-properties .markup-form-row select{flex:1;min-width:0}.markup-danger-btn{background:#4a1e1e;color:#ffdede;border:1px solid #6b2a2a;border-radius:3px;padding:4px 10px;cursor:pointer;font-size:11px}.markup-danger-btn:hover{background:#6b2a2a}.markup-drawing-category-picker{display:flex;flex-direction:column;gap:4px;padding:8px 6px;border-bottom:1px solid var(--panel-border, #2a2a2a);margin-bottom:6px}.markup-drawing-category-picker label{font-size:10px;color:var(--panel-fg-muted, #888);text-transform:uppercase}.markup-drawing-category-picker select{font-size:11px;padding:3px}#markup-sheet-canvas-host{position:absolute;inset:44px 0 0;background:var(--bg-viewport, #0e1016);overflow:hidden;z-index:65}#markup-sheet-canvas-host.hidden{display:none}body.sheet-editing #tool-rail{opacity:.4;pointer-events:none;transition:opacity .2s ease}body.sheet-editing #tool-rail .rail-logo{pointer-events:auto;opacity:1}body.sheet-editing .vp-display-row,body.sheet-editing .vp-editor-row{display:none!important}#markup-sheet-toolbar{position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--bg-panel, #1a1a1a);border-bottom:1px solid var(--border-subtle, #2a2a2a);z-index:70;flex-shrink:0;color:var(--text-primary, #e4e4e4);font-size:12px}#markup-sheet-toolbar.hidden{display:none}.sheet-tb-breadcrumb{display:flex;align-items:center;gap:6px}#btn-sheet-back-to-list{background:none;border:none;color:var(--text-secondary, #999);cursor:pointer;padding:4px 6px;font-size:12px;border-radius:var(--radius-sm, 3px)}#btn-sheet-back-to-list:hover{color:var(--text-primary, #e4e4e4);background:var(--bg-hover, #2a2a2a)}.sheet-tb-separator{color:var(--text-faint, #555)}#sheet-tb-title{font-weight:500;color:var(--text-primary, #e4e4e4)}#sheet-tb-dirty-dot{color:var(--accent, #4a7fb5);font-size:18px;line-height:1}#sheet-tb-dirty-dot.hidden{display:none}.sheet-tb-sep{width:1px;height:24px;background:var(--border-subtle, #2a2a2a)}.sheet-tb-history,.sheet-tb-tools,.sheet-tb-style,.sheet-tb-actions{display:flex;align-items:center;gap:2px}.sheet-tb-style{gap:8px}.sheet-tb-actions{gap:6px}.sheet-tool-btn{width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 3px);color:var(--text-primary, #e4e4e4);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;position:relative;font-size:11px;font-weight:600}.sheet-tool-btn:hover{background:var(--bg-hover, #2a2a2a)}.sheet-tool-btn.active{background:var(--accent-muted, rgba(74, 127, 181, .2));color:var(--accent, #4a7fb5)}.sheet-tool-btn.sticky:after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--accent, #4a7fb5)}#markup-sheet-zoom-hud{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-panel, #1a1a1a);border:1px solid var(--border-subtle, #2a2a2a);border-radius:var(--radius-md, 6px);z-index:71;pointer-events:auto}#markup-sheet-canvas-host.hidden #markup-sheet-zoom-hud{display:none}#markup-sheet-zoom-hud button{width:24px;height:24px;background:transparent;border:none;color:var(--text-primary, #e4e4e4);cursor:pointer;border-radius:var(--radius-sm, 3px);font-size:13px;padding:0}#markup-sheet-zoom-hud button:hover{background:var(--bg-hover, #2a2a2a)}#markup-sheet-zoom-hud #btn-sheet-zoom-fit{width:auto;padding:0 8px;font-size:11px}#sheet-zoom-percent{min-width:42px;text-align:center;color:var(--text-secondary, #999);font-size:11px}.sheet-tool-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.sheet-tb-history button{width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm, 3px);color:var(--text-secondary, #999);cursor:pointer;font-size:12px}.sheet-tb-history button:hover:not(:disabled){color:var(--text-primary, #e4e4e4);background:var(--bg-hover, #2a2a2a)}.sheet-tb-history button:disabled{opacity:.35;cursor:not-allowed}.sheet-tb-spacer{flex:1}.sheet-tb-actions button{background:var(--bg-input, #2a2a2a);border:1px solid var(--border-subtle, #3a3a3a);color:var(--text-primary, #e4e4e4);padding:6px 12px;border-radius:var(--radius-sm, 3px);cursor:pointer;font-size:12px}.sheet-tb-actions button:hover{background:var(--bg-hover, #333)}.sheet-capture-row{display:flex;gap:6px;margin-bottom:10px;align-items:stretch}.sheet-capture-row input[type=text]{flex:1;min-width:0;padding:6px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;font-family:inherit;transition:border-color .2s}.sheet-capture-row input[type=text]:focus{outline:none;border-color:var(--accent)}.sheet-capture-btn{flex-shrink:0;width:34px;background:var(--accent, #4a7fb5);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.sheet-capture-btn:hover{background:var(--accent-hover, #5a8fc5);transform:scale(1.04)}.sheet-capture-btn:active{transform:scale(.96)}.sheet-capture-btn svg{pointer-events:none}.sheet-capture-dual-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheet-capture-dual-row .markup-form-row{margin-bottom:10px}.sheets-tree-actions{display:flex;gap:2px;margin-left:auto;margin-right:4px}.sheets-tree-action-btn{padding:0;width:22px;height:22px;background:transparent;border:none;color:var(--text-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color .1s,background .1s}.sheets-tree-action-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.sheets-action-bar{display:flex;gap:4px;padding:6px 8px;border-top:1px solid var(--border-subtle, #2a2a2a)}.sheets-action-btn{flex:1;padding:5px 6px;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:10px;font-weight:500;letter-spacing:.2px;cursor:pointer;transition:all .1s;white-space:nowrap}.sheets-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.sheet-tb-recent-colors{display:flex;gap:2px}.sheet-tb-recent-colors .swatch{width:18px;height:18px;border-radius:3px;cursor:pointer;border:1px solid var(--border-subtle, #3a3a3a);padding:0}.sheet-tb-recent-colors .swatch.active{outline:2px solid var(--accent, #4a7fb5);outline-offset:1px}.sheet-tb-color-picker{width:24px;height:24px;padding:0;border:1px solid var(--border-subtle, #3a3a3a);border-radius:3px;cursor:pointer;background:transparent}.sheet-tb-thickness{display:flex;align-items:center;gap:1px;margin-left:6px;padding:2px;background:#00000040;border:1px solid var(--border-subtle, #3a3a3a);border-radius:var(--radius-sm, 3px)}.sheet-tb-thickness-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:1px solid transparent;border-radius:2px;cursor:pointer;transition:background .1s,border-color .1s}.sheet-tb-thickness-btn:hover{background:var(--bg-hover, #2a2a2a)}.sheet-tb-thickness-btn.active{background:var(--accent-muted, rgba(74, 127, 181, .2));border-color:var(--accent, #4a7fb5)}.sheet-tb-thickness-dot{display:block;border-radius:50%;background:var(--text-primary, #e4e4e4);transition:background .1s}.sheet-tb-thickness-btn.active .sheet-tb-thickness-dot{background:var(--accent, #4a7fb5)}.client-shares-backdrop{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:center;justify-content:center}.client-shares-modal{background:var(--bg-primary, #12121f);border:1px solid var(--border, #333);border-radius:12px;width:min(90vw,800px);max-height:80vh;display:flex;flex-direction:column;color:var(--text-primary, #fff)}.client-shares-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #333)}.client-shares-title{font-size:16px;font-weight:600}.client-shares-close{background:none;border:none;color:var(--text-muted, #aab);font-size:20px;cursor:pointer}.client-shares-filters{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border, #333);flex-wrap:wrap}.client-shares-search{flex:1;min-width:150px;background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border, #333);color:var(--text-primary, #fff);padding:6px 10px;border-radius:6px;font-size:13px}.client-shares-select{background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border, #333);color:var(--text-primary, #fff);padding:6px 10px;border-radius:6px;font-size:13px}.client-shares-body{overflow-y:auto;flex:1;padding:0}.client-shares-table{width:100%;border-collapse:collapse;font-size:13px}.client-shares-table th{position:sticky;top:0;background:var(--bg-primary, #12121f);text-align:left;padding:8px 12px;font-weight:500;color:var(--text-muted, #aab);border-bottom:1px solid var(--border, #333);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.client-shares-table td{padding:8px 12px;border-bottom:1px solid var(--border-subtle, #222)}.client-shares-table tr:hover td{background:#ffffff08}.client-shares-table tr.token-dimmed{opacity:.6}.client-shares-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid var(--border, #333)}.client-shares-bulk-btn{background:none;border:1px solid var(--border, #333);color:var(--text-muted, #aab);padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer}.client-shares-bulk-btn:not(:disabled):hover{border-color:#e53e3e;color:#e53e3e}.client-shares-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.client-shares-empty{text-align:center;padding:40px 20px;color:var(--text-muted, #888);font-size:14px}.measure-done-pill{position:absolute;padding:6px 14px;border-radius:999px;background:var(--accent-primary, #f5a623);color:#000;font-weight:600;font-size:13px;border:none;cursor:pointer;pointer-events:auto;box-shadow:0 2px 8px #0000004d;z-index:10}.measure-done-pill:hover{filter:brightness(1.1)}.measure-status-pill{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;padding:8px 16px;border-radius:999px;font-size:13px;z-index:9999;pointer-events:none}.measure-description-input{background:#0006;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;padding:2px 6px;border-radius:3px;max-width:140px;outline:none}.measure-description-input:focus{border-color:var(--accent-primary, #f5a623)}.measure-label-description{font-size:11px;color:#ffffffb3;font-style:italic;margin-left:4px;cursor:text}.measure-label-description.empty{min-width:12px}.measure-description-pencil{opacity:0;transition:opacity .15s;color:#ffffff80}.measure-label:hover .measure-description-pencil{opacity:1}.pass-detected-banner{display:flex;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--accent-muted);border-left:2px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:11px;line-height:1.4}.pass-detected-banner[hidden]{display:none}.pass-detected-banner__icon{flex:0 0 auto;width:14px;height:14px;margin-top:1px;color:var(--accent-text);font-size:14px;line-height:1;text-align:center}.pass-detected-banner__text{display:flex;flex-direction:column;gap:2px;min-width:0}.pass-detected-banner__text strong{color:var(--text-primary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}.pass-detected-banner__text span{color:var(--text-muted);font-size:11px}.pass-scan-record-container[hidden]{display:none}.pass-scan-record-panel{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-lg);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:11px;line-height:1.4}.pass-scan-record-panel__header{display:flex;align-items:baseline;padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.pass-scan-record-panel__heading{margin:0;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-primary);letter-spacing:.2px}.pass-scan-record-panel__identity,.pass-scan-record-panel__timeline,.pass-scan-record-panel__log,.pass-scan-record-panel__provenance{display:flex;flex-direction:column;gap:var(--space-xs)}.pass-scan-record-panel__timeline h3,.pass-scan-record-panel__log h3,.pass-scan-record-panel__provenance h3{margin:0 0 var(--space-xs);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.pass-scan-record-panel__log p{margin:0;color:var(--text-muted);font-style:italic}.pass-scan-record-panel__field{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-lg);min-height:16px}.pass-scan-record-panel__field-label{flex:0 0 auto;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted)}.pass-scan-record-panel__field-value{flex:1 1 auto;min-width:0;text-align:right;color:var(--text-primary);word-break:break-word}.pass-scan-record-panel__provenance .pass-scan-record-panel__field-value{font-family:var(--font-mono);font-size:10px;color:var(--text-secondary)}.pass-scan-record-panel__log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.pass-scan-record-panel__log-entry{display:grid;grid-template-columns:68px 28px 1fr;gap:var(--space-md);align-items:baseline;font-size:11px}.pass-scan-record-panel__log-time{font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}.pass-scan-record-panel__log-badge{font-family:var(--font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--accent-text);text-align:left}.pass-scan-record-panel__log-message{color:var(--text-secondary);min-width:0;word-break:break-word}.metadata-field--pass-derived,.checkbox-group.metadata-field--pass-derived{position:relative;border-left:2px dashed var(--accent-muted);padding-left:10px}.metadata-field--pass-derived>label:before,.checkbox-group.metadata-field--pass-derived>label:before{content:"AUTO";display:inline-block;margin-right:6px;padding:0 4px;font-size:.65rem;font-weight:600;letter-spacing:.05em;opacity:.6;border:1px solid var(--accent-muted);border-radius:2px;vertical-align:middle}.pass-scan-record-panel__warnings{margin-top:12px;padding:8px;border-left:2px solid var(--warning, #c08040)}.pass-scan-record-panel__warnings h3{margin:0 0 4px;font-size:.85rem}.pass-scan-record-panel__warnings ul{margin:0;padding-left:18px;font-size:.8rem}.vp-splat-toggle,.vp-splat-slider{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.vp-splat-toggle-reason{font-size:.75rem;color:var(--text-muted, #888);margin-left:.5rem}.vp-splat-divider{border:0;border-top:1px solid var(--border-subtle, rgba(255, 255, 255, .1));margin:.5rem 0}.vp-splat-slider input[type=range]{flex:1;min-width:120px}.vp-splat-slider output{font-variant-numeric:tabular-nums;min-width:3rem;text-align:right;color:var(--text-muted, #888)}.vp-splat-slider input[type=range]:disabled{opacity:.4;cursor:not-allowed}.vs-tabs{display:flex;flex-direction:row;align-items:stretch;border-bottom:1px solid var(--border-subtle);padding:0 6px;flex-shrink:0}.vs-tab{flex:1 1 0;min-width:0;padding:8px 4px 6px;background:transparent;border:0;font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;position:relative;transition:color .1s ease;letter-spacing:.2px;text-align:center;font-family:inherit}.vs-tab:hover:not(.active){color:var(--text-primary)}.vs-tab.active{color:var(--text-primary)}.vs-tab.active:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;background:var(--accent-text);border-radius:1px}.vs-tab:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px;border-radius:2px}.vs-tab-count-hidden{display:none}.vs-panes{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.vs-pane{display:none;flex:1;overflow-x:hidden;overflow-y:auto;padding-bottom:16px}.vs-pane.active{display:block;animation:pane-fade-in .15s ease}.pp-chip-strip{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px}.pp-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border-subtle);border-radius:10px;background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;color:var(--text-secondary);position:relative;transition:background .1s ease,color .1s ease,border-color .1s ease}.pp-chip:hover{color:var(--text-primary)}.pp-chip.enabled{background:color-mix(in oklch,var(--accent-text) 14%,transparent);color:var(--text-primary);border-color:color-mix(in oklch,var(--accent-text) 40%,var(--border-subtle))}.pp-chip.selected:after{content:"";position:absolute;left:10%;right:10%;bottom:-3px;height:2px;background:var(--accent-text);border-radius:1px}.pp-chip:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.pp-chip>input[type=checkbox]{margin:0;cursor:pointer}.pp-chip-label{font-weight:500;letter-spacing:.2px}.pp-params{padding:0 12px}.pp-params>[data-effect-id]{padding-top:8px;border-top:1px solid var(--border-subtle);margin-top:6px}.overlays-empty-state{padding:18px 14px;margin:12px;border:1px dashed var(--border-subtle);border-radius:4px;background:var(--bg-surface);color:var(--text-secondary);font-size:11px;line-height:1.5}.overlays-empty-state h4{margin:0 0 10px;font-size:11px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.overlays-empty-state .oes-item{margin:8px 0;padding-left:12px;border-left:2px solid var(--border-subtle)}.overlays-empty-state .oes-item-title{font-weight:600;color:var(--text-primary);display:block;margin-bottom:2px}.overlays-empty-state .oes-cta{margin-top:14px;text-align:center}.measure-calibrate-input{width:70px;text-align:center}.measure-calibrate-unit-select,.measure-scale-unit-select{width:60px}.measure-scale-row{display:flex;align-items:center;gap:6px}.measure-scale-input{width:60px;text-align:center}.library-action-row{display:flex;gap:4px}.library-action-row-mt{display:flex;gap:4px;margin-top:4px}.library-action-btn{flex:1;width:auto;margin-bottom:0}.library-action-btn-full{width:100%;margin-top:4px}.annotate-hint-paragraph{font-size:11px;color:var(--text-muted);margin-bottom:8px;line-height:1.5}.annotate-button-row{display:flex;gap:6px;margin-top:8px}.wt-stop-count-badge{font-size:10px;color:var(--text-muted);margin-left:auto;margin-right:6px}.wt-hint-small{font-size:10px;color:var(--text-muted)}.wt-button-row{display:flex;gap:6px;margin-top:8px}.fp-stat-mono{font-size:10px;color:var(--text-secondary)}.fp-path-count-badge{font-size:10px;color:var(--text-muted);margin-left:auto;margin-right:6px}.fp-file-input-label{cursor:pointer;margin-bottom:0}.fp-icon-prefix{color:#4fc3f7}.fp-row-flex{display:flex;gap:6px;align-items:center}.fp-speed-select{flex:1;min-width:0}.fp-mt-8{margin-top:8px}.fp-scrubber-input{width:100%}.fp-time-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted)}.fp-timeline-mode-mt{margin-top:4px}.fp-playback-indicator-styled{font-size:10px;color:var(--text-secondary);margin-top:2px}.fp-playback-badge-styled{width:8px;height:8px;vertical-align:middle;margin-right:4px}.fp-telemetry-styled{margin-top:8px;font-size:10px;color:var(--text-secondary)}.fp-telem-row{display:flex;gap:12px}.export-hint-block{margin-bottom:6px;display:block}.export-action-btn{margin-bottom:6px}.export-stat-mono{font-size:10px;color:var(--text-secondary)}.capture-status-mt-6{margin-top:6px}.capture-status-accent{font-size:10px;color:var(--accent)}.capture-clear-btn{font-size:9px;margin-left:6px;background:none;border:none;color:var(--danger);cursor:pointer}.capture-separator-hr{border:none;border-top:1px solid var(--border);margin:12px 0 8px}.capture-toggle-label{display:flex;align-items:center;gap:6px;cursor:pointer;margin-bottom:8px}.capture-label-heading{font-size:11px;font-weight:600}.capture-preset-row{display:flex;gap:4px;margin-bottom:8px}.capture-preset-btn{flex:1}.capture-full-width-btn{width:100%}.capture-mt-6{margin-top:6px}.capture-mt-8{margin-top:8px}.capture-progress-track{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.capture-progress-fill{height:100%;width:0%;background:var(--accent);transition:width .1s}.capture-progress-label{font-size:10px;color:var(--text-dim);margin-top:2px;display:block}.capture-hint-dim{font-size:9px;color:var(--text-dim)}.capture-mode-label{font-size:9px}.capture-prop-label-small{font-size:10px}.capture-full-width-input{width:100%}.capture-checkbox-label{font-size:10px;display:flex;align-items:center;gap:4px;margin-top:4px}.capture-tour-dwell-label{font-size:10px;color:#999}.capture-rec-button-row{display:flex;gap:8px;align-items:center;margin-top:8px}.capture-rec-btn-flex{display:flex;align-items:center;gap:6px}.capture-rec-start-dot{width:10px;height:10px;border-radius:50%;background:#e53935;display:inline-block}.capture-rec-stop-square{width:10px;height:10px;background:#e53935;display:inline-block}.capture-rec-elapsed{font-size:10px;color:#999;font-family:monospace}.transform-object-select-group{flex-wrap:wrap}.transform-object-label-italic{display:block;font-style:italic}.transform-empty-hint-paragraph{text-align:center;padding:8px 0;font-style:italic}.transform-accent-border{border-left:2px solid rgba(90,139,160,.45);padding-left:8px}.transform-saved-hint{color:var(--accent);opacity:.65;font-style:italic}.transform-italic-hint{font-style:italic}.transform-hint-paragraph{font-size:11px;color:var(--text-muted);margin-bottom:8px;line-height:1.5}.axes-dot-x{background:red}.axes-dot-y{background:#0c0}.axes-dot-z{background:#06f}.inspection-prop-row-mt{margin-top:8px}.assets-file-input-label{cursor:pointer;margin-bottom:0;display:inline-flex;align-items:center;justify-content:center;gap:4px}.assets-url-btn{color:var(--text-muted);margin-bottom:0}.assets-stat-mono{font-size:10px;color:var(--text-secondary)}.assets-prop-btn-row-mt{margin-top:4px}.assets-prop-section-mt-8{margin-top:8px}.assets-colmap-points3d-label{cursor:pointer;margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.assets-mt-4{margin-top:4px}.assets-audio-add-label{font-size:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.assets-source-category-select{font-size:10px}.assets-source-add-label{font-size:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.prop-btn-row .assets-remove-btn{flex:0 0 64px;padding-left:6px;padding-right:6px}.assets-icon-mesh{color:#6a8bce}.assets-icon-splat{color:var(--accent-text)}.assets-icon-cloud{color:#c4863a}.assets-icon-stl{color:#9a7bce}.assets-icon-cad{color:#4a9e6b}.assets-icon-drawing{color:#7bce9a}.assets-icon-flightpath{color:#4fc3f7}.assets-icon-colmap{color:#ce93d8}#pane-view-settings .swatch[data-color="#1a1a2e"]{background:#1a1a2e}#pane-view-settings .swatch[data-color="#0a0a0a"]{background:#0a0a0a}#pane-view-settings .swatch[data-color="#2d2d2d"]{background:#2d2d2d}#pane-view-settings .swatch[data-color="#4a4a4a"]{background:#4a4a4a}#pane-view-settings .swatch[data-color="#808080"]{background:gray}#pane-view-settings .swatch[data-color="#f0f0f0"]{background:#f0f0f0;border-color:#555}#pane-view-settings .swatch[data-color="#11304e"]{background:#11304e}.vs-display-bg-image-label{font-size:10px;cursor:pointer;margin-bottom:0}.vs-display-bg-url-btn{font-size:10px}.vs-display-bg-image-filename{flex:1}.vs-display-bg-clear-btn{font-size:10px;flex:0}.vs-display-bg-override-summary{cursor:pointer}.vs-display-bg-color-row{margin-top:6px}.vs-camera-save-btn,.vs-camera-walk-spawn-btn{flex:1}.vs-camera-clear-btn{flex:0 0 auto}.kiosk-max-controls{margin-top:4px;padding-left:24px}.kiosk-max-row{display:flex;align-items:center;gap:8px}.kiosk-max-label{white-space:nowrap;font-size:12px}.kiosk-max-input{width:80px;font-size:12px}.kiosk-max-set-btn{font-size:10px;padding:2px 8px;white-space:nowrap}.vs-camera-default-mode-label{font-size:12px}.vs-camera-default-mode-select{font-size:12px;width:100px}.vs-lighting-hdr-file-label{font-size:10px;cursor:pointer;margin-bottom:0}.vs-lighting-hdr-url-btn{font-size:10px}.nav-boundary-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.nav-boundary-item{display:grid;grid-template-columns:18px 1fr auto 22px;gap:8px;align-items:center;padding:6px 8px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-primary);transition:background-color .12s ease}.nav-boundary-item:hover{background:color-mix(in srgb,var(--accent-text) 6%,transparent)}.nav-boundary-kind{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:13px;line-height:1;border-radius:3px;font-weight:500;-webkit-user-select:none;user-select:none}.nav-boundary-kind--wall{color:color-mix(in srgb,var(--accent-text) 80%,var(--text-secondary));background:color-mix(in srgb,var(--accent-text) 10%,transparent)}.nav-boundary-kind--enclosure{color:var(--text-secondary);background:color-mix(in srgb,var(--text-secondary) 12%,transparent)}.nav-boundary-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-boundary-points{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.nav-boundary-delete{width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:3px;color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,background-color .12s ease}.nav-boundary-item:hover .nav-boundary-delete,.nav-boundary-delete:focus-visible{opacity:1}.nav-boundary-delete:hover,.nav-boundary-delete:focus-visible{color:var(--danger, #e06464);background:color-mix(in srgb,var(--danger, #e06464) 14%,transparent);outline:none}.nav-boundary-empty{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg-panel) 60%,transparent);text-align:center}.nav-boundary-empty-title{font-size:12px;font-weight:600;color:var(--text-primary)}.nav-boundary-empty-body{font-size:11px;line-height:1.45;color:var(--text-secondary)}.nav-boundary-empty-cta{align-self:center;padding:6px 14px}.nav-floor-y-unit{color:var(--text-muted);font-weight:400;font-size:10px;margin-left:4px}.nav-boundary-edit-btn-full{display:block;width:100%;margin-top:8px;padding:7px 12px}.boundary-authoring-toolbar{position:fixed;left:50%;top:1rem;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:.35rem;align-items:center;padding:.5rem;background:#101214eb;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm)}.boundary-authoring-toolbar-row{display:flex;gap:.5rem;align-items:center}.boundary-authoring-toolbar .action-btn{width:auto;margin-bottom:0;padding:4px 12px}.boundary-authoring-hint{font-size:.72rem;line-height:1.2;color:#fff9;letter-spacing:.01em;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fp-pip-overlay{position:fixed;bottom:16px;right:16px;pointer-events:none;z-index:10}.fp-pip-frame{border:2px solid rgba(255,255,255,.3);border-radius:4px;overflow:hidden}.fp-pip-label{background:#0009;color:#fff;font-size:10px;padding:2px 6px;text-align:center}.detail-camera-constraints-title{margin-top:10px}.flight-tooltip{position:fixed;pointer-events:none;background:#000000d9;color:#fff;padding:6px 10px;border-radius:4px;font-size:11px;line-height:1.5;z-index:10000;font-family:monospace}.metadata-add-row-btn{width:100%;margin-top:10px}.subsection-header-spaced{margin-top:20px}.field-hint-block{display:block;margin-bottom:10px}.field-hint-italic-block{display:block;margin-bottom:8px;font-style:italic}.checkbox-group-spaced{margin-top:15px}.metadata-archive-banner{padding:4px 12px;font-size:9px;color:var(--accent);opacity:.65;letter-spacing:.4px;text-transform:uppercase;font-weight:600;border-left:2px solid rgba(90,139,160,.45);margin:6px 0 0}body.kiosk-mode{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body.kiosk-mode .tag-chip{background:rgba(var(--kiosk-accent-rgb, 254, 192, 58),.12);border-color:rgba(var(--kiosk-accent-rgb, 254, 192, 58),.3);color:var(--kiosk-text-muted, #aaa)}#kiosk-file-picker{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);z-index:200}#kiosk-file-picker.hidden{display:none}.kiosk-picker-content{text-align:center;max-width:480px;padding:40px}.kiosk-picker-content h1{color:var(--accent-text);font-size:22px;margin-bottom:8px}.kiosk-picker-content>p{color:#888;font-size:14px;margin-bottom:24px;line-height:1.5}.kiosk-picker-box{border:2px dashed var(--border-default);border-radius:12px;padding:32px 24px;transition:border-color .2s,background .2s}.kiosk-picker-box.drag-over{border-color:var(--accent);background:var(--accent-muted)}.kiosk-picker-box .kiosk-picker-icon{font-size:48px;margin-bottom:12px}.kiosk-picker-box p{font-size:15px;margin-bottom:8px;color:#ccc}.kiosk-picker-box p strong{color:var(--accent-text)}.kiosk-picker-hint{font-size:12px;color:#666;margin-top:4px}.kiosk-picker-formats{font-size:11px;color:#556;margin-top:12px;line-height:1.7;opacity:.7}#kiosk-picker-btn{margin:16px auto 8px;padding:10px 28px;border:none;border-radius:8px;background:var(--accent);color:var(--bg-deep);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}#kiosk-picker-btn:hover{background:var(--accent-hover)}.kiosk-library-btn{display:inline-block;margin:8px auto 0;padding:10px 28px;border:1px solid var(--accent);border-radius:8px;background:transparent;color:var(--accent-text);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;letter-spacing:.02em}.kiosk-library-btn:hover{background:var(--accent);color:var(--bg-deep)}@keyframes kiosk-slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes kiosk-fadeIn{0%{opacity:0}to{opacity:1}}body.kiosk-mode{--kiosk-accent: #FEC03A;--kiosk-accent-rgb: 254, 192, 58;--kiosk-surface-rgb: 17, 48, 78;--kiosk-elevated-rgb: 22, 60, 95;--kiosk-bg-deep-rgb: 8, 24, 42;--kiosk-text-bright-rgb: 232, 236, 240;--kiosk-text-body-rgb: 190, 200, 215;--kiosk-text-dim-rgb: 140, 160, 180;--kiosk-text-heading-rgb: 245, 245, 250;--kiosk-text-primary: rgba(var(--kiosk-text-bright-rgb), .95);--kiosk-text-secondary: rgba(var(--kiosk-text-body-rgb), .9);--kiosk-text-muted: rgba(var(--kiosk-text-dim-rgb), .85);--kiosk-text-faint: rgba(var(--kiosk-text-dim-rgb), .5);--kiosk-border-subtle: rgba(255, 255, 255, .08);--kiosk-border-default: rgba(var(--kiosk-accent-rgb), .15);--kiosk-font-display: Georgia, "Times New Roman", serif;--kiosk-font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--kiosk-font-mono: "SF Mono", Consolas, monospace;--kiosk-bg-deep: #0a1a2e;--kiosk-scene-bg: #11304e;--measure-accent-rgb: var(--kiosk-accent-rgb);--measure-bg: rgba(var(--kiosk-surface-rgb, 15, 15, 26), .85);--measure-font: var(--kiosk-font-mono)}html:has(body.kiosk-mode.kiosk-editorial),html:has(body.kiosk-mode.kiosk-gallery),html:has(body.kiosk-mode.kiosk-exhibit){font-size:112.5%}body.kiosk-mode.kiosk-editorial,body.kiosk-mode.kiosk-gallery,body.kiosk-mode.kiosk-exhibit{font-family:var(--kiosk-font-body);font-feature-settings:"liga","kern";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.kiosk-mode.kiosk-editorial #metadata-sidebar,body.kiosk-mode.kiosk-editorial .kiosk-view-switcher,body.kiosk-mode.kiosk-editorial #kiosk-toolbar,body.kiosk-mode.kiosk-editorial #kiosk-wall-label,body.kiosk-mode.kiosk-gallery #metadata-sidebar,body.kiosk-mode.kiosk-gallery .kiosk-view-switcher,body.kiosk-mode.kiosk-gallery #kiosk-toolbar,body.kiosk-mode.kiosk-gallery #kiosk-wall-label,body.kiosk-mode.kiosk-exhibit #metadata-sidebar,body.kiosk-mode.kiosk-exhibit .kiosk-view-switcher,body.kiosk-mode.kiosk-exhibit #kiosk-toolbar,body.kiosk-mode.kiosk-exhibit #kiosk-wall-label,body.kiosk-mode.kiosk-industrial #metadata-sidebar,body.kiosk-mode.kiosk-industrial .kiosk-view-switcher,body.kiosk-mode.kiosk-industrial #kiosk-toolbar,body.kiosk-mode.kiosk-industrial #kiosk-wall-label{display:none!important}body.kiosk-mode #app{grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"viewport"}body.kiosk-mode #viewer-canvas{width:100%!important;height:100%!important}body.kiosk-mode #annotation-bar,body.kiosk-mode #tool-rail,body.kiosk-mode #props-panel,body.kiosk-mode #status-bar{display:none!important}body.kiosk-mode #quality-toggle-container{position:fixed;bottom:12px;right:12px;border-color:#ffffff26}body.kiosk-mode #section-screenshots{display:none!important}body.kiosk-mode #kiosk-toolbar{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:2px;padding:4px;background:rgba(var(--kiosk-surface-rgb),.92);border:1px solid rgba(var(--kiosk-accent-rgb),.08);border-radius:10px;box-shadow:0 2px 12px #00000040}body.kiosk-mode .kiosk-toolbar-sep{width:1px;height:24px;background:rgba(var(--kiosk-accent-rgb),.12);margin:0 2px;flex-shrink:0}body.kiosk-mode .kiosk-tool-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:7px;color:rgba(var(--kiosk-text-body-rgb),.6);font-size:18px;cursor:pointer;transition:background .15s,color .15s}body.kiosk-mode .kiosk-tool-btn:hover{background:rgba(var(--kiosk-accent-rgb),.1);color:var(--kiosk-text-primary)}body.kiosk-mode .kiosk-tool-btn.active{color:var(--kiosk-accent)}body.kiosk-mode .kiosk-tool-btn:focus-visible{outline:2px solid var(--kiosk-accent);outline-offset:2px}#kiosk-wall-label{position:fixed;bottom:72px;left:24px;max-width:320px;padding:16px 20px;background:rgba(var(--kiosk-surface-rgb),.88);border:1px solid rgba(var(--kiosk-accent-rgb),.12);border-radius:8px;color:rgb(var(--kiosk-text-bright-rgb));opacity:0;transform:translateY(8px);transition:opacity .5s ease-out,transform .5s ease-out;pointer-events:none;z-index:90}#kiosk-wall-label.visible{opacity:1;transform:translateY(0);pointer-events:auto}.wall-label-title{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:600;line-height:1.3;color:rgb(var(--kiosk-text-heading-rgb));margin:0 0 4px}.wall-label-byline{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--kiosk-accent-rgb));margin:0 0 8px}.wall-label-desc{font-size:.85rem;font-style:italic;line-height:1.45;color:rgb(var(--kiosk-text-body-rgb));margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wall-label-details-btn{background:none;border:none;padding:0;font-size:.8rem;letter-spacing:.03em;color:rgb(var(--kiosk-accent-rgb));cursor:pointer;transition:color .2s}.wall-label-details-btn:hover{color:rgb(var(--kiosk-text-bright-rgb))}.wall-label-details-btn:focus-visible{outline:2px solid rgb(var(--kiosk-accent-rgb));outline-offset:2px}#kiosk-info-overlay{position:fixed;inset:0;z-index:500;background:rgba(var(--kiosk-surface-rgb),.92);display:none;align-items:center;justify-content:center}#kiosk-info-overlay.open{display:flex;animation:kioskOverlayIn .35s cubic-bezier(.33,1,.68,1)}@keyframes kioskOverlayIn{0%{opacity:0}to{opacity:1}}.kiosk-info-close{position:absolute;top:20px;right:24px;font-size:24px;color:rgba(var(--kiosk-text-dim-rgb),.6);cursor:pointer;background:none;border:none;font-weight:300;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:10}.kiosk-info-close:hover{color:rgb(var(--kiosk-text-bright-rgb))}.kiosk-info-close:focus-visible{outline:2px solid rgb(var(--kiosk-accent-rgb));outline-offset:2px}.kiosk-info-spread{display:flex;width:88%;max-width:960px;gap:0;height:80%;max-height:600px}.kiosk-info-col-left{flex:0 0 66%;padding-right:40px;display:flex;flex-direction:column;justify-content:flex-start;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--kiosk-accent-rgb),.2) transparent}.kiosk-info-col-left::-webkit-scrollbar{width:4px}.kiosk-info-col-left::-webkit-scrollbar-track{background:transparent}.kiosk-info-col-left::-webkit-scrollbar-thumb{background:rgba(var(--kiosk-accent-rgb),.2);border-radius:2px}.kiosk-info-title{font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:600;line-height:1.2;color:rgb(var(--kiosk-text-heading-rgb));margin:0 0 12px}.kiosk-info-rule{width:44px;height:3px;background:rgb(var(--kiosk-accent-rgb));border:none;margin:0 0 14px;border-radius:1px}.kiosk-info-byline{font-size:.78rem;font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;color:rgba(var(--kiosk-text-body-rgb),.8);margin:0 0 20px}.kiosk-info-description{font-size:.9rem;line-height:1.7;color:rgba(var(--kiosk-text-body-rgb),.9);margin:0 0 20px}.kiosk-info-description p{margin:0 0 12px}.kiosk-info-description p:last-child{margin-bottom:0}.kiosk-info-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.kiosk-info-tag{font-size:.7rem;padding:3px 10px;border-radius:3px;background:rgba(var(--kiosk-text-dim-rgb),.06);color:rgba(var(--kiosk-text-body-rgb),.7);letter-spacing:.02em}.kiosk-info-license{font-size:.72rem;padding:8px 12px;background:rgba(var(--kiosk-text-dim-rgb),.04);border:1px solid rgba(var(--kiosk-text-dim-rgb),.08);border-radius:6px;color:rgba(var(--kiosk-text-body-rgb),.7);margin-top:auto}.kiosk-info-divider{width:1px;background:linear-gradient(to bottom,transparent,rgba(var(--kiosk-accent-rgb),.15),transparent);flex-shrink:0}.kiosk-info-col-right{flex:1;padding-left:40px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--kiosk-accent-rgb),.2) transparent}.kiosk-info-col-right::-webkit-scrollbar{width:4px}.kiosk-info-col-right::-webkit-scrollbar-track{background:transparent}.kiosk-info-col-right::-webkit-scrollbar-thumb{background:rgba(var(--kiosk-accent-rgb),.2);border-radius:2px}@media(max-width:699px){#kiosk-info-overlay{display:none!important}}@media(min-width:700px){body.kiosk-mode:not(.kiosk-editorial) #metadata-sidebar{display:none!important}}body.kiosk-mode #metadata-sidebar{position:fixed;top:0;right:0;width:380px;height:100dvh;z-index:100;background:rgb(var(--kiosk-surface-rgb));border-left:1px solid rgba(var(--kiosk-text-dim-rgb),.1);box-shadow:-2px 0 8px #0003;display:flex;flex-direction:column;overflow:hidden}body.kiosk-mode #metadata-sidebar.hidden{display:none!important}body.kiosk-mode #metadata-sidebar:not(.hidden){animation:kiosk-slideInRight .25s ease-out}body.kiosk-mode .sidebar-mode-tabs{display:flex;background:transparent;border-bottom:1px solid rgba(var(--kiosk-text-dim-rgb),.1);padding:0;gap:0}body.kiosk-mode .sidebar-mode-tab{flex:1;text-align:center;font-size:.82rem;padding:14px 16px;color:rgba(var(--kiosk-text-body-rgb),.7);border-bottom:2px solid transparent;transition:color .2s,background .2s,border-color .2s;letter-spacing:.03em}body.kiosk-mode .sidebar-mode-tab:hover{color:rgba(var(--kiosk-text-bright-rgb),.9)}body.kiosk-mode .sidebar-mode-tab.active{color:var(--kiosk-accent);border-bottom-color:var(--kiosk-accent)}body.kiosk-mode #sidebar-view{padding:36px 32px}body.kiosk-mode #sidebar-view .display-content{animation:kiosk-fadeIn .6s ease-out .15s both}body.kiosk-mode #sidebar-view .display-title{font-size:1.6rem;font-weight:400;font-family:var(--kiosk-font-display);letter-spacing:.01em;line-height:1.25;margin-bottom:14px}body.kiosk-mode #sidebar-view .display-description{font-size:.92rem;line-height:1.75;color:rgba(var(--kiosk-text-body-rgb),.9);margin-bottom:24px}body.kiosk-mode #sidebar-view .display-divider{margin:24px 0;background:rgba(var(--kiosk-text-dim-rgb),.08)}body.kiosk-mode #sidebar-view .display-details{gap:14px;margin-bottom:24px}body.kiosk-mode #sidebar-view .display-label{font-size:.72rem;color:rgba(var(--kiosk-text-dim-rgb),.7);letter-spacing:.06em;font-variant:small-caps;text-transform:lowercase;font-weight:500}body.kiosk-mode #sidebar-view .display-value{font-size:.88rem;color:rgba(var(--kiosk-text-bright-rgb),.95)}body.kiosk-mode #sidebar-view .display-license{font-size:.75rem;margin-bottom:24px;padding:10px 16px;background:rgba(var(--kiosk-text-dim-rgb),.04);border:1px solid rgba(var(--kiosk-text-dim-rgb),.08);border-radius:8px;letter-spacing:.03em}body.kiosk-mode #sidebar-view .display-stats{display:flex;flex-wrap:wrap;gap:16px 24px;padding-top:20px;border-top:1px solid var(--kiosk-border-subtle)}body.kiosk-mode #sidebar-view .display-stat{display:flex;align-items:baseline;gap:6px}body.kiosk-mode #sidebar-view .display-stat .stat-number{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;color:rgba(var(--kiosk-text-bright-rgb),.95)}body.kiosk-mode #sidebar-view .display-stat .stat-label{font-size:.7rem;color:rgba(var(--kiosk-text-dim-rgb),.6);letter-spacing:.04em;font-variant:small-caps;text-transform:lowercase}body.kiosk-mode .kiosk-anno-header{font-size:.72rem;font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;color:rgba(var(--kiosk-text-dim-rgb),.7);margin-bottom:12px;font-weight:500}body.kiosk-mode .kiosk-anno-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s;border-left:3px solid transparent;margin-bottom:4px}body.kiosk-mode .kiosk-anno-item:hover{background:rgba(var(--kiosk-text-dim-rgb),.06)}body.kiosk-mode .kiosk-anno-item.active{background:rgba(var(--kiosk-accent-rgb),.05);border-left-color:var(--kiosk-accent)}body.kiosk-mode .kiosk-anno-badge{width:24px;height:24px;min-width:24px;background:rgba(var(--kiosk-accent-rgb),.12);color:var(--kiosk-accent);border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;margin-top:2px}body.kiosk-mode .kiosk-anno-item.active .kiosk-anno-badge{background:var(--kiosk-accent);color:var(--kiosk-bg-deep)}body.kiosk-mode .kiosk-anno-info{display:flex;flex-direction:column;min-width:0}body.kiosk-mode .kiosk-anno-title{font-size:.85rem;color:var(--kiosk-text-primary);font-weight:500;line-height:1.3}body.kiosk-mode .kiosk-anno-preview{font-size:.75rem;color:rgba(var(--kiosk-text-dim-rgb),.7);line-height:1.4;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.kiosk-mode .kiosk-detail-section{margin-bottom:4px}body.kiosk-mode .kiosk-detail-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:4px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}body.kiosk-mode .kiosk-detail-header:hover,body.kiosk-mode .kiosk-detail-header.open{background:rgba(var(--kiosk-text-dim-rgb),.04)}body.kiosk-mode .kiosk-detail-title{font-size:.78rem;color:rgba(var(--kiosk-text-body-rgb),.8);font-weight:500;letter-spacing:.03em}body.kiosk-mode .kiosk-detail-chevron{font-size:.7rem;color:rgba(var(--kiosk-text-dim-rgb),.5);transition:transform .2s ease}body.kiosk-mode .kiosk-detail-header.open .kiosk-detail-chevron{transform:rotate(90deg);color:var(--kiosk-accent)}body.kiosk-mode .kiosk-detail-content{padding:8px 14px 12px}body.kiosk-mode #sidebar-view .kiosk-detail-content .display-detail{display:flex;flex-direction:column;align-items:flex-start;padding:6px 0;gap:2px}body.kiosk-mode #sidebar-view .kiosk-detail-content .display-label{font-size:.65rem;text-align:left}body.kiosk-mode #sidebar-view .kiosk-detail-content .display-value{font-size:.8rem;text-align:left;word-break:break-word;line-height:1.5;white-space:pre-wrap}body.kiosk-mode #sidebar-settings{padding:20px 24px;overflow-y:auto}body.kiosk-mode #sidebar-settings .prop-section{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(var(--kiosk-accent-rgb),.08)}body.kiosk-mode #sidebar-settings .prop-section:last-child{border-bottom:none}body.kiosk-mode #sidebar-settings .prop-section-title{font-size:.78rem;color:rgba(var(--kiosk-text-dim-rgb),.7);text-transform:uppercase;letter-spacing:.1em;font-weight:500}body.kiosk-mode #sidebar-settings .prop-section-hd:hover .prop-section-title{color:rgba(var(--kiosk-text-bright-rgb),.9)}body.kiosk-mode #sidebar-settings .prop-btn{padding:8px 14px;font-size:.82rem;border-color:rgba(var(--kiosk-accent-rgb),.15);border-radius:6px}body.kiosk-mode #sidebar-settings .prop-btn:hover{background:rgba(var(--kiosk-elevated-rgb),.5)}body.kiosk-mode #sidebar-settings .prop-btn.active{background:rgba(var(--kiosk-accent-rgb),.15);border-color:rgba(var(--kiosk-accent-rgb),.4);color:var(--kiosk-accent)}body.kiosk-mode #sidebar-settings .action-btn{background:rgba(var(--kiosk-elevated-rgb),.4);border:1px solid rgba(var(--kiosk-accent-rgb),.12);border-radius:8px;color:rgba(var(--kiosk-text-bright-rgb),.9);transition:background .2s,border-color .2s}body.kiosk-mode #sidebar-settings .action-btn:hover{background:rgba(var(--kiosk-elevated-rgb),.6);border-color:rgba(var(--kiosk-accent-rgb),.3)}body.kiosk-mode #sidebar-settings .swatch{border-color:rgba(var(--kiosk-accent-rgb),.15);border-radius:6px}body.kiosk-mode #sidebar-settings .swatch.active{border-color:var(--kiosk-accent);box-shadow:0 0 0 2px rgba(var(--kiosk-accent-rgb),.2);position:relative}body.kiosk-mode #sidebar-settings .swatch.active:after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}body.kiosk-mode #sidebar-settings .sl-row .sl-label{color:rgba(var(--kiosk-text-body-rgb),.8);font-size:.8rem}body.kiosk-mode #sidebar-settings .sl-row .sl-val{color:var(--kiosk-accent)}body.kiosk-mode #sidebar-settings .cb-row label{color:rgba(var(--kiosk-text-body-rgb),.8)}body.kiosk-mode .export-btn{display:block;width:100%;padding:10px 14px;margin-bottom:6px;background:rgba(var(--kiosk-accent-rgb),.08);border:1px solid rgba(var(--kiosk-accent-rgb),.15);border-radius:8px;color:rgba(var(--kiosk-text-bright-rgb),.9);font-size:.82rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .2s,border-color .2s,color .2s}body.kiosk-mode .export-btn:hover{background:rgba(var(--kiosk-accent-rgb),.18);border-color:rgba(var(--kiosk-accent-rgb),.35);color:var(--kiosk-text-primary)}body.kiosk-mode .export-btn:active{transform:scale(.98)}body.kiosk-mode .export-btn:disabled{opacity:.5;cursor:wait;transform:none}body.kiosk-mode .export-note{font-size:.72rem;color:rgba(var(--kiosk-text-dim-rgb),.6);font-style:italic;margin:2px 0 14px;line-height:1.4}body.kiosk-mode .export-individual-label{font-size:.72rem;color:rgba(var(--kiosk-text-dim-rgb),.5);text-transform:uppercase;letter-spacing:.08em;margin:12px 0 8px;font-weight:500}body.kiosk-mode #annotation-info-popup{background:rgba(var(--kiosk-surface-rgb),.95);border:1px solid rgba(var(--kiosk-accent-rgb),.15);box-shadow:0 8px 32px #0006;border-radius:8px;transition:opacity .3s ease}body.kiosk-mode #annotation-info-popup.animating-away{opacity:0;transition:none}body.kiosk-mode #annotation-info-popup.has-image{max-width:400px;padding:0;overflow:hidden}body.kiosk-mode #annotation-info-popup.has-image .annotation-info-header{padding:14px 18px 10px;margin-bottom:0}body.kiosk-mode #annotation-info-popup.has-image .annotation-info-body{padding:0 18px 14px}body.kiosk-mode .annotation-hero-zoom{background:rgba(var(--kiosk-surface-rgb),.6)}body.kiosk-mode .annotation-marker{opacity:calc(var(--marker-vis) * .6);border:2px solid rgba(255,255,255,.6);box-shadow:0 2px 12px #0006,0 0 20px rgba(var(--kiosk-accent-rgb),.15);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);transition:transform .15s,box-shadow .15s}body.kiosk-mode .annotation-marker:hover{opacity:calc(var(--marker-vis) * .85);box-shadow:0 4px 20px rgba(var(--kiosk-accent-rgb),.4),0 0 30px rgba(var(--kiosk-accent-rgb),.2)}body.kiosk-mode .annotation-marker.selected{opacity:calc(var(--marker-vis) * .8)}@keyframes kiosk-marker-glow-intro{0%,to{box-shadow:0 2px 12px #0006,0 0 20px rgba(var(--kiosk-accent-rgb),.15)}50%{box-shadow:0 2px 16px #0006,0 0 35px rgba(var(--kiosk-accent-rgb),.45),0 0 60px rgba(var(--kiosk-accent-rgb),.15)}}body.kiosk-mode .annotation-marker.glow-intro{animation:kiosk-marker-glow-intro 2s cubic-bezier(.4,0,.2,1) 3}body.kiosk-mode .sidebar-mode-tab:focus-visible,body.kiosk-mode .prop-btn:focus-visible,body.kiosk-mode .kiosk-view-btn:focus-visible,body.kiosk-mode .swatch:focus-visible,body.kiosk-mode .annotation-marker:focus-visible,body.kiosk-mode .action-btn:focus-visible,body.kiosk-mode .export-btn:focus-visible,body.kiosk-mode #btn-toggle-annotations:focus-visible,body.kiosk-mode #btn-kiosk-info:focus-visible{outline:2px solid var(--kiosk-accent);outline-offset:2px}body.kiosk-mode .sidebar-mode-tab:active{transform:scale(.96);transition:transform .08s ease-in}body.kiosk-mode .kiosk-view-switcher{display:contents}body.kiosk-mode .kiosk-view-btn{padding:6px 14px;border:none;background:transparent;color:rgba(var(--kiosk-text-body-rgb),.6);font-size:.78rem;font-family:inherit;cursor:pointer;border-radius:7px;transition:background .15s,color .15s;white-space:nowrap;letter-spacing:.02em}body.kiosk-mode .kiosk-view-btn:hover{color:rgba(var(--kiosk-text-bright-rgb),.9);background:rgba(var(--kiosk-accent-rgb),.08)}body.kiosk-mode .kiosk-view-btn.active{color:var(--kiosk-text-primary);background:rgba(var(--kiosk-accent-rgb),.18)}body.kiosk-mode #metadata-sidebar:not(.hidden):before{content:"";position:absolute;left:-60px;top:0;bottom:0;width:60px;pointer-events:none;background:linear-gradient(to right,transparent,rgba(0,0,0,.08))}body.kiosk-mode #loading-overlay.fade-out{opacity:0;pointer-events:none;transition:opacity .4s ease-out}body.kiosk-mode #loading-overlay{background:rgba(var(--kiosk-bg-deep-rgb),.95)}#loading-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:28px;animation:kiosk-fadeIn .5s ease-out}#loading-brand.hidden{display:none!important}#loading-thumbnail{max-width:280px;max-height:180px;border-radius:12px;object-fit:cover;box-shadow:0 8px 32px #00000080;border:1px solid rgba(var(--kiosk-accent-rgb),.15);margin-bottom:20px}#loading-thumbnail[src=""]{display:none}#loading-title{font-family:var(--kiosk-font-display);font-size:1.4rem;font-weight:400;color:rgba(var(--kiosk-text-heading-rgb),.95);letter-spacing:.02em;margin:0 0 8px;max-width:350px;line-height:1.3}#loading-content-types{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--kiosk-accent);margin:0;font-weight:500}#annotation-line-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:55}#annotation-line-overlay line{stroke:var(--kiosk-accent);stroke-opacity:.7;stroke-width:2.5;stroke-dasharray:5 5}#measurement-line-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:62}body.kiosk-mode #metadata-sidebar ::-webkit-scrollbar{width:4px}body.kiosk-mode #metadata-sidebar ::-webkit-scrollbar-track{background:transparent}body.kiosk-mode #metadata-sidebar ::-webkit-scrollbar-thumb{background:rgba(var(--kiosk-accent-rgb),.2);border-radius:2px}body.kiosk-mode #metadata-sidebar ::-webkit-scrollbar-thumb:hover{background:rgba(var(--kiosk-accent-rgb),.4)}#sidebar-drag-handle{display:none}@media(max-width:699px){body.kiosk-mode #sidebar-drag-handle{display:flex;align-items:center;justify-content:center;height:44px;cursor:grab;touch-action:none;flex-shrink:0;-webkit-user-select:none;user-select:none}body.kiosk-mode #sidebar-drag-handle:active{cursor:grabbing}body.kiosk-mode .drag-handle-bar{width:40px;height:4px;background:#ffffff4d;border-radius:2px;transition:background .2s}body.kiosk-mode #sidebar-drag-handle:hover .drag-handle-bar{background:#ffffff80}body.kiosk-mode #metadata-sidebar{position:fixed;inset:auto 0 0;width:100%;min-width:100%;height:90dvh;max-height:90dvh;border-left:none;border-top:1px solid rgba(var(--kiosk-text-dim-rgb),.1);border-radius:16px 16px 0 0;box-shadow:0 -2px 12px #0003;display:flex;flex-direction:column;transform:translateY(calc(90dvh - 70px));transition:transform .3s cubic-bezier(.33,1,.68,1);will-change:transform}body.kiosk-mode #metadata-sidebar.hidden{transform:translateY(100%)!important;pointer-events:none}body.kiosk-mode #metadata-sidebar.sheet-peek{transform:translateY(calc(90dvh - 70px))}body.kiosk-mode #metadata-sidebar.sheet-half{transform:translateY(50%)}body.kiosk-mode #metadata-sidebar.sheet-full{transform:translateY(0)}body.kiosk-mode #metadata-sidebar:not(.hidden){animation:none}body.kiosk-mode #metadata-sidebar:not(.hidden):before{inset:-40px 0 auto;width:100%;height:40px;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.15))}body.kiosk-mode #sidebar-view{padding:20px 16px;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}body.kiosk-mode #sidebar-settings{overflow-y:auto;flex:1;min-height:0;padding:16px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}body.kiosk-mode #sidebar-view .display-title{font-size:1.3rem}body.kiosk-mode #sidebar-view .display-description{font-size:.88rem;margin-bottom:16px}body.kiosk-mode #sidebar-view .display-divider{margin:16px 0}body.kiosk-mode #sidebar-view .display-details{gap:10px;margin-bottom:16px}body.kiosk-mode #sidebar-view .display-stats{gap:12px 20px;padding-top:16px}body.kiosk-mode #sidebar-view .display-stat .stat-number{font-size:1rem}body.kiosk-mode .kiosk-anno-item{padding:14px 16px;gap:14px}body.kiosk-mode .kiosk-anno-badge{width:28px;height:28px;min-width:28px;font-size:12px}body.kiosk-mode #kiosk-toolbar{top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left))}body.kiosk-mode .kiosk-detail-header{padding:12px 14px}body.kiosk-mode .sidebar-mode-tabs{flex-shrink:0}body.kiosk-mode .sidebar-mode-tab{padding:12px 14px;font-size:.78rem;min-height:44px}body.kiosk-mode #kiosk-toolbar{bottom:calc(14px + env(safe-area-inset-bottom));padding:4px}body.kiosk-mode .kiosk-tool-btn{width:44px;height:44px}#kiosk-wall-label{left:12px;right:12px;bottom:70px;max-width:none;padding:12px 16px;display:flex;align-items:center;gap:12px}#kiosk-wall-label .wall-label-desc,#kiosk-wall-label .wall-label-byline{display:none}#kiosk-wall-label .wall-label-title{flex:1;margin:0;font-size:.95rem}#kiosk-wall-label .wall-label-details-btn{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:rgba(var(--kiosk-accent-rgb),.15);display:grid;place-items:center}body.kiosk-mode .kiosk-view-btn{padding:10px 14px;font-size:.75rem;min-height:44px}body.kiosk-mode .annotation-marker{min-width:36px;min-height:36px;opacity:calc(var(--marker-vis) * .6)}body.kiosk-mode .annotation-marker:hover{opacity:calc(var(--marker-vis) * .9)}body.kiosk-mode .annotation-marker.selected{opacity:calc(var(--marker-vis) * .85)}body.kiosk-mode #annotation-info-popup{display:none!important}body.kiosk-mode #annotation-line-overlay{display:none}body.kiosk-mode .sidebar-footer{padding:8px 16px;flex-shrink:0}#loading-thumbnail{max-width:200px;max-height:130px}#loading-title{font-size:1.15rem;max-width:280px}body.kiosk-mode #mobile-anno-detail{display:none;flex-direction:column;min-height:0;box-sizing:border-box;overflow:hidden}body.kiosk-mode #metadata-sidebar.sheet-half #mobile-anno-detail{max-height:calc(45dvh - 120px)}body.kiosk-mode #metadata-sidebar.sheet-full #mobile-anno-detail{max-height:calc(90dvh - 120px)}body.kiosk-mode .mobile-anno-nav{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px;margin-bottom:16px;padding:8px 0}body.kiosk-mode .mobile-anno-nav-btn{background:rgba(var(--kiosk-accent-rgb),.1);border:1px solid rgba(var(--kiosk-accent-rgb),.2);color:var(--kiosk-accent);font-size:.8rem;padding:8px 14px;border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s}body.kiosk-mode .mobile-anno-nav-btn:active{transform:scale(.93)}body.kiosk-mode .mobile-anno-nav-btn:disabled{opacity:.3;cursor:default}body.kiosk-mode .mobile-anno-nav-btn:disabled:active{transform:none}body.kiosk-mode .mobile-anno-return{background:rgba(var(--kiosk-accent-rgb),.15);border-color:rgba(var(--kiosk-accent-rgb),.3);font-weight:600}body.kiosk-mode .mobile-anno-header{display:flex;align-items:center;flex-shrink:0;gap:12px;margin-bottom:20px}body.kiosk-mode .mobile-anno-number{width:32px;height:32px;min-width:32px;background:var(--kiosk-accent);color:var(--kiosk-bg-deep);border-radius:50%;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}body.kiosk-mode .mobile-anno-title{font-size:1.3rem;font-weight:400;font-family:var(--kiosk-font-display);color:var(--kiosk-text-primary);margin:0;line-height:1.3}body.kiosk-mode .mobile-anno-body{flex:1;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;font-size:.9rem;line-height:1.7;color:var(--kiosk-text-secondary);word-break:break-word}body.kiosk-mode .mobile-anno-body p{margin:0 0 12px}body.kiosk-mode .mobile-anno-body img{max-width:100%;height:auto;border-radius:8px;margin:8px 0;border:1px solid rgba(var(--kiosk-accent-rgb),.15)}body.kiosk-mode .mobile-anno-body h1,body.kiosk-mode .mobile-anno-body h2,body.kiosk-mode .mobile-anno-body h3{color:var(--kiosk-text-primary);margin:16px 0 8px}body.kiosk-mode .mobile-anno-body a{color:var(--kiosk-accent)}body.kiosk-mode .mobile-anno-body code{background:rgba(var(--kiosk-elevated-rgb),.5);padding:2px 6px;border-radius:4px;font-size:.85em}body.kiosk-mode .mobile-anno-body ul,body.kiosk-mode .mobile-anno-body ol{padding-left:20px;margin:8px 0}}@media(max-width:699px)and (orientation:landscape){body.kiosk-mode #metadata-sidebar{height:70dvh;max-height:70dvh}body.kiosk-mode #metadata-sidebar.sheet-peek{transform:translateY(calc(70dvh - 60px))}body.kiosk-mode #metadata-sidebar.sheet-half{transform:translateY(35%)}body.kiosk-mode #metadata-sidebar.sheet-full{transform:translateY(0)}}body.kiosk-mode #metadata-sidebar.sheet-dragging{transition:none!important}@media(prefers-reduced-motion:reduce){body.kiosk-mode .annotation-marker,body.kiosk-mode .annotation-marker.glow-intro,body.kiosk-mode .sidebar-mode-tab,body.kiosk-mode .kiosk-view-btn,body.kiosk-mode .prop-btn,body.kiosk-mode .swatch,body.kiosk-mode .action-btn,body.kiosk-mode .export-btn,body.kiosk-mode #metadata-sidebar{animation:none!important;transition:none!important}}@supports not (backdrop-filter: blur(1px)){body.kiosk-mode #annotation-info-popup{background:rgba(var(--kiosk-surface-rgb),.95)}}#kiosk-click-gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgb(var(--kiosk-bg-deep-rgb, 12, 10, 8));cursor:pointer;overflow:hidden}#kiosk-click-gate.hidden{display:none;pointer-events:none}#kiosk-gate-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}.kiosk-gate-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(var(--kiosk-bg-deep-rgb, 12, 10, 8),.6) 70%,rgba(var(--kiosk-bg-deep-rgb, 12, 10, 8),.95) 100%);z-index:1;pointer-events:none}.kiosk-gate-card{position:relative;z-index:10;width:90%;max-width:480px;padding:0 32px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:16px;background:none;border:none;box-shadow:none;animation:kiosk-gate-intro .6s cubic-bezier(.2,.8,.2,1) forwards;transform:translateY(12px);opacity:0}@keyframes kiosk-gate-intro{to{transform:translateY(0);opacity:1}}#kiosk-gate-title{font-family:var(--kiosk-font-display, Georgia, "Times New Roman", serif);font-size:2rem;font-weight:400;color:rgba(var(--kiosk-text-heading-rgb, 240, 238, 232),.95);letter-spacing:.03em;line-height:1.2;margin:0}#kiosk-gate-description{font-family:var(--kiosk-font-body);font-size:.88rem;color:rgba(var(--kiosk-text-body-rgb, 180, 176, 168),.8);line-height:1.55;margin:0;max-height:4.5em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}#kiosk-gate-tags{margin:0;justify-content:flex-start;gap:6px}#kiosk-gate-types{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:4px 0 0}.kiosk-gate-plus{font-size:.6rem;color:#ffffff59}.kiosk-gate-pill{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--kiosk-accent, #FEC03A);background:none;border:none;padding:0}#kiosk-gate-play{width:56px;height:56px;border-radius:50%;background:transparent;border:1px solid rgba(var(--kiosk-accent-rgb, 254, 192, 58),.4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;margin-top:8px}#kiosk-gate-play svg{fill:rgba(var(--kiosk-accent-rgb, 254, 192, 58),.8);margin-left:3px;width:18px;height:18px}#kiosk-gate-play:hover{border-color:var(--kiosk-accent, #FEC03A);background:rgba(var(--kiosk-accent-rgb, 254, 192, 58),.08)}#kiosk-gate-play:hover svg{fill:var(--kiosk-accent, #FEC03A)}.kiosk-gate-cta{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;color:rgba(var(--kiosk-text-dim-rgb, 150, 146, 140),.7);margin:0;font-weight:400;opacity:0;animation:kiosk-gate-intro .6s ease-out forwards .6s}.kiosk-wt-player{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:350;pointer-events:auto}.wt-player-inner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#14141ed9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:28px;color:#ffffffe6;font-size:12px;white-space:nowrap}.wt-play-btn,.wt-prev-btn,.wt-next-btn,.wt-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:#ffffff1a;color:#ffffffe6;cursor:pointer;transition:background .15s;padding:0}.wt-play-btn:hover,.wt-prev-btn:hover,.wt-next-btn:hover,.wt-close-btn:hover{background:#fff3}.wt-play-btn{width:36px;height:36px;background:var(--accent, #5a8ba0)}.wt-play-btn:hover{background:var(--accent-hover, #4a8e87)}.wt-dots{display:flex;gap:6px;align-items:center;padding:0 8px}.wt-dot{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:transparent;cursor:pointer;padding:0;transition:all .2s}.wt-dot.active{border-color:var(--accent, #5a8ba0);background:var(--accent, #5a8ba0);transform:scale(1.2)}.wt-dot.visited{border-color:#fff9;background:#ffffff4d}.wt-dot:hover{border-color:#fffc}.wt-stop-title{max-width:200px;overflow:hidden;text-overflow:ellipsis;font-weight:500;padding:0 4px}.wt-stop-counter{color:#ffffff80;font-size:11px;padding:0 4px}.wt-close-btn{font-size:18px;margin-left:4px}body.kiosk-mode .kiosk-wt-player{bottom:64px}@media(max-width:699px){.kiosk-wt-player{bottom:12px;left:8px;right:8px;transform:none}.wt-player-inner{padding:6px 12px;gap:6px;justify-content:center;flex-wrap:wrap}.wt-stop-title{max-width:120px;font-size:11px}.wt-dots{padding:0 4px}.wt-dot{width:8px;height:8px}}@media(prefers-reduced-motion:reduce){.wt-dot{transition:none}}.kiosk-back-library{position:fixed;top:var(--back-btn-top, 110px);left:24px;z-index:91;background:none;border:none;color:var(--kiosk-accent, rgba(254, 192, 58, .7));font-family:var(--kiosk-font-body, "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:0;cursor:pointer;transition:color .2s ease,opacity .6s ease;display:flex;align-items:center;gap:6px;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 10px rgba(0,0,0,.4);animation:kioskBackFadeIn .6s ease both}@keyframes kioskBackFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.kiosk-back-library .back-arrow{display:inline-block;transition:transform .2s ease}.kiosk-back-library:hover{color:var(--kiosk-accent, rgba(254, 192, 58, 1))}.kiosk-back-library:hover .back-arrow{transform:translate(-3px)}body.kiosk-mode .bg-loading-indicator{bottom:44px}.client-share-info{position:fixed;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:12px;pointer-events:none;z-index:100;background:#00000080;border-radius:16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.client-share-info.hidden{display:none!important}.client-share-label{color:#ffffffb3;font-style:italic}.client-share-expiry{background:var(--accent, #4a9eff);color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.client-share-expiry.expiry-urgent{background:#e53e3e}
