/* Aurora light stays behind faces; two lightweight decorative layers only. */
.clockcity-portrait{position:relative;isolation:isolate;--cc-glow:#79e8df;--cc-light:#ceafff;aspect-ratio:2/3}
.clockcity-portrait>img{position:relative;z-index:1;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--cc-glow),transparent 48%))}
.clockcity-portrait::before{content:"";position:absolute;z-index:-1;inset:18% 7% 1%;border-radius:48%;background:radial-gradient(ellipse,var(--cc-glow),transparent 66%);opacity:.15;pointer-events:none}
.cc-portrait-sparks{position:absolute;inset:12% 6% 0;pointer-events:none;z-index:2;opacity:.85;background:radial-gradient(circle at 6% 25%,var(--cc-light) 0 2px,transparent 3px),radial-gradient(circle at 90% 45%,#fff 0 1px,transparent 3px),radial-gradient(circle at 16% 76%,#fff 0 1px,transparent 3px),radial-gradient(circle at 85% 81%,var(--cc-glow) 0 2px,transparent 4px);animation:cc-sparks 5s ease-in-out infinite}
.cc-tier-star{--cc-glow:#a5e7ff}.cc-tier-awake{--cc-glow:#a4fff3;--cc-light:#e2baff}.cc-tier-awake::after{content:"";position:absolute;inset:67% 4% 1%;border:1px solid #acfff183;border-radius:50%;transform:rotateX(62deg);pointer-events:none;box-shadow:0 0 17px #83e7ff45}
.cc-dye-moon{--cc-glow:#bec4ff;--cc-light:#fff3ba}.cc-dye-mint{--cc-glow:#7cffc1;--cc-light:#ccffe8}
.cc-arrival{animation:cc-arrival 900ms ease-out both}
.home-character.profession-character .clockcity-portrait{width:100%;height:100%;aspect-ratio:auto}.home-character.profession-character .clockcity-portrait>img{height:100%;width:100%;object-fit:contain}
.clockcity-invitation{display:grid;grid-template-columns:minmax(180px,.85fr) 1fr;gap:24px;align-items:center;margin:12px 0 34px;overflow:hidden}.clockcity-invitation>img{width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:16px}.clockcity-invitation p{line-height:1.8}
@keyframes cc-sparks{0%,100%{transform:translateY(5px);opacity:.45}50%{transform:translateY(-7px);opacity:.95}}
@keyframes cc-arrival{from{opacity:.3;filter:brightness(1.5);transform:translateY(7px)}to{opacity:1;filter:brightness(1);transform:translateY(0)}}
@media(max-width:680px){.clockcity-invitation{grid-template-columns:1fr;gap:16px}.clockcity-invitation>img{max-height:170px}.cc-portrait-sparks{animation-duration:7s}}
@media(prefers-reduced-motion:reduce){.cc-arrival,.cc-portrait-sparks{animation:none}.cc-portrait-sparks{opacity:.55}}

/* Full-length versioned portraits; decorative motion stays out of compact lists. */
.clockcity-portrait{display:block;width:100%;line-height:0}.clockcity-portrait>img{display:block;width:100%;height:100%;object-fit:contain}
.skin-card .clockcity-portrait{padding:0;font-size:inherit;height:auto}.skin-card .clockcity-portrait>img{height:auto}
.skin-preview-dialog>.clockcity-portrait{aspect-ratio:auto}.skin-preview-dialog>.clockcity-portrait>.skin-preview-art{height:min(58dvh,620px)}
.cc-tier-base .cc-portrait-sparks,.skin-card .cc-portrait-sparks,.fd-contact-portrait .cc-portrait-sparks,.fd-market-mini .cc-portrait-sparks,.fc-small-portrait .cc-portrait-sparks{display:none}
.fd-contact-portrait .clockcity-portrait>img,.fd-market-mini .clockcity-portrait>img,.fc-small-portrait .clockcity-portrait>img,.skin-card .clockcity-portrait>img{filter:none}
.cc-hero{position:relative}.cc-hero:after{content:"";position:absolute;inset:10% 8%;pointer-events:none;opacity:.55;background:radial-gradient(circle at 7% 28%,#ceafff 0 1.5px,transparent 3px),radial-gradient(circle at 93% 44%,#fff 0 1px,transparent 3px),radial-gradient(circle at 19% 78%,#79e8df 0 1.5px,transparent 3px);animation:cc-sparks 6s ease-in-out infinite}.cc-hero[data-clockcity-tier="base"]:after{display:none}
@media(max-width:680px){.skin-preview-dialog>.clockcity-portrait>.skin-preview-art{height:53dvh}.cc-hero:after{animation-duration:7s}}
@media(prefers-reduced-motion:reduce){.cc-hero:after{animation:none}}
