/* 拾己 Unlost · 布局工具层 v0.1
   Tailwind 同名常用子集，本地自带——替代 CDN：离线可用、国内可直连。
   只管布局（盒模型/弹性/网格/间距），颜色与圆角永远走 var(--ul-*) 和 components.css。 */

.flex { display: flex; } .flex-col { flex-direction: column; } .inline-flex { display: inline-flex; }
.items-center { align-items: center; } .items-end { align-items: flex-end; }
.justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .justify-end { justify-content: flex-end; }
.flex-1 { flex: 1; } .flex-wrap { flex-wrap: wrap; }
.grid { display: grid; } .grid-2 { grid-template-columns: 1fr 1fr; } .grid-3 { grid-template-columns: 1fr 1fr 1fr; }
.gap-1 { gap: 4px; } .gap-2 { gap: 8px; } .gap-3 { gap: 12px; } .gap-4 { gap: 16px; } .gap-6 { gap: 24px; }
.p-2 { padding: 8px; } .p-3 { padding: 12px; } .p-4 { padding: 16px; }
.px-4 { padding-left: 16px; padding-right: 16px; } .py-2 { padding-top: 8px; padding-bottom: 8px; }
.mt-2 { margin-top: 8px; } .mt-4 { margin-top: 16px; } .mt-auto { margin-top: auto; }
.mb-2 { margin-bottom: 8px; } .mb-4 { margin-bottom: 16px; } .ml-2 { margin-left: 8px; } .mr-2 { margin-right: 8px; }
.w-full { width: 100%; } .h-full { height: 100%; }
.text-center { text-align: center; } .text-right { text-align: right; }
.relative { position: relative; } .absolute { position: absolute; } .fixed { position: fixed; }
.hidden { display: none; } .overflow-hidden { overflow: hidden; }
