/* Candidate 41 — current-production geometry with approved V2.3 piece deltas only. */
.production-layout-token-role-candidate{
  --c41-piece-size:230px;
}

.production-layout-token-role-candidate #token-role-title{
  white-space:nowrap;
  text-transform:none;
}

.production-layout-token-role-candidate .c41-static-piece,
.production-layout-token-role-candidate .c41-static-piece picture,
.production-layout-token-role-candidate .c41-static-piece img{
  background:transparent;
}

.production-layout-token-role-candidate .c41-static-piece picture,
.production-layout-token-role-candidate .c41-static-piece img{
  display:block;
  width:100%;
  height:100%;
}

.production-layout-token-role-candidate .c41-static-piece img{
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(255,210,28,.2));
}

.production-layout-token-role-candidate .header-token.c41-static-piece,
.production-layout-token-role-candidate .header-token.c41-static-piece img{
  width:54px;
  height:54px;
}

.production-layout-token-role-candidate .footer-piece.c41-static-piece{
  display:block;
  flex:0 0 52px;
  width:52px;
  height:52px;
  overflow:visible;
  isolation:isolate;
}

.production-layout-token-role-candidate .role-token.c41-web3d{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  contain:paint;
  user-select:none;
  -webkit-user-select:none;
}

.production-layout-token-role-candidate .c41-web3d-poster,
.production-layout-token-role-candidate .c41-web3d-poster img,
.production-layout-token-role-candidate .c41-web3d-canvas{
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  width:var(--c41-piece-size);
  height:var(--c41-piece-size);
  transform:translate(-50%,-50%);
}

.production-layout-token-role-candidate .c41-web3d-poster{
  z-index:1;
  margin:0;
  opacity:1;
  visibility:visible;
  transition:opacity .16s linear,visibility 0s linear .16s;
  pointer-events:none;
}

.production-layout-token-role-candidate .c41-web3d-poster img{
  left:0;
  top:0;
  width:100%;
  height:100%;
  object-fit:contain;
  transform:none;
  background:transparent;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.48)) drop-shadow(0 0 18px rgba(255,210,28,.12));
}

.production-layout-token-role-candidate .c41-web3d-canvas{
  z-index:2;
  border:0;
  outline:0;
  opacity:0;
  background:transparent;
  cursor:grab;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
}

.production-layout-token-role-candidate .c41-web3d[data-model-state="ready"] .c41-web3d-canvas{
  opacity:1;
}

.production-layout-token-role-candidate .c41-web3d[data-model-state="ready"] .c41-web3d-poster{
  opacity:0;
  visibility:hidden;
}

.production-layout-token-role-candidate .c41-web3d.is-grabbing .c41-web3d-canvas,
.production-layout-token-role-candidate .c41-web3d-canvas:active{
  cursor:grabbing;
}

.production-layout-token-role-candidate .c41-web3d-canvas:focus{
  outline:0;
  box-shadow:none;
}

.production-layout-token-role-candidate .c41-web3d-canvas:focus-visible{
  outline:1px dashed rgba(255,210,28,.72);
  outline-offset:2px;
  border-radius:4px;
}

.production-layout-token-role-candidate .c41-web3d-hint{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:15px;
  color:rgba(245,242,232,.58);
  font-family:var(--mono);
  font-size:.5rem;
  letter-spacing:.11em;
  white-space:nowrap;
  transform:translateX(-50%);
  pointer-events:none;
  opacity:0;
  transition:opacity .16s linear;
}

.production-layout-token-role-candidate .c41-web3d[data-model-state="ready"]:not(.has-been-used) .c41-web3d-hint{
  opacity:1;
}

.production-layout-token-role-candidate .c41-web3d-status{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.production-layout-token-role-candidate .c41-web3d-actions{
  position:absolute;
  z-index:4;
  right:8px;
  bottom:8px;
}

.production-layout-token-role-candidate .c41-web3d-actions button{
  min-height:28px;
  padding:6px 8px;
  border:1px solid rgba(255,210,28,.5);
  border-radius:3px;
  color:#f9e7a1;
  background:rgba(8,9,14,.82);
  font-family:var(--mono);
  font-size:.48rem;
  letter-spacing:.08em;
}

.production-layout-token-role-candidate .c41-web3d-actions button[hidden]{display:none}
.production-layout-token-role-candidate .c41-reset{display:none}

@media(max-width:1050px){
  .production-layout-token-role-candidate{--c41-piece-size:190px}
}

@media(max-width:900px){
  .production-layout-token-role-candidate .header-token.c41-static-piece,
  .production-layout-token-role-candidate .header-token.c41-static-piece img{
    width:46px;
    height:46px;
  }
}

@media(max-width:640px){
  .production-layout-token-role-candidate .footer-piece.c41-static-piece{
    flex-basis:44px;
    width:44px;
    height:44px;
  }
}

@media(prefers-reduced-motion:reduce){
  .production-layout-token-role-candidate .c41-web3d-poster,
  .production-layout-token-role-candidate .c41-web3d-hint{
    transition:none;
  }
}

/* Isolated local QA route; not linked from the site. */
body[data-c41-qa="piece"] .site-header,
body[data-c41-qa="piece"] main>section:not(#token-role),
body[data-c41-qa="piece"] .site-footer{display:none!important}


/* r4: resilient non-WebGL interactive fallback when browser refuses WebGL context. */
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-web3d-poster{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  cursor:grab;
  z-index:2;
  touch-action:none;
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"].is-grabbing .c41-web3d-poster{
  cursor:grabbing;
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-web3d-poster img{
  transform:perspective(620px) rotateX(var(--c41-fallback-rot-x, 0deg)) rotateY(var(--c41-fallback-rot-y, 0deg)) rotateZ(var(--c41-fallback-rot-z, 0deg));
  transform-origin:50% 50%;
  backface-visibility:visible;
  will-change:transform;
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-web3d-canvas{
  opacity:0;
  pointer-events:none;
}


/* r5: explicit interaction layer for real mouse/touch dragging in fallback mode. */
.production-layout-token-role-candidate .c41-fallback-hitlayer{
  position:absolute;
  inset:0;
  z-index:6;
  display:none;
  cursor:grab;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  background:rgba(0,0,0,0);
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-fallback-hitlayer{
  display:block;
  pointer-events:auto;
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"].is-grabbing .c41-fallback-hitlayer{
  cursor:grabbing;
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-web3d-poster,
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-web3d-poster img{
  -webkit-user-drag:none;
  user-select:none;
  touch-action:none;
}


/* r8: true WebGL 3D remains the production default; this layer captures real user drag above the canvas. */
.production-layout-token-role-candidate .c41-web3d .c41-fallback-hitlayer{
  position:absolute;
  inset:0;
  z-index:6;
  display:none;
  cursor:grab;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  background:rgba(0,0,0,0);
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="ready"] .c41-fallback-hitlayer,
.production-layout-token-role-candidate .c41-web3d[data-model-state="css-fallback-ready"] .c41-fallback-hitlayer{
  display:block;
  pointer-events:auto;
}
.production-layout-token-role-candidate .c41-web3d[data-model-state="ready"] .c41-web3d-canvas{
  pointer-events:none;
}
.production-layout-token-role-candidate .c41-web3d.is-grabbing .c41-fallback-hitlayer{
  cursor:grabbing;
}


/* r11: restore true transparent WebGL 3D canvas; no frame-sequence black square. */
.production-layout-token-role-candidate .role-token.c41-web3d,
.production-layout-token-role-candidate .c41-web3d-canvas,
.production-layout-token-role-candidate .c41-web3d-poster,
.production-layout-token-role-candidate .c41-web3d-poster img{
  background:transparent!important;
}
.production-layout-token-role-candidate .role-token.c41-web3d{
  overflow:hidden;
  clip-path:inset(0 round 18px);
}
.production-layout-token-role-candidate .c41-web3d[data-renderer-profile="true-webgl-png-texture"] .c41-web3d-canvas{
  opacity:1;
  pointer-events:auto;
  cursor:grab;
  touch-action:none;
}
.production-layout-token-role-candidate .c41-web3d[data-renderer-profile="true-webgl-png-texture"].is-grabbing .c41-web3d-canvas{
  cursor:grabbing;
}
.production-layout-token-role-candidate .c41-web3d[data-renderer-profile="true-webgl-png-texture"] .c41-fallback-hitlayer{
  display:none!important;
}


/* r12: owner text polish + stable Hero wordmark refresh. */
.production-layout-token-role-candidate .footer-disclaimer{
  text-align:center;
  justify-self:center;
  max-width:620px;
}
.production-layout-token-role-candidate .verification-note{
  justify-content:center;
  text-align:center;
}
.production-layout-token-role-candidate .animated-wordmark .animated-title-fallback,
.production-layout-token-role-candidate .animated-title-video{
  left:50%!important;
  top:50%!important;
  width:100%!important;
  max-width:100%!important;
  transform:translate(-50%,-50%)!important;
}
.production-layout-token-role-candidate .animated-title-video{
  height:auto!important;
}
.production-layout-token-role-candidate .animated-wordmark .animated-title-fallback img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:900px){
  .production-layout-token-role-candidate .footer-disclaimer{
    justify-self:start;
    text-align:center;
    width:100%;
  }
}


/* r13: footer truly centered between side elements + electric Hero without SVG/video size swap. */
.production-layout-token-role-candidate .footer-grid{
  grid-template-columns:minmax(0,1fr) minmax(260px,620px) minmax(0,1fr);
  align-items:end;
}
.production-layout-token-role-candidate .footer-brand{
  justify-self:start;
}
.production-layout-token-role-candidate .footer-disclaimer{
  grid-column:2;
  width:100%;
  max-width:620px;
  justify-self:center;
  text-align:center;
}
.production-layout-token-role-candidate .footer-grid>a{
  justify-self:end;
  text-align:right;
}
.production-layout-token-role-candidate .animated-wordmark{
  aspect-ratio:2114/1044;
}
@media(prefers-reduced-motion:no-preference){
  .production-layout-token-role-candidate .animated-wordmark .animated-title-fallback{
    opacity:0!important;
    visibility:hidden!important;
    transition:none!important;
  }
  .production-layout-token-role-candidate .animated-wordmark.is-video-fallback .animated-title-fallback{
    opacity:1!important;
    visibility:visible!important;
  }
  .production-layout-token-role-candidate .animated-title-video{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    left:50%!important;
    top:50%!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    transform:translate(-50%,-50%)!important;
    transition:none!important;
  }
  .production-layout-token-role-candidate .animated-wordmark.is-video-fallback .animated-title-video{
    opacity:0!important;
    visibility:hidden!important;
  }
}
@media(max-width:900px){
  .production-layout-token-role-candidate .footer-grid{
    grid-template-columns:1fr;
  }
  .production-layout-token-role-candidate .footer-disclaimer,
  .production-layout-token-role-candidate .footer-grid>a,
  .production-layout-token-role-candidate .footer-brand{
    grid-column:auto;
    justify-self:stretch;
    text-align:center;
  }
}


/* r14: footer disclaimer centered only — do not alter Hero or 3D piece. */
@media(min-width:901px){
  .production-layout-token-role-candidate .footer-grid{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:end;
    min-height:118px;
  }
  .production-layout-token-role-candidate .footer-brand{
    grid-column:1;
    justify-self:start;
    align-self:end;
  }
  .production-layout-token-role-candidate .footer-grid>a{
    grid-column:2;
    justify-self:end;
    align-self:end;
    text-align:right;
  }
  .production-layout-token-role-candidate .footer-disclaimer{
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:min(620px,52vw);
    max-width:620px;
    margin:0;
    text-align:center;
    justify-self:auto;
    grid-column:auto;
    pointer-events:none;
  }
}


/* r15: owner visual correction — disclaimer was slightly too far left; nudge right only. */
@media(min-width:901px){
  .production-layout-token-role-candidate .footer-disclaimer{
    left:calc(50% + 18px);
  }
}


/* r16: mobile real-touch fallback for 3D coin; no Hero/footer visual change. */
.production-layout-token-role-candidate .c41-web3d-canvas{
  touch-action:none!important;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
