/* El Patio 2.9.20. Social layout; loaded after the legacy wedding screens. */
html[data-elp-theme] .elp-social-app {
    --elp-surface:#fff; --elp-surface-muted:#f5f5f5; --elp-ink:#0c0c0c;
    --elp-muted:#737373; --elp-line:#dbdbdb; --elp-nav-width:0px;
    --elp-social-font:var(--elp-font-family,"Roboto",Arial,sans-serif);
    background:var(--elp-surface)!important; color:var(--elp-ink)!important;
    font-family:var(--elp-social-font)!important; font-size:14px; line-height:1.5;
    padding:0!important; min-width:0; min-height:100dvh;
}
html[data-elp-theme="dark"] .elp-social-app {
    --elp-surface:#000; --elp-surface-muted:#171717; --elp-ink:#f5f5f5;
    --elp-muted:#a8a8a8; --elp-line:#262626;
}
.elp-social-app button,.elp-social-app input,.elp-social-app textarea,.elp-social-app select {
    font-family:var(--elp-social-font)!important; -webkit-tap-highlight-color:transparent;
}
.elp-social-app button:focus-visible,.elp-social-app a:focus-visible { outline:2px solid #0095f6; outline-offset:3px; }
.elp-social-app .elp-ig-shell {
    width:100%!important; max-width:none; min-height:100dvh; margin:0!important;
    padding:0 0 calc(64px + env(safe-area-inset-bottom,0px))!important;
}
.elp-social-app .elp-social-main { width:100%; max-width:1000px; min-width:0; margin:0 auto; }
.elp-social-app .elp-ig-topbar {
    position:sticky!important; inset:auto!important; top:0!important; transform:none!important;
    width:100%!important; min-height:60px; margin:0!important;
    padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px!important;
    border-radius:0!important; background:var(--elp-surface)!important;
}
.elp-social-app .elp-ig-brand { gap:9px; text-decoration:none; }
.elp-social-app .elp-ig-brand img { width:36px!important; height:36px!important; padding:0; filter:none; }
.elp-social-app .elp-ig-brand strong {
    font-family:var(--elp-social-font)!important; font-size:27px!important;
    font-weight:600!important; letter-spacing:-1px; color:var(--elp-ink)!important;
}
.elp-social-app .elp-ig-brand small { display:none; }
.elp-social-app .elp-ig-icon-button { width:44px!important; height:44px!important; margin:0; }
.elp-social-app .elp-ig-topbar [data-elp-open-choice] { display:none!important; }
.elp-social-app .elp-theme-menu button { font-family:var(--elp-social-font)!important; }

/* A single navigation DOM: bottom bar, compact rail, then labelled sidebar. */
.elp-social-app .elp-social-navigation {
    position:fixed; z-index:80; left:0; right:0; bottom:0;
    display:flex; align-items:center; justify-content:space-around; gap:4px;
    padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));
    min-height:58px; background:var(--elp-surface); border-top:1px solid var(--elp-line);
}
.elp-social-app .elp-nav-brand,.elp-social-app .elp-nav-signature { display:none; }
.elp-social-app .elp-nav-action {
    appearance:none; display:flex; align-items:center; justify-content:center; gap:16px;
    flex:1 1 0; min-width:44px; min-height:44px; padding:10px; margin:0;
    border:0; border-radius:8px; background:transparent; color:var(--elp-ink);
    box-shadow:none; cursor:pointer; font-size:16px; font-weight:400; line-height:1;
}
.elp-social-app .elp-nav-label { display:none; }
.elp-social-app .elp-nav-action .elp-svg-icon { width:26px; height:26px; stroke-width:1.8; }
.elp-social-app .elp-nav-action.is-active { font-weight:700; }
.elp-social-app .elp-nav-action.is-active .elp-svg-icon { stroke-width:2.5; }
.elp-social-app .elp-nav-action:disabled { color:var(--elp-muted); opacity:.6; cursor:default; }
.elp-social-app .elp-nav-monogram { font:600 19px var(--elp-social-font); letter-spacing:-1px; }

/* Stories and the two working feed modes. */
.elp-social-app .elp-ig-stories { max-width:630px; margin:0 auto!important; padding:18px 12px 14px!important; }
.elp-social-app .elp-ig-stories-rail { gap:14px; padding:0 0 4px; scroll-padding:12px; align-items:stretch; overscroll-behavior-x:contain; }
.elp-social-app .elp-stories-strip { display:flex; flex:1 0 auto; width:auto; gap:14px; align-items:flex-start; }
.elp-social-app .elp-story-bubble { width:72px; min-width:72px; gap:6px; }
.elp-social-app .elp-story-thumb { width:68px; height:68px; padding:3px; border:0; border-radius:50%; position:relative; }
.elp-social-app .elp-story-thumb img,.elp-social-app .elp-story-thumb video {
    display:block; width:100%; height:100%; object-fit:cover; border:2px solid var(--elp-surface); border-radius:50%;
}
.elp-social-app .elp-story-bubble strong { font:400 12px/16px var(--elp-social-font)!important; text-align:center; }
.elp-social-app .elp-story-bubble.is-unseen .elp-story-thumb { background:linear-gradient(35deg,#ffd776 10%,#f99b4a 25%,#ed4956 45%,#d6249f 70%,#7638fa 100%)!important; box-shadow:none; }
.elp-social-app .elp-story-bubble.is-seen .elp-story-thumb { background:transparent!important; box-shadow:none; }
.elp-social-app .elp-story-create .elp-story-thumb { background:transparent!important; box-shadow:none!important; padding:3px; overflow:visible; }
.elp-social-app .elp-story-create-avatar { display:grid; place-items:center; width:100%; height:100%; border-radius:50%; background:var(--elp-surface-muted); color:var(--elp-ink); font:600 20px var(--elp-social-font); }
.elp-social-app .elp-story-create .elp-story-thumb em { position:absolute; inset:auto -1px -1px auto; width:25px; height:25px; border:3px solid var(--elp-surface); border-radius:50%; display:grid; place-items:center; background:#0095f6; color:#fff; }
.elp-social-app .elp-story-create .elp-story-thumb .elp-svg-icon { width:15px; height:15px; stroke-width:3; }
.elp-social-app .elp-ig-banner { max-width:630px; margin:12px auto; text-align:center; }
.elp-social-app .elp-ig-feed-section { padding:0 0 24px; }
.elp-social-app .elp-ig-feed { width:100%; max-width:470px; gap:18px!important; }
.elp-social-app .elp-card.elp-ig-post { max-width:470px; overflow:visible; }
.elp-social-app .elp-post-header { min-height:58px; padding:9px 12px; grid-template-columns:34px minmax(0,1fr); gap:10px; }
.elp-social-app .elp-avatar { width:34px; height:34px; color:var(--elp-ink)!important; font:600 12px/1 var(--elp-social-font); }
.elp-social-app .elp-post-who { min-width:0; }
.elp-social-app .elp-post-who strong { font-size:14px!important; font-weight:600!important; line-height:18px; }
.elp-social-app .elp-post-who small { font-size:11px!important; line-height:16px; }
.elp-social-app .elp-media-wrap { border-radius:3px; overflow:hidden; }
.elp-social-app .elp-card-body { padding:4px 12px 18px!important; }
.elp-social-app .elp-ig-actions { display:flex; align-items:center; justify-content:flex-start; gap:0; margin:0 -8px 2px; }
.elp-social-app .elp-ig-actions button { width:44px; height:44px; flex:0 0 44px; }
.elp-social-app .elp-ig-actions .elp-svg-icon { width:25px; height:25px; }
.elp-social-app .elp-caption { color:var(--elp-ink)!important; font:400 14px/1.5 var(--elp-social-font); margin:5px 0 0; overflow-wrap:anywhere; }
.elp-social-app .elp-like-count { margin:0; font:600 14px/1.5 var(--elp-social-font)!important; }
.elp-social-app .elp-video-badge,.elp-social-app .elp-grid-video-badge { background:transparent; border:0; box-shadow:none; color:#fff; filter:drop-shadow(0 1px 3px #0008); }
.elp-social-app .elp-grid-video-badge { top:8px; right:8px; }
.elp-social-app .elp-video-sound { width:32px; height:32px; padding:0; min-width:32px; min-height:32px; }
.elp-social-app .elp-grid-section { max-width:935px; margin:0 auto 24px; }
.elp-social-app .elp-grid-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px!important; }
.elp-social-app .elp-grid-tile { aspect-ratio:3 / 4; background:var(--elp-surface-muted); }
.elp-social-app .elp-grid-tile img,.elp-social-app .elp-grid-tile video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:none; }
.elp-social-app .elp-grid-tile:hover img,.elp-social-app .elp-grid-tile:hover video { transform:none; filter:none; }
.elp-social-app .elp-empty { background:transparent!important; border:0!important; border-radius:0!important; min-height:200px; font:400 14px/1.6 var(--elp-social-font)!important; }
.elp-social-app .elp-empty-inline { min-height:90px; max-width:100%; }
.elp-social-app .elp-stories-strip:has(.elp-empty) { flex:1 1 0; }
.elp-social-app .elp-grid-gallery > .elp-empty { grid-column:1 / -1; }

/* Full posts: media + a scrollable details column on larger screens. */
.elp-social-app .elp-viewer { background:rgba(0,0,0,.88)!important; padding:64px 16px 20px!important; align-items:safe center!important; }
.elp-social-app .elp-viewer-content { width:min(1100px,100%); max-width:none; }
.elp-social-app .elp-viewer:not(.is-story) .elp-viewer-frame { display:grid; grid-template-columns:minmax(0,1fr); gap:0; border-radius:4px; overflow:hidden; background:var(--elp-surface); }
.elp-social-app .elp-viewer:not(.is-story) .elp-viewer-zoom-layer { position:relative; width:100%; height:min(72dvh,720px); max-height:none; background:#000; }
.elp-social-app .elp-viewer:not(.is-story) .elp-viewer-zoom-layer > img,
.elp-social-app .elp-viewer:not(.is-story) .elp-viewer-zoom-layer > video { display:block; width:100%; height:100%; max-height:100%; border:0; border-radius:0; box-shadow:none; object-fit:contain; }
.elp-social-app .elp-viewer:not(.is-story) .elp-viewer-info { width:100%; min-width:0; margin:0; padding:0; border-radius:0; background:var(--elp-surface); color:var(--elp-ink); overflow-y:auto; touch-action:pan-y; }
.elp-social-app .elp-viewer:not(.is-story) .elp-viewer-info .elp-post-header { border-bottom:1px solid var(--elp-line); }
.elp-social-app .elp-viewer .elp-video-controls { position:absolute; inset:auto 12px 12px; width:auto; transform:none; z-index:5; display:flex; flex-wrap:nowrap; gap:8px; border:0; border-radius:6px; padding:4px; background:rgba(0,0,0,.65); }
.elp-social-app .elp-viewer .elp-video-controls input { min-width:0; flex:1 1 0; accent-color:#fff; }
.elp-social-app .elp-viewer .elp-video-controls span { font:400 11px/1 var(--elp-social-font); }
.elp-social-app .elp-viewer .elp-video-controls button { min-width:36px; width:36px; height:36px; flex:0 0 36px; border:0; background:transparent; color:#fff; }
.elp-social-app .elp-viewer-close { border:0!important; background:transparent!important; box-shadow:none!important; color:#fff!important; }

/* Stories keep progress, pause, next, sound and close in one row on all devices. */
.elp-social-app .elp-viewer.is-story {
    --elp-story-height:var(--elp-viewport-height,100dvh); --elp-story-width:100vw;
    display:grid!important; place-items:center; padding:0!important; background:#1a1a1a!important;
}
.elp-social-app .elp-viewer.is-story .elp-viewer-content { width:var(--elp-story-width); height:var(--elp-story-height); }
.elp-social-app .elp-viewer.is-story .elp-viewer-frame { position:relative; display:block; width:100%; height:100%; overflow:hidden; border-radius:0; background:#000; }
.elp-social-app .elp-viewer.is-story .elp-viewer-zoom-layer { width:100%; height:100%; max-height:none; touch-action:pan-y!important; }
.elp-social-app .elp-viewer.is-story .elp-viewer-zoom-layer > img,
.elp-social-app .elp-viewer.is-story .elp-viewer-zoom-layer > video { display:block; width:100%; height:100%; max-height:100%; object-fit:contain; border-radius:0; box-shadow:none; }
.elp-social-app .elp-viewer.is-story .elp-viewer-zoom-layer > img,.elp-social-app .elp-viewer.is-story .elp-viewer-zoom-layer > video { touch-action:pan-y!important; }
.elp-social-app .elp-viewer.is-story > .elp-story-clock {
    top:calc(var(--elp-viewport-top,0px) + env(safe-area-inset-top,0px) + 6px)!important;
    left:max(6px,env(safe-area-inset-left,0px))!important; right:max(6px,env(safe-area-inset-right,0px))!important;
    height:48px!important; padding:2px!important; gap:3px!important; border:0; border-radius:6px;
    background:linear-gradient(#0009,#0003); box-shadow:0 -20px 30px 20px #0004;
}
.elp-social-app .elp-viewer.is-story > .elp-story-clock > button { border:0!important; border-radius:4px; background:transparent!important; }
.elp-social-app .elp-viewer.is-story > .elp-story-clock > progress { height:3px; }
.elp-social-app .elp-viewer.is-story .elp-story-seconds { color:#fff; font:400 11px/1 var(--elp-social-font); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.elp-social-app .elp-viewer.is-story .elp-viewer-info { position:absolute; left:0; right:0; bottom:0; width:100%; max-height:30%; overflow-y:auto; margin:0; border-radius:0; padding:24px 20px max(24px,env(safe-area-inset-bottom,0px)); background:linear-gradient(transparent,#000b); color:#fff; text-align:center; font:400 14px/1.5 var(--elp-social-font); }
.elp-social-app .elp-story-step {
    position:absolute; top:50%; transform:translateY(-50%); z-index:2147482960;
    display:flex; align-items:center; justify-content:center; width:44px; height:64px; padding:0;
    border:0; border-radius:22px; background:transparent; color:#fff; cursor:pointer;
    filter:drop-shadow(0 1px 4px #000); opacity:.8;
}
.elp-social-app .elp-story-previous { left:0; }
.elp-social-app .elp-story-previous .elp-svg-icon { transform:rotate(180deg); }
.elp-social-app .elp-story-forward { right:0; }
.elp-social-app .elp-story-step:disabled { visibility:hidden; }
.elp-social-app .elp-choice-dialog h2,.elp-social-app .elp-review-dialog h2,.elp-social-app .elp-editor-dialog h2,.elp-social-app .elp-info-dialog h2 { text-align:center; color:var(--elp-ink)!important; font-family:var(--elp-social-font)!important; font-size:18px!important; letter-spacing:0; }

@media (min-width:768px) {
    html[data-elp-theme] .elp-social-app { --elp-nav-width:76px; }
    .elp-social-app .elp-ig-shell { padding:0 24px 32px calc(var(--elp-nav-width) + 24px)!important; }
    .elp-social-app .elp-social-navigation { top:0; right:auto; width:var(--elp-nav-width); height:100dvh; min-height:0; padding:24px 12px; flex-direction:column; justify-content:flex-start; gap:10px; border-top:0; border-right:1px solid var(--elp-line); overflow-y:auto; }
    .elp-social-app .elp-nav-action { width:100%; min-height:48px; flex:0 0 auto; padding:12px; }
    .elp-social-app .elp-nav-brand { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; margin:0 0 24px; color:var(--elp-ink); text-decoration:none; }
    .elp-social-app .elp-nav-brand strong { display:none; }
    .elp-social-app .elp-ig-topbar { position:relative!important; padding:14px 0 10px!important; min-height:74px; }
    .elp-social-app .elp-ig-stories { padding:24px 0 18px!important; border-bottom:0!important; }
    .elp-social-app .elp-post-header { padding-left:0!important; padding-right:0!important; }
    .elp-social-app .elp-card-body { padding-left:0!important; padding-right:0!important; }
    .elp-social-app .elp-viewer:not(.is-story) .elp-viewer-frame { grid-template-columns:minmax(0,1fr) 300px; height:min(800px,calc(var(--elp-viewport-height,100dvh) - 104px)); }
    .elp-social-app .elp-viewer:not(.is-story) .elp-viewer-zoom-layer { height:100%; }
    .elp-social-app .elp-viewer:not(.is-story) .elp-viewer-info { height:100%; border-left:1px solid var(--elp-line); }
    .elp-social-app .elp-viewer:not(.is-story) .elp-post-header,.elp-social-app .elp-viewer:not(.is-story) .elp-card-body { padding-left:16px!important; padding-right:16px!important; }
    .elp-social-app .elp-viewer.is-story { --elp-story-height:min(860px,calc(var(--elp-viewport-height,100dvh) - 32px)); --elp-story-width:calc(var(--elp-story-height) * 9 / 16); }
    .elp-social-app .elp-viewer.is-story .elp-viewer-frame { border-radius:8px; }
    .elp-social-app .elp-viewer.is-story > .elp-story-clock { top:calc(var(--elp-viewport-top,0px) + (var(--elp-viewport-height,100dvh) - var(--elp-story-height)) / 2 + 8px)!important; left:calc((100% - var(--elp-story-width)) / 2 + 8px)!important; right:calc((100% - var(--elp-story-width)) / 2 + 8px)!important; }
    .elp-social-app .elp-story-step { background:#444; filter:none; height:44px; }
    .elp-social-app .elp-story-previous { left:calc((100% - var(--elp-story-width)) / 2 - 64px); }
    .elp-social-app .elp-story-forward { right:calc((100% - var(--elp-story-width)) / 2 - 64px); }
}
@media (min-width:1200px) {
    html[data-elp-theme] .elp-social-app { --elp-nav-width:244px; }
    .elp-social-app .elp-social-navigation { padding:28px 16px 24px; }
    .elp-social-app .elp-nav-action { justify-content:flex-start; gap:16px; padding:14px 12px; }
    .elp-social-app .elp-nav-label { display:block; }
    .elp-social-app .elp-nav-brand { justify-content:flex-start; padding:0 12px; margin-bottom:28px; }
    .elp-social-app .elp-nav-brand strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font:600 30px/1.2 var(--elp-social-font); letter-spacing:-1px; }
    .elp-social-app .elp-nav-monogram { display:none; }
    .elp-social-app .elp-nav-signature { display:block; margin-top:auto; padding:24px 12px 0; color:var(--elp-muted); font-size:12px; }
}
@media (max-width:767px) {
    .elp-social-app .elp-ig-feed,.elp-social-app .elp-card.elp-ig-post { max-width:100%; }
    .elp-social-app .elp-media-wrap { border-left:0; border-right:0; border-radius:0; }
    .elp-social-app .elp-viewer:not(.is-story) { padding:58px 0 0!important; align-items:start!important; }
    .elp-social-app .elp-viewer:not(.is-story) .elp-viewer-frame { border-radius:0; }
}
@media (max-height:500px) and (min-width:768px) {
    /* Landscape phones and short split-screen windows need usable story controls. */
    .elp-social-app .elp-viewer.is-story { --elp-story-width:min(460px,calc(100vw - 144px)); }
    .elp-social-app .elp-nav-brand { margin-bottom:4px; }
}
@media (hover:hover) and (pointer:fine) {
    .elp-social-app .elp-nav-action:hover:not(:disabled) { background:var(--elp-surface-muted); }
    .elp-social-app .elp-grid-tile:hover::after { content:""; position:absolute; inset:0; background:#0001; pointer-events:none; }
    .elp-social-app .elp-story-step:hover { opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
    .elp-social-app .elp-viewer-frame,.elp-social-app .elp-grid-section { animation:none!important; }
}

/* 2.9.21: all Patio text uses its own selected family, including legacy screens. */
.elp-app[data-elp-app] {
    --elp-font-family:"Roboto",Arial,sans-serif;
    --elp-social-font:var(--elp-font-family);
    --elp-sans:var(--elp-font-family); --elp-serif:var(--elp-font-family);
    font-family:var(--elp-font-family)!important;
}
.elp-app[data-elp-app][data-elp-route] * { font-family:var(--elp-font-family)!important; }
.elp-app[data-elp-app][data-elp-route] .elp-story-overlay-item.is-emoji,
.elp-app[data-elp-app][data-elp-route] .elp-emoji-grid button { font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important; }

/* Intrinsic SVG dimensions survive WordPress/Divi and small badges stay small. */
.elp-app[data-elp-app] .elp-svg-icon {
    display:block!important; width:24px!important; height:24px!important;
    min-width:0!important; min-height:0!important;
    max-width:none!important; max-height:none!important; flex:none!important;
    margin:0!important; padding:0!important; border:0!important; overflow:visible!important;
    opacity:1!important; visibility:visible!important; background:none!important; box-shadow:none!important;
    color:inherit; vertical-align:middle; pointer-events:none;
    position:static!important; float:none!important; transform:none!important;
    stroke-width:1.8!important;
}
.elp-app[data-elp-app] .elp-svg-icon[fill="none"] { fill:none!important; stroke:currentColor!important; }
.elp-app[data-elp-app] .elp-svg-icon[fill="currentColor"] { fill:currentColor!important; stroke:none!important; }
.elp-app[data-elp-app] .elp-svg-icon > * { stroke:inherit; stroke-linecap:round; stroke-linejoin:round; }
.elp-app[data-elp-app] .elp-svg-icon > :not([fill]) { fill:inherit!important; stroke:inherit!important; }
.elp-app[data-elp-app] .elp-svg-icon > [fill="currentColor"] { fill:currentColor!important; }
.elp-app[data-elp-app] .elp-nav-action .elp-svg-icon { width:26px!important; height:26px!important; }
.elp-app[data-elp-app] .elp-nav-action.is-active .elp-svg-icon { stroke-width:2.5!important; }
.elp-app[data-elp-app] .elp-ig-actions .elp-svg-icon { width:25px!important; height:25px!important; }
.elp-app[data-elp-app] .elp-story-create .elp-story-thumb .elp-svg-icon { width:15px!important; height:15px!important; stroke-width:3!important; }
.elp-app[data-elp-app] .elp-video-badge,.elp-app[data-elp-app] .elp-grid-video-badge { display:flex; align-items:center; justify-content:center; }
.elp-app[data-elp-app] .elp-video-badge .elp-svg-icon,.elp-app[data-elp-app] .elp-grid-video-badge .elp-svg-icon { width:18px!important; height:18px!important; }
.elp-app[data-elp-app] .elp-video-sound .elp-svg-icon,.elp-app[data-elp-app] .elp-video-controls .elp-svg-icon,
.elp-app[data-elp-app] .elp-story-clock-button .elp-svg-icon,.elp-app[data-elp-app] .elp-icon-label .elp-svg-icon { width:22px!important; height:22px!important; }
.elp-app[data-elp-app] .elp-double-heart .elp-svg-icon { width:92px!important; height:92px!important; fill:currentColor!important; }
.elp-app[data-elp-app] .elp-like.is-liked .elp-svg-icon { fill:#ed4956!important; stroke:#ed4956!important; }
.elp-app[data-elp-app] .elp-story-previous .elp-svg-icon { transform:rotate(180deg)!important; }
.elp-app[data-elp-app] .elp-nav-action > [data-elp-nav-icon] { display:flex; align-items:center; justify-content:center; flex:none; line-height:0; }
.elp-app[data-elp-app] .elp-nav-action::before,.elp-app[data-elp-app] .elp-nav-action::after,
.elp-app[data-elp-app] .elp-ig-actions button::before,.elp-app[data-elp-app] .elp-ig-actions button::after,
.elp-app[data-elp-app] .elp-story-clock button::before,.elp-app[data-elp-app] .elp-story-clock button::after,
.elp-app[data-elp-app] .elp-video-controls button::before,.elp-app[data-elp-app] .elp-video-controls button::after,
.elp-app[data-elp-app] .elp-story-step::before,.elp-app[data-elp-app] .elp-story-step::after { content:none!important; display:none!important; }
.elp-app[data-elp-app] .elp-view-switch { display:none!important; }

/* Modal ownership, bottom sheets and recoverable reads. */
.elp-app .elp-theme-modal { position:fixed; inset:0; z-index:2147482800; display:grid; place-items:center; padding:24px; top:var(--elp-viewport-top,0px); height:var(--elp-viewport-height,100dvh); overflow-y:auto; }
.elp-app .elp-theme-modal[hidden],.elp-app .elp-load-notice[hidden] { display:none!important; }
.elp-app .elp-theme-modal .elp-modal-backdrop { opacity:1; }
.elp-app .elp-theme-dialog { position:relative; z-index:1; width:min(420px,100%); padding:18px; border:1px solid var(--elp-line); border-radius:20px; background:var(--elp-surface); color:var(--elp-ink); }
.elp-app .elp-theme-dialog header { display:grid; grid-template-columns:44px 1fr 44px; align-items:center; margin-bottom:12px; }
.elp-app .elp-theme-dialog h2 { grid-column:2; margin:0; font-size:20px; text-align:center; }
.elp-app .elp-theme-dialog header button { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:50%; background:var(--elp-surface-muted); color:inherit; }
.elp-app .elp-theme-dialog .elp-theme-menu { position:static; width:100%; border:0; padding:0; box-shadow:none; background:transparent; }
.elp-app .elp-load-notice { display:flex; align-items:center; justify-content:center; gap:12px; margin:12px auto; padding:12px 16px; max-width:640px; border:1px solid var(--elp-line); border-radius:12px; background:var(--elp-surface); color:var(--elp-ink); font-size:14px; text-align:center; }
.elp-app .elp-load-notice button { flex:none; min-height:44px; padding:8px 12px; border:1px solid var(--elp-line); border-radius:10px; background:var(--elp-surface-muted); color:inherit; font:inherit; cursor:pointer; }
@media (max-width:1199px), (any-pointer:coarse) {
    .elp-app .elp-choice-modal,.elp-app .elp-review-modal,.elp-app .elp-editor-modal,
    .elp-app .elp-info-modal,.elp-app .elp-share-sheet,.elp-app .elp-theme-modal {
        display:flex!important; flex-direction:column; justify-content:flex-end!important; align-items:center!important;
        inset-inline:0!important; width:100%!important; padding:0!important; margin:0!important;
        top:var(--elp-viewport-top,0px)!important; height:var(--elp-viewport-height,100dvh)!important;
        overflow:hidden!important; background:transparent!important;
        opacity:1!important; visibility:visible!important; isolation:isolate;
    }
    .elp-app .elp-choice-modal[hidden],.elp-app .elp-review-modal[hidden],.elp-app .elp-editor-modal[hidden],
    .elp-app .elp-info-modal[hidden],.elp-app .elp-share-sheet[hidden],.elp-app .elp-theme-modal[hidden] { display:none!important; }
    .elp-app .elp-choice-modal .elp-modal-backdrop,.elp-app .elp-review-modal .elp-modal-backdrop,
    .elp-app .elp-editor-modal .elp-modal-backdrop,.elp-app .elp-info-modal .elp-modal-backdrop,
    .elp-app .elp-share-sheet .elp-modal-backdrop,.elp-app .elp-theme-modal .elp-modal-backdrop {
        background:rgba(0,0,0,.56)!important; backdrop-filter:none!important; opacity:1!important;
    }
    .elp-app .elp-choice-dialog,.elp-app .elp-review-dialog,.elp-app .elp-editor-dialog,
    .elp-app .elp-info-dialog,.elp-app .elp-share-dialog,.elp-app .elp-theme-dialog {
        position:relative!important; z-index:1; flex:0 1 auto; margin:0!important;
        width:min(720px,100%)!important; min-width:0!important; height:auto!important;
        max-height:calc(var(--elp-viewport-height,100dvh) - max(16px,env(safe-area-inset-top,0px)))!important;
        border:1px solid var(--elp-line)!important; border-bottom:0!important; border-radius:24px 24px 0 0!important;
        padding-bottom:max(20px,env(safe-area-inset-bottom,0px))!important;
        background:var(--elp-surface,#fff)!important; color:var(--elp-ink,#262626)!important;
        box-shadow:0 -12px 48px #0001!important; overflow-y:auto!important; overscroll-behavior:contain;
        opacity:1!important; transform:translateY(100%)!important;
        transition:transform 220ms cubic-bezier(.22,.75,.25,1)!important; animation:none!important;
        scroll-padding-block:20px; touch-action:pan-y pinch-zoom!important;
    }
    .elp-app .elp-choice-modal.is-open .elp-choice-dialog,.elp-app .elp-review-modal.is-open .elp-review-dialog,
    .elp-app .elp-editor-modal.is-open .elp-editor-dialog,.elp-app .elp-info-modal.is-open .elp-info-dialog,
    .elp-app .elp-share-sheet.is-open .elp-share-dialog,.elp-app .elp-theme-modal.is-open .elp-theme-dialog { transform:translateY(0)!important; }
    .elp-app .elp-info-dialog-body { overflow:visible!important; max-height:none!important; }
    .elp-app .elp-review-dialog header,.elp-app .elp-info-dialog header { background:var(--elp-surface)!important; color:var(--elp-ink)!important; }
    .elp-app .elp-review-dialog header { grid-template-columns:44px minmax(0,1fr) auto; }
    .elp-app .elp-review-dialog header h2 { min-width:0; font-size:16px; }
    .elp-app .elp-review-tile img,.elp-app .elp-review-tile video { max-height:calc(var(--elp-viewport-height,100dvh) - 190px)!important; object-fit:contain; }
    .elp-app .elp-viewer { background:#000!important; }
    .elp-app .elp-viewer:not(.is-story) .elp-viewer-frame { animation:elp-sheet-viewer 220ms ease-out; }
    .elp-app .elp-load-notice { flex-wrap:wrap; }
}
@keyframes elp-sheet-viewer { from { transform:translateY(100%); } to { transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
    .elp-app .elp-choice-dialog,.elp-app .elp-review-dialog,.elp-app .elp-editor-dialog,
    .elp-app .elp-info-dialog,.elp-app .elp-share-dialog,.elp-app .elp-theme-dialog { transition:none!important; }
    .elp-app .elp-viewer:not(.is-story) .elp-viewer-frame { animation:none!important; }
}
