/* Illustrated scenes occupy real space; copy remains on a legible surface. */
.bento-card { min-height:0; display:flex; flex-direction:column; padding:0; }
.bento-card::after { display:none; }
.bento-card .card-topline { position:absolute; top:18px; left:18px; right:18px; padding:0; z-index:3; }
.bento-card .card-topline > span { padding:8px 11px; border:1px solid #dcc0ce40; border-radius:20px; background:#1d141bd9; color:#f1dce5; backdrop-filter:blur(8px); }
.scene-card-art { position:relative; width:100%; aspect-ratio:1.5; overflow:hidden; border-bottom:1px solid #b5809444; }
.bento-card .scene-card-art img { position:static; width:100%; height:100%; object-fit:cover; object-position:center; opacity:1; filter:none; transform:none; }
.bento-card .card-copy { position:relative; inset:auto; padding:26px 28px 28px; display:flex; flex:1; flex-direction:column; background:linear-gradient(125deg,#2c1c27,#1a1219); }
.bento-card .card-copy h3 { margin:0 0 15px; font-size:clamp(32px,3.1vw,44px); line-height:1.12; }
.bento-card .card-copy p { max-width:none; margin-bottom:22px; }
.bento-card .card-copy .text-link { align-self:flex-start; margin-top:auto; }
.bento-create,.bento-safe { grid-column:span 6; }

/* Original owner PNG over an illustrated alcove, with no character redraw. */
.mms-owner-grid { max-width:1120px; }
.mms-owner-grid .owner-card { grid-template-columns:46% 54%; min-height:430px; }
.mms-owner-grid .owner-card-media { background:linear-gradient(0deg,#1c131d22,#1c131d11),url('assets/mms-scene-room-v1.png') center/cover; }
.mms-owner-grid .owner-card-media::after { background:linear-gradient(0deg,#1d141b33,transparent 40%); }
.mms-owner-grid .owner-card-media img { position:absolute; inset:0; object-fit:contain; object-position:center bottom; width:100%; height:100%; }
.mms-owner-grid .owner-card-copy { padding:68px 32px 28px; min-height:0; background:linear-gradient(135deg,#392331,#1d141b); }
.mms-owner-grid .owner-role { left:calc(46% + 32px); }
.mms-owner-grid .owner-card-copy h3 { font-size:56px; }
.owner-topics { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 25px; list-style:none; }
.owner-topics li { padding:7px 10px; border:1px solid #c58b9e40; border-radius:20px; color:#d6b5c3; font-size:11px; }
.mms-owner-grid .owner-contact { margin-top:0; }

/* Chat administrators use their own existing character portraits. */
.mms-art-page .admins-hero .admin-portrait-gallery { inset:150px 3% 115px 56%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:center; }
.mms-art-page .admins-hero .admin-portrait-gallery::before { display:none; }
.admin-portrait-gallery figure { position:relative; margin:0; min-width:0; height:82%; overflow:hidden; border:1px solid #b8859b70; border-radius:70px 70px 14px 14px; background:#281a23; box-shadow:0 20px 50px #0005; }
.admin-portrait-gallery figure:nth-child(2) { transform:translateY(28px); }
.mms-art-page .hero .admin-portrait-gallery img { position:static; width:100%; height:100%; object-fit:cover; object-position:50% 17%; filter:saturate(.65); }
.admin-portrait-gallery figcaption { position:absolute; inset:auto 0 0; padding:50px 4px 20px; color:#f2e8ee; font:500 24px var(--serif); text-align:center; background:linear-gradient(transparent,#1b101def); }
.mms-art-page .admins-hero .hero-copy { max-width:52%; }
.admins-hero .hero-stamp { display:none; }
.admin-card .owner-card-media img,.admin-card:hover .owner-card-media img { filter:saturate(.7) contrast(.98); }
.admin-card .owner-card-copy { min-height:0; }
.admin-card .owner-contact { margin-top:20px; }
.admin-recruit-portraits img { filter:saturate(.65); opacity:.85; }

/* Life and TikTok contacts now have character artwork as well. */
.admin-channel-card { padding:0; overflow:hidden; align-items:stretch; }
.channel-portrait { width:100%; aspect-ratio:1; overflow:hidden; background:#231a25; }
.channel-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.channel-card-copy { display:flex; flex:1; flex-direction:column; padding:24px; background:linear-gradient(140deg,#32202c,#1d141b); }
.channel-card-copy .admin-channel-badge { margin-bottom:14px; }
.channel-card-copy h3 { font:500 40px/1.1 var(--serif); margin-bottom:10px; }
.channel-card-copy .admin-channel-handle { margin-bottom:16px; }
.channel-card-copy > p:not(.eyebrow) { color:#d6c5ce; font-size:14px; line-height:1.7; margin-bottom:22px; }
.channel-card-copy .button { margin-top:auto; width:100%; font-size:10px; padding-inline:12px; }
.channel-killua { display:grid; grid-template-columns:43% 57%; }
.channel-killua .channel-portrait { height:100%; min-height:350px; aspect-ratio:auto; }
.channel-killua .channel-portrait img { object-position:center 15%; }
.channel-killua .channel-card-copy { padding:30px; justify-content:center; }
.channel-killua .channel-card-copy .button { margin-top:8px; }

/* Thematic backgrounds replace repeated floating portraits. */
.mms-art-page .hero .scene-hero { overflow:hidden; border-radius:24px; border:1px solid #c392a340; }
.mms-art-page .hero .scene-hero::before { display:none; }
.mms-art-page .hero:not(.home-hero):not(.admins-hero) .scene-hero img { width:100%; height:100%; object-fit:cover; object-position:center; }
.mms-art-page .final-cta-media img { width:100%; height:100%; margin:0; object-fit:cover; object-position:center; opacity:.65; mask-image:none; filter:none; }
.final-cta-media::after { background:linear-gradient(90deg,#120d14e8,#120d1488 60%,#120d1433); }
.mms-art-page .fandom-panorama > img { width:100%; margin:0; object-fit:cover; object-position:center 35%; opacity:.65; }
.mms-art-page .impact-cast,.mms-art-page .admin-duty-media { width:100%; height:100%; inset:0; object-fit:cover; opacity:.34; }
.mms-art-page .team-help-card .team-help-portrait { width:100%; height:100%; inset:0; object-fit:cover; object-position:center; opacity:.4; mask-image:none; }
.team-help-card::after { background:linear-gradient(90deg,#140f17ea,#140f17bb 60%,#140f1777); }
.mms-art-page .rest-guide-media img { width:100%; height:100%; object-fit:cover; object-position:center; opacity:.3; }
.media-link-visual { aspect-ratio:1.5; }
.media-link-visual > img,.media-link-tiktok .media-link-visual > img,.media-link-life .media-link-visual > img { padding:0; object-fit:cover; object-position:center; opacity:1; }
.media-link-overlay { background:linear-gradient(0deg,#1d141b55,transparent 35%); }
.media-link-copy { background:linear-gradient(135deg,#32202a,#1d141b); }
.media-note-card { background:linear-gradient(90deg,#1c131eee,#1c131ecc),url('assets/mms-scene-letters-v1.png') center/cover; }
.meimei-rules::before { background:linear-gradient(90deg,#100d10e8,#100d10a0),url('assets/mms-scene-roles-v1.png') center/cover; }

/* Compact text panels gain visual detail without hiding their content. */
.rules-detail-card,.admin-duty-grid article,.rest-guide-grid article,.admin-recruit-roles article { position:relative; overflow:hidden; min-height:0; padding:26px; border:1px solid #bb899d40; border-radius:16px; background:linear-gradient(120deg,#251824f2,#251824d9),url('assets/mms-scene-room-v1.png') center/cover; }
.rules-detail-card:nth-child(3n+2),.admin-duty-grid article:nth-child(2),.rest-guide-grid article:nth-child(2) { background-image:linear-gradient(120deg,#251824f2,#251824d9),url('assets/mms-scene-chat-v1.png'); }
.rules-detail-card:nth-child(3n),.admin-duty-grid article:nth-child(3),.rest-guide-grid article:nth-child(3) { background-image:linear-gradient(120deg,#251824f2,#251824d9),url('assets/mms-scene-letters-v1.png'); }
.rules-detail-card::after,.admin-duty-grid article::after,.rest-guide-grid article::after { content:'✦'; position:absolute; top:20px; right:22px; bottom:auto; width:auto; height:auto; border:0; font:24px var(--serif); color:#ce9bb275; pointer-events:none; }
.rules-detail-card > span,.admin-duty-grid article > span { margin-bottom:24px; }
.rules-detail-card h3,.admin-duty-grid h3 { padding-right:16px; }
.staff-rules-card { background:linear-gradient(90deg,#201520ee,#201520cc),url('assets/mms-scene-letters-v1.png') center/cover; }
.admin-recruit-card { background:linear-gradient(90deg,#1e1520ee,#1e1520aa),url('assets/mms-scene-studio-v1.png') center/cover; }
.rule-card,.join-steps > li { min-height:0; background:linear-gradient(135deg,#241723ed,#241723cc),url('assets/mms-scene-room-v1.png') center/cover; }
.join-steps > li:nth-child(2) { background-image:linear-gradient(135deg,#241723ed,#241723cc),url('assets/mms-scene-roles-v1.png'); }
.join-steps > li:nth-child(3) { background-image:linear-gradient(135deg,#241723ed,#241723cc),url('assets/mms-scene-letters-v1.png'); }
.join-steps > li:nth-child(4) { background-image:linear-gradient(135deg,#241723ed,#241723cc),url('assets/mms-scene-chat-v1.png'); }

@media(max-width:1080px) {
 .mms-art-page .admins-hero .admin-portrait-gallery { left:58%; gap:7px; }
 .admin-portrait-gallery figcaption { font-size:18px; }
 .mms-art-page .admins-hero .hero-copy { max-width:55%; }
}
@media(max-width:720px) {
 .bento-create,.bento-safe { grid-column:1; }
 .bento-card .card-topline { top:12px; left:12px; right:12px; }
 .bento-card .card-topline > span { padding:6px 9px; font-size:8px; }
 .bento-card .card-copy { padding:22px; }
 .bento-card .card-copy h3 { font-size:34px; }
 .mms-owner-grid .owner-card { grid-template-columns:1fr; grid-template-rows:330px auto; min-height:0; }
 .mms-owner-grid .owner-card-copy { padding:26px 24px; }
 .mms-owner-grid .owner-card-copy h3 { font-size:48px; }
 .mms-owner-grid .owner-role { left:20px; }
 .mms-art-page .admins-hero .admin-portrait-gallery { inset:110px 16px auto; max-width:420px; height:270px; gap:10px; }
 .admin-portrait-gallery figure { height:90%; border-radius:50px 50px 12px 12px; }
 .admin-portrait-gallery figure:nth-child(2) { transform:translateY(10px); }
 .admin-portrait-gallery figcaption { padding-bottom:12px; font-size:20px; }
 .mms-art-page .admins-hero .hero-content { padding-top:420px; }
 .mms-art-page .admins-hero .hero-copy { max-width:100%; }
 .channel-killua { display:flex; }
 .channel-killua .channel-portrait { height:auto; aspect-ratio:1; min-height:0; }
 .channel-killua .channel-card-copy { padding:24px; }
 .mms-art-page .hero .scene-hero { max-width:420px; }
 .mms-art-page .final-cta-media img { opacity:.4; }
 .rules-detail-card,.admin-duty-grid article,.rest-guide-grid article { padding:24px; }
}
