/*! Minimal styles for AI Room Interior */
:root {
  --radius: .875rem;
  --background: oklch(0% 0 0);
  --foreground: oklch(100% 0 0);
  --card: oklch(13% 0 0);
  --card-foreground: oklch(100% 0 0);
  --primary: oklch(100% 0 0);
  --primary-foreground: oklch(0% 0 0);
  --muted: oklch(18% 0 0);
  --muted-foreground: oklch(62% 0 0);
  --accent: oklch(22% 0 0);
  --accent-foreground: oklch(100% 0 0);
  --border: oklch(26% 0 0);
  --input: oklch(26% 0 0);
  --ring: oklch(80% 0 0);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif; }
body { background-color: var(--background); color: var(--foreground); min-height: 100vh; }
button { font: inherit; color: inherit; background: none; cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }

.mx-auto { margin-left: auto; margin-right: auto; }
.w-full { width: 100%; }
.max-w-2xl { max-width: 42rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-8 { margin-top: 2rem; }
.flex { display: flex; }
.grid { display: grid; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-end { justify-content: flex-end; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.text-center { text-align: center; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.uppercase { text-transform: uppercase; }
.tracking-tight { letter-spacing: -0.025em; }
.tracking-widest { letter-spacing: 0.1em; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.border { border-width: 1px; }
.border-2 { border-width: 2px; }
.border-dashed { border-style: dashed; }
.border-border { border-color: var(--border); }
.bg-card { background-color: var(--card); }
.bg-primary { background-color: var(--primary); }
.text-primary-foreground { color: var(--primary-foreground); }
.text-muted-foreground { color: var(--muted-foreground); }
.min-h-48 { min-height: 12rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.relative { position: relative; }
.size-7 { width: 1.75rem; height: 1.75rem; }
.object-contain { object-fit: contain; }
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.transition-colors { transition-property: color, background-color, border-color; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.hover\:bg-accent:hover { background-color: var(--accent); }
.hover\:border-muted-foreground:hover { border-color: var(--muted-foreground); }
.hover\:-translate-y-0\.5:hover { transform: translateY(-0.125rem); }
.hover\:scale-\[1\.01\]:hover { transform: scale(1.01); }
.disabled\:cursor-not-allowed:disabled { cursor: not-allowed; }
.disabled\:opacity-60:disabled { opacity: 0.6; }

@media (min-width: 640px) {
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sm\:text-5xl { font-size: 3rem; line-height: 1; }
}
