:root { --primary: #0066ff; }
body { min-height: 100vh; display: flex; flex-direction: column; }
main { flex: 1; }
.tool { display: none; }
.tool.active { display: block; }
.header { border-bottom: 1px solid var(--border-color); }
.random-btn { transition: transform 0.2s; }
.random-btn:hover { transform: rotate(15deg); }
.footer { font-size: 0.8rem; opacity: 0.7; }

/* Required classes for clean PicoCSS styling */
.drop-zone {
  border: 2px dashed var(--primary);
  border-radius: var(--border-radius);
  padding: 2rem;
  text-align: center;
  cursor: pointer;
}

.output-box, .monospace {
  max-height: 480px;
  overflow: auto;
  background: var(--card-background-color);
  padding: 1rem;
  border-radius: var(--border-radius);
  font-family: ui-monospace, monospace;
  white-space: pre-wrap;
  line-height: 1.4;
  border: 1px solid var(--muted-border-color);
}

.color-swatch {
  height: 160px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.hidden { display: none !important; }

.flex { display: flex; }
.justify-between { justify-content: space-between; }
.items-center { align-items: center; }
.my-1 { margin: 0.5rem 0; }
.mt-2 { margin-top: 1.5rem; }
.muted { color: var(--muted-color); }
.fw-600 { font-weight: 600; }