/* ==========================================
UndefinedVerseOfficial
Utility Styles
========================================== */

/* Display */

.hidden {
display: none !important;
}

.block {
display: block;
}

.inline-block {
display: inline-block;
}

.inline-flex {
display: inline-flex;
}

.relative {
position: relative;
}

.absolute {
position: absolute;
}

.sticky {
position: sticky;
}

.overflow-hidden {
overflow: hidden;
}

.overflow-auto {
overflow: auto;
}

/* Alignment */

.text-left {
text-align: left;
}

.text-right {
text-align: right;
}

.text-center {
text-align: center;
}

.align-start {
align-items: flex-start;
}

.align-center {
align-items: center;
}

.align-end {
align-items: flex-end;
}

.justify-start {
justify-content: flex-start;
}

.justify-center {
justify-content: center;
}

.justify-between {
justify-content: space-between;
}

/* Spacing */

.mt-0 { margin-top: 0; }
.mt-2 { margin-top: var(--space-2); }
.mt-4 { margin-top: var(--space-4); }
.mt-6 { margin-top: var(--space-6); }
.mt-8 { margin-top: var(--space-8); }

.mb-0 { margin-bottom: 0; }
.mb-2 { margin-bottom: var(--space-2); }
.mb-4 { margin-bottom: var(--space-4); }
.mb-6 { margin-bottom: var(--space-6); }
.mb-8 { margin-bottom: var(--space-8); }

.mx-auto {
margin-inline: auto;
}

.p-2 { padding: var(--space-2); }
.p-3 { padding: var(--space-3); }
.p-4 { padding: var(--space-4); }
.p-6 { padding: var(--space-6); }
.p-8 { padding: var(--space-8); }

.px-4 {
padding-inline: var(--space-4);
}

.py-4 {
padding-block: var(--space-4);
}

/* Width */

.w-full {
width: 100%;
}

.max-w-full {
max-width: 100%;
}

/* Appearance */

.rounded-sm {
border-radius: var(--radius-sm);
}

.rounded-md {
border-radius: var(--radius-md);
}

.rounded-lg {
border-radius: var(--radius-lg);
}

.rounded-xl {
border-radius: var(--radius-xl);
}

.rounded-full {
border-radius: var(--radius-full);
}

.border {
border: 1px solid var(--color-border);
}

.border-strong {
border: 1px solid var(--color-border-strong);
}

.bg-obsidian {
background: var(--color-obsidian);
}

.bg-graphite {
background: var(--color-graphite);
}

.bg-steel {
background: var(--color-steel);
}

/* Text */

.font-medium {
font-weight: var(--font-weight-medium);
}

.font-semibold {
font-weight: var(--font-weight-semibold);
}

.font-bold {
font-weight: var(--font-weight-bold);
}

.no-wrap {
white-space: nowrap;
}

.break-word {
overflow-wrap: anywhere;
}

/* Interaction */

.pointer {
cursor: pointer;
}

.no-select {
-webkit-user-select: none;
user-select: none;
}

.touch-action {
touch-action: manipulation;
}

@media (max-width: 600px) {
.mobile-hidden {
display: none !important;
}

.mobile-full {
width: 100%;
}
}

@media (min-width: 601px) {
.desktop-hidden {
display: none !important;
}
}