/* App-only gallery: neutral frames, readable metadata, persistent detail actions. */
.appVisual30 .discover29{color:var(--ui30-ink);padding-bottom:28px}
.appVisual30 .discover29 .pageHeader{margin:3px 0 24px;gap:16px}
.appVisual30 .discover29 .pageHeader h1{font-size:calc(30px * var(--mc-text-scale,1));letter-spacing:-.045em;line-height:1.15;font-weight:750;margin-bottom:8px}
.appVisual30 .discover29 .pageHeader p{font-size:calc(13px * var(--mc-text-scale,1));color:var(--ui30-muted);letter-spacing:.005em}
.appVisual30 .discover29 .pageHeader .textAction{border-color:var(--ui30-line);box-shadow:none;background:var(--ui30-surface);border-radius:15px;color:var(--ui30-accent)}
.appVisual30 .discoverSearch29{margin-bottom:18px!important;gap:8px!important}
.appVisual30 .discoverSearchField29{border-radius:15px;min-height:50px;background:#F2F3F5;border:1px solid transparent;width:calc(100% - 52px);color:var(--ui30-muted)}
.appVisual30 .discoverSearchField29:focus-within{background:white;border-color:#E2E4E8;box-shadow:0 0 0 3px #20222610}
.appVisual30 .discoverSearchField29 input#discoverSearch{font-size:calc(16px * var(--mc-text-scale,1));color:var(--ui30-ink)}
.appVisual30 .discoverSearchField29 input#discoverSearch::placeholder{font-size:calc(13px * var(--mc-text-scale,1));color:#62666E}
.appVisual30 .discoverSearch29 .saveSearch29{min-width:44px;min-height:50px;border:1px solid var(--ui30-line);border-radius:15px;background:var(--ui30-surface);color:var(--ui30-accent)}
.appVisual30 #discoverEntries29{gap:10px;margin-bottom:21px}
.appVisual30 #discoverEntries29>button{background:#F2F3F5;border-color:#E2E4E8;border-radius:16px;min-height:76px;padding:13px 12px;gap:9px;color:var(--ui30-accent);box-shadow:none}
.appVisual30 #discoverEntries29>button:nth-child(2){background:#F2F3F5;border-color:#E2E4E8;color:#62666E}
.appVisual30 #discoverEntries29 b{font-size:calc(14px * var(--mc-text-scale,1));font-weight:650;line-height:1.35}
.appVisual30 #discoverEntries29 small{font-size:calc(11px * var(--mc-text-scale,1));line-height:1.4;color:inherit;opacity:.76}
.appVisual30 .discover29 .discoverTabs29{gap:8px 23px;min-height:50px;margin-bottom:20px;padding-bottom:11px;border-color:var(--ui30-line)}
.appVisual30 .discover29 .discoverTabs29 button{min-height:44px;font-size:calc(16px * var(--mc-text-scale,1));font-weight:600;color:#62666E}
.appVisual30 .discover29 .discoverTabs29 button.on{color:var(--ui30-ink)!important}
.appVisual30 .discover29 .discoverTabs29 button.on:after{left:0;right:0;height:3px;background:var(--ui30-accent);bottom:-12px}
.appVisual30 .discover29 .discoverTabs29 #discoverSort{min-height:44px;border-radius:12px;padding:8px 23px 8px 10px;background:#F2F3F5;color:#62666E;font-size:calc(12px * var(--mc-text-scale,1));max-width:48%}
.appVisual30 .communityGrid:has(.socialCard29){gap:17px 12px;align-items:stretch}
.appVisual30 .socialCard29.communityCard{display:flex;flex-direction:column;min-width:0;border:1px solid var(--ui30-line);background:white;border-radius:17px;box-shadow:0 2px 3px #20222603;overflow:hidden;transform:none;content-visibility:visible!important}
.appVisual30 .socialCard29 .communityOpen29{flex:1;display:flex;flex-direction:column;text-align:left;min-width:0}
.appVisual30 .socialCard29 .communityImg{flex:none;aspect-ratio:3/4;width:100%;padding:14px 12px 42px;background:#F2F3F5;isolation:isolate;box-sizing:border-box}
.appVisual30 .socialCard29 .communityImg img{width:100%;height:100%;max-height:100%;object-fit:contain!important;object-position:center;filter:drop-shadow(0 3px 5px #20222616);border-radius:1px}
.appVisual30 .socialCard29 .communityImg .publicStatusBadge{top:auto;bottom:10px;left:10px;max-width:calc(100% - 20px);border-radius:7px;min-height:24px;padding:3px 7px;font-size:calc(10px * var(--mc-text-scale,1));line-height:1.5;border-width:1px;box-shadow:none;white-space:normal;text-align:left}
.appVisual30 .socialCard29 .communityBody{padding:13px 12px 3px;width:100%;height:auto;min-height:0;box-sizing:border-box;overflow:visible;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.appVisual30 .socialCard29 .communityPlayer{color:var(--ui30-ink);font-size:calc(15px * var(--mc-text-scale,1));line-height:1.35;font-weight:700;letter-spacing:-.025em;margin-bottom:5px;white-space:normal;overflow-wrap:anywhere;min-height:0}
.appVisual30 .socialCard29 .communityMeta{height:auto;min-height:2.9em;font-size:calc(11px * var(--mc-text-scale,1));line-height:1.5;color:var(--ui30-muted);-webkit-line-clamp:2;overflow-wrap:anywhere;width:100%}
.appVisual30 .cardChips29{gap:4px;margin-top:9px;margin-bottom:2px}
.appVisual30 .cardChips29>span{font-size:calc(10px * var(--mc-text-scale,1));line-height:1.35;font-weight:550;padding:3px 5px;border:1px solid #E2E4E8;border-radius:5px;background:#F2F3F5;color:#62666E}
.appVisual30 .socialCard29 .publicAskPrice{margin:11px 0 3px;gap:3px}
.appVisual30 .socialCard29 .publicAskPrice strong{font-size:calc(18px * var(--mc-text-scale,1));font-weight:750;color:var(--ui30-accent);line-height:1.3;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.appVisual30 .socialCard29 .publicAskPrice small{font-size:calc(10px * var(--mc-text-scale,1));line-height:1.4;color:var(--ui30-muted)}
.appVisual30 .communitySocial29{gap:4px;padding:6px 8px 7px 11px;margin-top:auto}
.appVisual30 .communitySocial29 .collectorOwner{min-height:44px;gap:6px;font-size:calc(11px * var(--mc-text-scale,1));color:#62666E;padding:3px 0;overflow:hidden}
.appVisual30 .communitySocial29 .collectorAvatar{width:24px;height:24px;flex:none;border:1px solid #E2E4E8;background:#F2F3F5;color:#62666E;font-size:11px}
.appVisual30 .cardLike29{min-width:44px;min-height:44px;gap:4px;font-size:calc(11px * var(--mc-text-scale,1));padding:4px;color:#62666E;border-radius:12px;transition:background-color .15s ease,color .15s ease}
.appVisual30 .cardLike29 svg{width:18px;height:18px}
.appVisual30 .cardLike29.isLiked{color:#b04b61}
.appVisual30 .cardLike29.isLiked svg{fill:#b04b6120}
.appVisual30 .cardLike29:active{background:#f4ecec}
.appVisual30 .socialCard29 .adminDiscoverAction{min-height:44px;font-size:calc(12px * var(--mc-text-scale,1));border-color:#edd9d6;color:#a9463e;background:#fff8f7}
.appVisual30 .publicStatus-selling{background:#e2f2e8;color:#246344;border-color:#c5e1cf}
.appVisual30 .publicStatus-collecting{background:#fbf1c9;color:#81650e;border-color:#e9d991}
.appVisual30 .publicStatus-sold{background:#fae4e3;color:#a13e39;border-color:#ebc3c1}
.appVisual30 #discoverList>.feedStatus{grid-column:1/-1;padding:18px 6px;color:var(--ui30-muted);font-size:calc(12px * var(--mc-text-scale,1));line-height:1.65;text-align:center}
.appVisual30 #discoverList>.feedStatus:only-child{padding:36px 22px;background:#fff;border:1px solid var(--ui30-line);border-radius:18px;font-size:calc(14px * var(--mc-text-scale,1))}
.appVisual30 #discoverList>.feedStatus button{display:block;min-height:44px;margin:14px auto 0;padding:10px 20px;background:#fff;border:1px solid var(--ui30-line);color:var(--ui30-accent);font-size:calc(14px * var(--mc-text-scale,1));border-radius:12px}
/* The sheet has a single content scroller and a real footer, not an overlay on the card. */
.appVisual30 #passportBg>.sheet.passportSheet30{display:flex;flex-direction:column;overflow:hidden;padding:0;background:var(--ui30-bg);scrollbar-gutter:auto;color:var(--ui30-ink)}
.appVisual30 #passportBg .passportHeader26{flex:none;position:relative;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;min-height:61px;background:var(--ui30-bg);border-bottom:1px solid var(--ui30-line);gap:10px}
.appVisual30 .passportHeader26>b{font-size:calc(16px * var(--mc-text-scale,1));font-weight:650;letter-spacing:-.01em}
.appVisual30 .passportHeader26 button{border-radius:13px;background:#fff;color:var(--ui30-ink);border:1px solid var(--ui30-line);display:flex;justify-content:center;align-items:center}
.appVisual30 #passportContent{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 18px 26px;scroll-padding:18px;scrollbar-gutter:stable}
.appVisual30 .passportVisual26{height:clamp(255px,42dvh,400px);min-height:0;margin:0;padding:22px 28px;box-sizing:border-box;border:1px solid #E2E4E8;border-radius:20px;background:#F2F3F5}
.appVisual30 .passportVisual26>img{max-width:100%;max-height:100%;width:auto;height:100%;object-fit:contain;border-radius:2px;filter:drop-shadow(0 7px 12px #20222625)}
.appVisual30 .photoPending26{font-size:calc(14px * var(--mc-text-scale,1));color:var(--ui30-muted);line-height:1.6;text-align:center}
.appVisual30 .passportIdentity26{padding:16px 1px 19px}
.appVisual30 .passportState30{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px;min-height:44px}
.appVisual30 .passportState30>.publicStatusBadge{position:static;min-height:28px;font-size:calc(12px * var(--mc-text-scale,1));line-height:1.4;padding:5px 9px;border-radius:8px;box-shadow:none;white-space:normal}
.appVisual30 .passportState30 .passportSocial29{padding:0;margin:0;border:0;gap:0}
.appVisual30 .passportState30 .passportSocial29>span{display:none}
.appVisual30 .passportState30 .detailLike29{min-height:44px;padding:8px 12px;border-radius:13px;background:white;border:1px solid var(--ui30-line);font-size:calc(13px * var(--mc-text-scale,1));gap:7px}
.appVisual30 .passportState30 .likeCaption29{font-size:calc(12px * var(--mc-text-scale,1))}
.appVisual30 .passportEyebrow26{font-size:calc(12px * var(--mc-text-scale,1));font-weight:600;color:var(--ui30-muted);line-height:1.5;letter-spacing:.025em}
.appVisual30 .passportIdentity26 h1{font-size:calc(28px * var(--mc-text-scale,1));line-height:1.2;font-weight:730;letter-spacing:-.045em;color:var(--ui30-ink);margin:7px 0 8px}
.appVisual30 .passportIdentity26>p{font-size:calc(14px * var(--mc-text-scale,1));line-height:1.55;color:#62666E;overflow-wrap:anywhere}
.appVisual30 .passportPrice26{padding:15px 0 0;margin-top:18px;gap:12px;flex-wrap:wrap;align-items:baseline;border-color:var(--ui30-line)}
.appVisual30 .passportPrice26 small{font-size:calc(12px * var(--mc-text-scale,1));color:var(--ui30-muted)}
.appVisual30 .passportPrice26 strong{font-size:calc(25px * var(--mc-text-scale,1));font-weight:730;letter-spacing:-.04em;color:var(--ui30-accent);overflow-wrap:anywhere;min-width:0;font-variant-numeric:tabular-nums}
.appVisual30 .passportOwner26{border-radius:17px;border-color:var(--ui30-line);padding:15px;min-height:78px;background:#fff;color:var(--ui30-ink);gap:12px}
.appVisual30 .passportOwner26 .collectorAvatar{width:42px;height:42px;background:#F2F3F5;border:1px solid #E2E4E8;color:#62666E}
.appVisual30 .passportOwner26 b{font-size:calc(15px * var(--mc-text-scale,1));line-height:1.35;font-weight:650}
.appVisual30 .passportOwner26 small{font-size:calc(11px * var(--mc-text-scale,1));color:var(--ui30-muted);line-height:1.4}
.appVisual30 .passportOwner26>svg{width:18px;color:#62666E}
.appVisual30 .passportSection26{margin:24px 0}
.appVisual30 .passportSection26 h2{font-size:calc(14px * var(--mc-text-scale,1));font-weight:650;line-height:1.4;color:#62666E;margin:0 3px 11px}
.appVisual30 .passportSection26 dl,.appVisual30 .passportTools26,.appVisual30 .passportTimeline26{border-color:var(--ui30-line);border-radius:17px;background:white}
.appVisual30 .passportSection26 dl>div{padding:15px;grid-template-columns:minmax(70px,.65fr) minmax(0,1fr);gap:16px;border-color:#E2E4E8;align-items:baseline}
.appVisual30 .passportSection26 dt{color:var(--ui30-muted);font-size:calc(13px * var(--mc-text-scale,1));line-height:1.5;overflow-wrap:anywhere}
.appVisual30 .passportSection26 dd{font-size:calc(14px * var(--mc-text-scale,1));font-weight:550;line-height:1.5;color:var(--ui30-ink)}
.appVisual30 .passportCode26{font-size:calc(11px * var(--mc-text-scale,1));color:#62666E;line-height:1.6;margin:10px 3px 0}
.appVisual30 .passportTools26 .unifiedRow26{min-height:56px;padding:16px;font-size:calc(14px * var(--mc-text-scale,1));font-weight:550;color:var(--ui30-ink);border-color:#E2E4E8;line-height:1.5}
.appVisual30 .passportTools26 .unifiedRow26 svg{color:#62666E}
.appVisual30 .passportHistory30{border:1px solid var(--ui30-line);border-radius:17px;background:#fff;margin:24px 0 0;overflow:hidden}
.appVisual30 .passportHistory30>summary{display:flex;align-items:center;gap:10px;min-height:56px;padding:15px 16px;list-style:none;font-size:calc(14px * var(--mc-text-scale,1));font-weight:600;line-height:1.5;color:var(--ui30-ink);cursor:pointer;box-sizing:border-box}
.appVisual30 .passportHistory30>summary::-webkit-details-marker{display:none}
.appVisual30 .passportHistory30>summary>span{flex:1;min-width:0}
.appVisual30 .passportHistory30>summary>small{font-size:calc(12px * var(--mc-text-scale,1));font-weight:500;color:var(--ui30-muted)}
.appVisual30 .passportHistory30>summary>i{width:7px;height:7px;border-right:1.5px solid #E2E4E8;border-bottom:1.5px solid #E2E4E8;transform:rotate(45deg);margin:0 3px 4px;flex:none}
.appVisual30 .passportHistory30[open]>summary>i{transform:rotate(225deg);margin-top:7px}
.appVisual30 .passportHistory30>.passportSection26{margin:0;padding:0 15px 8px;border-top:1px solid var(--ui30-line)}
.appVisual30 .passportHistory30 .passportSectionTitle26{justify-content:flex-end}
.appVisual30 .passportHistory30 .passportSectionTitle26:empty{display:none}
.appVisual30 .passportHistory30 .passportTimeline26{border:0;border-radius:0;padding:0}
.appVisual30 .passportTimeline26 strong{font-size:calc(14px * var(--mc-text-scale,1));color:var(--ui30-ink)}
.appVisual30 .passportTimeline26 p{font-size:calc(12px * var(--mc-text-scale,1));color:var(--ui30-muted);line-height:1.55}
.appVisual30 .passportHistory30 .unifiedEmpty26{font-size:calc(13px * var(--mc-text-scale,1));padding:20px 5px;margin:0;color:var(--ui30-muted)}
.appVisual30 .passportSheet30>.passportDock30{position:relative;bottom:auto;flex:none;margin:0;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--ui30-line);background:var(--ui30-bg);gap:10px;box-sizing:border-box}
.appVisual30 .passportDock30 button{min-height:50px;border-radius:14px;padding:12px 14px;line-height:1.45;font-size:calc(15px * var(--mc-text-scale,1));font-weight:650}
.appVisual30 .passportDock30 .primaryAction26{background:var(--ui30-accent);border-color:var(--ui30-accent);color:white}
.appVisual30 .passportDock30 .secondaryAction26{background:white;border-color:#E2E4E8;color:var(--ui30-accent)}
.appVisual30 .passportHistory30>summary:focus-visible,.appVisual30 .discover29 button:focus-visible,.appVisual30 .socialCard29 button:focus-visible{outline:3px solid #34373D;outline-offset:-3px}
@media(min-width:700px){
 .appVisual30 .communityGrid:has(.socialCard29){gap:20px}
 .appVisual30 .socialCard29 .communityImg{padding:20px 17px 44px}
 .appVisual30 .socialCard29 .communityBody{padding:16px 15px 4px}
 .appVisual30 .communitySocial29{padding:6px 11px 8px 14px}
 .appVisual30 .socialCard29 .communityPlayer{font-size:calc(17px * var(--mc-text-scale,1))}
 .appVisual30 .socialCard29 .communityMeta{font-size:calc(12px * var(--mc-text-scale,1))}
 .appVisual30 .discover29 .discoverTabs29 #discoverSort{font-size:calc(13px * var(--mc-text-scale,1));max-width:250px}
}
@media(min-width:760px){
 .appVisual30 #passportBg .passportHeader26{padding-top:10px}
 .appVisual30 #passportContent{padding:22px 26px 30px}
 .appVisual30 .passportVisual26{height:390px}
 .appVisual30 .passportSheet30>.passportDock30{padding-left:26px;padding-right:26px}
}
@media(max-width:360px){
 .appVisual30 .communityGrid:has(.socialCard29){gap:13px 9px}
 .appVisual30 .socialCard29 .communityImg{padding:11px 8px 40px}
 .appVisual30 .socialCard29 .communityBody{padding:11px 9px 2px}
 .appVisual30 .communitySocial29{padding:5px 5px 5px 8px;gap:0}
 .appVisual30 .communitySocial29 .collectorOwner{gap:4px;font-size:calc(10px * var(--mc-text-scale,1))}
 .appVisual30 .communitySocial29 .collectorAvatar{width:21px;height:21px}
 .appVisual30 .cardLike29{min-width:44px;padding:4px 2px;gap:3px}
 .appVisual30 #discoverEntries29{gap:8px}
 .appVisual30 #discoverEntries29>button{padding:12px 10px;gap:7px}
 .appVisual30 #discoverEntries29 b{font-size:calc(13px * var(--mc-text-scale,1))}
 .appVisual30 #discoverEntries29 small{font-size:calc(10px * var(--mc-text-scale,1))}
 .appVisual30 #passportContent{padding:14px 14px 24px}
 .appVisual30 .passportVisual26{height:265px;padding:20px;border-radius:17px}
 .appVisual30 .passportIdentity26 h1{font-size:calc(26px * var(--mc-text-scale,1))}
 .appVisual30 .passportSheet30>.passportDock30{padding-left:14px;padding-right:14px}
}
@media(prefers-reduced-motion:reduce){
 .appVisual30 .cardLike29,.appVisual30 .socialCard29,.appVisual30 #passportBg *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* Keep the existing own-card scroller for photo gestures, avatar and editor integrations. */
.appVisual30 #cardDetailBg:has(.ownDetailShell30){padding:0;align-items:stretch}
.appVisual30 .ownDetailShell30{display:flex;flex-direction:column;width:min(620px,100%);height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;background:var(--ui30-bg);border-radius:0;box-shadow:0 -12px 36px #2022261a}
.appVisual30 .ownDetailShell30>#cardDetailContent{flex:1;min-height:0;min-width:0;width:100%;height:auto;max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:0;padding:18px 18px 26px;box-shadow:none;background:var(--ui30-bg)}
.appVisual30 .ownDetailShell30>.cardDetailTop{position:relative;flex:none;top:auto;height:auto;min-height:61px;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:var(--ui30-bg);border-bottom:1px solid var(--ui30-line);backdrop-filter:none}
.appVisual30 .ownDetailShell30>.cardDetailTop>b{font-size:calc(16px * var(--mc-text-scale,1));font-weight:650;line-height:1.4}
.appVisual30 .ownDetailShell30>.cardDetailTop button{height:44px;min-width:44px;border:1px solid var(--ui30-line);border-radius:13px;background:white;color:var(--ui30-ink);display:flex;align-items:center;justify-content:center;padding:6px}
.appVisual30 .ownDetailShell30>.ownDetailDock30{position:relative;flex:none;display:grid;grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:8px;margin:0;border-top:1px solid var(--ui30-line);background:var(--ui30-bg);padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
.appVisual30 .ownDetailShell30>.ownDetailDock30 button{height:auto;min-width:0;min-height:60px;padding:9px 4px;gap:5px;border-radius:13px;border:1px solid #E2E4E8;background:white;font-size:calc(12px * var(--mc-text-scale,1));font-weight:600;line-height:1.35;color:var(--ui30-accent);overflow-wrap:anywhere}
.appVisual30 .ownDetailShell30>.ownDetailDock30 button>span{display:flex;color:inherit;line-height:1}
.appVisual30 .ownDetailDock30 svg{width:21px;height:21px;flex:none}
.appVisual30 .ownDetailShell30>.ownDetailDock30 .ownDetailPrimary30{background:var(--ui30-accent);border-color:var(--ui30-accent);color:white}
.appVisual30 .ownDetailDock30 button:focus-visible{outline:3px solid #34373D;outline-offset:2px}
@media(min-width:760px){
 .appVisual30 #cardDetailBg:has(.ownDetailShell30){padding:24px;align-items:center}
 .appVisual30 .ownDetailShell30{height:calc(100dvh - 48px);max-height:900px;border-radius:24px}
 .appVisual30 .ownDetailShell30>.cardDetailTop{padding-top:10px}
 .appVisual30 .ownDetailShell30>#cardDetailContent{padding:22px 24px 30px}
 .appVisual30 .ownDetailShell30>.ownDetailDock30{padding-left:24px;padding-right:24px}
}
@media(max-width:360px){
 .appVisual30 .ownDetailShell30>#cardDetailContent{padding:14px 14px 24px}
 .appVisual30 .ownDetailShell30>.ownDetailDock30{gap:6px;padding-left:14px;padding-right:14px}
}
/* Replaced images must not size their grid track from intrinsic pixels. */
.appVisual30 .ownDetailShell30 .cardDetailImage{display:flex;align-items:center;justify-content:center;flex:none;min-width:0;min-height:0;height:min(340px,43dvh);max-height:none;box-sizing:border-box;overflow:hidden}
.appVisual30 .ownDetailShell30 .cardDetailImage>img{display:block;flex:0 1 auto;min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
/* Take the photograph out of intrinsic grid sizing, with explicit room for the status. */
.appVisual30 .collectionImageV3{--photo-edge30:13px;--photo-top30:16px;--photo-footer30:calc(22px + 24px * var(--mc-text-scale,1));display:block;position:relative;width:100%;min-width:0;min-height:0;aspect-ratio:3/4;padding:0;box-sizing:border-box;overflow:hidden}
.appVisual30 .collectionImageV3>img{position:absolute;display:block;left:var(--photo-edge30);top:var(--photo-top30);width:calc(100% - var(--photo-edge30) - var(--photo-edge30));height:calc(100% - var(--photo-top30) - var(--photo-footer30));min-width:0;min-height:0;max-width:calc(100% - var(--photo-edge30) - var(--photo-edge30));max-height:calc(100% - var(--photo-top30) - var(--photo-footer30));object-fit:contain;object-position:center}
.appVisual30 .collectionImageV3>.cardState{z-index:1;bottom:9px;top:auto}
.appVisual30 .listImageV3{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}
.appVisual30 .listImageV3>img{display:block;min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.appVisual30 .collectionImageV3>span{position:absolute;inset:var(--photo-top30) var(--photo-edge30) var(--photo-footer30);display:grid;place-items:center;text-align:center;color:var(--ui30-muted);font-size:calc(12px * var(--mc-text-scale,1))}
