::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #262626; }
::-webkit-scrollbar-thumb { background: #8B0000; border-radius: 4px; }

.clip-corner-br {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%);
}
.clip-corner-tl {
  clip-path: polygon(15px 0, 100% 0, 100% 100%, 0 100%, 0 15px);
}
.bg-texture {
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%239C92AC' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 1.4l2.83 2.83 1.41-1.41L1.41 0H0v1.41zM38.59 40l-2.83-2.83 1.41-1.41L40 38.59V40h-1.41zM40 1.41l-2.83 2.83-1.41-1.41L38.59 0H40v1.41zM20 18.6l2.83-2.83 1.41 1.41L21.41 20l2.83 2.83-1.41 1.41L20 21.41l-2.83 2.83-1.41-1.41L18.59 20l-2.83-2.83 1.41-1.41L20 18.59z'/%3E%3C/g%3E%3C/svg%3E");
}

/* Faction card */
.faction-card {
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
}
.faction-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 0, 0, 0.3);
}

/* Archetype card */
.archetype-card {
  cursor: pointer;
  transition: transform 0.15s, border-color 0.15s;
  border: 2px solid transparent;
}
.archetype-card:hover {
  border-color: #8B0000;
  transform: translateY(-2px);
}

/* Stat box modified indicator */
.stat-box-modified {
  border-color: #C5A059 !important;
  box-shadow: 0 0 6px rgba(197, 160, 89, 0.4);
}

/* Weapon row */
.weapon-row {
  transition: background 0.15s;
}
.weapon-row:hover {
  background: rgba(0,0,0,0.05);
}
.dark .weapon-row:hover {
  background: rgba(255,255,255,0.03);
}

/* Double weapon pair: gold left border groups the two sub-rows */
.weapon-row--double {
  border-left: 3px solid #C5A059;
}

/* Weapon remove button */
.weapon-remove {
  opacity: 0;
  transition: opacity 0.15s;
}
.weapon-row:hover .weapon-remove {
  opacity: 1;
}

/* Aptitude card in sheet */
.aptitude-block {
  border-left: 4px solid;
}
.aptitude-block--base { border-color: #6b7280; }
.aptitude-block--faction { border-color: #C5A059; }
.aptitude-block--aptitude { border-color: #8B0000; }
.aptitude-block--specialite { border-color: #5e0000; }

/* Picker item */
.picker-item {
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  border: 1px solid transparent;
}
.picker-item:hover {
  border-color: #8B0000;
  background: rgba(139, 0, 0, 0.05);
}
.dark .picker-item:hover {
  background: rgba(139, 0, 0, 0.15);
}

/* Sheet list item */
.sheet-list-item {
  cursor: pointer;
  transition: background 0.15s;
}
.sheet-list-item:hover {
  background: rgba(139, 0, 0, 0.08);
}
.dark .sheet-list-item:hover {
  background: rgba(139, 0, 0, 0.2);
}