.grid-container.svelte-1ki9dv0{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;width:100%}.grid-item-wrapper.svelte-1ki9dv0{position:relative}.grid-item.svelte-1ki9dv0{aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;padding:0;position:relative;width:100%;display:flex;align-items:center;justify-content:center}.grid-item.svelte-1ki9dv0:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000004d;border-color:#ffffff4d;z-index:1}.grid-item.svelte-1ki9dv0 img:where(.svelte-1ki9dv0),.grid-item.svelte-1ki9dv0 video:where(.svelte-1ki9dv0){width:100%;height:100%;object-fit:cover;display:block}.grid-item.svelte-1ki9dv0 .placeholder:where(.svelte-1ki9dv0){width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#a1a1aa;font-size:.8rem;position:absolute}.play-overlay.svelte-1ki9dv0{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#0000004d;opacity:0;transition:opacity .2s;pointer-events:none}.grid-item.svelte-1ki9dv0:hover .play-overlay:where(.svelte-1ki9dv0){opacity:1}.project-tag.svelte-1ki9dv0{position:absolute;top:8px;right:8px;background:#2563ebe6;color:#fff;padding:4px 8px;border-radius:6px;font-size:.7rem;font-weight:600;z-index:5;pointer-events:none;box-shadow:0 1px 3px #0003}.pagination-controls.svelte-1ki9dv0{display:flex;justify-content:center;margin-top:32px}.load-more-btn.svelte-1ki9dv0{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 24px;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.load-more-btn.svelte-1ki9dv0:hover{background:#ffffff26;border-color:#ffffff4d}.context-menu.svelte-1ki9dv0{position:fixed;background:#18181b;border:1px solid #333;border-radius:8px;padding:4px;min-width:160px;box-shadow:0 4px 12px #00000080;z-index:1000;display:flex;flex-direction:column}.context-item.svelte-1ki9dv0{background:transparent;border:none;color:#e4e4e7;padding:8px 12px;text-align:left;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:8px;border-radius:4px;transition:background .2s}.context-item.svelte-1ki9dv0:hover{background:#27272a;color:#fff}.context-item.delete.svelte-1ki9dv0:hover{background:#450a0a;color:#f87171}.context-item.disabled.svelte-1ki9dv0{cursor:default}.context-item.disabled.svelte-1ki9dv0:hover{background:transparent}.modal-overlay.svelte-1ki9dv0{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;animation:svelte-1ki9dv0-fadeIn .2s ease-out}.modal-media.svelte-1ki9dv0{max-width:90%;max-height:80vh;object-fit:contain;border-radius:8px;box-shadow:0 0 50px #00000080}.close-btn.svelte-1ki9dv0{position:absolute;top:20px;left:20px;background:#ffffff1a;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:2002}.close-btn.svelte-1ki9dv0:hover{background:#fff3}.modal-actions.svelte-1ki9dv0{position:absolute;top:20px;right:20px;display:flex;gap:12px;z-index:2002}.modal-action-btn.svelte-1ki9dv0{display:flex;align-items:center;gap:8px;background:#18181bcc;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s;white-space:nowrap}.modal-action-btn.svelte-1ki9dv0:hover{background:#ffffff1a;border-color:#fff6}.empty-state.svelte-1ki9dv0{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#ffffff05;border-radius:16px;border:1px dashed rgba(255,255,255,.1);width:100%}.empty-icon.svelte-1ki9dv0{color:#52525b;margin-bottom:16px}.empty-state.svelte-1ki9dv0 h3:where(.svelte-1ki9dv0){font-size:1.25rem;margin:0 0 8px;font-weight:600}.empty-state.svelte-1ki9dv0 p:where(.svelte-1ki9dv0){color:#a1a1aa;margin:0}@keyframes svelte-1ki9dv0-fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.grid-container.svelte-1ki9dv0{grid-template-columns:repeat(2,1fr);gap:12px}.modal-media.svelte-1ki9dv0{max-width:95%}}
