/* Approved vector layer system. The timeline keeps its existing geometry. */
.entity-vector-icon { display: block; width: 24px; height: 24px; flex: 0 0 auto; color: rgb(var(--layer-component-rgb, 87,173,158)); }
#objectListPanel { container-type: inline-size; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity {
  --root-accent: var(--entity-identity-accent, rgb(var(--layer-component-rgb,87,173,158)));
  display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 10px 12px;
  min-height: 96px; padding: 12px; box-sizing: border-box;
  border: 1px solid color-mix(in srgb,var(--root-accent) 40%,transparent); border-radius: 10px;
  background: linear-gradient(125deg,color-mix(in srgb,var(--root-accent) 18%,#0b1017),color-mix(in srgb,var(--root-accent) 7%,#0b1017));
  box-shadow: none; color: var(--text);
}
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity.has-actions { grid-template-columns: 40px minmax(0,1fr); }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity.is-selected {
  border-color: var(--root-accent);
  box-shadow: none;
}
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity .entity-identity-icon {
  width: 40px; height: 40px; padding: 0; border: 0; border-radius: 0; background: none;
  color: var(--root-accent); box-shadow: none; filter: none; mix-blend-mode: normal;
}
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-select,
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity.is-compact .entity-identity-select {
  grid-column: 1 / -1; grid-template-columns: 40px minmax(0,1fr); min-height: 40px; gap: 12px;
}
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-copy strong { font-size: 14px; font-weight: 650; line-height: 1.35; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-copy { gap: 3px; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-copy small { font-size: 11px; font-weight: 400; line-height: 1.35; color: #a9b8c8; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-actions { grid-column: 1 / -1; width: 100%; flex-wrap: wrap; align-items: center; gap: 6px; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-actions .entity-identity-icon-action:first-child,
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-actions .entity-identity-library-action + .entity-identity-icon-action { margin-left: auto; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-action { font-family: inherit; font-size: 11px; font-weight: 500; line-height: 1.2; letter-spacing: 0; min-height: 30px; color: #c8d4df; border: 1px solid #ffffff12; background: #ffffff04; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-action:hover { color: #fff; background: #ffffff0d; border-color: #ffffff35; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-icon-action, :is(#objectListContent,#fullscreenProjectRoot) .entity-identity-delete { width: 30px; min-width: 30px; border-color: transparent; background: transparent; }
:is(#objectListContent,#fullscreenProjectRoot) .entity-identity-icon-action .ui-icon, :is(#objectListContent,#fullscreenProjectRoot) .entity-identity-delete .ui-icon { width: 18px; height: 18px; }
#objectListContent .layer-component-list, #objectListContent .modular-component-stack { gap: 6px; }
#objectListContent .modular-component-card:not(.modular-component-add-card),
#objectListContent .scene-component-folder {
  min-height: 40px; height: auto; border: 1px solid rgba(var(--layer-component-rgb,87,173,158),.28); border-radius: 8px;
  background: rgba(var(--layer-component-rgb,87,173,158),.07); box-shadow: none;
}
#objectListContent .modular-component-card:not(.modular-component-add-card):hover,
#objectListContent .scene-component-folder:hover { background: rgba(var(--layer-component-rgb,87,173,158),.13); border-color: rgba(var(--layer-component-rgb,87,173,158),.5); }
#objectListContent .modular-component-card:not(.modular-component-add-card).is-selected,
#objectListContent .scene-component-folder.has-selection { background: rgba(var(--layer-component-rgb,87,173,158),.17); border-color: var(--layer-selection-color, rgb(var(--layer-component-rgb,87,173,158))); box-shadow: none; }
#objectListContent .modular-component-select { padding: 7px 9px; gap: 8px; min-height: 40px; background: transparent; text-shadow: none; }
#objectListContent .scene-hierarchy-component-card .modular-component-select { grid-template-columns: 12px 24px minmax(0,1fr); gap: 8px; padding: 7px 9px; }
#objectListContent .scene-hierarchy-component-card .scene-layer-type { display: block; color: #a9b8c8; font-size: 11px; font-weight: 400; line-height: 1.35; }
#objectListContent .scene-workspace-component-icon,
#objectListContent .scene-workspace-add-mark,
#objectListContent .component-choice-card-icon,
#objectListContent .component-choice-category-icon { width: 24px; height: 24px; padding: 0; border: 0; background: none; border-radius: 0; box-shadow: none; color: rgb(var(--layer-component-rgb,87,173,158)); }
#objectListContent .scene-workspace-component-icon > img { width: 24px; height: 24px; filter: none; mix-blend-mode: normal; }
#objectListContent .modular-component-actions { align-items: center; border: 0; box-shadow: none; padding: 3px 5px 3px 0; gap: 2px; }
#objectListContent .modular-component-actions button { min-width: 28px; width: 28px; min-height: 30px; border: 0; border-radius: 5px; background: transparent; color: #b9c6d4; box-shadow: none; }
#objectListContent .modular-component-actions button:hover:not(:disabled) { color: #fff; background: #ffffff0d; }
#objectListContent .modular-component-actions button .ui-icon { width: 17px; height: 17px; }
#objectListContent .modular-component-actions button:is([data-scene-hierarchy-skysphere-library],.material-library-action,.component-library-action) { width: auto; min-width: 0; padding: 0 9px; border: 1px solid #ffffff12; font-size: 10px; }
#objectListContent .scene-component-folder-toggle { height: 40px; grid-template-columns: 12px 24px minmax(0,1fr) auto auto; padding: 7px 9px; background: transparent; box-shadow: none; }
#objectListContent .scene-component-folder-chevron { width: 12px; font-size: 20px; }
#objectListContent .scene-component-leaf-mark { display: grid; place-items: center; width: 12px; height: 20px; color: rgba(var(--layer-component-rgb,87,173,158),.7); }
#objectListContent .scene-component-leaf-mark::before { content: ""; width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
#objectListContent .scene-component-folder-count { font-size: 10px; }
#objectListContent .is-required-action { display: none; }
#objectListContent .layer-component-add-button {
  --component-action-accent: var(--layer-selection-color, rgb(var(--layer-component-rgb,87,173,158)));
  margin-top: 8px;
  border-color: color-mix(in srgb, var(--component-action-accent) 28%, transparent);
  background: color-mix(in srgb, var(--component-action-accent) 7%, transparent);
  color: color-mix(in srgb, var(--component-action-accent) 32%, #dce6ef);
}
#objectListContent .layer-component-add-button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--component-action-accent) 50%, transparent);
  background: color-mix(in srgb, var(--component-action-accent) 13%, transparent);
  color: color-mix(in srgb, var(--component-action-accent) 24%, #eef2f7);
}
#objectListContent :is(button,input):focus-visible { outline: 2px solid #8bc8e9; outline-offset: 2px; }
#objectListContent .layer-component-add-button:focus-visible { outline-color: var(--component-action-accent); outline-offset: -3px; }
#objectListContent .delete-icon-btn:hover:not(:disabled) { color: #ff9997; background: #ff676714; }
/* Remove visual spinners only: native ArrowUp/ArrowDown behavior still works. */
:is(#paramPanel,#objectListPanel,#keyframeTracks) input[type="number"] { appearance: textfield; -moz-appearance: textfield; font-variant-numeric: tabular-nums; }
:is(#paramPanel,#objectListPanel,#keyframeTracks) input[type="number"]::-webkit-inner-spin-button,
:is(#paramPanel,#objectListPanel,#keyframeTracks) input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.param-value input[type="number"] { box-sizing: border-box; height: 24px; padding: 3px 4px; text-align: center; line-height: 16px; }
@container (max-width: 290px) {
  #objectListContent .modular-component-card:has(.component-library-action) { grid-template-columns: 1fr; }
  #objectListContent .modular-component-card:has(.component-library-action) .modular-component-actions { justify-content: flex-end; padding: 0 6px 6px; }
  #objectListContent .component-library-action { margin-right: auto; }
}
.layer-breadcrumbs { display:flex; align-items:center; flex-wrap:nowrap; gap:5px; color:#899aaa; }
/* A single row keeps the owner card anchored at every navigation depth. */
:is(#objectListContent,#fullscreenProjectRoot) .layer-breadcrumbs { box-sizing:border-box; height:28px; min-height:28px; min-width:0; max-width:100%; margin:0; padding:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
:is(#objectListContent,#fullscreenProjectRoot) .layer-breadcrumbs::-webkit-scrollbar { display:none; }
:is(#objectListContent,#fullscreenProjectRoot) .layer-breadcrumbs > * { flex:0 0 auto; white-space:nowrap; }
:is(#objectListContent,#fullscreenProjectRoot) .layer-breadcrumbs button { flex:0 1 auto; min-width:32px; max-width:160px; overflow:hidden; text-overflow:ellipsis; }
:is(#objectListContent,#fullscreenProjectRoot) .layer-breadcrumbs :is([data-scene-workspace-root-back],[data-layer-folder-back]) { flex:0 0 24px; min-width:24px; }
:is(#objectListContent,#fullscreenProjectRoot) .layer-breadcrumbs [aria-current] { font-size:11px; line-height:20px; padding:4px; }
#objectListContent .obj-group > .layer-breadcrumbs { margin-bottom:12px; }
#objectListContent .scene-hierarchy-component-section:has(> .layer-breadcrumbs) { gap:12px; }
.layer-breadcrumbs button { border:0; background:transparent; color:#aebdca; padding:4px; border-radius:5px; font:inherit; font-size:11px; cursor:pointer; }
.layer-breadcrumbs button[aria-current] { color:#e0e8f0; }
.layer-breadcrumbs .ui-icon { width:16px; height:16px; vertical-align:middle; }
.scene-folder-root { margin-bottom:0; }
.layer-panel-header { display:flex; align-items:center; flex-wrap:wrap; padding:10px 10px 7px; gap:7px; flex-shrink:0; }
.layer-panel-header > strong { color:#9caaba; text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:600; }
body:not(.fullscreen-authoring) .layer-panel-header > strong { display:none; }
.layer-search-field.parameter-search { box-sizing:border-box; width:100%; margin:0; }
.layer-search-field .parameter-search-clear .ui-icon { width:17px; height:17px; }
.layer-search-count { flex-shrink:0; margin-right:5px; font-size:10px; font-variant-numeric:tabular-nums; color:#8ba1b5; }
.layer-search-empty { padding:12px; color:#9cabb9; font-size:11px; }
.layer-panel-header[hidden],.layer-search-field[hidden],.layer-search-empty[hidden],#objectListContent [hidden] { display:none !important; }
.scene-add-header { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.scene-add-header h2 { margin:0; font-size:14px; font-weight:650; flex:1; }
.scene-add-header button { display:grid; place-items:center; width:30px; height:30px; border:1px solid #ffffff0c; border-radius:6px; color:#b8c8d5; background:#ffffff03; cursor:pointer; }
.scene-add-header .ui-icon { width:17px; height:17px; }
.scene-add-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:6px 0 12px; }
.scene-add-category { display:grid; grid-template-columns:26px minmax(0,1fr) 12px; align-items:center; gap:8px; min-height:74px; padding:10px; border:1px solid rgba(var(--layer-component-rgb),.3); border-radius:9px; background:linear-gradient(130deg,rgba(var(--layer-component-rgb),.08),transparent); color:#e1e8f1; text-align:left; cursor:pointer; }
.scene-add-category:hover,.scene-add-category.is-keyboard-selected { border-color:rgba(var(--layer-component-rgb),.7); background:rgba(var(--layer-component-rgb),.14); }
.scene-add-category strong { font-size:11px; font-weight:650; }
.scene-add-category small { display:block; color:#95a8b9; font-size:10px; line-height:1.4; margin-top:4px; }
.scene-add-category .ui-icon { width:12px; height:12px; color:rgb(var(--layer-component-rgb)); }
.scene-add-category-back { display:flex; align-items:center; gap:6px; border:0; background:none; color:#a9c5d9; padding:4px 0 10px; font-size:11px; cursor:pointer; }
.scene-add-category-back .ui-icon { width:15px; height:15px; }
.scene-add-empty-group { display:flex; align-items:center; gap:9px; width:100%; padding:10px; border:1px solid #ffffff14; border-radius:8px; background:#ffffff03; color:#b6c7d6; font-size:11px; cursor:pointer; }
.scene-add-empty-group span { flex:1; text-align:left; }
.scene-add-empty-group .ui-icon { width:16px; height:16px; }
#objectListContent .scene-workspace-add-card { grid-template-columns:28px minmax(0,1fr); min-height:56px; border-radius:8px; border-color:rgba(var(--layer-component-rgb,87,173,158),.24); background:rgba(var(--layer-component-rgb,87,173,158),.055); }
#objectListContent .scene-workspace-add-card:hover { background:rgba(var(--layer-component-rgb,87,173,158),.14); }
@container (max-width: 390px) {
  .scene-add-categories { grid-template-columns:1fr; }
  .scene-add-category { min-height:65px; }
}
#objectListContent .scene-workspace { gap:12px; padding-top:0; }
#objectListContent .layer-component-add-actions { gap:8px; }
#objectListContent .layer-component-add-actions .layer-component-add-button { margin-top:0; }
@container (max-width: 250px) {
  #objectListContent .layer-component-add-actions { grid-template-columns: minmax(0, 1fr); }
}
#objectListContent .material-cycle-action .ui-icon { width:14px; height:14px; }
#objectListContent .component-choice-overlay { position:static; padding:0; background:none; backdrop-filter:none; display:block; }
#objectListContent .component-choice-dialog { display:flex; flex-direction:column; border:0; border-radius:0; background:transparent; box-shadow:none; gap:12px; }
#objectListContent .component-choice-toolbar { padding:0; display:block; }
#objectListContent .component-choice-toolbar .component-choice-close { display:none; }
#objectListContent .component-choice-browser { padding:0; overflow:visible; }
#objectListContent .component-choice-card { border-radius:8px; background:#ffffff03; min-height:46px; }
#objectListContent .component-choice-card-icon img,#objectListContent .component-choice-category-icon img { width:24px; height:24px; filter:none; mix-blend-mode:normal; }
#objectListContent .scene-add-header { margin-bottom:0; }
#objectListContent .scene-workspace-search { margin:0; }
#objectListContent .parameter-search:focus-within { border-color: color-mix(in srgb,var(--accent) 40%,transparent); background: color-mix(in srgb,var(--accent) 3%,rgba(255,255,255,.035)); box-shadow: 0 0 0 1px color-mix(in srgb,var(--accent) 7%,transparent); }
#objectListContent .parameter-search input[type="search"]:focus-visible { outline: none; box-shadow: none; }
#objectListContent .scene-add-categories { padding:0; }
.timeline-entity-icon { display:inline-block; width:17px; height:17px; flex:0 0 17px; margin-right:6px; vertical-align:middle; color:rgb(var(--track-rgb,87,173,158)); }
.clip-layer-glyph { display:flex; align-items:center; flex-shrink:0; }
.clip-layer-glyph .entity-vector-icon { width:20px; height:20px; color:var(--clip-color,#9aacc3); }
.keyframe-track-drag-handle .ui-icon { width:12px; height:16px; }
.component-choice-owner { display:flex; align-items:center; gap:6px; padding:9px 10px; border:1px solid rgba(var(--layer-component-rgb),.28); border-radius:7px; background:rgba(var(--layer-component-rgb),.09); color:#aabfcf; font-size:11px; }
.component-choice-owner strong { color:#d7e5ed; font-weight:600; }
#objectListContent .scene-add-empty-group { display:flex; }

#objectListContent .scene-component-folder-toggle strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.timeline-layer-toolbar-button img { filter:none; }

/* The real material catalog lives in Layers; the scene is its preview. */
#objectListPanel.material-library-open > :not(#materialLibraryPanel):not(.fullscreen-panel-drag-handle) { display:none; }
.material-library-dock { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; min-height:0; overflow:hidden; padding:10px; font-family:var(--font); }
.material-library-dock[hidden] { display:none; }
.material-library-dock .scene-add-header { flex:0 0 auto; margin-bottom:4px; }
.material-library-target { flex:0 0 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-bottom:8px; color:var(--muted); font-size:10px; }
.material-library-dock .material-library-panel { width:100%; min-width:0; flex:1 1 auto; min-height:0; }
.material-library-dock .material-browser-toolbar { padding:0; margin-bottom:4px; }
.material-folder-navigation { display:none; }
.material-library-dock .material-folder-navigation { display:flex; align-items:center; gap:8px; flex:0 0 28px; min-width:0; width:100%; padding:3px 4px; margin-bottom:6px; border:0; background:transparent; color:var(--muted); font:inherit; font-size:10px; text-align:left; cursor:pointer; }
.material-folder-navigation:hover { color:var(--text); }
.material-folder-navigation .asset-folder-icon { flex:0 0 13px; width:13px; height:10px; }
.material-folder-detail { margin-left:auto; white-space:pre; }
.material-library-dock .asset-folder-bar { display:none; }
.material-library-dock.material-folders-open .material-browser-toolbar { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; }
.material-library-dock.material-folders-open .asset-preview-search { flex:0 0 auto; }
.material-library-dock.material-folders-open .asset-folder-bar { display:grid; flex:1 1 auto; min-height:0; max-height:none; grid-template-columns:1fr; align-content:start; gap:5px; overflow:auto; padding:2px; }
.material-library-dock.material-folders-open :is(.material-asset-grid,.material-pagination) { display:none; }
.material-library-dock .material-asset-grid { grid-auto-rows:max-content; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; padding:2px 2px 6px; }
.material-library-dock .material-asset-card { min-width:0; min-height:86px; aspect-ratio:auto; box-sizing:border-box; padding:7px 4px 6px; border-radius:7px; background:linear-gradient(145deg,#ffffff07,#ffffff02); }
.material-library-dock .material-thumbnail-wrap { width:44px; height:44px; max-width:100%; margin-bottom:5px; background:none; box-shadow:none; }
.material-library-dock .material-thumbnail-sphere { width:40px; height:40px; }
.material-library-dock .material-card-name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; min-height:24px; white-space:normal; overflow-wrap:anywhere; line-height:12px; font-size:10px; }
.material-library-dock .material-pagination { display:grid; grid-template-columns:28px 1fr 28px; align-items:center; gap:5px; padding:6px 0 0; margin:5px 2px 0; }
.material-library-dock .material-pagination[hidden] { display:none; }
.material-library-dock .material-pagination .page-info { min-width:0; text-align:center; font-size:10px; }
.material-library-dock .material-pagination button { width:28px; height:28px; padding:0; font-size:0; }
.material-library-dock .material-pagination button::before { font-size:14px; content:'←'; }
.material-library-dock .material-pagination button:last-child::before { content:'→'; }
.material-library-dock :focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.material-library-dock .material-card-actions { display:block; position:absolute; top:2px; right:2px; opacity:1; }
.material-more { display:grid; place-items:center; width:22px; height:22px; padding:0; border:0; border-radius:4px; background:transparent; color:var(--muted); font:inherit; font-size:18px; line-height:1; cursor:pointer; }
.material-more:hover,.material-more[aria-expanded="true"] { background:#ffffff12; color:var(--text); }
.material-card-menu { position:fixed; inset:auto; margin:0; padding:4px; min-width:160px; border:1px solid var(--line); border-radius:8px; background:#151a23; color:var(--text); box-shadow:0 8px 28px #0008; font-family:var(--font); }
.material-card-menu:popover-open { display:flex; flex-direction:column; gap:2px; }
.material-card-menu .asset-action-btn { display:block; width:100%; height:auto; padding:8px 10px; border:0; border-radius:4px; background:transparent; color:inherit; text-align:left; font:inherit; font-size:11px; cursor:pointer; }
.material-card-menu .asset-action-btn:hover,.material-card-menu .asset-action-btn:focus-visible { background:#ffffff10; }
.material-card-menu .asset-action-btn.delete { color:var(--bad); }
body.fullscreen-authoring .material-library-dock { flex:0 1 auto; height:min(680px,calc(100dvh - 130px)); }

/* Small category artwork stays distinct from large entity identity icons. */
.material-folder-icon { display:block; flex:0 0 22px; width:22px; height:22px; object-fit:contain; }
.material-folder-navigation .material-folder-icon { flex-basis:18px; width:18px; height:18px; }
