:root {
  --ink: #000000;
  --paper: #ffffff;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Space Mono', 'Courier New', monospace;
}

#root {
  min-height: 100vh;
}

/* Search input: brutalist, inverts on focus */
.search-input {
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 3px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  padding: 0.65rem 0.75rem;
  outline: none;
  border-radius: 0;
  transition: none;
}
.search-input::placeholder {
  color: #000;
  opacity: 0.5;
}
.search-input:focus {
  background: var(--ink);
  color: var(--paper);
}
.search-input:focus::placeholder {
  color: #fff;
  opacity: 0.5;
}

/* Brutalist button */
.bbtn {
  font-family: 'Space Mono', monospace;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  background: var(--ink);
  color: var(--paper);
  border: 3px solid var(--ink);
  border-radius: 0;
  padding: 0.6rem 0.9rem;
  cursor: pointer;
  transition: transform 0.05s, box-shadow 0.05s;
  box-shadow: 4px 4px 0 var(--ink);
}
.bbtn:hover {
  background: var(--paper);
  color: var(--ink);
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--ink);
}
.bbtn:active {
  transform: translate(4px, 4px);
  box-shadow: 0 0 0 var(--ink);
}

.bbtn-active {
  background: var(--paper);
  color: var(--ink);
  animation: pulse 0.6s steps(2) infinite;
}

.bbtn-disabled {
  cursor: not-allowed;
  color: #999;
  background: repeating-linear-gradient(
    45deg,
    #e5e5e5,
    #e5e5e5 6px,
    #cccccc 6px,
    #cccccc 12px
  );
  border-color: #999;
  box-shadow: none;
}
.bbtn-disabled:hover {
  transform: none;
  background: repeating-linear-gradient(
    45deg,
    #e5e5e5,
    #e5e5e5 6px,
    #cccccc 6px,
    #cccccc 12px
  );
  color: #999;
  box-shadow: none;
}

@keyframes pulse {
  50% { background: var(--ink); color: var(--paper); }
}

/* Blinking cursor */
.blink {
  animation: blink 1s steps(1) infinite;
  font-weight: 700;
}
@keyframes blink {
  50% { opacity: 0; }
}

/* Scrollbar brutalist */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
::-webkit-scrollbar-track {
  background: var(--paper);
  border-left: 2px solid var(--ink);
}
::-webkit-scrollbar-thumb {
  background: var(--ink);
  border: 2px solid var(--paper);
}

/* kill any rounded corners from tailwind resets etc */
input, button {
  border-radius: 0 !important;
}