:root{--bg: #0a0a0f;--bg-elevated: #151520;--bg-elevated-2: #1e1e2e;--accent: #ff4b81;--accent-soft: rgba(255, 75, 129, .2);--text-main: #ffffff;--text-muted: #b8b8d0;--border-subtle: rgba(255, 255, 255, .12);--danger: #ff5c5c;--success: #46e7a2;--radius-lg: 18px;--radius-xl: 22px;--shadow-soft: 0 18px 35px rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;background:radial-gradient(circle at top,#1a1a2e 0,#0a0a0f 55%);color:var(--text-main);-webkit-font-smoothing:antialiased;box-sizing:border-box}#app{display:flex;justify-content:center;display:block}.app-shell{width:100%;display:flex;flex-direction:column;min-height:100vh}.wrapper{width:90%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.app-header{position:sticky;top:0;z-index:20;padding:24px 0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(to bottom,rgba(10,10,15,.95),transparent);display:flex;align-items:center;justify-content:space-between}.app-header .app-header-left{display:flex;align-items:center;gap:10px}.app-header .logo-pill{width:38px;height:38px;border-radius:999px;background:radial-gradient(circle at 30% 0,#fff 0,#ff4b81 20%,#5715ff 70%);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px #ff4b8173;padding:4px;overflow:hidden;cursor:pointer;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.app-header .logo-pill:hover{transform:scale(1.05);box-shadow:0 12px 30px #ff4b818c}.app-header .logo-pill:active{transform:scale(.98)}.app-header .logo-img{width:50%;height:100%;object-fit:contain}.app-header .app-title{display:flex;flex-direction:column}.app-header .app-title-main{font-size:20px;font-weight:600;letter-spacing:.02em}.app-header .app-title-sub{font-size:12px;color:var(--text-muted)}.icon-button{border-radius:999px;border:none;background:#0000;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 16px #0009;transition:transform .2s ease}.icon-button span{display:block;width:20px;height:3px;border-radius:999px;background:#fff;position:relative;transition:background .2s ease,transform .3s cubic-bezier(.4,0,.2,1)}.icon-button span:before,.icon-button span:after{content:"";position:absolute;left:0;width:20px;height:3px;border-radius:inherit;background:inherit;transition:transform .3s cubic-bezier(.4,0,.2,1),top .3s cubic-bezier(.4,0,.2,1)}.icon-button span:before{top:-7px}.icon-button span:after{top:7px}.icon-button.icon-button-active span{background:transparent}.icon-button.icon-button-active span:before{top:0;transform:rotate(45deg)}.icon-button.icon-button-active span:after{top:0;transform:rotate(-45deg)}.icon-button:hover{transform:scale(1.05)}.icon-button:active{transform:scale(.95)}.app-main{flex:1;display:flex;flex-direction:column;gap:12px;width:90%;margin:0 auto 80px}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;flex-direction:column;gap:24px}@media(min-width:1024px){.section-header{flex-direction:row}}.section-header .section-title{font-size:20px;font-weight:600;margin-bottom:12px}@media(min-width:1024px){.section-header .section-title{margin-bottom:4px}}.section-header p{margin:0}.section-header .section-tagline{font-size:14px;color:var(--text-muted);font-weight:500}.section-header .points-legend-pill{font-size:11px;padding:4px 9px;border-radius:999px;background:#ffffff14;border:1px solid var(--border-subtle);color:var(--text-muted);font-weight:500}.player-list{display:flex;flex-direction:row;gap:24px;flex-wrap:wrap}.player-card{width:100%;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--radius-lg);background:linear-gradient(120deg,#ffffff0f,#ffffff05);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}@media(min-width:1024px){.player-card{width:calc((100% - 24px)/2)}}.player-card:active{transform:scale(.97) translateY(1px);box-shadow:0 5px 15px #000000b3}.player-card.player-card-disabled,.player-card:disabled{cursor:default;opacity:.8}.player-card.player-card-disabled:hover,.player-card:disabled:hover{transform:none;box-shadow:0 8px 20px #000c}.player-card.player-card-disabled:active,.player-card:disabled:active{transform:none}.player-card .player-avatar{width:40px;height:40px;border-radius:999px;background:radial-gradient(circle at top,#fff 0,#ff4b81 20%,#5715ff 60%);display:flex;align-items:center;justify-content:center;font-weight:700;color:#050509;flex-shrink:0;overflow:hidden;position:relative}.player-card .player-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:999px}.player-card .player-avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.player-card .player-main{flex:1;display:flex;flex-direction:column}.player-card .player-main .player-name-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.player-card .player-main .player-name-row .player-name{font-weight:600;color:var(--text-main);font-size:14px}@media(min-width:400px){.player-card .player-main .player-name-row .player-name{font-size:16px}}.player-card .player-main .player-name-row .player-tag{color:var(--accent);padding:6px 10px;border-radius:999px;background:var(--accent-soft);font-size:10px}@media(min-width:400px){.player-card .player-main .player-name-row .player-tag{font-size:12px}}.player-card .player-main .player-meta{font-size:11px;color:var(--text-muted);font-weight:500}.player-card .player-points{display:flex;flex-direction:column;align-items:center;gap:4px}.player-card .player-points .points-badge{min-width:48px;padding:4px 8px;border-radius:999px;font-size:12px;text-align:center;background:#1e1e2df2;border:1px solid var(--border-subtle);color:var(--text-main)}.player-card .player-points .points-badge span{font-weight:600}.player-card .player-points .player-rank{font-size:10px;color:var(--text-muted);font-weight:500}.bottom-hint-cta{margin:48px auto 0;font-size:14px;padding:16px 32px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at left,rgba(255,75,129,.35),transparent 55%);color:var(--text-main);cursor:pointer;width:auto;display:block}.modal-backdrop{position:fixed;inset:0;background:#030306c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;z-index:40;padding:16px}.modal-panel{width:100%;max-width:85%;border-radius:var(--radius-xl);background:radial-gradient(circle at top,#1e1e2e 0,#151520 60%);border:1px solid var(--border-subtle);box-shadow:0 22px 45px #000000e6;padding:12px 12px 10px;display:flex;flex-direction:column;gap:10px}@media(min-width:500px){.modal-panel{max-width:420px}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.modal-title-group{display:flex;flex-direction:column;gap:2px}.modal-title{font-size:15px;font-weight:600;margin-bottom:0}.modal-title-highlight{color:var(--accent)}.modal-subtitle{font-size:11px;color:var(--text-muted);font-weight:500}.modal-close{border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer}.modal-body{display:flex;flex-direction:column;gap:6px}.modal-label{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:12px}.modal-textarea{resize:none;border-radius:14px;border:1px solid var(--border-subtle);background:#14141ef2;color:var(--text-main);padding:8px 10px;font-size:13px;font-family:inherit;outline:none}.modal-textarea:focus{border-color:#ff4b81cc;box-shadow:0 0 0 1px #ff4b8180}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal-button{font-size:13px;border-radius:999px;padding:7px 12px;border:1px solid var(--border-subtle);cursor:pointer;background:#191923f2;color:var(--text-main);font-weight:500}.modal-button.secondary{color:var(--text-muted);font-weight:500}.modal-button.primary{border-color:var(--accent);background:radial-gradient(circle at left,#ff4b8180,#14141ef2);font-weight:600}.modal-reason{font-size:13px;color:var(--text-main);padding:8px 10px;border-radius:12px;background:#14141ee6;border:1px solid var(--border-subtle);font-style:italic;font-weight:500}.menu-backdrop{position:fixed;inset:0;background:#0303063e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:50;display:flex;align-items:flex-start;justify-content:flex-end;padding:0;transition:opacity .25s ease}.menu-panel{width:80%;height:100%;background:radial-gradient(circle at top,#1e1e2e 0,#151520 60%);box-shadow:0 22px 45px #000000e6;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.menu-enter-active{transition:opacity .25s ease}.menu-enter-active .menu-panel{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.menu-leave-active{transition:opacity .2s ease}.menu-leave-active .menu-panel{transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s ease}.menu-enter-from{opacity:0}.menu-enter-from .menu-panel{transform:translate(100%);opacity:0}.menu-enter-to{opacity:1}.menu-enter-to .menu-panel{transform:translate(0);opacity:1}.menu-leave-from{opacity:1}.menu-leave-from .menu-panel{transform:translate(0);opacity:1}.menu-leave-to{opacity:0}.menu-leave-to .menu-panel{transform:translate(100%);opacity:0}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-subtle)}.menu-title{font-size:18px;font-weight:600;margin:0}.menu-close{border:none;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer;padding:4px;line-height:1}.menu-nav{display:flex;flex-direction:column;padding-top:24px;gap:12px}.menu-item{display:flex;align-items:center;gap:12px;padding:12px 24px;border:none;background:transparent;color:var(--text-main);font-size:15px;text-align:left;cursor:pointer;transition:background .15s ease}.menu-item:hover{background:#ffffff0d}.menu-item:active{background:#ffffff14}.menu-item-icon{width:12px;text-align:center}.menu-item-text{flex:1}.menu-item-danger{color:var(--danger)}.menu-item-danger:hover{background:#ff5c5c1a}.menu-divider{height:1px;background:var(--border-subtle);margin:12px 0 8px}.logout{position:absolute;bottom:24px;width:100%}.milestone-backdrop[data-v-1e7522d1]{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn-1e7522d1 .3s ease}@keyframes fadeIn-1e7522d1{0%{opacity:0}to{opacity:1}}.milestone-popup[data-v-1e7522d1]{position:relative;width:100%;max-width:400px;background:radial-gradient(circle at top,#1e1e2e 0,#151520 60%);border:2px solid var(--accent);border-radius:var(--radius-xl);padding:24px;text-align:center;color:var(--text-main);box-shadow:0 25px 50px #000000e6,0 0 40px #ff4b814d;animation:popIn-1e7522d1 .4s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn-1e7522d1{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.milestone-header[data-v-1e7522d1]{margin-bottom:20px}.milestone-icon[data-v-1e7522d1]{font-size:48px;margin-bottom:8px;animation:bounce-1e7522d1 .6s ease}@keyframes bounce-1e7522d1{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.milestone-title[data-v-1e7522d1]{font-size:22px;font-weight:700;color:var(--accent);margin:0;text-transform:uppercase;letter-spacing:.05em}.milestone-content[data-v-1e7522d1]{margin-bottom:20px}.milestone-player[data-v-1e7522d1]{font-size:18px;margin-bottom:16px;font-weight:500}.milestone-player strong[data-v-1e7522d1],.milestone-points[data-v-1e7522d1]{color:var(--accent);font-weight:700;font-size:20px}.milestone-consequence[data-v-1e7522d1]{background:#ff4b8126;border:1px solid rgba(255,75,129,.3);border-radius:12px;padding:16px;margin-top:12px}.milestone-label[data-v-1e7522d1]{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-weight:600}.milestone-action[data-v-1e7522d1]{font-size:16px;font-weight:600;color:var(--text-main);margin:0}.milestone-close[data-v-1e7522d1]{width:100%;padding:12px 20px;border-radius:999px;border:1px solid var(--accent);background:radial-gradient(circle at left,#ff4b8180,#14141ef2);color:var(--text-main);font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.milestone-close[data-v-1e7522d1]:hover{transform:scale(1.02);box-shadow:0 8px 20px #ff4b8166}.milestone-close[data-v-1e7522d1]:active{transform:scale(.98)}.vote-backdrop[data-v-0d231d1f]{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:110;display:flex;align-items:center;justify-content:center;padding:20px}.vote-popup[data-v-0d231d1f]{width:100%;max-width:420px;background:radial-gradient(circle at top,#1e1e2e 0,#151520 60%);border:2px solid var(--accent);border-radius:var(--radius-xl);padding:22px;color:var(--text-main);box-shadow:0 25px 50px #000000e6}.vote-title[data-v-0d231d1f]{margin:0 0 10px;color:var(--accent);font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.vote-subtitle[data-v-0d231d1f]{margin:0 0 14px;opacity:.95}.vote-reason[data-v-0d231d1f]{margin:0 0 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:12px;border-radius:12px}.vote-actions[data-v-0d231d1f]{display:flex;gap:10px}.btn[data-v-0d231d1f]{flex:1;padding:12px 14px;border-radius:999px;font-weight:700;cursor:pointer;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--text-main)}.btn.primary[data-v-0d231d1f]{border-color:var(--accent);background:radial-gradient(circle at left,#ff4b8180,#14141ef2)}.btn.ghost[data-v-0d231d1f]{background:#ffffff0f}.btn[data-v-0d231d1f]:disabled{opacity:.6;cursor:not-allowed}.password-error[data-v-60bda0f6]{color:var(--danger);font-size:12px;margin-top:6px}.modal-input[data-v-60bda0f6]{width:100%;border-radius:14px;border:1px solid var(--border-subtle);background:#0a0a12f2;color:var(--text-main);padding:10px 12px;font-size:14px;font-family:inherit;outline:none}.modal-input[data-v-60bda0f6]:focus{border-color:#ff4b81cc;box-shadow:0 0 0 1px #ff4b8180}.rules-intro[data-v-1a5f326b]{margin:20px 0;font-size:1rem;color:var(--text-muted);line-height:1.5;font-weight:500}.rules-intro strong[data-v-1a5f326b]{color:var(--text-main);font-weight:600}.rules-list[data-v-1a5f326b]{display:flex;flex-direction:column;gap:24px}.rule-card[data-v-1a5f326b]{background:#ffffff14;border:1px solid var(--border-subtle);padding:16px;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-direction:column}@media(min-width:1024px){.rule-card[data-v-1a5f326b]{flex-direction:row;gap:30px}}.rule-points[data-v-1a5f326b]{font-size:16px;font-weight:600;color:var(--text-main);min-width:fit-content}.rule-action[data-v-1a5f326b]{color:var(--text-muted);font-weight:500;text-align:center;font-size:16px}@media(min-width:1024px){.rule-action[data-v-1a5f326b]{text-align:right}}.feed-page[data-v-91e260b4]{padding-top:8px}.feed-loading[data-v-91e260b4],.feed-empty[data-v-91e260b4]{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px;font-weight:500}.feed-list[data-v-91e260b4]{display:flex;flex-direction:column;gap:12px}.feed-item[data-v-91e260b4]{background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px;transition:background .2s ease}.feed-item[data-v-91e260b4]:hover{background:#ffffff14}.feed-item-header[data-v-91e260b4]{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.feed-item-avatar[data-v-91e260b4]{width:36px;height:36px;border-radius:999px;background:radial-gradient(circle at top,#fff 0,#ff4b81 20%,#5715ff 60%);display:flex;align-items:center;justify-content:center;font-weight:700;color:#050509;flex-shrink:0;font-size:14px;overflow:hidden;position:relative}.feed-item-avatar-img[data-v-91e260b4]{width:100%;height:100%;object-fit:cover;border-radius:999px}.feed-item-avatar-fallback[data-v-91e260b4]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.feed-item-info[data-v-91e260b4]{flex:1}.feed-item-title[data-v-91e260b4]{font-size:14px;color:var(--text-main);margin-bottom:4px;font-weight:500}.feed-item-title strong[data-v-91e260b4]{color:var(--accent);font-weight:600}.feed-item-meta[data-v-91e260b4]{font-size:11px;color:var(--text-muted);font-weight:500}.feed-item-reason[data-v-91e260b4]{font-size:13px;color:var(--text-main);padding:10px 12px;border-radius:10px;background:#14141ecc;border:1px solid var(--border-subtle);font-style:italic;margin-top:8px;font-weight:500}.feed-item-milestone[data-v-91e260b4]{border-color:#ff4b8166;background:#ff4b8114}.feed-item-milestone[data-v-91e260b4]:hover{background:#ff4b811f}.feed-item-milestone-action[data-v-91e260b4]{margin-top:8px;padding:12px;border-radius:10px;background:#ff4b8126;border:1px solid rgba(255,75,129,.3)}.feed-item-milestone-label[data-v-91e260b4]{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;font-weight:600}.feed-item-milestone-text[data-v-91e260b4]{font-size:13px;color:var(--text-main);margin:0;font-weight:500;font-style:italic}.not-found-page[data-v-e3b79124]{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px}.not-found-content[data-v-e3b79124]{text-align:center;max-width:400px;width:100%}.not-found-icon[data-v-e3b79124]{font-size:120px;font-weight:700;color:var(--accent);line-height:1;margin-bottom:20px;opacity:.8}.not-found-title[data-v-e3b79124]{font-size:28px;font-weight:600;color:var(--text-main);margin:0 0 12px}.not-found-message[data-v-e3b79124]{font-size:16px;color:var(--text-muted);margin:0 0 32px;line-height:1.5}.not-found-actions[data-v-e3b79124]{display:flex;flex-direction:column;gap:12px}.not-found-button[data-v-e3b79124]{padding:14px 24px;border-radius:999px;border:1px solid var(--accent);font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.not-found-button.primary[data-v-e3b79124]{background:radial-gradient(circle at left,#ff4b8180,#14141ef2);color:var(--text-main)}.not-found-button.primary[data-v-e3b79124]:hover{transform:scale(1.02);box-shadow:0 8px 20px #ff4b8166}.not-found-button.primary[data-v-e3b79124]:active{transform:scale(.98)}.not-found-button.secondary[data-v-e3b79124]{background:transparent;color:var(--text-main);border-color:var(--border-subtle)}.not-found-button.secondary[data-v-e3b79124]:hover{background:#ffffff0d;border-color:var(--accent)}.not-found-button.secondary[data-v-e3b79124]:active{transform:scale(.98)}
