/* Shim tối giản cho các utility class mà console dùng — không cần Tailwind, không cần internet. */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #17150F; }
#root { min-height: 100vh; }
button { font: inherit; cursor: pointer; }
button:disabled { opacity: .55; cursor: not-allowed; }
input, textarea, pre { font: inherit; }
img, video { display: block; max-width: 100%; }
a { text-decoration: none; }

.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.flex-1 { flex: 1 1 0%; min-width: 0; }
.shrink-0 { flex-shrink: 0; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }

.gap-1 { gap: .25rem; } .gap-2 { gap: .5rem; } .gap-3 { gap: .75rem; } .gap-4 { gap: 1rem; }

.p-3 { padding: .75rem; } .p-4 { padding: 1rem; } .p-5 { padding: 1.25rem; }
.px-2 { padding-left: .5rem; padding-right: .5rem; }
.px-3 { padding-left: .75rem; padding-right: .75rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.py-1 { padding-top: .25rem; padding-bottom: .25rem; }
.py-2 { padding-top: .5rem; padding-bottom: .5rem; }
.py-3 { padding-top: .75rem; padding-bottom: .75rem; }
.pb-2 { padding-bottom: .5rem; }

.mb-2 { margin-bottom: .5rem; } .mb-3 { margin-bottom: .75rem; } .mb-4 { margin-bottom: 1rem; }
.mt-1 { margin-top: .25rem; } .mt-3 { margin-top: .75rem; }

.space-y-1 > * + * { margin-top: .25rem; }
.space-y-2 > * + * { margin-top: .5rem; }
.space-y-3 > * + * { margin-top: .75rem; }

.w-full { width: 100%; }
.rounded { border-radius: 6px; }
.text-xs { font-size: 12px; line-height: 1.45; }
.text-sm { font-size: 14px; line-height: 1.5; }
.text-left { text-align: left; }
.text-center { text-align: center; }
.font-bold { font-weight: 700; }
.cursor-pointer { cursor: pointer; }
.resize-none { resize: none; }
.whitespace-pre-wrap { white-space: pre-wrap; word-break: break-word; }
.overflow-x-auto { overflow-x: auto; }

@media (min-width: 768px) {
  .md\:flex-row { flex-direction: row; }
  .md\:w-52 { width: 13rem; }
}

/* thanh cuộn tối cho hợp tông */
::-webkit-scrollbar { height: 8px; width: 8px; }
::-webkit-scrollbar-thumb { background: #3A362B; border-radius: 4px; }
::-webkit-scrollbar-track { background: #17150F; }

#boot { color: #9A917E; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; padding: 24px; }
#boot .err { color: #E4572E; white-space: pre-wrap; }
