/* Brutalist Custom Components */

/* Brutalist Box - use for important containers/callouts */
.brutalist-box {
  border: 3px solid var(--brutalist-black);
  padding: 24px;
  margin-bottom: 32px;
  position: relative;
  background-color: var(--brutalist-white);
}

.brutalist-box:before {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: -10px;
  left: -10px;
  background: var(--brutalist-gray);
  z-index: -1;
}

/* Brutalist Divider */
.brutalist-divider {
  height: 6px;
  background-color: var(--brutalist-black);
  margin: 32px 0;
}

/* Brutalist Ribbon */
.brutalist-ribbon {
  position: absolute;
  top: 0;
  right: 0;
  padding: 8px 16px;
  background-color: var(--brutalist-black);
  color: var(--brutalist-white);
  font-weight: 700;
  text-transform: uppercase;
  transform: translateY(-50%) rotate(5deg);
  z-index: 1;
}

/* Brutalist Tag */
.brutalist-tag {
  display: inline-block;
  padding: 4px 8px;
  background-color: var(--brutalist-black);
  color: var(--brutalist-white);
  font-weight: 700;
  text-transform: uppercase;
  margin-right: 8px;
  margin-bottom: 8px;
}

.brutalist-tag.primary {
  background-color: var(--brutalist-accent);
}

/* Brutalist Highlight */
.brutalist-highlight {
  background-color: var(--brutalist-accent);
  padding: 2px 4px;
  font-weight: 700;
}

/* Custom Brutalist Typography Classes */
.text-brutalist {
  font-family: 'Arial', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.5px;
}

.text-mono {
  font-family: monospace;
  letter-spacing: -0.5px;
}

/* Brutalist Card Component - addition to existing article items */
.brutalist-card {
  border: 3px solid var(--brutalist-black);
  padding: 24px;
  margin-bottom: 32px;
  position: relative;
  background-color: var(--brutalist-white);
}

.brutalist-card:before {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  bottom: -10px;
  left: -10px;
  background: var(--brutalist-gray);
  z-index: -1;
}

.brutalist-card:hover {
  transform: translate(-5px, -5px);
}

.brutalist-card:hover:before {
  transform: translate(5px, 5px);
}

.brutalist-card-header {
  border-bottom: 3px solid var(--brutalist-black);
  margin-bottom: 16px;
  padding-bottom: 16px;
  font-weight: 900;
  text-transform: uppercase;
}

.brutalist-card-footer {
  border-top: 3px solid var(--brutalist-black);
  margin-top: 16px;
  padding-top: 16px;
}

/* Brutalist Status Badges */
.brutalist-badge {
  display: inline-block;
  padding: 4px 8px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: var(--brutalist-black);
  color: var(--brutalist-white);
}

.brutalist-badge.unreviewed {
  background-color: var(--brutalist-black);
}

.brutalist-badge.reading {
  background-color: var(--brutalist-accent);
}

.brutalist-badge.archived {
  background-color: var(--brutalist-gray);
  color: var(--brutalist-black);
}

/* Brutalist Loading Indicator */
.brutalist-loading {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 3px solid var(--brutalist-black);
  border-radius: 0;
  animation: brutalist-spin 1s linear infinite;
  position: relative;
}

.brutalist-loading:before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  background-color: var(--brutalist-accent);
}

@keyframes brutalist-spin {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(90deg); }
  50% { transform: rotate(180deg); }
  75% { transform: rotate(270deg); }
  100% { transform: rotate(360deg); }
}

/* Brutalist Blockquote */
blockquote.brutalist {
  border-left: 6px solid var(--brutalist-black);
  padding-left: 16px;
  margin: 24px 0;
  font-family: monospace;
}

/* Scrollbar styling for WebKit browsers */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-track {
  background: var(--brutalist-gray);
  border: 1px solid var(--brutalist-black);
}

::-webkit-scrollbar-thumb {
  background: var(--brutalist-black);
  border: 1px solid var(--brutalist-black);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--brutalist-accent);
}

/* Element Plus Badge Overrides */
.el-badge__content {
  border-radius: 0 !important;
  background-color: var(--brutalist-black) !important;
  font-weight: 700 !important;
  padding: 2px 6px !important;
  border: none !important;
}