/* 基础样式 - 无需修改 */
body {
    transition: background-color 0.3s, color 0.3s;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* 组件容器样式 */
.component-container {
    max-width: 3xl;
    margin-left: auto;
    margin-right: auto;
}

/* 间距工具类 */
.space-y-4 > * + * {
    margin-top: 1rem;
}

.space-y-6 > * + * {
    margin-top: 1.5rem;
}

.space-x-2 > * + * {
    margin-left: 0.5rem;
}

/* 文本工具类 */
.text-center {
    text-align: center;
}

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

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

/* 布局工具类 */
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 响应式隐藏 */
.mobile-only {
    display: block;
}

.desktop-only {
    display: none;
}

@media (min-width: 1024px) {
    .mobile-only {
        display: none;
    }
    
    .desktop-only {
        display: block;
    }
}