.library-controls{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;border:1px solid #454545;border-radius:8px;margin-bottom:1rem}
.library-controls[hidden]{display:none}
.library-controls label{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:10rem}
.library-controls input,.library-controls select{font:inherit;padding:.6rem;border:1px solid #555;border-radius:5px;background:var(--color-surface-0,#171717);color:inherit;min-width:0}
.media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem}
.media-library-card{position:relative;border:1px solid #414141;border-radius:9px;overflow:hidden;min-width:0;background:#181818}
.media-library-card[hidden]{display:none}
.media-library-visual{position:relative;aspect-ratio:16/10;background:#181818;display:flex;align-items:center;justify-content:center}
.media-library-visual img,.media-library-visual video{display:block;width:100%;height:100%;object-fit:contain}
.media-library-visual video{pointer-events:none}
.media-library-visual:focus-visible{outline:2px solid #f1787b;outline-offset:-3px}
.media-play-icon{position:absolute;width:42px;height:42px;pointer-events:none}
.media-play-icon circle{fill:#161616d9;stroke:#fff9}
.media-play-icon path{fill:#fff}
.media-copy-icon{box-sizing:border-box;width:36px;height:36px;border:1px solid #777;border-radius:5px;color:#eee;background:#202020ed;display:grid;place-items:center;cursor:pointer;padding:0;transition:none;animation:none}
.media-copy-icon svg{transition:none;animation:none}
.media-copy-icon[hidden]{display:none}
.media-copy-icon:hover{background:#373737}
.media-copy-icon:focus-visible{outline:2px solid #f1787b;outline-offset:2px}
.media-copy-icon[data-copied]{color:#fff;opacity:1}
.media-tile-copy,.media-stage-copy{position:absolute;top:8px;right:8px;z-index:1}
.media-tile-copy{opacity:0}
.media-library-card:hover .media-tile-copy,.media-library-card:focus-within .media-tile-copy{opacity:1}
.media-hover-copy{position:fixed;z-index:10000}
.image-stage{position:relative}
#image-dialog{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:24px;border:0;border-radius:0;background:#121212;color:#eee;overflow:auto}
#image-dialog::backdrop{background:#121212;backdrop-filter:none}
#image-dialog>.dialog-heading,#image-dialog>.image-stage,#image-dialog>.image-related{max-width:1200px;margin-left:auto;margin-right:auto}
#image-dialog>.image-stage{background:#121212}
.media-copy-status{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);z-index:10001;color:#fff;background:#252525;border-radius:7px;padding:.65rem 1rem;max-width:calc(100% - 2rem);box-shadow:0 2px 15px #0006}
.media-copy-status:empty{display:none}
.media-copy-status input{max-width:100%;color:#fff;background:#171717}
.media-share-page{margin:0;background:#121212;color:#eee;font:16px/1.5 system-ui,sans-serif;color-scheme:dark}
.media-share-page a{color:#ec8286}
.media-share-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #333}
.media-share-page main{max-width:1200px;margin:auto;padding:1.5rem}
.media-share-page h1{font-size:1.2rem;font-weight:500;overflow-wrap:anywhere}
.media-share-stage{display:flex;justify-content:center;align-items:center;min-height:150px}
.media-share-stage img,.media-share-stage video{display:block;max-width:100%;max-height:75vh;object-fit:contain}
.media-share-actions,.media-source-links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1.25rem}
.media-share-page .plain-button{font:inherit;color:#eee;background:#242424;border:1px solid #555;border-radius:6px;padding:.6rem .85rem;cursor:pointer}
.media-share-page button:focus-visible,.media-share-page a:focus-visible{outline:2px solid #ee8585;outline-offset:3px}
.media-credit{color:#aaa}
@media(hover:none),(pointer:coarse){.media-tile-copy{opacity:1}.media-copy-icon{width:44px;height:44px}}
@media(max-width:600px){.media-share-page main{padding:1rem}.media-copy-status{bottom:4.5rem}.media-tile-copy{opacity:1}#image-dialog{padding:16px}}
@media print{.media-copy-icon,.media-copy-status{display:none!important}}
