/* Stage 4C approved high-fidelity honor visuals. */

/* Restore the approved single-piece top-right identity/ranking pill. */
.tv-account-label{right:2.5%;top:3.25%;width:14.2%;height:5.95%;min-width:0;display:none;align-items:center;padding:0 .72vw;border:.075vw solid rgba(62,221,224,.72);border-radius:999px;background:linear-gradient(105deg,rgba(4,27,50,.93),rgba(7,54,62,.91));box-shadow:0 0 .9vw rgba(42,212,219,.2),inset 0 0 .85vw rgba(84,226,214,.06);overflow:hidden;pointer-events:none}
.tv-home.authenticated .tv-account-label{display:flex}.tv-account-label>img{display:none}.tv-account-label>span.tv-account-icon{position:relative;display:block;width:1.5vw;min-width:1.5vw;height:1.5vw;flex:0 0 1.5vw;margin-right:.55vw;border:.075vw solid rgba(124,224,221,.72);border-radius:.16vw;background:rgba(8,53,68,.92)}.tv-account-icon:before{content:"";position:absolute;left:50%;top:18%;width:.42vw;height:.42vw;transform:translateX(-50%);border:.065vw solid #b9f0e8;border-radius:50%}.tv-account-icon:after{content:"";position:absolute;left:50%;bottom:16%;width:.78vw;height:.4vw;transform:translateX(-50%);border:.065vw solid #b9f0e8;border-radius:.5vw .5vw .16vw .16vw}.tv-account-copy{position:static;display:block;min-width:0;color:#fff;text-shadow:0 .12vw .28vw rgba(0,0,0,.55)}
.tv-account-copy>b{display:flex;align-items:baseline;gap:.18vw;white-space:nowrap;font-size:.76vw;font-weight:750;line-height:1.15}.tv-account-copy b>i{font-style:normal}.tv-account-copy b>em{color:#9fd1ca;font-style:normal}.tv-account-copy .tv-account-honor-name{color:#82d7ca;font-size:.72vw;font-weight:750;letter-spacing:.02em}
.tv-account-copy .tv-account-rank{display:block;margin-top:.18vw;color:#91b9b9;font-size:.64vw;font-weight:650;letter-spacing:.01em;white-space:nowrap}.tv-account-chevron{position:absolute;right:5.5%;top:35%;color:#a3d5d0;font-size:.72vw}
.tv-hotspot.account{right:2.5%;top:3.25%;width:14.2%;height:5.95%;border-radius:999px}
.tv-connection-label{top:11.15%}

/* Six-beat cinematic ceremony, based directly on the approved storyboard. */
.achievement-celebration{background:#031522 url('/assets/honors/ceremony-background-v2.jpg') center/cover no-repeat;backdrop-filter:none}.achievement-celebration:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 47%,rgba(27,126,105,.1),transparent 34%),linear-gradient(180deg,rgba(0,10,18,.03),rgba(0,10,18,.22));pointer-events:none}
.celebration-scene{position:relative;z-index:1;width:100vw;height:100vh;display:block;text-align:center;overflow:hidden}.ceremony-leaf-count,.ceremony-sprout,.ceremony-task,.ceremony-streak,.ceremony-rank,.celebration-actions{position:absolute}

.ceremony-leaf-count{z-index:3;left:50%;top:21%;width:26vw;height:27vh;transform:translateX(-50%);opacity:0;animation:leaf-count-scene 1.42s ease forwards}.ceremony-leaf-count i{position:absolute;top:20%;width:4.6vw;height:9.2vh;border:1px solid rgba(253,227,150,.72);border-radius:100% 0 100% 0;background:linear-gradient(145deg,#d0ffe5 0%,#52c991 47%,#147064 100%);box-shadow:inset .5vw .2vw .8vw rgba(255,255,255,.22),0 0 1.4vw rgba(83,231,174,.68),0 0 .4vw rgba(246,207,109,.72)}
.ceremony-leaf-count i:after{content:"";position:absolute;left:48%;top:8%;width:1px;height:82%;transform:rotate(-28deg);transform-origin:center;background:rgba(255,232,165,.8);box-shadow:-.55vw .9vw 0 -.15px rgba(255,232,165,.62),.48vw 1.35vw 0 -.15px rgba(255,232,165,.55)}.ceremony-leaf-count i:nth-child(1){left:17%;transform:rotate(-34deg)}.ceremony-leaf-count i:nth-child(2){left:42%;transform:rotate(-3deg)}.ceremony-leaf-count i:nth-child(3){left:68%;filter:grayscale(1);opacity:.35;transform:rotate(31deg);animation:third-leaf-light .42s .08s ease forwards}.ceremony-leaf-count>b{position:absolute;left:0;right:0;bottom:0;color:#e6d9b2;font-family:"Songti SC","STSong",serif;font-size:2.3vw;font-weight:500;letter-spacing:.08em;text-shadow:0 0 .7vw rgba(226,190,102,.32)}

.ceremony-sprout{z-index:4;left:50%;top:10.5%;width:16.5vw;height:37vh;object-fit:contain;transform:translateX(-50%) scale(.35);opacity:0;filter:drop-shadow(0 0 1.5vw rgba(80,225,165,.46));animation:sprout-scene 1.32s .42s cubic-bezier(.2,.85,.2,1) forwards}
.ceremony-sprout:after{content:""}
.ceremony-task{z-index:5;left:50%;top:48%;width:65vw;transform:translateX(-50%) translateY(1.5vh);opacity:0;animation:task-scene 1.35s 1.36s ease forwards}.ceremony-task small{display:block;color:#77d7bd;font-size:.82vw;letter-spacing:.22em}.ceremony-task h2{margin:.55vh 0 .55vh;color:#eac77a;font-family:"Songti SC","STSong","Noto Serif SC",serif;font-size:3.35vw;font-weight:520;letter-spacing:.1em;text-shadow:0 .25vw 1vw rgba(218,173,72,.2)}.ceremony-task h2:after{content:"✣";display:block;margin:.7vh auto 0;color:#b99b55;font-size:1vw}.ceremony-task p{margin:0;color:#e4e8e2;font-family:"Songti SC","STSong",serif;font-size:1.08vw;letter-spacing:.04em}

.ceremony-streak{z-index:6;left:50%;top:18%;width:55vw;height:57vh;transform:translateX(-50%) scale(.86);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;animation:streak-scene 1.45s 2.32s ease forwards}.ceremony-streak>img{width:15vw;height:15vw;object-fit:contain;filter:drop-shadow(0 .8vw 1.25vw rgba(0,0,0,.34)) drop-shadow(0 0 1vw rgba(226,190,105,.22))}.ceremony-streak>div{margin-top:.4vh}.ceremony-streak small{display:block;color:#78cbb6;font-size:.72vw;letter-spacing:.18em}.ceremony-streak strong{display:block;margin:.3vh 0;color:#f2e6c8;font-family:"Songti SC","STSong",serif;font-size:2.05vw;font-weight:520;letter-spacing:.08em}.ceremony-streak strong b{color:#e9c573;font-size:2.8vw}.ceremony-streak em{color:#dcc078;font-family:"Songti SC","STSong",serif;font-size:1.05vw;font-style:normal;letter-spacing:.09em}

.ceremony-rank{z-index:7;left:50%;top:35%;width:68vw;transform:translateX(-50%) translateY(1.2vh);opacity:0;animation:rank-scene .75s 3.46s ease forwards}.ceremony-rank small{display:block;color:#78cab8;font-size:.75vw;letter-spacing:.18em}.ceremony-rank strong{display:block;margin:1.1vh 0;color:#e8c878;font-family:"Songti SC","STSong","Noto Serif SC",serif;font-size:3.2vw;font-weight:520;letter-spacing:.09em}.ceremony-rank strong b{color:#f5d88f;font-size:3.65vw}.ceremony-rank p{margin:0;color:#d5ddd8;font-family:"Songti SC","STSong",serif;font-size:1.15vw;letter-spacing:.05em}.ceremony-rank p span{color:#d9bb70}

.celebration-actions{z-index:8;left:8%;right:8%;bottom:8.2%;display:flex;align-items:center;justify-content:space-between;opacity:0;animation:actions-scene .55s 4.05s ease forwards}.celebration-actions>span{color:#8ba69f;font-family:"Songti SC","STSong",serif;font-size:.78vw}.celebration-actions>div{display:flex;gap:.8vw}.celebration-actions button{min-width:11vw;height:5.5vh;padding:0 1.2vw;border:1px solid rgba(226,194,112,.72);border-radius:999px;color:#e8e4d7;background:linear-gradient(180deg,rgba(44,95,84,.95),rgba(19,61,59,.95));box-shadow:inset 0 0 .75vw rgba(255,230,162,.08),0 .4vw 1vw rgba(0,0,0,.24);font-family:"Songti SC","STSong",serif;font-size:.86vw;font-weight:700;outline:0}.celebration-actions .celebration-wear,.celebration-actions .celebration-home{color:#153d35;background:linear-gradient(180deg,#cde1c6,#7faa91);box-shadow:inset 0 0 0 .12vw rgba(255,241,193,.55),0 0 .75vw rgba(225,191,105,.34)}.celebration-actions button:focus{border-color:#fff1b4;box-shadow:0 0 0 .13vw #e4bd63,0 0 1.15vw rgba(229,192,97,.7)}

@keyframes third-leaf-light{to{filter:none;opacity:1}}@keyframes leaf-count-scene{0%{opacity:1}65%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.82)}}
@keyframes sprout-scene{0%{opacity:0;transform:translateX(-50%) scale(.25)}24%{opacity:1}70%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.94)}}
@keyframes task-scene{0%{opacity:0;transform:translateX(-50%) translateY(1.5vh)}22%,72%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(-.8vh)}}
@keyframes streak-scene{0%{opacity:0;transform:translateX(-50%) scale(.78)}20%,68%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.94)}}
@keyframes rank-scene{to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes actions-scene{to{opacity:1}}

@media (prefers-reduced-motion:reduce){.ceremony-leaf-count,.ceremony-sprout,.ceremony-task,.ceremony-streak{display:none}.ceremony-rank,.celebration-actions{animation:none;opacity:1}}
