/* Gamitop · מסך סוף המשחק (gameend.js). רגע התגמול: החלקים מתחברים והחלק הירוק ננעל.
   tl = פעולה ראשית (שיתוף), bl = אנשים (דירוג בעיר), bm = נתונים (שחקנים כמוך), tip = נעול בלבד. צבע הרשימה רק על משטח הרשימה. */
.ge{--g-s:4px;direction:rtl;font:var(--g-body);color:var(--g-ink);background:var(--g-paper);display:grid;gap:calc(var(--g-s)*4);padding:calc(var(--g-s)*5) calc(var(--g-s)*4) calc(var(--g-s)*6);max-width:480px;margin:0 auto;box-sizing:border-box}
.ge *{box-sizing:border-box}
.ge-hero{display:grid;justify-items:center;text-align:center;gap:calc(var(--g-s)*2);padding-top:calc(var(--g-s)*2)}
.ge-mark{width:96px;height:106px}
.ge-mark svg{width:100%;height:100%;overflow:visible}
.ge-mark .pp{transition:transform .75s var(--g-ease-snap),opacity .5s var(--g-ease-luxe)}
.ge-hero .g-lock{opacity:0;transform:scale(.8);transition:opacity .4s var(--g-ease-luxe) .55s,transform .6s var(--g-ease-spring) .55s}
.ge.locked .ge-hero .g-lock{opacity:1;transform:none}
.ge-list{display:inline-flex;align-items:center;gap:8px;font:700 14px var(--g-font);color:var(--g-ink2)}
.ge-list i{width:10px;height:10px;border-radius:3px;background:var(--lc)}
.ge-score{font:900 72px/1 var(--g-font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ge-score small{display:block;font:700 14px/1.4 var(--g-font);letter-spacing:0;color:var(--g-ink3);margin-top:4px}

.ge-card{border-radius:var(--g-r-piece,16px);padding:calc(var(--g-s)*4);background:var(--g-paper2);animation:ge-in .6s var(--g-ease-snap) both;animation-delay:calc(var(--i,0) * 90ms + 500ms)}
@keyframes ge-in{from{opacity:0;transform:translateY(14px)}}
.ge-card h3{margin:0 0 calc(var(--g-s)*2);font:var(--g-label);letter-spacing:.04em;color:var(--g-ink2)}
.ge-card.g-piece h3{color:rgba(255,255,255,.86)}
.ge-pct b{display:block;font:800 22px/1.25 var(--g-font-display)}
.ge-pct .g-steps{margin-top:calc(var(--g-s)*3);--g-s:4px}
.ge-pct p{margin:calc(var(--g-s)*2) 0 0;font:var(--g-small);color:var(--g-ink2)}
.ge-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--g-seam)}
.ge-pair .g-piece{padding:calc(var(--g-s)*4);min-height:118px;display:flex;flex-direction:column;justify-content:space-between}
.ge-pair .g-piece b{font:900 30px/1 var(--g-font-display);font-variant-numeric:tabular-nums}
.ge-pair .g-piece span{font:700 13px/1.35 var(--g-font)}
.ge-facts{display:grid;gap:calc(var(--g-s)*2);margin:0;padding:0;list-style:none}
.ge-facts li{display:flex;gap:10px;align-items:flex-start;font:600 14.5px/1.45 var(--g-font)}
.ge-facts li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:2px;background:var(--g-p-bm)}
.ge-cmp{display:grid;gap:3px}
.ge-cmp>div{display:grid;grid-template-columns:minmax(0,1fr) 92px 44px;align-items:center;gap:8px;font:600 12.5px var(--g-font);color:var(--g-ink3)}
.ge-cmp>div>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ge-cmp i{height:6px;border-radius:3px;background:var(--g-grey);position:relative;overflow:hidden}
.ge-cmp i u{position:absolute;inset-block:0;inset-inline-start:0;width:var(--w);background:var(--lc);opacity:.4;border-radius:3px}
.ge-cmp b{font:700 12.5px var(--g-font);font-variant-numeric:tabular-nums;text-align:end}
.ge-cmp .me{color:var(--g-ink);font-weight:800}
.ge-cmp .me i u{opacity:1}
.ge-cmp .ne i{background:repeating-linear-gradient(-45deg,var(--g-grey) 0 4px,var(--g-paper) 4px 6px)}
.ge-rank{margin:0 0 calc(var(--g-s)*3);font:700 14px var(--g-font)}
.ge-disc{margin:calc(var(--g-s)*3) 0 0;font:500 11.5px/1.5 var(--g-font);color:var(--g-ink3)}
.ge-hold{font:600 13.5px/1.5 var(--g-font);color:var(--g-ink2);margin:0}
.ge-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--g-seam)}
.ge-actions .g-btn{width:100%}
.ge-toast{text-align:center;font:var(--g-small);color:var(--g-ink2);min-height:18px}
.ge-loading{padding:48px 0;text-align:center;color:var(--g-ink2);font:600 14px var(--g-font)}
@media (prefers-reduced-motion:reduce){.ge-card{animation:none}.ge-mark .pp,.ge-hero .g-lock{transition:none}}

/* Host overlay in the app (index.html showGameEnd): full screen above the game, scrollable. */
.ge-ov{position:fixed;inset:0;z-index:80;overflow:auto;background:var(--g-paper,#fff);-webkit-overflow-scrolling:touch}
