.rank-badge{position:relative;width:180px;padding-bottom:32px;isolation:isolate;text-align:center;margin:auto;color:#f7db9a}.rank-frame{width:100%;display:block;position:relative;z-index:2;filter:drop-shadow(0 4px 5px #0008)}.rank-aperture{position:absolute;top:18%;left:18%;width:64%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 35% 25%,#342a24,#100e0d);display:grid;place-items:center;font:54px Georgia;color:#f3d5a0}.rank-aperture img{width:100%;height:100%;object-fit:cover}.rank-stars{position:absolute;top:73%;width:100%;z-index:3;display:flex;justify-content:center;gap:3px}.rank-stars span{font-size:30px;line-height:1.1;color:#191714;-webkit-text-stroke:1px #977346;filter:drop-shadow(0 2px 2px #000)}.rank-stars .lit{color:#ffdc6a;-webkit-text-stroke:1px #fff3ba;text-shadow:0 0 12px #e8a422}.rank-elo{display:block;font:24px Georgia;letter-spacing:1px}.rank-elo small{font:11px system-ui;color:#c6b99e}.rank-gallery{max-width:1200px;margin:auto;padding:50px 20px;text-align:center}.rank-gallery h1{font:clamp(30px,5vw,54px) Georgia;color:#f6ddb1}.rank-collection{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:24px;margin:40px 0}.rank-collection section{padding:22px 8px;background:#19140dd9;border:1px solid #9d733b44;border-radius:20px}.rank-collection h2{font:20px Georgia}.rank-collection button{display:block;margin:8px auto;min-height:44px}.rank-celebration{border:1px solid #aa824f66;border-radius:28px;background:radial-gradient(ellipse at 50% 45%,#3a2919,#100e0bf5 65%);color:#fce6bb;width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:30px 20px;text-align:center;box-shadow:0 20px 120px #000}.rank-celebration::backdrop{background:#080604df;backdrop-filter:blur(7px)}.rank-celebration h1{font:clamp(28px,6vw,40px) Georgia;margin:10px 0}.rank-kicker{font:10px system-ui;letter-spacing:3px;color:#caad7c}.rank-stage{height:290px;position:relative;display:grid;place-items:center}.rank-stage .rank-badge{width:240px}.rank-stage>div:not(.rank-halo):not(.rank-particles){position:absolute;z-index:2}.rank-before{animation:rank-out .4s .65s both}.rank-earned{animation:rank-arrive .8s .65s both}.is-promotion .rank-earned{animation:rank-arrive .8s .65s both,rank-out .4s 2.1s forwards}.rank-promoted{animation:rank-arrive .9s 2.2s both}.rank-halo{width:200px;height:200px;border:2px solid #f8d786;border-radius:50%;opacity:0;animation:rank-ring 1.3s .8s both}.is-promotion .rank-halo{animation-delay:2.1s}.rank-particles{position:absolute;left:50%;top:45%}.rank-particles i{position:absolute;width:4px;height:4px;background:#ffe7a0;border-radius:50%;animation:rank-spark 1.4s 1s both;box-shadow:0 0 8px #ffc440}.is-promotion .rank-particles i{animation-delay:2.2s}.rank-announcement{color:#dfbf7c;min-height:24px;animation:rank-arrive .5s 1.5s both}.is-promotion .rank-announcement{animation-delay:2.7s}.rank-dismiss{min-height:48px;width:min(280px,100%)}.rank-sound{display:block;margin:12px auto}.is-final{box-shadow:0 0 100px #af75cb44}.highscores-dialog{width:min(680px,calc(100vw - 24px));max-height:90dvh;overflow:auto;background:#17130f;color:#f5dfb9;border:1px solid #ac824b;border-radius:22px;padding:24px}.highscores-dialog::backdrop{background:#000b}.highscores-row{display:grid;grid-template-columns:35px minmax(0,1fr) 76px 60px;align-items:center;gap:8px;border-bottom:1px solid #ac824b33;padding:10px 0}.highscores-row strong{overflow-wrap:anywhere}.highscores-row.is-me{background:#d8a64b18}.highscores-row .rank-badge{width:72px;padding-bottom:0}.highscores-row .rank-elo{display:none}.highscores-row .rank-stars span{font-size:14px}.highscores-actions{display:flex;gap:14px;align-items:center;justify-content:space-between}.highscores-actions button{min-height:44px}.rank-public-link{display:block;margin:14px auto}.account-hero>.rank-badge{margin-bottom:18px}@keyframes rank-out{to{opacity:0;transform:scale(1.1);filter:blur(5px)}}@keyframes rank-arrive{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@keyframes rank-ring{0%{opacity:0;transform:scale(.6)}30%{opacity:.9}100%{opacity:0;transform:scale(1.8)}}@keyframes rank-spark{from{opacity:1;transform:rotate(var(--a)) translateX(20px)}to{opacity:0;transform:rotate(var(--a)) translateX(var(--d))}}@media(prefers-reduced-motion:reduce){.rank-celebration *{animation:none!important}.rank-before,.is-promotion .rank-earned,.rank-halo,.rank-particles{display:none!important}} 

.rank-earned .rank-new-star{animation:rank-star-flight .9s .65s both}@keyframes rank-star-flight{0%{opacity:0;transform:translate(40px,-160px) scale(2.8) rotate(-50deg);filter:drop-shadow(0 0 28px #ffe095)}65%{opacity:1;transform:translate(0,0) scale(1.35) rotate(5deg);filter:drop-shadow(0 0 20px #ffd469)}100%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}}
/* Keep the star row clear of the Elo baseline at every badge size. */
.rank-stars{top:auto;bottom:38px}.rank-aperture{top:0;margin-top:18%}.highscores-row .rank-stars{bottom:0}
.rank-badge{padding-bottom:0}.rank-stars{position:relative;top:auto;bottom:auto;margin-top:-16px;min-height:34px}.rank-elo{margin-top:8px;line-height:1.2}.rank-stage{height:330px}.highscores-row .rank-stars{bottom:auto;margin-top:-12px;min-height:18px}

.home-account.home-account-ranked{gap:12px;padding:10px 16px 10px 8px;max-width:100%;text-align:left}.home-rank-avatar{display:block;flex:0 0 90px;width:90px}.home-account-ranked .rank-badge{width:90px;margin:0}.home-account-ranked svg.rank-frame{width:100%;height:auto;stroke:none}.home-account-ranked .rank-aperture{font:28px Georgia}.home-account-ranked .rank-stars{margin-top:-14px;min-height:22px;gap:2px}.home-account-ranked .rank-stars span{font-size:19px}.home-account-ranked .rank-elo{display:none}.home-account-info{display:flex;flex-direction:column;min-width:0;gap:5px}.home-account-info>strong{font:600 clamp(19px,3vw,28px)/1.1 Georgia;overflow-wrap:anywhere}.home-account-info .home-account-elo{font:22px/1.1 Georgia;color:#f6dba0;white-space:nowrap}.home-account-info .home-account-elo small{display:inline;font:10px system-ui;letter-spacing:1px;margin:0}.home-account-info .home-account-status{font:10px/1.4 system-ui;text-align:left;margin:0;color:#baad91}@media(max-width:360px){.home-account.home-account-ranked{gap:8px;padding:8px}.home-rank-avatar,.home-account-ranked .rank-badge{width:76px;flex-basis:76px}}

.home-profile-controls{display:flex;flex-direction:column;align-items:flex-end;min-width:0;max-width:calc(100% - 40px)}.home-profile-controls>.highscores-trigger{min-height:32px;padding:5px 3px}.home-v24:has(.home-account-ranked) .home-heading{top:max(180px,20%)}

.home-toolbar:has(.home-account-ranked){display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:start;gap:8px}.home-toolbar .home-language{grid-column:1;grid-row:1}.home-profile-controls{display:contents}.home-account-ranked{grid-column:2;grid-row:1;justify-self:center}.home-profile-controls>.highscores-trigger{grid-column:3;grid-row:1;justify-self:end;white-space:nowrap;font-size:11px!important}.home-v24:has(.home-account-ranked) .home-heading{top:max(160px,20%)}.rules-preference{display:grid;gap:6px;padding:12px 0}.rules-preference label{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;cursor:pointer;color:#f4dbad;font:14px system-ui}.rules-preference input{width:20px;height:20px;accent-color:#d7af61}.rules-preference small{display:block;color:#c1b397;font:12px/1.5 system-ui}.rules-layout[hidden],.aw-ready>p[hidden]{display:none!important}@media(max-width:480px){.home-toolbar:has(.home-account-ranked){left:3%;right:3%;grid-template-columns:1fr auto 1fr;gap:4px}.home-account.home-account-ranked{flex-direction:column;gap:2px;padding:6px 10px;text-align:center}.home-account-info{align-items:center}.home-rank-avatar,.home-account-ranked .rank-badge{width:62px;flex-basis:auto}.home-account-ranked .rank-stars{min-height:17px;margin-top:-10px}.home-account-ranked .rank-stars span{font-size:14px}.home-account-info>strong{font-size:18px;max-width:150px}.home-account-info .home-account-elo{font-size:18px}.home-v24:has(.home-account-ranked) .home-heading{top:max(185px,22%)}}
.ready-footer>.rules-preference{display:grid;grid-column:1/-1;align-items:center;gap:6px}
