.lb{display:grid;grid-gap:10px;gap:10px}.lb-card{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden}.lb-chips{display:flex;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lb-chips::-webkit-scrollbar{display:none}.lb-chip{flex:none;min-height:44px;padding:0 16px;border-radius:999px;font:inherit;font-size:14px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.lb-chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.lb-chip:focus-visible,.lb-retry:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.lb-hint{margin:-2px 4px 0;font-size:13px;color:var(--muted)}.lb-list{list-style:none;margin:0;padding:0}.lb-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px;border-top:1px solid var(--line);font-size:15px;color:var(--text)}.lb-row:first-child{border-top:0}.lb-row.is-me{background:var(--tint-brand)}.lb-rank{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);background:var(--surface-3)}.lb-m1{background:#fdf0c4;color:#8a6400}.lb-m2{background:#e9edf2;color:#4f5a68}.lb-m3{background:#f6e1d0;color:#8f4d1e}.lb-name{flex:1 1;min-width:0;display:flex;align-items:center;gap:6px}.lb-name-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.lb-crown{flex:none;color:#d19a00}.lb-score{flex:none;margin-left:auto;font-size:15px;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lb-score small{font-weight:400}.lb-pill,.lb-score small{font-size:13px;color:var(--muted)}.lb-pill{flex:none;padding:2px 8px;border-radius:999px;font-weight:600;background:var(--surface-3)}.lb-pill-me{background:var(--brand);color:#fff}.lb-t-epic,.lb-t-legendary{background:var(--tint-brand);color:var(--brand-dark)}.lb-me{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;border-top:1px solid var(--line);background:var(--surface-2);font-size:14px;font-weight:600;color:var(--ink)}.lb-muted{margin:0;font-size:14px;color:var(--muted)}.lb-pad{padding:16px 14px;text-align:center}.lb-foot{border-top:1px solid var(--line);padding:12px 14px;font-size:13px}.lb-card>.lb-pad+.lb-foot{border-top:0;padding-top:0}.lb-recent{display:grid;grid-gap:8px;gap:8px;margin-top:6px}.lb-h{margin:0 4px;font-size:15px;font-weight:700;color:var(--ink)}.lb-emoji{flex:none;width:30px;text-align:center;font-size:20px}.lb-time{flex:none;margin-left:auto;font-size:13px;color:var(--muted);white-space:nowrap}.lb-skel{background:var(--surface-3);border-radius:10px;margin:12px 14px;animation:lb-pulse 1.2s ease-in-out infinite alternate}.lb-skel-chips{height:36px}.lb-skel-row{height:28px}@keyframes lb-pulse{0%{opacity:1}to{opacity:.55}}.lb-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px;color:var(--text)}.lb-retry{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--brand-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer}@media (prefers-reduced-motion:reduce){.lb-skel{animation:none}.lb-chip{transition:none}}@media (prefers-color-scheme:dark){.lb-m1{background:rgba(240,190,60,.18);color:#f2cd6b}.lb-m2{background:rgba(190,200,215,.16);color:#c9d1dc}.lb-m3{background:rgba(215,135,80,.18);color:#e9a978}.lb-crown{color:#f2cd6b}}.lb-compact{margin:0 0 8px}.lb-c-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 4px}.lb-c-head h2{margin:0;font-size:16px;font-weight:700;color:var(--ink)}.lb-more{min-height:44px;padding:0 4px;border:0;background:none;color:var(--brand-dark);font-size:14px;font-weight:600}.lb-ava{flex:none;display:grid;place-items:center;width:40px;height:40px;margin-right:2px;border-radius:12px;background:var(--surface-2);overflow:hidden}.lb-row.is-me .lb-ava{background:var(--surface)}.lb-li>.lb-row{width:100%;border:0;border-radius:0;background:none;text-align:left;font:inherit;color:var(--text);cursor:pointer}.lb-li+.lb-li>.lb-row{border-top:1px solid var(--line)}.lb-li>.lb-row.is-me{background:var(--tint-brand)}.lb-li>.lb-row:active{background:var(--hover)}.fc-scrim{position:fixed;inset:0;z-index:40;display:grid;place-items:end center;background:rgba(15,17,21,.5);animation:fc-fade .2s ease-out}.fc-card{position:relative;width:min(520px,100%);max-height:88vh;overflow-y:auto;padding:18px 18px calc(22px + env(safe-area-inset-bottom, 0px));border-radius:22px 22px 0 0;background:var(--surface);box-shadow:0 -10px 40px rgba(0,0,0,.25);animation:fc-up .28s cubic-bezier(.2,.8,.2,1)}@media (min-width:560px){.fc-scrim{place-items:center}.fc-card{border-radius:22px}}.fc-x{position:absolute;top:10px;right:10px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:var(--surface-3);color:var(--muted);font-size:16px}.fc-stage{display:grid;place-items:center;height:170px;margin:4px 0 6px;border-radius:18px;background:var(--brand)}.fc-name{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 0 0;font-size:20px;font-weight:700;color:var(--ink)}.fc-char{margin:2px 0 12px;text-align:center;font-size:13px;color:var(--muted)}.fc-stats{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0;padding:0}.fc-stats li{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:12px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.fc-stats span{font-size:12px;color:var(--muted)}.fc-stats b{font-size:20px;font-weight:700;color:var(--ink);line-height:1.2}.fc-stats small{font-size:12px;color:var(--muted)}.fc-h{margin:16px 0 8px;font-size:14px;font-weight:700;color:var(--ink)}.fc-items{display:flex;flex-wrap:wrap;gap:6px}.fc-item{padding:4px 10px;border-radius:999px;background:var(--surface-3);font-size:13px;color:var(--text)}.fc-item.fc-rare{background:#efe8ff;color:#5b3fd6}.fc-item.fc-epic{background:#fde7f3;color:#b0257a}.fc-item.fc-legendary{background:#fff4d1;color:#8a5a00;box-shadow:inset 0 0 0 1px #f5c84a}@media (prefers-color-scheme:dark){.fc-stage{background:#1b4fb0}.fc-item.fc-rare{background:rgba(139,92,246,.2);color:#c4b1ff}.fc-item.fc-epic{background:rgba(224,69,155,.2);color:#f6a8d2}.fc-item.fc-legendary{background:rgba(245,179,1,.18);color:#ffd66b}}@keyframes fc-fade{0%{opacity:0}}@keyframes fc-up{0%{transform:translateY(40px);opacity:0}}@media (prefers-reduced-motion:reduce){.fc-card,.fc-scrim{animation:none}}.lb-title{background:#fff4d1;color:#8a5a00;font-weight:700;white-space:nowrap}.fc-char .lb-title{margin-left:6px}.lb-ava .mascot{border-radius:10px}.fc-stage .mascot{border-radius:18px}@media (prefers-color-scheme:dark){.lb-title{background:rgba(245,179,1,.18);color:#ffd66b}}.fc-fight{width:100%;min-height:48px;font-size:16px}.fc-fight,.fc-note{margin:4px 0 12px;border-radius:12px}.fc-note{padding:10px 12px;background:var(--surface-2);color:var(--muted);font-size:13px;text-align:center}.lb-side{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;margin:0 0 10px;border-radius:12px;background:var(--surface-3)}.lb-side button{min-height:40px;border:0;border-radius:9px;background:none;font-size:14px;font-weight:600;color:var(--muted)}.lb-side button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.lb-shadow .lb-side button.on{background:#1b1530;color:#d9ccff}.lb-shadow .lb-card{background:#141120;box-shadow:0 0 0 1px rgba(155,109,255,.25)}.lb-shadow .lb-li>.lb-row,.lb-shadow .lb-row{color:#e7e2ff;border-color:rgba(155,109,255,.15)!important}.lb-shadow .lb-li>.lb-row.is-me{background:rgba(155,109,255,.18)}.lb-shadow .lb-name-t,.lb-shadow .lb-score{color:#f1edff}.lb-shadow .lb-muted,.lb-shadow .lb-score small{color:#a99fd0}.lb-shadow .lb-rank{background:rgba(255,255,255,.08);color:#d9ccff}.lb-shadow .lb-ava{background:rgba(255,255,255,.06)}.lb-shadow .lb-chip[aria-pressed=true]{background:#6b4fd8;border-color:#6b4fd8;color:#fff}.lb-shadow .lb-hint{color:#8f86b8}.lb-shadow .lb-me{background:rgba(155,109,255,.12);color:#e7e2ff}.id-card{margin:0 0 10px;padding:14px;border-radius:var(--r-md);background:#17122a;color:#e7e2ff;box-shadow:0 0 0 1px rgba(155,109,255,.3)}.id-top{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5}.id-top b{margin:0 3px;color:#fff}.id-top small{display:block;color:#a99fd0;font-size:12.5px}.id-moon{font-size:26px;line-height:1}.id-form{display:flex;gap:8px;margin-top:10px}.id-form input{flex:1 1;min-width:0;background:#0f0c1c;color:#fff;border-color:rgba(155,109,255,.4)}.id-form button{flex:none}.id-ticket{width:100%;margin-top:10px;min-height:46px;border-radius:12px;background:#7c5cff;border-color:#7c5cff}.id-note{margin:6px 0 0;font-size:12.5px;color:#a99fd0}.id-edit{margin-top:4px;color:#c4b1ff}.id-err{margin:8px 0 0;font-size:13px;color:#ff9b9b}.id-card button.primary.id-ticket{background:#7c5cff;border-color:#7c5cff;color:#fff}.id-card button.primary.id-ticket:disabled{background:#3a3157;border-color:#3a3157;color:#a99fd0}.id-form button.primary{background:#7c5cff;border-color:#7c5cff}.lb-person{flex:1 1;min-width:0}.lb-person .lb-name{flex-wrap:wrap;gap:4px}.lb-name .lb-title{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.lb-status{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:var(--muted)}.fc-status,.lb-status{overflow-wrap:anywhere}.fc-status{margin:8px 0 12px;text-align:center;font-size:14px;line-height:1.6;color:var(--brand-dark)}.pd{position:relative;display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;grid-gap:6px;gap:6px;padding:18px 12px 0;overflow:hidden;isolation:isolate}.pd-glow{position:absolute;z-index:-1;left:50%;top:-30px;width:240px;height:240px;margin-left:-120px;border-radius:50%;background:radial-gradient(closest-side,rgba(246,195,67,.28),rgba(246,195,67,0) 70%)}.pd-confetti{position:absolute;inset:0;z-index:2;pointer-events:none}.pd-col,.pd-who{display:grid;justify-items:center;min-width:0}.pd-who{grid-gap:2px;gap:2px;width:100%;padding:4px 2px 6px;border:0;border-radius:var(--r-md);background:none;color:var(--text)}.pd-who:active{transform:scale(.97)}.pd-ava{display:block;line-height:0}.pd-p1 .pd-ava{margin-top:-4px}.pd-trophy{display:block;margin-bottom:-2px;filter:drop-shadow(0 2px 3px rgba(183,121,31,.35))}.pd-name{max-width:100%;font-size:14px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-p1 .pd-name{font-size:15px}.pd-status{max-width:100%;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-score{font-size:13px;font-weight:700;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pd-score small{font-size:12px;font-weight:400;color:var(--muted)}.pd-empty{padding:30px 0 10px;font-size:13px;color:var(--muted)}.pd-block{position:relative;display:grid;place-items:start center;width:100%;padding-top:8px;border-radius:10px 10px 0 0;transform-origin:bottom}.pd-p1 .pd-block{height:64px;background:linear-gradient(180deg,#f8d77a,#e9b949);box-shadow:inset 0 2px 0 rgba(255,255,255,.55)}.pd-p2 .pd-block{height:46px;background:linear-gradient(180deg,#e3e8ef,#c4ccd8);box-shadow:inset 0 2px 0 rgba(255,255,255,.6)}.pd-p3 .pd-block{height:34px;background:linear-gradient(180deg,#ecc29d,#d39a6a);box-shadow:inset 0 2px 0 rgba(255,255,255,.45)}.pd-medal{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:14px;font-weight:700;color:#fff;background:rgba(0,0,0,.18)}.pd-p1 .pd-medal{width:30px;height:30px;font-size:16px;background:#b7791f}.pd-p2 .pd-medal{background:#7d8796}.pd-p3 .pd-medal{background:#a2643a}.pd-rest{border-top:1px solid var(--line)}@media (prefers-reduced-motion:no-preference){.pd-block{animation:pd-rise .5s cubic-bezier(.2,.9,.3,1.2) both}.pd-p3 .pd-block{animation-delay:.05s}.pd-p2 .pd-block{animation-delay:.18s}.pd-p1 .pd-block{animation-delay:.32s}.pd-who{animation:pd-drop .45s cubic-bezier(.2,.9,.3,1.25) both}.pd-p3 .pd-who{animation-delay:.35s}.pd-p2 .pd-who{animation-delay:.45s}.pd-p1 .pd-who{animation-delay:.6s}.pd-trophy{animation:pd-shine 2.8s ease-in-out 1.2s infinite}.pd-confetti i{position:absolute;top:0;left:calc(38% + var(--i) * 2.6%);width:6px;height:9px;border-radius:1px;opacity:0;background:hsl(calc(var(--i) * 41deg) 85% 60%);animation:pd-fall 1.6s ease-out calc(.75s + var(--i) * .06s) 1 both}}@keyframes pd-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pd-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes pd-shine{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-6deg) scale(1.06)}}@keyframes pd-fall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(calc((var(--i) - 4.5) * 9px),150px) rotate(calc(var(--i) * 70deg))}}@media (prefers-color-scheme:dark){.pd-glow{background:radial-gradient(closest-side,rgba(246,195,67,.16),rgba(246,195,67,0) 70%)}.pd-p1 .pd-block{background:linear-gradient(180deg,#c99a33,#9c7425);box-shadow:none}.pd-p2 .pd-block{background:linear-gradient(180deg,#8a94a3,#6b7482);box-shadow:none}.pd-p3 .pd-block{background:linear-gradient(180deg,#a87550,#85593a);box-shadow:none}}.pd-say{position:relative;max-width:100%;margin-bottom:6px;padding:4px 8px;border-radius:10px;font-size:12px;line-height:1.4;color:var(--text);box-shadow:0 0 0 1px var(--line),0 2px 6px rgba(16,24,40,.08);text-align:center;text-wrap:balance}.pd-say,.pd-say:after{background:var(--surface)}.pd-say:after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;margin-left:-4px;box-shadow:1px 1px 0 var(--line);transform:rotate(45deg)}.lb-ph{display:inline-block}.sc{padding:10px 14px 12px;border-top:1px solid var(--line)}.sc-h{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--muted)}.sc-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.sc-msg{display:flex;align-items:flex-end;gap:8px;max-width:88%}.sc-msg.me{flex-direction:row-reverse;margin-left:auto}.sc-ava{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);overflow:hidden}.sc-body{display:grid;grid-gap:2px;gap:2px;min-width:0}.sc-msg.me .sc-body{justify-items:end}.sc-name{font-size:12px;color:var(--muted)}.sc-bubble{margin:0;padding:8px 12px;border-radius:16px 16px 16px 4px;font-size:14px;line-height:1.5;color:var(--ink);background:var(--surface-3);overflow-wrap:anywhere}.sc-msg.me .sc-bubble{border-radius:16px 16px 4px 16px;color:#fff;background:var(--brand)}.sc-empty{margin:0;padding:10px 14px 12px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.lb>.sc{margin-bottom:12px;border:0;border-radius:var(--r-md);background:var(--card);box-shadow:var(--shadow-sm)}@media (prefers-reduced-motion:no-preference){.sc-msg{animation:sc-in .35s ease-out both;animation-delay:calc(var(--i) * 60ms)}}@keyframes sc-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-color-scheme:dark){.sc-msg.me .sc-bubble{background:var(--brand-deep)}.pd-say{box-shadow:0 0 0 1px var(--line-strong)}.lb-chip[aria-pressed=true]{background:var(--brand-deep);border-color:var(--brand-deep)}}.lb-c-chips{padding:4px 14px 2px;scroll-padding-inline:14px}.lb-c-chips .lb-chip{flex:none}.lb-c-hint{margin:6px 14px 0}