/* Reserved loading skeleton; ready official posts grow to full natural height. */
.sn-feed-media{display:block!important;flex:0 0 auto;min-height:540px;position:relative;isolation:isolate;width:100%;height:540px;background:#101322;overflow:hidden;box-sizing:border-box}
.sn-feed-media-youtube{min-height:0;height:auto;aspect-ratio:16/9;padding-bottom:30px;box-sizing:content-box}
.sn-feed-media>.card-media{position:absolute!important;inset:0 0 30px;display:flex!important;width:100%;height:calc(100% - 30px)!important;aspect-ratio:auto!important;background:#101322;z-index:1}
.sn-feed-media>.card-media img{width:100%;height:100%;object-fit:contain!important}
.sn-feed-embed-slot{position:absolute;inset:0 0 30px;overflow:auto;overscroll-behavior:contain;z-index:0;max-width:100%;scrollbar-width:thin}
.sn-feed-media[data-sn-embed-state="fallback"]>.sn-feed-embed-slot{display:none}
.sn-feed-loaded>.card-media{visibility:hidden;pointer-events:none}
.sn-feed-loaded>.sn-feed-embed-slot{z-index:2}
.sn-feed-embed-slot iframe{max-width:100%!important;border:0}
.sn-feed-media-youtube .sn-feed-embed-slot iframe{width:100%;height:100%}
.sn-feed-origin{position:absolute;bottom:0;left:0;right:0;height:30px;display:flex;align-items:center;justify-content:center;font-size:12px;background:#101322;color:#aee5ff;z-index:3}
.sn-feed-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;position:relative;max-width:100%}
.sn-feed-share{position:relative}
.sn-feed-share-trigger,.sn-feed-x{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #49637c;border-radius:8px;background:#101b2a;color:#d9f4ff;font:600 14px/1.2 system-ui;cursor:pointer;text-decoration:none;box-sizing:border-box}
.sn-feed-share-trigger{list-style:none}.sn-feed-share-trigger::-webkit-details-marker{display:none}
.sn-feed-share-menu{position:absolute;bottom:100%;left:0;min-width:170px;max-width:280px;padding:6px;background:#111b2b;border:1px solid #49637c;border-radius:8px;box-shadow:0 4px 15px #0008;z-index:8}
.sn-feed-share-menu a,.sn-feed-share-menu button{display:block;width:100%;padding:10px;border:0;background:none;text-align:left;color:#e4f7ff;font:14px system-ui;text-decoration:none;cursor:pointer;box-sizing:border-box}
.sn-feed-share-menu a:hover,.sn-feed-share-menu button:hover{background:#23374f}
.sn-feed-share-trigger:focus-visible,.sn-feed-x:focus-visible,.sn-feed-origin:focus-visible{outline:2px solid #43d5ff;outline-offset:2px}

.grid-top .card>.sn-feed-media-x{display:block!important;visibility:visible!important;height:540px!important;min-height:540px!important;max-height:none!important}

/* While an official embed is loading, keep a dark reserved skeleton and hide the
   library picture so it cannot flash, then disappear. The picture is shown only
   if the widget fails or hits the six-second timeout. */
.sn-feed-media:not(.sn-feed-loaded):not([data-sn-embed-state="fallback"])>.card-media{visibility:hidden!important;opacity:0!important;pointer-events:none}
.sn-feed-media[data-sn-embed-state="fallback"]>.card-media{visibility:visible!important;opacity:1!important}
.sn-feed-media:not(.sn-feed-loaded):not([data-sn-embed-state="fallback"])::before{content:"";position:absolute;inset:0 0 30px;z-index:1;background:#101322;pointer-events:none}

/* Touch/coarse only: a story-page overlay intercepts iframe touches so the page
   can scroll. When the official widget is ready, the X slot grows to the
   iframe's natural height (no phone height cap, no fade). Desktop/fine-pointer and
   story-page embeds keep the reserved 540px interactive slot. Share and View
   on X sit outside the overlay. */
.sn-feed-touch-overlay{display:none;position:absolute;inset:0 0 30px;z-index:4;background:transparent;color:transparent;text-decoration:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.sn-feed-touch-overlay-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sn-feed-touch-overlay:focus-visible{outline:2px solid #43d5ff;outline-offset:-2px}
@media (hover:none) and (pointer:coarse){
 .sn-feed-touch-overlay{display:block}
 .sn-feed-media-x.sn-feed-fit,.grid-top .card>.sn-feed-media-x.sn-feed-fit{height:var(--sn-feed-embed-height)!important;min-height:var(--sn-feed-embed-height)!important;max-height:none!important}
}
html.sn-feed-touch .sn-feed-touch-overlay{display:block}
html.sn-feed-touch .sn-feed-media-x.sn-feed-fit,html.sn-feed-touch .grid-top .card>.sn-feed-media-x.sn-feed-fit{height:var(--sn-feed-embed-height)!important;min-height:var(--sn-feed-embed-height)!important;max-height:none!important}
.sn-feed-origin{z-index:5}

/* Full widget height on desktop too: never crop media or create an inner scroller. */
.sn-feed-media-x.sn-feed-fit,.grid-top .card>.sn-feed-media-x.sn-feed-fit{height:var(--sn-feed-embed-height)!important;min-height:var(--sn-feed-embed-height)!important;max-height:none!important}
.sn-feed-media-x.sn-feed-fit>.sn-feed-embed-slot{overflow:visible;overscroll-behavior:auto}
