/* Shared thumbnail entrance and per-account metadata visibility. */
.thumbnail-enter{animation:thumbnail-enter .45s cubic-bezier(.22,.72,.28,1) both;animation-delay:var(--thumbnail-delay,0ms)}
@keyframes thumbnail-enter{from{opacity:0;transform:translate(-7px,-7px)}to{opacity:1;transform:none}}

html[data-thumbnail-details-location="false"] [data-thumbnail-category="location"] .card-copy,
html[data-thumbnail-details-character="false"] [data-thumbnail-category="character"] .card-copy,
html[data-thumbnail-details-scene="false"] [data-thumbnail-category="scene"] .card-copy,
html[data-thumbnail-details-location="false"] .entry-card[data-thumbnail-category="location"]>h3,
html[data-thumbnail-details-character="false"] .entry-card[data-thumbnail-category="character"]>h3,
html[data-thumbnail-details-scene="false"] .entry-card[data-thumbnail-category="scene"]>h3,
html[data-thumbnail-details-memory="false"] .shared-card.memory>div:not(.session-art-empty),
html[data-thumbnail-details-memory="false"] .player-live-card.memory>div,
html[data-thumbnail-details-memory="false"] .player-live-thumb.memory>.player-live-thumb-copy,
html[data-thumbnail-details-memory="false"] .memory-submission>.memory-submission-copy{
  opacity:0;transform:translateY(12px);transition:opacity .16s ease,transform .18s ease;pointer-events:none
}
html[data-thumbnail-details-location="false"] [data-thumbnail-category="location"]:is(:hover,:focus,:focus-within) .card-copy,
html[data-thumbnail-details-character="false"] [data-thumbnail-category="character"]:is(:hover,:focus,:focus-within) .card-copy,
html[data-thumbnail-details-scene="false"] [data-thumbnail-category="scene"]:is(:hover,:focus,:focus-within) .card-copy,
html[data-thumbnail-details-location="false"] .entry-card[data-thumbnail-category="location"]:is(:hover,:focus,:focus-within)>h3,
html[data-thumbnail-details-character="false"] .entry-card[data-thumbnail-category="character"]:is(:hover,:focus,:focus-within)>h3,
html[data-thumbnail-details-scene="false"] .entry-card[data-thumbnail-category="scene"]:is(:hover,:focus,:focus-within)>h3,
html[data-thumbnail-details-memory="false"] .shared-card.memory:is(:hover,:focus,:focus-within)>div:not(.session-art-empty),
html[data-thumbnail-details-memory="false"] .player-live-card.memory:is(:hover,:focus,:focus-within)>div,
html[data-thumbnail-details-memory="false"] .player-live-thumb.memory:is(:hover,:focus,:focus-within)>.player-live-thumb-copy,
html[data-thumbnail-details-memory="false"] .memory-submission:is(:hover,:focus,:focus-within)>.memory-submission-copy{opacity:1;transform:none;pointer-events:auto}

.shared-card.memory,.player-live-card.memory{position:relative}
.shared-card.memory>div:not(.session-art-empty),.player-live-card.memory>div:not(.session-art-empty){position:absolute;z-index:3;inset:auto 0 0;padding:34px 12px 11px;background:linear-gradient(transparent,rgba(4,7,13,.97));text-align:center}
.catalog-card:not(.create-card) .card-copy h3,.entry-card:not(.create-card)>h3,.shared-card h3,.player-live-card h3,.memory-submission h3{font-size:clamp(.74rem,1.05vw,.86rem);line-height:1.25}
.shared-card.memory h3,.player-live-card.memory h3,.memory-submission h3{font-size:.82rem;line-height:1.25}.player-live-thumb.memory strong{font-size:.62rem;line-height:1.25}
.shared-card.memory>div>.eyebrow,.shared-card.memory>div>p,.player-live-card.memory>div>p,.player-live-card.memory .player-live-card-meta{display:none!important}
.player-live-thumb.memory .memory-byline{color:#a9cfda;font-size:.58rem;line-height:1.3;text-transform:none;letter-spacing:0}
.memory-submission{position:relative;aspect-ratio:16/9}
.memory-submission>.memory-submission-copy{position:absolute;z-index:3;inset:auto 0 0;padding:34px 12px 11px;background:linear-gradient(transparent,rgba(4,7,13,.97));text-align:center}
.memory-submission>.memory-submission-copy>:is(.memory-status,.memory-session,.memory-description,.memory-feedback-copy){display:none}
.memory-submission .session-actions{justify-content:center;margin-top:8px}
.memory-submission .memory-byline{display:block;color:#a9cfda;font-size:.72rem;line-height:1.4;text-align:center}
.shared-card.memory[role="button"],.memory-submission[role="button"]{cursor:pointer}
.shared-card.memory[role="button"]:focus-visible,.memory-submission[role="button"]:focus-visible{outline:2px solid var(--bright,var(--bright));outline-offset:3px}
.account-thumbnail-settings fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:0;border:0}
.account-thumbnail-settings legend{margin-bottom:10px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9ca9b8)}
.account-thumbnail-settings fieldset>[role="status"]{min-height:1.2em;margin:2px 0 0;color:var(--bright,var(--bright))}
.fast-image-upload-mode .catalog-card:not(.create-card) .card-copy{opacity:1!important;transform:none!important;pointer-events:none!important}

.thumbnail-memory-dialog{box-sizing:border-box;width:min(940px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #48677c;border-radius:16px;overflow:auto;background:linear-gradient(145deg,#142a3a 0,#0b1724 46%,#0a121e 100%);color:#eef5fa;box-shadow:0 24px 80px #000c}
.thumbnail-memory-dialog::backdrop{background:#02060bd9}
.thumbnail-memory-dialog-shell{padding:clamp(16px,2.5vw,28px)}
.thumbnail-memory-dialog header{display:flex;align-items:center;gap:14px;padding:0 0 18px;border-bottom:1px solid #395468}
.thumbnail-memory-heading{display:grid;gap:4px;min-width:0}.thumbnail-memory-dialog h2{margin:0;font-size:clamp(1.25rem,2.2vw,1.7rem);overflow-wrap:anywhere}.thumbnail-memory-dialog header small{color:#a9cfda}
.thumbnail-memory-dialog header>button,.thumbnail-memory-zoom-close{margin-left:auto;border:0;background:transparent;color:inherit;font-size:1.8rem;cursor:pointer}
.thumbnail-memory-content{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;padding-top:24px}
.thumbnail-memory-art{display:block;min-width:0;padding:0;overflow:hidden;border:1px solid #3f5c70;border-radius:11px;background:#050b12;cursor:zoom-in}.thumbnail-memory-art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.thumbnail-memory-art:focus-visible{outline:3px solid var(--bright);outline-offset:3px}
.thumbnail-memory-copy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-width:0}.thumbnail-memory-copy p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#c6d4df}.thumbnail-memory-copy .thumbnail-memory-status{color:var(--bright);font-size:.72rem;font-weight:700;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.thumbnail-memory-session{color:#9fb5c5}.thumbnail-memory-actions{margin-left:auto}.thumbnail-memory-actions .memory-delete{min-width:92px;border-color:#a94759;background:#5a2130;color:#ffe2e7}.thumbnail-memory-actions .memory-delete:hover,.thumbnail-memory-actions .memory-delete:focus-visible{border-color:#ff8994;background:#7a293d;color:#fff}.thumbnail-memory-error{flex-basis:100%;margin:0;color:#ffc1c6}.thumbnail-memory-error:empty{display:none}
.thumbnail-memory-zoom{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#02060bf5;color:#fff}.thumbnail-memory-zoom::backdrop{background:#02060bf5}.thumbnail-memory-zoom figure{display:grid;place-items:center;width:100%;height:100%;margin:0;padding:42px 18px 18px;box-sizing:border-box}.thumbnail-memory-zoom img{display:block;max-width:100%;max-height:calc(100dvh - 86px);object-fit:contain}.thumbnail-memory-zoom figcaption{padding-top:10px;color:#c6d4df}.thumbnail-memory-zoom-close{position:fixed;z-index:2;right:18px;top:12px}
@media(max-width:680px){.thumbnail-memory-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.thumbnail-memory-content{grid-template-columns:1fr;padding-top:18px}.thumbnail-memory-art img{height:auto;max-height:52dvh}.thumbnail-memory-copy{gap:12px}.thumbnail-memory-dialog-shell{padding:16px}}
@media(prefers-reduced-motion:reduce){.thumbnail-enter{animation:none}.card-copy,.entry-card>h3,.shared-card.memory>div:not(.session-art-empty),.player-live-card.memory>div,.player-live-thumb.memory>.player-live-thumb-copy,.memory-submission>.memory-submission-copy{transition:none!important}}

/* Images must not reserve a text baseline below Memory thumbnails. */
.shared-card.memory>img,.player-live-card.memory>img{display:block}
