.kd-element-card{position:relative;min-width:0}.kd-element-use{display:block;width:100%;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}.kd-element-card>.kd-reference-option{width:100%;height:100%;padding-right:40px}.kd-element-delete{position:absolute;top:6px;right:6px;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:#151a1f;color:#fff;font-size:22px;line-height:1;cursor:pointer;z-index:2}.kd-element-delete:hover{background:#45282c}.kd-element-delete:focus-visible,.kd-element-use:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.kd-element-delete:disabled{opacity:.5;cursor:wait}
.char-grid>.add-card{order:-1}
.kd-reference-picker.kd-element-confirm{position:fixed;inset:0;margin:auto;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-sizing:border-box}
.kd-element-confirm p{line-height:1.55;overflow-wrap:anywhere}
.kd-reference-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.kd-reference-actions button{min-height:44px;padding:10px 16px;cursor:pointer}
.kd-element-dialog{width:min(780px,calc(100vw - 24px))}.kd-element-dialog .kd-element-name{display:grid;gap:8px;font-size:13px}.kd-element-dialog .field{width:100%;box-sizing:border-box}.kd-element-dialog .kd-element-mention{margin:8px 0;color:var(--teal)}.kd-element-dialog .kd-element-source video{display:block;width:100%;max-height:40dvh;background:#000;border-radius:10px}.kd-element-dialog .kd-element-source{margin:16px 0}.kd-element-dialog .kd-element-selected{margin-bottom:16px}.kd-element-dialog .kd-reference-option[aria-pressed="true"]{border-color:var(--teal);outline:1px solid var(--teal)}.kd-element-dialog>.btn-primary{margin-top:16px;min-height:42px}.kd-element-dialog .kd-reference-option button{border:1px solid var(--border);border-radius:6px;background:transparent;color:inherit;padding:6px;cursor:pointer}.kd-element-dialog [hidden]{display:none!important}
.kd-reference-row{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:6px 0;scrollbar-width:thin}
.kd-reference-row:empty{display:none}
.kd-reference-chip .kd-reference-thumbnail{width:40px;height:40px;flex:0 0 40px;object-fit:cover;border-radius:5px;background:#080b0c;pointer-events:none}
/* Paint above full-bleed media (including transformed hover thumbnails). */
.sg-card,#folderContentGrid .asset-card{isolation:isolate}
.sg-card.is-selected::after,#folderContentGrid .asset-card.is-selected::after,[data-media-id].kd-reference-dragging::after{content:'';position:absolute;inset:0;z-index:20;box-sizing:border-box;border:2px solid var(--teal,#20e0c0);border-radius:inherit;pointer-events:none;background:transparent}
.kd-reference-chip .kd-reference-thumbnail{box-sizing:border-box;border:2px solid var(--teal,#20e0c0)}
.kd-reference-preview{position:relative;display:block;width:100%;height:115px;overflow:hidden;border-radius:7px;background:var(--panel,#101719)}
.kd-reference-preview .kd-reference-thumbnail{display:block;width:100%;height:100%;object-fit:cover}
.kd-reference-preview-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:3px;font-size:11px;line-height:1.2;color:var(--text-secondary)}
.kd-reference-preview-status[hidden]{display:none}
.kd-reference-chip .kd-reference-preview{width:56px;height:40px;flex:0 0 56px}
.kd-reference-chip .kd-reference-preview .kd-reference-thumbnail{width:100%;height:100%}
.kd-reference-chip .kd-reference-preview-status{font-size:9px}
@media(hover:hover){.sg-card:hover::after,#folderContentGrid .asset-card:hover::after{content:'';position:absolute;inset:0;z-index:20;box-sizing:border-box;border:2px solid var(--teal,#20e0c0);border-radius:inherit;pointer-events:none;background:transparent}}
.kd-reference-chip{display:flex;flex:0 0 auto;align-items:center;gap:8px;max-width:240px;padding:5px 8px;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--text-secondary);font-size:11px}
.kd-reference-chip img{width:32px;height:32px;object-fit:cover;border-radius:5px}.kd-reference-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-reference-chip button{border:0;background:transparent;color:inherit;min-width:28px;min-height:32px;cursor:pointer}
.kd-reference-chip button:focus-visible,.mention-row:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.mention-dropdown.open{position:fixed;z-index:1600;box-shadow:0 12px 30px #0008;max-height:200px;margin:0}.mention-row{width:100%;border:0;background:transparent;text-align:left}
.kd-reference-picker{position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 24px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid var(--border);border-radius:18px;background:var(--panel,#101316);color:var(--text-primary,#fff);box-sizing:border-box}
.kd-reference-picker::backdrop{background:#000a}.kd-reference-picker header{display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.kd-reference-picker h2{font-size:20px;margin:0 0 8px}.kd-reference-picker p{font-size:13px;line-height:1.5;color:var(--text-secondary);margin:0 0 20px}.kd-reference-close{background:transparent;color:inherit;border:1px solid var(--border);border-radius:8px;min-width:40px;min-height:40px;cursor:pointer}
.kd-reference-type{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:13px;margin:18px 0 12px}.kd-reference-type select{background:var(--panel);color:inherit;border:1px solid var(--border);border-radius:8px;padding:10px;max-width:60%}.kd-reference-upload{position:relative;display:block;text-align:center;padding:14px;border:1px dashed var(--teal);border-radius:10px;color:var(--teal);cursor:pointer;margin:12px 0 16px;font-size:13px}.kd-reference-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.kd-reference-upload:focus-within{outline:2px solid var(--teal);outline-offset:3px}
.kd-reference-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.kd-reference-option{display:flex;flex-direction:column;gap:7px;text-align:left;background:transparent;border:1px solid var(--border);border-radius:12px;color:inherit;padding:10px;cursor:pointer;min-width:0}.kd-reference-option img{width:100%;height:115px;object-fit:cover;border-radius:7px}.kd-reference-option strong{font-size:13px;overflow-wrap:anywhere}.kd-reference-option span{font-size:11px;color:var(--text-secondary)}.kd-reference-option:hover,.kd-reference-option:focus-visible{border-color:var(--teal);outline-color:var(--teal)}
.kd-reference-upload{display:flex;min-height:148px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px}
.kd-reference-upload strong{font-size:15px}.kd-upload-detail{color:var(--text-secondary);overflow-wrap:anywhere;max-width:100%;line-height:1.5}
.kd-upload-spinner{display:grid;place-items:center;width:32px;height:32px;box-sizing:border-box;border:2px solid transparent;border-radius:50%}.kd-upload-spinner::before{content:'+';font-size:26px;line-height:1}
.is-uploading .kd-upload-spinner{border-color:var(--border);border-top-color:var(--teal);animation:kd-upload-spin .8s linear infinite}.is-uploading .kd-upload-spinner::before{content:none}
.kd-reference-upload.is-uploading,.kd-reference-upload input:disabled{cursor:progress}
@keyframes kd-upload-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.is-uploading .kd-upload-spinner{animation:none}}
.failed-tile-delete{position:absolute;top:10px;right:10px;z-index:3;padding:5px 8px;min-height:28px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--text-secondary);cursor:pointer;font-size:10px}.failed-tile-delete:hover,.failed-tile-delete:focus-visible{color:var(--text-primary);border-color:var(--teal)}
@media(pointer:coarse){.failed-tile-delete::after{content:'';position:absolute;inset:-8px}}
@media(max-width:480px){.kd-reference-picker{padding:18px}.kd-reference-options{grid-template-columns:repeat(2,minmax(0,1fr))}.kd-reference-option img{height:100px}}
.kd-reference-upload input[type=file]{height:100%;min-height:100%;z-index:1}
