:root {
  --ink:#f5f7ff;
  --muted:#9ca8c7;
  --bg:#080c18;
  --surface:#10172a;
  --surface-2:#151f37;
  --line:#263352;
  --yellow:#ffd447;
  --cyan:#43d6ff;
  --violet:#826cff;
  --red:#ff5d73;
  --green:#58e0a1;
  --radius:18px;
  --shadow:0 18px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 16% -10%,#23335c 0,transparent 32rem),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,input,select{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(67,214,255,.45);outline-offset:2px}
.app-header{height:76px;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;background:rgba(8,12,24,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(112,134,184,.22)}
.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none;width:max-content}
.brand-profile{display:flex;align-items:center;gap:10px;min-width:0}.account-button{max-width:130px;border:1px solid #405271;border-radius:9px;background:#101a2e;color:var(--ink);padding:7px 10px;font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.account-button.signed-in{border-color:color-mix(in srgb,var(--account-color) 65%,#405271);background:color-mix(in srgb,var(--account-color) 12%,#101a2e)}.account-button:hover{border-color:var(--cyan)}
.brand-mark{width:38px;height:38px;border:3px solid var(--ink);border-radius:50%;display:grid;place-items:center;position:relative;background:linear-gradient(var(--red) 0 46%,#161d31 46% 54%,#f5f7ff 54%)}
.brand-mark:after{content:"";width:10px;height:10px;border:3px solid #161d31;background:#fff;border-radius:50%}
.brand span:last-child{display:flex;flex-direction:column;line-height:.9}.brand b{font-size:11px;letter-spacing:.18em;color:var(--yellow)}.brand strong{font-size:18px;letter-spacing:.04em}
.app-version{display:inline-block;margin-left:4px;border:1px solid #354563;border-radius:999px;background:#111a2d;color:#91a0bd;padding:2px 5px;font-size:9px;line-height:1;letter-spacing:.04em;vertical-align:2px}
.primary-nav{display:flex;padding:5px;background:#0c1222;border:1px solid var(--line);border-radius:14px;gap:3px}
.nav-button{border:0;background:transparent;padding:9px 18px;border-radius:10px;color:var(--muted);font-weight:750;cursor:pointer}
.nav-button:hover{color:var(--ink)}.nav-button.active{background:var(--surface-2);color:var(--ink);box-shadow:inset 0 -2px var(--cyan)}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.dex-progress{font-size:12px;color:var(--muted);margin-right:8px}.sync-status{display:inline-flex;align-items:center;gap:6px;border:1px solid #2f4960;background:#0b1826;border-radius:999px;padding:6px 9px;color:#7fe8ba;font-size:11px;font-weight:850;white-space:nowrap}.sync-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.sync-status.loading,.sync-status.saving{color:#ffd66f}.sync-status.offline{color:#ff8b9b}.draw-toggle{--guest-color:#43d6ff;display:flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--guest-color) 55%,#334361);background:#0b1324;border-radius:10px;padding:7px 9px;color:var(--ink);cursor:pointer}.draw-toggle span{color:var(--guest-color);font-size:17px}.draw-toggle b{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.draw-toggle.active{background:color-mix(in srgb,var(--guest-color) 18%,#0b1324);box-shadow:0 0 0 2px color-mix(in srgb,var(--guest-color) 32%,transparent)}
.admin-sign-in{border:1px solid #526386;border-radius:9px;background:#18233b;color:var(--ink);padding:7px 10px;font-size:11px;font-weight:850;text-decoration:none;white-space:nowrap}.admin-sign-in:hover{border-color:var(--cyan);background:#202f4e}.admin-sign-in[hidden]{display:none}
.account-dialog{width:min(430px,calc(100vw - 28px));padding:0;border:1px solid #334566;border-radius:17px;background:#10182b;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.7)}.account-dialog::backdrop{background:rgba(3,6,14,.72);backdrop-filter:blur(5px)}.account-dialog-card{position:relative;display:flex;flex-direction:column;gap:13px;padding:25px}.account-dialog-card h2{font-size:24px}.account-dialog-card label{display:flex;flex-direction:column;gap:6px;color:#c5d0e7;font-size:13px;font-weight:800}.account-dialog-card input{width:100%;border:1px solid var(--line);border-radius:10px;background:#090f1e;color:var(--ink);padding:11px 12px}.account-help{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:3px}.account-close{position:absolute;right:14px;top:12px;width:31px;height:31px;border:0;border-radius:8px;background:#18233a;color:#aebbd4;font-size:21px;cursor:pointer}.account-error{margin:0;border:1px solid #6d3546;border-radius:9px;background:#28131c;color:#ff9caf;padding:9px 10px;font-size:12px}.account-logout{align-self:center;margin-top:3px}.account-dialog.signed-in .account-help,.account-dialog.signed-in .account-dialog-card>label,.account-dialog.signed-in .account-actions{display:none}
main{width:min(1500px,100%);margin:0 auto;padding:34px 28px 70px}
.view{display:none}.view.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.3;transform:translateY(4px)}}
.view-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:850;color:var(--cyan)}
h1,h2,p{margin-top:0}h1{font-size:clamp(30px,4vw,48px);line-height:1;margin-bottom:0;letter-spacing:-.04em}h2{font-size:18px;margin:0;letter-spacing:-.02em}
.pool-chip,.roster-summary,.count-label{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 14px;color:var(--muted);font-size:13px}.pool-chip span,.roster-summary b{color:var(--ink)}
.panel{background:linear-gradient(145deg,rgba(20,30,53,.96),rgba(13,19,35,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}
.draft-stage{min-height:570px;overflow:visible}.draft-toolbar{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.draft-toolbar label,.roster-tools label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:700}
select,input[type="search"]{background:#0a1020;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:9px 11px}select{cursor:pointer}
.switch-label{cursor:pointer}.switch-label input{position:absolute;opacity:0}.switch{width:38px;height:22px;border-radius:20px;background:#35415e;position:relative;transition:.2s}.switch:after{content:"";position:absolute;width:16px;height:16px;background:white;border-radius:50%;top:3px;left:3px;transition:.2s}.switch-label input:checked+.switch{background:var(--violet)}.switch-label input:checked+.switch:after{transform:translateX(16px)}
.primary-button,.ghost-button,.icon-button,.text-button{border:0;cursor:pointer;font-weight:800}.primary-button{background:linear-gradient(135deg,var(--violet),#5d8dff);padding:11px 16px;border-radius:11px;box-shadow:0 8px 22px rgba(103,108,255,.28)}.primary-button:hover{filter:brightness(1.12)}.primary-button:disabled{opacity:.45;cursor:not-allowed}
.ghost-button{background:var(--surface-2);border:1px solid var(--line);padding:9px 12px;border-radius:10px}.ghost-button:hover{border-color:#526386}.ghost-button.danger,.text-button.danger{color:#ff8b9b}.icon-button{width:39px;height:39px;border-radius:10px;background:#0b1120;border:1px solid var(--line);font-size:20px}.text-button{background:transparent;color:var(--cyan)}
.draw-grid{padding:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:18px;align-content:start}.draw-grid.empty{height:500px;display:grid;place-items:center}.empty-state{text-align:center;color:var(--muted)}.empty-state h2{color:var(--ink);font-size:22px;margin:14px 0 7px}.empty-state p{margin:0}.empty-lock-button{display:block;margin:18px auto 0}.empty-ball{display:inline-block;width:70px;height:70px;border:3px solid #53617e;border-radius:50%;background:linear-gradient(#273450 0 45%,#080c18 45% 55%,#f0f3ff 55%);opacity:.6;position:relative}.empty-ball:after{content:"";position:absolute;width:17px;height:17px;border:4px solid #080c18;background:#f0f3ff;border-radius:50%;left:22px;top:23px}.tier-lock-chip{margin-left:auto;border:1px solid #43516d;background:#0a1020;color:var(--muted);padding:8px 10px;border-radius:999px;font-size:12px;font-weight:800;cursor:pointer}.tier-lock-chip.locked{border-color:#2c8f69;color:#74e7b0;background:#0c251e}.draft-ranked-card{overflow:visible;border-color:var(--tier-color);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tier-color) 30%,#24324d),#11192c 70%);box-shadow:inset 0 5px var(--tier-color),0 12px 24px rgba(0,0,0,.22)}.draft-ranked-card.claimed{filter:saturate(.8)}.draft-tier-badge{position:absolute;z-index:4;top:9px;left:9px;min-width:30px;padding:5px 8px;border-radius:999px;background:var(--tier-color);color:#080c18;font-size:12px;font-weight:950;text-align:center;box-shadow:0 3px 9px rgba(0,0,0,.28)}.draft-card-menu{position:absolute;z-index:8;top:8px;right:8px}.card-menu-button{width:31px;height:31px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(6,10,19,.78);color:white;font-weight:950;letter-spacing:-1px;cursor:pointer}.assign-menu{display:none;position:absolute;z-index:20;top:36px;right:0;width:180px;padding:7px;background:#f4f7ff;color:#0a1020;border:1px solid #c9d2e4;border-radius:10px;box-shadow:0 16px 38px rgba(0,0,0,.42)}.draft-card-menu.open .assign-menu{display:flex;flex-direction:column;gap:4px}.assign-menu b{padding:5px 7px 6px;font-size:12px;color:#53617e}.assign-menu button{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#0a1020;padding:8px;border-radius:7px;text-align:left;font-size:13px;font-weight:800;cursor:pointer}.assign-menu button:hover{background:#dfe7f7}.assign-menu button i{width:10px;height:10px;border-radius:50%}.assign-menu .unassign-option{margin-top:3px;border-top:1px solid #d3dbea;color:#c13650;border-radius:0}.assign-empty{padding:7px;font-size:12px;color:#63708a;line-height:1.35}.claimed-by{position:absolute;z-index:5;left:50%;top:118px;transform:translateX(-50%);max-width:calc(100% - 20px);padding:5px 10px;border-radius:999px;background:var(--player-color);color:#071019;font-size:12px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 14px rgba(0,0,0,.35)}
.draft-sidebar{padding:16px;min-height:570px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.session-stats div{background:#0a1020;border:1px solid var(--line);border-radius:12px;padding:12px}.session-stats b{font-size:24px;display:block}.session-stats span{font-size:12px;color:var(--muted)}.add-player-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:11px}.add-player-form input{min-width:0;background:#0a1020;border:1px solid var(--line);border-radius:9px;color:var(--ink);padding:9px 10px}.add-player-form .primary-button{padding:8px 11px}.team-list{display:flex;flex-direction:column;gap:8px;max-height:370px;overflow:auto;padding-right:2px}.team-empty{padding:22px 12px;border:1px dashed #334361;border-radius:10px;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}.team-card{border:1px solid #283755;border-left:4px solid var(--player-color);border-radius:10px;background:#0b1222;overflow:hidden}.team-card header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:7px 7px 7px 9px;border-bottom:1px solid #202c47}.team-card header>span{font-size:11px;font-weight:900;color:var(--muted)}.team-card header button{border:0;background:transparent;color:inherit;cursor:pointer}.team-card .rename-player{min-width:0;display:flex;align-items:center;gap:7px;padding:3px 0;font-size:13px;font-weight:900;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rename-player i{width:9px;height:9px;flex:0 0 auto;border-radius:50%;background:var(--player-color)}.team-card .remove-player{font-size:17px;color:#8793ae}.team-picks{display:flex;flex-direction:column;padding:4px}.team-picks button{height:34px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:5px;border:0;border-radius:6px;background:transparent;color:var(--ink);padding:1px 6px 1px 1px;text-align:left;cursor:pointer}.team-picks button:hover{background:#16213a}.team-picks img{width:30px;height:30px;object-fit:contain}.team-picks span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750}.team-picks b{color:#7f8da9}.no-picks{display:block;padding:8px;color:#66738f!important;text-align:center}.history-panel{margin-top:12px;border-top:1px solid var(--line);padding-top:11px}.history-panel summary{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;font-weight:850;cursor:pointer}.history-panel summary span{border-radius:999px;background:#202d49;padding:2px 7px;font-size:11px}.history-list{list-style:none;padding:9px 0 0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:250px;overflow:auto}.history-list li{background:#0c1324;border:1px solid #202c48;border-radius:11px;padding:10px 11px;font-size:13px;line-height:1.45}.history-list time{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.history-list .muted-row{color:var(--muted);text-align:center;padding:18px 8px;background:transparent;border-style:dashed}
.pokemon-card{position:relative;min-width:0;background:radial-gradient(circle at 50% 40%,#273657 0,#121a2e 67%);border:1px solid #334361;border-radius:16px;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.pokemon-card:hover{transform:translateY(-3px);border-color:#60759c;box-shadow:0 14px 28px rgba(0,0,0,.3)}
.pokemon-card .art{height:126px;display:flex;align-items:center;justify-content:center;position:relative}.pokemon-card .art:after{content:"";position:absolute;inset:auto 12% 7px;height:10px;background:rgba(0,0,0,.35);filter:blur(8px);border-radius:50%}.pokemon-card img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}.art-placeholder{font-size:34px;font-weight:900;color:#455477;letter-spacing:-.08em}
.pokemon-card .card-footer{padding:10px 11px 11px;background:rgba(7,11,21,.62);border-top:1px solid rgba(100,119,158,.22)}.card-name-row{display:flex;align-items:center;gap:8px;justify-content:space-between}.card-name{font-size:14px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smogon-link{color:var(--cyan);font-size:12px;font-weight:900;text-decoration:none;border:1px solid #36516b;border-radius:7px;padding:3px 5px}.smogon-link:hover{background:#173448}
.resource-links{display:flex;align-items:center;gap:6px;flex:0 0 auto}.resource-link{height:29px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #344867;border-radius:8px;background:#0b1324;color:#dfe8ff;font-size:11px;font-weight:850;text-decoration:none;white-space:nowrap}.resource-link:hover{border-color:#6681ab;background:#16233b}.resource-link img{width:16px!important;height:16px!important;object-fit:contain!important;position:static!important;z-index:auto!important}.resource-links.compact{gap:4px}.resource-links.compact .resource-link{width:25px;height:25px;padding:4px;display:grid;place-items:center}.resource-links.compact .resource-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.type-row{display:flex;gap:4px;margin-top:7px;min-height:20px;flex-wrap:wrap}.type-badge{font-size:10px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:5px 7px;color:white;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.draw-grid .pokemon-card{min-height:205px}.draw-grid .pokemon-card .art{height:150px}.draw-grid .card-name{font-size:16px}
.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:7px;background:#0a1020;border:1px solid var(--line);border-radius:10px;padding-left:10px}.search-field input{border:0;background:transparent;min-width:190px;padding-left:0}.search-field span{color:var(--muted);font-size:18px}.search-field.wide{flex:1;min-width:220px}
.tier-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);align-items:stretch;gap:9px;margin-bottom:18px;padding:0 0 10px;overflow-x:auto;scrollbar-color:#44577e #0a1020}.tier-column{min-height:410px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.tier-label{height:54px;flex:0 0 auto;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;padding:7px 8px 7px 12px;color:#090d1a;background:var(--tier-color);border-top:4px solid rgba(255,255,255,.32)}.tier-name{min-width:0;border:0;background:transparent;color:inherit;text-align:left;font-size:23px;line-height:1;font-weight:950;padding:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.tier-count{min-width:24px;border-radius:999px;padding:3px 6px;background:rgba(0,0,0,.17);font-size:11px;font-weight:900;text-align:center}.tier-label .delete-tier{width:25px;height:25px;border:0;border-radius:7px;background:rgba(0,0,0,.16);color:inherit;font-weight:950;cursor:pointer}.tier-dropzone{transition:background .15s,outline-color .15s}.tier-column .tier-dropzone{flex:1;min-height:354px;padding:7px;display:flex;flex-direction:column;gap:5px;align-content:start}.tier-dropzone.drag-over{outline:3px dashed var(--cyan);outline-offset:-6px;background:#13243b}.tier-item{height:48px;min-width:0;display:grid;grid-template-columns:10px 40px minmax(0,1fr) auto;align-items:center;gap:5px;padding:3px 5px 3px 3px;background:#0b1222;border:1px solid #263654;border-radius:8px;cursor:grab;transition:border-color .15s,background .15s,transform .15s}.tier-item:hover{border-color:#577098;background:#111c31;transform:translateY(-1px)}.tier-item:active{cursor:grabbing}.tier-grip{color:#51617f;font-size:11px;letter-spacing:-4px;overflow:hidden}.tier-item .mini-art{width:40px;height:40px;object-fit:contain;background:radial-gradient(circle,#28385c,transparent 67%)}.tier-art-placeholder{display:grid;place-items:center;color:#7785a3;font-size:10px;font-weight:900}.tier-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}.tier-smogon-link{width:23px;height:23px;display:grid;place-items:center;border:1px solid #36516b;border-radius:6px;color:var(--cyan);font-size:13px;font-weight:900;text-decoration:none}.tier-smogon-link:hover{background:#173448}.unranked-section{padding:16px}.unranked-section .panel-heading{margin-bottom:10px}#unranked-grid{min-height:82px;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;background:#0a1020;border:1px solid #202d49;border-radius:11px}.pokemon-grid{max-height:430px;overflow:auto}.tier-card-hidden{display:none!important}
.roster-tools{display:flex;align-items:center;gap:10px;padding:13px;margin-bottom:16px;flex-wrap:wrap}.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.roster-card{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px;transition:.18s}.roster-card:hover{border-color:#4f6183}.roster-card.excluded{opacity:.48;filter:saturate(.5)}.roster-card .mini-art{width:70px;height:70px;object-fit:contain;background:radial-gradient(circle,#28385c,transparent 65%)}.roster-name{font-weight:850}.roster-meta{font-size:11px;color:var(--muted);margin-top:3px}.roster-card .type-row{margin-top:5px}.include-toggle{width:24px;height:24px;accent-color:var(--green);cursor:pointer}.roster-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:60px;border:1px dashed var(--line);border-radius:16px}
.draft-ranked-card{cursor:grab}.draft-ranked-card:active{cursor:grabbing}.player-dropzone{transition:border-color .15s,background .15s,box-shadow .15s}.player-dropzone.drag-over{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 18%,#0b1222);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 35%,transparent)}.player-dropzone.drag-over .team-picks:after{content:"Drop to assign";display:block;padding:9px;color:var(--ink);font-size:12px;font-weight:900;text-align:center}
.showdown-note{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;margin-bottom:16px}.showdown-note div{display:flex;flex-direction:column;gap:3px}.showdown-note b{font-size:14px}.showdown-note span{font-size:12px;color:var(--muted)}.showdown-note a{color:var(--cyan);font-size:12px;font-weight:850;text-decoration:none;white-space:nowrap}.player-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:16px}.player-roster{overflow:hidden;border-top:4px solid var(--player-color)}.player-roster-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--player-color) 10%,transparent),transparent)}.player-roster-header>div{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px}.player-color-dot{width:10px;height:10px;border-radius:50%;background:var(--player-color)}.player-roster-header h2{font-size:19px}.player-roster-header small{color:var(--muted)}.showdown-button{border:1px solid color-mix(in srgb,var(--player-color) 55%,#506080);background:#0b1426;color:var(--ink);padding:8px 10px;border-radius:9px;font-size:12px;font-weight:900;cursor:pointer}.showdown-button:hover{background:#17243b}.showdown-button:disabled{opacity:.45;cursor:not-allowed}.player-roster-list{display:flex;flex-direction:column}.player-roster-pokemon{min-width:0;display:grid;grid-template-columns:35px 62px minmax(130px,1fr) auto 30px;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #202c47;background:linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 7%,transparent),transparent)}.player-roster-pokemon:last-child{border-bottom:0}.player-roster-pokemon:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--tier-color) 13%,transparent),#11192c)}.roster-tier-pill{min-width:32px;padding:5px 6px;border-radius:999px;background:var(--tier-color);color:#080c18;font-size:11px;font-weight:950;text-align:center}.roster-pokemon-art{width:62px;height:62px;object-fit:contain;background:radial-gradient(circle,#273757,transparent 68%)}.player-pokemon-copy{min-width:0}.player-pokemon-copy>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.player-pokemon-copy>span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.player-pokemon-copy .type-row{margin-top:5px}.roster-unassign{width:28px;height:28px;border:1px solid #3b4964;border-radius:8px;background:#10182a;color:#91a0bd;font-size:18px;cursor:pointer}.roster-unassign:hover{color:#ff8b9b;border-color:#864255}.player-roster-none{padding:35px;text-align:center;color:var(--muted);font-size:13px}.player-roster-empty h2{margin-bottom:8px;color:var(--ink)}.player-roster-empty p{margin-bottom:18px}
.saved-setups{display:grid;grid-template-columns:minmax(230px,1fr) minmax(300px,auto);gap:14px 24px;align-items:center;padding:15px 16px;margin-bottom:16px}.saved-setups-copy h2{margin-bottom:3px}.saved-setups-copy>span{display:block;color:var(--muted);font-size:12px;line-height:1.4}.save-setup-form{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:8px}.save-setup-form input{min-width:0;background:#0a1020;border:1px solid var(--line);border-radius:10px;color:var(--ink);padding:10px 11px}.saved-setup-list{grid-column:1/-1;display:flex;flex-direction:column;gap:7px}.saved-setup-list:empty{display:none}.saved-setups-empty{padding:11px;border:1px dashed #30415f;border-radius:9px;color:var(--muted);font-size:12px;text-align:center}.saved-setup-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:7px;padding:8px 8px 8px 11px;border:1px solid #283755;border-radius:10px;background:#0b1222}.saved-setup-meta{min-width:0}.saved-setup-meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.saved-setup-meta span{display:block;margin-top:2px;color:var(--muted);font-size:11px}.saved-setup-row button{border:1px solid #354563;border-radius:8px;background:#131d32;color:var(--ink);padding:7px 9px;font-size:11px;font-weight:850;cursor:pointer}.saved-setup-row button:hover{border-color:#5b7197}.saved-setup-row .delete-setup{width:30px;padding:7px;color:#ff8b9b}
.cloud-loading main{pointer-events:none;opacity:.72}.viewer-mode .owner-only,.viewer-mode .draft-card-menu,.viewer-mode .remove-player,.viewer-mode .roster-unassign,.viewer-mode .tier-label .delete-tier,.viewer-mode #lock-tiers,.viewer-mode #add-tier,.viewer-mode #reset-tiers,.viewer-mode #include-visible,.viewer-mode #exclude-visible,.viewer-mode .saved-setups{opacity:.42;filter:saturate(.25)}.viewer-mode .owner-only,.viewer-mode .rename-player,.viewer-mode .tier-name,.viewer-mode .player-group-toggle,.viewer-mode .remove-player,.viewer-mode .roster-unassign,.viewer-mode .tier-label .delete-tier,.viewer-mode .include-toggle{pointer-events:none;cursor:not-allowed!important}.viewer-mode .tier-item,.viewer-mode .draft-ranked-card{cursor:default}.viewer-mode .tier-grip{opacity:.35}.viewer-mode select:disabled{color:#dce5fa}.viewer-mode .roster-card{grid-template-columns:70px 1fr}
.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#eff5ff;color:#0a1020;border-radius:12px;padding:11px 16px;font-weight:800;box-shadow:var(--shadow);transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}
.pick-order{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:11px 16px;border-bottom:1px solid var(--line);background:#0b1222}.pick-order>b{flex:0 0 auto;color:var(--cyan);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.pick-order span{--player-color:#43d6ff;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--player-color) 50%,#334361);border-radius:999px;padding:5px 9px 5px 5px;background:color-mix(in srgb,var(--player-color) 10%,#0b1222);font-size:12px;font-weight:850}.pick-order i{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--player-color);color:#071019;font-style:normal;font-size:11px;font-weight:950}.live-draw-canvas{position:absolute;left:0;top:0;z-index:900;pointer-events:none;touch-action:none}.drawing-mode .live-draw-canvas{pointer-events:auto;cursor:crosshair}.draw-mode-chip{position:fixed;z-index:950;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 9px 8px 11px;border:1px solid #526386;border-radius:999px;background:rgba(8,12,24,.94);box-shadow:0 14px 40px rgba(0,0,0,.45);backdrop-filter:blur(12px);white-space:nowrap}.draw-mode-chip[hidden]{display:none}.draw-mode-chip>span{width:10px;height:10px;border-radius:50%}.draw-mode-chip b{font-size:12px}.draw-mode-chip small{color:var(--muted);font-size:11px}.draw-mode-chip button{border:0;border-radius:999px;background:#edf3ff;color:#0a1020;padding:7px 11px;font-weight:850;cursor:pointer}
@media(max-width:900px){.app-header{height:auto;min-height:70px;grid-template-columns:1fr auto;padding:12px 16px;gap:10px}.primary-nav{grid-row:2;grid-column:1/-1;width:100%}.nav-button{flex:1}.header-actions .dex-progress,.header-actions .ghost-button{display:none}main{padding:25px 14px 60px}.draft-layout{grid-template-columns:1fr}.draft-sidebar{min-height:0}.tier-board{grid-auto-columns:minmax(165px,1fr)}.player-roster-grid{grid-template-columns:1fr}.saved-setups{grid-template-columns:1fr}.save-setup-form{grid-column:1}.saved-setup-list{grid-column:1}}
@media(max-width:600px){.view-heading{align-items:flex-start;flex-direction:column}.draft-toolbar>*{flex:1}.tier-lock-chip{margin-left:0}.draw-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}.draw-grid .pokemon-card .art{height:115px}.claimed-by{top:84px}.assign-menu{width:165px}.roster-grid{grid-template-columns:1fr}.tier-heading .toolbar-group{width:100%}.tier-heading .search-field{width:100%}.primary-nav{overflow:auto}.nav-button{padding-inline:13px}.brand strong{font-size:15px}#unranked-grid{grid-template-columns:1fr}.tier-board{grid-auto-columns:155px}.tier-item{grid-template-columns:9px 36px minmax(0,1fr) auto}.tier-item .mini-art{width:36px;height:36px}.tier-item-name{font-size:12px}.showdown-note{align-items:flex-start;flex-direction:column}.player-roster-pokemon{grid-template-columns:32px 52px minmax(95px,1fr) auto 28px;gap:6px;padding:7px}.roster-pokemon-art{width:52px;height:52px}.player-roster-pokemon>.resource-links{flex-direction:column;gap:3px}.player-roster-pokemon>.resource-links .resource-link{width:25px;height:25px;padding:4px}.player-roster-pokemon>.resource-links .resource-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.player-roster-header{align-items:flex-start}.player-roster-header>div{grid-template-columns:auto auto}.player-roster-header small{grid-column:2}.saved-setup-row{grid-template-columns:minmax(0,1fr) auto auto}.saved-setup-row .delete-setup{grid-column:3}.saved-setup-row [data-download-setup]{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:900px){.draw-toggle b{display:none}.draw-mode-chip small{display:none}}
.tier-label{grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px}.tier-weight{display:flex;align-items:center;gap:2px;padding:2px 3px;border-radius:7px;background:rgba(0,0,0,.14);font-size:9px;font-weight:950}.tier-weight input{width:32px;height:23px;border:0;border-radius:5px;background:rgba(255,255,255,.72);color:#090d1a;padding:2px;text-align:center;font-size:11px;font-weight:950}.tier-weight input:disabled{opacity:.8}

/* Two alternating groups sharing one legal Pokémon pool. */
.add-player-form{grid-template-columns:minmax(0,1fr) auto auto}.add-player-form select{max-width:88px;min-width:0;border:1px solid var(--line);border-radius:9px;background:#0a1020;color:var(--ink);padding:9px 7px;font-size:11px;font-weight:800}.team-list{gap:12px}.draft-group{display:flex;flex-direction:column;gap:7px;padding:8px;border:1px solid #263653;border-radius:12px;background:#09101f}.draft-group-a{border-top:3px solid #43d6ff}.draft-group-b{border-top:3px solid #ff9f43}.draft-group-heading{display:flex;align-items:center;justify-content:space-between;padding:0 2px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.draft-group-heading b{color:var(--ink);font-size:11px}.group-empty{padding:12px;border:1px dashed #30415f;border-radius:8px;color:#6e7d9b;font-size:11px;text-align:center}.team-card header{grid-template-columns:minmax(0,1fr) auto auto auto auto}.player-pencil-link{display:flex;align-items:center;gap:3px;min-width:0;color:var(--player-color)}.player-pencil-link span{font-size:13px}.player-pencil-link select{width:72px;height:24px;border:1px solid color-mix(in srgb,var(--player-color) 45%,#354563);border-radius:6px;background:#0a1120;color:#c9d5eb;padding:2px 3px;font-size:9px;font-weight:800;cursor:pointer}.player-group-toggle{display:grid;place-items:center;width:22px;height:22px;border:1px solid color-mix(in srgb,var(--player-color) 60%,#354563)!important;border-radius:6px!important;background:color-mix(in srgb,var(--player-color) 14%,#0b1222)!important;color:var(--player-color)!important;font-size:10px;font-weight:950}.team-card.active-player{border-color:var(--player-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--player-color) 35%,transparent),0 0 18px color-mix(in srgb,var(--player-color) 28%,transparent)}

.pick-order{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;overflow:visible;padding:12px 16px}.order-heading{display:flex;flex-direction:column;justify-content:center;gap:2px;white-space:nowrap}.order-heading>b{color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.order-heading strong{font-size:12px}.order-nameplates{display:flex;align-items:center;gap:7px;min-width:0;overflow-x:auto;padding:5px 3px}.pick-order .order-nameplates span{position:relative;--player-color:#43d6ff;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--player-color) 50%,#334361);border-radius:10px;padding:6px 7px 6px 5px;background:color-mix(in srgb,var(--player-color) 10%,#0b1222);font-size:12px;font-weight:850;transition:transform .12s,filter .12s,box-shadow .12s}.pick-order .order-nameplates i{display:grid;place-items:center;width:21px;height:21px;border-radius:6px;background:var(--player-color);color:#071019;font-style:normal;font-size:11px;font-weight:950}.pick-order .order-nameplates em{font-style:normal}.pick-order .order-nameplates small{display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:#222f4a;color:#b8c5df;font-size:9px}.pick-order .order-nameplates span.current-turn{transform:translateY(-2px) scale(1.04);border-color:var(--player-color);filter:brightness(1.18);box-shadow:0 0 0 2px color-mix(in srgb,var(--player-color) 46%,transparent),0 0 22px color-mix(in srgb,var(--player-color) 50%,transparent);animation:current-player-pulse 1.8s ease-in-out infinite}.order-actions{display:flex;align-items:center;gap:6px}.order-actions button{height:30px;border:1px solid #364764;border-radius:8px;background:#111a2d;color:var(--ink);padding:0 8px;font-size:11px;font-weight:850;cursor:pointer}.order-actions .order-sound{width:32px;padding:0}.pick-order.rolling .order-nameplates span{animation:shuffle-nameplate .16s ease-in-out infinite alternate}.pick-order.order-landed .order-nameplates span{animation:order-reveal .55s ease both}.pick-order.order-landed .order-nameplates span:nth-child(2n){animation-delay:.07s}.pick-order.order-landed .order-nameplates span:nth-child(3n){animation-delay:.14s}@keyframes shuffle-nameplate{to{transform:translateY(-3px);filter:brightness(1.25)}}@keyframes order-reveal{0%{transform:scale(.84);opacity:.45}65%{transform:scale(1.08);filter:brightness(1.5)}100%{transform:scale(1);opacity:1}}@keyframes current-player-pulse{50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 24%,transparent),0 0 30px color-mix(in srgb,var(--player-color) 68%,transparent)}}.viewer-mode .player-group-toggle{pointer-events:none;cursor:default}.viewer-mode .next-turn-button{display:none!important}

@media(max-width:900px){.pick-order{grid-template-columns:1fr auto}.order-heading{grid-column:1}.order-nameplates{grid-row:2;grid-column:1/-1}.order-actions{grid-column:2;grid-row:1}.add-player-form{grid-template-columns:minmax(0,1fr) auto}.add-player-form select{grid-row:2;grid-column:1}.add-player-form .primary-button{grid-row:1/3;grid-column:2}}

/* Full-width draft table with compact, inspectable team snapshots. */
.draft-layout{grid-template-columns:minmax(0,1fr)}
.draft-stage{min-height:0}
.draw-grid.empty{height:250px}
.draft-sidebar{min-height:0;display:grid;grid-template-columns:220px 230px minmax(410px,1fr);grid-template-areas:"heading stats add" "teams teams teams" "history history history";align-items:center;gap:12px 18px;padding:16px 18px;overflow:visible}
.draft-sidebar>.panel-heading{grid-area:heading}
.draft-sidebar>.session-stats{grid-area:stats;margin:0}
.draft-sidebar>.add-player-form{grid-area:add;margin:0;justify-self:end;width:min(100%,520px)}
.draft-sidebar>.team-list{grid-area:teams}
.draft-sidebar>.history-panel{grid-area:history}
.draft-sidebar .session-stats div{padding:8px 11px}
.draft-sidebar .session-stats b{font-size:19px}
.team-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:none;overflow:visible;padding:0}
.team-empty{grid-column:1/-1}
.draft-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px;overflow:visible}
.draft-group-heading{grid-column:1/-1;padding:0 2px 2px;font-size:11px}
.draft-group-heading b{font-size:12px}
.team-card{position:relative;min-width:0;min-height:99px;overflow:visible}
.team-card header{border-radius:8px 8px 0 0;background:#0b1222}
.team-picks{min-height:58px;display:flex;flex-flow:row wrap;align-content:flex-start;gap:4px;padding:7px;background:linear-gradient(135deg,color-mix(in srgb,var(--player-color) 7%,#09101e),#09101e);border-radius:0 0 8px 8px}
.team-picks .no-picks{width:100%;padding:13px 5px;color:#66738f!important;font-size:11px}
.team-pick-preview{position:relative;z-index:1;width:44px;height:44px;flex:0 0 auto;border:1px solid #2c3d5d;border-radius:9px;background:radial-gradient(circle at 50% 45%,#2a395b,#10182a 72%);outline:none;cursor:help}
.team-pick-preview:hover,.team-pick-preview:focus,.team-pick-preview:focus-within{z-index:80;border-color:var(--player-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--player-color) 30%,transparent)}
.team-pick-sprite{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;border-radius:8px}
.team-picks .team-pick-sprite img{width:42px;height:42px;object-fit:contain}
.team-pick-placeholder{display:grid!important;place-items:center;width:100%;height:100%;color:#8190ad;font-size:11px!important;font-weight:900;text-transform:uppercase}
.team-picks .team-pick-remove{position:absolute;z-index:3;top:-5px;right:-5px;width:17px;height:17px;display:grid;place-items:center;border:1px solid #704052;border-radius:50%;background:#1d1020;color:#ff9aac;padding:0;font-size:12px;line-height:1;opacity:0;transition:opacity .15s;cursor:pointer}
.team-pick-preview:hover .team-pick-remove,.team-pick-preview:focus-within .team-pick-remove{opacity:1}
.team-pick-popover{position:absolute;z-index:100;left:50%;bottom:calc(100% + 9px);width:250px;display:grid;grid-template-columns:94px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid color-mix(in srgb,var(--player-color) 45%,#415275);border-radius:13px;background:linear-gradient(145deg,#18243c,#0a1120);box-shadow:0 18px 45px rgba(0,0,0,.58);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,7px) scale(.97);transform-origin:50% 100%;transition:opacity .15s,transform .15s,visibility .15s}
.team-pick-preview:hover .team-pick-popover,.team-pick-preview:focus .team-pick-popover,.team-pick-preview:focus-within .team-pick-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.team-pick-popover-art{height:94px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(circle,#31436b,#10182a 70%)}
.team-picks .team-pick-popover-art img{width:92px;height:92px;object-fit:contain}
.team-pick-popover-copy{min-width:0}
.team-pick-popover-copy>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.team-pick-popover-copy .type-row{margin-top:6px}
.team-pick-popover-copy .resource-links{margin-top:8px;gap:5px}
.team-pick-popover-copy .resource-link{height:27px;padding:4px 6px;font-size:10px}
.team-pick-popover-copy .resource-link img{width:14px!important;height:14px!important}
.history-panel{margin-top:0}
.viewer-mode .team-pick-remove{display:none!important}

@media(max-width:1100px){.draft-sidebar{grid-template-columns:200px 210px minmax(330px,1fr)}.team-list{grid-template-columns:1fr}.draft-group{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:900px){.draw-grid.empty{height:280px}.draft-sidebar{display:flex;flex-direction:column;align-items:stretch}.draft-sidebar>.add-player-form{width:100%;justify-self:stretch}.team-list{display:grid}.draft-group{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.draft-group{grid-template-columns:repeat(2,minmax(0,1fr))}.team-pick-popover{position:fixed;left:50%;bottom:80px;transform:translate(-50%,7px) scale(.97)}.team-pick-preview:hover .team-pick-popover,.team-pick-preview:focus .team-pick-popover,.team-pick-preview:focus-within .team-pick-popover{transform:translate(-50%,0) scale(1)}}

/* Use wide desktop screens so a full eight-card deal stays on one row. */
main{width:min(1780px,100%)}
.draw-grid:not(.empty){grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media(max-width:900px){.draw-grid:not(.empty){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact controls for rerolls, drawing, and tier customization. */
.reroll-control{display:flex;align-items:center;gap:6px}.reroll-control select{height:39px;max-width:120px;padding:8px 9px;border-radius:9px;font-size:12px;font-weight:800}.reroll-control .ghost-button{white-space:nowrap}
.draw-controls{display:flex;align-items:center;gap:5px}.drawing-mode .app-header{z-index:1000;pointer-events:none}.drawing-mode .draw-controls{position:relative;z-index:1001;pointer-events:auto}.draw-close{border:1px solid color-mix(in srgb,var(--guest-color,#43d6ff) 55%,#41516e);border-radius:9px;background:#eef4ff;color:#08101f;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25)}.draw-close[hidden]{display:none}.draw-mode-chip{bottom:18px}.draw-mode-chip button{display:none}
.tier-label{grid-template-columns:minmax(0,1fr) auto auto auto auto}.tier-color-picker{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:rgba(0,0,0,.16);cursor:pointer;overflow:hidden}.tier-color-picker input{width:31px;height:31px;border:0;background:transparent;padding:0;cursor:pointer}.tier-color-picker input::-webkit-color-swatch-wrapper{padding:4px}.tier-color-picker input::-webkit-color-swatch{border:2px solid rgba(255,255,255,.72);border-radius:50%}.tier-color-picker input::-moz-color-swatch{border:2px solid rgba(255,255,255,.72);border-radius:50%}.tier-color-picker input:disabled{cursor:default;opacity:.75}
@media(max-width:900px){.reroll-control{flex:1}.reroll-control .ghost-button{flex:1}.draw-close{padding-inline:8px}.draw-mode-chip{bottom:14px}}

/* Linked guests can claim the current card themselves when their turn is active. */
.draft-ranked-card.guest-pickable{cursor:pointer!important;transition:transform .16s,border-color .16s,box-shadow .16s,filter .16s}
.draft-ranked-card.guest-pickable:hover,.draft-ranked-card.guest-pickable:focus-visible{transform:translateY(-3px);border-color:var(--pick-color);box-shadow:inset 0 5px var(--tier-color),0 0 0 3px color-mix(in srgb,var(--pick-color) 65%,transparent),0 0 30px color-mix(in srgb,var(--pick-color) 55%,transparent)}
.draft-ranked-card.claimed{border-color:var(--player-color);box-shadow:inset 0 5px var(--tier-color),0 0 0 3px color-mix(in srgb,var(--player-color) 62%,transparent),0 0 28px color-mix(in srgb,var(--player-color) 48%,transparent);animation:player-pick-glow .55s ease-out}
.draft-ranked-card.pending-pick{border-color:var(--pick-color);box-shadow:inset 0 5px var(--tier-color),0 0 0 4px var(--pick-color),0 0 34px color-mix(in srgb,var(--pick-color) 62%,transparent);filter:brightness(1.08)}
.pending-pick-action{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 9px;border-top:1px solid color-mix(in srgb,var(--pick-color) 48%,#263352);background:color-mix(in srgb,var(--pick-color) 13%,#080d19)}
.pending-pick-action span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--player-color);font-size:10px;font-weight:900}
.pending-pick-action button{flex:0 0 auto;border:0;border-radius:8px;background:var(--pick-color);color:#071019;padding:7px 11px;font-size:11px;font-weight:950;cursor:pointer;box-shadow:0 0 18px color-mix(in srgb,var(--pick-color) 50%,transparent)}
.pending-pick-action button:hover{filter:brightness(1.15);transform:translateY(-1px)}
@keyframes player-pick-glow{0%{transform:scale(.96);filter:brightness(1.7)}65%{transform:scale(1.025)}100%{transform:scale(1)}}

/* Active group emphasis and a compact unavailable-Pokémon rail. */
.draft-workspace{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px;align-items:start}
.draft-workspace .draw-grid:not(.empty){grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}
.draft-group-a{--group-accent:#43d6ff}.draft-group-b{--group-accent:#ff9f43}
.draft-group.active-draft-group{border-color:var(--group-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--group-accent) 18%,#09101f),#09101f 72%);box-shadow:0 0 0 3px color-mix(in srgb,var(--group-accent) 25%,transparent),0 0 34px color-mix(in srgb,var(--group-accent) 28%,transparent);animation:active-group-pulse 2.2s ease-in-out infinite}
.draft-group-heading strong{margin-left:auto;margin-right:8px;padding:4px 7px;border-radius:999px;background:var(--group-accent);color:#071019;font-size:9px;font-weight:950;letter-spacing:.08em;box-shadow:0 0 15px color-mix(in srgb,var(--group-accent) 58%,transparent)}
@keyframes active-group-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--group-accent) 34%,transparent),0 0 42px color-mix(in srgb,var(--group-accent) 38%,transparent)}}
.out-pool{position:sticky;top:90px;min-width:0;max-height:calc(100vh - 110px);display:flex;flex-direction:column;padding:14px;overflow:hidden}
.out-pool-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.out-pool-heading .eyebrow{margin-bottom:3px}.out-pool-heading h2{font-size:16px}.out-pool-heading>b{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:999px;background:#202d49;color:#dce7ff;font-size:11px}
.out-pool-grid{min-height:70px;display:grid;grid-template-columns:repeat(3,44px);align-content:start;justify-content:center;gap:7px;padding:12px 2px 4px;overflow-y:auto;scrollbar-width:thin}
.out-pool-empty{grid-column:1/-1;align-self:center;padding:16px 4px;color:#71809d;font-size:11px;text-align:center}
.out-pool-pick{width:44px;height:44px}.out-pool-pick img{width:42px;height:42px;object-fit:contain}.out-pool-owner{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border:2px solid #0b1222;border-radius:50%}
.out-pool-pick.admin-draggable{cursor:grab}.out-pool-pick.admin-draggable:active{cursor:grabbing}
.out-pool .team-pick-popover{position:fixed;left:auto;right:230px;bottom:38px;transform:translateY(7px) scale(.97);transform-origin:100% 100%}
.out-pool .team-pick-preview:hover .team-pick-popover,.out-pool .team-pick-preview:focus .team-pick-popover,.out-pool .team-pick-preview:focus-within .team-pick-popover{transform:translateY(0) scale(1)}
.out-pool .team-pick-popover-copy small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
@media(max-width:1100px){.draft-workspace{grid-template-columns:1fr}.out-pool{position:static;max-height:none}.out-pool-grid{grid-template-columns:repeat(auto-fill,44px);justify-content:start;max-height:180px}.out-pool .team-pick-popover{right:20px;bottom:20px}}

/* Let the teams panel rise directly under the deal while the pool rail owns the right column. */
.draft-layout{grid-template-columns:minmax(0,1fr) 210px;grid-template-areas:"stage pool" "teams pool";gap:14px;align-items:start}
.draft-workspace{display:contents}
.draft-stage{grid-area:stage}
.out-pool{grid-area:pool}
.draft-sidebar{grid-area:teams}
@media(max-width:1100px){.draft-layout{grid-template-columns:1fr;grid-template-areas:"stage" "teams" "pool"}.out-pool{position:static}.draft-workspace{display:contents}}

/* Resolution-stable two-column draft: deal and teams share one independent stack. */
.draft-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;grid-template-areas:none;gap:10px 14px;align-items:start}
.draft-main-column{min-width:0;display:flex;flex-direction:column;gap:8px}
.draft-stage,.draft-sidebar,.out-pool{grid-area:auto}
.out-pool{grid-column:2;grid-row:1}
@media(max-width:1100px){.draft-layout{grid-template-columns:1fr}.draft-main-column,.out-pool{grid-column:1;grid-row:auto}.draft-main-column{gap:8px}}

/* Mini Pokémon details open on click in a viewport-level panel, never inside a scrollbar. */
.team-pick-preview{cursor:pointer;transition:border-color .15s,box-shadow .15s,filter .15s}
.team-pick-preview:hover,.team-pick-preview:focus-visible{border-color:color-mix(in srgb,var(--player-color) 58%,#3b4b68);box-shadow:0 0 13px color-mix(in srgb,var(--player-color) 25%,transparent);filter:brightness(1.06)}
.mini-detail-popover{position:fixed;z-index:1200;width:245px;display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:center;padding:11px;border:1px solid color-mix(in srgb,var(--player-color) 50%,#415275);border-radius:13px;background:linear-gradient(145deg,#18243c,#0a1120);box-shadow:0 18px 48px rgba(0,0,0,.64),0 0 22px color-mix(in srgb,var(--player-color) 18%,transparent)}
.mini-detail-popover[hidden]{display:none}
.mini-detail-close{position:absolute;z-index:2;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;border:1px solid #465675;border-radius:7px;background:#0a1120;color:#cbd7ef;padding:0;font-size:17px;line-height:1;cursor:pointer}
.mini-detail-close:hover{border-color:#ff7088;color:#ff9bac}
.mini-detail-art{height:84px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(circle,#31436b,#10182a 70%);overflow:hidden}
.mini-detail-art img{width:82px;height:82px;object-fit:contain}.mini-detail-art .team-pick-placeholder{display:grid;place-items:center;width:100%;height:100%}
.mini-detail-copy{min-width:0;padding-right:16px}.mini-detail-copy>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.mini-detail-copy>small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.mini-detail-copy .type-row{margin-top:6px}.mini-detail-copy .resource-links{display:flex;gap:6px;margin-top:8px}.mini-detail-copy .resource-link{width:29px;height:29px;display:grid;place-items:center;padding:5px}.mini-detail-copy .resource-link img{width:17px!important;height:17px!important}.mini-detail-copy .resource-link span{display:none}
@media(max-width:600px){.mini-detail-popover{width:min(245px,calc(100vw - 20px))}}

/* The rail is sized to the draft stack in JS so browser zoom cannot separate their baselines. */
.draft-layout{align-items:start}
.draft-main-column{height:auto}
.out-pool{position:relative;top:auto;align-self:start;max-height:none;min-height:0;overflow:hidden}
.out-pool-grid{flex:1;min-height:0;height:auto;overflow-y:scroll;scrollbar-width:thin;scrollbar-color:#52698f #0a1120;scrollbar-gutter:stable}
.out-pool-grid::-webkit-scrollbar{width:9px}.out-pool-grid::-webkit-scrollbar-track{background:#0a1120;border-radius:10px}.out-pool-grid::-webkit-scrollbar-thumb{background:#52698f;border:2px solid #0a1120;border-radius:10px}
@media(max-width:1100px){.out-pool{height:auto!important}.out-pool-grid{height:auto;max-height:220px}}

/* Shiny pulls use their official alternate artwork and a restrained sparkle treatment. */
.shiny-badge{position:absolute;z-index:3;left:9px;bottom:8px;padding:4px 7px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:linear-gradient(135deg,#fff8a8,#8ff4ff 45%,#efa2ff);color:#151229;font-size:9px;font-weight:950;letter-spacing:.08em;box-shadow:0 0 16px rgba(190,239,255,.72)}
.pokemon-card.is-shiny{border-color:#b9f4ff;box-shadow:inset 0 5px var(--tier-color,#b9f4ff),0 0 0 1px rgba(255,241,153,.6),0 0 24px rgba(143,244,255,.28)}
.team-pick-preview.is-shiny{border-color:#b9f4ff;box-shadow:0 0 11px rgba(143,244,255,.42)}
.mini-shiny{position:absolute;z-index:3;left:-2px;top:-3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#fff3a1;color:#604a00;font-size:9px;font-style:normal;box-shadow:0 0 9px #8ff4ff}
.popover-shiny{color:#fff09a;font-size:.7em;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 0 9px rgba(143,244,255,.55)}

/* Neutral card surfaces keep the tier badge as the sole ranking indicator. */
.draft-ranked-card{background:radial-gradient(circle at 50% 40%,#273657 0,#121a2e 67%);box-shadow:0 12px 24px rgba(0,0,0,.22)}
.draft-ranked-card .art{background:transparent}
.draft-ranked-card .card-footer{background:rgba(7,11,21,.62)}
.draft-ranked-card.guest-pickable:hover,.draft-ranked-card.guest-pickable:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--pick-color) 65%,transparent),0 0 30px color-mix(in srgb,var(--pick-color) 55%,transparent)}
.draft-ranked-card.claimed{box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 62%,transparent),0 0 28px color-mix(in srgb,var(--player-color) 48%,transparent)}
.draft-ranked-card.pending-pick{box-shadow:0 0 0 4px var(--pick-color),0 0 34px color-mix(in srgb,var(--pick-color) 62%,transparent)}
.draft-ranked-card.is-shiny{box-shadow:0 0 0 1px rgba(255,241,153,.6),0 0 24px rgba(143,244,255,.28)}
.draft-ranked-card.is-shiny.claimed{box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 62%,transparent),0 0 28px color-mix(in srgb,var(--player-color) 48%,transparent),0 0 38px rgba(143,244,255,.2)}

/* A browser-owned profile lives beside the brand; joining a draft is a separate one-time choice. */
.brand-profile{min-width:0;display:flex;align-items:center;gap:16px}
.profile-form{min-width:330px;display:grid;grid-template-columns:minmax(110px,170px) 38px auto;align-items:center;gap:6px}
.profile-form>input[type="text"]{min-width:0;height:38px;border:1px solid var(--line);border-radius:9px;background:#0a1020;color:var(--ink);padding:8px 10px;font:inherit;font-size:12px;outline:0}
.profile-form>input[type="text"]:focus{border-color:#52698f;box-shadow:0 0 0 2px rgba(67,214,255,.12)}
.profile-color{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#0a1020;overflow:hidden;cursor:pointer}
.profile-color input{width:43px;height:43px;border:0;background:transparent;padding:4px;cursor:pointer}
.profile-color input::-webkit-color-swatch-wrapper{padding:2px}.profile-color input::-webkit-color-swatch{border:2px solid rgba(255,255,255,.72);border-radius:50%}.profile-color input::-moz-color-swatch{border:2px solid rgba(255,255,255,.72);border-radius:50%}
.profile-form button{height:38px;border:1px solid #354866;border-radius:9px;background:#121c31;color:var(--ink);padding:0 10px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.profile-form button:hover{border-color:#5d7296;background:#192641}
.add-player-form{grid-template-columns:minmax(150px,220px) auto}
.draft-sidebar>.add-player-form{width:auto;min-width:300px}
.team-card[draggable="true"]{cursor:grab}.team-card[draggable="true"]:active{cursor:grabbing}
.team-card header{grid-template-columns:minmax(0,1fr) auto auto auto}
.draft-group[data-group-drop]{transition:border-color .15s,background .15s,box-shadow .15s}
.draft-group[data-group-drop].drag-over{border-color:var(--group-accent);background:color-mix(in srgb,var(--group-accent) 14%,#09101f);box-shadow:0 0 0 3px color-mix(in srgb,var(--group-accent) 30%,transparent)}
.draft-group>.group-empty{grid-column:1/-1}

@media(max-width:1500px){
  .app-header{padding-inline:16px}.brand-profile{gap:10px}.profile-form{min-width:278px;grid-template-columns:minmax(100px,145px) 36px auto}.profile-form button{padding-inline:8px}.dex-progress{display:none}
}
@media(max-width:1180px){
  .app-header{height:auto;min-height:76px;grid-template-columns:minmax(0,1fr) auto;padding-block:10px;gap:10px}.primary-nav{grid-row:2;grid-column:1/-1;width:100%}.nav-button{flex:1}.header-actions .ghost-button{display:none}
}
@media(max-width:760px){
  .brand-profile{width:100%;flex-wrap:wrap}.brand{flex:1}.profile-form{width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 38px auto}.header-actions{align-self:start}.header-actions .sync-status,.header-actions .admin-sign-in{display:none}.draft-sidebar>.add-player-form{width:100%;min-width:0}.add-player-form{grid-template-columns:minmax(0,1fr) auto}.add-player-form select,.add-player-form .primary-button{grid-row:auto;grid-column:auto}
}

/* Guests can see unavailable admin actions, choose a color, and search the unavailable rail. */
button:disabled,input:disabled,select:disabled{opacity:.42;filter:saturate(.25);cursor:not-allowed!important}
.switch-label:has(input:disabled){opacity:.42;filter:saturate(.25);cursor:not-allowed;pointer-events:none}
.viewer-mode .saved-setups{opacity:1;filter:none}
.viewer-mode .next-turn-button{display:inline-block!important;opacity:.42;filter:saturate(.25);pointer-events:none}
.add-player-form{grid-template-columns:minmax(0,1fr) 38px auto auto}
.player-color-picker{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#0a1020;overflow:hidden;cursor:pointer}
.add-player-form .player-color-picker input{width:42px;height:42px;min-width:0;border:0;background:transparent;padding:4px;cursor:pointer}
.player-color-picker input::-webkit-color-swatch-wrapper{padding:2px}.player-color-picker input::-webkit-color-swatch{border:2px solid rgba(255,255,255,.72);border-radius:50%}.player-color-picker input::-moz-color-swatch{border:2px solid rgba(255,255,255,.72);border-radius:50%}
.out-pool-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding-top:10px}
.out-pool-search{min-width:0;display:flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:#0a1020;padding-left:7px;color:var(--muted)}
.out-pool-search input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);padding:7px 5px;font-size:11px;outline:0}
.out-pool-search:focus-within{border-color:#52698f;box-shadow:0 0 0 2px rgba(67,214,255,.12)}
.out-pool-tools select{max-width:74px;padding:7px 5px;border-radius:8px;font-size:10px;font-weight:800}
@media(max-width:900px){.add-player-form{grid-template-columns:minmax(0,1fr) 38px auto}.add-player-form .player-color-picker{grid-row:1;grid-column:2}.add-player-form select{grid-row:2;grid-column:1/3}.add-player-form .primary-button{grid-row:1/3;grid-column:3}}

/* Final join-form layout: profile color belongs in the header, not beside Join. */
.add-player-form{grid-template-columns:minmax(150px,220px) auto}
.draft-sidebar>.add-player-form{width:auto;min-width:300px}
@media(max-width:900px){
  .add-player-form{grid-template-columns:minmax(0,1fr) auto}
  .add-player-form select,.add-player-form .primary-button{grid-row:auto;grid-column:auto}
  .draft-sidebar>.add-player-form{width:100%;min-width:0}
}

/* Turn guidance and shared countdowns. */
.your-turn-banner{margin-left:auto;margin-right:18px;display:flex;align-items:center;gap:11px;padding:10px 18px;border:1px solid var(--player-color,#43d6ff);border-radius:13px;background:linear-gradient(135deg,color-mix(in srgb,var(--player-color,#43d6ff) 24%,#111a30),#0c1324);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color,#43d6ff) 15%,transparent),0 0 30px color-mix(in srgb,var(--player-color,#43d6ff) 30%,transparent);animation:your-turn-pulse 1.35s ease-in-out infinite}
.your-turn-banner[hidden]{display:none}.your-turn-banner span{color:var(--player-color,#43d6ff);font-size:25px;font-weight:1000;letter-spacing:.05em;line-height:1}.your-turn-banner small{max-width:72px;color:#cdd8ef;font-size:10px;font-weight:850;line-height:1.2;text-transform:uppercase;letter-spacing:.06em}
@keyframes your-turn-pulse{50%{transform:scale(1.025);box-shadow:0 0 0 4px color-mix(in srgb,var(--player-color,#43d6ff) 22%,transparent),0 0 42px color-mix(in srgb,var(--player-color,#43d6ff) 42%,transparent)}}
.turn-timer-control{display:flex;align-items:center;gap:7px;padding:5px 6px 5px 9px;border:1px solid var(--line);border-radius:11px;background:#0b1222}.turn-timer-control .switch-label{white-space:nowrap}.timer-seconds{gap:4px!important}.timer-seconds input{width:58px;height:31px;border:1px solid #354563;border-radius:8px;background:#080e1d;color:var(--ink);padding:5px 6px;text-align:right;font-size:12px;font-weight:850}.timer-seconds span{font-size:10px;color:#8090ae}
.order-heading .up-now{display:flex;align-items:center;gap:8px}.turn-countdown{min-width:47px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--group-accent,#43d6ff) 58%,#42516d);border-radius:999px;background:#08101e;color:#eaf2ff;font-variant-numeric:tabular-nums;text-align:center;font-size:12px;font-weight:950;box-shadow:0 0 12px color-mix(in srgb,var(--group-accent,#43d6ff) 20%,transparent)}.turn-countdown.urgent{border-color:#ff6d7f;color:#ff91a0;animation:timer-urgent .7s ease-in-out infinite}
@keyframes timer-urgent{50%{background:#3a101d;box-shadow:0 0 20px rgba(255,93,115,.42)}}
.draft-ranked-card.timeout-highlight{z-index:7;border-color:var(--pick-color)!important;transform:translateY(-5px) scale(1.025);filter:brightness(1.16);box-shadow:0 0 0 4px var(--pick-color),0 0 42px color-mix(in srgb,var(--pick-color) 72%,transparent)!important;transition:transform .08s,border-color .08s,box-shadow .08s,filter .08s}
@media(max-width:800px){.view-heading:has(.your-turn-banner){align-items:center;flex-wrap:wrap}.your-turn-banner{order:3;width:100%;justify-content:center;margin:0}.turn-timer-control{width:100%;justify-content:space-between}}

/* Version 47: formats combine reusable rules, tiers, and the legal Pokémon pool. */
.pick-order .order-nameplates span.current-turn em{font-size:22px;line-height:1;font-weight:1000;letter-spacing:-.02em}
.pick-order .order-nameplates span.current-turn{padding-right:11px}
.format-pool-section{margin-top:8px;padding-top:20px;border-top:1px solid rgba(112,134,184,.22)}
.format-pool-heading{align-items:center;margin-bottom:14px}
.format-pool-heading h2{font-size:28px}
.unranked-dropbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin:0 0 12px;padding:10px 14px;border:1px dashed #415578;border-radius:12px;background:#0a1020;color:var(--muted);font-size:12px}
.unranked-dropbar b{flex:0 0 auto;border-radius:999px;background:#19253d;color:#dfe8ff;padding:5px 9px;font-size:11px}
.roster-card[draggable="true"]{cursor:grab}.roster-card[draggable="true"]:active{cursor:grabbing}
.roster-card .roster-meta b{color:var(--roster-tier);font-weight:900}
.saved-setups{border-color:#34466a;background:linear-gradient(145deg,rgba(24,36,64,.98),rgba(13,19,35,.98))}
@media(max-width:600px){.pick-order .order-nameplates span.current-turn em{font-size:18px}.format-pool-heading h2{font-size:23px}.unranked-dropbar{align-items:flex-start;flex-direction:column;gap:7px}}

/* Click-to-categorize menu for Format cards. */
.tier-item.format-card-selected,.roster-card.format-card-selected{position:relative;z-index:3;border-color:var(--cyan);background:#13233c;box-shadow:0 0 0 3px rgba(67,214,255,.24),0 0 24px rgba(67,214,255,.22);transform:translateY(-2px)}
.tier-assign-popover{position:fixed;z-index:220;width:max-content;max-width:calc(100vw - 16px);padding:10px;border:1px solid #52698f;border-radius:12px;background:rgba(8,14,28,.98);box-shadow:0 18px 46px rgba(0,0,0,.52),0 0 0 3px rgba(67,214,255,.1);backdrop-filter:blur(15px)}
.tier-assign-popover[hidden]{display:none}.tier-assign-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:8px}.tier-assign-heading b{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.tier-assign-heading span{color:var(--muted);font-size:11px}
.tier-assign-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tier-assign-options button{min-width:35px;height:34px;border:1px solid color-mix(in srgb,var(--quick-tier,#526386) 70%,#273651);border-radius:8px;background:color-mix(in srgb,var(--quick-tier,#526386) 22%,#10192c);color:#f5f7ff;padding:0 10px;font-size:12px;font-weight:950;cursor:pointer}.tier-assign-options button:hover,.tier-assign-options button.active{background:var(--quick-tier);color:#070b14;box-shadow:0 0 14px color-mix(in srgb,var(--quick-tier) 48%,transparent)}.tier-assign-options .quick-unrank{display:flex;align-items:center;gap:5px;border-color:#764052;background:#28121c;color:#ff91a0}.tier-assign-options .quick-unrank:hover{background:#ff5d73;color:#090d1a}.quick-unrank b{font-size:18px;line-height:1}

/* Version 49: compact point-tier columns with image-only Pokémon tiles. */
.tier-board{grid-auto-columns:124px;gap:8px;align-items:stretch}
.tier-column{min-height:500px;border-radius:10px;overflow:hidden}
.tier-label{position:relative;height:92px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(36px,1fr) 31px;grid-template-areas:"name delete" "weight count";gap:5px 7px;padding:7px 7px 8px 9px;border-top-width:3px;cursor:grab;user-select:none}
.tier-label:active{cursor:grabbing}.tier-name{grid-area:name;align-self:start;font-size:31px;line-height:1;font-weight:1000;letter-spacing:-.05em}.tier-label .delete-tier{grid-area:delete;width:32px;height:32px;border-radius:8px;font-size:18px}.tier-weight{grid-area:weight;justify-self:start;height:31px;padding:3px 5px;background:rgba(255,255,255,.2);font-size:11px}.tier-weight input{width:40px;height:25px;font-size:12px}.tier-count{grid-area:count;align-self:center;min-width:29px;padding:5px 6px;font-size:12px}.tier-color-input{position:absolute;width:1px;height:1px;left:50%;bottom:1px;opacity:0;pointer-events:none}
.tier-column .tier-dropzone{min-height:405px;align-items:center;gap:7px;padding:10px 6px}
.tier-item{width:62px;height:62px;display:grid;place-items:center;grid-template-columns:none;flex:0 0 auto;padding:3px;border-radius:9px;background:#0b1426;cursor:grab}.tier-item .mini-art{width:56px;height:56px;background:radial-gradient(circle,#293b60,transparent 68%)}.tier-item:hover{background:#14213a}.viewer-mode .tier-item{cursor:pointer}.tier-column-dragging{opacity:.42;filter:saturate(.55)}.tier-column.drag-over{outline:3px solid var(--cyan);outline-offset:-3px;box-shadow:0 0 22px rgba(67,214,255,.28)}
@media(max-width:600px){.tier-board{grid-auto-columns:108px}.tier-label{height:86px}.tier-name{font-size:27px}.tier-item{width:56px;height:56px}.tier-item .mini-art{width:50px;height:50px}}

/* Version 53: account-owned formats and code-based draft rooms. */
.draft-lobby{min-height:430px;display:grid;place-items:center;align-content:center;gap:32px;padding:44px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(67,214,255,.12),transparent 52%),linear-gradient(145deg,#121c33,#0c1325)}
.draft-lobby[hidden],.draft-layout[hidden],.draft-room-actions[hidden],.pool-chip[hidden]{display:none!important}
.draft-lobby-copy{max-width:620px}.draft-lobby-copy h2{font-size:clamp(27px,4vw,42px);margin-bottom:10px}.draft-lobby-copy p{max-width:540px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.55}
.draft-lobby-options{width:min(760px,100%);display:grid;grid-template-columns:1fr 1fr;gap:14px}.lobby-action{min-height:104px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:18px 22px;text-align:left}.lobby-action b{font-size:20px}.lobby-action span{font-size:13px;opacity:.78}.join-draft-form{display:grid;grid-template-columns:minmax(118px,.7fr) 1fr;gap:8px}.join-draft-form input{min-width:0;border:1px solid #3b4d70;border-radius:12px;background:#080e1c;color:var(--ink);padding:14px;text-align:center;font-size:19px;font-weight:900;letter-spacing:.14em}.draft-login-note{margin:0;color:#ffcf6b;font-size:13px;font-weight:750}
.draft-room-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.room-code-chip{display:flex;align-items:center;gap:7px;border:1px solid #415779;border-radius:11px;background:#0b1324;color:#91a2c4;padding:8px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.room-code-chip b{color:var(--ink);font-size:17px;letter-spacing:.12em}.draft-room-actions .text-button{color:#9eacca}
.format-picker-dialog{width:min(650px,calc(100vw - 28px));padding:0;border:1px solid #3a4e73;border-radius:17px;background:#10182b;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.72)}.format-picker-dialog::backdrop{background:rgba(3,6,14,.76);backdrop-filter:blur(5px)}.format-picker-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:25px}.format-picker-card h2{font-size:27px}.format-picker-card>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.45}.format-picker-list{max-height:430px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.format-picker-list>button{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #2f4163;border-radius:11px;background:#0b1324;color:var(--ink);padding:12px 13px;text-align:left;cursor:pointer}.format-picker-list>button:hover{border-color:var(--cyan);background:#12213a}.format-picker-list span{min-width:0}.format-picker-list b,.format-picker-list small{display:block}.format-picker-list b{font-size:14px}.format-picker-list small{margin-top:3px;color:var(--muted);font-size:11px}.format-picker-list em{border-radius:8px;background:#263758;color:#dce7ff;padding:7px 10px;font-style:normal;font-size:11px;font-weight:900}
@media(max-width:800px){.draft-room-actions{width:100%;margin:0;flex-wrap:wrap}.draft-lobby{min-height:380px;padding:28px 16px}.draft-lobby-options{grid-template-columns:1fr}.join-draft-form{grid-template-columns:1fr}.join-draft-form input{min-height:56px}.lobby-action{min-height:86px}.room-code-chip{margin-right:auto}}

/* Version 55: room-code and long-account-name cleanup. */
.draft-lobby-options{width:min(940px,100%);grid-template-columns:minmax(310px,1fr) minmax(470px,1.35fr)}
.join-draft-form{grid-template-columns:minmax(205px,.9fr) minmax(230px,1fr)}
.join-draft-form input{font-size:16px;letter-spacing:.06em;padding-inline:12px}
.team-card header{grid-template-columns:minmax(0,1fr) auto auto}
.team-card .rename-player{align-items:flex-start;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;overflow-wrap:anywhere}
.pick-order .order-nameplates em{max-width:260px;white-space:normal;overflow-wrap:anywhere;line-height:1.05}
.pick-order .order-nameplates span.current-turn em{font-size:clamp(16px,1.4vw,22px)}
.order-heading{max-width:280px;white-space:normal}.order-heading strong{overflow-wrap:anywhere;line-height:1.2}
.account-button{max-width:220px}
@media(max-width:800px){.draft-lobby-options{grid-template-columns:1fr}.join-draft-form{grid-template-columns:minmax(170px,.8fr) minmax(190px,1fr)}}
@media(max-width:520px){.join-draft-form{grid-template-columns:1fr}.pick-order .order-nameplates em{max-width:210px}}

/* Version 56: community chat, player directory, favorites, and moderation. */
.chat-panel{position:fixed;z-index:44;top:88px;right:14px;bottom:14px;width:334px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid #314466;border-radius:17px;background:linear-gradient(165deg,rgba(18,28,50,.98),rgba(8,13,25,.99));box-shadow:0 22px 60px rgba(0,0,0,.48);overflow:hidden;transform:translateX(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .18s ease}.chat-open .chat-panel{transform:none;opacity:1;pointer-events:auto}.chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto 31px;align-items:center;gap:8px;padding:14px 12px 10px 15px}.chat-header .eyebrow{margin-bottom:2px}.chat-header h2{font-size:20px}.chat-people-button{display:flex;align-items:center;gap:4px;border:1px solid #304765;border-radius:999px;background:#0a1724;color:#9fb0cc;padding:6px 9px;font-size:11px;font-weight:800;cursor:pointer}.chat-people-button>span{color:#58e0a1;font-size:9px;text-shadow:0 0 8px #58e0a1}.chat-people-button:hover{border-color:#58e0a1;color:#eaf3ff}.chat-collapse{width:31px;height:31px;border:0;border-radius:8px;background:#18233a;color:#adbad3;font-size:20px;cursor:pointer}.chat-tabs{display:grid;grid-template-columns:1fr 1fr;margin:0 12px;padding:4px;border:1px solid #273957;border-radius:11px;background:#080f1d}.chat-tabs button{border:0;border-radius:8px;background:transparent;color:#8290ad;padding:8px;font-size:12px;font-weight:900;cursor:pointer}.chat-tabs button.active{background:#1a2945;color:#f5f7ff;box-shadow:inset 0 -2px var(--chat-accent,var(--cyan))}.chat-tabs button:disabled{opacity:.35}.chat-messages{min-height:0;display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:8px 13px 14px;overflow-y:auto;scrollbar-color:#42587d transparent}.chat-empty{margin:auto;padding:24px 14px;color:#71809e;text-align:center;font-size:13px;line-height:1.5}.chat-message{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:start}.chat-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--user-color) 65%,#354563);border-radius:9px;background:color-mix(in srgb,var(--user-color) 16%,#10182b);overflow:hidden;color:var(--user-color);font-size:12px;font-weight:950;cursor:pointer}.chat-avatar img{width:28px;height:28px;object-fit:contain}.chat-message-content{min-width:0}.chat-message-heading{display:flex;align-items:baseline;gap:7px}.chat-username{min-width:0;border:0;background:transparent;color:var(--user-color);padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:12px;font-weight:950;cursor:pointer}.chat-username:hover{text-decoration:underline}.chat-message time{flex:0 0 auto;color:#62708b;font-size:9px}.chat-message p{margin:2px 0 0;color:#dce5f7;font-size:13px;line-height:1.42;overflow-wrap:anywhere}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:11px;border-top:1px solid #263654;background:#0a1020}.chat-form textarea{min-width:0;max-height:100px;resize:none;border:1px solid #314466;border-radius:10px;background:#070d1a;color:#eef3ff;padding:9px 10px;font:inherit;font-size:13px;line-height:1.3;outline:0}.chat-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(67,214,255,.12)}.chat-form .primary-button{align-self:stretch;padding:8px 11px;font-size:12px}.chat-launch{position:fixed;z-index:45;right:17px;bottom:17px;display:flex;align-items:center;gap:7px;border:1px solid #496187;border-radius:999px;background:#16243d;color:#f4f7ff;padding:11px 15px;box-shadow:0 14px 36px rgba(0,0,0,.46);cursor:pointer}.chat-open .chat-launch{display:none}.chat-launch i{min-width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:#ff5d73;color:white;font-size:10px;font-style:normal}.chat-launch i[hidden]{display:none}
@media(min-width:1101px){body.chat-open main{width:min(1500px,calc(100% - 380px));margin-left:auto;margin-right:360px}}
@media(max-width:1100px){.chat-panel{top:82px;right:10px;bottom:10px;width:min(370px,calc(100vw - 20px));z-index:70}}
@media(max-width:520px){.chat-panel{inset:70px 0 0;width:100%;border-radius:0;border-inline:0;border-bottom:0}.chat-form{padding-bottom:max(11px,env(safe-area-inset-bottom))}}

.community-dialog,.profile-dialog{padding:0;border:1px solid #34496c;border-radius:18px;background:#10182b;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.72)}.community-dialog::backdrop,.profile-dialog::backdrop{background:rgba(3,6,14,.76);backdrop-filter:blur(5px)}.community-dialog{width:min(620px,calc(100vw - 26px))}.community-dialog-card,.user-profile-card{position:relative;padding:24px}.community-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.community-title-row h2{font-size:28px}.community-title-row>span{display:flex;align-items:center;gap:5px;color:#aab7d0;font-size:12px}.community-title-row i{width:8px;height:8px;border-radius:50%;background:#58e0a1;box-shadow:0 0 10px #58e0a1}.community-search{display:flex;align-items:center;gap:6px;border:1px solid #314466;border-radius:10px;background:#080f1d;padding-left:10px;color:#7e8ba8}.community-search input{width:100%;border:0;background:transparent;color:var(--ink);padding:10px 8px;outline:0}.community-list{max-height:min(560px,65vh);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;overflow-y:auto}.community-user{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #283a59;border-radius:11px;background:#0b1324;color:var(--ink);padding:8px;text-align:left;cursor:pointer}.community-user:hover{border-color:var(--user-color);background:color-mix(in srgb,var(--user-color) 9%,#0b1324)}.community-user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--user-color) 18%,#16213a);color:var(--user-color);font-weight:950}.community-user-avatar img{width:32px;height:32px;object-fit:contain}.community-user b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--user-color);font-size:13px}.community-user small{color:#66738f;font-size:10px}.community-user.online small{color:#79deb0}.community-empty{grid-column:1/-1;padding:35px;color:#71809e;text-align:center}
.profile-dialog{width:min(430px,calc(100vw - 26px))}.profile-identity{display:flex;align-items:center;gap:11px;padding-right:36px}.profile-identity>i{width:15px;height:15px;border-radius:50%;background:var(--profile-color,#43d6ff);box-shadow:0 0 14px var(--profile-color,#43d6ff)}.profile-identity .eyebrow{margin:0}.profile-identity h2{max-width:320px;margin-top:3px;color:var(--profile-color,#f5f7ff);font-size:25px;overflow-wrap:anywhere}.favorite-display{min-height:94px;display:flex;align-items:center;gap:13px;margin-top:19px;border:1px solid #2c3f60;border-radius:13px;background:linear-gradient(145deg,#111d33,#0b1222);padding:12px}.favorite-display>img{width:72px;height:72px;object-fit:contain}.favorite-star{width:54px;height:54px;display:grid;place-items:center;color:#ffd447;font-size:36px;text-shadow:0 0 15px rgba(255,212,71,.45)}.favorite-display small{color:#7f8eaa;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.favorite-display p{margin:4px 0 0;font-size:16px;font-weight:900}.favorite-editor{margin-top:12px}.favorite-editor label>span{display:block;margin-bottom:6px;color:#ffd447;font-size:12px;font-weight:900}.favorite-editor input{width:100%;border:1px solid #334765;border-radius:9px;background:#080f1d;color:var(--ink);padding:9px 10px}.favorite-results{max-height:175px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:8px;overflow-y:auto}.favorite-option{aspect-ratio:1;border:1px solid #293b5b;border-radius:8px;background:#0a1325;padding:3px;cursor:pointer}.favorite-option:hover{border-color:#ffd447;background:#17223b}.favorite-option img{width:100%;height:100%;object-fit:contain}.moderator-editor{margin-top:15px;padding-top:13px;border-top:1px solid #2a3b59}.moderator-heading{display:flex;align-items:center;justify-content:space-between}.moderator-heading b{color:#ffb56c;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.moderator-heading button{border:1px solid #3b4e70;border-radius:8px;background:#16223a;color:#e2e9f8;padding:6px 9px;font-size:11px;font-weight:850;cursor:pointer}.moderator-editor form{margin-top:10px}.moderator-editor form label{display:flex;flex-direction:column;gap:5px;color:#9eabc3;font-size:11px;font-weight:850}.moderator-editor form input{border:1px solid #354867;border-radius:9px;background:#080f1d;color:var(--ink);padding:9px}.moderator-editor form>div{display:flex;justify-content:space-between;gap:8px;margin-top:9px}.profile-feedback{margin:12px 0 0;border-radius:8px;background:#25151d;color:#ff9caf;padding:8px 9px;font-size:12px}.profile-feedback[hidden]{display:none}
.favorite-display.editable{cursor:pointer}.favorite-display.editable:hover{border-color:#ffd447;box-shadow:0 0 0 2px rgba(255,212,71,.12)}
@media(max-width:520px){.community-list{grid-template-columns:1fr}.community-dialog-card,.user-profile-card{padding:20px 16px}.favorite-results{grid-template-columns:repeat(4,1fr)}}

/* Version 57: one profile editor, uploaded avatars, and anchored chat profiles. */
.edit-profile-button{height:36px;display:flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--account-color,#43d6ff) 58%,#354563);border-radius:9px;background:color-mix(in srgb,var(--account-color,#43d6ff) 11%,#10182b);color:#e8efff;padding:0 11px;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}.edit-profile-button[hidden]{display:none}.edit-profile-button span{color:var(--account-color,#43d6ff);font-size:15px}.edit-profile-button:hover{border-color:var(--account-color,#43d6ff);background:color-mix(in srgb,var(--account-color,#43d6ff) 17%,#10182b)}
.profile-popover{position:fixed;z-index:130;width:min(360px,calc(100vw - 20px));max-height:calc(100vh - 92px);border:1px solid #435a82;border-radius:15px;background:rgba(13,21,38,.98);color:var(--ink);box-shadow:0 20px 56px rgba(0,0,0,.62),0 0 0 3px rgba(67,214,255,.08);overflow-y:auto;backdrop-filter:blur(16px)}.profile-popover[hidden]{display:none}.profile-popover .user-profile-card{padding:18px}.profile-picture,.edit-photo-preview{flex:0 0 auto;width:52px;height:52px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--profile-color,#43d6ff) 58%,#405270);border-radius:11px;background:color-mix(in srgb,var(--profile-color,#43d6ff) 13%,#131e34);overflow:hidden;color:var(--profile-color,#43d6ff);font-size:20px;font-weight:950}.profile-picture img,.edit-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-identity{align-items:center}.profile-identity h2{font-size:21px}.profile-popover .favorite-display{min-height:78px;margin-top:13px;padding:9px}.profile-popover .favorite-display>img{width:58px;height:58px}.profile-popover .favorite-star{width:42px;height:42px;font-size:29px}
.avatar-initial{display:grid;place-items:center;width:100%;height:100%;font-weight:950}.chat-avatar>img{width:100%;height:100%;object-fit:cover}.community-user-avatar>img{width:100%;height:100%;object-fit:cover}.chat-avatar .avatar-initial,.community-user-avatar .avatar-initial{color:var(--user-color)}
.edit-profile-dialog{width:min(490px,calc(100vw - 24px));padding:0;border:1px solid #3a4f74;border-radius:18px;background:#10182b;color:var(--ink);box-shadow:0 28px 80px rgba(0,0,0,.74)}.edit-profile-dialog::backdrop{background:rgba(3,6,14,.76);backdrop-filter:blur(5px)}.edit-profile-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:24px}.edit-profile-card h2{font-size:27px}.edit-photo-row{display:grid;grid-template-columns:62px auto;grid-template-rows:auto auto;align-items:center;gap:4px 12px;padding:11px;border:1px solid #2f4263;border-radius:13px;background:#0b1324}.edit-photo-preview{grid-row:1/3;width:62px;height:62px;--profile-color:var(--account-color,#43d6ff)}.photo-upload-button{justify-self:start;border:1px solid #40567c;border-radius:8px;background:#17233b;color:#e7edfa;padding:7px 10px;font-size:12px;font-weight:900;cursor:pointer}.photo-upload-button:hover{border-color:var(--cyan)}.edit-photo-row small{color:#7f8ca7;font-size:10px}.edit-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c7d2e8;font-size:13px;font-weight:850}.edit-color-row input{width:54px;height:38px;border:1px solid #3a4e70;border-radius:9px;background:#0a1020;padding:3px;cursor:pointer}.edit-favorite-section{padding-top:12px;border-top:1px solid #2b3c5b}.edit-favorite-section>label>span{display:block;margin-bottom:6px;color:#ffd447;font-size:12px;font-weight:900}.edit-favorite-section input{width:100%;border:1px solid #344867;border-radius:9px;background:#080f1d;color:var(--ink);padding:9px 10px}.selected-favorite{min-height:54px;display:flex;align-items:center;gap:9px;margin-top:8px;border:1px solid #2d3f60;border-radius:10px;background:#0b1324;padding:6px 9px}.selected-favorite img{width:45px;height:45px;object-fit:contain}.selected-favorite .favorite-star{width:42px;height:42px;font-size:27px}.selected-favorite small,.selected-favorite b{display:block}.selected-favorite small{color:#7887a4;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.selected-favorite b{margin-top:2px;font-size:13px}.edit-profile-card .favorite-results{max-height:154px}.favorite-option.selected{border-color:#ffd447;background:#2b2735;box-shadow:0 0 0 2px rgba(255,212,71,.18)}
@media(max-width:760px){.brand-profile{gap:8px}.edit-profile-button{padding-inline:9px}.profile-popover{max-height:calc(100vh - 76px)}}

/* Version 58: curated Pokémon Card GB2 profile sprites. */
.edit-avatar-section{display:flex;flex-direction:column;gap:8px}.edit-avatar-section .edit-photo-row{grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto}.edit-avatar-section .edit-photo-preview{grid-row:auto}.edit-photo-row>div{min-width:0}.edit-photo-row b,.edit-photo-row small{display:block}.edit-photo-row b{font-size:13px}.edit-photo-row small{margin-top:4px;color:#7f8ca7;font-size:10px}.avatar-search{display:flex;align-items:center;gap:5px;border:1px solid #344867;border-radius:9px;background:#080f1d;color:#7585a3;padding-left:9px}.avatar-search input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);padding:9px 9px 9px 3px;outline:0}.avatar-search:focus-within{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(67,214,255,.11)}.avatar-results{max-height:210px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:3px;overflow-y:auto}.avatar-option{min-width:0;aspect-ratio:1;border:1px solid #2c3e5e;border-radius:9px;background:#091225;padding:3px;cursor:pointer;overflow:hidden}.avatar-option:hover{border-color:var(--account-color,#43d6ff);background:color-mix(in srgb,var(--account-color,#43d6ff) 12%,#091225)}.avatar-option.selected{border-color:var(--account-color,#43d6ff);background:color-mix(in srgb,var(--account-color,#43d6ff) 19%,#091225);box-shadow:0 0 0 2px color-mix(in srgb,var(--account-color,#43d6ff) 28%,transparent)}.avatar-option img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.avatar-credit{align-self:flex-end;color:#7183a3;font-size:10px;text-decoration:none}.avatar-credit:hover{color:#a8bad8;text-decoration:underline}.profile-picture img,.chat-avatar>img,.community-user-avatar>img{image-rendering:pixelated;object-fit:cover;background:#0b1426}
@media(max-width:520px){.avatar-results{grid-template-columns:repeat(5,minmax(0,1fr));max-height:190px}}

/* Version 60: let GB2 card art bleed beneath the rounded avatar frame. */
.profile-picture img,.edit-photo-preview img,.chat-avatar>img,.community-user-avatar>img{transform:scale(1.38);transform-origin:center}
.community-user-avatar{overflow:hidden}

/* Version 61: keep the full GB2 avatar library as real square picker tiles. */
.avatar-results{grid-auto-rows:72px}
.avatar-option{display:block;width:100%;height:72px;aspect-ratio:auto}
@media(max-width:520px){.avatar-results{grid-auto-rows:62px}.avatar-option{height:62px}}
