.media-intro{padding:24px}.media-intro h1{font:700 clamp(2rem,5vw,3.1rem)/1.1 var(--font-display);margin:0 0 14px}.media-intro p:last-child{margin-bottom:0;color:var(--muted)}
.empty-media{padding:24px 0;margin:0;color:var(--muted)}
.collection-filter{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:.85rem}.collection-filter select{border:1px solid var(--line);background:var(--window);padding:8px;font:inherit;max-width:75%}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo-card{margin:0;border:1px solid var(--line);background:rgba(255,255,255,.3);min-width:0}.photo-card>a{display:block;background:var(--window-2)}.photo-card img{width:100%;height:240px;object-fit:cover}.photo-card figcaption{padding:12px}.photo-card h2{font:700 .95rem/1.4 var(--font-ui);margin:0 0 6px;overflow-wrap:anywhere}.photo-card p{font-size:.82rem;margin:8px 0 0;white-space:pre-line;overflow-wrap:anywhere}.media-label{font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}
.music-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.music-card{padding:20px;border:1px solid var(--line);background:rgba(255,255,255,.3);min-width:0}.music-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.music-card h2{font:700 1.15rem/1.4 var(--font-ui);margin:0;overflow-wrap:anywhere}.music-card p{font-size:.88rem;white-space:pre-line;overflow-wrap:anywhere}.music-card audio{display:block;width:100%;margin:20px 0}.track-download{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem}.music-heading .badge{font-size:.7rem}
#photo-viewer{max-width:96vw;max-height:95vh;padding:14px;border:1px solid var(--line);background:var(--window);color:var(--ink)}#photo-viewer::backdrop{background:rgba(0,0,0,.84)}#viewer-image{max-width:90vw;max-height:80vh;width:auto;height:auto;margin:auto;object-fit:contain}.viewer-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;font-size:.8rem}.viewer-tools p{margin:0;overflow-wrap:anywhere}.viewer-tools button{font:inherit;background:var(--window-2);border:1px solid var(--line);padding:8px;cursor:pointer;white-space:nowrap}
.admin-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:.85rem}.admin-tabs a[aria-current]{background:var(--accent)}.admin-form{display:flex;flex-direction:column;gap:16px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-ui);font-size:.85rem}.admin-form input:not([type=hidden]),.admin-form textarea{width:100%;padding:10px;border:1px solid var(--line);background:rgba(255,255,255,.65);font:inherit;color:inherit;min-width:0}.admin-form textarea{resize:vertical}.admin-form button{align-self:flex-start;font-size:.85rem}.optional,.upload-picker span{font-size:.76rem;color:var(--muted)}.upload-picker{padding:20px;border:1px dashed var(--line);background:var(--window-2)}.upload-picker input{margin:6px 0}.upload-actions{display:flex;align-items:center;gap:16px}.upload-actions p{margin:0;font-size:.85rem}.admin-item{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;border-bottom:1px solid rgba(0,0,0,.2);padding:24px 0}.admin-item:first-child{padding-top:0}.admin-item:last-child{border-bottom:0;padding-bottom:0}.admin-thumb{width:240px;max-height:300px;object-fit:contain}.admin-audio audio{max-width:100%;width:240px;display:block;margin-top:16px}.admin-item-details{min-width:0}.text-button{padding:6px 0;border:0;background:transparent;font:inherit;text-decoration:underline;cursor:pointer}.delete-form{margin-top:18px}.danger{color:#892727;font-size:.8rem}
@media(max-width:850px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-list{grid-template-columns:1fr}}
@media(max-width:560px){.media-intro{padding:18px}.photo-grid{grid-template-columns:1fr}.photo-card img{height:auto;max-height:500px;object-fit:contain}.admin-item{grid-template-columns:1fr}.admin-thumb{width:100%;max-height:240px}.admin-form input,.admin-form textarea{font-size:1rem}.viewer-tools{flex-wrap:wrap}.upload-actions{align-items:flex-start;flex-direction:column}}
