page { background: #0f0f1a; color: #e8e8f0; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 28rpx; line-height: 1.6; } .container { padding: 32rpx; min-height: 100vh; box-sizing: border-box; } .page-header { padding: 80rpx 0 48rpx 0; } .page-title { font-size: 48rpx; font-weight: 600; color: #ffffff; margin-bottom: 12rpx; } .page-subtitle { font-size: 26rpx; color: #8888a8; line-height: 1.6; } .card { background: #1a1a2e; border: 1rpx solid #2a2a44; border-radius: 24rpx; padding: 32rpx; margin-bottom: 24rpx; box-sizing: border-box; } .kit-card { display: flex; flex-direction: row; align-items: center; background: #1a1a2e; border: 1rpx solid #2a2a44; border-radius: 24rpx; padding: 32rpx; margin-bottom: 24rpx; box-sizing: border-box; } .kit-card:active { opacity: 0.75; } .kit-icon { width: 96rpx; height: 96rpx; border-radius: 48rpx; background: rgba(108, 122, 224, 0.15); display: flex; align-items: center; justify-content: center; margin-right: 24rpx; flex-shrink: 0; } .kit-icon-text { font-size: 40rpx; } .kit-body { flex: 1; min-width: 0; } .kit-title { font-size: 32rpx; font-weight: 600; color: #ffffff; margin-bottom: 8rpx; } .kit-desc { font-size: 24rpx; color: #8888a8; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .chevron { color: #555570; font-size: 36rpx; margin-left: 16rpx; flex-shrink: 0; } .btn { display: inline-block; padding: 20rpx 48rpx; border-radius: 16rpx; font-size: 28rpx; font-weight: 500; text-align: center; box-sizing: border-box; line-height: 1.4; } .btn-primary { background: #6c7ae0; color: #ffffff; } .btn-primary:active { opacity: 0.85; } .btn-ghost { background: transparent; border: 1rpx solid #3a3a5a; color: #b8b8d0; } .btn-ghost:active { background: rgba(108, 122, 224, 0.08); } .btn-danger { background: #e05561; color: #ffffff; } .btn-danger:active { opacity: 0.85; } .btn-block { display: block; width: 100%; } .input-group { margin-bottom: 32rpx; } .input-label { font-size: 26rpx; color: #8888a8; margin-bottom: 16rpx; display: block; } .input, .textarea { width: 100%; background: #12121f; border: 1rpx solid #2a2a44; border-radius: 16rpx; padding: 24rpx; color: #ffffff !important; font-size: 28rpx; box-sizing: border-box; line-height: 1.6; } .textarea { min-height: 240rpx; } .tag { display: inline-block; padding: 8rpx 20rpx; border-radius: 20rpx; background: rgba(108, 122, 224, 0.12); color: #8fa0ee; font-size: 22rpx; margin-right: 12rpx; margin-bottom: 12rpx; } .empty { padding: 120rpx 32rpx; text-align: center; color: #555570; font-size: 28rpx; } .search-box { display: flex; flex-direction: row; align-items: center; background: #12121f; border: 1rpx solid #2a2a44; border-radius: 16rpx; padding: 0 24rpx; margin-bottom: 32rpx; box-sizing: border-box; } .search-input { flex: 1; padding: 24rpx 0; color: #ffffff !important; font-size: 28rpx; } .search-icon { color: #555570; font-size: 32rpx; margin-right: 16rpx; } .row { display: flex; flex-direction: row; align-items: center; box-sizing: border-box; } .row-between { justify-content: space-between; } .spacer { flex: 1; } .divider { height: 1rpx; background: #2a2a44; margin: 24rpx 0; } .muted { color: #8888a8; } .small { font-size: 24rpx; } .item-actions { display: flex; flex-direction: row; gap: 16rpx; margin-top: 20rpx; padding-top: 20rpx; border-top: 1rpx solid #23233a; } .mini-btn { padding: 12rpx 24rpx; border-radius: 12rpx; font-size: 24rpx; line-height: 1.3; } .attachments-grid { display: flex; flex-direction: row; flex-wrap: wrap; gap: 16rpx; margin-top: 16rpx; } .attachment-thumb { width: 160rpx; height: 160rpx; border-radius: 16rpx; background: #12121f; border: 1rpx solid #2a2a44; overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; } .attachment-thumb image { width: 100%; height: 100%; } .attachment-icon { font-size: 48rpx; color: #8888a8; } .attachment-name { position: absolute; left: 0; right: 0; bottom: 0; padding: 8rpx 12rpx; background: rgba(0, 0, 0, 0.6); color: #ffffff; font-size: 18rpx; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .fab { position: fixed; right: 40rpx; bottom: 60rpx; width: 120rpx; height: 120rpx; border-radius: 60rpx; background: #6c7ae0; color: #ffffff; display: flex; align-items: center; justify-content: center; font-size: 56rpx; font-weight: 300; box-shadow: 0 8rpx 32rpx rgba(108, 122, 224, 0.35); z-index: 99; } .fab:active { transform: scale(0.95); }