:root{color-scheme:dark;--bg:#0d1523;--panel:#131f30;--card:#18273a;--border:#2c4258;--text:#edf5fd;--muted:#95abc0;--green:#85e5c7;--purple:#a7a2ff;--gold:#f5dc94;--danger:#ffabb6;font-family:Inter,"Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{text-decoration:none;color:inherit}::selection{background:#6865ae;color:white}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}.back-glow{position:fixed;pointer-events:none;inset:0;background:radial-gradient(ellipse at 12% 6%,#264c554b,transparent 40%),radial-gradient(ellipse at 94% 93%,#39335a45,transparent 46%);z-index:-1}.muted{color:var(--muted);line-height:1.7}.eyebrow,.kicker{font-size:10px;letter-spacing:1.7px;font-weight:850;color:var(--green);display:inline-flex;align-items:center;gap:8px}.online-dot{background:var(--green);height:7px;width:7px;display:inline-block;border-radius:50%;box-shadow:0 0 12px #85e5c788}.button{border:1px solid transparent;border-radius:11px;padding:0 17px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:750;font-size:12px;transition:background .2s,transform .18s,box-shadow .18s}.button:not(:disabled):hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,#a9a4ff,#847cef);color:#13172a;box-shadow:0 10px 25px #7d77e733}.button-primary:not(:disabled):hover{box-shadow:0 14px 30px #7d77e755}.button-secondary{background:#30345e;border-color:#626396;color:#eceaff}.button-secondary:not(:disabled):hover{background:#3a4071}.button-outline{background:#1e3044;color:#c8d8e9;border-color:#38536b}.button-outline:not(:disabled):hover{background:#2d415a}.button-wide{width:100%;justify-content:space-between;height:50px;font-size:14px}.button-square{padding:0 16px;font-size:24px;color:var(--purple);border-color:#41546b;background:#202e44}
/* Password screen */
.login-page{display:grid;place-items:center;min-height:100svh;padding:30px 16px}.login-card{width:min(820px,100%);border:1px solid #40556c;background:linear-gradient(140deg,#17283a,#131e30);display:grid;grid-template-columns:.82fr 1fr;border-radius:23px;overflow:hidden;box-shadow:0 35px 90px #0006}.login-art{position:relative;min-height:490px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 55% 45%,#3c73739c 0,#294956a1 28%,#1a3243 55%,#172c41 100%);border-right:1px solid #3d5d6a}.login-art:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #a5f3dd24}.login-pokemon{height:270px;width:270px;object-fit:contain;z-index:2;filter:drop-shadow(0 27px 24px #07192b99)}.art-circle{position:absolute;left:50%;top:50%;border:1px dashed #a6e0d62d;border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg)}.art-ring-one{height:220px;width:330px}.art-ring-two{height:290px;width:410px}.art-stars{position:absolute;font-size:48px;color:#a9e8d1c4;top:100px;right:65px}.login-body{padding:62px 50px 32px;display:flex;flex-direction:column;justify-content:center}.login-body h1{font-size:34px;line-height:1.15;letter-spacing:-1.45px;margin:19px 0 12px}.login-body>.muted{font-size:13px;margin:0 0 30px}.field-label{display:block;font-size:10px;letter-spacing:1.5px;font-weight:850;color:#c4d1e0;margin-bottom:11px}.password-wrap{height:54px;background:#0d1929;border:1px solid #426077;border-radius:11px;display:flex;align-items:center;padding:0 8px 0 15px;gap:9px}.password-wrap:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px #a7a2ff20}.field-lock{color:#9fb8ca;font-size:23px;transform:rotate(180deg)}.password-wrap input{color:#fff;background:transparent;border:0;outline:0!important;min-width:0;flex:1;font-size:13px}.password-wrap input::placeholder{color:#71879b}.show-pass{background:transparent;border:0;color:#adb8dc;padding:10px 7px;font-size:11px;font-weight:750}.show-pass:hover{color:white}.auth-message{min-height:21px;font-size:11px;color:var(--danger);margin:7px 0 13px}.login-bottom{color:#7d91a8;border-top:1px solid #304355;margin-top:35px;padding-top:19px;font-size:11px}.login-bottom span{color:var(--green);margin-left:7px}
/* Generator */
.topbar{background:#101b2bda;backdrop-filter:blur(16px);border-bottom:1px solid #314458;position:sticky;top:0;z-index:5}.topbar-inner{max-width:1330px;margin:auto;min-height:72px;padding:0 26px;display:flex;align-items:center;gap:25px}.site-title{display:flex;align-items:center;gap:12px;min-width:0}.site-title strong{display:block;font-size:16px;letter-spacing:-.4px;white-space:nowrap}.site-title small{display:block;margin-top:3px;color:#8098af;font-size:10px;letter-spacing:1px;text-transform:uppercase;font-weight:700}.pokeball-logo{border:3px solid #96dfcb;border-radius:50%;height:35px;width:35px;display:block;position:relative;flex:none}.pokeball-logo:before{content:"";position:absolute;top:13px;left:-2px;right:-2px;border-top:3px solid #96dfcb}.pokeball-logo:after{content:"";position:absolute;top:10px;left:10px;width:9px;height:9px;border:3px solid #96dfcb;background:#172b3a;border-radius:50%}.quick-nav{margin-left:auto;display:flex;gap:26px;color:#a0b3c9;font-size:12px;font-weight:650}.quick-nav a:hover{color:var(--green)}.main-content{max-width:1290px;padding:32px 26px 40px;margin:auto}.hero{background:radial-gradient(ellipse at 82% 50%,#344d6b 0%,#263c57 35%,#18283f 75%);border:1px solid #3f5671;border-radius:19px;min-height:208px;padding:36px 42px;position:relative;overflow:hidden;display:flex;align-items:center;margin-bottom:34px}.hero:before{content:"";position:absolute;width:330px;height:280px;border:1px solid #a8cae51d;border-radius:50%;right:65px;top:-60px;transform:rotate(-22deg)}.hero-content{max-width:72%;position:relative;z-index:1}.hero h1{font-size:36px;letter-spacing:-1.4px;margin:13px 0 7px;line-height:1.15}.hero p{color:#bbcada;line-height:1.65;font-size:13px;max-width:520px;margin:0}.hero-art{position:absolute;right:48px;width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 15px 18px #071626a8)}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:20px}.section-title h2{font-size:23px;letter-spacing:-.7px;margin:6px 0 0}.team-counter{background:#302e55;color:#c1bbff;border:1px solid #626293;font-size:11px;padding:5px 9px;border-radius:6px;vertical-align:middle;margin-left:6px}.generation-label{color:#7790a8;letter-spacing:1px;font-size:10px;font-weight:800}.controls{display:flex;gap:13px;align-items:end;margin-bottom:19px}.control-field{max-width:340px;flex:1}.control-field.small-field{max-width:180px}.control-field label{display:block;color:#849bb4;font-size:10px;letter-spacing:1.2px;font-weight:850;margin:0 0 9px}.control-field select{width:100%;height:45px;background:#1b2b40;border:1px solid #3b516a;border-radius:9px;color:#e0e9f5;padding:0 13px;font-size:12px}.control-actions{display:flex;gap:8px;margin-left:auto}.control-actions .button-primary{min-width:180px}.loading-status{padding:17px;color:#abc6e2;font-size:12px}.empty-team{background:radial-gradient(ellipse at 50% -10%,#33496377,transparent 70%),#142033;border:1px dashed #3b526c;border-radius:15px;text-align:center;padding:42px 15px 40px;min-height:260px}.empty-team img{height:117px;width:117px;object-fit:contain;filter:grayscale(.16)}.empty-team h3{margin:7px 0 3px;font-size:17px}.empty-team p{margin:8px 0 0;color:#8ea5be;font-size:12px}.pokemon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pokemon-card{min-width:0;background:linear-gradient(180deg,#1a2c41,#152338);border:1px solid #3d5169;border-radius:15px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;animation:cardAppear .32s both}.pokemon-card:hover{transform:translateY(-3px);border-color:#7879bc;box-shadow:0 22px 45px #0003}@keyframes cardAppear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.pokemon-art-zone{height:173px;position:relative;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 50% 75%,#42678365,transparent 68%),linear-gradient(140deg,#273c54,#1a2b43)}.pokemon-art-zone:before{content:"";width:158px;height:106px;position:absolute;border:1px solid #a5d3e624;border-radius:50%;transform:rotate(-20deg)}.pokemon-art{width:170px;height:170px;object-fit:contain;z-index:1;position:relative;filter:drop-shadow(0 13px 10px #0007);transition:transform .22s}.pokemon-card:hover .pokemon-art{transform:scale(1.06)}.dex-pill{position:absolute;left:13px;top:13px;padding:5px 7px;background:#11203599;color:#c2d8ed;font-size:10px;font-weight:800;border-radius:6px}.shiny-pill{position:absolute;right:13px;top:13px;padding:5px 7px;background:#69532e99;color:#ffebb0;font-size:10px;font-weight:800;border-radius:6px;border:1px solid #94763c}.art-skeleton{height:75px;width:75px;border:1px dashed #7893ad;border-radius:50%}.pokemon-info{padding:18px}.pokemon-name-row{display:flex;gap:10px;align-items:start;justify-content:space-between}.pokemon-name{font-size:19px;font-weight:850;letter-spacing:-.6px;line-height:1.15;overflow-wrap:anywhere}.pokemon-level{background:#35365f;border-radius:6px;color:#d9d5ff;font-size:10px;padding:6px 8px;white-space:nowrap;font-weight:850}.pokemon-role{margin:8px 0 14px;color:var(--green);font-size:11px}.pokemon-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px 0;border-top:1px solid #344a61;border-bottom:1px solid #344a61}.pokemon-stat-label{color:#859ab5;font-size:9px;font-weight:800;letter-spacing:1px;margin-bottom:5px}.pokemon-stat-value{color:#dfebf8;font-size:12px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.pokemon-tera{font-size:11px;color:#a6bbd0;padding-top:11px;display:flex;gap:7px}.tera-gem{color:var(--purple)}.moves-label{margin:14px 0 9px;color:#8396ad;font-size:9px;font-weight:800;letter-spacing:1px}.moves-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.move{min-height:32px;background:#203149;border:1px solid #3b4d64;border-radius:7px;color:#c8d7e6;font-size:10px;line-height:1.4;padding:7px 8px;display:flex;align-items:center;overflow-wrap:anywhere}.move:before{content:"";height:5px;width:5px;background:#a19cff;border-radius:50%;margin-right:7px;flex:none}.team-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}.team-info{font-size:12px;color:#a1b4c7}.green-dot{color:var(--green);margin-right:7px}.link-button{background:transparent;border:0;color:#c2bcff;font-size:12px;font-weight:750}.link-button:hover{color:#fff}.bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:40px 0 20px}.tool-panel{min-width:0;background:#142237;border:1px solid #344b63;border-radius:14px;padding:23px}.panel-heading h2{font-size:20px;letter-spacing:-.5px;margin:6px 0 3px}.panel-heading p{font-size:12px;color:#92a8be;line-height:1.5;margin:5px 0 20px}.tool-panel textarea{display:block;resize:vertical;height:175px;min-height:120px;width:100%;padding:13px;color:#cbdceb;font:11px/1.6 ui-monospace,Consolas,monospace;background:#0d192a;border:1px solid #344d65;border-radius:9px;outline:none}.tool-panel textarea:focus{border-color:var(--purple)}.tool-panel textarea::placeholder{color:#657e95}.panel-footer{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-top:14px}.panel-footer>span{font-size:10px;color:#7f97b0}.format-tabs{display:flex;gap:5px;border:1px solid #34485d;padding:4px;border-radius:9px;background:#0e1b2b}.format-tab{flex:1;background:transparent;border:0;border-radius:7px;color:#99abc3;font-size:11px;font-weight:750;min-height:37px;padding:6px}.format-tab.active{background:#383a6a;color:#ece9ff;box-shadow:0 4px 15px #0003}.format-meta{display:flex;align-items:center;gap:9px;margin:14px 0 9px;color:#8da3b8;font-size:11px}.format-badge{padding:5px 7px;border:1px solid #377367;border-radius:5px;color:var(--green);font-size:9px;font-weight:850;letter-spacing:1px}.import-panel{background:#132236;border:1px dashed #3f5872;border-radius:12px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.import-copy{display:flex;align-items:center;gap:17px}.import-icon{color:var(--purple);font-size:29px}.import-panel h3{margin:0 0 5px;font-size:13px}.import-panel p{margin:0;color:#8ba3ba;font-size:11px;line-height:1.5}.footer{padding:30px 0 0;color:#657e96;font-size:11px;text-align:center}.footer span{color:var(--green);margin:0 7px}.toast{position:fixed;bottom:22px;right:22px;z-index:20;background:#1a3739;border:1px solid #457c73;border-radius:10px;color:#dafff2;padding:13px 18px;font-size:12px;box-shadow:0 12px 40px #0008;opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#3e262e;border-color:#83515a;color:#ffcbcf}
@media(max-width:1000px){.pokemon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{padding:28px 20px}.hero-art{right:15px}.hero-content{max-width:78%}}@media(max-width:720px){.login-card{max-width:450px;grid-template-columns:1fr}.login-art{min-height:168px;border-right:0;border-bottom:1px solid #3c5c70}.login-pokemon{height:155px;width:155px}.art-stars{font-size:23px;top:25px;right:35%}.login-body{padding:30px 26px}.login-body h1{font-size:27px;margin:13px 0 7px}.login-body>.muted{margin-bottom:18px}.login-bottom{margin-top:23px}.topbar-inner{padding:0 15px;min-height:65px;gap:8px}.site-title strong{font-size:13px}.site-title small{font-size:9px}.quick-nav{display:none}.topbar .button-outline{margin-left:auto;min-height:37px}.pokeball-logo{transform:scale(.85);margin-left:-4px}.hero{padding:24px 19px;min-height:200px}.hero-content{max-width:100%}.hero h1{font-size:27px}.hero p{max-width:70%;font-size:11px}.hero-art{width:130px;height:130px;right:-7px;bottom:5px}.section-title h2{font-size:20px}.generation-label{display:none}.controls{flex-wrap:wrap}.control-field{min-width:145px;max-width:none}.control-field.small-field{max-width:none}.control-actions{width:100%}.control-actions .button-primary{flex:1}.pokemon-grid,.bottom-grid{grid-template-columns:1fr}.pokemon-art-zone{height:189px}.pokemon-art{width:184px;height:184px}.import-panel{align-items:stretch;flex-direction:column}.upload-btn{width:100%}.panel-footer>span{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Friends' leaderboard — matches existing small private randomizer theme */
.quick-nav .nav-leaderboard{background:transparent;border:0;padding:8px 0;color:#b8c9de;font-weight:750;font-size:12px;white-space:nowrap}
.quick-nav .nav-leaderboard:hover,.quick-nav .nav-leaderboard.nav-active{color:var(--green)}
.lb-root{animation:cardAppear .2s ease-out}
.lb-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.lb-header h1{font-size:clamp(24px,3.4vw,34px);letter-spacing:-1px;margin:10px 0 7px}
.lb-header p{color:var(--muted);font-size:13px;margin:0;line-height:1.65}
.lb-title-mark{font-size:.65em}
.lb-panel{background:#152439;border:1px solid #344a61;border-radius:14px;padding:22px;min-width:0}
.lb-panel h2{font-size:19px;letter-spacing:-.45px;margin:6px 0 8px}
.lb-panel>p{color:var(--muted);font-size:13px;line-height:1.65}
.lb-muted{color:#91a9bf}.lb-small{font-size:11px;line-height:1.5}
.lb-centered{text-align:center;min-height:135px;display:flex;align-items:center;justify-content:center;gap:13px}
.lb-spinner{height:22px;width:22px;border:3px solid #516782;border-top-color:var(--green);border-radius:50%;animation:lb-spin .65s linear infinite}
@keyframes lb-spin{to{transform:rotate(360deg)}}
.lb-inline{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.lb-message{min-height:17px;color:#91ead4;margin:9px 0;font-size:12px;line-height:1.5}
.lb-message.lb-error{color:#ffadb5}
.lb-auth-panel{padding:0;display:grid;grid-template-columns:.8fr 1fr;overflow:hidden;max-width:790px;margin:32px auto}
.lb-auth-art{min-height:430px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:radial-gradient(ellipse at 50% 55%,#37616a,#243c54 55%,#1a3044);border-right:1px solid #426077}
.lb-auth-art img{width:150px;height:210px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 14px 10px #0e1a2a90)}
.lb-auth-art strong{font-size:17px}.lb-auth-art span{font-size:11px;color:#bdcedf}
.lb-auth-form{display:flex;flex-direction:column;gap:9px;padding:32px 34px}
.lb-auth-form h2{font-size:25px;margin:0}.lb-auth-form>p{font-size:12px;line-height:1.55;color:#a3b7ce;margin:0 0 13px}
.lb-form label,.lb-auth-form label{display:block;color:#9db0c5;font-size:10px;letter-spacing:1px;font-weight:800;margin:5px 0 3px}
.lb-form input,.lb-form select,.lb-auth-form input{width:100%;min-height:43px;border-radius:9px;border:1px solid #405873;background:#0d1a2b;color:#e8f3ff;padding:10px 12px;font-size:12px}
.lb-form input:focus,.lb-form select:focus,.lb-auth-form input:focus{border-color:var(--purple);outline:2px solid #a7a2ff24}
.lb-auth-form .button{width:100%;margin-top:8px}
.lb-link-button,.lb-text-button,.lb-name-link{background:none;border:0;color:#bdb7ff;padding:3px 0;font-size:12px;font-weight:720;text-align:left}
.lb-link-button:hover,.lb-text-button:hover,.lb-name-link:hover{text-decoration:underline}
.lb-auth-form .lb-link-button{align-self:center;margin-top:9px}
.lb-auth-form .lb-muted{margin:0;font-size:10px;text-align:center}
.lb-userbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 17px;margin-bottom:16px}
.lb-userbar .button{min-height:36px;padding:0 10px}
.lb-mini-avatar{display:inline-flex;align-items:center;justify-content:center;background:#293e57;width:50px;height:50px;border-radius:10px;overflow:hidden;flex:none}
.lb-current-avatar{width:45px;height:45px;object-fit:contain;image-rendering:pixelated}
.lb-admin-tag{display:inline-flex;padding:5px 8px;background:#4a3e2e;border:1px solid #a48d56;border-radius:6px;color:#ffe2a5;font-size:10px;font-weight:850;letter-spacing:.8px}
.lb-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0 20px}
.lb-stat{background:#192a40;border:1px solid #38526b;border-radius:12px;padding:17px 20px}
.lb-stat span{color:#92abc2;display:block;font-size:10px;font-weight:800;letter-spacing:.8px;margin-bottom:8px}
.lb-stat strong{font-size:27px;font-weight:850;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.lb-columns{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:17px;margin-bottom:19px;align-items:start}
.lb-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.lb-panel-heading h2{font-size:19px;margin:5px 0 0}
.lb-panel-heading>span{max-width:50%;text-align:right}
.lb-table-scroll{overflow-x:auto}
.lb-table{border-collapse:collapse;width:100%;font-size:12px}
.lb-table th{text-align:left;padding:12px 9px;color:#91a7c0;font-size:10px;letter-spacing:.4px;border-bottom:1px solid #35506a}
.lb-table td{padding:12px 9px;border-bottom:1px solid #283f57;font-variant-numeric:tabular-nums}
.lb-table .lb-rank{font-weight:900;width:33px}.lb-table td:last-child,.lb-table th:last-child{text-align:right}
.lb-table tr.lb-clickable{cursor:pointer}.lb-table tr.lb-clickable:hover{background:#223a54}.lb-table tr.lb-selected{background:#283d60}
.lb-row-avatar{width:32px;height:32px;object-fit:contain;image-rendering:pixelated;flex:none}
.lb-good{color:var(--green)}
.lb-profile-summary{display:flex;align-items:center;gap:15px;padding:14px;background:#1c2e46;border-radius:12px}
.lb-profile-avatar{width:90px;height:105px;object-fit:contain;image-rendering:pixelated}
.lb-profile-summary h3{margin:0 0 8px;font-size:18px}.lb-profile-summary p{margin:3px 0;font-size:12px;line-height:1.5}
.lb-profile-summary .lb-vs-you{color:#ddd4ff;font-weight:750;margin-top:11px}
.lb-section-label{display:block;color:#8ba7c1;font-weight:850;letter-spacing:1.2px;font-size:10px;margin:19px 0 12px}
.lb-h2h-item{margin-bottom:13px}.lb-h2h-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:6px;gap:10px}.lb-h2h-label strong{font-variant-numeric:tabular-nums}
.lb-progress{width:100%;height:7px;border-radius:7px;background:#233a55;display:flex;overflow:hidden}
.lb-bar-win{height:100%;background:#70dcb7}.lb-bar-lose{height:100%;background:#b26676}
.lb-match-line{border-bottom:1px solid #33475d;padding:11px 0;font-size:12px;line-height:1.5}
.lb-match-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.lb-match-top strong{font-weight:720;overflow-wrap:anywhere}
.lb-match-bottom{display:flex;align-items:center;gap:13px;color:#92a8bf;font-size:11px;margin-top:4px;flex-wrap:wrap}
.lb-replay{color:#c3bcff}.lb-replay:hover{text-decoration:underline}
.lb-recent-list{max-height:520px;overflow-y:auto}
.lb-form{display:flex;flex-direction:column;gap:8px}.lb-form>.button{align-self:start}
.lb-avatar-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.lb-avatar-option{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;min-height:95px;padding:7px 2px 5px;border:1px solid #34516d;border-radius:9px;background:#1a2d43;color:#afc3d7}
.lb-avatar-option img{width:54px;height:62px;object-fit:contain;image-rendering:pixelated}
.lb-avatar-option span{font-size:9px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.lb-avatar-option:hover,.lb-avatar-option.lb-avatar-active{border-color:#a7a2ff;background:#30395c;color:#e7e2ff}
.lb-admin-panel{margin:22px 0 10px}
.lb-admin-panel .lb-panel-heading p{color:#94a9c2;font-size:12px;margin:6px 0 0}
.lb-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 17px}
.lb-match-grid .lb-wide{grid-column:1/-1}.lb-button-danger{background:#552f3d;color:#ffcad4;border:1px solid #96546a}
.lb-button-danger:hover{background:#683a4d}
@media(max-width:1000px){.lb-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lb-columns{grid-template-columns:1fr}.lb-header{margin-top:6px}}
@media(max-width:720px){.quick-nav .nav-leaderboard{font-size:11px}.quick-nav{display:flex;margin-left:auto;gap:8px}.quick-nav a{display:none}.lb-header{align-items:start}.lb-header .button{padding:0 10px;min-height:38px;font-size:10px;white-space:nowrap}.lb-header h1{font-size:23px}.lb-panel{padding:15px}.lb-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lb-stat{padding:12px}.lb-stat strong{font-size:23px}.lb-auth-panel{grid-template-columns:1fr}.lb-auth-art{min-height:165px;border-right:0;border-bottom:1px solid #426077}.lb-auth-art img{height:105px;width:90px}.lb-auth-form{padding:24px}.lb-userbar{flex-wrap:wrap}.lb-userbar>.lb-inline:last-child{margin-left:auto}.lb-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lb-match-grid{grid-template-columns:1fr}.lb-match-grid .lb-wide{grid-column:auto}.lb-profile-avatar{width:65px;height:85px}}

/* Historical score entry and optional remembered trainer sessions */
.lb-auth-form .lb-remember-label{display:flex;align-items:center;gap:9px;margin:7px 0 0;color:#dce6f6;font-size:12px;letter-spacing:0;font-weight:600;cursor:pointer}
.lb-auth-form .lb-remember-label input{width:16px;min-height:16px;height:16px;accent-color:#a49afc;flex:none;margin:0}
.lb-remember-help{display:block;font-size:10px;line-height:1.5;margin:0 0 4px}
.lb-bulk-preview{background:#23384b;border:1px solid #547185;border-radius:9px;padding:11px 13px;color:#b8f7e3;font-size:13px;font-weight:700}
.lb-history-tag{color:#baafff;font-weight:700}
#lbBulkPanel .lb-panel-heading{align-items:flex-start}
#lbBulkPanel .lb-panel-heading p{max-width:780px}

/* Separate 1v1 / Free-for-All rankings and admin-controlled placements */
.lb-mode-switch{display:flex;gap:6px;background:#0c1a2b;padding:5px;border:1px solid #354e66;border-radius:10px;margin:6px 0 12px}
.lb-mode-switch button{flex:1;min-width:0;border:1px solid transparent;border-radius:8px;background:transparent;padding:9px 11px;color:#a9bed4;font-size:12px;font-weight:750;cursor:pointer}
.lb-mode-switch button:hover{color:#fff;background:#243752}
.lb-mode-switch button.lb-mode-active{background:#38456f;border-color:#8c85cc;color:#fff}
.lb-ffa-preview{border-radius:9px;border:1px solid #547185;background:#23384b;color:#b8f7e3;font-size:12px;font-weight:700;padding:11px 13px}
.lb-ffa-places{margin:7px 0 3px;color:#c9bfff;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.lb-ffa-profile{color:#9fe7ca;font-weight:750}
.lb-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:720px){.lb-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Verified Showdown replay linkage and profile head-to-head win rates. */
.lb-showdown-links{display:grid;gap:8px;margin:14px 0}
.lb-showdown-link-row{border:1px solid #344861;border-radius:12px;padding:9px 13px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.lb-showdown-link-row>div{display:grid;gap:3px;min-width:0}
.lb-showdown-link-row strong,.lb-showdown-link-row span{overflow-wrap:anywhere}
.lb-small-button{padding:7px 12px!important;min-height:32px!important;white-space:nowrap}
.lb-showdown-name{color:#a1dccb}
.lb-auto-tag{font-size:10px;color:#7de4c4;font-weight:700}
@media(max-width:540px){.lb-showdown-link-row{flex-wrap:wrap}}

/* Ranked ratings, history and custom modes */
.history-panel{margin:32px 0 18px}.history-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.history-columns,.lb-elo-grids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.history-columns h3,.lb-elo-grids h3{font-size:13px;margin:12px 0;color:#dceafd}.history-top-row{display:flex;justify-content:space-between;border-bottom:1px solid #304760;padding:8px 3px;font-size:12px}.history-top-row strong{color:#a59df8}.history-scroll{max-height:430px;overflow-y:auto;overscroll-behavior:contain;padding-right:7px}.history-team-card{background:#102037;border:1px solid #3b5069;border-radius:10px;padding:13px;margin-bottom:10px}.history-team-top{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;font-size:12px;margin-bottom:9px}.history-team-names{display:flex;gap:6px;flex-wrap:wrap}.history-mon{padding:6px 8px;border-radius:6px;background:#22354a;color:#d8e8f5;font-size:11px}.history-shiny{background:#544828;color:#ffdb80}.history-team-actions{margin-top:10px}.history-team-actions button{min-height:32px;font-size:11px;padding:6px 10px}.lb-elo-panel{margin:18px 0}.lb-elo-grids .lb-table-scroll{max-height:295px;overflow:auto}.lb-elo-profile{color:#a9d9cb;font-size:12px}.controls{flex-wrap:wrap}.controls>.control-field{flex:1 1 170px}.controls>.control-actions{margin-left:auto}.history-panel .lb-panel-heading{align-items:center}
@media(max-width:720px){.history-columns,.lb-elo-grids{grid-template-columns:1fr}.history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.history-panel .lb-panel-heading{align-items:start}.history-panel .lb-panel-heading button{font-size:10px}}

/* Pokémon Showdown rank sprites and small-group rank thresholds (visual only). */
.lb-elo-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--elo-edge);border-radius:12px;background:var(--elo-bg);color:var(--elo-text);max-width:100%;vertical-align:middle;white-space:nowrap}
.lb-elo-poke{--elo-edge:#974857;--elo-bg:rgba(162,53,69,.18);--elo-text:#ffd6de}
.lb-elo-great{--elo-edge:#487cbb;--elo-bg:rgba(38,112,212,.17);--elo-text:#cde8ff}
.lb-elo-ultra{--elo-edge:#b99a3e;--elo-bg:rgba(186,144,26,.15);--elo-text:#ffe7a6}
.lb-elo-master{--elo-edge:#9972d3;--elo-bg:rgba(137,80,215,.19);--elo-text:#e6d2ff}
.lb-elo-sprite{width:26px;height:26px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}
.lb-elo-badge-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15;min-width:0}
.lb-elo-tier-name{font-size:12px;font-weight:800}.lb-elo-number{font-size:11px;font-variant-numeric:tabular-nums}
.lb-elo-badge-compact{padding:5px 7px;gap:6px}.lb-elo-badge-compact .lb-elo-sprite{width:22px;height:22px}
.lb-elo-rating-cell{min-width:130px}.lb-elo-progress-wrap{margin-top:6px;max-width:180px}
.lb-elo-progress{height:4px;background:#34485f;border-radius:12px;overflow:hidden}
.lb-elo-progress-fill{display:block;height:100%;border-radius:12px;background:var(--elo-edge)}
.lb-elo-next{display:block;font-size:10px;color:#b9c9db;margin-top:4px;line-height:1.2}
.lb-profile-ranks{display:flex;flex-wrap:wrap;gap:14px;margin:12px 0}
.lb-profile-rank{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:148px;max-width:220px}
.lb-profile-rank-label{color:#9fb8cd;font-size:11px;font-weight:800;letter-spacing:.08em}
@media(max-width:420px){.lb-elo-badge-compact{padding:4px;gap:4px}.lb-elo-badge-compact .lb-elo-sprite{width:20px;height:20px}.lb-elo-tier-name{font-size:11px}.lb-elo-number{font-size:10px}.lb-elo-rating-cell{min-width:112px}}

/* Account-backed shiny cosmetics */
.shiny-collection-panel{margin:18px 0}.shiny-collection-panel .lb-panel-heading{gap:12px;flex-wrap:wrap}.shiny-unlock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px;margin:18px 0}.shiny-unlock-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:15px;border:1px solid #735f42;border-radius:13px;background:linear-gradient(160deg,#3b3345,#19283c);min-width:0}.shiny-unlock-card img{width:100px;height:100px;object-fit:contain}.shiny-unlock-card strong{display:block;font-size:15px}.shiny-unlock-card small{display:block;color:#b8c7d6;margin-top:4px}.shiny-unlock-card a{color:#e9c77a}.shiny-admin-panel{border-top:1px solid #4a5b6e;margin-top:22px;padding-top:18px}.shiny-skin-toggle{margin-top:12px;padding:9px 12px;display:flex;align-items:center;gap:9px;color:#ffe09a;background:#403a39;border:1px solid #8b7648;border-radius:8px;font-size:12px;cursor:pointer}.shiny-skin-toggle input{accent-color:#c5a352}
.shiny-collection-nav{display:flex;justify-content:flex-end;margin:18px 0 0}
