/* Minecraft - ACLCloud v12.0 */

/* Minecraft Font */
@font-face {
  font-family: 'Minecraft';
  src: url('/assets/fonts/minecraft.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* ========================================
   MINECRAFT MANAGER PAGE
   ======================================== */
.mc-manager {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

.mc-manager-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.mc-manager-header-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  flex-shrink: 0;
}

.mc-manager-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin: 0;
}

.mc-manager-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin: var(--space-1) 0 0;
}

.mc-manager-toast {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}

.mc-manager-toast--success { background: var(--success-muted); color: var(--success); }
.mc-manager-toast--error { background: var(--error-muted); color: var(--error); }

.mc-manager-search { display: flex; gap: var(--space-3); margin-bottom: var(--space-4); }
.mc-manager-search-input-wrap { position: relative; flex: 1; }

.mc-manager-search-icon {
  position: absolute;
  left: var(--space-4);
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-tertiary);
  font-size: var(--text-sm);
}

.mc-manager-search-input {
  width: 100%;
  padding: var(--space-3) var(--space-4) var(--space-3) var(--space-10);
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
  font-size: var(--text-sm);
}

.mc-manager-search-input:focus { outline: none; border-color: var(--accent); }

.mc-manager-tabs {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  background: var(--bg-tertiary);
  border-radius: var(--radius-lg);
  padding: var(--space-1);
}

.mc-manager-tab {
  flex: 1;
  padding: var(--space-3);
  background: transparent;
  border: none;
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
  text-align: center;
}

.mc-manager-tab:hover { color: var(--text-primary); }
.mc-manager-tab.active { background: var(--accent); color: white; }

.mc-manager-grid { display: flex; flex-direction: column; gap: var(--space-3); }

.mc-manager-item {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4);
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  transition: border-color var(--transition-fast);
}

.mc-manager-item:hover { border-color: var(--accent); }
.mc-manager-item--installed { border-left: 3px solid var(--success); }

.mc-manager-item-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border-radius: var(--radius-lg);
  color: var(--text-secondary);
  font-size: var(--text-lg);
  flex-shrink: 0;
  overflow: hidden;
}

.mc-manager-item-icon img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius-lg); }
.mc-manager-item-info { flex: 1; min-width: 0; }

.mc-manager-item-name {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  margin-bottom: var(--space-1);
}

.mc-manager-item-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: var(--space-1);
}

.mc-manager-item-meta { font-size: var(--text-xs); color: var(--text-tertiary); }
.mc-manager-item-actions { flex-shrink: 0; }

.mc-manager-item-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.mc-manager-item-btn--install { background: var(--accent); color: white; }
.mc-manager-item-btn--install:hover:not(:disabled) { background: var(--accent-hover); }
.mc-manager-item-btn--install:disabled { opacity: 0.6; cursor: not-allowed; }

.mc-manager-item-btn--remove { background: var(--error-muted); color: var(--error); padding: var(--space-2) var(--space-3); }
.mc-manager-item-btn--remove:hover:not(:disabled) { background: var(--error); color: white; }
.mc-manager-item-btn--remove:disabled { opacity: 0.6; cursor: not-allowed; }

.mc-manager-empty { text-align: center; padding: var(--space-12) var(--space-6); color: var(--text-secondary); }
.mc-manager-empty-icon { font-size: var(--text-4xl); color: var(--text-tertiary); margin-bottom: var(--space-4); opacity: 0.5; }
.mc-manager-empty-hint { font-size: var(--text-sm); color: var(--text-tertiary); margin-top: var(--space-2); }

@media (max-width: 768px) {
  .mc-manager-search { flex-direction: column; }
  .mc-manager-item { flex-wrap: wrap; }
  .mc-manager-item-info { flex-basis: calc(100% - 64px); }
  .mc-manager-item-actions { width: 100%; display: flex; justify-content: flex-end; }
  .mc-manager-item-btn--install { width: 100%; justify-content: center; }
}

/* ========================================
   MINECRAFT PLAYERS PAGE — v12.0
   ======================================== */
.mc-players {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
}

/* Header */
.mc-players-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.mc-players-header-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  flex-shrink: 0;
}

.mc-players-header-text { flex: 1; }

.mc-players-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin: 0;
}

.mc-players-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin: var(--space-1) 0 0;
}

.mc-players-refresh {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
  flex-shrink: 0;
}

.mc-players-refresh:hover:not(:disabled) { color: var(--accent); border-color: var(--accent); }
.mc-players-refresh:disabled { opacity: 0.5; cursor: not-allowed; }

/* Toast */
.mc-players-toast {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}

.mc-players-toast--success { background: var(--success-muted); color: var(--success); }
.mc-players-toast--error { background: var(--error-muted); color: var(--error); }

.mc-players-toast-close {
  margin-left: auto;
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  opacity: 0.7;
  padding: 2px 6px;
}

.mc-players-toast-close:hover { opacity: 1; }

/* Top stats cards (En ligne, Admins, Bannis, Whitelist) */
.mc-players-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.mc-players-stat {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
}

.mc-players-stat-icon {
  font-size: var(--text-lg);
  color: var(--accent);
  width: 24px;
  text-align: center;
}

.mc-players-stat-icon--op { color: var(--warning); }
.mc-players-stat-icon--ban { color: var(--error); }
.mc-players-stat-icon--wl { color: var(--success); }

.mc-players-stat-info { display: flex; flex-direction: column; }

.mc-players-stat-value {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  line-height: 1.2;
}

.mc-players-stat-label {
  font-size: var(--text-xs);
  color: var(--text-tertiary);
}

/* Tabs */
.mc-players-tabs {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  background: var(--bg-tertiary);
  border-radius: var(--radius-lg);
  padding: var(--space-1);
}

.mc-players-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3);
  background: transparent;
  border: none;
  border-radius: var(--radius-md);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.mc-players-tab:hover { color: var(--text-primary); }
.mc-players-tab.active { background: var(--accent); color: white; }

/* Search / Filter */
.mc-players-search {
  position: relative;
  margin-bottom: var(--space-4);
}

.mc-players-search-icon {
  position: absolute;
  left: var(--space-4);
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-tertiary);
  font-size: var(--text-sm);
}

.mc-players-search-input {
  width: 100%;
  padding: var(--space-3) var(--space-4) var(--space-3) var(--space-10);
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
  font-size: var(--text-sm);
}

.mc-players-search-input:focus { outline: none; border-color: var(--accent); }

/* Add bar (banned/whitelist/admin tabs) */
.mc-players-add-bar {
  display: flex;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.mc-players-add-input {
  flex: 1;
  padding: var(--space-3) var(--space-4);
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
  font-size: var(--text-sm);
}

.mc-players-add-input:focus { outline: none; border-color: var(--accent); }

.mc-players-add-btn {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  background: var(--accent);
  color: white;
  border: none;
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
  flex-shrink: 0;
}

.mc-players-add-btn:hover:not(:disabled) { background: var(--accent-hover); }
.mc-players-add-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* Players list */
.mc-players-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

/* Player card */
.mc-players-card {
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition-fast);
}

.mc-players-card:hover { border-color: var(--border); }
.mc-players-card--expanded { border-color: var(--accent); }

.mc-players-card-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  cursor: pointer;
  transition: background var(--transition-fast);
}

.mc-players-card-header:hover { background: var(--bg-hover); }
.mc-players-card-header--static { cursor: default; }
.mc-players-card-header--static:hover { background: transparent; }

.mc-players-avatar {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  flex-shrink: 0;
  image-rendering: pixelated;
  background: var(--bg-tertiary);
}

.mc-players-card-info { flex: 1; min-width: 0; }

.mc-players-name {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  display: block;
}

.mc-players-uuid {
  font-size: var(--text-xs);
  color: var(--text-tertiary);
  font-family: monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.mc-players-card-badges {
  display: flex;
  gap: var(--space-2);
  flex-shrink: 0;
}

.mc-players-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  white-space: nowrap;
}

.mc-players-badge--op { background: rgba(245, 158, 11, 0.15); color: var(--warning); }
.mc-players-badge--wl { background: rgba(16, 185, 129, 0.15); color: var(--success); }
.mc-players-badge--ban { background: rgba(239, 68, 68, 0.15); color: var(--error); }

.mc-players-card-chevron {
  color: var(--text-tertiary);
  font-size: var(--text-sm);
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}

/* Ban info (banned tab) */
.mc-players-ban-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
  margin-right: var(--space-2);
}

.mc-players-ban-reason {
  font-size: var(--text-xs);
  color: var(--error);
  font-weight: var(--font-medium);
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mc-players-ban-date {
  font-size: 10px;
  color: var(--text-tertiary);
}

/* ========================================
   EXPANDED PLAYER BODY (profile + stats + tools)
   ======================================== */
.mc-players-card-body {
  padding: 0 var(--space-5) var(--space-5);
  border-top: 1px solid var(--border-subtle);
}

/* Profile: skin + stats side by side */
.mc-player-profile {
  display: flex;
  gap: var(--space-6);
  padding-top: var(--space-5);
  padding-bottom: var(--space-3);
}

/* Skin column */
.mc-player-skin {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  flex-shrink: 0;
  min-width: 150px;
}

.mc-player-skin-img {
  width: 140px;
  height: auto;
  image-rendering: pixelated;
  border-radius: 0;
  background: transparent;
  border: none;
}

.mc-player-skin-name {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  text-align: center;
}

.mc-player-skin-uuid {
  font-size: 10px;
  color: var(--text-tertiary);
  font-family: monospace;
  text-align: center;
  word-break: break-all;
  max-width: 150px;
}

.mc-player-skin-badges {
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
  justify-content: center;
}

/* Stats panel */
.mc-player-stats-panel {
  flex: 1;
  min-width: 0;
}

.mc-player-stats-loading {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--text-tertiary);
  font-size: var(--text-sm);
  padding: var(--space-6);
}

.mc-player-stats-empty {
  color: var(--text-tertiary);
  font-size: var(--text-sm);
  padding: var(--space-6);
  text-align: center;
  background: var(--bg-tertiary);
  border-radius: var(--radius-lg);
}

/* Stats grid — 3 columns on desktop, bigger cards */
.mc-player-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
}

.mc-player-stat-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--bg-tertiary);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-subtle);
}

.mc-player-stat-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  border-radius: var(--radius-lg);
  font-size: var(--text-base);
  flex-shrink: 0;
}

.mc-player-stat-item--xp .mc-player-stat-icon { background: rgba(16, 185, 129, 0.15); color: var(--success); }
.mc-player-stat-item--death .mc-player-stat-icon { background: rgba(239, 68, 68, 0.15); color: var(--error); }
.mc-player-stat-item--kill .mc-player-stat-icon { background: rgba(245, 158, 11, 0.15); color: var(--warning); }

.mc-player-stat-data {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.mc-player-stat-val {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  line-height: 1.2;
}

.mc-player-stat-lbl {
  font-size: var(--text-xs);
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Sections (gamemode, tools, management) */
.mc-players-section {
  padding-top: var(--space-5);
}

.mc-players-section + .mc-players-section {
  border-top: 1px solid var(--border-subtle);
  margin-top: var(--space-4);
}

.mc-players-section-title {
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

/* Gamemode grid */
.mc-players-gamemode-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
}

.mc-players-gamemode-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4) var(--space-3);
  background: var(--bg-tertiary);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.mc-players-gamemode-btn:hover:not(:disabled) {
  background: var(--accent-muted);
  color: var(--accent);
  border-color: var(--accent);
}

.mc-players-gamemode-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* MC item images for gamemode buttons */
.mc-players-gamemode-img {
  width: 36px;
  height: 36px;
  image-rendering: pixelated;
  object-fit: contain;
}

/* Quick tools */
.mc-player-tools {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.mc-player-tool-row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.mc-player-tool-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  color: var(--text-tertiary);
  font-size: var(--text-sm);
  flex-shrink: 0;
}

.mc-player-tool-input {
  flex: 1;
  padding: var(--space-3) var(--space-4);
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--text-primary);
  font-size: var(--text-sm);
  min-width: 0;
}

.mc-player-tool-input:focus { outline: none; border-color: var(--accent); }

.mc-player-tool-input--small {
  max-width: 80px;
  flex: 0 0 80px;
}

.mc-player-tool-btn {
  padding: var(--space-3) var(--space-4);
  background: var(--accent);
  color: white;
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
  flex-shrink: 0;
}

.mc-player-tool-btn:hover:not(:disabled) { background: var(--accent-hover); }
.mc-player-tool-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.mc-player-tool-btn--xp { background: var(--success); }
.mc-player-tool-btn--xp:hover:not(:disabled) { background: var(--success); }

/* Actions grid (management buttons) */
.mc-players-actions-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
}

.mc-players-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
  background: var(--bg-tertiary);
  color: var(--text-secondary);
}

.mc-players-action-btn:hover:not(:disabled) { border-color: currentColor; }
.mc-players-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }

.mc-players-action-btn--op { color: var(--warning); }
.mc-players-action-btn--op:hover:not(:disabled) { background: rgba(245, 158, 11, 0.1); }
.mc-players-action-btn--kick { color: var(--warning); }
.mc-players-action-btn--kick:hover:not(:disabled) { background: rgba(249, 115, 22, 0.1); }
.mc-players-action-btn--danger { color: var(--error); }
.mc-players-action-btn--danger:hover:not(:disabled) { background: rgba(239, 68, 68, 0.1); }
.mc-players-action-btn--success { color: var(--success); }
.mc-players-action-btn--success:hover:not(:disabled) { background: rgba(16, 185, 129, 0.1); }
.mc-players-action-btn--warning { color: var(--warning); }
.mc-players-action-btn--warning:hover:not(:disabled) { background: rgba(245, 158, 11, 0.1); }
.mc-players-action-btn--wl { color: var(--success); }
.mc-players-action-btn--wl:hover:not(:disabled) { background: rgba(16, 185, 129, 0.1); }

/* Offline / Empty states */
.mc-players-offline {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-5) var(--space-6);
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  color: var(--text-secondary);
  font-size: var(--text-sm);
}

.mc-players-offline-dot {
  color: var(--error);
  font-size: 8px;
  flex-shrink: 0;
}

.mc-players-empty {
  text-align: center;
  padding: var(--space-12) var(--space-6);
  color: var(--text-secondary);
}

.mc-players-empty-icon {
  font-size: var(--text-4xl);
  color: var(--text-tertiary);
  margin-bottom: var(--space-4);
  opacity: 0.5;
}

.mc-players-empty-hint {
  font-size: var(--text-sm);
  color: var(--text-tertiary);
  margin-top: var(--space-2);
}

/* ========================================
   RESPONSIVE — PLAYERS
   ======================================== */
@media (max-width: 768px) {
  .mc-players-stats { grid-template-columns: repeat(2, 1fr); }
  .mc-players-tabs { flex-direction: column; }
  .mc-players-add-bar { flex-direction: column; }
  .mc-players-card-badges { display: none; }
  .mc-players-ban-info { display: none; }

  .mc-players-card-body { padding: 0 var(--space-3) var(--space-4); }

  .mc-player-profile {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .mc-player-skin { min-width: unset; }
  .mc-player-skin-img { width: 110px; }

  .mc-player-stats-grid { grid-template-columns: repeat(2, 1fr); }

  .mc-players-gamemode-grid { grid-template-columns: repeat(2, 1fr); }
  .mc-players-actions-grid { grid-template-columns: repeat(2, 1fr); }

  .mc-player-tool-row { flex-wrap: wrap; }
  .mc-player-tool-icon { display: none; }
  .mc-player-tool-input { flex: 1 1 100%; }
  .mc-player-tool-input--small { flex: 0 0 60px; max-width: 60px; }
  .mc-player-tool-btn { width: 100%; }
}

/* ========================================
   MINECRAFT VERSION PAGE
   ======================================== */
.mc-version {
  max-width: 800px;
  margin: 0 auto;
}

.mc-version-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.mc-version-header-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  flex-shrink: 0;
}

.mc-version-header-text { flex: 1; }

.mc-version-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin: 0;
}

.mc-version-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin: var(--space-1) 0 0;
}

.mc-version-refresh {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
  flex-shrink: 0;
}

.mc-version-refresh:hover:not(:disabled) { color: var(--accent); border-color: var(--accent); }
.mc-version-refresh:disabled { opacity: 0.5; cursor: not-allowed; }

/* Toast */
.mc-version-toast {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}

.mc-version-toast--success { background: var(--success-muted); color: var(--success); }
.mc-version-toast--error { background: var(--error-muted); color: var(--error); }

.mc-version-toast-close {
  margin-left: auto;
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  opacity: 0.7;
  padding: 2px 6px;
}

.mc-version-toast-close:hover { opacity: 1; }

/* Current version card */
.mc-version-current {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--border-subtle);
  border: 2px solid var(--accent);
  border-radius: var(--radius-xl);
  margin-bottom: var(--space-6);
}

.mc-version-current-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  flex-shrink: 0;
}

.mc-version-current-info { flex: 1; }

.mc-version-current-label {
  font-size: var(--text-xs);
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: var(--font-semibold);
  margin-bottom: var(--space-1);
}

.mc-version-current-value {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--text-primary);
}

.mc-version-current-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--accent-muted);
  color: var(--accent);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  text-decoration: none;
  white-space: nowrap;
  transition: all var(--transition-fast);
  flex-shrink: 0;
}

.mc-version-current-link:hover { background: var(--accent); color: white; }

/* Steps indicator */
.mc-version-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: var(--space-6);
  padding: var(--space-4) 0;
}

.mc-version-step {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--text-tertiary);
  background: var(--bg-tertiary);
  transition: all var(--transition-fast);
}

.mc-version-step.active {
  background: var(--accent);
  color: white;
}

.mc-version-step.done {
  background: var(--success-muted);
  color: var(--success);
}

.mc-version-step-num {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: var(--text-xs);
  font-weight: var(--font-bold);
  background: var(--border);
}

.mc-version-step.active .mc-version-step-num { background: var(--border-hover); }
.mc-version-step.done .mc-version-step-num { background: rgba(16, 185, 129, 0.2); }

.mc-version-step-label { white-space: nowrap; }

.mc-version-step-line {
  width: 40px;
  height: 2px;
  background: var(--border);
  flex-shrink: 0;
}

/* Back button */
.mc-version-back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: var(--text-sm);
  cursor: pointer;
  margin-bottom: var(--space-4);
  transition: color var(--transition-fast);
}

.mc-version-back:hover { color: var(--accent); }

/* Type cards (Step 1) */
.mc-version-types {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.mc-version-type-card {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-5);
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  cursor: pointer;
  transition: all var(--transition-fast);
  text-align: left;
  width: 100%;
}

.mc-version-type-card:hover {
  border-color: var(--accent);
  transform: translateY(-1px);
}

.mc-version-type-card--current {
  border-color: var(--accent);
  background: var(--accent-muted);
}

.mc-version-type-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  flex-shrink: 0;
}

.mc-version-type-info { flex: 1; min-width: 0; }

.mc-version-type-name {
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-1);
}

.mc-version-type-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  line-height: 1.5;
}

.mc-version-type-arrow {
  color: var(--text-tertiary);
  font-size: var(--text-sm);
  flex-shrink: 0;
}

.mc-version-current-badge {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  background: var(--accent);
  color: white;
}

/* Version picker (Step 2) */
.mc-version-picker-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.mc-version-picker-type {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
}

.mc-version-picker-hint {
  font-size: var(--text-sm);
  color: var(--text-secondary);
}

.mc-version-search {
  margin-bottom: var(--space-3);
}

.mc-version-search-input {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-primary);
  font-size: var(--text-sm);
}

.mc-version-search-input:focus { outline: none; border-color: var(--accent); }

.mc-version-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-height: 450px;
  overflow-y: auto;
  padding-right: var(--space-1);
}

.mc-version-list::-webkit-scrollbar { width: 6px; }
.mc-version-list::-webkit-scrollbar-track { background: transparent; }
.mc-version-list::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }

.mc-version-item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  cursor: pointer;
  transition: all var(--transition-fast);
  width: 100%;
  text-align: left;
}

.mc-version-item:hover {
  border-color: var(--accent);
  background: var(--bg-hover);
}

.mc-version-item--current {
  border-color: var(--accent);
  background: var(--accent-muted);
}

.mc-version-item-icon {
  color: var(--text-tertiary);
  font-size: var(--text-sm);
  width: 20px;
  text-align: center;
}

.mc-version-item-id {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  flex: 1;
}

.mc-version-item-arrow {
  color: var(--text-tertiary);
  font-size: var(--text-xs);
}

.mc-version-latest-badge {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  background: rgba(16, 185, 129, 0.15);
  color: var(--success);
}

.mc-version-empty {
  text-align: center;
  padding: var(--space-8);
  color: var(--text-tertiary);
  font-size: var(--text-sm);
}

/* Confirm card (Step 3) */
.mc-version-confirm {
  display: flex;
  justify-content: center;
}

.mc-version-confirm-card {
  width: 100%;
  max-width: 600px;
  background: var(--border-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.mc-version-confirm-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--accent-muted);
  color: var(--accent);
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
}

.mc-version-confirm-body {
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.mc-version-confirm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.mc-version-confirm-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--text-secondary);
}

.mc-version-confirm-value {
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
  color: var(--text-primary);
}

.mc-version-confirm-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-sm);
  color: var(--accent);
  text-decoration: none;
  font-weight: var(--font-medium);
}

.mc-version-confirm-link:hover { text-decoration: underline; }

.mc-version-confirm-warning {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  background: rgba(245, 158, 11, 0.1);
  color: var(--warning);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.mc-version-confirm-actions {
  display: flex;
  gap: var(--space-3);
  padding: var(--space-5);
  border-top: 1px solid var(--border-subtle);
  justify-content: flex-end;
}

.mc-version-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-5);
  border: none;
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.mc-version-btn--cancel {
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
}

.mc-version-btn--cancel:hover { color: var(--text-primary); border-color: var(--text-tertiary); }

.mc-version-btn--install {
  background: var(--accent);
  color: white;
}

.mc-version-btn--install:hover:not(:disabled) { background: var(--accent-hover); }
.mc-version-btn--install:disabled { opacity: 0.5; cursor: not-allowed; }

/* Responsive */
@media (max-width: 768px) {
  .mc-version-steps { flex-wrap: wrap; gap: var(--space-2); }
  .mc-version-step-line { width: 20px; }
  .mc-version-step-label { display: none; }

  .mc-version-type-card { padding: var(--space-4); }
  .mc-version-type-icon { width: 44px; height: 44px; font-size: var(--text-xl); }

  .mc-version-current { flex-wrap: wrap; padding: var(--space-4); }
  .mc-version-current-link { width: 100%; justify-content: center; }

  .mc-version-confirm-row { flex-direction: column; align-items: flex-start; gap: var(--space-1); }
  .mc-version-confirm-actions { flex-direction: column; }
  .mc-version-btn { width: 100%; justify-content: center; }
}

/* ========================================
   MINECRAFT WORLDS PAGE
   ======================================== */
.mc-worlds {
  max-width: 900px;
  margin: 0 auto;
}

.mc-worlds-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}

.mc-worlds-header-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent-muted);
  color: var(--accent);
  border-radius: var(--radius-xl);
  font-size: var(--text-2xl);
  flex-shrink: 0;
}

.mc-worlds-title {
  font-size: var(--text-2xl);
  font-weight: var(--font-bold);
  color: var(--text-primary);
  margin: 0;
}

.mc-worlds-desc {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin: var(--space-1) 0 0;
}

.mc-worlds-refresh {
  margin-left: auto;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-tertiary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.mc-worlds-refresh:hover { background: var(--bg-hover); color: var(--accent); border-color: var(--accent); }
.mc-worlds-refresh:disabled { opacity: 0.5; cursor: not-allowed; }

.mc-worlds-toast {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}
.mc-worlds-toast--success { background: var(--success-muted); color: var(--success); }
.mc-worlds-toast--error { background: var(--error-muted); color: var(--error); }

.mc-worlds-warning {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  background: var(--warning-muted);
  color: var(--warning);
  margin-bottom: var(--space-4);
  border: 1px solid rgba(255, 149, 0, 0.2);
}

.mc-worlds-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  padding: var(--space-12);
  color: var(--text-secondary);
  font-size: var(--text-sm);
}

.mc-worlds-empty {
  text-align: center;
  padding: var(--space-12) var(--space-6);
  color: var(--text-secondary);
}
.mc-worlds-empty-icon { font-size: var(--text-4xl); color: var(--text-tertiary); margin-bottom: var(--space-4); opacity: 0.5; }
.mc-worlds-empty-hint { font-size: var(--text-sm); color: var(--text-tertiary); margin-top: var(--space-2); }

.mc-worlds-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.mc-worlds-item {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  background: var(--bg-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  transition: all var(--transition-fast);
}
.mc-worlds-item:hover { border-color: var(--border-hover); }

.mc-worlds-item-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(52, 199, 89, 0.12);
  color: var(--success);
  border-radius: var(--radius-md);
  font-size: var(--text-lg);
  flex-shrink: 0;
}

.mc-worlds-item-info { flex: 1; min-width: 0; }

.mc-worlds-item-name {
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  color: var(--text-primary);
  font-family: var(--font-mono, monospace);
}

.mc-worlds-item-meta {
  font-size: var(--text-sm);
  color: var(--text-secondary);
  margin-top: 2px;
}

.mc-worlds-item-actions {
  flex-shrink: 0;
}

.mc-worlds-reset-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--error-muted);
  color: var(--error);
  border: 1px solid rgba(255, 59, 48, 0.2);
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.mc-worlds-reset-btn:hover { background: rgba(255, 59, 48, 0.2); border-color: var(--error); }
.mc-worlds-reset-btn:disabled { opacity: 0.4; cursor: not-allowed; }

.mc-worlds-confirm {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.mc-worlds-confirm-text {
  font-size: var(--text-sm);
  color: var(--error);
  font-weight: var(--font-medium);
}
.mc-worlds-confirm-yes {
  padding: var(--space-1) var(--space-3);
  background: var(--error);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.mc-worlds-confirm-yes:hover { opacity: 0.9; }
.mc-worlds-confirm-yes:disabled { opacity: 0.5; cursor: not-allowed; }
.mc-worlds-confirm-no {
  padding: var(--space-1) var(--space-3);
  background: var(--bg-tertiary);
  color: var(--text-secondary);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.mc-worlds-confirm-no:hover { background: var(--bg-hover); }

.mc-worlds-info {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  margin-top: var(--space-6);
  background: var(--accent-muted);
  border: 1px solid rgba(0, 113, 227, 0.15);
  border-radius: var(--radius-lg);
  font-size: var(--text-sm);
  color: var(--accent);
  line-height: 1.5;
}
.mc-worlds-info svg { flex-shrink: 0; margin-top: 2px; }

@media (max-width: 640px) {
  .mc-worlds-item { flex-wrap: wrap; }
  .mc-worlds-item-actions { width: 100%; }
  .mc-worlds-reset-btn { width: 100%; justify-content: center; }
  .mc-worlds-confirm { width: 100%; justify-content: center; }
}
