/* Two soft layers per visible item. Only transforms/opacity animate. */
.profile-atmosphere{position:absolute;inset:0;overflow:hidden;contain:paint;pointer-events:none;z-index:1;border-radius:inherit}
.profile-atmosphere::before,.profile-atmosphere::after{content:'';position:absolute;inset:55% -18% -18%;opacity:.35;background:radial-gradient(ellipse at 35% 72%,hsl(var(--profile-hue) 82% 76% / .4),transparent 64%);animation:profileDrift 12s ease-in-out infinite alternate;animation-play-state:paused}
.profile-atmosphere::after{inset:65% -8% -20%;opacity:.22;animation-delay:-6s;animation-duration:16s;transform:translateX(5%)}
.profile-atmosphere.effect-visible::before,.profile-atmosphere.effect-visible::after{animation-play-state:running}
.profile-motion-paused .profile-atmosphere::before,.profile-motion-paused .profile-atmosphere::after{animation-play-state:paused}
/* Keep cloud centres inside the photo: the old negative bottom offsets put
   them below its clipped edge, leaving only a nearly invisible gradient tail. */
.profile-atmosphere[data-profile-effect=frost]::before{inset:42% -24% -5%;opacity:.72;background:radial-gradient(ellipse at 22% 61%,#e7fbffa8,#bceaff52 30%,transparent 58%),radial-gradient(ellipse at 76% 80%,#b8e8ffa1,transparent 54%);animation-name:profileColdDrift;animation-duration:10s}
.profile-atmosphere[data-profile-effect=frost]::after{inset:48% -16% -8%;opacity:.6;background:radial-gradient(ellipse at 60% 68%,#eefcff9e,transparent 47%),radial-gradient(ellipse at 15% 85%,#9cdeff70,transparent 45%);animation-name:profileMist;animation-duration:14s}
.profile-atmosphere[data-profile-effect=moon]::before{inset:0;background:radial-gradient(ellipse at 80% 8%,#cbbdff32,transparent 60%);animation-name:profileGlow}
.profile-atmosphere[data-profile-effect=moon]::after{background:radial-gradient(ellipse at 15% 80%,#dce7ff5c,transparent 64%)}
.profile-atmosphere[data-profile-effect=aurora]::before{inset:0 -30%;background:linear-gradient(115deg,transparent 20%,#57f0c020 36%,#ae6aef29 48%,transparent 62%);transform:rotate(-12deg);animation-name:profileAurora;animation-duration:18s}
.profile-atmosphere[data-profile-effect=aurora]::after{background:radial-gradient(ellipse at 40% 70%,#47eab552,transparent 64%)}
.profile-atmosphere[data-profile-effect=embers]::before{inset:50% -15% -18%;background:radial-gradient(ellipse at 50% 100%,#ff5c1d6b,transparent 65%);animation-name:profileGlow;animation-duration:8s}
.profile-atmosphere[data-profile-effect=embers]::after{inset:20% 0 0;opacity:.6;background:radial-gradient(2px 2px at 16% 87%,#ffd6a0,transparent),radial-gradient(1px 1px at 77% 67%,#ffb464,transparent),radial-gradient(1.5px 1.5px at 60% 93%,#ffdc9b,transparent);animation-name:profileSparks;animation-duration:9s}
.profile-atmosphere[data-profile-effect=gold]::before{background:radial-gradient(ellipse at 65% 78%,#eac66c5c,transparent 65%)}
.profile-atmosphere[data-profile-effect=gold]::after{inset:0;background:radial-gradient(2px 2px at 80% 17%,#ffe9b3,transparent),radial-gradient(1.5px 1.5px at 10% 65%,#ffe9b3aa,transparent);animation-name:profileGlow}
.profile-atmosphere[data-profile-effect=rose]::before{background:radial-gradient(ellipse at 35% 75%,#e578af66,transparent 66%)}
@keyframes profileDrift{from{transform:translate(-4%,5%)}to{transform:translate(5%,-4%)}}
@keyframes profileColdDrift{from{transform:translate(-10%,6%)}to{transform:translate(9%,-8%)}}
@keyframes profileMist{from{transform:translate(9%,7%)}to{transform:translate(-12%,-7%)}}
@keyframes profileGlow{from{opacity:.24}to{opacity:.55}}
@keyframes profileAurora{from{transform:translateX(-8%) rotate(-12deg);opacity:.3}to{transform:translateX(12%) rotate(-5deg);opacity:.65}}
@keyframes profileSparks{from{transform:translateY(12%);opacity:.15}to{transform:translateY(-15%);opacity:.65}}
@media(prefers-reduced-motion:reduce){.profile-atmosphere::before,.profile-atmosphere::after{animation:none!important}}
.card[data-profile-hue]{border-color:hsl(var(--profile-hue) 60% 68% / .48);box-shadow:0 14px 32px -24px hsl(var(--profile-hue) 70% 60% / .65)}
.card[data-profile-hue] .c-name{background:linear-gradient(transparent,hsl(var(--profile-hue) 35% 10% / .96));z-index:2}
#view-work[data-profile-hue] .media-stage{border:1px solid hsl(var(--profile-hue) 60% 68% / .46)}
#view-work[data-profile-hue] .work-title{color:hsl(var(--profile-hue) 66% 87%)}
#view-work[data-profile-hue] .work-info{border-color:hsl(var(--profile-hue) 45% 58% / .3)}
.c-status,.w-status{display:inline-flex;align-items:center;justify-content:center;overflow:visible;padding:0;border:0;background:none;box-shadow:none;animation:none}
.c-status{width:46px;height:46px;z-index:3}
.w-status{width:48px;height:48px;vertical-align:middle}
.c-status .g-art,.w-status .g-art{width:100%;height:100%;filter:none}
.work-status-label{display:block;font-family:var(--font-b);font-size:12px;font-weight:500;letter-spacing:0;line-height:1.5;color:hsl(var(--profile-hue,195) 45% 81%);margin-top:7px}
.status-profile-links{display:grid;gap:8px;margin:12px 0 16px}
.status-profile-links .btn{font-size:13px;min-height:44px;white-space:normal}
.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gift-pick{position:relative;overflow:hidden;min-width:0;padding:14px 8px 12px;isolation:isolate}
.gift-pick .g-art{width:86px;height:86px;max-width:100%;position:relative;z-index:2}
.gift-pick :is(.gp-name,.gp-price,.gp-effect,.st-on){position:relative;z-index:2}
.gift-pick .gp-name{white-space:normal;line-height:1.3;font-size:13px}
.gp-effect{display:block;font-size:11px;line-height:1.45;color:#c4b8d0;margin:6px 0 4px;min-height:32px;font-weight:400}
.gift-pick .gp-price{font-size:13px}
.gift-pick .st-on{position:absolute;z-index:3;top:7px;right:7px}
.status-preview{display:flex;gap:12px;align-items:center;position:relative;overflow:hidden;border:1px solid hsl(var(--profile-hue) 55% 60% / .38);border-radius:14px;background:#171020;padding:14px;margin:16px 0;text-align:left}
.status-preview .g-art{width:64px;height:64px;flex-shrink:0;z-index:2}
.status-preview-copy{position:relative;z-index:2;min-width:0}
.status-preview-copy strong{font-family:var(--font-d);font-size:23px;font-weight:400;color:hsl(var(--profile-hue) 66% 87%)}
.status-preview-copy p{font-size:12px;line-height:1.5;color:#c4b8d0;margin-top:4px}
.gift-theme-preview{position:relative;isolation:isolate;overflow:hidden;height:190px;display:flex;align-items:center;justify-content:center;margin:0 0 22px;border:1px solid hsl(var(--profile-hue) 55% 60% / .32);border-radius:16px;background:radial-gradient(ellipse at 50% 80%,hsl(var(--profile-hue) 40% 20% / .6),#100c18 75%)}
.gift-theme-preview .g-art{position:relative;z-index:2;width:145px;height:145px;filter:none}
@media(max-width:480px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-pick .g-art{width:90px;height:90px}.gift-pick{padding:14px 8px}.gp-effect{min-height:32px}}

/* v170 — a material frame and a gift on separate planes. All motion is CSS,
   limited to visible scenes; object photos and mist are prepared alpha assets. */
.profile-atmosphere::before,.profile-atmosphere::after{content:none}
.profile-atmosphere{isolation:isolate;contain:paint;z-index:1}
.profile-atmosphere :is(i,.gift-object){animation-play-state:paused!important}
.profile-atmosphere.effect-visible :is(i,.gift-object){animation-play-state:running!important}
.profile-motion-paused .profile-atmosphere :is(i,.gift-object){animation-play-state:paused!important}
.profile-motion-static .profile-atmosphere :is(i,.gift-object),.profile-motion-static .profile-atmosphere .status-beam::before{animation:none!important}
.profile-motion-static .profile-atmosphere.is-arriving .status-frame{opacity:1}
body.central-modal-open .view .profile-atmosphere :is(i,.gift-object),body.central-modal-open .view .profile-atmosphere .status-beam::before,
body.media-viewer-open .view .profile-atmosphere :is(i,.gift-object),body.media-viewer-open .view .profile-atmosphere .status-beam::before{animation-play-state:paused!important}
.status-frame,.gift-scene{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.status-frame{--metal:#e4c994;--rim:#e4c99470;border:1px solid var(--rim);box-shadow:inset 0 0 0 4px #18121980,inset 0 0 0 5px var(--rim);overflow:hidden;z-index:2}
.status-frame::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 -28px 40px -35px var(--metal)}
.status-beam{--status-edge:6px;position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,var(--status-edge) var(--status-edge),var(--status-edge) calc(100% - var(--status-edge)),calc(100% - var(--status-edge)) calc(100% - var(--status-edge)),calc(100% - var(--status-edge)) var(--status-edge),var(--status-edge) var(--status-edge))}
.status-beam::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,var(--metal) 49%,transparent 52%);opacity:.12;animation:statusSheen 14s ease-in-out infinite;animation-play-state:paused}
.profile-atmosphere.effect-visible .status-beam::before{animation-play-state:running}
.profile-motion-paused .profile-atmosphere .status-beam::before{animation-play-state:paused}
.status-corner{position:absolute;width:29px;height:29px;border:1px solid var(--metal);border-radius:0 0 80% 0;opacity:.7}
.sc-one{top:6px;left:6px}.sc-two{bottom:6px;right:6px;transform:rotate(180deg)}
.status-frame[data-status=muse]{--metal:#fff0c7;--rim:#f9d9a799;box-shadow:inset 0 0 0 3px #edd5ac30,inset 0 0 0 5px #f5e6c870}
.status-frame:is([data-status=mystery],[data-status=moon]){--metal:#d4dbe1;--rim:#aeb9c47a;box-shadow:inset 0 0 0 4px #070a10d9,inset 0 0 0 5px #d0d8e845}
.status-frame:is([data-status=mystery],[data-status=moon]) .status-corner{border-radius:50%;width:21px;height:21px}
.status-frame:is([data-status=diva],[data-status=phoenix]){--metal:#eec57d;--rim:#efd69daa;box-shadow:inset 0 0 0 5px #570e23bb,inset 0 0 0 6px #d9ad627d}
.status-frame:is([data-status=diva],[data-status=phoenix]) .status-corner{width:36px;height:36px;border-radius:0;background:repeating-conic-gradient(from 90deg at 0 0,transparent 0deg 13deg,#edc88680 14deg 15deg,transparent 16deg 30deg);clip-path:polygon(0 0,100% 0,100% 12%,12% 12%,12% 100%,0 100%)}
.status-frame:is([data-status=frost],[data-status=diamond]){--metal:#d2f4ff;--rim:#b4e6f5a0;box-shadow:inset 0 0 0 3px #34618133,inset 0 0 0 5px #d2f4ff55}
.status-frame[data-status=heart]{--metal:#f3b0bf;--rim:#c88899b0}
.status-frame[data-status=fire]{--metal:#f7b37d;--rim:#bc633ab0}
.status-frame[data-status=aurora]{--metal:#c0c0ff;--rim:#a391ce99}
.status-frame[data-status=crownst]{box-shadow:inset 0 0 0 5px #39280f99,inset 0 0 0 7px #d4b16c77}
/* v199 — thirteen materials, with light confined to the frame's 6px rim.
   The centre is cut out by the fixed parent clip, so no moving light covers
   faces. Only two prepared gradient planes move, never the mask or shadows. */
.status-beam::after{content:'';position:absolute;inset:0;opacity:.28;background:radial-gradient(ellipse at 50% 0,var(--metal),transparent 58%);animation:statusEdgeBreath 11s ease-in-out infinite alternate;animation-play-state:paused}
.profile-atmosphere.effect-visible .status-beam::after{animation-play-state:running}
.profile-motion-paused .profile-atmosphere .status-beam::after{animation-play-state:paused}
.profile-motion-static .profile-atmosphere .status-beam::after{animation:none!important}
body.central-modal-open .view .profile-atmosphere .status-beam::after,
body.media-viewer-open .view .profile-atmosphere .status-beam::after{animation-play-state:paused!important}

.status-frame[data-status=heart]{--metal:#ffd0d9;--rim:#c4819399;box-shadow:inset 0 0 0 3px #51243455,inset 0 0 0 4px #e2a5b960}
.status-frame[data-status=heart] .status-corner{border-radius:0 0 100% 0}
.status-frame[data-status=heart] .status-beam::before{background:linear-gradient(115deg,transparent 32%,#f9bac8 47%,#fff3df 50%,transparent 54%);animation-duration:16s}
.status-frame[data-status=heart] .status-beam::after{background:radial-gradient(ellipse at 10% 100%,#e286a5a6,transparent 60%);animation-duration:13s}

.status-frame[data-status=sparkle]{--metal:#fff0be;--rim:#e7d58c99;box-shadow:inset 0 0 0 2px #f4dba52b,inset 0 0 0 4px #ead89c55}
.status-frame[data-status=sparkle] .status-corner{width:20px;height:20px;border-radius:0;clip-path:polygon(0 0,100% 0,100% 12%,12% 12%,12% 100%,0 100%)}
.status-frame[data-status=sparkle] .status-beam::before{background:linear-gradient(125deg,transparent 42%,#fff9dc 49%,transparent 53%);animation:statusFacetSweep 12s ease-in-out infinite;animation-play-state:paused}
.status-frame[data-status=sparkle] .status-beam::after{background:radial-gradient(3px 20px at 1px 32%,#fff4c5,transparent),radial-gradient(22px 3px at 70% 2px,#fff9e2,transparent),radial-gradient(3px 24px at 99% 80%,#f9d389,transparent);animation:statusPinlight 8s ease-in-out infinite;animation-play-state:paused}

.status-frame[data-status=fire]{--metal:#ffc18c;--rim:#c87e5799;box-shadow:inset 0 0 0 3px #77392142,inset 0 0 0 5px #d78d5566}
.status-frame[data-status=fire] .status-corner{border-radius:0;width:24px;height:34px;border-right-color:transparent;border-bottom-color:transparent}
.status-frame[data-status=fire] .status-beam::before{background:linear-gradient(0deg,transparent 20%,#ef7038 44%,#ffe1a7 52%,transparent 68%);animation:statusWarmRise 10s ease-in-out infinite;animation-play-state:paused}
.status-frame[data-status=fire] .status-beam::after{background:radial-gradient(ellipse at 50% 100%,#df62285c,transparent 62%);animation-duration:9s}

.status-frame[data-status=star]{--metal:#fff1cf;--rim:#d8c09ba6;box-shadow:inset 0 0 0 2px #503d283d,inset 0 0 0 4px #f4d7a17a}
.status-frame[data-status=star] .status-corner{border-radius:0;width:28px;height:20px;clip-path:polygon(0 0,100% 0,100% 15%,15% 15%,15% 100%,0 100%)}
.status-frame[data-status=star] .status-beam::before{background:linear-gradient(145deg,transparent 35%,#d3b17c 45%,#fff9e9 49%,#d3b17c 53%,transparent 63%);animation-duration:17s}
.status-frame[data-status=star] .status-beam::after{background:radial-gradient(ellipse at 100% 15%,#f9e8c26b,transparent 58%);animation-duration:15s}

.status-frame[data-status=diamond]{--metal:#effaff;--rim:#d6f3ffbd;box-shadow:inset 0 0 0 2px #8bb4c470,inset 0 0 0 4px #e6f8ff88,inset 0 0 0 6px #6c8eab40}
.status-frame[data-status=diamond] .status-corner{border-radius:0;clip-path:polygon(0 0,100% 0,100% 8%,8% 8%,8% 100%,0 100%);width:28px;height:28px}
.status-frame[data-status=diamond] .status-beam::before{background:linear-gradient(125deg,transparent 39%,#b6c7f7 45%,#ffffff 48%,transparent 50%,#aeeaf8 53%,transparent 58%);animation:statusFacetSweep 13s ease-in-out infinite;animation-play-state:paused}
.status-frame[data-status=diamond] .status-beam::after{background:radial-gradient(30px 3px at 30% 2px,#fff,transparent),radial-gradient(3px 28px at 99% 63%,#dbfaff,transparent),radial-gradient(30px 3px at 70% 99%,#c8cfff,transparent);animation:statusPinlight 10s ease-in-out infinite;animation-play-state:paused}

.status-frame[data-status=crownst]{--metal:#ffe4a5;--rim:#c3a065b3}
.status-frame[data-status=crownst] .status-corner{width:32px;height:32px;border-radius:0;box-shadow:inset 3px 3px 0 #e9c47b4d;clip-path:polygon(0 0,100% 0,100% 14%,14% 14%,14% 100%,0 100%)}
.status-frame[data-status=crownst] .status-beam::before{background:linear-gradient(110deg,transparent 28%,#ad793e 42%,#ffe8b2 50%,#a57b3b 56%,transparent 69%);animation-duration:20s}
.status-frame[data-status=crownst] .status-beam::after{background:radial-gradient(ellipse at 50% 0,#ffe3ab8c,transparent 64%);animation-duration:17s}

.status-frame[data-status=frost]{--metal:#dafaff;--rim:#a9e6e7b3;box-shadow:inset 0 0 0 2px #447f923d,inset 0 0 0 5px #c6f5f878}
.status-frame[data-status=frost] .status-corner{border-radius:0;width:24px;height:32px;clip-path:polygon(0 0,100% 0,100% 8%,8% 8%,8% 100%,0 100%)}
.status-frame[data-status=frost] .status-beam::before{background:radial-gradient(ellipse at 20% 72%,#f0ffffbd,transparent 45%),radial-gradient(ellipse at 80% 25%,#79cbe394,transparent 50%);animation:statusColdRim 16s ease-in-out infinite alternate;animation-play-state:paused}
.status-frame[data-status=frost] .status-beam::after{background:radial-gradient(ellipse at 72% 100%,#dbffffcc,transparent 46%),radial-gradient(ellipse at 10% 100%,#94ddf28c,transparent 44%);animation:statusColdRim 21s ease-in-out infinite alternate-reverse;animation-play-state:paused}

.status-frame[data-status=moon]{--metal:#e5e5ff;--rim:#a1aaca99;box-shadow:inset 0 0 0 4px #17172dd9,inset 0 0 0 5px #b8c9e870}
.status-frame[data-status=moon] .status-corner{border-right-color:transparent;border-bottom-color:transparent}
.status-frame[data-status=moon] .status-beam::before{background:linear-gradient(15deg,transparent 29%,#b4beeb 45%,#edf6ff 50%,transparent 64%);animation:statusMoonArc 22s ease-in-out infinite alternate;animation-play-state:paused}
.status-frame[data-status=moon] .status-beam::after{background:radial-gradient(ellipse at 0 10%,#aca4e573,transparent 62%);animation-duration:19s}

.status-frame[data-status=aurora]{--metal:#d7caff;--rim:#b9a7dfad;box-shadow:inset 0 0 0 2px #4a697651,inset 0 0 0 4px #b9a7df5c,inset 0 0 0 6px #80d5c23b}
.status-frame[data-status=aurora] .status-corner{border-radius:0 0 100% 0;border-top-color:#b7e3d4;border-left-color:#d5b8f0}
.status-frame[data-status=aurora] .status-beam::before{background:linear-gradient(115deg,transparent 16%,#86ebd0a8 35%,#d7b9ffa6 55%,transparent 78%);animation:statusOpalFlow 18s ease-in-out infinite alternate;animation-play-state:paused}
.status-frame[data-status=aurora] .status-beam::after{background:linear-gradient(65deg,transparent 22%,#a3b9fa8c 43%,#c9efe39e 65%,transparent 85%);animation:statusOpalFlow 23s ease-in-out infinite alternate-reverse;animation-play-state:paused}

.status-frame[data-status=phoenix]{--metal:#ffe4a1;--rim:#d9b27bbd;box-shadow:inset 0 0 0 3px #7e203966,inset 0 0 0 5px #edcb837a,inset 0 0 0 7px #5b233c99}
.status-frame[data-status=phoenix] .status-corner{width:38px;height:38px;background:repeating-conic-gradient(from 90deg at 0 0,transparent 0deg 10deg,#efc78199 11deg 13deg,transparent 14deg 23deg)}
.status-frame[data-status=phoenix] .status-beam::before{background:linear-gradient(0deg,transparent 15%,#d9654770 36%,#fff0c4 51%,#d694597d 62%,transparent 82%);animation:statusWarmRise 15s ease-in-out infinite;animation-play-state:paused}
.status-frame[data-status=phoenix] .status-beam::after{background:radial-gradient(ellipse at 50% 100%,#efb871c2,transparent 60%);animation-duration:16s}

.status-frame[data-status=muse] .status-beam::before{background:linear-gradient(115deg,transparent 24%,#d7be8b59 40%,#fff5d9 50%,#e1d8bf5c 61%,transparent 74%);animation-duration:19s}
.status-frame[data-status=muse] .status-beam::after{background:radial-gradient(ellipse at 20% 0,#fff4da80,transparent 60%);animation-duration:16s}
.status-frame[data-status=mystery] .status-beam::before{background:linear-gradient(105deg,transparent 41%,#97acbb 48%,#f3f9ff 50%,transparent 54%);animation-duration:21s}
.status-frame[data-status=mystery] .status-beam::after{background:radial-gradient(ellipse at 100% 100%,#92a2c46b,transparent 64%);animation-duration:18s}
.status-frame[data-status=diva] .status-beam::before{background:linear-gradient(125deg,transparent 30%,#b58948 44%,#fff1c4 50%,#c3985580 57%,transparent 70%);animation-duration:18s}
.status-frame[data-status=diva] .status-beam::after{background:radial-gradient(ellipse at 15% 100%,#eac8878c,transparent 63%);animation-duration:16s}

/* Male materials share the same six-pixel edge mask and visibility controls.
   No new particle loops and no decoration over the face. */
.status-frame[data-status=male_cash_status]{--metal:#b7e1ba;--rim:#82b393a3;box-shadow:inset 0 0 0 3px #13392b7a,inset 0 0 0 5px #a8c9a266}
.status-frame[data-status=male_cash_status] .status-corner{width:25px;height:25px;border-radius:0;box-shadow:inset 3px 3px 0 #b7e1ba40}
.status-frame[data-status=male_cash_status] .status-beam::before{background:linear-gradient(120deg,transparent 28%,#70ab83 44%,#edf6c9 51%,transparent 64%);animation-duration:19s}
.status-frame[data-status=male_cash_status] .status-beam::after{background:radial-gradient(ellipse at 0 100%,#9ed5b080,transparent 60%);animation-duration:16s}

.status-frame[data-status=male_pistol_status]{--metal:#d9b288;--rim:#a4877199;box-shadow:inset 0 0 0 3px #171819d9,inset 0 0 0 5px #ae947966}
.status-frame[data-status=male_pistol_status] .status-corner{width:23px;height:32px;border-radius:0;border-right-color:transparent;border-bottom-color:transparent}
.status-frame[data-status=male_pistol_status] .status-beam::before{background:linear-gradient(110deg,transparent 38%,#bb926f 46%,#f8e4c3 50%,transparent 58%);animation-duration:20s}
.status-frame[data-status=male_pistol_status] .status-beam::after{background:radial-gradient(ellipse at 100% 90%,#b07e576b,transparent 64%);animation-duration:18s}

.status-frame[data-status=male_car_status]{--metal:#d7eafa;--rim:#98aab799;box-shadow:inset 0 0 0 3px #0d1720d9,inset 0 0 0 5px #99b2c966}
.status-frame[data-status=male_car_status] .status-corner{width:32px;height:18px;border-radius:0;clip-path:polygon(0 0,100% 0,100% 14%,14% 14%,14% 100%,0 100%)}
.status-frame[data-status=male_car_status] .status-beam::before{background:linear-gradient(125deg,transparent 38%,#afcce6 45%,#fff 49%,transparent 55%);animation:statusFacetSweep 16s ease-in-out infinite;animation-play-state:paused}
.status-frame[data-status=male_car_status] .status-beam::after{background:radial-gradient(26px 3px at 28% 2px,#f1faff,transparent),radial-gradient(3px 30px at 99% 70%,#c9ddf5,transparent);animation:statusPinlight 14s ease-in-out infinite;animation-play-state:paused}

.status-frame[data-status=male_home_status]{--metal:#ead4b5;--rim:#cfb79999;box-shadow:inset 0 0 0 3px #44352666,inset 0 0 0 5px #d4c4aa70}
.status-frame[data-status=male_home_status] .status-corner{width:29px;height:29px;border-radius:0;box-shadow:inset 4px 4px 0 #ead4b52e}
.status-frame[data-status=male_home_status] .status-beam::before{background:linear-gradient(90deg,transparent 24%,#bc9777 44%,#f9e9c5 50%,transparent 70%);animation-duration:23s}
.status-frame[data-status=male_home_status] .status-beam::after{background:radial-gradient(ellipse at 50% 100%,#e9bd8980,transparent 65%);animation-duration:19s}

.status-frame[data-status=male_gold_status]{--metal:#ffe8ac;--rim:#e1bd6eb3;box-shadow:inset 0 0 0 2px #7b59285c,inset 0 0 0 4px #e4c5898c,inset 0 0 0 6px #7c592c66}
.status-frame[data-status=male_gold_status] .status-corner{width:33px;height:33px;border-radius:0;box-shadow:inset 4px 4px 0 #eacb8a4d;clip-path:polygon(0 0,100% 0,100% 14%,14% 14%,14% 100%,0 100%)}
.status-frame[data-status=male_gold_status] .status-beam::before{background:linear-gradient(110deg,transparent 28%,#b78a46 40%,#fff2c1 49%,#bd964e 57%,transparent 72%);animation-duration:21s}
.status-frame[data-status=male_gold_status] .status-beam::after{background:radial-gradient(ellipse at 90% 0,#fff0bc8c,transparent 58%);animation-duration:17s}

@keyframes statusEdgeBreath{from{opacity:.18}to{opacity:.55}}
@keyframes statusPinlight{0%,100%{opacity:.18}35%{opacity:.3}55%{opacity:.8}72%{opacity:.28}}
@keyframes statusFacetSweep{0%,12%{transform:translateX(-75%);opacity:0}40%{opacity:.75}68%,100%{transform:translateX(80%);opacity:0}}
@keyframes statusWarmRise{0%,12%{transform:translateY(75%);opacity:.15}47%{opacity:.65}83%,100%{transform:translateY(-70%);opacity:.12}}
@keyframes statusColdRim{from{transform:translate(-9%,8%);opacity:.28}to{transform:translate(12%,-8%);opacity:.75}}
@keyframes statusMoonArc{from{transform:translate(-20%,18%);opacity:.2}to{transform:translate(20%,-18%);opacity:.62}}
@keyframes statusOpalFlow{from{transform:translateX(-18%);opacity:.35}to{transform:translateX(18%);opacity:.8}}
/* Per-material animation shorthands above intentionally start paused. */
.profile-atmosphere.effect-visible .status-frame .status-beam::before,
.profile-atmosphere.effect-visible .status-frame .status-beam::after{animation-play-state:running}
.profile-motion-paused .profile-atmosphere .status-frame .status-beam::before,
.profile-motion-paused .profile-atmosphere .status-frame .status-beam::after{animation-play-state:paused}
.profile-motion-static .profile-atmosphere .status-frame .status-beam::before,
.profile-motion-static .profile-atmosphere .status-frame .status-beam::after{animation:none!important}
.card .status-beam{--status-edge:4px}
@media(prefers-reduced-motion:reduce){.profile-atmosphere .status-beam::after{animation:none!important}}
.status-art{display:block!important;object-fit:contain!important;width:100%;height:100%;max-height:none!important;animation:none!important}
.status-scene-emblem{position:absolute;right:16px;bottom:16px;width:46px;height:46px;z-index:4;filter:drop-shadow(0 2px 6px #08050bdd)}
.scene-full:has([data-gift=stardust]) .status-scene-emblem{right:auto;left:16px}
.status-insignia{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;color:hsl(var(--hue,var(--profile-hue,42)) 35% 78%)}
.st-pick .status-art{position:relative;z-index:2;width:82px;height:82px;margin:0 auto 8px}
.status-preview .status-art{width:64px;height:64px;flex-shrink:0;z-index:2}
.gift-scene{z-index:3;--gift-light:#e7c89b}
.gift-object{position:absolute;left:1%;bottom:10%;width:34%;height:35%;display:grid;place-items:center;transform-origin:50% 85%;animation:giftIdle 9s ease-in-out infinite alternate}
.gift-object img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;animation:none!important;filter:drop-shadow(0 9px 9px #07071080)}
.scene-full .gift-object{left:-3%;bottom:0;width:47%;height:44%;max-width:250px}
.gift-scene[data-gift=stardust] .gift-object{left:auto;right:-2%;width:43%}
.gift-mist{position:absolute;width:125%;height:37%;left:-12%;bottom:-2%;background:url('/gift-art/cold-mist.webp?v=170') center bottom/100% 100% no-repeat;opacity:.6;animation:giftColdFlow 13s ease-in-out infinite alternate}
.mist-b{left:-18%;bottom:1%;height:30%;opacity:.38;transform:scaleX(-1);animation:giftColdReturn 17s ease-in-out infinite alternate}
.gift-frost-edge{position:absolute;inset:48% 0 0;border-radius:0 0 20px 20px;box-shadow:inset 1px -2px 2px #d4f5ff9c,inset 10px -9px 24px -21px #ddf8ff;opacity:.7}
.gift-petal{position:absolute;left:calc(3% + var(--n)*14%);bottom:calc(5% + var(--n)*6%);width:clamp(15px,5%,32px);aspect-ratio:1;background:url('/gift-art/crimson-petal.webp?v=170') center/contain no-repeat;animation:petalIdle calc(8s + var(--n)*1s) ease-in-out infinite alternate;animation-delay:calc(var(--n)*-1.9s);transform:rotate(calc(var(--n)*37deg));opacity:.75}
.gift-petal:nth-child(even){bottom:calc(38% + var(--n)*6%);left:calc(94% - var(--n)*1%);width:5%;opacity:.5}
.gift-orbit{position:absolute;inset:65% -14% 9%;border:1px solid #f8d49fcc;border-top-width:2px;border-bottom-color:transparent;border-left-color:transparent;border-radius:50%;transform:rotate(-25deg);animation:orbitIdle 12s ease-in-out infinite alternate;box-shadow:0 -2px 9px #e9b95555}
.gift-orbit::after{content:'';position:absolute;top:-3px;left:52%;width:5px;height:5px;border-radius:50%;background:#fff5d4;box-shadow:0 0 6px 2px #ffe1a3,0 0 18px 4px #ffd28b70}
.orbit-b{inset:40% 77% 10% -12%;animation-delay:-4s;transform:rotate(16deg);opacity:.6}.orbit-c{inset:4% -14% 66% 80%;animation-delay:-7s;opacity:.45}
.gift-dust,.gift-sparks{position:absolute;inset:20% 0 0;opacity:.55;background:radial-gradient(1.5px 1.5px at 8% 72%,#ffe6bb,transparent),radial-gradient(2px 2px at 90% 57%,#fff2c3,transparent),radial-gradient(1px 1px at 70% 86%,#e4ba76,transparent),radial-gradient(2px 2px at 18% 88%,#ffe6bb,transparent);animation:giftSparkle 8s ease-in-out infinite alternate}
.gift-aura{position:absolute;inset:60% 0 0;background:radial-gradient(ellipse at 20% 80%,#ffbb762f,transparent 68%);animation:giftLight 10s ease-in-out infinite alternate}
.aura-moon{background:radial-gradient(ellipse at 20% 80%,#bdb6f74f,transparent 68%)}
.aura-aurora{background:linear-gradient(120deg,transparent,#8e90dd38,#75d7c14f,transparent);animation-name:auroraSway}
.aura-embers{background:radial-gradient(ellipse at 20% 80%,#ff883f65,transparent 68%)}
.profile-atmosphere.is-arriving .gift-object{animation:giftArrival 4.4s cubic-bezier(.2,.75,.2,1) both}
.profile-atmosphere.is-arriving .status-frame{opacity:.55}
.profile-atmosphere.is-arriving .gift-mist{animation:mistArrival 4.4s ease-out both}
.profile-atmosphere.is-arriving .mist-b{animation-delay:.2s}
.profile-atmosphere.is-arriving .gift-petal{animation:petalArrival 4.4s cubic-bezier(.18,.65,.3,1) both;animation-delay:0s}
.profile-atmosphere.is-arriving .gift-orbit{animation:orbitArrival 4.4s ease-out both}
.profile-atmosphere.is-arriving .gift-dust{animation:dustArrival 4.4s ease-out both}
.profile-atmosphere.is-arriving .gift-aura{animation:mistArrival 4.4s ease-out both}
@keyframes giftArrival{0%{transform:translateY(35%) rotate(-12deg) scale(.65);opacity:0}25%{opacity:1}65%{transform:translateY(-3%) rotate(3deg) scale(1.08)}100%{transform:none;opacity:1}}
@keyframes mistArrival{0%{opacity:0;transform:translate(-15%,15%) scale(.6)}45%{opacity:.95;transform:translate(0,-8%) scale(1.15)}100%{opacity:.6;transform:none}}
@keyframes petalArrival{0%{opacity:0;transform:translate(calc(18px - var(--n)*6px),140px) rotate(0deg) scale(.2)}20%{opacity:.9}65%{transform:translate(calc(-38px + var(--n)*12px),-45px) rotate(calc(110deg + var(--n)*33deg)) scale(1.2)}100%{opacity:.75;transform:rotate(calc(var(--n)*37deg))}}
@keyframes orbitArrival{0%{opacity:0;transform:translateY(80%) rotate(-45deg) scale(.5)}35%{opacity:1}100%{opacity:.6;transform:rotate(-25deg)}}
@keyframes dustArrival{0%{opacity:0;transform:translateY(70px)}55%{opacity:1}100%{opacity:.55;transform:none}}
@keyframes giftIdle{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-3%) rotate(1deg)}}
@keyframes giftColdFlow{from{transform:translate(-7%,4%) scale(1.02);opacity:.5}to{transform:translate(7%,-5%) scale(1.1);opacity:.76}}
@keyframes giftColdReturn{from{transform:translate(9%,0) scaleX(-1);opacity:.35}to{transform:translate(-8%,-4%) scaleX(-1);opacity:.55}}
@keyframes petalIdle{from{transform:translate(0,0) rotate(calc(var(--n)*37deg))}to{transform:translate(8px,-18px) rotate(calc(30deg + var(--n)*37deg))}}
@keyframes orbitIdle{from{transform:rotate(-25deg) translateY(0);opacity:.25}to{transform:rotate(-19deg) translateY(-6%);opacity:.7}}
@keyframes giftSparkle{from{opacity:.3;transform:translateY(6px)}to{opacity:.8;transform:translateY(-12px)}}
@keyframes giftLight{from{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}
@keyframes auroraSway{from{transform:translateX(-7%) skew(-8deg);opacity:.4}to{transform:translateX(7%) skew(8deg);opacity:.9}}
@keyframes statusSheen{0%,15%{transform:translateX(-90%);opacity:0}45%{opacity:.32}75%,100%{transform:translateX(90%);opacity:0}}
.gift-purchase-art{display:grid;place-items:center;margin:0 auto 18px}
.gift-purchase-art .g-art{width:130px;height:130px}
.collection-head{position:sticky;top:-26px;z-index:5;display:flex;align-items:center;gap:12px;margin:-26px -26px 16px;padding:10px 14px 10px 26px;background:#130e1b;border-bottom:1px solid var(--line);text-align:left}
.collection-head .pay-h{flex:1;min-width:0;margin:0;font-size:21px;line-height:1.35;letter-spacing:.03em}
.collection-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;color:#f4eff6}
.collection-close:hover{background:#ffffff12}
.collection-close:focus-visible{outline:2px solid var(--ember);outline-offset:-3px}
.collection-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
/* Photos stay unobstructed. Gift scenes have space below the photo/video;
   gallery captions and badges use normal flow, never a fixed-height footer. */
.media-stage:has(.gift-scene){padding-bottom:88px}
.media-stage .profile-atmosphere .gift-scene{inset:auto 0 0;height:88px;overflow:hidden;border-radius:0;background:linear-gradient(135deg,#211520,#100c17);border-top:1px solid #d7bdd528}
.media-stage .profile-atmosphere .gift-object{inset:auto auto 2px 14px;width:80px;height:80px;max-width:none}
.media-stage .profile-atmosphere .gift-scene[data-gift=stardust] .gift-object{left:14px;right:auto;width:80px}
.media-stage .gift-mist{height:90%;bottom:-9%;opacity:.45}
.media-stage .mist-b{height:70%;bottom:-5%;opacity:.3}
.media-stage .gift-frost-edge{inset:0}
.media-stage .profile-atmosphere .status-scene-emblem{right:14px;left:auto;bottom:21px}
.media-stage:not(:has(.gift-scene)) .status-scene-emblem{display:none}
.card{padding-bottom:0;width:clamp(180px,17vw,220px)}
.card.has-gift-theme::before{content:none}
.card .c-photo{position:relative;overflow:hidden;aspect-ratio:3/4}
.card .cov,.card .cov-empty{width:100%;height:100%;aspect-ratio:auto}
.card .c-details{position:relative;z-index:2;padding:12px;background:#110c19}
.card .c-name{position:static;display:flex;align-items:baseline;gap:6px;padding:0;background:none!important;font-size:15px;font-weight:600;line-height:1.4}
.card .c-name .c-nm{white-space:normal;overflow-wrap:anywhere}
.card .c-name .c-id{font-size:10px;color:#b8aabe}
.card .c-city{font-size:12px;line-height:1.4;color:#c2b4c7;margin-top:4px;overflow-wrap:anywhere}
.card .c-decor{display:flex;align-items:center;gap:8px;margin-top:10px;min-width:0}
.card .c-decor:not(:has(.c-status,.c-gift-mark)){display:none}
.card .c-fav{width:44px;height:44px;top:6px;right:6px;display:grid;place-items:center;background:#160e19b8;backdrop-filter:none}
.card .c-badge{top:12px;left:10px;font-size:10px;max-width:calc(100% - 66px)}
.card:hover{transform:translateY(-4px)}
.card:hover .cov{transform:scale(1.025)}
.card .profile-atmosphere .gift-scene{display:none}
.card .profile-atmosphere .status-corner{width:17px;height:17px}
.card .c-status{position:static;inset:auto;width:auto;height:auto;min-height:24px;min-width:0;flex:1;flex-direction:row;justify-content:flex-start;gap:5px;color:#f4dfbc;border:0;background:none;box-shadow:none;padding:0}
.c-status .status-art{width:20px;height:20px;flex-shrink:0}
.c-status-name{font:500 11px/1.3 var(--font-b);text-align:left;overflow-wrap:anywhere;color:#f5ead9}
.card .c-gift-mark{position:static;inset:auto;flex:0 1 auto;gap:5px;min-width:0;width:auto;height:28px;border:0;background:none;box-shadow:none}
.c-gift-mark .g-art{width:24px;height:24px}
.card .c-gift-mark b{position:static;min-width:0;padding:0;background:none;color:#dfcaa7;font-size:10px;flex:none}
.card .c-gift-name{font:500 11px/1.3 var(--font-b);min-width:0;color:#e6d6c5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .c-decor:has(.c-status) .c-gift-mark{margin-left:auto}
.card .c-decor:has(.c-status) .c-gift-name{display:none}
@media(max-width:600px){.card{width:min(180px,46vw)}.card .c-details{padding:10px}.card .c-name{font-size:14px}}
@media(prefers-reduced-motion:reduce){.profile-atmosphere :is(i,.gift-object),.profile-atmosphere .status-beam::before{animation:none!important}.profile-atmosphere.is-arriving .status-frame{opacity:1}}

/* v213 — object lighting, not a second illustration around the object.
   A fixed alpha mask comes from the actual WebP. Two light planes move inside
   that silhouette; two soft reflections sit in a reserved 88px lower scene.
   The portrait remains clear. All moving nodes share the visibility lifecycle. */
[data-male-material]{--male-light:#e9e4d8;--male-mid:#87929b;--male-rim:#87929b55;--male-dark:#111217;--male-glow:#b5c4d01c;--male-period:12s}
[data-male-material=cash]{--male-light:#e9efce;--male-mid:#92ad82;--male-rim:#92ad8255;--male-dark:#0d1511;--male-glow:#83b89520;--male-period:13s}
[data-male-material=pistol]{--male-light:#e8eef4;--male-mid:#a1aab5;--male-rim:#a1aab555;--male-dark:#11141a;--male-glow:#aec4dc22;--male-period:11s}
[data-male-material=car]{--male-light:#e2eef4;--male-mid:#89aabf;--male-rim:#89aabf55;--male-dark:#0d121a;--male-glow:#92c2df24;--male-period:12s}
[data-male-material=home]{--male-light:#f0d6ad;--male-mid:#b49570;--male-rim:#b4957055;--male-dark:#17120f;--male-glow:#d1a06623;--male-period:17s}
[data-male-material=gold]{--male-light:#f4e3b3;--male-mid:#b69a61;--male-rim:#b69a6155;--male-dark:#17140e;--male-glow:#d5b46124;--male-period:14s}
[data-male-material=whisky]{--male-light:#f3dec1;--male-mid:#bc9b6f;--male-rim:#bc9b6f55;--male-dark:#17110f;--male-glow:#ce965627;--male-period:15s}
[data-male-material=watch]{--male-light:#eee2c5;--male-mid:#a79b81;--male-rim:#a79b8155;--male-dark:#121318;--male-glow:#c4b08920;--male-period:16s}
[data-male-material=bike]{--male-light:#f4d6cf;--male-mid:#b77b70;--male-rim:#b77b7055;--male-dark:#171014;--male-glow:#d2755824;--male-period:10s}
[data-male-material=lion]{--male-light:#eed5a5;--male-mid:#af915c;--male-rim:#af915c55;--male-dark:#18130e;--male-glow:#c49a5523;--male-period:18s}
[data-male-material=yacht]{--male-light:#d1edef;--male-mid:#81aeb3;--male-rim:#81aeb355;--male-dark:#0d1419;--male-glow:#73b1c324;--male-period:13s}
[data-male-material=diamond]{--male-light:#e6edf9;--male-mid:#9eafc7;--male-rim:#9eafc755;--male-dark:#11141c;--male-glow:#a4b5e42a;--male-period:14s}
[data-male-material=jet]{--male-light:#e4edf1;--male-mid:#95aab7;--male-rim:#95aab755;--male-dark:#10141b;--male-glow:#9ab7d424;--male-period:19s}
.status-frame[data-male-material]{--rim:var(--male-rim);border:1px solid var(--male-rim);box-shadow:none}
.status-frame[data-male-material]::after{content:none}
.male-edge{
  --male-edge-size:1.5px;position:absolute;inset:0;padding:var(--male-edge-size);overflow:hidden;border-radius:inherit;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
}
.male-motion{position:absolute;display:block;pointer-events:none;opacity:0;animation-play-state:paused}
/* Status light remains independent of the selected gift. Oversized feathered
   planes travel behind the fixed 1.5px ring; their bounds cannot cut white rails. */
.male-edge .male-motion{inset:-60%;-webkit-mask-image:radial-gradient(ellipse,#000 54%,transparent 77%);mask-image:radial-gradient(ellipse,#000 54%,transparent 77%)}
.male-edge .male-edge-a{background:linear-gradient(125deg,transparent 40%,var(--male-light) 49%,transparent 59%);animation:maleRimChrome var(--male-period) cubic-bezier(.4,0,.2,1) infinite}
.male-edge .male-edge-b{background:radial-gradient(ellipse at 68% 70%,var(--male-mid),transparent 24%);animation:maleRimReturn calc(var(--male-period) * 1.4) ease-in-out infinite}
.card .male-edge,.scene-preview .male-edge{--male-edge-size:1px}
.card .status-frame[data-male-material]{box-shadow:none}
/* Satin notes: a soft folded reflection crosses upward, with a dark green return. */
[data-male-material=cash] .male-edge-a{background:linear-gradient(156deg,transparent 32%,#9db5898c 45%,#e6edcd 49%,transparent 62%);animation-name:maleRimSatin}
[data-male-material=cash] .male-edge-b{background:linear-gradient(24deg,transparent 36%,#a5bb865c 54%,transparent 72%)}
/* Polished steel: a narrow cold catch moves down the barrel's horizontal plane. */
[data-male-material=pistol] .male-edge-a{background:linear-gradient(178deg,transparent 44%,#c0cbd175 47%,#edf3f8 49%,transparent 54%);animation-name:maleRimSteel}
[data-male-material=pistol] .male-edge-b{background:linear-gradient(5deg,transparent 40%,#a3b2bf 49%,transparent 59%);animation:maleRimSteel 15s ease-in-out -5s infinite reverse}
/* Chrome: two separated studio reflections glide around the coachwork. */
[data-male-material=car] .male-edge-a{background:linear-gradient(112deg,transparent 34%,#dcedf5 38%,transparent 42% 52%,#a6c4d7c2 56%,transparent 60%)}
[data-male-material=car] .male-edge-b{background:linear-gradient(112deg,transparent 40%,#b9d9e78c 49%,transparent 58%);animation:maleRimChrome 17s ease-in-out -6s infinite reverse}
/* A home holds warm pools of evening light, without mechanical sweeping. */
[data-male-material=home] .male-edge-a{background:radial-gradient(ellipse at 36% 67%,#f5d8a6,transparent 34%),radial-gradient(ellipse at 64% 30%,#a7763f91,transparent 30%);animation:maleRimEvening 13s ease-in-out infinite alternate}
[data-male-material=home] .male-edge-b{background:radial-gradient(ellipse at 62% 73%,#dda865c2,transparent 33%);animation:maleRimEvening 19s ease-in-out -6s infinite alternate-reverse}
/* Assayed gold catches a broad diagonal band; whisky rolls amber caustics. */
[data-male-material=gold] .male-edge-a{background:linear-gradient(136deg,transparent 34%,#d4ae6482 42%,#f9e5b5 48%,#bb8b4385 54%,transparent 64%);animation-name:maleRimGold}
[data-male-material=gold] .male-edge-b{background:linear-gradient(44deg,transparent 36%,#e6c276a6 50%,transparent 66%);animation:maleRimGold 21s ease-in-out -7s infinite reverse}
[data-male-material=whisky] .male-edge-a{background:radial-gradient(ellipse at 34% 67%,#f1ca91,transparent 26%),radial-gradient(ellipse at 65% 34%,#d2914b9c,transparent 28%);animation:maleRimAmber 11s ease-in-out infinite alternate}
[data-male-material=whisky] .male-edge-b{background:radial-gradient(ellipse at 68% 66%,#f3d6a49c,transparent 29%);animation:maleRimAmber 17s ease-in-out -5s infinite alternate-reverse}
/* A watch's light makes one measured clockwise revolution, not a breathing halo. */
[data-male-material=watch] .male-edge-a{background:conic-gradient(from 0deg,transparent 0deg 276deg,#b8a78055 290deg,#f0e2be 308deg,transparent 328deg);animation:maleRimClock 24s linear infinite}
[data-male-material=watch] .male-edge-b{background:conic-gradient(from 0deg,transparent 0deg 94deg,#a28e6970 108deg,transparent 132deg);animation:maleRimClock 24s linear infinite}
/* A motorcycle's short red reflection accelerates and leaves a long quiet interval. */
[data-male-material=bike] .male-edge-a{background:linear-gradient(106deg,transparent 41%,#d6938273 46%,#f2cfba 49%,transparent 54%);animation:maleRimVelocity 10s cubic-bezier(.4,0,.2,1) infinite}
[data-male-material=bike] .male-edge-b{background:linear-gradient(106deg,transparent 37%,#b45c48b3 49%,transparent 61%);animation:maleRimVelocity 10s ease-in-out -1.3s infinite}
/* Bronze stays dense: a wide low-angle catch turns slowly around the sculpted material. */
[data-male-material=lion] .male-edge-a{background:radial-gradient(ellipse at 31% 44%,#eed2a0,transparent 35%);animation:maleRimBronze 18s ease-in-out infinite alternate}
[data-male-material=lion] .male-edge-b{background:radial-gradient(ellipse at 68% 63%,#b78b4eaa,transparent 33%);animation:maleRimBronze 23s ease-in-out -8s infinite alternate-reverse}
/* Water reflects two soft horizontal bands with different tides. */
[data-male-material=yacht] .male-edge-a{background:linear-gradient(176deg,transparent 35%,#a2d6df85 41%,#def5f3 45%,transparent 51% 60%,#83bac378 65%,transparent 72%);animation:maleRimWater 9s ease-in-out infinite alternate}
[data-male-material=yacht] .male-edge-b{background:linear-gradient(5deg,transparent 37%,#b1e0dfad 47%,transparent 57%);animation:maleRimWater 13s ease-in-out -4s infinite alternate-reverse}
/* Crystal passes light between separate facets, never a full white flash. */
[data-male-material=diamond] .male-edge-a{background:conic-gradient(from 27deg,transparent 0deg 39deg,#d9f5fff0 53deg,transparent 68deg 191deg,#cdbce5cc 209deg,transparent 224deg 306deg,#b7d9f4b0 319deg,transparent 331deg);animation:maleRimCrystal 13s ease-in-out infinite alternate}
[data-male-material=diamond] .male-edge-b{background:linear-gradient(139deg,transparent 45%,#e2f3ff 49%,transparent 53%);animation:maleRimFacet 8s ease-in-out -3s infinite}
/* A jet's cool horizon drifts in one long horizontal passage. */
[data-male-material=jet] .male-edge-a{background:linear-gradient(95deg,transparent 30%,#9fbdd24d 42%,#e2edf5 49%,transparent 65%);animation:maleRimHorizon 19s ease-in-out infinite}
[data-male-material=jet] .male-edge-b{background:linear-gradient(169deg,transparent 40%,#b5cddb80 50%,transparent 66%);animation:maleRimHorizon 27s ease-in-out -9s infinite reverse}
@keyframes maleRimChrome{0%,100%{transform:translateX(-25%);opacity:.09}29%,43%{opacity:.68}72%{transform:translateX(26%);opacity:.13}}
@keyframes maleRimSatin{0%,100%{transform:translate(-12%,18%) rotate(-3deg);opacity:.16}43%{opacity:.61}74%{transform:translate(11%,-15%) rotate(3deg);opacity:.2}}
@keyframes maleRimSteel{0%,18%,100%{transform:translateY(-24%);opacity:.06}38%{opacity:.72}65%{transform:translateY(23%);opacity:.11}}
@keyframes maleRimEvening{from{transform:scale(.96);opacity:.29}to{transform:scale(1.05);opacity:.72}}
@keyframes maleRimGold{0%,100%{transform:translate(-19%,14%);opacity:.11}38%,51%{opacity:.72}78%{transform:translate(19%,-14%);opacity:.16}}
@keyframes maleRimAmber{from{transform:translate(-8%,5%) rotate(-6deg);opacity:.33}to{transform:translate(8%,-5%) rotate(5deg);opacity:.76}}
@keyframes maleRimClock{from{transform:rotate(0deg);opacity:.65}to{transform:rotate(360deg);opacity:.65}}
@keyframes maleRimVelocity{0%,13%,100%{transform:translateX(-29%);opacity:.04}30%{opacity:.73}48%{transform:translateX(30%);opacity:.07}69%{opacity:.02}}
@keyframes maleRimBronze{from{transform:rotate(-12deg) translateX(-5%);opacity:.31}to{transform:rotate(17deg) translateX(5%);opacity:.69}}
@keyframes maleRimWater{from{transform:translate(-4%,12%) rotate(-2deg);opacity:.34}to{transform:translate(5%,-12%) rotate(2deg);opacity:.72}}
@keyframes maleRimCrystal{0%,100%{transform:rotate(-13deg);opacity:.19}33%{opacity:.7}74%{transform:rotate(38deg);opacity:.32}}
@keyframes maleRimFacet{0%,26%,100%{transform:translate(-17%,10%);opacity:.02}46%{opacity:.65}69%{transform:translate(17%,-10%);opacity:.04}}
@keyframes maleRimHorizon{0%,100%{transform:translateX(-23%);opacity:.08}41%,53%{opacity:.61}83%{transform:translateX(23%);opacity:.15}}
@keyframes maleRimReturn{0%,100%{transform:translate(12%,-6%);opacity:.1}52%{transform:translate(-12%,9%);opacity:.32}}
@supports not ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.male-edge{display:none}}

.male-material-scene{position:absolute;inset:auto 0 0;height:88px;overflow:hidden;pointer-events:none;z-index:3;isolation:isolate;background:#0d0b11;border-top:1px solid #d9cddc14}
.media-stage:has(.status-material-scene){padding-bottom:88px}
.media-stage .profile-atmosphere .male-material-scene{inset:auto 0 0;height:88px;border-radius:0;background:linear-gradient(110deg,var(--male-dark),#0d0b11 70%);border-top:1px solid #d9cddc14}
.media-stage .profile-atmosphere:has(.male-material-scene) .status-frame{bottom:88px;border-radius:inherit}
.media-stage .profile-atmosphere .male-material-scene .gift-object{inset:8px auto auto calc(50% - 64px);width:128px;height:72px;max-width:none;display:block;transform-origin:50% 74%;animation:none}
.media-stage .profile-atmosphere .male-material-scene .gift-object img{position:static;display:block;min-width:0;min-height:0;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important}
.male-material-scene .gift-object{z-index:1}
.male-material-scene .gift-object img{filter:drop-shadow(0 5px 6px #0009)}
.male-material-scene > .male-motion{z-index:0}
.male-material-scene .male-air{inset:-80% -30%;background:radial-gradient(ellipse at 48% 61%,var(--male-glow),transparent 36%);animation:maleRoomReflection var(--male-period) ease-in-out infinite alternate}
.male-material-scene .male-floor{inset:-45% -25%;background:radial-gradient(ellipse at 49% 90%,var(--male-glow),transparent 31%);animation:maleFloorReflection calc(var(--male-period) * 1.2) ease-in-out infinite alternate}
@keyframes maleRoomReflection{from{transform:translate(-2%,3%);opacity:.4}to{transform:translate(6%,-5%);opacity:.9}}
@keyframes maleFloorReflection{from{transform:translateX(4%) scaleX(.95);opacity:.25}to{transform:translateX(-3%) scaleX(1.06);opacity:.7}}

/* The light and the photograph share identical object-fit geometry. The mask
   never moves: a highlight belongs to glass/metal, never to the empty rectangle. */
.male-object-light{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask-image:var(--object-mask);-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;
  mask-image:var(--object-mask);mask-size:contain;mask-position:center;mask-repeat:no-repeat;
}
.male-object-light .male-object-sheen{inset:-65% -85%;background:linear-gradient(108deg,transparent 39%,#fffdf60a 45%,var(--male-light) 49%,#fffdf618 52%,transparent 59%);opacity:.16;animation-duration:var(--male-period);animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite}
.male-object-light .male-object-depth{inset:-30%;background:radial-gradient(ellipse at 42% 64%,var(--male-mid),transparent 54%);opacity:.12;animation:maleMaterialDepth calc(var(--male-period) * 1.15) ease-in-out infinite alternate}
@keyframes maleMaterialDepth{from{transform:translate(-12%,4%);opacity:.05}to{transform:translate(9%,-6%);opacity:.23}}

/* Each material has its own tempo and optical movement inside its actual art. */
[data-male-material=cash] .male-object-sheen{animation-name:maleCashFold;background:linear-gradient(156deg,transparent 33%,#d4e4ba88 46%,#faf6d6 49%,transparent 57%)}
[data-male-material=cash] .male-object-depth{background:linear-gradient(20deg,transparent 35%,#b9cc7f99 54%,transparent 73%);animation-duration:16s}
@keyframes maleCashFold{0%,100%{transform:translate(-18%,18%) rotate(-8deg);opacity:.06}34%{opacity:.46}57%{transform:translate(18%,-13%) rotate(3deg);opacity:.12}76%{opacity:.04}}

[data-male-material=pistol] .male-object-sheen{animation-name:maleSteelPolish;background:linear-gradient(98deg,transparent 42%,#adb9c45c 46%,#fff 49%,#a0acb426 52%,transparent 57%)}
[data-male-material=pistol] .male-object-depth{background:linear-gradient(178deg,transparent 38%,#d2d9e68f 51%,transparent 66%);animation-duration:13s}
@keyframes maleSteelPolish{0%,18%,100%{transform:translateX(-32%);opacity:0}37%{opacity:.6}58%{transform:translateX(30%);opacity:0}78%{opacity:0}}

[data-male-material=car] .male-object-sheen{animation-name:maleCarCoachwork;background:linear-gradient(101deg,transparent 37%,#aac4d326 44%,#ecf7ff 48%,#d5e6eb52 53%,transparent 61%)}
[data-male-material=car] .male-object-depth{background:radial-gradient(ellipse at 80% 59%,#def4ff,transparent 17%),radial-gradient(ellipse at 61% 53%,#b6def8a3,transparent 13%);animation:maleCarIgnition 12s ease-in-out infinite}
@keyframes maleCarCoachwork{0%,100%{transform:translateX(-32%) rotate(-3deg);opacity:.04}28%{opacity:.6}59%{transform:translateX(30%) rotate(2deg);opacity:.07}75%{opacity:0}}
@keyframes maleCarIgnition{0%,14%,100%{transform:scale(.99);opacity:.07}28%,43%{transform:scale(1);opacity:.5}62%,84%{opacity:.13}}

[data-male-material=home] .male-object-sheen{animation-name:maleHomeEvening;background:linear-gradient(146deg,transparent 25%,#e6c89c4a 44%,#f0d6ad 53%,transparent 72%)}
[data-male-material=home] .male-object-depth{background:radial-gradient(ellipse at 51% 65%,#e9af64,transparent 40%);animation-duration:19s}
@keyframes maleHomeEvening{0%,100%{transform:translate(-12%,14%);opacity:.08}42%{opacity:.27}68%{transform:translate(8%,-9%);opacity:.14}}

[data-male-material=gold] .male-object-sheen{animation-name:maleGoldAssay;background:linear-gradient(131deg,transparent 38%,#f9d88773 46%,#fff4cd 49%,#e6b95859 54%,transparent 63%)}
[data-male-material=gold] .male-object-depth{background:linear-gradient(26deg,transparent 36%,#e8b959 53%,transparent 69%);animation-duration:16s}
@keyframes maleGoldAssay{0%,100%{transform:translate(-21%,12%);opacity:.08}38%{opacity:.6}69%{transform:translate(24%,-12%);opacity:.11}}

[data-male-material=whisky] .male-object-sheen{animation-name:maleWhiskyCaustic;background:linear-gradient(101deg,transparent 35%,#f8e2c329 43%,#fff4de 48%,transparent 53%,#d89b5659 62%,transparent 68%)}
[data-male-material=whisky] .male-object-depth{background:radial-gradient(ellipse at 47% 69%,#f5ad55b3,transparent 32%),radial-gradient(ellipse at 64% 48%,#ffe6b375,transparent 24%);animation:maleWhiskyRefraction 11s ease-in-out infinite alternate}
@keyframes maleWhiskyCaustic{0%,100%{transform:translate(-12%,5%) rotate(-6deg);opacity:.09}40%{opacity:.63}67%{transform:translate(13%,-8%) rotate(4deg);opacity:.17}}
@keyframes maleWhiskyRefraction{from{transform:translate(-5%,5%) rotate(-3deg);opacity:.13}to{transform:translate(4%,-4%) rotate(3deg);opacity:.47}}

[data-male-material=watch] .male-object-sheen{animation-name:maleWatchSweep;inset:-30%;background:conic-gradient(from 8deg at 50% 50%,transparent 0deg 273deg,#eadab83d 291deg,#fff1d4 307deg,transparent 321deg)}
[data-male-material=watch] .male-object-depth{background:linear-gradient(101deg,transparent 42%,#f5e5bd 50%,transparent 57%);animation-duration:21s}
@keyframes maleWatchSweep{0%{transform:rotate(-50deg);opacity:.05}32%{opacity:.4}68%{opacity:.2}100%{transform:rotate(310deg);opacity:.05}}

[data-male-material=bike] .male-object-sheen{animation-name:maleBikeIgnition;background:linear-gradient(114deg,transparent 37%,#f3ac9766 45%,#fff0e5 49%,transparent 56%)}
[data-male-material=bike] .male-object-depth{background:radial-gradient(ellipse at 69% 52%,#ffeacb,transparent 19%);animation:maleCarIgnition 10s ease-in-out -2s infinite}
@keyframes maleBikeIgnition{0%,14%,100%{transform:translateX(-30%);opacity:0}29%{opacity:.67}49%{transform:translateX(28%);opacity:.04}73%{opacity:0}}

[data-male-material=lion] .male-object-sheen{animation-name:maleLionBronze;background:linear-gradient(130deg,transparent 30%,#eccb8b70 43%,#ffe6b0 49%,#d39c486b 56%,transparent 69%)}
[data-male-material=lion] .male-object-depth{background:radial-gradient(ellipse at 57% 34%,#e3b96d,transparent 39%);animation-duration:15s}
@keyframes maleLionBronze{0%,100%{transform:translate(-16%,9%) rotate(-11deg);opacity:.08}44%{opacity:.4}73%{transform:translate(15%,-8%) rotate(8deg);opacity:.12}}

[data-male-material=yacht] .male-object-sheen{animation-name:maleYachtReflection;background:linear-gradient(177deg,transparent 29%,#b4e1e65e 41%,#edfaff 48%,transparent 57%,#97d2e12e 69%,transparent 77%)}
[data-male-material=yacht] .male-object-depth{background:radial-gradient(ellipse at 45% 77%,#7fd6e28c,transparent 39%);animation-duration:9s}
@keyframes maleYachtReflection{0%,100%{transform:translate(-5%,12%) rotate(-2deg);opacity:.09}41%{opacity:.42}71%{transform:translate(7%,-10%) rotate(2deg);opacity:.14}}

[data-male-material=diamond] .male-object-sheen{animation-name:maleDiamondPrism;inset:-30%;background:conic-gradient(from 30deg,#c6d9f800,transparent 20%,#e4f7ffb3 29%,transparent 37% 64%,#ddcdf5b3 71%,transparent 83%)}
[data-male-material=diamond] .male-object-depth{background:linear-gradient(129deg,transparent 43%,#fff 49%,transparent 54%);animation:maleSteelPolish 9s ease-in-out -4s infinite}
@keyframes maleDiamondPrism{0%,100%{transform:rotate(-20deg);opacity:.12}37%{opacity:.62}72%{transform:rotate(48deg);opacity:.25}}

[data-male-material=jet] .male-object-sheen{animation-name:maleJetHorizon;background:linear-gradient(91deg,transparent 32%,#bdd2e552 43%,#f5fcff 48%,#d6e2ee26 55%,transparent 64%)}
[data-male-material=jet] .male-object-depth{background:linear-gradient(166deg,transparent 37%,#c6e3f394 52%,transparent 69%);animation-duration:22s}
@keyframes maleJetHorizon{0%,100%{transform:translate(-25%,6%);opacity:.05}42%{opacity:.54}77%{transform:translate(25%,-6%);opacity:.08}}

/* Preview uses the same optical setup at a larger size, with no second frame
   or floating diagram. The profile's reserved strip never changes height. */
.scene-preview .male-material-scene{inset:0;height:100%;border:0;border-radius:inherit;background:linear-gradient(145deg,var(--male-dark),#0d0b11 80%)}
.scene-preview .male-material-scene .gift-object{inset:6% auto auto 16%;width:68%;height:88%;max-width:none;animation:none}
.scene-preview .male-material-scene .male-air{background:radial-gradient(ellipse at 48% 58%,var(--male-glow),transparent 36%)}
.scene-preview .male-material-scene .male-floor{background:radial-gradient(ellipse at 49% 85%,var(--male-glow),transparent 32%)}
.scene-preview .status-frame[data-male-material]{z-index:4}
.card .status-material-scene,.card .male-material-scene{display:none}
.profile-atmosphere.is-arriving .male-material-scene .gift-object{animation:maleGiftArrival .72s cubic-bezier(.16,1,.3,1) both}
@keyframes maleGiftArrival{from{transform:translateY(4px) scale(.96);opacity:.28}to{transform:translateY(0) scale(1);opacity:1}}
.profile-motion-static .male-edge .male-motion{opacity:.2;transform:none}
.profile-motion-static .male-material-scene > .male-motion{opacity:.5;transform:none}
.profile-motion-static .male-object-light .male-object-sheen{opacity:.14;transform:none}
.profile-motion-static .male-object-light .male-object-depth{opacity:.1;transform:none}
@media(prefers-reduced-motion:reduce){
  .male-edge .male-motion{opacity:.2;transform:none}
  .male-material-scene > .male-motion{opacity:.5;transform:none}
  .male-object-light .male-object-sheen{opacity:.14;transform:none}
  .male-object-light .male-object-depth{opacity:.1;transform:none}
}
