/* Approved character cameras: display the worn scene in its original square.
   Only native worn images are targeted; housing and archived fallbacks retain
   their existing presentation. Both AH detail and the list spotlight use this. */
body.ah-redesign .ah-dossier.is-model[data-render-layout="registered-640-v1"] .ah-stage-float img[src*="/registered-v1/"][src*="-model-"]{
 filter:none;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 88%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 88%,transparent 100%);
}
body.ah-redesign .ah-dossier.is-model[data-render-layout="registered-640-v1"][data-render-slot="feet"] .ah-stage-float img[src*="-model-"]{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 100%);
}
body.ah-redesign .ah-peek-frame:has(.is-live[data-kind="model"] .ah-peek-item[src*="/registered-v1/"][src*="-model-"]){
 width:min(100cqw,100cqh);height:min(100cqw,100cqh);animation:none;
}
body.ah-redesign .ah-peek-layer[data-kind="model"] .ah-peek-item[src*="/registered-v1/"][src*="-model-"]{
 filter:none;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 88%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 88%,transparent 100%);
}
body.ah-redesign .ah-peek-layer[data-kind="model"][data-slot="feet"] .ah-peek-item[src*="/registered-v1/"][src*="-model-"]{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 100%);
}
/* Fixed-camera pairs use the same square as the worn-only bridge in list previews.
   Scope to registered assets so the housing spotlight keeps its own layout. */
body.ah-redesign .ah-peek-frame:has(.is-live.has-ghost .ah-peek-item[src*="/registered-v1/"]){
 width:min(100cqw,100cqh);height:min(100cqw,100cqh);animation:none;
}
body.ah-redesign .ah-peek-layer.has-ghost[data-slot]:has(.ah-peek-item[src*="/registered-v1/"]){top:0;}
body.ah-redesign .ah-peek-layer.has-ghost[data-slot]:has(.ah-peek-item[src*="/registered-v1/"]) img{
 left:0;top:0;width:100%;height:100%;transform:none;filter:none;
}
body.ah-redesign .ah-peek-layer.has-ghost[data-slot]:has(.ah-peek-item[src*="/registered-v1/"]) .ah-peek-ghost{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 88%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 88%,transparent 100%);
}
body.ah-redesign .ah-peek-layer.has-ghost[data-slot="feet"]:has(.ah-peek-item[src*="/registered-v1/"]) .ah-peek-ghost{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 13%,#000 100%);
}
body.ah-redesign .ah-peek-layer.has-ghost:is([data-slot="head"],[data-slot="shoulder"]):has(.ah-peek-item[src*="/registered-v1/"]) .ah-peek-ghost{z-index:2;}

/* Full-character reference framing, calibrated from archived worn previews.
   One transform per camera group, shared by both layers; never fit item bounds.
   Robes retain their approved full-length camera instead of the archived torso crop. */
body.ah-redesign [data-frame-group="body"]{--ah-frame-size:148.7400%;--ah-frame-left:-24.3466%;--ah-frame-top:-46.7172%;}
body.ah-redesign [data-frame-group="wrist"]{--ah-frame-size:134.0300%;--ah-frame-left:-16.8373%;--ah-frame-top:-17.1868%;}
body.ah-redesign [data-frame-group="robe"]{--ah-frame-size:100.0000%;--ah-frame-left:0.0000%;--ah-frame-top:0.0000%;}
body.ah-redesign [data-frame-group="chest"]{--ah-frame-size:172.9900%;--ah-frame-left:-36.4249%;--ah-frame-top:-53.4726%;}
body.ah-redesign [data-frame-group="head"]{--ah-frame-size:184.4480%;--ah-frame-left:-38.26552%;--ah-frame-top:-20.1250%;}
body.ah-redesign [data-frame-group="legs"]{--ah-frame-size:125.2600%;--ah-frame-left:-12.6943%;--ah-frame-top:-12.0814%;}
body.ah-redesign [data-frame-group="shoulder"]{--ah-frame-size:116.6600%;--ah-frame-left:-8.4036%;--ah-frame-top:-9.3917%;}
body.ah-redesign [data-frame-group="cloak"]{--ah-frame-size:191.2200%;--ah-frame-left:-45.6052%;--ah-frame-top:-27.4370%;}
body.ah-redesign [data-frame-group="waist"]{--ah-frame-size:112.5900%;--ah-frame-left:-6.3250%;--ah-frame-top:-10.8150%;}
body.ah-redesign [data-frame-group="hand"]{--ah-frame-size:123.2800%;--ah-frame-left:-11.6862%;--ah-frame-top:-11.6056%;}
body.ah-redesign [data-frame-group="tabard"]{--ah-frame-size:172.8800%;--ah-frame-left:-36.4378%;--ah-frame-top:-29.6728%;}
body.ah-redesign [data-frame-group="feet"]{--ah-frame-size:140.4300%;--ah-frame-left:-23.7082%;--ah-frame-top:-45.2828%;}
body.ah-redesign .ah-dossier[data-render-layout][data-frame-group][data-render-slot] .ah-stage-float,
body.ah-redesign .ah-peek-frame:has(.is-live[data-frame-group]){overflow:hidden;}
body.ah-redesign .ah-dossier[data-render-layout][data-frame-group][data-render-slot] .ah-stage-float img,
body.ah-redesign .ah-peek-layer[data-frame-group][data-slot][data-kind]:is(.has-ghost,[data-kind="model"]) img:is(.ah-peek-ghost,.ah-peek-item){
 left:var(--ah-frame-left);top:var(--ah-frame-top);width:var(--ah-frame-size);height:var(--ah-frame-size);max-width:none;max-height:none;
 transform:none;filter:none;-webkit-mask-image:none;mask-image:none;
}
/* The native worn scene supplies correct depth for every garment, not just helmets. */
body.ah-redesign .ah-dossier[data-frame-group] .ah-stage-float img.ah-stage-ghost,
body.ah-redesign .ah-peek-layer[data-frame-group].has-ghost .ah-peek-ghost{z-index:2;}
body.ah-redesign .ah-dossier.has-ghost[data-frame-group] .ah-stage.is-ready .ah-stage-float img.ah-stage-ghost{opacity:1;}
body.ah-redesign .ah-dossier.has-ghost[data-frame-group] .ah-stage.is-ready:hover .ah-stage-float img.ah-stage-ghost,
body.ah-redesign .ah-dossier.has-ghost[data-frame-group] .ah-stage.is-ready:focus-visible .ah-stage-float img.ah-stage-ghost{opacity:.25;}
/* Row hover previews show the full character. Pointing at the character itself fades it to 25 %,
   leaving the item opaque — the same as the detail stage and the My Realms vitrine (user, 2026-09-23). */
body.ah-redesign .ah-peek .ah-peek-layer[data-frame-group][data-kind].has-ghost.is-live .ah-peek-ghost{opacity:1;}
body.ah-redesign .ah-peek .ah-peek-stage:hover .ah-peek-layer[data-frame-group][data-kind].has-ghost.is-live .ah-peek-ghost{opacity:.25;}
/* Match the archived torso fade in output coordinates, after applying the shared transform. */
body.ah-redesign .ah-dossier:is([data-frame-group="chest"],[data-frame-group="body"],[data-frame-group="tabard"]) .ah-stage-float,
body.ah-redesign .ah-peek-layer:is([data-frame-group="chest"],[data-frame-group="body"],[data-frame-group="tabard"]){
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 84%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 84%,transparent 100%);
}

/* Archived worn-only helmets use the same approved adjustment in reference
   coordinates: nativeScale * .8, nativeLeft * .8 + 14%, nativeTop * .8 + 31.3322%. */
body.ah-redesign .ah-dossier.is-model[data-render-slot="head"][data-render-layout="registered-640-v1"] .ah-stage-float img[src*="/character-v1/head/"],
body.ah-redesign .ah-peek-layer[data-kind="model"][data-slot="head"] .ah-peek-item[src*="/character-v1/head/"]{
 left:14%;top:31.3322%;width:80%;height:80%;max-width:none;max-height:none;
 transform:none;filter:none;-webkit-mask-image:none;mask-image:none;
}
body.ah-redesign .ah-dossier.is-model[data-render-slot="head"][data-render-layout="registered-640-v1"] .ah-stage-float{overflow:hidden;}
body.ah-redesign .ah-peek-frame:has(.is-live[data-kind="model"][data-slot="head"] .ah-peek-item[src*="/character-v1/head/"]){
 width:min(100cqw,100cqh);height:min(100cqw,100cqh);animation:none;overflow:hidden;
}

/* Soften rare tall-helmet cuts without changing the approved framing.
   Native pairs clip at the output square; archive cuts can be baked into the source. */
body.ah-redesign .ah-dossier[data-render-layout="registered-640-v1"][data-render-slot="head"] .ah-stage-float,
body.ah-redesign .ah-peek-layer[data-slot="head"]{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 4%,#000 100%);
}
body.ah-redesign .ah-dossier.is-model[data-render-layout="registered-640-v1"][data-render-slot="head"]:not([data-frame-group]) .ah-stage-float img:not(.ah-stage-ghost)[src*="/character-v1/head/"],
body.ah-redesign .ah-peek-layer[data-kind="model"][data-slot="head"] .ah-peek-item[src*="/character-v1/head/"]{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 6%,#000 100%);
 mask-image:linear-gradient(to bottom,transparent 0,#000 6%,#000 100%);
}
