/* Asset view is a workspace preference; the same buttons keep focus and selection. */
.shot-compact-label{display:none}
:root[data-theme] body .shots{--asset-tray-padding:10px;position:relative;padding-block:var(--asset-tray-padding)}
:root[data-theme] body .shots:has(#selection-count:empty) .shots-heading{display:none}
/* A slider-like grip appears only when approaching the tray's top edge. */
:root[data-theme] body #asset-tray-handle{position:absolute;top:-1px;left:0;right:0;z-index:3;display:grid;place-items:center;width:100%;height:var(--asset-tray-padding);min-height:0;margin:0;padding:0;border:0;border-radius:var(--editor-panel-radius) var(--editor-panel-radius) 0 0;background:transparent;box-shadow:none;cursor:ns-resize;touch-action:none;user-select:none}
.asset-tray-grip{display:block;width:24px;height:3px;border-radius:999px;background:var(--ui-secondary);opacity:0;transition:opacity .12s;pointer-events:none}
#asset-tray-handle:hover .asset-tray-grip{opacity:1;transition-delay:.18s}
#asset-tray-handle:focus-visible .asset-tray-grip,#asset-tray-handle.dragging .asset-tray-grip{opacity:1;transition-delay:0s}
:root[data-theme] body .shots.assets-compact #shot-strip .shot{width:132px;padding:0}
:root[data-theme] body .shots.assets-compact #shot-strip .shot-preview{display:flex;align-items:center;height:34px;padding:7px 9px;text-align:left;cursor:grab}
:root[data-theme] body .shots.assets-compact #shot-strip .shot-preview:active{cursor:grabbing}
:root[data-theme] body .shots.assets-compact #shot-strip .shot-preview canvas,
:root[data-theme] body .shots.assets-compact #shot-strip .shot-label{display:none}
:root[data-theme] body .shots.assets-compact .shot-compact-label{display:block;min-width:0;width:100%;overflow:hidden;white-space:nowrap;color:var(--ui-secondary);font-size:12px;line-height:20px}
:root[data-theme] body .shots.assets-compact:not(.assets-empty) #shot-strip .shot-add{flex:0 0 116px;width:116px;min-width:116px;min-height:34px;height:34px;padding:0}

/* Uploads and file management share one place below the preview. */
:root[data-theme] body #import-media{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;font-size:12px;color:var(--ui-secondary)}
.media-add-title{white-space:nowrap}
.media-add-title>span{font-size:17px;vertical-align:-1px;margin-right:3px}
.media-add-hint{display:none;font-size:11px;line-height:1.5}
:root[data-theme] body .shots.assets-empty #import-media{flex:1 0 0;width:100%;min-width:0;min-height:96px;height:auto}
.shots.assets-empty .media-add-hint{display:block}
:root[data-theme] body .shots.assets-empty #asset-tray-handle{display:none}
:root[data-theme] body .shots.media-drop-target{outline:2px solid var(--ui-text);outline-offset:-2px;background:var(--ui-hover)}
:root[data-theme] body .shots.media-drop-target #import-media{border-color:var(--ui-text);background:var(--ui-hover);color:var(--ui-text)}

.shot-preview{position:relative}.media-kind{position:absolute;top:5px;left:5px;padding:2px 5px;border-radius:3px;background:#17191de0;color:#fff;font-size:10px;pointer-events:none}.assets-compact .media-kind{display:none}

/* Overflow navigation sits over the media, with a soft fade at each hidden edge. */
.asset-viewport{position:relative;min-width:0;--asset-edge-color:#fff}
:root[data-theme=dark] .asset-viewport{--asset-edge-color:#202123}
.asset-viewport #shot-strip{padding-bottom:0;scrollbar-width:none;scroll-padding-inline:44px}
.asset-viewport #shot-strip::-webkit-scrollbar{display:none}
.asset-scroll-edge{position:absolute;top:0;bottom:0;width:64px;z-index:2;display:flex;align-items:center;pointer-events:none}
.asset-scroll-edge[hidden]{display:none}
.asset-scroll-end{right:0;justify-content:flex-end;background:linear-gradient(to right,transparent,var(--asset-edge-color))}
.asset-scroll-start{left:0;justify-content:flex-start;background:linear-gradient(to left,transparent,var(--asset-edge-color))}
:root[data-theme] body .asset-scroll-button{display:grid;place-items:center;flex:none;width:30px;height:30px;min-height:30px;margin:0 5px;padding:0;border:0;border-radius:50%;background:var(--asset-edge-color);color:var(--ui-secondary);box-shadow:0 1px 5px #0000001a;pointer-events:auto;cursor:pointer}
:root[data-theme] body .asset-scroll-button:hover{background:var(--ui-hover);color:var(--ui-text)}
.asset-scroll-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.asset-scroll-start svg{transform:rotate(180deg)}

/* Video playback is enabled from the thumbnail menu, with explicit confirmation. */
#video-context-menu{position:fixed;z-index:1100;min-width:180px;max-width:calc(100vw - 16px);padding:5px;background:var(--panel,#fff);border:1px solid var(--line,#ddd);border-radius:8px;box-shadow:0 8px 28px #0003}
#video-context-menu[hidden]{display:none}
:root[data-theme] body #video-context-menu button{display:block;width:100%;padding:8px 12px;border:0;border-radius:4px;background:transparent;text-align:left;color:var(--ui-text)}
:root[data-theme] body #video-context-menu button:is(:hover,:focus-visible){background:var(--ui-hover,#e8eaed)}
#video-preview-dialog{width:420px;max-width:calc(100vw - 32px);text-align:left}
#video-preview-dialog h2{margin-top:0;color:var(--ui-text)}
#video-preview-dialog p{line-height:1.6;color:var(--ui-secondary)}
#video-preview-name{font-weight:600;overflow-wrap:anywhere}
.video-dialog-actions{display:flex;justify-content:flex-end;gap:8px}
