/* ⚠ ساخته می‌شود: python tools/build_result.py */
#over{min-height:100vh}
#over{--scale:1;--touch:88px;--ink:#102E50;--muted:#63798B;--accent:#1687ED;--accent-text:white;--focus:#1266D9;--dock-h:290px}
#over *{box-sizing:border-box}
#over{margin:0;background:#FAF6ED;color:var(--ink);font-family:Vazirmatn,sans-serif;overflow-x:hidden}
#over button{font:inherit;color:inherit;border:0;cursor:pointer;background-color:transparent;-webkit-tap-highlight-color:transparent}
#over img{display:block}
#over h1,#over h2,#over p{margin:0}
#over h2{font-size:40px;line-height:1.5}
#over button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
#over button:disabled{cursor:default}
#over button:active:not(:disabled){transform:scale(.982)}
#over [hidden]{display:none!important}
#over .surface{background-repeat:no-repeat;background-size:100% 100%;background-position:center}
#over .app{width:853px;zoom:var(--scale);margin:0 auto;min-height:1844px;padding:24px 34px calc(var(--dock-h) - 1px);background:url(../assets/ui/result/result-bg.webp) center top/853px 1844px repeat-y}
#over .hero{height:356px;position:relative;display:flex;align-items:center;justify-content:space-between;isolation:isolate;margin-bottom:12px}
#over .hero-wash{position:absolute;width:440px;height:365px;left:-24px;top:-8px;z-index:-1}
#over .hero-art{position:absolute;left:40px;top:7px;width:310px;height:338px;display:flex;justify-content:center;align-items:center;animation:rz-hero-enter .65s cubic-bezier(.2,.85,.35,1.2) both}
#over .hero-art>img{width:310px;height:310px;object-fit:contain}
#over .hero-art>span{position:absolute;bottom:43px;left:38px;right:38px;text-align:center;font-size:28px;font-weight:700;color:#263D51}
#over .hero-copy{margin-left:350px;width:435px;text-align:right;padding-top:7px;animation:rz-hero-enter .6s .06s both}
#over .hero-copy h1{font-size:132px;font-weight:700;line-height:1.25;white-space:nowrap;letter-spacing:-3px}
#over .hero-copy p{font-size:34px;font-weight:700;line-height:1.65;white-space:nowrap}
#over .halo{position:absolute;width:460px;height:460px;left:-30px;top:-58px;z-index:-1;animation:rz-halo-pulse 2.4s ease-in-out infinite}
#over .hero[data-outcome=loss] h1{font-size:73px;letter-spacing:-1px}
#over .hero[data-outcome=tie] h1{font-size:106px}
#over .hero[data-outcome=loss] .hero-art>span,#over .hero[data-outcome=tie] .hero-art>span{bottom:4px}
#over .hero[data-outcome=tie] .hero-art>img{width:320px}
#over .confetti-piece{position:absolute;width:28px;height:38px;pointer-events:none;animation:rz-confetti-fall 3.5s ease-in both;z-index:3}
#over .confetti-piece.static{animation:none}
#over .rank-panel{background-image:url(../assets/ui/result/surfaces/rank-panel-normal.webp);padding:12px 6px 9px;margin-bottom:14px}
#over .rank-head{height:72px;display:grid;grid-template-columns:136px minmax(0,1fr) 168px;align-items:center;font-weight:700;color:var(--muted);font-size:30px;padding:0 14px;text-align:center}
#over .rank-head span:nth-child(2){text-align:right;padding-right:115px}
#over .rank-row{position:relative;height:150px;display:grid;grid-template-columns:122px 124px minmax(0,1fr) 166px;align-items:center;padding:0 17px;gap:7px;isolation:isolate;animation:rz-row-enter .42s ease both}
#over .rank-row .rank-num{position:relative;width:102px;height:122px;display:flex;align-items:center;justify-content:center}
#over .rank-num .rank-ribbon{position:absolute;width:98px;height:110px;top:8px;right:2px}
#over .rank-num .rank-medal{position:absolute;width:100px;height:100px;top:2px;right:1px}
#over .rank-num span{position:absolute;top:23px;right:0;left:0;text-align:center;font-size:42px;font-weight:700;color:var(--ink)}
#over .rank-row.winner .rank-num span{color:var(--accent-text)}
#over .avatar{width:124px;height:124px;position:relative;display:flex;align-items:center;justify-content:center;background:url(../assets/ui/result/avatars/avatar-frame.webp) center/100% 100%;font-weight:700;font-size:40px}
#over .avatar .portrait{width:108px;height:108px;border-radius:50%;object-fit:cover}
#over .avatar .ring{position:absolute;width:130px;height:130px;left:-3px;top:-3px}
#over .avatar .winner-crown{position:absolute;top:-22px;left:44px;width:40px;height:40px}
#over .player-copy{min-width:0;text-align:right;padding-right:8px}
#over .player-name{display:block;font-size:37px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#over .player-bio{display:block;font-size:25px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#over .player-score{font-size:61px;line-height:1.2;text-align:center;font-weight:700}
#over .relative-score{position:absolute;inset:14px 24px 14px auto;width:var(--relative);background-size:100% 100%;z-index:-1;opacity:.7}
#over .league-card{background-image:url(../assets/ui/result/surfaces/league-card-normal.webp);height:230px;padding:20px 31px 22px;margin-bottom:14px}
#over .league-top{display:flex;justify-content:space-between;align-items:center;height:124px;gap:16px}
#over .league-name{display:flex;align-items:center;gap:15px;min-width:0}
#over .league-name img{width:114px;height:114px;object-fit:contain}
#over .league-name h2{font-size:34px;max-width:260px;line-height:1.35}
#over .league-change{text-align:right;min-width:0}
#over .league-change strong{font-size:40px;font-weight:700;white-space:nowrap;display:block}
#over .league-change span{font-size:26px;font-weight:700;color:var(--muted)}
#over .progress-line{display:flex;gap:13px;align-items:center;justify-content:space-between;font-size:26px;font-weight:700;color:var(--muted);height:50px}
#over .progress{position:relative;height:36px;flex:1;background:url(../assets/ui/result/surfaces/progress-rail.webp) center/100% 100%;overflow:hidden;border-radius:18px;direction:ltr}
#over .progress>div{position:absolute;left:0;top:0;height:36px;background-size:100% 100%;background-repeat:no-repeat;transition:width .8s ease}
#over #progressFill{background-image:var(--progress-img)}
#over #gameSegment{background-image:url(../assets/ui/result/surfaces/progress-game-segment.webp)}
#over .next-league{display:flex;align-items:center;gap:3px}
#over .next-league>img{width:38px;height:38px}
#over .words{margin:0 0 12px;min-height:208px;padding-top:4px}
#over .words h2{text-align:center;position:relative;height:76px;display:flex;align-items:center;justify-content:center;background:url(../assets/ui/result/decorations/words-heading-wash.webp) center/360px 88px no-repeat}
#over .word-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding-top:0}
#over .word-chip{position:relative;flex:1 1 128px;min-width:128px;max-width:250px;min-height:128px;padding:14px 19px 10px;background-image:url(../assets/ui/result/surfaces/word-chip-normal.webp);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:30px;font-weight:700;animation:rz-row-enter .38s ease both}
#over .word-chip .word{max-width:100%;overflow-wrap:anywhere}
#over .word-chip .word-score{font-size:25px}
#over .word-chip.best{background-image:url(../assets/ui/result/surfaces/word-chip-best.webp)}
#over .word-chip.longest:not(.best){background-image:url(../assets/ui/result/surfaces/word-chip-longest.webp)}
#over .word-mark{position:absolute;top:-19px;left:12px;width:45px;height:45px}
#over .word-mark.long{left:auto;right:6px;width:31px;height:37px;top:-13px}
#over .word-chip.best .word-mark:first-of-type{animation:rz-star-pulse 2.4s ease-in-out infinite}
#over .empty-words{height:128px;width:100%;display:flex;align-items:center;justify-content:center;font-size:29px;font-weight:700;color:var(--muted);background:url(../assets/ui/result/surfaces/word-empty-normal.webp) center/100% 100%}
#over .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:132px}
#over .stat{background-image:url(../assets/ui/result/surfaces/stat-tile-normal.webp);min-height:132px;display:flex;align-items:center;justify-content:center;gap:13px;padding:10px}
#over .stat>img{width:62px;height:62px;background:url(../assets/ui/result/surfaces/stat-icon-wash.webp) center/100% 100%}
#over .stat strong{display:block;font-size:49px;line-height:1.3}
#over .stat span{display:block;font-size:23px;color:var(--muted);font-weight:700;white-space:nowrap}
#over .poems{margin:4px 0 14px}
#over .poems h2{display:flex;align-items:center;gap:12px;padding:8px 18px}
#over .poems h2 img{width:43px;height:43px}
#over .poem{background:url(../assets/ui/result/surfaces/poem-card-normal.webp) center/100% 100%;min-height:186px;margin-bottom:8px;padding:25px 32px;font-size:25px}
#over .poem-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}
#over .poem-name{font-size:29px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#over .poem-count{font-size:29px;direction:ltr}
#over .poem-top img{width:36px;height:36px}
#over .poem p{font-size:25px;line-height:1.7;text-align:center}
#over .dock{position:fixed;bottom:0;left:calc((100vw - 853px * var(--scale))/2);width:853px;zoom:var(--scale);padding:24px 34px 34px;background:url(../assets/ui/result/surfaces/bottom-fade.webp) center/100% 100% no-repeat;z-index:20;display:flex;flex-direction:column;gap:10px;padding-bottom:max(34px,env(safe-area-inset-bottom))}
#over .dock button{width:785px;display:flex;justify-content:center;align-items:center;gap:23px;font-size:49px;line-height:1.3;font-weight:700;transition:transform .15s ease;min-height:var(--touch)}
#over .primary{height:128px;color:var(--accent-text);background-image:var(--again-img)}
#over .primary img{width:72px;height:72px;filter:var(--primary-icon-filter)}
#over .secondary{height:104px;background-image:url(../assets/ui/result/surfaces/menu-normal.webp);font-size:36px!important}
#over .secondary img{width:55px;height:55px}
#over .dock #actionStatus{font-size:23px;text-align:center;max-height:48px;overflow:hidden}
#over .dock #actionStatus:empty{display:none}
#over .dock button[aria-busy=true]{cursor:progress}
#over .app[data-animations=off] *{animation:none!important;transition:none!important}
@keyframes rz-hero-enter{from{opacity:0;transform:scale(.9) translateY(9px)}to{opacity:1;transform:none}}
@keyframes rz-row-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes rz-halo-pulse{50%{opacity:.65;transform:scale(1.035)}}
@keyframes rz-star-pulse{50%{transform:scale(1.09)}}
@keyframes rz-confetti-fall{0%{opacity:0;transform:translateY(-30px) rotate(0deg)}8%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(340px) rotate(190deg)}}
@media(prefers-reduced-motion:reduce){#over *,#over *::before,#over *::after{animation:none!important;transition:none!important}}
#over .stat{flex-direction:row-reverse}


#over .app{margin:0 auto}#over .dock{z-index:40}