.player-order-panel{min-width:0;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:padding var(--transition-normal),box-shadow var(--transition-normal)}
.player-order-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm);padding-inline:var(--space-sm)}
.player-order-panel__heading h2{font-size:.92rem}
.player-order-panel:not(.player-order-panel--expanded) .avatar-dock-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--space-sm);min-width:0}
.avatar-entry{position:relative;display:flex;flex:0 0 4.25rem;align-items:center;flex-direction:column;gap:.22rem;min-width:0;padding:.25rem;border:1px solid transparent;border-radius:var(--radius-md);transition:padding var(--transition-normal),border-color var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal)}
.avatar-entry--offline{opacity:.58}
.avatar-entry__order,.avatar-entry__details,.avatar-entry__remove{display:none}
.avatar-entry__count{color:var(--color-muted);font-size:.72rem;font-weight:850;white-space:nowrap}
.avatar{position:relative;display:grid;place-items:center;width:3.25rem;height:3.25rem;margin:0;padding:0;border:.18rem solid transparent;border-radius:50%;background:var(--avatar-tone-1);color:var(--color-card-ink);box-shadow:none;cursor:default;transition:width var(--transition-normal),height var(--transition-normal),transform var(--transition-normal),border-color var(--transition-normal)}
button.avatar{min-height:3.25rem;cursor:pointer}.avatar__inner{display:grid;place-items:center;width:100%;height:100%;border-radius:inherit;background:inherit}.avatar__text{max-width:2.6rem;overflow:hidden;font-size:1.35rem;line-height:1;text-overflow:clip;white-space:nowrap}.avatar__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}
.avatar--tone-0{background:var(--avatar-tone-1)}.avatar--tone-1{background:var(--avatar-tone-2)}.avatar--tone-2{background:var(--avatar-tone-3)}.avatar--tone-3{background:var(--avatar-tone-4)}.avatar--tone-4{background:var(--avatar-tone-5)}.avatar--tone-5{background:var(--avatar-tone-6)}.avatar--tone-6{background:var(--avatar-tone-7)}.avatar--tone-7{background:var(--avatar-tone-8)}
.avatar--host::after,.avatar--bot::after{position:absolute;top:-.55rem;right:-.55rem;z-index:2;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--color-primary);color:var(--color-primary-ink);font-size:.68rem;font-weight:950}.avatar--host::after{content:"房"}.avatar--bot::after{content:"AI"}
.avatar--uno{border-color:var(--color-primary)}.avatar--uno::before{position:absolute;inset:-.35rem;border:.22rem solid var(--color-primary);border-radius:50%;content:"";pointer-events:none;animation:avatar-uno-halo .9s ease-in-out infinite}.avatar-entry--current .avatar{transform:scale(1.25)}
@keyframes avatar-uno-halo{0%,100%{opacity:.95;transform:scale(.88);box-shadow:0 0 .45rem var(--color-primary)}50%{opacity:.28;transform:scale(1.55);box-shadow:0 0 1.5rem var(--color-primary)}}
.player-order-panel--expanded .avatar-dock-container{display:grid}
@media(max-width:42rem){.player-order-panel:not(.player-order-panel--expanded) .avatar-dock-container{gap:var(--space-xs)}.avatar-entry{flex-basis:3.75rem}}
.player-order-panel--expanded{padding:var(--space-md);box-shadow:var(--surface-shadow)}.player-order-panel--expanded .avatar-dock-container{grid-template-columns:1fr;gap:var(--space-sm)}.player-order-panel--expanded .avatar-entry{display:grid;grid-template-columns:2rem 3.5rem minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-color:var(--color-border);background:var(--color-surface)}.player-order-panel--expanded .avatar-entry--current{border-color:var(--color-primary);box-shadow:0 0 0 .12rem var(--color-primary)}.player-order-panel--expanded .avatar-entry--current .avatar{transform:none}.player-order-panel--expanded .avatar-entry__order{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--color-surface-raised);color:var(--color-muted);font-weight:900}.player-order-panel--expanded .avatar-entry__details{display:block;min-width:0}.player-order-panel--expanded .avatar-entry__meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-muted);font-size:.78rem}.player-order-panel--expanded .avatar-entry__remove{display:inline-flex}.player-order-panel--expanded .avatar-entry__count{display:none}.player-order-panel--expanded .avatar{width:3.5rem;height:3.5rem}.player-order-panel--expanded button.avatar{min-height:3.5rem}
.avatar-picker,.theme-picker{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:var(--space-md);background:var(--color-overlay)}.avatar-picker__content,.theme-picker__content{width:min(34rem,100%);max-height:calc(100vh - 2rem);overflow-y:auto;padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--surface-shadow)}.avatar-picker__title{margin-bottom:var(--space-md);text-align:center}.profile-field{display:grid;gap:.3rem;margin-bottom:var(--space-md)}.profile-field__heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-sm)}.profile-field__label{font-size:.95rem}.profile-field__help{color:var(--color-muted);font-size:.75rem;font-weight:500}.avatar-picker__emoji-grid{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(2.75rem,10vw,3.2rem);grid-template-rows:repeat(auto-fit,minmax(2.75rem,1fr));gap:var(--space-xs);width:100%;height:clamp(7rem,24dvh,10rem);margin-bottom:var(--space-md);padding:.15rem .1rem var(--space-sm);overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}.avatar-picker__emoji{display:grid;place-items:center;min-height:2.75rem;padding:var(--space-xs);border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-surface-raised);font-size:1.35rem;cursor:pointer;scroll-snap-align:start}.avatar-picker__emoji:hover,.avatar-picker__emoji:focus-visible{border-color:var(--color-primary)}.avatar-picker__preview{display:grid;place-items:center;margin:var(--space-md) 0}.avatar-picker__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm)}
.avatar-picker__avatar-input-row{display:flex;align-items:stretch;gap:var(--space-sm)}.avatar-picker__avatar-input-row>.profile-field__input{min-width:0;flex:1 1 auto}.avatar-picker__avatar-input-row>.button{flex:0 0 auto;white-space:nowrap}.theme-picker__content h2{margin-bottom:var(--space-md)}.theme-selector{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-sm) 0 var(--space-lg)}.theme-option{min-height:2.5rem;padding:.45rem .7rem;border:2px solid transparent;border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;text-transform:capitalize}.theme-option--selected{border-color:var(--color-primary)}.theme-option--party{box-shadow:inset 0 -.28rem var(--avatar-tone-2)}.theme-option--neon{box-shadow:inset 0 -.28rem var(--avatar-tone-4)}.theme-option--felt{box-shadow:inset 0 -.28rem var(--color-muted)}.theme-option--minimal{box-shadow:inset 0 -.28rem var(--color-muted)}
@media(max-width:42rem){.avatar-dock-container{gap:0}.avatar-entry{padding:.2rem 0}.avatar{width:2.72rem;height:2.72rem}.avatar-entry--current .avatar{transform:scale(1.18)}button.avatar{min-height:2.72rem}.avatar__text{max-width:2.15rem;font-size:1.12rem}.avatar-entry__count{font-size:.66rem}.player-order-panel--expanded .avatar-entry{grid-template-columns:1.7rem 3rem minmax(0,1fr) auto}.player-order-panel--expanded .avatar{width:3rem;height:3rem}.player-order-panel--expanded button.avatar{min-height:3rem}.avatar-picker__actions{align-items:stretch;flex-direction:column}.profile-field__heading{align-items:flex-start;flex-direction:column;gap:.15rem}}

/* 自定义资料面板控件，避免浏览器默认下拉框和滚动条破坏主题一致性。 */
.profile-select{position:relative}.profile-select::after{position:absolute;top:50%;right:var(--space-md);color:var(--color-muted);content:"⌄";font-size:1.15rem;font-weight:900;pointer-events:none;transform:translateY(-58%)}.profile-field__select{width:100%;min-height:var(--touch-target);padding-right:2.75rem;appearance:none;cursor:pointer}.profile-field__select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.avatar-picker__emoji-grid{scrollbar-color:var(--color-primary) var(--color-surface-raised);scrollbar-width:thin}.avatar-picker__emoji-grid::-webkit-scrollbar{height:.65rem}.avatar-picker__emoji-grid::-webkit-scrollbar-track{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised)}.avatar-picker__emoji-grid::-webkit-scrollbar-thumb{border:2px solid var(--color-surface-raised);border-radius:var(--radius-pill);background:var(--color-primary)}.avatar-picker__emoji-grid::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}
.difficulty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.difficulty-option{min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);font-weight:850;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast)}.difficulty-option:hover,.difficulty-option:focus-visible{border-color:var(--color-primary);transform:translateY(-1px)}.difficulty-option--selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-ink)}
.player-order-panel{overflow-x:clip}.avatar-dock-container{max-width:100%}
/* Expanded rows: attributes occupy the right-most column, with an optional
   host removal action immediately before them. */
.avatar-entry__actions{display:none}.player-order-panel--expanded .avatar-entry{grid-template-columns:2rem 3.5rem auto minmax(0,1fr)}.player-order-panel--expanded .avatar-entry__actions{display:flex;align-items:center}.player-order-panel--expanded .avatar-entry__details{text-align:right}
@media(max-width:42rem){.player-order-panel--expanded .avatar-entry{grid-template-columns:1.7rem 3rem auto minmax(0,1fr)}}
/* The game-table expanded list is intentionally one line: name follows the
   avatar, while the old secondary metadata occupies the far-right end. */
.avatar-entry__name,.avatar-entry__meta{display:none}.player-order-panel--expanded .avatar-entry{grid-template-columns:2rem 3.5rem minmax(0,1fr) auto auto}.player-order-panel--expanded .avatar-entry__name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.player-order-panel--expanded .avatar-entry__meta{display:block;min-width:0;overflow:hidden;color:var(--color-muted);font-size:.78rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.player-order-panel--expanded .avatar-entry__actions{display:flex;align-items:center}.player-order-panel--expanded .avatar-entry__count{display:none}
@media(max-width:42rem){.player-order-panel--expanded .avatar-entry{grid-template-columns:1.7rem 3rem minmax(0,1fr) auto auto;gap:var(--space-xs)}.player-order-panel--expanded .avatar-entry__meta{font-size:.7rem}}
