.asset-directory{--asset-details-preview-size:52px;--asset-icon-card-width:176px;--asset-icon-preview-width:144px;--asset-icon-preview-height:108px;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;background:var(--cockpit-darkgray);color:var(--cockpit-text);font-size:.75rem}.asset-directory-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.5rem .75rem;border-bottom:1px solid var(--cockpit-border);background:var(--cockpit-gray)}.asset-directory-breadcrumb{display:flex;align-items:center;gap:.4rem;flex:1;min-width:10rem}.asset-directory-folder-icon{color:var(--cockpit-icon)}.asset-directory-search input{width:clamp(8rem,20vw,16rem);padding:.35rem .5rem;border:1px solid var(--cockpit-border);border-radius:4px;color:inherit;background:var(--cockpit-darkgray)}.asset-directory button{border:1px solid var(--cockpit-border);border-radius:4px;padding:.35rem .6rem;color:inherit;background:var(--cockpit-gray);cursor:pointer}.asset-directory button:hover,.asset-directory button.active{background:var(--cockpit-accent)}.asset-directory-body{display:grid;grid-template-columns:minmax(8rem,22%) minmax(0,1fr);flex:1;min-height:0;overflow:hidden}.asset-directory-tree{padding:.6rem .3rem;overflow:auto;border-right:1px solid var(--cockpit-border);background:var(--cockpit-gray)}.asset-folder{padding:.4rem .5rem;border-radius:3px;white-space:nowrap}.asset-folder.child{padding-left:1.5rem}.asset-folder.selected,.asset-folder:hover{background:var(--cockpit-accent)}.asset-directory-content{min-width:0;min-height:0;overflow:auto}.asset-list-header,.asset-row{display:grid;grid-template-columns:var(--asset-details-preview-size) minmax(10rem,1fr) minmax(6rem,.25fr) minmax(5rem,.15fr);align-items:center;gap:.75rem}.asset-list-header{position:sticky;top:0;z-index:1;padding:.45rem .75rem;color:var(--cockpit-text);background:var(--cockpit-gray);border-bottom:1px solid var(--cockpit-border)}.asset-row{min-height:64px;padding:.35rem .75rem;border-bottom:1px solid var(--cockpit-border);cursor:pointer}.asset-row:hover,.asset-row.selected,.asset-card:hover,.asset-card.selected{background:var(--cockpit-accent)}.asset-preview{display:grid;place-items:center;width:var(--asset-details-preview-size);height:var(--asset-details-preview-size);overflow:hidden;border:1px solid var(--cockpit-border);border-radius:3px;background:#17242a}.asset-preview img{width:100%;height:100%;object-fit:cover}.asset-preview-loading{opacity:.6;font-size:1.25rem}.asset-preview-error{color:#f07777;font-size:1.2rem}.asset-file-name{display:flex;min-width:0;white-space:nowrap}.asset-file-stem{overflow:hidden;text-overflow:ellipsis}.asset-file-extension{flex:none}.asset-type,.asset-modified{opacity:.8}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--asset-icon-card-width),var(--asset-icon-card-width)));gap:.75rem;padding:.75rem;align-content:start}.asset-card{display:grid;grid-template-rows:var(--asset-icon-preview-height) auto;gap:.4rem;width:var(--asset-icon-card-width);padding:.5rem;border:1px solid transparent;border-radius:4px;cursor:pointer}.asset-card .asset-preview{width:var(--asset-icon-preview-width);height:var(--asset-icon-preview-height);justify-self:center}.asset-card .asset-file-name{justify-content:center}.asset-card .asset-type,.asset-card .asset-modified{display:none}.asset-empty{padding:2rem;text-align:center;opacity:.7}.asset-picker-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:#0007}.asset-picker{display:flex;flex-direction:column;width:min(52rem,100%);height:min(36rem,90dvh);min-height:0;overflow:hidden;border:1px solid var(--cockpit-border);border-radius:6px;background:var(--cockpit-darkgray);color:var(--cockpit-text);box-shadow:0 16px 48px #0005}.asset-picker header,.asset-picker footer{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid var(--cockpit-border)}.asset-picker footer{justify-content:flex-end;border-top:1px solid var(--cockpit-border);border-bottom:0;gap:.5rem}.asset-picker-tabs{display:flex;gap:.35rem;padding:.5rem 1rem;border-bottom:1px solid var(--cockpit-border)}.asset-picker-panel{flex:1;min-height:0;overflow:auto;padding:1rem}.asset-picker-upload{display:flex;flex-direction:column;gap:1rem;height:100%}.asset-drop-zone{display:flex;flex:1;min-height:10rem;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;border:1px dashed var(--cockpit-border);border-radius:5px;background:var(--cockpit-gray)}.asset-drop-zone:first-letter{font-size:2rem}.asset-picker-store{display:flex;flex-direction:column;gap:.35rem}.asset-picker-row{width:100%;text-align:left}.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}
.asset-breadcrumb-link{padding:0;border:0!important;background:transparent!important;color:inherit;text-decoration:underline}.asset-directory-pager{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.4rem;border-top:1px solid var(--cockpit-border);background:var(--cockpit-gray)}.asset-directory-pager button:disabled{opacity:.45;cursor:default}.asset-state{padding:2rem;text-align:center;opacity:.8}.asset-state-error{display:flex;align-items:center;justify-content:center;gap:.75rem;color:#f39a9a}.asset-tree-row{display:flex;align-items:center;min-height:1.9rem;white-space:nowrap}.asset-tree-children{padding-left:1rem}.asset-tree-toggle{width:1.5rem;padding:.1rem!important;border:0!important;background:transparent!important}.asset-tree-label{flex:1;text-align:left;border:0!important;background:transparent!important;overflow:hidden;text-overflow:ellipsis}.asset-tree-row.selected,.asset-tree-row:hover{background:var(--cockpit-accent)}.asset-tree-status{padding:.3rem 1.5rem;opacity:.6}.asset-folder-glyph{font-size:1.75rem;color:var(--cockpit-icon)}.asset-row.folder,.asset-card.folder{cursor:pointer}

/* B.1 details sorting and incremental browse states. */
.asset-list-header,.asset-row{grid-template-columns:minmax(10rem,1fr) minmax(5rem,.18fr) minmax(6rem,.25fr) minmax(8rem,.25fr)}
.asset-list-header-cell{min-width:0}
.asset-sort-button{display:inline-flex;align-items:center;gap:.4rem;padding:.15rem .25rem!important;border-color:transparent!important;background:transparent!important;font:inherit;font-weight:600}
.asset-sort-button:hover{background:var(--cockpit-accent)!important}
.list-query-sort-indicator{font-size:.85em;opacity:.9}
.asset-row .asset-file-name{align-items:center;gap:.5rem;min-width:0}
.asset-row .asset-preview{flex:none;width:var(--asset-details-preview-size);height:var(--asset-details-preview-size)}
.asset-file-label{display:flex;min-width:0;white-space:nowrap;overflow:hidden}
.asset-size{opacity:.85;font-variant-numeric:tabular-nums}
.asset-card .asset-size{display:none}
.asset-directory-load-more-sentinel{height:1px;min-height:1px;pointer-events:none}
.asset-directory-load-status{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.2rem;padding:.35rem;color:var(--cockpit-text);opacity:.82}
.asset-directory-load-status:empty{display:none}

/* B.2 bounded metadata and virtualized Details/Icons windows. */
.asset-row{height:64px;min-height:64px;box-sizing:border-box;padding:.25rem .75rem}
.asset-grid{grid-template-columns:repeat(var(--asset-icon-columns,auto-fill),minmax(var(--asset-icon-card-width),var(--asset-icon-card-width)));grid-auto-rows:auto;row-gap:12px}
.asset-card{height:148px;box-sizing:border-box;overflow:hidden}
.asset-grid-spacer{grid-column:1/-1;width:1px;min-height:0;padding:0;margin:0;border:0;pointer-events:none}
.asset-file-icon{position:relative;display:grid;place-items:center;width:100%;height:100%;color:var(--cockpit-icon);font-size:1.45rem}
.asset-card .asset-file-icon{font-size:3rem}
.asset-file-icon-status{position:absolute;right:4px;bottom:4px;font-size:.72em;opacity:.9}
.asset-virtual-placeholder{cursor:default!important;pointer-events:auto;opacity:.32}
.asset-virtual-placeholder-name{display:flex;align-items:center;gap:.5rem;min-width:0}
.asset-virtual-placeholder-name>span,.asset-virtual-placeholder.asset-row>span:not(.asset-virtual-placeholder-name){display:block;height:.65rem;border-radius:3px;background:var(--cockpit-icon);opacity:.55}
.asset-virtual-placeholder-name>span{width:min(55%,12rem)}
.asset-virtual-placeholder-preview{display:block;width:var(--asset-icon-preview-width);height:var(--asset-icon-preview-height);justify-self:center;border-radius:3px;background:var(--cockpit-gray)}
.asset-virtual-retry{flex:none;padding:.1rem .35rem!important;font-size:.7rem}

/* B.3 resizable columns, sidebar, and lightweight file actions. */
.asset-directory-body{grid-template-columns:minmax(0,var(--asset-sidebar-width,22%)) min(8px,100%) minmax(0,1fr)}
.asset-directory-tree{border-right:0;min-width:0;box-sizing:border-box}
.asset-directory-splitter{position:relative;z-index:2;cursor:col-resize;touch-action:none;user-select:none;background:transparent}
.asset-directory-splitter::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background:var(--cockpit-border)}
.asset-directory-splitter:hover::after,.asset-directory-splitter:focus-visible::after,.asset-directory-splitter.dragging::after{background:#47b5df}
.asset-directory-splitter:focus-visible{outline:1px solid #47b5df;outline-offset:-1px}
.asset-directory-view-toggle{display:grid;place-items:center;width:2rem;height:2rem;padding:.25rem!important}
.asset-directory-view-toggle i{font-size:1rem}
.asset-list-header,.asset-row{grid-template-columns:var(--asset-column-name,260px) var(--asset-column-size,90px) var(--asset-column-type,110px) var(--asset-column-modified,170px);width:max-content;min-width:100%;box-sizing:border-box}
.asset-list-header-cell{position:relative;display:flex;align-items:center;height:100%;min-width:0}
.asset-list-header-cell>.asset-sort-button,.asset-column-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-list-header-cell>.asset-sort-button{box-sizing:border-box;max-width:100%}
.asset-row>*{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.asset-column-label{padding:.15rem .25rem;font-weight:600}
.asset-column-resizer{position:absolute;z-index:5;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;touch-action:none;user-select:none}
.asset-column-resizer::after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:var(--cockpit-border)}
.asset-column-resizer:hover::after,.asset-column-resizer:focus-visible::after,.asset-column-resizer.dragging::after{background:#47b5df}
.asset-column-resizer:focus-visible{outline:1px solid #47b5df;outline-offset:-1px}
.asset-directory-context-menu{z-index:2147483647;display:block;min-width:220px;max-width:320px;overflow:visible;border:1px solid #3b3b3b;border-radius:4px;background-color:#111;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.55)}
.asset-directory-context-menu .dara-context-menu-body{max-height:calc(100vh - 72px);overflow-x:hidden;overflow-y:auto}
.asset-directory-context-menu .dara-context-menu-items{min-width:inherit}
.asset-directory-context-menu .menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px;padding:4px 10px;font-size:.84rem;cursor:pointer;user-select:none}
.asset-directory-context-menu .menu-item:hover,.asset-directory-context-menu .menu-item:focus-visible{background-color:#333;outline:none}
.asset-directory-context-menu .menu-item.disabled{opacity:.45;cursor:default}
.asset-directory-context-menu .menu-main{display:inline-flex;align-items:center;min-width:0;gap:8px}
.asset-directory-context-menu .menu-icon{width:12px;min-width:12px;text-align:center;font-size:.78rem;opacity:.9;display:inline-flex;align-items:center;justify-content:center}
.asset-directory-dialog-overlay{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.55)}
.asset-directory-dialog{display:flex;flex-direction:column;gap:.85rem;width:min(26rem,100%);box-sizing:border-box;padding:1rem;border:1px solid var(--cockpit-border,#3b3b3b);border-radius:6px;background:var(--cockpit-darkgray,#111);color:var(--cockpit-text,#fff);box-shadow:0 16px 48px rgba(0,0,0,.55);font-size:.9rem}
.asset-directory-dialog-title{margin:0;font-size:1.05rem;font-weight:600;color:lightgray}
.asset-directory-dialog-form{display:flex;flex-direction:column;gap:.85rem}
.asset-directory-dialog-label{display:flex;flex-direction:column;gap:.4rem}
.asset-directory-dialog-input{width:100%;box-sizing:border-box;padding:.5rem .6rem;border:1px solid var(--cockpit-border,#555);border-radius:4px;background:var(--cockpit-gray,#333);color:inherit;font:inherit}
.asset-directory-dialog-message,.asset-directory-dialog-warning,.asset-directory-dialog-error{margin:0;line-height:1.45}
.asset-directory-dialog-warning{color:#ffdca0}
.asset-directory-dialog-error{color:#f39a9a}
.asset-directory-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.15rem}
.asset-directory-dialog-button{min-width:5rem;padding:.4rem .8rem;border:1px solid var(--cockpit-border,#555);border-radius:4px;background:var(--cockpit-gray,#333);color:inherit;font:inherit;cursor:pointer}
.asset-directory-dialog-button.primary{border-color:transparent;background:var(--cockpit-accent,#36636b)}
.asset-directory-dialog-button.danger{border-color:#8c2929;background:#8c2929;color:#fff}
.asset-directory-dialog-button:hover{filter:brightness(1.15)}
.asset-directory-dialog-button:focus-visible,.asset-directory-dialog-input:focus-visible{outline:2px solid var(--cockpit-text,#fff);outline-offset:2px}
.asset-directory-dialog-button:disabled{cursor:default;opacity:.55}
.asset-directory-picker .asset-row.is-unselectable,.asset-directory-picker .asset-card.is-unselectable{opacity:.5;cursor:not-allowed}.asset-directory-picker .asset-row.is-unselectable.selected,.asset-directory-picker .asset-card.is-unselectable.selected{background:var(--cockpit-gray);outline:1px dashed var(--cockpit-border)}

/* RelationBrowser-style Asset Store tree rows, connectors, states, and drop affordances. */
.asset-directory-mutation-status{flex:none;padding:.4rem .75rem;border-bottom:1px solid var(--cockpit-border);background:var(--cockpit-gray);color:var(--cockpit-text)}
.asset-directory-mutation-status:empty{display:none}
.asset-directory-import-actions{flex:none;display:flex;flex-direction:column;gap:.25rem;padding:.35rem .75rem;border-bottom:1px solid var(--cockpit-border);background:var(--cockpit-gray);color:var(--cockpit-text)}
.asset-directory-import-actions:empty{display:none}
.asset-import-row{display:flex;align-items:center;gap:.6rem}
.asset-import-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e8c47a}
.asset-import-action{flex:none;padding:.1rem .6rem;border:1px solid var(--cockpit-border);border-radius:3px;background:transparent;color:inherit;cursor:pointer}
.asset-directory-mutation-status[data-state="error"]{color:#f39a9a}
.asset-directory-mutation-status[data-state="success"]{color:#a9d9ba}
.asset-directory-tree{min-width:0;overflow:auto}
.asset-tree-row{position:relative;display:flex;align-items:center;width:max-content;min-width:100%;height:1.75rem;box-sizing:border-box;padding:0 .3rem;border-radius:.25rem;color:var(--cockpit-text);cursor:pointer;user-select:none;transition:background-color 120ms ease,outline-color 120ms ease,box-shadow 120ms ease}
.asset-tree-row:hover{background:rgba(255,255,255,.1)}
.asset-tree-row.selected{background:color-mix(in srgb,var(--cockpit-accent) 44%,transparent)}
.asset-tree-row.is-loading{opacity:.75}
.asset-tree-row.is-dragging,.asset-row.is-dragging,.asset-card.is-dragging{opacity:.5}
.asset-tree-row.is-drop-target{z-index:2;background:color-mix(in srgb,var(--cockpit-accent) 44%,transparent);outline:2px solid color-mix(in srgb,var(--cockpit-accent) 75%,white 25%);outline-offset:-2px;box-shadow:inset 4px 0 0 color-mix(in srgb,var(--cockpit-accent) 75%,white 25%),0 0 .75rem color-mix(in srgb,var(--cockpit-accent) 40%,transparent)}
.asset-tree-children{padding-left:0}
.asset-tree-lines{color:white;display:inline-flex;flex:0 0 auto;align-items:stretch;height:1.75rem}
.asset-tree-line{position:relative;width:1.05rem;flex:0 0 1.05rem;height:1.75rem}
.asset-tree-line.is-vertical::before,.asset-tree-line.is-elbow::before,.asset-tree-line.is-elbow-last::before{position:absolute;top:0;bottom:0;left:.525rem;width:1px;background:darkgray;content:""}
.asset-tree-line.is-elbow-last::before{bottom:50%}
.asset-tree-line.is-elbow::after,.asset-tree-line.is-elbow-last::after{position:absolute;top:50%;left:.525rem;width:.525rem;height:1px;background:darkgray;content:""}
.asset-tree-line.is-empty::before,.asset-tree-line.is-empty::after{display:none}
.asset-directory .asset-tree-toggle{display:inline-flex;flex:0 0 1.05rem;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;margin:0 .15rem 0 0;padding:0!important;border:0!important;border-radius:.2rem;background:transparent!important;color:var(--cockpit-text);opacity:.8;cursor:pointer}
.asset-directory .asset-tree-toggle:hover{background:color-mix(in srgb,var(--cockpit-text) 20%,transparent)!important;opacity:1}
.asset-directory .asset-tree-toggle:disabled{opacity:.42;cursor:default}
.asset-tree-toggle .material-symbols-outlined{font-family:"Material Symbols Outlined";font-size:1.3rem;line-height:1;font-variation-settings:'FILL' 1;font-feature-settings:"liga";-webkit-font-smoothing:antialiased}
.asset-tree-toggle .material-symbols-outlined.is-open{font-variation-settings:'FILL' 1}
.asset-tree-spinner{font-size:.75rem;opacity:.7;animation:asset-tree-spin-dots 1s linear infinite}
@keyframes asset-tree-spin-dots{0%,100%{opacity:.3}50%{opacity:1}}
.asset-tree-icon{display:inline-flex;flex:0 0 1.2rem;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;margin-right:.3rem;color:var(--cockpit-text);opacity:.9}
.asset-tree-label{min-width:0;max-width:100%;height:1.6rem;padding:.1rem .25rem!important;overflow:hidden;border:0!important;background:transparent!important;color:inherit!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}
.asset-tree-status{display:flex;align-items:center;width:max-content;min-width:100%;height:1.75rem;box-sizing:border-box;color:var(--cockpit-text);opacity:.72;font-style:italic;white-space:nowrap}
.asset-tree-status-icon{display:inline-flex;flex:0 0 1.2rem;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;margin-right:.3rem}
.asset-tree-status.is-loading .asset-tree-status-icon{font-size:1rem;animation:asset-tree-spin-dots 1s linear infinite}
.asset-tree-status.is-error{color:#f39a9a;opacity:1}
.asset-tree-status-text{max-width:12rem;overflow:hidden;text-overflow:ellipsis}
.asset-directory .asset-tree-retry{margin-left:.4rem;padding:.1rem .3rem;font-size:.65rem}
.asset-row.folder.is-drop-target,.asset-card.folder.is-drop-target{outline:2px solid color-mix(in srgb,var(--cockpit-accent) 75%,white 25%);outline-offset:-2px;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--cockpit-accent) 35%,transparent),0 0 .75rem color-mix(in srgb,var(--cockpit-accent) 40%,transparent)}
.asset-breadcrumb-link.is-drop-target,.asset-directory-breadcrumb strong.is-drop-target{border-radius:3px!important;outline:2px solid color-mix(in srgb,var(--cockpit-accent) 75%,white 25%);outline-offset:2px;background:color-mix(in srgb,var(--cockpit-accent) 35%,transparent)!important}
.asset-directory-mutation-status[data-state="pending"]{color:var(--cockpit-text);opacity:.85}
.asset-directory-content{position:relative}
.asset-directory-content.is-external-upload-target::after{position:absolute;inset:1rem;z-index:5;display:grid;place-items:center;padding:1rem;border:2px dashed color-mix(in srgb,var(--cockpit-accent) 78%,white 22%);border-radius:.5rem;background:rgba(17,17,17,.72);color:var(--cockpit-text);font-size:1rem;font-weight:600;text-align:center;pointer-events:none;content:attr(data-upload-label)}

.asset-directory-actions{display:flex;gap:.4rem}.asset-directory-actions button{white-space:nowrap}.asset-directory-upload-input{display:none}
.asset3d-logical-row{height:64px;min-height:64px;max-height:64px;padding:.25rem .75rem;cursor:default}
.asset3d-logical-name{height:100%;align-items:center;gap:.35rem;overflow:hidden}
.asset3d-inline-chevron{display:inline-grid;flex:0 0 1rem;place-items:center;width:1rem;height:1rem;padding:0!important;border:0!important;background:transparent!important;opacity:.8}
.asset3d-inline-chevron:hover{opacity:1}.asset3d-inline-chevron.is-placeholder{visibility:hidden}
.asset3d-logical-icon{display:inline-flex;position:relative;flex:0 0 1.15rem;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;color:var(--cockpit-icon);opacity:.9}
.asset3d-logical-material .asset3d-logical-icon::before{position:absolute;inset:.12rem;border:0;border-radius:50%;background:var(--asset3d-material-color,#fff);content:""}
.asset3d-logical-material .asset3d-logical-icon i{position:relative;opacity:.25}
.asset3d-logical-label{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;overflow:hidden;line-height:1.2}
.asset3d-logical-secondary{overflow:hidden;color:color-mix(in srgb,var(--cockpit-text) 68%,transparent);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}
.asset3d-logical-preview{display:inline-grid;flex:0 0 42px;width:42px;height:42px;margin-right:.1rem}
.asset3d-logical-preview{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.asset3d-logical-preview img{border:0!important;border-radius:0!important;object-fit:contain;background:transparent!important;box-shadow:none!important}
.asset3d-logical-row .asset-size,.asset3d-logical-row .asset-type,.asset3d-logical-row .asset-modified{height:100%;display:flex;align-items:center}
.asset3d-logical-row .asset-modified{opacity:.55}
.asset3d-logical-row.is-load-more{color:var(--cockpit-accent);cursor:pointer}
.asset3d-logical-row.is-load-more:hover{filter:brightness(1.2)}
.asset3d-state-row{color:#f1b4a5;cursor:default}
.asset3d-state-row .asset-type{color:inherit;text-decoration:underline;cursor:pointer}
.asset3d-logical-row.is-draggable{cursor:grab}.asset3d-logical-row.is-draggable.is-dragging{opacity:.45;cursor:grabbing}
.asset3d-viewer-overlay{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.68);color:var(--cockpit-text,#fff)}
.asset3d-viewer{display:flex;flex-direction:column;width:min(76rem,96vw);height:min(54rem,92dvh);min-height:0;overflow:hidden;border:1px solid var(--cockpit-border,#444);border-radius:8px;background:var(--cockpit-darkgray,#111);box-shadow:0 20px 70px #0009}
.asset3d-viewer-header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--cockpit-border,#444);background:var(--cockpit-gray,#292929)}
.asset3d-viewer-header h2{min-width:0;margin:0;overflow:hidden;color:#fff!important;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}
.asset3d-viewer-close{flex:none;width:2rem;height:2rem;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;font-size:1.5rem!important}
.asset3d-viewer-stage{position:relative;display:flex;flex:1;min-height:12rem;overflow:hidden;background:#fff}
.asset3d-viewer-texture .asset3d-viewer-stage{background:#414141}
.asset3d-viewer-canvas{display:block;width:100%;height:100%;min-height:0;background:#fff;outline:none}
.asset3d-viewer-texture .asset3d-viewer-canvas{background:#414141}
.asset3d-viewer-status{position:absolute;right:.65rem;bottom:.55rem;left:.65rem;overflow:hidden;padding:.35rem .5rem;border-radius:3px;background:#111b;color:#fff;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.asset3d-viewer-status[hidden]{display:none}.asset3d-viewer-status.is-error{background:#641d1d;color:#ffe1e1}
.asset3d-viewer-toolbar{display:flex;flex:none;align-items:center;gap:.45rem;flex-wrap:wrap;min-height:2.5rem;padding:.45rem .7rem;border-top:1px solid var(--cockpit-border,#444);background:var(--cockpit-gray,#292929)}
.asset3d-viewer-toolbar:empty{display:none}
.asset3d-viewer-action{min-height:1.9rem;padding:.25rem .65rem!important;font-size:.75rem!important}
.asset3d-viewer-json{flex:1;min-height:0;margin:0;padding:1rem;overflow:auto;background:#191919;color:#e6e6e6;font:.78rem/1.5 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.asset3d-animation-controls{display:grid;grid-template-columns:auto auto auto minmax(8rem,1fr);align-items:center;gap:.35rem;width:100%}
.asset3d-animation-time{grid-column:4;min-width:8rem;text-align:right;font:.72rem monospace}
.asset3d-animation-timeline{grid-column:1/-1;width:100%;margin:0;accent-color:var(--cockpit-accent,#47b5df)}
.asset3d-animation-timeline-labels{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:-.3rem;font:.62rem monospace;opacity:.7}
.asset3d-animation-controls .asset3d-viewer-action{display:grid;place-items:center;min-width:2rem;min-height:2rem;padding:.2rem!important;border:0!important;background:transparent!important;color:#fff!important;font-size:1rem!important;line-height:1}
.asset3d-animation-controls .asset3d-animation-loop[aria-pressed="true"]{background:#ffffff1c!important}
@media(max-width:760px){.asset3d-viewer-overlay{padding:.25rem}.asset3d-viewer{width:100%;height:97dvh}.asset3d-animation-controls{grid-template-columns:auto auto auto minmax(5rem,1fr)}.asset3d-animation-time{min-width:5rem;font-size:.65rem}}
.asset3d-inspector-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:1rem;background:#0009;color:var(--cockpit-text)}
.asset3d-inspector{display:flex;flex-direction:column;width:min(76rem,96vw);height:min(54rem,92dvh);min-height:0;overflow:hidden;border:1px solid var(--cockpit-border);border-radius:8px;background:var(--cockpit-darkgray);box-shadow:0 20px 70px #0009}
.asset3d-inspector-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--cockpit-border);background:var(--cockpit-gray)}.asset3d-inspector-title-group h2{margin:0;font-size:1.1rem}.asset3d-inspector-subtitle{opacity:.65;font:.72rem monospace}.asset3d-inspector-close{font-size:1.5rem!important;border:0!important;background:transparent!important}.asset3d-inspector-tabs{display:flex;gap:.25rem;overflow:auto;padding:.45rem .8rem;border-bottom:1px solid var(--cockpit-border)}.asset3d-inspector-tab{flex:none}.asset3d-inspector-tab.active{background:var(--cockpit-accent)!important}.asset3d-inspector-body{min-height:0;overflow:auto;padding:1rem}.asset3d-inspector-error{margin:.7rem 1rem 0;padding:.6rem;border:1px solid #bd6868;color:#ffb4b4}.asset3d-inspector-error[hidden]{display:none}.asset3d-inspector-loading,.asset3d-inspector-empty{text-align:center;padding:2rem;opacity:.7}
.asset3d-inspector-overview{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);gap:1rem}.asset3d-inspector-asset-details,.asset3d-inspector-preview,.asset3d-inspector-mesh-card,.asset3d-inspector-material-card,.asset3d-inspector-animation-card,.asset3d-inspector-lod-card{padding:.8rem;border:1px solid var(--cockpit-border);border-radius:5px;background:#ffffff06}.asset3d-inspector-status{margin-bottom:.7rem;font-weight:600}.asset3d-inspector-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.asset3d-inspector-summary-card{display:flex;flex-direction:column;gap:.25rem;padding:.55rem;background:#ffffff08}.asset3d-inspector-summary-card .label,.asset3d-inspector-source{opacity:.7}.asset3d-inspector-source{margin:.75rem 0;font-size:.82rem}.asset3d-inspector-action{padding:.45rem .75rem!important;background:var(--cockpit-accent)!important}.asset3d-inspector-preview-label{padding-bottom:.5rem;font-weight:600}.asset3d-inspector-canvas{display:block;width:100%;height:28rem;min-height:14rem;background:#25282b}.asset3d-inspector-preview-status{padding:.55rem 0;opacity:.75;font-size:.82rem}
.asset3d-inspector-section{display:flex;flex-direction:column;gap:.7rem}.asset3d-inspector-hierarchy-row{display:flex;align-items:center;gap:.6rem;min-height:2rem;padding:.2rem .35rem .2rem calc(.35rem + var(--node-depth,0)*1.2rem);border-bottom:1px solid #ffffff12}.asset3d-inspector-hierarchy-name{flex:1}.asset3d-inspector-id,.asset3d-inspector-card-heading code{font-size:.72rem;opacity:.7}.asset3d-inspector-mesh-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr));gap:.7rem}.asset3d-inspector-card-heading{display:flex;justify-content:space-between;gap:.75rem}.asset3d-inspector-metrics{display:flex;flex-wrap:wrap;gap:.4rem .8rem;padding:.6rem 0;opacity:.8;font-size:.8rem}.asset3d-inspector-card-actions,.asset3d-inspector-binding-list{display:flex;gap:.4rem;flex-wrap:wrap}.asset3d-inspector-inline-action,.asset3d-inspector-load-more{padding:.3rem .55rem!important}.asset3d-inspector-bounds{font:.72rem monospace;overflow-wrap:anywhere}.asset3d-inspector-color-swatch{display:block;width:3rem;height:1.4rem;margin:.5rem 0;border:1px solid #ffffff55}.asset3d-inspector-textures{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr);gap:.8rem}.asset3d-inspector-texture-list{display:flex;flex-direction:column;gap:.35rem;max-height:60vh;overflow:auto}.asset3d-inspector-texture-item{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left!important}.asset3d-inspector-texture-item span{opacity:.7;font-size:.78rem}.asset3d-inspector-texture-preview{min-height:16rem;display:grid;place-items:center;border:1px solid var(--cockpit-border);background:#25282b}.asset3d-inspector-texture-canvas{width:100%;height:16rem}.asset3d-inspector-lod-level{display:grid;grid-template-columns:5rem repeat(4,minmax(5rem,1fr));gap:.5rem;padding:.4rem 0;border-top:1px solid #ffffff18}.asset3d-inspector-diagnostic-group{border:1px solid var(--cockpit-border);padding:.5rem}.asset3d-inspector-diagnostic-group pre{max-height:30rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}.asset3d-inspector-note{opacity:.7}
.asset3d-inspector-texture-card{padding:.4rem;border:1px solid var(--cockpit-border);border-radius:4px}.asset3d-inspector-texture-card .asset3d-inspector-texture-item{width:100%;box-sizing:border-box}.asset3d-inspector-texture-usage{display:block;padding:.25rem .35rem;overflow-wrap:anywhere}.asset3d-inspector-node-transform{flex-basis:100%;font:.68rem monospace;opacity:.75;overflow-wrap:anywhere}.asset3d-inspector-primitive-list{padding:.4rem 0;font-size:.75rem;opacity:.82}.asset3d-inspector-primitive-list>div{padding:.25rem 0;overflow-wrap:anywhere}
.asset-directory .asset-3d-inspect-button{flex:none;margin-left:.6rem;padding:.2rem .45rem;font-size:.7rem}.asset-directory .asset-3d-inspect-button:disabled{opacity:.45;cursor:not-allowed}
.asset3d-inspector-preview-toolbar{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding-bottom:.5rem}.asset3d-inspector-preview-toolbar .asset3d-inspector-preview-label,.asset3d-inspector-preview-toolbar h3{flex:1;margin:0;padding:0;font-weight:600}.asset3d-inspector-preview-toolbar button:disabled{opacity:.45;cursor:default}

/* Asset3D directory actions and virtualized Mesh projection in Icons view. */
.asset-card.asset-3d{position:relative}
.asset-directory .asset3d-icon-expand{position:absolute;top:.55rem;right:.55rem;z-index:2;display:grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;border:1px solid #ffffff40;border-radius:50%;background:#111b;color:#fff;box-shadow:0 1px 4px #0008}
.asset-directory .asset3d-icon-expand:hover{background:var(--cockpit-accent)}
.asset-directory .asset-row.asset-3d.is-expanded:not(:hover):not(.selected),.asset-directory .asset-card.asset-3d.is-expanded:not(:hover):not(.selected){background:color-mix(in srgb,var(--cockpit-accent) 12%,transparent)}
.asset-directory .asset-card.asset-3d.is-expanded{border-color:color-mix(in srgb,var(--cockpit-accent) 48%,var(--cockpit-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cockpit-accent) 20%,transparent)}
.asset3d-icon-projection-card{border-color:color-mix(in srgb,var(--cockpit-accent) 28%,var(--cockpit-border));background:color-mix(in srgb,var(--cockpit-accent) 6%,var(--cockpit-darkgray))}
.asset3d-icon-projection-card .asset3d-icon-projection-preview{border-color:color-mix(in srgb,var(--cockpit-accent) 18%,var(--cockpit-border));background:#ffffff08}
.asset3d-icon-projection-card .asset3d-icon-projection-preview.is-status{display:grid;place-items:center;color:var(--cockpit-accent);font-size:1.4rem}
.asset3d-icon-projection-card .asset3d-icon-projection-name{justify-content:center;min-width:0;font-weight:500;text-align:center}
.asset3d-icon-mesh-card{border-color:color-mix(in srgb,var(--cockpit-accent) 40%,var(--cockpit-border));background:color-mix(in srgb,var(--cockpit-accent) 9%,var(--cockpit-darkgray))}
.asset3d-icon-mesh-card.is-draggable{cursor:grab}.asset3d-icon-mesh-card.is-draggable.is-dragging{cursor:grabbing}
.asset3d-icon-projection-card.is-load-more{color:var(--cockpit-accent);cursor:pointer}
.asset3d-icon-mesh-card.is-unselectable{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.asset3d-inspector-overlay{padding:.25rem}.asset3d-inspector{width:100%;height:97dvh}.asset3d-inspector-body{padding:.65rem}.asset3d-inspector-overview,.asset3d-inspector-textures{grid-template-columns:minmax(0,1fr)}.asset3d-inspector-canvas{height:22rem}.asset3d-inspector-lod-level{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the light palette limited to an expanded 3D Asset and its projected Mesh cards. */
.asset-directory .asset-directory-content.icons .asset-card.asset-3d.is-expanded{border-color:#70aeb5;background:#e5f2f3;color:#17242a;box-shadow:inset 0 0 0 1px #b5d7db}
.asset-directory .asset-directory-content.icons .asset-card.asset-3d.is-expanded:hover,.asset-directory .asset-directory-content.icons .asset-card.asset-3d.is-expanded.selected{border-color:#6daab2;background:#dceef0;color:#17242a}
.asset-directory .asset-directory-content.icons .asset-card.asset-3d.is-expanded .asset-preview{background:#e3e9ec}
.asset-directory .asset-directory-content.icons .asset-card.asset-3d.is-expanded .asset-file-icon{color:#526f79}
.asset-directory .asset-directory-content.icons .asset3d-icon-mesh-card{border-color:#94c2c7;background:#f7f9fa;color:#17242a}
.asset-directory .asset-directory-content.icons .asset3d-icon-mesh-card:hover,.asset-directory .asset-directory-content.icons .asset3d-icon-mesh-card.selected{border-color:#6daab2;background:#dceef0;color:#17242a}
.asset-directory .asset-directory-content.icons .asset3d-icon-mesh-card .asset3d-icon-projection-preview{border-color:#c7d1d5;background:#e3e9ec}
.asset-directory .asset-directory-content.icons .asset3d-icon-mesh-card .asset3d-icon-projection-preview.is-status{color:#526f79}
