/* G&C REV10W FIX38 — global premium interaction language */
:root{
  --gc38-feedback-accent:var(--gc-theme-accent,#58dce8);
  --gc38-feedback-accent-strong:var(--gc-theme-accent-strong,#8df4fb);
  --gc38-feedback-text:var(--gc-theme-text,#f5fdff);
  --gc38-feedback-panel:var(--gc-theme-panel,#0a1b21);
  --gc38-feedback-line:var(--gc-theme-border,rgba(102,220,235,.18));
  --gc38-feedback-secondary:#7d66e8;
  --gc38-platinum-line:rgba(218,195,255,.22);
  --gc38-platinum-bg-1:rgba(203,176,255,.10);
  --gc38-platinum-bg-2:rgba(111,83,175,.08);
  --gc38-platinum-text:#f4eaff;
}
html[data-gc-theme="obsidian-gold"]{--gc38-feedback-secondary:#c99431;--gc38-platinum-line:rgba(239,196,95,.24);--gc38-platinum-bg-1:rgba(239,196,95,.10);--gc38-platinum-bg-2:rgba(120,82,15,.10);--gc38-platinum-text:#fff1c7}
html[data-gc-theme="ash-grey"]{--gc38-feedback-secondary:#8e8e8e;--gc38-platinum-line:rgba(255,255,255,.23);--gc38-platinum-bg-1:rgba(255,255,255,.09);--gc38-platinum-bg-2:rgba(90,90,90,.10);--gc38-platinum-text:#fff}
html[data-gc-theme="esmerelda"]{--gc38-feedback-secondary:#2f805f;--gc38-platinum-line:rgba(121,211,170,.23);--gc38-platinum-bg-1:rgba(67,185,133,.10);--gc38-platinum-bg-2:rgba(25,86,62,.10);--gc38-platinum-text:#effaf5}
html[data-gc-theme="esmerelda-2"]{--gc38-feedback-secondary:#b88a2b;--gc38-platinum-line:rgba(254,210,105,.28);--gc38-platinum-bg-1:rgba(254,210,105,.11);--gc38-platinum-bg-2:rgba(3,56,29,.16);--gc38-platinum-text:#fff3cf}

/* Delegated press feedback uses individual transform properties so it does not
 * overwrite component transform animations. */
.gcFeedbackTarget{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gcFeedbackTarget.gcFeedbackPressed:not(:disabled):not([aria-disabled="true"]){
  scale:.988;translate:0 1px;filter:brightness(1.055);opacity:.965;
}
.gcFeedbackTarget.gcFeedbackActivated:not(:disabled):not([aria-disabled="true"]){animation:gc38Registered .28s ease-out}
@keyframes gc38Registered{0%{filter:brightness(1)}42%{filter:brightness(1.13)}100%{filter:brightness(1)}}

/* Recognised saves / state changes get a slightly richer but short confirmation. */
.gcFeedbackSuccess{animation:gc38Success .52s cubic-bezier(.2,.8,.25,1)}
@keyframes gc38Success{0%{filter:brightness(1)}38%{filter:brightness(1.16) saturate(1.08)}100%{filter:brightness(1)}}

/* Game Detail collection CTAs are intentionally the richest interaction in
 * the general member UI. */
.gameDetailPage .gameHeroCollectionSection .gameActionBtn{position:relative;isolation:isolate;overflow:hidden;transition:scale .16s ease,translate .16s ease,filter .16s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease!important}
.gameDetailPage .gameHeroCollectionSection .gameActionBtn::after{
  content:"";position:absolute;z-index:3;inset:-35% -70%;pointer-events:none;
  background:linear-gradient(108deg,transparent 35%,rgba(255,255,255,.34) 49%,rgba(255,255,255,.10) 55%,transparent 68%);
  transform:translateX(-70%) rotate(2deg);opacity:0;
}
.gameDetailPage .gameHeroCollectionSection .gameActionBtn.gcCollectionPremiumPulse::after{animation:gc38CollectionSheen .62s cubic-bezier(.2,.72,.25,1)}
.gameDetailPage .gameHeroCollectionSection .gameActionBtn.gcCollectionPremiumPulse .gameActionIcon{animation:gc38CollectionIcon .48s cubic-bezier(.2,.85,.25,1)}
.gameDetailPage .gameHeroCollectionSection .gameActionBtn.gcCollectionPremiumSuccess{box-shadow:0 0 0 1px color-mix(in srgb,var(--gc38-feedback-accent) 34%,transparent),0 13px 30px color-mix(in srgb,var(--gc38-feedback-accent) 15%,transparent)!important}
.gameDetailPage .gameHeroCollectionSection .gameActionBtn.gcCollectionPremiumSuccess::before{
  content:"✓";position:absolute;z-index:5;right:7px;top:7px;width:17px;height:17px;display:grid;place-items:center;
  border-radius:999px;background:rgba(6,28,22,.88);color:#dffff2;border:1px solid rgba(180,255,223,.30);font:950 10px/1 system-ui;animation:gc38SuccessDot .48s cubic-bezier(.2,.85,.25,1);
}
@keyframes gc38CollectionSheen{0%{opacity:0;transform:translateX(-75%) rotate(2deg)}20%{opacity:.75}100%{opacity:0;transform:translateX(75%) rotate(2deg)}}
@keyframes gc38CollectionIcon{0%{scale:1}45%{scale:1.14;filter:brightness(1.15)}100%{scale:1}}
@keyframes gc38SuccessDot{0%{opacity:0;scale:.55;rotate:-10deg}60%{opacity:1;scale:1.08}100%{opacity:1;scale:1}}

/* Profile review share action — larger, centred and visually equal to Edit. */
.gcProfileReviewActionsWrap .gcReviewShareButton{
  width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:11px!important;
  border:1px solid color-mix(in srgb,var(--gc38-feedback-accent) 28%,transparent)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--gc38-feedback-accent) 13%,transparent),color-mix(in srgb,var(--gc38-feedback-secondary) 9%,transparent))!important;
  color:var(--gc38-feedback-accent-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.12)!important;
}
.gcProfileReviewActionsWrap .gcReviewShareButton svg{width:17px!important;height:17px!important;stroke-width:1.9!important}
.gcProfileReviewActionsWrap .gcReviewShareButton:hover{filter:brightness(1.09);border-color:color-mix(in srgb,var(--gc38-feedback-accent) 48%,transparent)!important}

/* Mobile Platinum / 100% count: deliberate stat capsule, no floating/baseline drift. */
@media(max-width:620px){
  .gcProfileCollection-platinum{justify-content:center!important;gap:13px!important}
  .gcProfileCollection-platinum .gcProfileCollectionCount{
    position:relative!important;right:auto!important;top:auto!important;transform:none!important;
    width:44px!important;min-width:44px!important;height:44px!important;margin:0!important;padding:0!important;
    display:grid!important;place-items:center!important;text-align:center!important;line-height:1!important;
    border:1px solid var(--gc38-platinum-line)!important;border-radius:15px!important;
    background:linear-gradient(145deg,var(--gc38-platinum-bg-1),var(--gc38-platinum-bg-2))!important;
    color:var(--gc38-platinum-text)!important;font-size:23px!important;font-weight:950!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,0,0,.12)!important;
  }
}

/* Gaming IDs become branded premium copyable pills. */
.gcProfileAboutGrid{align-items:stretch}
.gcGamingIdPill{
  width:100%;min-width:0;min-height:68px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;
  align-items:center;column-gap:12px;row-gap:4px;padding:12px 14px!important;text-align:left;cursor:pointer;overflow:hidden;position:relative;
  border-radius:19px!important;transition:scale .16s ease,translate .16s ease,filter .18s ease,box-shadow .18s ease!important;
}
.gcGamingIdPill::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,.13),transparent 28%,transparent 70%,rgba(255,255,255,.04));opacity:.72}
.gcGamingIdPill .gcProfileAboutLabel{position:relative;z-index:1;grid-column:1;grid-row:1;margin:0!important;font-size:9px!important;letter-spacing:.13em!important}
.gcGamingIdPill .gcProfileAboutValue{position:relative;z-index:1;grid-column:1;grid-row:2;margin:0!important;font-size:13px!important;line-height:1.2!important}
.gcGamingIdCopyGlyph{position:relative;z-index:1;grid-column:2;grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;border:1px solid currentColor;opacity:.72}
.gcGamingIdCopyGlyph svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gcGamingIdPill.isCopied .gcGamingIdCopyGlyph{opacity:1;animation:gc38CopyConfirm .42s ease-out}
@keyframes gc38CopyConfirm{0%{scale:.7;opacity:.35}70%{scale:1.08;opacity:1}100%{scale:1}}
.gcGamingIdPill--psn{border:1px solid rgba(255,255,255,.72)!important;background:linear-gradient(145deg,#ffffff 0%,#e8eef4 48%,#cfd9e3 100%)!important;color:#0d151c!important;box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(0,0,0,.16)!important}
.gcGamingIdPill--psn .gcProfileAboutLabel{color:#4c5965!important}.gcGamingIdPill--psn .gcProfileAboutValue{color:#080c10!important}.gcGamingIdPill--psn .gcGamingIdCopyGlyph{background:rgba(13,21,28,.055);border-color:rgba(13,21,28,.18)}
.gcGamingIdPill--steam{border:1px solid rgba(201,179,255,.36)!important;background:radial-gradient(circle at 12% 0,rgba(210,188,255,.20),transparent 42%),linear-gradient(145deg,#4d2c78 0%,#351e5e 48%,#21153f 100%)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 25px rgba(35,18,67,.28)!important}
.gcGamingIdPill--steam .gcProfileAboutLabel{color:#d9c9ff!important}.gcGamingIdPill--steam .gcProfileAboutValue{color:#fff!important}.gcGamingIdPill--steam .gcGamingIdCopyGlyph{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.20)}
.gcGamingIdPill--nintendo{border:1px solid rgba(255,188,188,.36)!important;background:radial-gradient(circle at 13% 0,rgba(255,255,255,.16),transparent 38%),linear-gradient(145deg,#e42636 0%,#c81728 52%,#8e0e1d 100%)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 10px 25px rgba(119,12,27,.25)!important}
.gcGamingIdPill--nintendo .gcProfileAboutLabel{color:#ffe6e8!important}.gcGamingIdPill--nintendo .gcProfileAboutValue{color:#fff!important}.gcGamingIdPill--nintendo .gcGamingIdCopyGlyph{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22)}

/* Existing skeletons get one consistent premium shimmer instead of flat blocks. */
:is(.skeleton,[class*="Skeleton"],[class*="Shimmer"],[class*="Placeholder"]).gc38SkeletonReady,
.gcPremiumSkeleton{
  background-size:220% 100%!important;animation:gc38Skeleton 1.55s ease-in-out infinite!important;
}
@keyframes gc38Skeleton{0%{background-position:120% 0}100%{background-position:-120% 0}}

/* Review score micro-emphasis when a review is opened/tapped. */
.gcReviewScoreEmphasis{animation:gc38Score .46s cubic-bezier(.2,.85,.25,1)}
@keyframes gc38Score{0%{scale:1}48%{scale:1.09;filter:brightness(1.15)}100%{scale:1}}

/* Saved/status messages receive a short entrance so silent state changes read. */
:is(.gcSettingsMessage.isVisible,[data-state="success"],.isSuccess).gc38StatusEntrance{animation:gc38StatusIn .36s ease-out}
@keyframes gc38StatusIn{0%{opacity:.55;translate:0 4px}100%{opacity:1;translate:0 0}}

html.gcReducedMotion .gcFeedbackTarget,
html.gcReducedMotion .gameDetailPage .gameHeroCollectionSection .gameActionBtn,
html.gcReducedMotion .gcGamingIdPill{scale:1!important;translate:0!important;filter:none!important;opacity:1!important}
html.gcReducedMotion .gcFeedbackActivated,
html.gcReducedMotion .gcFeedbackSuccess,
html.gcReducedMotion .gcCollectionPremiumPulse::after,
html.gcReducedMotion .gcCollectionPremiumPulse .gameActionIcon,
html.gcReducedMotion .gcCollectionPremiumSuccess::before,
html.gcReducedMotion .gcGamingIdPill.isCopied .gcGamingIdCopyGlyph,
html.gcReducedMotion .gc38SkeletonReady,
html.gcReducedMotion .gcPremiumSkeleton,
html.gcReducedMotion .gcReviewScoreEmphasis,
html.gcReducedMotion .gc38StatusEntrance{animation:none!important}
@media(prefers-reduced-motion:reduce){
  .gcFeedbackTarget,.gameDetailPage .gameHeroCollectionSection .gameActionBtn,.gcGamingIdPill{scale:1!important;translate:0!important;filter:none!important;opacity:1!important}
  .gcFeedbackActivated,.gcFeedbackSuccess,.gcCollectionPremiumPulse::after,.gcCollectionPremiumPulse .gameActionIcon,.gcCollectionPremiumSuccess::before,.gcGamingIdPill.isCopied .gcGamingIdCopyGlyph,.gc38SkeletonReady,.gcPremiumSkeleton,.gcReviewScoreEmphasis,.gc38StatusEntrance{animation:none!important}
}
