/* A single navy + precious-metal ranking system, main page and game panels. */
.lb-panel{padding:clamp(16px,3vw,36px);border:1px solid #34466a;border-radius:24px;background:radial-gradient(ellipse at 50% 0, #233b5d 0, #0b1930 58%, #081426 100%);margin:24px 0;color:#edf3ff;box-shadow:0 20px 55px #02081666}
.lb-panel h2{margin:0;color:#f2f6ff;font-size:clamp(1.3rem,3vw,1.9rem)}
.lb-eyebrow{font-size:.68rem;letter-spacing:.2em;color:#e9c86a;margin:10px 0 0;font-weight:700}
ol.lb-ranking{--lb-gold:#ffcf48;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;list-style:none!important;padding:42px 0 0!important;margin:0!important;color:#eef4ff;counter-reset:none;isolation:isolate}
.lb-ranking>li{margin:0;min-width:0;box-sizing:border-box;list-style:none!important}
.lb-ranking .lb-pod{position:relative;grid-row:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:26px 12px 0;border:1px solid #526780;border-bottom:0;border-radius:24px 24px 10px 10px;background:linear-gradient(160deg,#243b59aa,#0c1d35 65%);overflow:visible;min-height:310px}
.lb-ranking .lb-place-1{grid-column:2;min-height:362px;border-color:#d2a63b;background:radial-gradient(ellipse at 50% 20%,#8a692044,transparent 65%),linear-gradient(150deg,#33405a,#10213a 70%);box-shadow:0 -8px 40px #ffc72c12, inset 0 1px 0 #ffe19088}
.lb-ranking .lb-place-2{grid-column:1}.lb-ranking .lb-place-3{grid-column:3;min-height:290px;border-color:#896245;background:linear-gradient(145deg,#5e402f44,#101f35 70%)}
.lb-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;vertical-align:middle}
.lb-avatar>svg,.lb-avatar>canvas,.lb-avatar>img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.lb-pod .lb-avatar{width:112px;height:112px;max-width:100%;aspect-ratio:1;filter:drop-shadow(0 7px 12px #0006)}
.lb-place-1 .lb-avatar{width:144px;height:144px;filter:drop-shadow(0 0 20px #ffcc3b44);animation:lb-float 7s ease-in-out infinite}
.lb-crown{position:absolute;top:-29px;width:53px;height:39px;fill:#ffcf48;stroke:#ffe49b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 12px #ffc72c55)}
.lb-medal{color:#c8d7e9;font-size:.67rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;line-height:1.5}
.lb-place-1 .lb-medal{color:#ffdb75}.lb-place-3 .lb-medal{color:#e5ae83}
.lb-player{min-width:0}.lb-player-name{display:block;overflow-wrap:anywhere;font-weight:750;font-size:1rem;line-height:1.35;color:#eef4ff}
.lb-tag{display:inline-block;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;color:#d6b75f;margin:3px 4px 0}
.lb-score{font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800;line-height:1.2;color:#f3d889}
.lb-place-1 .lb-score{color:#ffcf48;font-size:1.85rem}
.lb-score-label{display:block;color:#9aaec9;text-transform:uppercase;font-size:.55rem;font-weight:600;letter-spacing:.12em;margin-top:5px}
.lb-step{position:relative;align-self:stretch;overflow:hidden;margin:8px -12px 0;padding:10px 0;font-size:2rem;font-weight:800;letter-spacing:-.06em;color:#a7bbd155;background:linear-gradient(110deg,#8bacc31c,#a0c1e909);border-top:1px solid #7e9eb544;border-radius:0 0 10px 10px;margin-top:auto}
.lb-place-1 .lb-step{color:#ffd04b88;background:linear-gradient(110deg,#cda23533,#9a701214);border-color:#efc84966}
.lb-place-3 .lb-step{color:#bc8b6666;background:#a16b3220}
.lb-place-1 .lb-step:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffe8a21c 45%,transparent 70%);transform:translateX(-110%);animation:lb-shine 9s ease-in-out infinite}
.lb-ranking .lb-rank-row{grid-column:1/-1;display:grid;grid-template-columns:34px 44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 16px;border:1px solid #263c59;border-radius:12px;background:#10223a;min-width:0}
.lb-ranking .lb-rank-row:nth-child(4){margin-top:12px}.lb-position{color:#859dbb;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}
.lb-rank-row .lb-score{font-size:1.05rem;text-align:right}.lb-rank-row .lb-player-name{font-size:.9rem}.lb-rank-row .lb-score-label{font-size:.5rem}
.lb-ranking .lb-is-me{border-color:#e7c358;box-shadow:inset 3px 0 #e7c358;background-color:#293629}
.lb-empty{grid-column:1/-1;padding:24px;border:1px dashed #5b708b;border-radius:16px;color:#b8c9df;text-align:center}
.lb-panel>p:last-child{color:#a6bad4;font-size:.8rem;margin:20px 0 0}
.lb-tools .lb-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:12px;scrollbar-color:#a98a40 #142a45}
.lb-tools .lb-tabs [role=tab]{flex-shrink:0;white-space:nowrap;font-size:.8rem}
.lb-tools .lb-tabs [aria-selected=true]{background:#ffcf48!important;color:#10213a!important;border-color:#ffcf48!important}
.lb-tools{min-width:0}.lb-name{display:flex;gap:8px}.lb-name input{min-width:0;width:100%}
.lb-compact .lb-pod{min-height:252px;padding:18px 8px 0;gap:8px}.lb-compact .lb-place-1{min-height:290px}.lb-compact .lb-place-3{min-height:235px}
.lb-compact .lb-pod .lb-avatar{width:80px;height:80px}.lb-compact .lb-place-1 .lb-avatar{width:102px;height:102px}
.lb-compact .lb-player-name{font-size:.85rem}.lb-compact .lb-step{margin-left:-8px;margin-right:-8px;font-size:1.6rem}
.lb-compact .lb-score{font-size:1.15rem}.lb-compact .lb-place-1 .lb-score{font-size:1.45rem}
.lb-ranking .av-spin,.lb-ranking .av-tw{animation:none}
@keyframes lb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes lb-shine{0%,65%{transform:translateX(-110%)}90%,100%{transform:translateX(110%)}}
@media(max-width:600px){
 .lb-panel{padding:16px 10px;border-radius:18px}.lb-eyebrow{font-size:.55rem;letter-spacing:.1em}
 ol.lb-ranking{gap:6px;padding-top:36px!important}
 .lb-ranking .lb-pod{padding:18px 5px 0;gap:8px;border-radius:16px 16px 8px 8px;min-height:236px}.lb-ranking .lb-place-1{min-height:273px}.lb-ranking .lb-place-3{min-height:222px}
 .lb-pod .lb-avatar,.lb-compact .lb-pod .lb-avatar{width:70px;height:70px}.lb-place-1 .lb-avatar,.lb-compact .lb-place-1 .lb-avatar{width:84px;height:84px}
 .lb-pod .lb-player-name{font-size:.72rem}.lb-pod .lb-score,.lb-compact .lb-pod .lb-score{font-size:1.1rem}.lb-place-1 .lb-score,.lb-compact .lb-place-1 .lb-score{font-size:1.3rem}
 .lb-crown{width:43px;height:32px;top:-25px}.lb-medal{font-size:.57rem}.lb-score-label{font-size:.46rem;letter-spacing:.04em}
 .lb-step,.lb-compact .lb-step{font-size:1.5rem;margin-left:-5px;margin-right:-5px;padding:8px 0}
 .lb-ranking .lb-rank-row{padding:10px 8px;gap:8px;grid-template-columns:22px 36px minmax(0,1fr) auto}.lb-rank-row .lb-avatar{width:36px;height:36px}.lb-rank-row .lb-player-name{font-size:.78rem}.lb-rank-row .lb-score{font-size:.9rem}
 .lb-name .btn{padding-inline:12px;font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){.lb-ranking *,.lb-ranking *:after{animation:none!important;transition:none!important}}
/* Keep circular portraits contained even in narrow desktop game cards. */
.lb-ranking .lb-pod .lb-avatar{height:auto;aspect-ratio:1}
.sr-lb .lb-avatar{width:22px;height:22px;margin-right:2px}
