/* P33: media is the surface. Files, editor crops, avatars and technical canvases keep their own layout. */
:root{--av-media-radius:20px;--av-media-height:min(70dvh,720px)}
.forum-inline-media,.forum-inline-media.forum-attachment-link,.forum-attachment-item:has(>.forum-attachment-thumb,>video,>.av-media-player),.marketing-detail-media figure,.marketing-legacy-media .marketing-detail-media figure,.mdg-media figure,.idea-media-preview,.portfolio-media figure{border:0;background:transparent;padding:0;box-shadow:none;overflow:visible}
.forum-inline-media{width:fit-content;max-width:100%}.forum-inline-media.forum-attachment-link{width:min(100%,850px)}
.forum-attachment-thumb,.forum-inline-media .forum-attachment-thumb,.mdg-photo-open{width:fit-content;max-width:100%;padding:0;min-height:0;border:0;border-radius:var(--av-media-radius);background:transparent;box-shadow:none;overflow:hidden}
.forum-attachment-thumb:hover,.forum-inline-media .forum-attachment-thumb:hover,.mdg-photo-open:hover{background:transparent}
.forum-inline-media figcaption,.forum-attachment-item figcaption{padding:8px 0;background:transparent}
.forum-inline-media:has(.forum-attachment-thumb) figcaption{display:none}
.forum-inline-media:has([data-forum-preview-error]:not([hidden])) figcaption{display:block}
.forum-inline-media.forum-attachment-link>a{display:inline-block;margin-top:8px}
.forum-inline-media .forum-attachment-thumb img,.forum-inline-media>video,.forum-attachment-media img,.forum-attachment-media video,.forum-attachment-thumb img,.forum-attachment-item>video,
.marketing-detail-media img,.marketing-detail-media video,.marketing-legacy-media .marketing-detail-media img,.marketing-legacy-media .marketing-detail-media video,[data-marketing-detail] .marketing-detail-media img,[data-marketing-detail] .marketing-detail-media video,
.mdg-media img,.mdg-media video,.idea-media-preview img,.idea-media-preview video,.portfolio-media img,.portfolio-media video,.main-content .portfolio-media img,.main-content .portfolio-media video{
 display:block;width:auto;height:auto;min-height:0;max-width:100%;max-height:var(--av-media-height);aspect-ratio:auto;object-fit:contain;border:0;border-radius:var(--av-media-radius);padding:0;background:transparent;box-shadow:none
}
.mdg-media{align-items:start}.mdg-media .gallery-file-actions{border-top:0;padding-top:5px;margin-top:5px}.unified-gallery .mdg-media figure.is-selected{box-shadow:none}.unified-gallery .mdg-media figure.is-selected .mdg-photo-open{outline:2px solid #f0d365;outline-offset:4px}
.mdg-photo-open::after{display:none}.mdg-photo-open:focus-visible,.forum-attachment-thumb:focus-visible{outline:3px solid #f3dc8a;outline-offset:4px}
.idea-reference-thumb{border:0;border-radius:var(--av-media-radius);background:transparent;box-shadow:none}.idea-reference-thumb:hover{box-shadow:none;transform:none}.idea-reference-thumb:hover img,.idea-reference-thumb:focus-visible img{transform:none;filter:none}
.marketing-publication-references:has(.idea-reference-thumb){border:0;background:transparent;padding:0}.idea-reference:has(.idea-reference-thumb){border:0;background:transparent;padding:0}
.marketing-brand-file:has(>img){border:0;background:transparent;padding:0}.marketing-brand-file>img{width:auto;height:auto;max-width:100%;max-height:110px;padding:0;border:0;border-radius:var(--av-media-radius);background:transparent;object-fit:contain}
.forum-attachment-link iframe[src*="youtube"],.idea-reference iframe[src*="youtube"],.idea-lightbox-body>iframe[src*="youtube"],iframe.library-player[src*="youtube"]{display:block;width:100%;height:auto;min-height:200px;max-height:none;aspect-ratio:16/9;border:0;border-radius:var(--av-media-radius);background:transparent;margin:0}
/* Lightbox chrome is separate from the media; document and model viewers are excluded. */
.forum-media-dialog:has(.forum-media-content>img:not(.forum-cad-preview),.forum-media-content>video,.forum-media-content>.av-media-player),.mdg-lightbox,dialog.idea-lightbox,.dialog.library-lightbox:has(.library-image,video.library-player,iframe.library-player[src*="youtube"],.av-media-player),.attachment-preview-dialog:has(.attachment-image){border:0;background:transparent;box-shadow:none;color:#f6f7fa}
.forum-media-dialog:has(.forum-media-content>img:not(.forum-cad-preview),.forum-media-content>video,.forum-media-content>.av-media-player) .forum-media-heading,.mdg-lightbox .mdg-lb-header,.mdg-lightbox .mdg-lb-footer,.idea-lightbox>header{border:0;background:transparent}
.mdg-lb-stage,.idea-lightbox-body,.forum-media-content:has(>img:not(.forum-cad-preview),>video,>.av-media-player),.library-viewer:has(.library-image,video.library-player,iframe.library-player[src*="youtube"],.av-media-player){padding:0;border:0;background:transparent;min-height:0;overflow:visible}
.mdg-lb-stage>img,.mdg-lb-stage>video,.forum-media-content>img:not(.forum-cad-preview),.forum-media-content>video,.idea-lightbox-body>img,.idea-lightbox-body>video,.library-image,video.library-player,.attachment-preview-dialog .attachment-image,.github-image-view img{display:block;width:auto;height:auto;max-width:100%;max-height:var(--av-media-height);aspect-ratio:auto;object-fit:contain;border:0;border-radius:var(--av-media-radius);background:transparent;margin-inline:auto;padding:0}
.mdg-lb-stage>img{max-height:100%}.mdg-lb-stage>.av-media-player{max-height:100%}.forum-media-content>.av-media-player,.idea-lightbox-body>.av-media-player{margin-inline:auto}
.attachment-open img{border:0;border-radius:12px}.idea-media-preview-grid>figure:has(>img,>video,>.av-media-player){padding:0;border:0;background:transparent}
/* Shared touch controls sit below the picture, never over a YouTube iframe. */
.av-media-player{display:flex;flex-direction:column;align-items:stretch;gap:8px;position:relative;min-width:0;max-width:100%;width:min(100%,calc(var(--av-media-height)*var(--av-media-ratio,1.777778)));margin:0;border:0;padding:0;background:transparent;box-shadow:none;color:#fff}
.av-media-player:has(>video[hidden],>iframe[hidden]),.av-media-player[hidden]{display:none!important}
.av-media-player>video.av-media-surface,.av-media-player>iframe.av-media-surface{display:block;position:static;width:100%;height:auto;min-width:0;max-width:100%;max-height:none;aspect-ratio:var(--av-media-ratio,auto);object-fit:contain;border:0;border-radius:var(--av-media-radius);padding:0;margin:0;background:transparent;transform:none}
.av-media-player>iframe.av-media-surface{aspect-ratio:16/9;min-height:200px}
.av-media-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0;width:100%;box-sizing:border-box;padding:5px 8px;border:0;border-radius:24px;background:rgba(43,49,56,.76);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);color:#fff;box-shadow:0 4px 18px #0002}
.av-media-controls .av-media-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;width:44px;height:44px;padding:10px;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer;box-shadow:none;touch-action:manipulation}
.av-media-controls .av-media-button:hover{background:#ffffff1c}.av-media-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.av-media-controls .av-media-button:disabled{opacity:.4;cursor:default}.av-media-controls :is(button,input):focus-visible{outline:2px solid #b3dbff;outline-offset:3px}
.av-media-controls .av-media-seek,.av-media-controls .av-media-volume{appearance:auto;-webkit-appearance:auto;accent-color:#fff;min-height:44px;height:44px;min-width:45px;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:pan-y}
.av-media-controls .av-media-seek{flex:1 1 110px;width:auto}.av-media-controls .av-media-volume{flex:0 1 65px;width:65px}.av-media-time{flex:none;font:500 11px/1.2 ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums;color:#f0f3f7;white-space:nowrap}
.av-media-player:fullscreen{width:100%;max-width:none;height:100%;justify-content:center;align-items:center;background:#000;padding:16px}.av-media-player:fullscreen>.av-media-surface{width:auto;max-width:100%;max-height:calc(100dvh - 100px)}.av-media-player:fullscreen>iframe.av-media-surface{width:min(100%,calc((100dvh - 100px)*1.777778))}.av-media-player:fullscreen>.av-media-controls{width:min(720px,100%)}
@media(max-width:600px){:root{--av-media-radius:16px;--av-media-height:65dvh}.av-media-controls{gap:2px;padding:4px}.av-media-controls .av-media-volume{display:none}.av-media-controls .av-media-seek{flex-basis:75px}.av-media-time{font-size:10px}.mdg-lb-stage{min-height:0}.forum-media-content,.idea-lightbox-body{padding:0}.forum-inline-media .forum-attachment-thumb img,.forum-inline-media>video{max-height:var(--av-media-height)}}
@media(prefers-reduced-motion:reduce){.av-media-player *{scroll-behavior:auto;transition:none}}

.mdg-lb-stage,.forum-media-content,.idea-lightbox-body{--av-media-height:min(55dvh,650px)}

.av-media-controls[hidden],.av-media-player>.av-media-surface[hidden]{display:none!important}

/* Preserve the gallery placeholder footprint and override the poster-only legacy background. */
.mdg-photo-open:has(>.gallery-video-tile){width:100%}
.marketing-detail-media video[poster]{background:transparent}

/* P38: the photo occupies the modal; its only chrome follows the image edge. */
.av-photo-dialog{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;color:#fff}
.dialog.av-photo-dialog,.forum-media-dialog.av-photo-dialog,.idea-lightbox.av-photo-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0}
.dialog.av-photo-dialog[open],.forum-media-dialog.av-photo-dialog[open],.idea-lightbox.av-photo-dialog[open]{display:grid;place-items:center}
.av-photo-shell{display:flex;flex-direction:column;align-items:center;position:relative;width:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 24px);margin:auto;isolation:isolate}
.av-photo-shell>img{display:block;width:auto;height:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);object-fit:contain;aspect-ratio:auto;border:0;border-radius:var(--av-media-radius);background:transparent;box-shadow:none;padding:0;margin:0}
.av-photo-shell .av-photo-close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #ffffff45;border-radius:50%;background:rgba(20,24,29,.62);color:#fff;font:25px/1 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 12px #0007}
.av-photo-dock{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;min-height:44px;margin:10px auto 0;padding:5px;border-radius:28px;background:rgba(35,42,49,.74);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);box-shadow:0 5px 20px #0005}
.av-photo-dock>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:0;border-radius:22px;background:transparent;color:#fff;text-decoration:none;font:600 13px/1.2 system-ui,sans-serif;white-space:nowrap}
.av-photo-dock>a:hover,.av-photo-shell .av-photo-close:hover{background:rgba(255,255,255,.2)}
.av-photo-dock>a:focus-visible,.av-photo-shell .av-photo-close:focus-visible{outline:3px solid #b3dbff;outline-offset:2px}
.forum-media-dialog.av-photo-dialog .forum-media-heading,.attachment-preview-dialog.av-photo-dialog .dialog-head,.attachment-preview-dialog.av-photo-dialog .dialog-foot,.library-lightbox.av-photo-dialog .dialog-head,.library-lightbox.av-photo-dialog .dialog-foot,.idea-lightbox.av-photo-dialog>header,.idea-lightbox.av-photo-dialog .idea-lightbox-body>a{display:none!important}
.forum-media-dialog.av-photo-dialog .forum-media-panel,.forum-media-dialog.av-photo-dialog .forum-media-content,.attachment-preview-dialog.av-photo-dialog .dialog-body,.attachment-preview-dialog.av-photo-dialog form,.library-lightbox.av-photo-dialog .dialog-body,.library-lightbox.av-photo-dialog form,.library-lightbox.av-photo-dialog .library-viewer,.idea-lightbox.av-photo-dialog .idea-lightbox-body{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;height:auto;min-height:0;padding:0;margin:auto;background:transparent;border:0;overflow:visible}
.attachment-preview-dialog.av-photo-dialog [data-file-preview]{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin:auto}.av-photo-dialog .dialog-body{overflow:visible}
.mdg-lightbox.av-photo-dialog{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none}
.mdg-lightbox.av-photo-dialog .mdg-lb-header{position:absolute;top:8px;left:8px;right:8px;z-index:2;justify-content:center;pointer-events:none}
.mdg-lightbox.av-photo-dialog .mdg-lb-header strong,.mdg-lightbox.av-photo-dialog .mdg-lb-header [data-gallery-close],.mdg-lightbox.av-photo-dialog [data-gallery-name],.mdg-lightbox.av-photo-dialog [data-gallery-download]{display:none!important}
.mdg-lightbox.av-photo-dialog .mdg-lb-stage{display:flex;align-items:center;justify-content:center;min-height:0;padding:0;background:transparent}
.mdg-lightbox.av-photo-dialog .mdg-lb-footer{padding:0 8px 8px}.mdg-lightbox.av-photo-dialog .mdg-lb-actions{justify-content:center;gap:12px}.mdg-lightbox.av-photo-dialog .mdg-lb-actions button{min-height:44px;background:rgba(35,42,49,.74);color:#fff;border:0;border-radius:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
@media(max-width:600px){.av-photo-shell>img{max-width:calc(100vw - 16px);max-height:calc(100dvh - 132px)}.av-photo-dock>a{padding-inline:11px;font-size:12px}.av-photo-shell .av-photo-close{right:6px;top:6px}}
@media(prefers-reduced-motion:reduce){.av-photo-shell>img{animation:none!important;transition:none!important}}

/* A course viewer is a large player with its own scrollable lesson rail. */
.library-lightbox:has(.library-playlist-items){width:min(1500px,calc(100vw - 28px));max-width:calc(100vw - 28px)}
.library-lightbox .library-viewer:has(.library-playlist-items){display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);align-items:start;gap:14px;overflow:visible;background:transparent}
.library-lightbox .library-viewer:has(.library-playlist-items)>.library-player,.library-lightbox .library-viewer:has(.library-playlist-items)>.av-media-player{grid-column:1;grid-row:1;width:min(100%,calc((100dvh - 190px)*var(--av-media-ratio,1.777778)));max-width:100%;max-height:calc(100dvh - 190px);justify-self:center}
.library-lightbox .library-viewer:has(.library-playlist-items)>.library-playlist-items{grid-column:2;grid-row:1/span 2;grid-template-columns:minmax(0,1fr);align-content:start;max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px;border:1px solid #ffffff35;border-radius:20px;background:rgba(37,44,52,.74);color:#fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.library-lightbox .library-viewer:has(.library-playlist-items)>[data-library-video-current]{grid-column:1;grid-row:2;margin:0;color:#fff}
.library-lightbox .library-playlist-items .library-playlist-item{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:9px;min-height:68px;background:rgba(255,255,255,.08);color:#fff;border-color:#ffffff30;overflow-wrap:anywhere}
.library-lightbox .library-playlist-items .library-playlist-item img{width:96px;max-width:100%;margin:0}.library-lightbox .library-playlist-items .library-playlist-item[aria-pressed="true"]{outline:2px solid #f4d976;outline-offset:-2px}
.library-lightbox:has(.library-playlist-items) .dialog-body{overflow:visible;max-height:none}.library-lightbox:has(.library-playlist-items) form{overflow:visible}
@media(max-width:850px){.library-lightbox .library-viewer:has(.library-playlist-items){grid-template-columns:minmax(0,1fr)}.library-lightbox .library-viewer:has(.library-playlist-items)>.library-playlist-items{grid-column:1;grid-row:3;max-height:min(32dvh,300px)}.library-lightbox .library-viewer:has(.library-playlist-items)>.library-player,.library-lightbox .library-viewer:has(.library-playlist-items)>.av-media-player{max-height:none}}
