[data-profile-user]{cursor:pointer}[data-profile-user]:focus-visible{outline:3px solid #4d9ed0;outline-offset:5px}.avatar-profile-menu{position:fixed;z-index:10000;padding:6px;background:white;border:1px solid #c7d5df;box-shadow:0 8px 28px #142c4425;border-radius:12px;min-width:155px}.avatar-profile-menu button{width:100%;text-align:left}.member-profile-dialog{width:min(680px,94vw);max-height:88vh;overflow:auto;border:1px solid #cad6e3;border-radius:26px;padding:28px;background:#f9fcff;color:#213c55}.member-profile-dialog::backdrop{background:#0b1d36a6;backdrop-filter:blur(5px)}.profile-close{display:block;margin-left:auto}.profile-portrait{text-align:center;margin:16px 0 24px}.profile-portrait .member-picture{width:92px;height:92px;font-size:36px;margin:auto}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-stats div{text-align:center;border-radius:16px;padding:18px 8px;background:#e9f1f9;min-width:0}.profile-stats strong{display:block;font-size:clamp(14px,3vw,22px);overflow-wrap:anywhere}.profile-stats span{display:block;margin-top:6px}.profile-earned{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.profile-earned-badge{display:flex;align-items:center;flex-direction:column;gap:12px;padding:18px;border:1px solid #ccd9e6;border-radius:18px;background:white}.profile-earned-badge>span{font-size:32px}.member-profile-dialog label{display:block;margin:12px 0}.member-profile-dialog input,.member-profile-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px}.member-profile-dialog form button{margin-right:8px}[data-badge-rarity=easy]{outline:3px solid #379b6b;outline-offset:3px}[data-badge-rarity=medium]{outline:3px solid #3f8cd2;outline-offset:3px}[data-badge-rarity=hard]{outline:3px solid #9c65cd;outline-offset:3px;box-shadow:0 0 18px #9961cc66}[data-badge-rarity=impossible]{outline:3px solid #d6ab45;outline-offset:3px;box-shadow:0 0 20px #edca6266}[data-badge-rarity=transcendent]{outline:3px solid #7160bd;outline-offset:3px;animation:profile-transcendent 6s ease-in-out infinite}.team-post{position:relative;padding-right:54px!important}.comment-options{position:absolute;right:12px;top:10px;z-index:2}.comment-options[open]{z-index:20}.comment-options>summary{list-style:none;cursor:pointer;font-size:28px;line-height:32px;text-align:center;width:36px;border-radius:8px}.comment-options>summary::-webkit-details-marker{display:none}.comment-options>summary:hover{background:#dbe7f1}.comment-options-list{position:absolute;right:0;min-width:160px;padding:6px;background:white;border:1px solid #c6d5e0;border-radius:12px;box-shadow:0 8px 24px #142c4430;display:grid;gap:5px}.comment-options-list button{width:100%;margin:0!important}@keyframes profile-transcendent{0%,100%{box-shadow:0 0 18px #173e8570}50%{box-shadow:0 0 24px #7231ae99}}@media(prefers-reduced-motion:reduce){[data-badge-rarity=transcendent]{animation:none}}
.profile-effects-settings{margin-top:28px;padding:24px;border:1px solid #c8d7e3;border-radius:20px;background:#f7fbff;color:#223c53}.profile-effect-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px;margin:24px 0}.profile-effect-option{display:flex;align-items:center;flex-direction:column;gap:18px;padding:24px 14px;background:white;border:2px solid #d4e1eb;border-radius:18px;color:#233f55;cursor:pointer}.profile-effect-option[aria-pressed=true]{border-color:#397fb6;background:#e9f4ff}.profile-effect-option .member-picture{width:64px;height:64px;font-size:26px}.profile-effect-option:focus-visible{outline:3px solid #589bd4;outline-offset:3px}#change-avatar .profile-avatar,#choose-avatar #onboarding-avatar{outline:none!important;box-shadow:none!important}#change-avatar .profile-avatar::before,#change-avatar .profile-avatar::after,#choose-avatar #onboarding-avatar::before,#choose-avatar #onboarding-avatar::after{display:none!important}
/* Illustrated profile header and collection layout. */
.member-profile-dialog{--profile-accent:#317b93;--profile-soft:#eaf4f6;width:min(820px,94vw);padding:0;border:1px solid #ffffffb0;border-radius:28px;background:#f5f8fc;box-shadow:0 28px 100px #071a3c55;scrollbar-width:thin}.member-profile-dialog[data-program=zhifu]{--profile-accent:#94702d;--profile-soft:#f6f0e1}.member-profile-dialog .profile-close{position:absolute;z-index:5;top:16px;right:16px;margin:0;border:1px solid #ffffff80;background:#ffffffdf;color:#294759;border-radius:30px;padding:8px 16px;backdrop-filter:blur(8px)}.profile-content{padding:0 32px 24px}.profile-cover{position:relative;overflow:hidden;height:170px;margin:0 -32px;background:linear-gradient(125deg,#b6dce1,#d7e8f3 50%,#e4dbf5);isolation:isolate}.profile-sun{position:absolute;right:22%;top:28px;width:75px;height:75px;border-radius:50%;background:#fffce8b0;box-shadow:0 0 60px #fff8ddc0}.profile-ridge{position:absolute;width:115%;height:140px;bottom:-30px;left:-5%;clip-path:polygon(0 55%,12% 30%,25% 58%,41% 5%,57% 64%,71% 25%,86% 58%,100% 18%,100% 100%,0 100%);background:#7ea9bc55}.profile-ridge.ridge-front{bottom:-55px;left:8%;background:linear-gradient(90deg,#377e9644,#7e8ab95c);transform:scaleX(-1)}.member-profile-dialog[data-program=zhifu] .profile-cover{background:linear-gradient(120deg,#e8d3a4,#f4e8cc,#e6d9bb)}.member-profile-dialog[data-program=zhifu] .profile-ridge{background:#b49b6550}.profile-portrait{display:flex;align-items:flex-end;gap:24px;position:relative;margin:-42px 0 28px;text-align:left;z-index:1}.profile-portrait .member-picture{width:110px;height:110px;font-size:42px;margin:0;flex-shrink:0;border:6px solid #f5f8fc;box-sizing:border-box;background-color:#e0ebf2}.profile-identity{min-width:0;padding-top:50px;flex:1}.profile-identity h2{font-size:clamp(24px,4vw,32px);line-height:1.25;overflow-wrap:anywhere;margin:7px 0;color:#20394c}.profile-program-label{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--profile-accent)}.profile-collection-count{color:#6a7e8f;font-size:.9em}.profile-edit-action{border-radius:30px;white-space:nowrap;margin-bottom:3px}.profile-about{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.profile-about-card{padding:20px 22px;border:1px solid #e1e9ef;border-radius:18px;background:#ffffffd9}.profile-about-card h3{font-size:.85em;color:var(--profile-accent);margin:0 0 12px;letter-spacing:.04em}.profile-about-card p{margin:0;color:#536b7d;font-size:.95em}.profile-hobby-tags{display:flex;flex-wrap:wrap;gap:8px}.profile-hobby-tags span{border-radius:30px;padding:7px 12px;background:var(--profile-soft);color:var(--profile-accent);font-size:.9em;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box}.profile-content>h3{font-size:1em;letter-spacing:.03em;margin:28px 0 14px}.profile-stats{gap:14px}.profile-stats div{position:relative;padding:22px 12px 18px;border:1px solid #dee7ef;background:white;box-shadow:0 4px 15px #29445c04}.profile-stat-icon{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 12px;border-radius:10px;background:#fff1ce;color:#b58322;font-size:22px;font-style:normal}.profile-stats div:nth-child(2) .profile-stat-icon{background:#e9e6f8;color:#7b63b5}.profile-stats div:nth-child(3) .profile-stat-icon{background:#e9eff4;color:#6a7f90;font-size:18px}.profile-stats strong{font-variant-numeric:tabular-nums;font-weight:800}.profile-stats span{color:#758696;font-size:.85em}.profile-earned{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.profile-earned-badge{--badge-color:#2d8b68;padding:22px 12px;border:1px solid #dce7e4;gap:10px;box-shadow:0 5px 18px #20364c04}.profile-earned-badge.medium{--badge-color:#397db3}.profile-earned-badge.hard{--badge-color:#8b5caf}.profile-earned-badge.transcendent{--badge-color:#493780}.profile-earned-badge>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--badge-color) 12%,white);border:3px double color-mix(in srgb,var(--badge-color) 45%,white);margin-bottom:4px}.profile-earned-badge strong{font-size:.9em}.profile-badge-rank{background:var(--badge-color);color:white;padding:3px 10px;border-radius:20px;font-size:.72em}.profile-badges-empty{grid-column:1/-1;border:1px dashed #c8d6e2;border-radius:18px;padding:28px;text-align:center;background:#ffffff8c;color:#6a7e90}.profile-badges-empty>span{display:block;font-size:36px;color:#91abc0;margin-bottom:8px}.profile-badges-empty strong{display:block;color:#526e84}.profile-badges-empty p{margin:8px 0 0;font-size:.9em}.profile-edit-form{background:white;padding:20px;border:1px solid #d5e1ec;border-radius:18px;margin-top:16px}.profile-edit-form input,.profile-edit-form textarea{padding:12px;border-radius:12px;border:1px solid #cbd9e3;font:inherit}.profile-edit-form input:focus,.profile-edit-form textarea:focus{outline:2px solid #77a9c3;outline-offset:2px}@media(max-width:560px){.profile-content{padding:0 18px 20px}.profile-cover{margin:0 -18px;height:140px}.profile-portrait{gap:14px;flex-wrap:wrap;margin-top:-34px}.profile-portrait .member-picture{width:90px;height:90px;font-size:32px}.profile-identity{padding-top:40px}.profile-edit-action{margin-left:auto}.profile-about{grid-template-columns:1fr}.profile-stats{gap:8px}.profile-stats div{padding:16px 6px}.profile-earned{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-earned-badge{min-width:0}.profile-earned-badge strong{overflow-wrap:anywhere}}
/* The shared member icon has a 36px flex basis; larger portraits must not inherit it. */
.profile-portrait .member-picture,.profile-effect-option .member-picture{flex:0 0 auto;aspect-ratio:1 / 1;box-sizing:border-box;border-radius:50%;padding:0;align-items:center;justify-content:center}
.profile-portrait .member-picture{width:110px;height:110px;min-width:110px;min-height:110px;max-width:110px;max-height:110px}
.profile-effect-option .member-picture{width:64px;height:64px;min-width:64px;min-height:64px;max-width:64px;max-height:64px;margin-right:0}
@media(max-width:560px){.profile-portrait .member-picture{width:90px;height:90px;min-width:90px;min-height:90px;max-width:90px;max-height:90px}}
/* Layered light wraps the portrait without hiding its photo. */
[data-badge-rarity=transcendent]{position:relative;isolation:isolate;outline:2px solid #ad9dea;outline-offset:4px;box-shadow:0 0 16px #213f9870,0 0 30px #6228a755;animation:profile-transcendent 7s ease-in-out infinite}
[data-badge-rarity=transcendent]::before{content:'';position:absolute;inset:-9px;border:5px solid transparent;border-radius:50%;background:conic-gradient(from 0deg,#091d4d,#2865cf,#963ac4,#25205e,#fff 49%,#9786df 52%,#2159b6 70%,#752ca5,#091d4d) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;animation:profile-orbit 9s linear infinite;pointer-events:none;z-index:1}
[data-badge-rarity=transcendent]::after{content:'';position:absolute;inset:-13px;border-radius:50%;border:1px solid #9c8ce950;box-shadow:0 0 12px #785bba44;pointer-events:none}
[data-badge-rarity=impossible]{position:relative;isolation:isolate}
[data-badge-rarity=impossible]::before{content:'';position:absolute;inset:-7px;border:3px solid transparent;border-radius:50%;background:conic-gradient(#bc8a28,#edcd73,#fff7d9,#d2a13c,#9d6e1b,#bc8a28) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;animation:profile-orbit 10s linear infinite;pointer-events:none}
@keyframes profile-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){[data-badge-rarity=transcendent]::before,[data-badge-rarity=impossible]::before{animation:none}}

/* Two separate gradient arcs outside the selected rank effect. */
.has-custom-outer-ring{position:relative;overflow:visible!important}
.custom-outer-ring{position:absolute;inset:-14px;border:0;border-radius:50%;box-sizing:border-box;pointer-events:none;z-index:2;background:none;outline:none;box-shadow:none}
.custom-outer-ring::before,.custom-outer-ring::after{content:'';position:absolute;inset:-5px;border:2px solid transparent;border-radius:50%;background:conic-gradient(from 0deg,#315fca 0deg,#9b48c8 80deg,#4e47ad 145deg,transparent 175deg,transparent 360deg) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;animation:profile-orbit 5s linear infinite}
.custom-outer-ring::after{inset:0;background:conic-gradient(from 180deg,#8240bd 0deg,#3269ce 80deg,#8050bc 145deg,transparent 175deg,transparent 360deg) border-box;animation-direction:reverse;animation-duration:7s}
@media(prefers-reduced-motion:reduce){.custom-outer-ring::before,.custom-outer-ring::after{animation:none}}

/* Use the standard limited-ring size unless a rank effect is underneath. */
.has-custom-outer-ring:not([data-badge-rarity]),.has-custom-outer-ring[data-badge-rarity=""]{--custom-ring-inset:-10px}
.has-custom-outer-ring[data-badge-rarity]:not([data-badge-rarity=""]){--custom-ring-inset:-14px}
.custom-outer-ring{inset:var(--custom-ring-inset,-10px);transition:inset .25s ease}
.has-custom-outer-ring:not([data-badge-rarity])>.custom-outer-ring::before,.has-custom-outer-ring[data-badge-rarity=""]>.custom-outer-ring::before{inset:0}
.has-custom-outer-ring:not([data-badge-rarity])>.custom-outer-ring::after,.has-custom-outer-ring[data-badge-rarity=""]>.custom-outer-ring::after{inset:5px}
@media(prefers-reduced-motion:reduce){.custom-outer-ring{transition:none}}

/* Faster orbit for the account-exclusive limited effect. */
.custom-outer-ring::before{animation-duration:2.5s}.custom-outer-ring::after{animation-duration:3.5s}

/* Profile collections share the achievement rarity materials and reflections. */
.profile-earned-badge{--badge:#339668}.profile-earned-badge.medium{--badge:#3684c9}.profile-earned-badge.hard{--badge:#9760ca}.profile-earned-badge.impossible{--badge:#bd8a22}.profile-earned-badge.transcendent{--badge:#5844a4}
.profile-earned-badge>.achievement-emblem{display:grid;place-items:center;width:80px;height:80px;flex:none;margin:0;border-radius:50%;border:4px double var(--badge)}
.profile-earned-badge>.profile-badge-rank{border:0;border-radius:30px;padding:5px 12px;font-weight:750;text-align:center}

/* Limited ring sits outside a badge effect; alone it retains its normal size. */
.layered-limited-ring>.wish-edition-ring{inset:-17px!important;width:auto!important;height:auto!important;pointer-events:none;}
