/* Photo colour correction is applied only to the supplied reference photos.
   Custom replacement graphics retain their own colours. All geometry stays local. */
:root{--coin-depth:8px;--coin-diameter:180px}
.gaa-banner-coin .coin-rim{display:none}
.coin-material-club .coin-face img:not(.gaa-custom-coin){filter:grayscale(.5) saturate(.7) brightness(1.06) contrast(1.04)}
.coin-material-staff .coin-face img:not(.gaa-custom-coin){filter:grayscale(.4) saturate(.7) brightness(1.04) contrast(1.04)}
.gaa-banner-coin .coin-material-club .coin-face img:not(.gaa-custom-coin){filter:grayscale(.5) saturate(.7) brightness(1.06) contrast(1.04)}
.coin-place{--coin-diameter:180px;--coin-depth:10px;--coin-hover:18px;transform-style:preserve-3d}
.coin-place>.coin{transform-style:preserve-3d}
.coin-face{transform:translateZ(calc(var(--coin-depth)/2));border:1px solid #bec4c7;box-shadow:inset 0 0 0 2px #333b3f,0 0 0 1px #22282c}
.coin-face.back{transform:rotateY(180deg) translateZ(calc(var(--coin-depth)/2))}
.coin-face:after{background:linear-gradient(125deg,#fff2,transparent 35%,transparent 68%,#0003);box-shadow:inset 0 0 9px #0005}
.coin-edge{display:none}
.coin-rim{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.coin-rim>span{position:absolute;left:50%;top:50%;width:calc(var(--coin-diameter)*.051);height:var(--coin-depth);transform:translate(-50%,-50%) rotateZ(var(--rim-angle)) translateY(calc(var(--coin-diameter)*-.496)) rotateX(90deg);background:repeating-linear-gradient(90deg,#ffffff2b 0 1px,#00000020 1px 2px),linear-gradient(0deg,#353a3e,hsl(210 5% var(--rim-light)) 22%,#cbd0d3 49%,hsl(210 5% var(--rim-light)) 78%,#363d42);backface-visibility:visible}
body.login .stage{background:radial-gradient(ellipse at 50% 36%,#8c9eac16,transparent 55%);isolation:isolate}
@supports(overflow:clip){body.login .stage,.coin-mirrors{overflow:clip}}
body.login .stage:after{content:'';position:absolute;inset:43% 0 0;z-index:-1;background:radial-gradient(ellipse at 50% 45%,#a7c6d70c,transparent 70%);pointer-events:none}
body.login .floor{top:46%;left:-16%;width:132%;height:65%;transform:perspective(800px) rotateX(20deg);transform-origin:50% 0;background:linear-gradient(180deg,#9db6c10c,#171e230a 25%,#0c1116 95%);border-top:1px solid #c2dbe50d;box-shadow:0 -24px 85px #b6d8ec06;z-index:-1;pointer-events:none}
body.login .beam{opacity:.8}
.coin-place>.coin{filter:none}
/* Moved into a separate layer by coins.js, keeping all mirror images behind coins. */
.coin-mirrors{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;clip-path:polygon(0 46%,100% 46%,100% 100%,0 100%)}
.coin-place{z-index:2}
.coin-reflection{position:absolute;left:0;top:calc(100% + var(--coin-hover)*2);width:100%;height:100%;transform:perspective(850px) rotateX(60deg);transform-origin:50% 0;opacity:.24;filter:blur(.7px);mask-image:linear-gradient(to bottom,#0009 0%,#0007 22%,#0002 65%,transparent 92%);transition:none;pointer-events:none;perspective:1100px}
.coin-place.hero .coin-reflection{opacity:.24}
.coin-mirror-flip{position:absolute;inset:0;transform:scaleY(-1);transform-style:preserve-3d}
.coin-reflection .coin{animation:none;transform:none;filter:none!important;transform-style:preserve-3d}
.coin-reflection .coin-face{box-shadow:inset 0 0 0 2px #333b3f}
.coin-ground-shadow{position:absolute;top:calc(100% + var(--coin-hover) - 4px);left:8%;width:84%;height:14px;border-radius:50%;background:radial-gradient(ellipse,#0008,transparent 72%);filter:blur(5px);pointer-events:none}
.coin-mirrors .coin-ground-shadow{top:0;left:8%;margin-top:calc(var(--coin-hover)*-1);height:12px;filter:blur(7px)}
body.login .stage-caption,body.login .motion-control{z-index:8}
@media(max-width:900px){.coin-reflection{opacity:.2;transform:perspective(650px) rotateX(63deg)}body.login .stage-caption{bottom:9px}body.login .motion-control{bottom:7px}}
@media(prefers-reduced-motion:reduce){.coin-reflection .coin{transform:none!important}}
