.home-page .community-section{padding-top:48px;padding-bottom:54px;overflow:hidden;isolation:isolate}
.community-section>h2{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;text-align:left;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:600;font-size:clamp(48px,5.5vw,76px);line-height:1.03;letter-spacing:-.6px}
.community-section>h2 span{color:#ffe430}
.community-scene{position:relative;width:min(100%,1180px);margin:34px auto 0;container-type:inline-size;isolation:isolate}
.community-scene::before{content:'';position:absolute;inset:0 -4%;z-index:-1;background:radial-gradient(ellipse at 52% 48%,#d5af2730 0%,#ffee3518 32%,#be971509 58%,transparent 72%);pointer-events:none}
/* Usable, full-figure fallback before enhancement or when scripting is unavailable. */
.community-ensemble{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:24px 12px;list-style:none;margin:0;padding:15px 0 35px}
.community-member{position:relative;min-width:0;height:260px;z-index:1;align-self:end}
.community-member:has(:hover),.community-member:has(:focus-visible),.community-member:has([aria-pressed=true]){z-index:1000!important}
.community-character{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;color:#ffe430;outline:none;touch-action:manipulation}
.character-art{display:block;position:relative;height:100%;transition:filter .25s ease,transform .25s ease;filter:drop-shadow(0 7px 6px #0009) drop-shadow(0 0 7px #eac72822);transform-origin:center bottom}
.character-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;transform:translateY(var(--character-offset,0px)) scale(var(--character-scale,1));transform-origin:center bottom}
.community-member[data-framing="soft"] .character-art{mask-image:linear-gradient(#000 85%,transparent 100%)}
.character-name{position:absolute;left:50%;bottom:-24px;transform:translate(-50%,6px);display:block;max-width:220px;padding:6px 14px 8px;white-space:nowrap;font-family:'daCAT Anonymous',monospace;font-weight:700;font-size:16px;line-height:1.25;background:#090a08ed;box-shadow:0 0 24px #0008;border-bottom:1px solid #ffe43099;border-radius:4px 4px 0 0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.community-character:focus-visible .character-art,.community-character[aria-pressed=true] .character-art{filter:drop-shadow(0 0 10px #ffe43065);transform:translateY(-4px)}
.community-character:focus-visible .character-name,.community-character[aria-pressed=true] .character-name{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(hover:hover){.community-character:hover .character-art{filter:drop-shadow(0 0 10px #ffe43065);transform:translateY(-4px)}.community-character:hover .character-name{opacity:1;visibility:visible;transform:translate(-50%,0)}}
.community-hint{margin:26px 0 0;text-align:center;color:#b7b69a;font-size:14px;line-height:1.5;letter-spacing:.02em}.touch-hint{display:none}.community-controls{display:none}
.community-scene:is(.cast-ready,.mobile-cast-ready) .character-art img{position:absolute;max-width:none;width:var(--art-width);height:var(--art-height);left:var(--art-left);top:var(--art-top);transform:none;object-fit:fill}
@media(min-width:701px){
 /* Give the gold halo the whole section to breathe, fading fully before its edges. */
 .home-page .community-section{position:relative}
 .home-page .community-section::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse closest-side at 50% 54%,#f2c52c36 0%,#e9bd2928 30%,#d3a71d16 54%,#b58a0e08 76%,#b58a0e00 100%);pointer-events:none}
 .community-scene::before{display:none}
 .cast-ready .community-ensemble{display:block;height:var(--cast-height,54cqw);padding:0}
 .cast-ready .community-member{position:absolute;left:var(--cast-x);top:var(--cast-y);width:var(--cast-w);height:var(--cast-h);margin:0;z-index:var(--cast-z)}
}
@media(max-width:700px){
 .home-page .community-section{padding-top:42px;padding-bottom:36px}
 .community-section>h2{font-size:clamp(40px,10.8vw,52px)}.community-section>h2 span{display:block}
 .community-scene{margin-top:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .community-scene::-webkit-scrollbar{display:none}
 .community-scene::before{position:sticky;display:block;top:0;left:0;width:100%;height:386px;margin-bottom:-386px;background:radial-gradient(ellipse at 50% 55%,#ffe43035,transparent 75%)}
 .community-ensemble{display:flex;width:100%;gap:0;padding:var(--mobile-top-space,32px) 0 var(--mobile-bottom-space,48px);min-height:386px}
 .community-member{flex:0 0 100cqw;width:100cqw;height:306px;margin:0;scroll-snap-align:center;scroll-snap-stop:always}
 .community-character{width:min(88cqw,330px);height:100%;margin-inline:auto}
 .mobile-cast-ready .character-art{position:absolute;width:var(--mobile-art-width);height:var(--mobile-art-height);left:50%;margin-left:calc(var(--mobile-art-width) / -2);bottom:calc(-1 * var(--character-offset,0px));overflow:clip}
 .character-name{font-size:14px;padding:5px 8px;bottom:-24px;max-width:90cqw}
 .mobile-cast-ready .character-name{bottom:calc(-24px - max(0px,var(--character-offset,0px)))}
 .community-hint{margin-top:14px}.desktop-hint{display:none}.touch-hint{display:inline}
 .community-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin:4px auto 0;color:#ddd8ac}
 .community-controls button{width:44px;height:44px;border:1px solid #ffe43066;border-radius:8px;background:#17190f;color:#ffe430;font-size:20px}.community-controls button:disabled{opacity:.3}
 .community-position{min-width:48px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:#aaa98c}
}
@media(prefers-reduced-motion:reduce){.character-art,.character-name{transition:none!important}.community-character:is(:hover,:focus-visible,[aria-pressed=true]) .character-art{transform:none}}
.community-section:not(:has(.community-member)){display:none}
/* Full-figure desktop detail, independent of the saved cast sizing and offsets. */
.community-spotlight{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#070807;color:#ffe430;overflow:hidden;overscroll-behavior:contain;isolation:isolate}
.community-spotlight::backdrop{background:#070807}
.community-spotlight[open]{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;column-gap:24px;padding:70px 5vw 62px;box-sizing:border-box}
/* Static light sits behind the natural-color artwork, never on the image itself. */
.community-spotlight::before,.community-spotlight::after{content:'';position:absolute;left:50%;z-index:0;transform:translateX(-50%);pointer-events:none}
.community-spotlight::before{top:-8%;bottom:10%;width:min(88vw,1100px);background:conic-gradient(from 154deg at 50% 0%,transparent 0deg,#f0ead512 12deg,#f0ead51e 26deg,#f0ead512 40deg,transparent 52deg);filter:blur(18px);mask-image:linear-gradient(#000 65%,transparent 100%)}
.community-spotlight::after{bottom:76px;width:min(62vw,720px);height:clamp(50px,12vh,110px);border-radius:50%;background:radial-gradient(ellipse at center,#e8dfbd22 0%,#e8dfbd0a 38%,transparent 70%);filter:blur(12px)}
.community-spotlight-figure{position:relative;z-index:1;grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;gap:14px;align-self:stretch;min-height:0;min-width:0;margin:0;pointer-events:none}
.community-spotlight-art{flex:1;min-height:0;width:100%;max-width:820px;filter:drop-shadow(0 12px 26px #0009)}
.community-spotlight-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:auto}
.community-spotlight figcaption{max-width:100%;flex:0 0 auto;text-align:center;font-family:'daCAT Anonymous',monospace;font-size:clamp(18px,2.2vw,28px);font-weight:700;line-height:1.2;overflow-wrap:anywhere;text-shadow:0 2px 14px #000;pointer-events:auto}
.community-spotlight button{position:relative;z-index:2;display:grid;place-items:center;min-width:52px;min-height:52px;padding:10px;border:1px solid #ffe43066;border-radius:50%;background:#11120ce8;color:#ffe430;cursor:pointer;font-size:26px;line-height:1;transition:background .18s ease,border-color .18s ease}
.community-spotlight button:hover{background:#292813;border-color:#ffe430}
.community-spotlight button:focus-visible{outline:2px solid #ffe430;outline-offset:5px}
.community-spotlight button:disabled{opacity:.3;cursor:default}
.community-spotlight .community-spotlight-close{position:absolute;top:18px;right:24px;display:flex;gap:10px;border-radius:999px;min-height:40px;padding:10px 16px;font-size:14px;font-family:'daCAT Anonymous',monospace}
.community-spotlight-close span{font-size:23px}
.community-spotlight-previous{grid-column:1;grid-row:1}.community-spotlight-next{grid-column:3;grid-row:1}
#community-spotlight-help{position:absolute;z-index:2;bottom:18px;left:20px;right:20px;margin:0;text-align:center;color:#c2bfa7;font-size:12px;line-height:1.5;pointer-events:none}
#community-spotlight-help span{padding:0 8px}
@media(max-width:700px){.community-spotlight[open]{display:none}}
@media(prefers-reduced-motion:reduce){.community-spotlight button{transition:none}}

/* A persistent name belongs to the current mobile community character. */
@media(max-width:700px){
 .community-current{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:150px;max-width:calc(100% - 132px)}
 .community-current-name{color:#ffe430;font-family:'daCAT Anonymous',monospace;font-size:16px;line-height:1.3;font-weight:700;overflow-wrap:anywhere;text-align:center}
 .community-character .character-name{opacity:0;visibility:hidden}
}
/* Source-specific detail framing never touches the cast nodes or saved geometry. */
.community-spotlight-art{position:relative}
.community-spotlight-art img[data-spotlight-adjusted]{position:absolute;width:var(--spotlight-width);height:var(--spotlight-height);left:var(--spotlight-left);top:var(--spotlight-top);max-width:none;object-fit:fill}
.community-spotlight.has-tall-prop[open]{padding-top:12px;padding-bottom:30px}
.community-spotlight.has-tall-prop #community-spotlight-help{bottom:8px}
